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

<div style="position:absolute;top:-99px;left:-99px;"><img src="https://tools.swfchan.com/stathit.asp?noj=FRM70814068-23DC&rnd=70814068" width="1" height="1"></div>

armorgames bullet-heaven-11073.swf

This is the info page for
Flash #263371

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


Text
<p align="center"><font face="Comic Sans MS" size="15" color="#ffffff" letterSpacing="0.000000" kerning="1">100000</font></p>

<p align="center"><font face="Comic Sans MS" size="15" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>100000</b></font></p>

<p align="center"><font face="Comic Sans MS" size="15" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>100000</b></font></p>

<p align="center"><font face="Comic Sans MS" size="15" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>100000</b></font></p>

<p align="center"><font face="Comic Sans MS" size="15" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>100000</b></font></p>

Time Out

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

MEDAL GET!

100pts

Newgrounds API Connector

Connecting to the Newgrounds Gateway...

Connection Established!

YOU ARE NOT LOGGED IN!

You will not be able to use any
members-only features!

Some features may be
temporarily unavailable.

API CONNECTION FAILED

NOTICE!

A new version is now available!
Click the button below to check it out.

View latest version

UNAUTHORIZED USE!!

This website is hosting this file without proper consent!
Click the button below to view a legal version.

View authorized version

LOADING...

??%

PLAY

Matt Roszak : HalcyonicFalconX

EBF 3.3: Bullet Heaven

Ver 1.0.2.AG

BULLET HEAVEN

EPIC BATTLE FANTASY 3.3

Medal
Earned

Epic Battle Fantasy 1

Epic Battle Fantasy 2

Epic Battle Fantasy 3

Matt's Deviant Art

Matt's Facebook

HFX's Facebook

Get Soundtrack

Tip:

Too hard? Turn on cheats
in the options menu.

Game running slow? Turn
off glow effects and high
quality in the options.

When you're bored with this,
check out the other games in the series:

Start the game already>>

Or follow updates at:

Maybe even buy some crap:

Shirts and Mugs

Foes

players

£

misc

Protip: Press P or Escape
to pause, and to change
your settings or view the
controls.

(press any key to begin)

Protip: Press X or double
click to fire your sub
weapon. Press Space to
use a bomb. The status
of your weapons is shown
to the right.

Protip: Remember to pick
up money and buff your
players in the Upgrades
menu, on the level select
screen.

Protip: You can always
replay levels to get more
money and upgrades if
you're having trouble.
Getting good ranks can
also be done later.

Protip: Press Shift to
focus and slow down your
movements. This is very
important when there are
many bullets on screen.
(Keyboard controls only)

Protip: Your hitbox is
just 1 pixel. You can see
it when focused. It's
also at the point of your
cursor when using mouse
controls.

Protip: If you're having
trouble, turn on some
cheats in the options
menu, on the level select
screen.

Protip: High ranks are
rewarded for killing many
foes, and for taking few
hits.

Protip: Get lots of A or
S ranks to unlock
challenging bonus levels
and more players. Players
can also be unlocked by
killing many foes.

Protip: Try to balance
your upgrades. Make sure
you've been taking
advantage of all 3
weapons to deal damage.

Protip: Killing foes quickly
raises your score
multiplier. Getting hit
drops your score by 10%.

Protip: Large and medium
rocks still count as
enemies in terms of score
and item drops. Small
rocks do not.

Protip: Brick walls are
undestroyable, don't fly
into them either. Maybe
save a bomb for the
miniboss too.

Protip: Some players' sub
weapons deal more
damage at very close
range.

Protip: Save your bombs
for when you are
cornered by bullets, or
for difficult patterns.

Protip: Levels are getting
much longer, and item
drops rarer. Try not to
lose much health and
bombs early on.

Protip: I'm running out of
tips, good job getting
this far.

Protip: Missiles don't
count as foes, so they
don't give points.

Protip: Almost done.
Blast large foes with
charged up attacks.

Protip: Thanks for
playing. You're pretty
cool if you've made it
this far.

Protip: These bonus
levels are really hard,
you don't need to beat
them to finish the game.

Protip: The bonus levels
may run slowly on weaker
machines. This can be
seen as a good thing.

Protip: If you've killed
nearly 100% of the foes
in a level, you're allowed
5 hits for an A rank, or
2 hits for an S rank.

Protip: This is the real
final battle. It'll be hard
if you haven't fully
upgraded everything.

Protip: In Survival mode,
Rank depends on the number
of waves beaten.
Cheats are disabled.
Money in this mode powers
up your player.

Start!

Get Ready...

GO!

Graphics

Sounds

Controls

Moving Background
Bullet Glow Effects
High Quality

Player Shots
Foe Damage
Item Sounds
Background Music

Mouse Controls
Auto Fire
Auto Focus

<Retry  Menu>

Paused
P or Esc to resume

Mouse / Arrow Keys: Movement: Dodge enemy bullets.
Mouse Controls are selected by default in the options.
Shift: Focus: Slows down movement for tight situations.
Z / Left Click: Main Weapon: Fast, weak attack.
X / Double Click: Sub Weapon: Slower but more powerful attack.
C / Space: Bomb: Clear the screen and deal damage, limited supply.
A combination of mouse and keyboard controls is also possible.
P, Esc: Pause Menu: Quit or Retry the level.

Controls

LOCKED

NoLegs

Matt

Natalie

Lance

Anna

0

100

100

0

Score

5

5

Kills

0

0

0

Miss

Wave

Money

Power

Bullets:

FPS:

0

0

sounds

<p align="center"><font face="Comic Sans MS_24pt_st" size="24" color="#ffffff" letterSpacing="0.000000" kerning="1">0000</font></p>

<Retry  Next>

Rank:

Score:

Kills:

Money:

0

Miss:

0

LEVEL COMPLETE

LEVEL FAILED

99999999

0

with cheats

best

<p align="center"><font face="Comic Sans MS_24pt_st" size="24" color="#ffffff" letterSpacing="0.000000" kerning="1">0000</font></p>

0

0

Score:

Wave:

GAME OVER

0

0

0

music

PLAY
CONTROLS
OPTIONS
MEDALS
CREDITS & STUFF
ARMOR GAMES

Level Select

Player Select

NoLegs

Main shots spread out.
Powerful but slow
sub shots can be
focused or spread out.

Main shots go straight.
Close range sub attack
pierces through foes.
Starts with an extra bomb.

Matt

Slower movement speed.
Main shots slightly aimed.
Sub attack orbits player
until deactivated.

Natalie

Very fast main shots.
Sub attack has large range,
but is more powerful
at short range.

Lance

Fast, aimed main shots.
Sub attack improves
firepower and spread
until deactivated.

Anna

NoLegs

Matt

Natalie

Lance

Anna

Level 1
Kitten March

<p align="center"><font face="Comic Sans MS_23pt_st" size="23" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>High Score: 99999999</b></font></p>

Level 2
Forest Friends

Level 3
Bushes Revenge

Level 4
Shrooms of Death

Level 5
Slime Fortress

Level 6
Under the Sea

Level 7
Colors of Jelly

Level 8
The Coral Reef

Level 9
Shark Attack

Level 10
Crab Battle

Level 11
Dry Lands

Level 12
Avalanche!

Level 13
Ancient Ruins

Level 14
Cacti and Eyes

Level 15
Immortal Pharoah

Level 16
Foes of Darkness

Level 17
The Burning Lake

Level 18
Wired for War

Level 19
Mighty Monoliths

Level 20
Origin of Life

Bonus 1
Razor Leaf Storm

Bonus 2
Bubble Hurricane

Bonus 3
Radiant Maelstrom

Bonus 4
Oblivion

Survival

<p align="center"><font face="Comic Sans MS_23pt_st" size="23" color="#ffffcc" letterSpacing="0.000000" kerning="1"><b>High Score: 99999999</b></font></p>

<p align="center"><font face="Comic Sans MS_23pt_st" size="23" color="#ffcccc" letterSpacing="0.000000" kerning="1"><b>Most Kills: 99999999</b></font></p>

<p align="center"><font face="Comic Sans MS_23pt_st" size="23" color="#ccffff" letterSpacing="0.000000" kerning="1"><b>Best Wave: 99999999</b></font></p>

Super Locked

Get all A ranks in this
row to unlock this.

Controls
Options

<Back               Buy Upgrades  Play>

Medals
Credits

PLAYER UNLOCKED

NEXT LEVEL UNLOCKED

<Back

700000

Increases the amount of damage you can survive.

Main Weapon:

Increases the rate at which your main weapon charges.

Sub Weapon:

Increases the rate at which your sub weapon charges.

Base Damage:

Boosts the damage of all of your attacks.

Movement Speed:

Allows you to move around faster.

Item Magnet:

Pulls money and upgrades towards you slowly.

Max Hit Points:

5000

5000

5000

5000

5000

5000

Current Stats

Hit Points:
Damage:
Speed:
Magnet:

7

7

7

7

7

7

level 1

level 1

level 1

level 1

level 1

level 1

Bomb Stock:

Bombs clear the screen of bullets and do big damage.

5000

level 1

Upgrades

UPGRADED

HalcyonicFalconX
The Stage is Set
Following Your Star
Searching
Raindrops of a Dream
Binary Emisions
Light of Darkness

Touhou, Ikaruga,
Dodonpachi, Frantic,
Death vs Monstars etc.

<Back

Matt Roszak

Credits

Links

Mecha Dress Up

Design, Art, Programming
Music  (click to listen)
Inspired by

Related Games

Follow news on future games at...

Download soundtrack and more...

<Back                             Play>

Money: Buy upgrades with this.
Sword: Shoot faster temporarily.
Shield: Reflect enemy bullets for a while.
Heart: Recovers one point of health.

Power Ups

Medals

Collect medals to boost your self esteem.
Click on a medal to learn more about it.

<p align="center"><font face="Comic Sans MS_30pt_st" size="30" color="#ff9999" letterSpacing="0.000000" kerning="1"><b>???</b></font></p>

<p align="center"><font face="Comic Sans MS_21pt_st" size="21" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>???</b></font></p>

Total High Score:

<p align="left"><font face="Comic Sans MS_32pt_st" size="32" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>0</b></font></p>

Turn off to increase performance

Turn off any sounds that get annoying

Enable mouse controls etc

Delete data for some reason...

Saves

Player Shooting Sounds
Foe Damage Sounds
Item Sounds
Background Music

Reset Progress & Upgrades
Reset Medals & Scores

For each cheat enabled, your rank and score drop

Cheats

Foes drop more hearts and items
Foes have 33% less HP
Start with double bombs
Slow down the game

Options

Delete Selected

This version of Bullet Heaven cannot be played on this site
Click here to get a copy for your site

ActionScript [AS3]

Section 1
//NewgroundsAPIAsset_API_Conencted_4 (APIConnector_fla.NewgroundsAPIAsset_API_Conencted_4) package APIConnector_fla { import flash.display.*; import com.newgrounds.components.*; public dynamic class NewgroundsAPIAsset_API_Conencted_4 extends MovieClip { public function NewgroundsAPIAsset_API_Conencted_4(){ addFrameScript(36, this.frame37); } function frame37(){ APIConnector(parent).clear(); } } }//package APIConnector_fla
Section 2
//NewgroundsAPIAsset_ConnectingAPI_2 (APIConnector_fla.NewgroundsAPIAsset_ConnectingAPI_2) package APIConnector_fla { import flash.display.*; public dynamic class NewgroundsAPIAsset_ConnectingAPI_2 extends MovieClip { public function NewgroundsAPIAsset_ConnectingAPI_2(){ addFrameScript(9, this.frame10); } function frame10(){ stop(); } } }//package APIConnector_fla
Section 3
//NewgroundsAPIAsset_Connection_Error_7 (APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7) package APIConnector_fla { import flash.display.*; import com.newgrounds.components.*; public dynamic class NewgroundsAPIAsset_Connection_Error_7 extends MovieClip { public function NewgroundsAPIAsset_Connection_Error_7(){ addFrameScript(9, this.frame10, 20, this.frame21); } function frame10(){ stop(); } function frame21(){ APIConnector(parent).clear(); } } }//package APIConnector_fla
Section 4
//NewgroundsAPIAsset_Load_Indicator_3 (APIConnector_fla.NewgroundsAPIAsset_Load_Indicator_3) package APIConnector_fla { import flash.display.*; import flash.events.*; public dynamic class NewgroundsAPIAsset_Load_Indicator_3 extends MovieClip { public function NewgroundsAPIAsset_Load_Indicator_3(){ addFrameScript(0, this.frame1); } public function onEnterFrame(_arg1:Event):void{ if (((visible) && (stage))){ rotation = (rotation + 30); } else { removeEventListener(Event.ENTER_FRAME, this.onEnterFrame); }; } function frame1(){ addEventListener(Event.ENTER_FRAME, this.onEnterFrame); } } }//package APIConnector_fla
Section 5
//NewgroundsAPIAsset_Login_Warning_5 (APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5) package APIConnector_fla { import flash.display.*; import com.newgrounds.components.*; public dynamic class NewgroundsAPIAsset_Login_Warning_5 extends MovieClip { public function NewgroundsAPIAsset_Login_Warning_5(){ addFrameScript(9, this.frame10, 20, this.frame21); } function frame10(){ stop(); } function frame21(){ APIConnector(parent).clear(); } } }//package APIConnector_fla
Section 6
//BeamLazor (bullets.BeamLazor) package bullets { import flash.display.*; public class BeamLazor extends Bullet { var boom:Boolean;// = false public var hitbox:MovieClip; var o:Number;// = 0 var splinters:Number; var time:Number;// = 0 public function BeamLazor(x:Number, y:Number, angle:Number){ time = 0; o = 0; boom = false; addFrameScript(6, frame7); super(x, y, NaN, NaN, angle, 0); this.time = time; small = false; stop(); time = 0; } override function hitPlayer(){ if (((hitbox) && (hitbox.hitTestPoint(player.x, player.y, true)))){ player.hit(); }; } function frame7(){ if (this){ kill(); }; } override function special(){ time++; if (time == 37){ nextFrame(); }; if (time == 40){ nextFrame(); }; if (time == 77){ prevFrame(); }; if (time == 80){ prevFrame(); }; if (time == 83){ gotoAndPlay(4); }; } } }//package bullets
Section 7
//BigWhiteBullet (bullets.BigWhiteBullet) package bullets { import flash.display.*; public class BigWhiteBullet extends Bullet { public var hitbox:MovieClip; public function BigWhiteBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 8
//BlueBullet (bullets.BlueBullet) package bullets { import flash.display.*; public class BlueBullet extends Bullet { public var hitbox:MovieClip; public function BlueBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 9
//BlueWave (bullets.BlueWave) package bullets { import flash.display.*; public class BlueWave extends Bullet { public var hitbox:MovieClip; public function BlueWave(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); this.size = 25; glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 10
//BubbleBall (bullets.BubbleBall) package bullets { import flash.display.*; public class BubbleBall extends Bullet { public var hitbox:MovieClip; var t:int;// = 0 var acc:Number;// = 0.1 public function BubbleBall(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ acc = 0.1; t = 0; super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); }; } override function special(){ t++; if ((t % 13) == 0){ parent.addChild(new BubbleBullet2(x, y, NaN, NaN, this.rotation, 3)); parent.addChild(new BubbleBullet2(x, y, NaN, NaN, (this.rotation + 180), 3)); }; } } }//package bullets
Section 11
//BubbleBall2 (bullets.BubbleBall2) package bullets { import flash.display.*; import levels.*; public class BubbleBall2 extends Bullet { var distance:Number; var an:Number; public var hitbox:MovieClip; var t:int;// = 0 var ang:Number; public function BubbleBall2(x:Number, y:Number, an:Number, distance:Number){ t = 0; super(x, y); this.an = an; size = 10000; glow(); this.distance = distance; } override function hitPlayer(){ if (((hitbox) && (hitbox.hitTestPoint(player.x, player.y, true)))){ player.hit(); }; } override function death(){ var a:Number; dead = true; stop(); a = 0; while (a < 15) { parent.addChild(new GodBullet(x, y, (Math.random() * 360), ((Math.random() * 3) + 3))); a++; }; } override function special(){ t++; an = (an + 1); ang = ((an * Math.PI) / 180); this.x = ((parent as Level).player.x + (Math.cos(ang) * distance)); this.y = ((parent as Level).player.y + (Math.sin(ang) * distance)); if (x > 500){ x = 500; }; if (y > 600){ y = 600; }; if (y < 0){ y = 0; }; if (x < 0){ x = 0; }; if ((t % 3) == 0){ parent.addChild(new GodBullet(x, y, (t * 9), 2)); parent.addChild(new BubbleBullet2(x, y, NaN, NaN, ((t * 9) + 180), 2)); }; return (false); } } }//package bullets
Section 12
//BubbleBall3 (bullets.BubbleBall3) package bullets { import flash.display.*; import levels.*; public class BubbleBall3 extends Bullet { var distance:Number; var an:Number; public var hitbox:MovieClip; var t:int;// = 0 var ang:Number; public function BubbleBall3(x:Number, y:Number, an:Number, distance:Number){ t = 0; super(x, y); this.an = an; size = 10000; glow(); this.distance = distance; } override function hitPlayer(){ if (((hitbox) && (hitbox.hitTestPoint(player.x, player.y, true)))){ player.hit(); }; } override function death(){ dead = true; stop(); } override function special(){ var b:int; t++; this.x = (((parent as Level).player.x - 400) + (800 * an)); this.y = (parent as Level).player.y; if (x > 500){ x = 500; }; if (y > 600){ y = 600; }; if (y < 0){ y = 0; }; if (x < 0){ x = 0; }; if ((t % 35) == 0){ b = 0; while (b < 360) { parent.addChild(new BubbleBullet2(x, y, NaN, NaN, b, 3)); b = (b + 30); }; }; if ((t % 5) == 0){ parent.addChild(new BlueWave(x, y, NaN, NaN, ((getAngle(x, y) + (Math.random() * 120)) - 60), 2)); }; return (false); } } }//package bullets
Section 13
//BubbleBullet (bullets.BubbleBullet) package bullets { import flash.display.*; public class BubbleBullet extends Bullet { public var hitbox:MovieClip; public function BubbleBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); this.size = 25; } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 14
//BubbleBullet2 (bullets.BubbleBullet2) package bullets { import flash.display.*; public class BubbleBullet2 extends Bullet { public var hitbox:MovieClip; public function BubbleBullet2(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); this.scaleX = (this.scaleX * (this.scaleY = (this.scaleY * (0.7 + (Math.random() / 3))))); this.size = 20; } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 15
//Bullet (bullets.Bullet) package bullets { import flash.display.*; import levels.*; import players.*; import flash.geom.*; public class Bullet extends MovieClip { public var size:Number;// = 10 public var small:Boolean;// = true public var hitbo:MovieClip; public var dead:Boolean;// = false public var yspeed:Number; public var bounce:Number;// = 0 public var xspeed:Number; public var player:Player; public function Bullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=INF, speed:Number=NaN, spin:Number=NaN){ bounce = 0; size = 10; dead = false; small = true; super(); this.x = x; this.y = y; if (angle == Infinity){ this.xspeed = xspeed; this.yspeed = yspeed; } else { this.rotation = Math.floor((angle - 90)); angle = (angle * (Math.PI / 180)); this.xspeed = (Math.cos(angle) * speed); this.yspeed = (Math.sin(angle) * speed); }; Global.vars.bulletArray.push(this); cacheAsBitmap = true; Global.vars.bullets++; } public function getAngle(x:Number, y:Number):Number{ var player:Player; var n:Number; player = (parent as Level).player; n = ((Math.atan(((y - player.y) / (x - player.x))) / Math.PI) * 180); if (x >= player.x){ return ((n + 180)); }; return (n); } function hitPlayer(){ if (hitbo.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } public function kill(){ Global.vars.bullets--; death(); dead = true; stop(); if (this){ parent.removeChild(this); }; Global.vars.bulletArray.splice(Global.vars.bulletArray.indexOf(this), 1); } function death(){ } function setBounce(b:Number){ this.bounce = b; } public function glow(){ if (Global.vars.options[1]){ stop(); } else { gotoAndStop(2); }; } function special(){ } function bounceOff(){ if (bounce == 0){ kill(); } else { bounce--; x = (x + xspeed); y = (y + yspeed); }; } public function move(){ x = (x + xspeed); y = (y + yspeed); player = (parent as Level).player; special(); if ((((((y < -(size))) || ((y > (600 + size))))) || ((parent as Level).gameOff))){ kill(); } else { if ((((x > (500 + size))) || ((x < -(size))))){ kill(); } else { hitPlayer(); }; }; } } }//package bullets
Section 16
//DemonBullet (bullets.DemonBullet) package bullets { import flash.display.*; public class DemonBullet extends Bullet { public var hitbox:MovieClip; public function DemonBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); size = 40; small = false; glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); }; } } }//package bullets
Section 17
//DevilBall (bullets.DevilBall) package bullets { import flash.display.*; public class DevilBall extends Bullet { public var hitbox:MovieClip; var acc:Number;// = 0.3 var time:int;// = 150 public function DevilBall(x:Number, y:Number, angle:Number, speed:Number){ time = 150; acc = 0.3; addFrameScript(0, frame1, 2, frame3); super(x, y, NaN, NaN, angle, speed); size = 400; small = false; } function death2(){ var a:Number; a = 0; while (a < 360) { parent.addChild(new DevilBullet2(x, y, a, 5)); a = (a + 20); }; play(); } override function hitPlayer(){ if (((hitbox) && (hitbox.hitTestPoint(player.x, player.y, true)))){ player.hit(); }; } function frame3(){ if (this){ kill(); }; } function frame1(){ stop(); } override function special(){ if (x > player.x){ xspeed = (xspeed - acc); }; if (x < player.x){ xspeed = (xspeed + acc); }; if (y > player.y){ yspeed = (yspeed - acc); }; if (y < player.y){ yspeed = (yspeed + acc); }; yspeed = (yspeed * 0.97); xspeed = (xspeed * 0.97); if ((time % 8) == 0){ parent.addChild(new DevilBullet(x, y, (Math.random() * 360), 3)); }; time--; if (time == 0){ this.death2(); }; } } }//package bullets
Section 18
//DevilBullet (bullets.DevilBullet) package bullets { import flash.display.*; public class DevilBullet extends Bullet { public var hitbox:MovieClip; public function DevilBullet(x:Number, y:Number, angle:Number, speed:Number){ super(x, y, NaN, NaN, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 19
//DevilBullet2 (bullets.DevilBullet2) package bullets { import flash.display.*; public class DevilBullet2 extends Bullet { public var hitbox:MovieClip; public function DevilBullet2(x:Number, y:Number, angle:Number, speed:Number){ super(x, y, NaN, NaN, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 20
//DevilBullet3 (bullets.DevilBullet3) package bullets { import flash.display.*; public class DevilBullet3 extends Bullet { public var hitbox:MovieClip; var bounc:int;// = 1 public function DevilBullet3(x:Number, y:Number, angle:Number, speed:Number){ bounc = 1; super(x, y, NaN, NaN, angle, speed); glow(); size = 20; bounc = 1; } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } override function special(){ if (bounc > 0){ if (y < -5){ y = 605; bounc--; }; if (y > 605){ y = -5; bounc--; }; if (x < -5){ x = 505; bounc--; }; if (x > 505){ x = -5; bounc--; }; }; } } }//package bullets
Section 21
//DualBall (bullets.DualBall) package bullets { import flash.display.*; public class DualBall extends Bullet { public var hitbox:MovieClip; var acc:Number;// = 0.2 var time:int;// = 90 public function DualBall(x:Number, y:Number, angle:Number, speed:Number){ time = 90; acc = 0.2; addFrameScript(0, frame1, 2, frame3); super(x, y, NaN, NaN, angle, speed); size = 400; small = false; } function death2(){ var a:Number; a = 0; while (a < 360) { parent.addChild(new GodBullet2(x, y, a, 3)); parent.addChild(new RedBullet(x, y, NaN, NaN, (a + 10), 8)); a = (a + 20); }; play(); } override function hitPlayer(){ if (((hitbox) && (hitbox.hitTestPoint(player.x, player.y, true)))){ player.hit(); }; } function frame3(){ if (this){ kill(); }; } function frame1(){ stop(); } override function special(){ if ((time % 8) == 0){ parent.addChild(new SmallRedBullet(x, y, NaN, NaN, (Math.random() * 360), 3)); }; if ((time % 4) == 0){ parent.addChild(new GodBullet(x, y, (Math.random() * 360), 2)); }; time--; if (time == 0){ this.death2(); }; } } }//package bullets
Section 22
//FlameBullet (bullets.FlameBullet) package bullets { import flash.display.*; public class FlameBullet extends Bullet { public var hitbox:MovieClip; public function FlameBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 23
//GlowBall (bullets.GlowBall) package bullets { import flash.display.*; public class GlowBall extends Bullet { public var hitbox:MovieClip; public function GlowBall(x:Number, y:Number, angle:Number, speed:Number){ super(x, y, NaN, NaN, angle, speed); size = 60; small = false; glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); }; } } }//package bullets
Section 24
//GodBall (bullets.GodBall) package bullets { import flash.display.*; public class GodBall extends Bullet { public var hitbox:MovieClip; public function GodBall(x:Number, y:Number, angle:Number, speed:Number){ super(x, y, NaN, NaN, angle, speed); size = 60; small = false; glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); }; } } }//package bullets
Section 25
//GodBall2 (bullets.GodBall2) package bullets { public class GodBall2 extends Bullet { var acc:Number;// = 0.2 var time:int;// = 180 public function GodBall2(x:Number, y:Number, angle:Number, speed:Number){ time = 180; acc = 0.2; addFrameScript(0, frame1, 1, frame2); super(x, y, NaN, NaN, angle, speed); size = 700; small = false; glow(); } override function hitPlayer(){ } function frame1(){ stop(); } override function special(){ if (x > 500){ x = 500; }; if (y > 600){ y = 600; }; if (y < 0){ y = 0; }; if (x < 0){ x = 0; }; if (x > player.x){ xspeed = (xspeed - acc); }; if (x < player.x){ xspeed = (xspeed + acc); }; if (y > player.y){ yspeed = (yspeed - acc); }; if (y < player.y){ yspeed = (yspeed + acc); }; yspeed = (yspeed * 0.95); xspeed = (xspeed * 0.95); parent.addChild(new GodBullet2(x, y, ((time * 7) % 360), 3.5)); parent.addChild(new PurpleBullet(x, y, NaN, NaN, ((time * 7) % 360), 4.5)); time--; } function frame2(){ if (this){ kill(); }; } } }//package bullets
Section 26
//GodBullet (bullets.GodBullet) package bullets { import flash.display.*; public class GodBullet extends Bullet { public var hitbox:MovieClip; public function GodBullet(x:Number, y:Number, angle:Number, speed:Number){ super(x, y, NaN, NaN, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 27
//GodBullet2 (bullets.GodBullet2) package bullets { import flash.display.*; public class GodBullet2 extends Bullet { public var hitbox:MovieClip; public function GodBullet2(x:Number, y:Number, angle:Number, speed:Number){ super(x, y, NaN, NaN, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 28
//GodBullet3 (bullets.GodBullet3) package bullets { public class GodBullet3 extends GodBullet { var bounc:int;// = 1 public function GodBullet3(x:Number, y:Number, angle:Number, speed:Number){ bounc = 1; super(x, y, angle, speed); size = 20; bounc = 1; glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } override function special(){ if (bounc > 0){ if (y < 0){ yspeed = (yspeed * -1); bounc--; }; }; } } }//package bullets
Section 29
//GodDiamond (bullets.GodDiamond) package bullets { import flash.display.*; public class GodDiamond extends Bullet { public var hitbox:MovieClip; public function GodDiamond(x:Number, y:Number, angle:Number, speed:Number){ super(x, y, NaN, NaN, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 30
//GreenBall (bullets.GreenBall) package bullets { import flash.display.*; public class GreenBall extends Bullet { public var hitbox:MovieClip; public function GreenBall(x:Number, y:Number, angle:Number, speed:Number){ super(x, y, NaN, NaN, angle, speed); size = 50; small = false; glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); }; } } }//package bullets
Section 31
//GreenBullet (bullets.GreenBullet) package bullets { import flash.display.*; public class GreenBullet extends Bullet { var speedy:Number; var speedx:Number; public var hitbox:MovieClip; var time:int; public function GreenBullet(x:Number, y:Number, angle:Number, speed:Number, time:int){ super(x, y, NaN, NaN, angle, speed); size = 50; this.time = time; small = false; glow(); speedx = xspeed; speedy = yspeed; } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } override function special(){ if (time > 0){ xspeed = (xspeed * 0.95); yspeed = (yspeed * 0.95); }; time--; if (time == 0){ xspeed = speedx; yspeed = speedy; }; } } }//package bullets
Section 32
//GreenSlimeBullet (bullets.GreenSlimeBullet) package bullets { import flash.display.*; public class GreenSlimeBullet extends Bullet { public var hitbox:MovieClip; public function GreenSlimeBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 33
//HomingBullet (bullets.HomingBullet) package bullets { import flash.display.*; import levels.*; public class HomingBullet extends Bullet { public var hitbox:MovieClip; var acc:Number;// = 0.2 public function HomingBullet(a:Number, b:Number, c:Number, d:Number){ acc = 0.2; super(a, b, c, d); width = (width * 1.5); height = (height * 1.5); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } override public function move(){ player = (parent as Level).player; if (x > player.x){ xspeed = (xspeed - acc); }; if (x < player.x){ xspeed = (xspeed + acc); }; if (y > player.y){ yspeed = (yspeed - acc); }; if (y < player.y){ yspeed = (yspeed + acc); }; x = (x + xspeed); y = (y + yspeed); if ((((x > (parent as Level).xlimit)) || ((x < 0)))){ kill(); } else { if ((((((y > (parent as Level).ylimit)) || ((y < 0)))) || ((parent as Level).gameOff))){ kill(); } else { hitPlayer(); }; }; } } }//package bullets
Section 34
//HugeDevilBullet (bullets.HugeDevilBullet) package bullets { import flash.display.*; public class HugeDevilBullet extends Bullet { public var hitbox:MovieClip; public function HugeDevilBullet(x:Number, y:Number, angle:Number, speed:Number){ var scale:Number; super(x, y, NaN, NaN, angle, speed); scale = (1 - (Math.random() / 3)); this.scaleX = (this.scaleX * scale); this.scaleY = (this.scaleY * scale); size = 100; small = false; glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); }; } } }//package bullets
Section 35
//HugeOrangeBullet (bullets.HugeOrangeBullet) package bullets { import flash.display.*; public class HugeOrangeBullet extends Bullet { public var hitbox:MovieClip; public function HugeOrangeBullet(x:Number, y:Number, angle:Number, speed:Number){ var scale:Number; super(x, y, NaN, NaN, angle, speed); scale = (1.1 - (Math.random() / 3)); this.scaleX = (this.scaleX * scale); this.scaleY = (this.scaleY * scale); size = 100; small = false; glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); }; } } }//package bullets
Section 36
//HugeRedBullet (bullets.HugeRedBullet) package bullets { import flash.display.*; public class HugeRedBullet extends Bullet { public var hitbox:MovieClip; public function HugeRedBullet(x:Number, y:Number, angle:Number, speed:Number){ var scale:Number; super(x, y, NaN, NaN, angle, speed); scale = (1.2 - (Math.random() / 2)); this.scaleX = (this.scaleX * scale); this.scaleY = (this.scaleY * scale); size = 100; small = false; glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); }; } } }//package bullets
Section 37
//LeafBullet (bullets.LeafBullet) package bullets { import flash.display.*; public class LeafBullet extends Bullet { public var hitbox:MovieClip; public function LeafBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 38
//OrangeBomb (bullets.OrangeBomb) package bullets { import flash.display.*; public class OrangeBomb extends Bullet { var boom:Boolean;// = false public var hitbox:MovieClip; var o:Number;// = 0 var splinters:Number; var time:Number;// = 0 public function OrangeBomb(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN, time:int=60, splinters:int=4){ time = 0; o = 0; boom = false; addFrameScript(5, frame6, 26, frame27); super(x, y, xspeed, yspeed, angle, speed); this.time = time; this.splinters = splinters; small = false; } override function hitPlayer(){ if (((hitbox) && (hitbox.hitTestPoint(player.x, player.y, true)))){ player.hit(); }; } function frame6(){ stop(); } override function death(){ var a:Number; boom = true; size = 10000; play(); a = 0; while (a < splinters) { if (((this) && (parent))){ parent.addChild(new OrangeBullet(x, y, NaN, NaN, (Math.random() * 360), ((Math.random() * 3) + 3))); }; a++; }; } function frame27(){ if (this){ kill(); }; } override function special(){ time--; if (time == 0){ death(); }; if (boom){ x = (x - xspeed); y = (y - yspeed); }; } } }//package bullets
Section 39
//OrangeBullet (bullets.OrangeBullet) package bullets { import flash.display.*; public class OrangeBullet extends Bullet { public var hitbox:MovieClip; public function OrangeBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 40
//OrangeLazor (bullets.OrangeLazor) package bullets { import flash.display.*; public class OrangeLazor extends Bullet { public var hitbox:MovieClip; public function OrangeLazor(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 41
//OrbitBall (bullets.OrbitBall) package bullets { import flash.display.*; import levels.*; public class OrbitBall extends Bullet { var distance:Number; var an:Number; public var hitbox:MovieClip; var t:int;// = 0 var ang:Number; public function OrbitBall(x:Number, y:Number, an:Number, distance:Number){ t = 0; addFrameScript(12, frame13, 23, frame24); super(x, y); this.an = an; size = 10000; this.distance = distance; } override function hitPlayer(){ if (((hitbox) && (hitbox.hitTestPoint(player.x, player.y, true)))){ player.hit(); }; } function frame13(){ stop(); } function frame24(){ if (this){ kill(); }; } override function death(){ var a:Number; dead = true; stop(); a = 0; while (a < 30) { parent.addChild(new OrangeBullet(x, y, NaN, NaN, (Math.random() * 360), ((Math.random() * 3) + 3))); a++; }; } override function special(){ t++; an = (an + 3); ang = ((an * Math.PI) / 180); this.x = ((parent as Level).player.x + (Math.cos(ang) * distance)); this.y = ((parent as Level).player.y + (Math.sin(ang) * distance)); if (x > 500){ x = 500; }; if (y > 600){ y = 600; }; if (y < 0){ y = 0; }; if (x < 0){ x = 0; }; if ((t % 4) == 0){ parent.addChild(new OrangeBullet(x, y, NaN, NaN, getAngle(x, y), 2)); parent.addChild(new OrangeBullet(x, y, NaN, NaN, -(getAngle(x, y)), 2)); parent.addChild(new OrangeBullet(x, y, NaN, NaN, getAngle(x, y), -2)); parent.addChild(new OrangeBullet(x, y, NaN, NaN, -(getAngle(x, y)), -2)); }; return (false); } } }//package bullets
Section 42
//PinkBullet (bullets.PinkBullet) package bullets { import flash.display.*; public class PinkBullet extends Bullet { public var hitbox:MovieClip; public function PinkBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed); this.scaleX = (this.scaleX * (this.scaleY = (this.scaleY * (0.5 + (Math.random() / 2))))); this.x = (this.x + ((Math.random() * 30) - 15)); this.y = (this.y + ((Math.random() * 30) - 15)); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 43
//PurpleBall (bullets.PurpleBall) package bullets { import flash.display.*; public class PurpleBall extends Bullet { public var hitbox:MovieClip; var acc:Number;// = 0.3 public function PurpleBall(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ acc = 0.3; addFrameScript(108, frame109); super(x, y, xspeed, yspeed, angle, speed); size = 200; } override function hitPlayer(){ if (((hitbox) && (hitbox.hitTestPoint(player.x, player.y, true)))){ player.hit(); }; } function frame109(){ if (this){ kill(); }; } override function special(){ if (x > player.x){ xspeed = (xspeed - acc); }; if (x < player.x){ xspeed = (xspeed + acc); }; if (y > player.y){ yspeed = (yspeed - acc); }; if (y < player.y){ yspeed = (yspeed + acc); }; yspeed = (yspeed * 0.97); xspeed = (xspeed * 0.97); } } }//package bullets
Section 44
//PurpleBullet (bullets.PurpleBullet) package bullets { import flash.display.*; public class PurpleBullet extends Bullet { public var hitbox:MovieClip; public function PurpleBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 45
//RedBullet (bullets.RedBullet) package bullets { import flash.display.*; public class RedBullet extends Bullet { public var hitbox:MovieClip; public function RedBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 46
//RedDiamond (bullets.RedDiamond) package bullets { import flash.display.*; public class RedDiamond extends Bullet { public var hitbox:MovieClip; public function RedDiamond(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 47
//RedLazor (bullets.RedLazor) package bullets { import flash.display.*; public class RedLazor extends Bullet { public var hitbox:MovieClip; public function RedLazor(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 48
//SmallRedBullet (bullets.SmallRedBullet) package bullets { import flash.display.*; public class SmallRedBullet extends Bullet { public var hitbox:MovieClip; public function SmallRedBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 49
//SpikeBullet (bullets.SpikeBullet) package bullets { import flash.display.*; public class SpikeBullet extends Bullet { public var hitbox:MovieClip; public function SpikeBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 50
//SporeBullet (bullets.SporeBullet) package bullets { import flash.display.*; public class SporeBullet extends Bullet { public var hitbox:MovieClip; public function SporeBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ addFrameScript(54, frame55); super(x, y, 0, 0); this.scaleX = (this.scaleX * (this.scaleY = (this.scaleY * (0.5 + (Math.random() / 2))))); this.x = (this.x + ((Math.random() * 30) - 15)); this.y = (this.y + ((Math.random() * 30) - 15)); } override function hitPlayer(){ if (((hitbox) && (hitbox.hitTestPoint(player.x, player.y, true)))){ player.hit(); kill(); }; } function frame55(){ stop(); if (this){ kill(); }; } } }//package bullets
Section 51
//ThunderBall (bullets.ThunderBall) package bullets { import flash.display.*; public class ThunderBall extends Bullet { public var hitbox:MovieClip; var bounc:int;// = 1 public function ThunderBall(x:Number, y:Number, angle:Number, speed:Number){ bounc = 1; super(x, y, NaN, NaN, angle, speed); glow(); size = 50; bounc = 1; small = false; } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } override function special(){ if (bounc > 0){ if (y < -40){ y = 640; bounc--; }; if (y > 640){ y = -40; bounc--; }; if (x < -40){ x = 540; bounc--; }; if (x > 540){ x = -40; bounc--; }; }; } } }//package bullets
Section 52
//WaveBullet (bullets.WaveBullet) package bullets { import flash.display.*; public class WaveBullet extends Bullet { public var hitbox:MovieClip; public function WaveBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 53
//WaveBullet2 (bullets.WaveBullet2) package bullets { import flash.display.*; public class WaveBullet2 extends Bullet { public var hitbox:MovieClip; public function WaveBullet2(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 54
//WhiteBullet (bullets.WhiteBullet) package bullets { import flash.display.*; public class WhiteBullet extends Bullet { public var hitbox:MovieClip; public function WhiteBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 55
//YellowBall (bullets.YellowBall) package bullets { import flash.display.*; public class YellowBall extends Bullet { public var hitbox:MovieClip; var speed:Number; var bin:Boolean; var reps:Number; var time:Number;// = 60 var angle:Number;// = 0 public function YellowBall(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN, reps:Number=3, bin:Boolean=false){ time = 60; angle = 0; addFrameScript(4, frame5, 14, frame15); super(x, y, xspeed, yspeed, angle, speed); this.angle = angle; size = 50; this.speed = speed; this.reps = reps; this.bin = bin; this.scaleX = (this.scaleX * (this.scaleY = (this.scaleY * (0.7 + (0.2 * reps))))); this.x = (this.x + ((Math.random() * 30) - 15)); this.y = (this.y + ((Math.random() * 30) - 15)); } override function hitPlayer(){ if (((hitbox) && (hitbox.hitTestPoint(player.x, player.y, true)))){ player.hit(); }; } function frame5(){ stop(); } override function special(){ var c:Number; xspeed = (xspeed * 0.9); yspeed = (yspeed * 0.9); time--; if (time == 0){ play(); if (reps != 0){ c = getAngle(x, y); parent.addChild(new YellowBall(x, y, NaN, NaN, c, speed, (reps - 1), bin)); if (bin){ parent.addChild(new YellowBall(x, y, NaN, NaN, (c - 30), speed, (reps - 1), bin)); parent.addChild(new YellowBall(x, y, NaN, NaN, (c + 30), speed, (reps - 1), bin)); }; }; }; } function frame15(){ if (this){ kill(); }; } } }//package bullets
Section 56
//YellowBullet (bullets.YellowBullet) package bullets { import flash.display.*; public class YellowBullet extends Bullet { public var hitbox:MovieClip; public function YellowBullet(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 57
//YellowBullet2 (bullets.YellowBullet2) package bullets { import flash.display.*; public class YellowBullet2 extends Bullet { public var hitbox:MovieClip; public function YellowBullet2(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN){ super(x, y, xspeed, yspeed, angle, speed); glow(); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } } }//package bullets
Section 58
//YellowBullet3 (bullets.YellowBullet3) package bullets { public class YellowBullet3 extends YellowBullet { var time2:int; var speed:Number; var loops:int; var time:int; var angle:Number; var ang:Number; public function YellowBullet3(x:Number, y:Number, xspeed:Number=NaN, yspeed:Number=NaN, angle:Number=NaN, speed:Number=NaN, loops:int=5, ang:Number=10, time:int=30){ super(x, y, xspeed, yspeed, angle, speed); this.loops = loops; this.ang = ((ang + (Math.random() * 10)) - 5); this.time = time; this.time2 = time; this.speed = speed; this.angle = angle; glow(); } private function duplicate(){ parent.addChild(new YellowBullet3(x, y, NaN, NaN, (angle + ang), this.speed, (loops - 1), ang, time2)); parent.addChild(new YellowBullet3(x, y, NaN, NaN, (angle - ang), this.speed, (loops - 1), ang, time2)); } override function hitPlayer(){ if (hitbox.hitTestPoint(player.x, player.y, true)){ player.hit(); kill(); }; } override function special(){ time--; if ((((time == 0)) && ((loops > 0)))){ duplicate(); death(); }; } } }//package bullets
Section 59
//MD5 (com.adobe.crypto.MD5) package com.adobe.crypto { import flash.utils.*; import com.adobe.utils.*; public class MD5 { public static var digest:ByteArray; public static function hash(_arg1:String):String{ var _local2:ByteArray = new ByteArray(); _local2.writeUTFBytes(_arg1); return (hashBinary(_local2)); } public static function hashBytes(_arg1:ByteArray):String{ return (hashBinary(_arg1)); } public static function hashBinary(_arg1:ByteArray):String{ var _local6:int; var _local7:int; var _local8:int; var _local9:int; var _local2 = 1732584193; var _local3 = -271733879; var _local4 = -1732584194; var _local5 = 271733878; var _local10:Array = createBlocks(_arg1); var _local11:int = _local10.length; var _local12:int; while (_local12 < _local11) { _local6 = _local2; _local7 = _local3; _local8 = _local4; _local9 = _local5; _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 7, -680876936); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 1))], 12, -389564586); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 17, 606105819); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 3))], 22, -1044525330); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 7, -176418897); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 5))], 12, 1200080426); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 17, -1473231341); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 7))], 22, -45705983); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 7, 1770035416); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 9))], 12, -1958414417); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 17, -42063); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 11))], 22, -1990404162); _local2 = ff(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 7, 1804603682); _local5 = ff(_local5, _local2, _local3, _local4, _local10[int((_local12 + 13))], 12, -40341101); _local4 = ff(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 17, -1502002290); _local3 = ff(_local3, _local4, _local5, _local2, _local10[int((_local12 + 15))], 22, 1236535329); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 5, -165796510); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 6))], 9, -1069501632); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 14, 643717713); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 0))], 20, -373897302); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 5, -701558691); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 10))], 9, 38016083); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 14, -660478335); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 4))], 20, -405537848); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 5, 568446438); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 14))], 9, -1019803690); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 14, -187363961); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 8))], 20, 1163531501); _local2 = gg(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 5, -1444681467); _local5 = gg(_local5, _local2, _local3, _local4, _local10[int((_local12 + 2))], 9, -51403784); _local4 = gg(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 14, 1735328473); _local3 = gg(_local3, _local4, _local5, _local2, _local10[int((_local12 + 12))], 20, -1926607734); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 5))], 4, -378558); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 8))], 11, -2022574463); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 11))], 16, 1839030562); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 14))], 23, -35309556); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 1))], 4, -1530992060); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 4))], 11, 1272893353); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 7))], 16, -155497632); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 10))], 23, -1094730640); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 13))], 4, 681279174); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 0))], 11, -358537222); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 3))], 16, -722521979); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 6))], 23, 76029189); _local2 = hh(_local2, _local3, _local4, _local5, _local10[int((_local12 + 9))], 4, -640364487); _local5 = hh(_local5, _local2, _local3, _local4, _local10[int((_local12 + 12))], 11, -421815835); _local4 = hh(_local4, _local5, _local2, _local3, _local10[int((_local12 + 15))], 16, 530742520); _local3 = hh(_local3, _local4, _local5, _local2, _local10[int((_local12 + 2))], 23, -995338651); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 0))], 6, -198630844); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 7))], 10, 1126891415); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 14))], 15, -1416354905); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 5))], 21, -57434055); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 12))], 6, 1700485571); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 3))], 10, -1894986606); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 10))], 15, -1051523); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 1))], 21, -2054922799); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 8))], 6, 1873313359); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 15))], 10, -30611744); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 6))], 15, -1560198380); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 13))], 21, 1309151649); _local2 = ii(_local2, _local3, _local4, _local5, _local10[int((_local12 + 4))], 6, -145523070); _local5 = ii(_local5, _local2, _local3, _local4, _local10[int((_local12 + 11))], 10, -1120210379); _local4 = ii(_local4, _local5, _local2, _local3, _local10[int((_local12 + 2))], 15, 718787259); _local3 = ii(_local3, _local4, _local5, _local2, _local10[int((_local12 + 9))], 21, -343485551); _local2 = (_local2 + _local6); _local3 = (_local3 + _local7); _local4 = (_local4 + _local8); _local5 = (_local5 + _local9); _local12 = (_local12 + 16); }; digest = new ByteArray(); digest.writeInt(_local2); digest.writeInt(_local3); digest.writeInt(_local4); digest.writeInt(_local5); digest.position = 0; return ((((IntUtil.toHex(_local2) + IntUtil.toHex(_local3)) + IntUtil.toHex(_local4)) + IntUtil.toHex(_local5))); } private static function f(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg2) | (~(_arg1) & _arg3))); } private static function g(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 & _arg3) | (_arg2 & ~(_arg3)))); } private static function h(_arg1:int, _arg2:int, _arg3:int):int{ return (((_arg1 ^ _arg2) ^ _arg3)); } private static function i(_arg1:int, _arg2:int, _arg3:int):int{ return ((_arg2 ^ (_arg1 | ~(_arg3)))); } private static function transform(_arg1:Function, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int, _arg8:int):int{ var _local9:int = (((_arg2 + int(_arg1(_arg3, _arg4, _arg5))) + _arg6) + _arg8); return ((IntUtil.rol(_local9, _arg7) + _arg3)); } private static function ff(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(f, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function gg(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(g, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function hh(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(h, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function ii(_arg1:int, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:int, _arg7:int):int{ return (transform(i, _arg1, _arg2, _arg3, _arg4, _arg5, _arg6, _arg7)); } private static function createBlocks(_arg1:ByteArray):Array{ var _local2:Array = new Array(); var _local3:int = (_arg1.length * 8); var _local4 = 0xFF; var _local5:int; while (_local5 < _local3) { _local2[int((_local5 >> 5))] = (_local2[int((_local5 >> 5))] | ((_arg1[(_local5 / 8)] & _local4) << (_local5 % 32))); _local5 = (_local5 + 8); }; _local2[int((_local3 >> 5))] = (_local2[int((_local3 >> 5))] | (128 << (_local3 % 32))); _local2[int(((((_local3 + 64) >>> 9) << 4) + 14))] = _local3; return (_local2); } } }//package com.adobe.crypto
Section 60
//PNGEncoder (com.adobe.images.PNGEncoder) package com.adobe.images { import flash.display.*; import flash.utils.*; import flash.geom.*; public class PNGEncoder { private static var crcTable:Array; private static var crcTableComputed:Boolean = false; public static function encode(_arg1:BitmapData):ByteArray{ var _local6:uint; var _local7:int; var _local2:ByteArray = new ByteArray(); _local2.writeUnsignedInt(2303741511); _local2.writeUnsignedInt(218765834); var _local3:ByteArray = new ByteArray(); _local3.writeInt(_arg1.width); _local3.writeInt(_arg1.height); _local3.writeUnsignedInt(134610944); _local3.writeByte(0); writeChunk(_local2, 1229472850, _local3); var _local4:ByteArray = new ByteArray(); var _local5:int; while (_local5 < _arg1.height) { _local4.writeByte(0); if (!_arg1.transparent){ _local7 = 0; while (_local7 < _arg1.width) { _local6 = _arg1.getPixel(_local7, _local5); _local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | 0xFF))); _local7++; }; } else { _local7 = 0; while (_local7 < _arg1.width) { _local6 = _arg1.getPixel32(_local7, _local5); _local4.writeUnsignedInt(uint((((_local6 & 0xFFFFFF) << 8) | (_local6 >>> 24)))); _local7++; }; }; _local5++; }; _local4.compress(); writeChunk(_local2, 1229209940, _local4); writeChunk(_local2, 1229278788, null); return (_local2); } private static function writeChunk(_arg1:ByteArray, _arg2:uint, _arg3:ByteArray):void{ var _local8:uint; var _local9:uint; var _local10:uint; if (!crcTableComputed){ crcTableComputed = true; crcTable = []; _local9 = 0; while (_local9 < 0x0100) { _local8 = _local9; _local10 = 0; while (_local10 < 8) { if ((_local8 & 1)){ _local8 = uint((uint(3988292384) ^ uint((_local8 >>> 1)))); } else { _local8 = uint((_local8 >>> 1)); }; _local10++; }; crcTable[_local9] = _local8; _local9++; }; }; var _local4:uint; if (_arg3 != null){ _local4 = _arg3.length; }; _arg1.writeUnsignedInt(_local4); var _local5:uint = _arg1.position; _arg1.writeUnsignedInt(_arg2); if (_arg3 != null){ _arg1.writeBytes(_arg3); }; var _local6:uint = _arg1.position; _arg1.position = _local5; _local8 = 4294967295; var _local7:int; while (_local7 < (_local6 - _local5)) { _local8 = uint((crcTable[((_local8 ^ _arg1.readUnsignedByte()) & uint(0xFF))] ^ uint((_local8 >>> 8)))); _local7++; }; _local8 = uint((_local8 ^ uint(4294967295))); _arg1.position = _local6; _arg1.writeUnsignedInt(_local8); } } }//package com.adobe.images
Section 61
//JSON (com.adobe.serialization.json.JSON) package com.adobe.serialization.json { public class JSON { public static function encode(_arg1:Object):String{ var _local2:JSONEncoder = new JSONEncoder(_arg1); return (_local2.getString()); } public static function decode(_arg1:String){ var _local2:JSONDecoder = new JSONDecoder(_arg1); return (_local2.getValue()); } } }//package com.adobe.serialization.json
Section 62
//JSONDecoder (com.adobe.serialization.json.JSONDecoder) package com.adobe.serialization.json { public class JSONDecoder { private var value; private var tokenizer:JSONTokenizer; private var token:JSONToken; public function JSONDecoder(_arg1:String){ this.tokenizer = new JSONTokenizer(_arg1); this.nextToken(); this.value = this.parseValue(); } public function getValue(){ return (this.value); } private function nextToken():JSONToken{ return ((this.token = this.tokenizer.getNextToken())); } private function parseArray():Array{ var _local1:Array = new Array(); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; while (true) { _local1.push(this.parseValue()); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACKET){ return (_local1); }; if (this.token.type == JSONTokenType.COMMA){ this.nextToken(); } else { this.tokenizer.parseError(("Expecting ] or , but found " + this.token.value)); }; }; return (null); } private function parseObject():Object{ var _local2:String; var _local1:Object = new Object(); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; while (true) { if (this.token.type == JSONTokenType.STRING){ _local2 = String(this.token.value); this.nextToken(); if (this.token.type == JSONTokenType.COLON){ this.nextToken(); _local1[_local2] = this.parseValue(); this.nextToken(); if (this.token.type == JSONTokenType.RIGHT_BRACE){ return (_local1); }; if (this.token.type == JSONTokenType.COMMA){ this.nextToken(); } else { this.tokenizer.parseError(("Expecting } or , but found " + this.token.value)); }; } else { this.tokenizer.parseError(("Expecting : but found " + this.token.value)); }; } else { this.tokenizer.parseError(("Expecting string but found " + this.token.value)); }; }; return (null); } private function parseValue():Object{ if (this.token == null){ this.tokenizer.parseError("Unexpected end of input"); }; switch (this.token.type){ case JSONTokenType.LEFT_BRACE: return (this.parseObject()); case JSONTokenType.LEFT_BRACKET: return (this.parseArray()); case JSONTokenType.STRING: case JSONTokenType.NUMBER: case JSONTokenType.TRUE: case JSONTokenType.FALSE: case JSONTokenType.NULL: return (this.token.value); default: this.tokenizer.parseError(("Unexpected " + this.token.value)); }; return (null); } } }//package com.adobe.serialization.json
Section 63
//JSONEncoder (com.adobe.serialization.json.JSONEncoder) package com.adobe.serialization.json { import flash.utils.*; public class JSONEncoder { private var jsonString:String; public function JSONEncoder(_arg1){ this.jsonString = this.convertToString(_arg1); } public function getString():String{ return (this.jsonString); } private function convertToString(_arg1):String{ if ((_arg1 is String)){ return (this.escapeString((_arg1 as String))); }; if ((_arg1 is Number)){ return ((isFinite((_arg1 as Number))) ? _arg1.toString() : "null"); } else { if ((_arg1 is Boolean)){ return ((_arg1) ? "true" : "false"); } else { if ((_arg1 is Array)){ return (this.arrayToString((_arg1 as Array))); }; if ((((_arg1 is Object)) && (!((_arg1 == null))))){ return (this.objectToString(_arg1)); }; }; }; return ("null"); } private function escapeString(_arg1:String):String{ var _local3:String; var _local6:String; var _local7:String; var _local2 = ""; var _local4:Number = _arg1.length; var _local5:int; while (_local5 < _local4) { _local3 = _arg1.charAt(_local5); switch (_local3){ case "\"": _local2 = (_local2 + "\\\""); break; case "\\": _local2 = (_local2 + "\\\\"); break; case "\b": _local2 = (_local2 + "\\b"); break; case "\f": _local2 = (_local2 + "\\f"); break; case "\n": _local2 = (_local2 + "\\n"); break; case "\r": _local2 = (_local2 + "\\r"); break; case "\t": _local2 = (_local2 + "\\t"); break; default: if (_local3 < " "){ _local6 = _local3.charCodeAt(0).toString(16); _local7 = ((_local6.length == 2)) ? "00" : "000"; _local2 = (_local2 + (("\\u" + _local7) + _local6)); } else { _local2 = (_local2 + _local3); }; }; _local5++; }; return ((("\"" + _local2) + "\"")); } private function arrayToString(_arg1:Array):String{ var _local2 = ""; var _local3:int; while (_local3 < _arg1.length) { if (_local2.length > 0){ _local2 = (_local2 + ","); }; _local2 = (_local2 + this.convertToString(_arg1[_local3])); _local3++; }; return ((("[" + _local2) + "]")); } private function objectToString(_arg1:Object):String{ var value:Object; var key:String; var v:XML; var o = _arg1; var s = ""; var classInfo:XML = describeType(o); if (classInfo.@name.toString() == "Object"){ for (key in o) { value = o[key]; if ((value is Function)){ } else { if (s.length > 0){ s = (s + ","); }; s = (s + ((this.escapeString(key) + ":") + this.convertToString(value))); }; }; } else { for each (v in classInfo..*.(((name() == "variable")) || ((name() == "accessor")))) { if (s.length > 0){ s = (s + ","); }; s = (s + ((this.escapeString(v.@name.toString()) + ":") + this.convertToString(o[v.@name]))); }; }; return ((("{" + s) + "}")); } } }//package com.adobe.serialization.json
Section 64
//JSONParseError (com.adobe.serialization.json.JSONParseError) package com.adobe.serialization.json { public class JSONParseError extends Error { private var _location:int; private var _text:String; public function JSONParseError(_arg1:String="", _arg2:int=0, _arg3:String=""){ super(_arg1); name = "JSONParseError"; this._location = _arg2; this._text = _arg3; } public function get location():int{ return (this._location); } public function get text():String{ return (this._text); } } }//package com.adobe.serialization.json
Section 65
//JSONToken (com.adobe.serialization.json.JSONToken) package com.adobe.serialization.json { public class JSONToken { private var _type:int; private var _value:Object; public function JSONToken(_arg1:int=-1, _arg2:Object=null){ this._type = _arg1; this._value = _arg2; } public function get type():int{ return (this._type); } public function set type(_arg1:int):void{ this._type = _arg1; } public function get value():Object{ return (this._value); } public function set value(_arg1:Object):void{ this._value = _arg1; } } }//package com.adobe.serialization.json
Section 66
//JSONTokenizer (com.adobe.serialization.json.JSONTokenizer) package com.adobe.serialization.json { public class JSONTokenizer { private var obj:Object; private var jsonString:String; private var loc:int; private var ch:String; public function JSONTokenizer(_arg1:String){ this.jsonString = _arg1; this.loc = 0; this.nextChar(); } public function getNextToken():JSONToken{ var _local2:String; var _local3:String; var _local4:String; var _local1:JSONToken = new JSONToken(); this.skipIgnored(); switch (this.ch){ case "{": _local1.type = JSONTokenType.LEFT_BRACE; _local1.value = "{"; this.nextChar(); break; case "}": _local1.type = JSONTokenType.RIGHT_BRACE; _local1.value = "}"; this.nextChar(); break; case "[": _local1.type = JSONTokenType.LEFT_BRACKET; _local1.value = "["; this.nextChar(); break; case "]": _local1.type = JSONTokenType.RIGHT_BRACKET; _local1.value = "]"; this.nextChar(); break; case ",": _local1.type = JSONTokenType.COMMA; _local1.value = ","; this.nextChar(); break; case ":": _local1.type = JSONTokenType.COLON; _local1.value = ":"; this.nextChar(); break; case "t": _local2 = ((("t" + this.nextChar()) + this.nextChar()) + this.nextChar()); if (_local2 == "true"){ _local1.type = JSONTokenType.TRUE; _local1.value = true; this.nextChar(); } else { this.parseError(("Expecting 'true' but found " + _local2)); }; break; case "f": _local3 = (((("f" + this.nextChar()) + this.nextChar()) + this.nextChar()) + this.nextChar()); if (_local3 == "false"){ _local1.type = JSONTokenType.FALSE; _local1.value = false; this.nextChar(); } else { this.parseError(("Expecting 'false' but found " + _local3)); }; break; case "n": _local4 = ((("n" + this.nextChar()) + this.nextChar()) + this.nextChar()); if (_local4 == "null"){ _local1.type = JSONTokenType.NULL; _local1.value = null; this.nextChar(); } else { this.parseError(("Expecting 'null' but found " + _local4)); }; break; case "\"": _local1 = this.readString(); break; default: if (((this.isDigit(this.ch)) || ((this.ch == "-")))){ _local1 = this.readNumber(); } else { if (this.ch == ""){ return (null); }; this.parseError((("Unexpected " + this.ch) + " encountered")); }; }; return (_local1); } private function readString():JSONToken{ var _local3:String; var _local4:int; var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.STRING; var _local2 = ""; this.nextChar(); while (((!((this.ch == "\""))) && (!((this.ch == ""))))) { if (this.ch == "\\"){ this.nextChar(); switch (this.ch){ case "\"": _local2 = (_local2 + "\""); break; case "/": _local2 = (_local2 + "/"); break; case "\\": _local2 = (_local2 + "\\"); break; case "b": _local2 = (_local2 + "\b"); break; case "f": _local2 = (_local2 + "\f"); break; case "n": _local2 = (_local2 + "\n"); break; case "r": _local2 = (_local2 + "\r"); break; case "t": _local2 = (_local2 + "\t"); break; case "u": _local3 = ""; _local4 = 0; while (_local4 < 4) { if (!this.isHexDigit(this.nextChar())){ this.parseError((" Excepted a hex digit, but found: " + this.ch)); }; _local3 = (_local3 + this.ch); _local4++; }; _local2 = (_local2 + String.fromCharCode(parseInt(_local3, 16))); break; default: _local2 = (_local2 + ("\\" + this.ch)); }; } else { _local2 = (_local2 + this.ch); }; this.nextChar(); }; if (this.ch == ""){ this.parseError("Unterminated string literal"); }; this.nextChar(); _local1.value = _local2; return (_local1); } private function readNumber():JSONToken{ var _local1:JSONToken = new JSONToken(); _local1.type = JSONTokenType.NUMBER; var _local2 = ""; if (this.ch == "-"){ _local2 = (_local2 + "-"); this.nextChar(); }; if (!this.isDigit(this.ch)){ this.parseError("Expecting a digit"); }; if (this.ch == "0"){ _local2 = (_local2 + this.ch); this.nextChar(); if (this.isDigit(this.ch)){ this.parseError("A digit cannot immediately follow 0"); }; } else { while (this.isDigit(this.ch)) { _local2 = (_local2 + this.ch); this.nextChar(); }; }; if (this.ch == "."){ _local2 = (_local2 + "."); this.nextChar(); if (!this.isDigit(this.ch)){ this.parseError("Expecting a digit"); }; while (this.isDigit(this.ch)) { _local2 = (_local2 + this.ch); this.nextChar(); }; }; if ((((this.ch == "e")) || ((this.ch == "E")))){ _local2 = (_local2 + "e"); this.nextChar(); if ((((this.ch == "+")) || ((this.ch == "-")))){ _local2 = (_local2 + this.ch); this.nextChar(); }; if (!this.isDigit(this.ch)){ this.parseError("Scientific notation number needs exponent value"); }; while (this.isDigit(this.ch)) { _local2 = (_local2 + this.ch); this.nextChar(); }; }; var _local3:Number = Number(_local2); if (((isFinite(_local3)) && (!(isNaN(_local3))))){ _local1.value = _local3; return (_local1); }; this.parseError((("Number " + _local3) + " is not valid!")); return (null); } private function nextChar():String{ return ((this.ch = this.jsonString.charAt(this.loc++))); } private function skipIgnored():void{ var _local1:int; do { _local1 = this.loc; this.skipWhite(); this.skipComments(); } while (_local1 != this.loc); } private function skipComments():void{ if (this.ch == "/"){ this.nextChar(); switch (this.ch){ case "/": do { this.nextChar(); } while (((!((this.ch == "\n"))) && (!((this.ch == ""))))); this.nextChar(); break; case "*": this.nextChar(); while (true) { if (this.ch == "*"){ this.nextChar(); if (this.ch == "/"){ this.nextChar(); break; }; } else { this.nextChar(); }; if (this.ch == ""){ this.parseError("Multi-line comment not closed"); }; }; break; default: this.parseError((("Unexpected " + this.ch) + " encountered (expecting '/' or '*' )")); }; }; } private function skipWhite():void{ while (this.isWhiteSpace(this.ch)) { this.nextChar(); }; } private function isWhiteSpace(_arg1:String):Boolean{ return ((((((((_arg1 == " ")) || ((_arg1 == "\t")))) || ((_arg1 == "\n")))) || ((_arg1 == "\r")))); } private function isDigit(_arg1:String):Boolean{ return ((((_arg1 >= "0")) && ((_arg1 <= "9")))); } private function isHexDigit(_arg1:String):Boolean{ var _local2:String = _arg1.toUpperCase(); return (((this.isDigit(_arg1)) || ((((_local2 >= "A")) && ((_local2 <= "F")))))); } public function parseError(_arg1:String):void{ throw (new JSONParseError(_arg1, this.loc, this.jsonString)); } } }//package com.adobe.serialization.json
Section 67
//JSONTokenType (com.adobe.serialization.json.JSONTokenType) package com.adobe.serialization.json { public class JSONTokenType { public static const UNKNOWN:int = -1; public static const COMMA:int = 0; public static const LEFT_BRACE:int = 1; public static const RIGHT_BRACE:int = 2; public static const LEFT_BRACKET:int = 3; public static const RIGHT_BRACKET:int = 4; public static const COLON:int = 6; public static const TRUE:int = 7; public static const FALSE:int = 8; public static const NULL:int = 9; public static const STRING:int = 10; public static const NUMBER:int = 11; } }//package com.adobe.serialization.json
Section 68
//IntUtil (com.adobe.utils.IntUtil) package com.adobe.utils { public class IntUtil { private static var hexChars:String = "0123456789abcdef"; public static function rol(_arg1:int, _arg2:int):int{ return (((_arg1 << _arg2) | (_arg1 >>> (32 - _arg2)))); } public static function ror(_arg1:int, _arg2:int):uint{ var _local3:int = (32 - _arg2); return (((_arg1 << _local3) | (_arg1 >>> (32 - _local3)))); } public static function toHex(_arg1:int, _arg2:Boolean=false):String{ var _local4:int; var _local5:int; var _local3 = ""; if (_arg2){ _local4 = 0; while (_local4 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> (((3 - _local4) * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> ((3 - _local4) * 8)) & 15)))); _local4++; }; } else { _local5 = 0; while (_local5 < 4) { _local3 = (_local3 + (hexChars.charAt(((_arg1 >> ((_local5 * 8) + 4)) & 15)) + hexChars.charAt(((_arg1 >> (_local5 * 8)) & 15)))); _local5++; }; }; return (_local3); } } }//package com.adobe.utils
Section 69
//APIConnector (com.newgrounds.components.APIConnector) package com.newgrounds.components { import com.newgrounds.*; import flash.display.*; import flash.events.*; import flash.utils.*; public class APIConnector extends MovieClip { public var errorDialog:MovieClip; public var background:MovieClip; public var viewLatestButton:SimpleButton; public var closeButton:SimpleButton; public var viewAuthorizedButton:SimpleButton; private var _initialized:Boolean; private var _movieId:String; private var _encryptionKey:String; private var _movieVersion:String; private var _showConnectingPopup:Boolean;// = true private var _useErrorPopup:Boolean;// = true private var _medalPopup:MedalPopup; private var _popDelay:Timer; public function APIConnector(){ this._popDelay = new Timer(3000, 1); super(); addFrameScript(0, this.frame1, 6, this.frame7, 7, this.frame8); if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){ return; }; this.useErrorPopup = true; this.useMedalPopup = true; this._popDelay.addEventListener(TimerEvent.TIMER, this.errorTimerHandler); addEventListener(Event.ENTER_FRAME, this.enterFrameHandler); if (stage){ addEventListener(Event.RENDER, this.renderHandler); stage.invalidate(); } else { this.clear(); }; } public function get movieId():String{ return (this._movieId); } public function set movieId(_arg1:String):void{ this._movieId = _arg1; } public function get encryptionKey():String{ return (this._encryptionKey); } public function set encryptionKey(_arg1:String):void{ this._encryptionKey = _arg1; } public function get movieVersion():String{ return (this._movieVersion); } public function set movieVersion(_arg1:String):void{ this._movieVersion = _arg1; } public function get debugMode():Boolean{ return (API.debugMode); } public function set debugMode(_arg1:Boolean):void{ API.debugMode = true; } public function get useFakeSession():Boolean{ return (API.getFakeSession()); } public function set useFakeSession(_arg1:Boolean):void{ API.setFakeSession(true); } public function get useMedalPopup():Boolean{ return (!((this._medalPopup == null))); } public function set useMedalPopup(_arg1:Boolean):void{ if (((_arg1) && (!(this._medalPopup)))){ this._medalPopup = new MedalPopup(); addChild(this._medalPopup); } else { if (((!(_arg1)) && (this._medalPopup))){ removeChild(this._medalPopup); this._medalPopup = null; }; }; } public function get useErrorPopup():Boolean{ return (this._useErrorPopup); } public function set useErrorPopup(_arg1:Boolean):void{ this._useErrorPopup = _arg1; API.addEventListener(APIEvent.API_CONNECTED, this.movieConnectedHandler); if (this._useErrorPopup){ API.addEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler); API.addEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler); } else { API.removeEventListener(APIEvent.NEW_VERSION_AVAILABLE, this.newVersionAvailableHandler); API.removeEventListener(APIEvent.HOST_BLOCKED, this.hostBlockedHandler); }; } public function get showConnectingPopup():Boolean{ return (this._showConnectingPopup); } public function set showConnectingPopup(_arg1:Boolean):void{ this._showConnectingPopup = _arg1; if (((!(_arg1)) && ((((currentLabel == "connecting")) || ((currentLabel == "connected")))))){ this.clear(); }; } public function clear():void{ gotoAndStop("idle"); } public function connect():void{ API.setVersion(this._movieVersion); API.connect(root.loaderInfo, this._movieId, this._encryptionKey); visible = true; if (this.showConnectingPopup){ gotoAndStop("connecting"); }; } private function renderHandler(_arg1:Event):void{ removeEventListener(Event.RENDER, this.renderHandler); this.clear(); this.connect(); } private function movieConnectedHandler(_arg1:APIEvent):void{ if (_arg1.success){ if (((((((API.isPublishedHost()) && (API.hostIsCompatible()))) && (!(API.hasUserSession())))) && (!(API.debugMode)))){ gotoAndStop("no_login"); this._popDelay.start(); visible = true; } else { if (this.showConnectingPopup){ gotoAndStop("connected"); }; }; } else { gotoAndStop("no_connect"); this._popDelay.start(); visible = true; }; } private function newVersionAvailableHandler(_arg1:APIEvent):void{ gotoAndStop("new_version"); visible = true; this.centerOnStage(); } private function hostBlockedHandler(_arg1:APIEvent):void{ gotoAndStop("bad_host"); visible = true; this.centerOnStage(); } private function closeButtonClickHandler(_arg1:Event):void{ this.clear(); } private function officialVersionClickHandler(_arg1:Event):void{ API.loadOfficialURL(); } private function enterFrameHandler(_arg1:Event):void{ this.forceAlwaysOnTop(); } private function initButtons():void{ if (this.viewLatestButton){ this.viewLatestButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler); }; if (this.viewAuthorizedButton){ this.viewAuthorizedButton.addEventListener(MouseEvent.CLICK, this.officialVersionClickHandler); }; if (this.closeButton){ this.closeButton.addEventListener(MouseEvent.CLICK, this.closeButtonClickHandler); }; } private function forceAlwaysOnTop():void{ var myIndex:uint; var topIndex:uint; if (((parent) && (visible))){ try { myIndex = parent.getChildIndex(this); topIndex = (parent.numChildren - 1); if (myIndex != topIndex){ parent.setChildIndex(this, topIndex); }; } catch(e:Error) { }; }; } private function centerOnStage():void{ if (stage){ x = (stage.stageWidth / 2); y = (stage.stageHeight / 2); }; } private function errorTimerHandler(_arg1:TimerEvent):void{ if (this.errorDialog){ this.errorDialog.gotoAndPlay("closeme"); } else { this.clear(); }; } function frame1(){ stop(); } function frame7(){ this.initButtons(); } function frame8(){ this.initButtons(); } } }//package com.newgrounds.components
Section 70
//FlashAd (com.newgrounds.components.FlashAd) package com.newgrounds.components { import com.newgrounds.*; import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class FlashAd extends Sprite { public var background:MovieClip; private var _showBackground:Boolean; private var _adURLLoader:URLLoader; private var _adRect:Sprite; private var _mask:Shape; private var _ad:Loader; private static const DEBUG_AD_URL:String = "http://www.ngads.com/adtest.php"; private static const REMOVED_FROM_STAGE:String = "removedFromStage"; private static var _adResetTime:uint = 0; private static var _adURL:URLRequest; public function FlashAd(_arg1:Boolean=true){ if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){ return; }; Security.allowDomain("server.cpmstar.com"); this._adRect = new Sprite(); this._adRect.graphics.beginFill(0); this._adRect.graphics.moveTo(0, 0); this._adRect.graphics.lineTo(300, 0); this._adRect.graphics.lineTo(300, 250); this._adRect.graphics.lineTo(0, 250); this._adRect.graphics.lineTo(0, 0); this._adRect.graphics.endFill(); this._mask = new Shape(); this._mask.graphics.beginFill(0); this._mask.graphics.moveTo(0, 0); this._mask.graphics.lineTo(300, 0); this._mask.graphics.lineTo(300, 250); this._mask.graphics.lineTo(0, 250); this._mask.graphics.lineTo(0, 0); this._mask.graphics.endFill(); addChild(this._adRect); this._adRect.addChild(this._mask); this._adRect.visible = false; x = Math.round(x); y = Math.round(y); scaleX = 1; scaleY = 1; if (this.background){ if (this.background.ngLinkButton){ this.background.ngLinkButton.addEventListener(MouseEvent.CLICK, this.linkClickHandler); }; if (this.background.loadingClip){ this.background.loadingClip.visible = false; }; }; if (API.isFlashVersion(9, 0, 28)){ addEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage); }; if (API.adsApproved){ this.loadAdFeed(API.adFeedURL); } else { API.addEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false, 0, true); }; this.showBackground = _arg1; } public function get showBackground():Boolean{ return (this._showBackground); } public function set showBackground(_arg1:Boolean):void{ this._showBackground = _arg1; if (this.background){ this.background.visible = _arg1; this._adRect.mask = (_arg1) ? this.background.adMask : null; }; } public function removeAd():void{ removeEventListener(REMOVED_FROM_STAGE, this.onRemovedFromStage); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = false; }; if (this._adURLLoader){ try { this._adURLLoader.close(); } catch(e:Error) { }; }; if (this._adRect){ this._adRect.visible = false; }; if (this._ad){ trace("[NewgroundsAPI] :: Ad removed"); try { this._ad.close(); } catch(e:Error) { }; try { Object(this._ad).unloadAndStop(true); } catch(e:Error) { _ad.unload(); }; if (this._ad.parent){ this._ad.parent.removeChild(this._ad); }; }; this._ad = null; } private function onAdsApproved(_arg1:APIEvent):void{ API.removeEventListener(APIEvent.ADS_APPROVED, this.onAdsApproved, false); if (_arg1.success){ this.loadAdFeed(API.adFeedURL); } else { trace("[NewgroundsAPI] :: No ad feed URL supplied to Newgrounds API ad!"); }; } private function loadAdFeed(_arg1:String):void{ var adFeedURL = _arg1; this._adURLLoader = new URLLoader(); this._adURLLoader.addEventListener(Event.COMPLETE, this.onAdFeedLoaded); this._adURLLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError); this._adURLLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onAdError); if (!adFeedURL){ trace("[Newgrounds API] :: Invalid feed URL!"); return; }; if (this.hasAdElapsed){ if (adFeedURL.indexOf("?") > -1){ _adURL = new URLRequest(((adFeedURL + "&random=") + Math.random())); } else { _adURL = new URLRequest(((adFeedURL + "?random=") + Math.random())); }; }; try { this._adURLLoader.load(_adURL); } catch(e:Error) { onAdError(null); }; if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = true; }; } private function loadAd(_arg1:String):void{ var url = _arg1; if (this._ad){ this.removeAd(); }; this._ad = new Loader(); this._ad.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onAdLoaded); this._ad.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onAdError); try { Object(this._ad.contentLoaderInfo).uncaughtErrorEvents.addEventListener("uncaughtError", function (_arg1:Event):void{ }); } catch(error:Error) { }; this._ad.load(new URLRequest(url), new LoaderContext(false, new ApplicationDomain(null))); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = true; }; } private function onAdFeedLoaded(_arg1:Event):void{ var _local2:URLLoader = URLLoader(_arg1.target); if (((_local2.data) && (!((_local2.data == ""))))){ this.loadAd((_local2.data as String)); } else { dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad"))); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = false; }; }; } private function onAdFeedError(_arg1:Event):void{ trace("[NewgroundsAPI] :: Unable to load ad feed!"); if (((this.background) && (this.background.loadingClip))){ this.background.loadingClip.visible = false; }; } private function onAdError(_arg1:Event):void{ dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, false, new APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad"))); this.removeAd(); } private function onAdLoaded(_arg1:Event):void{ this._adRect.addChild(this._ad); this._ad.mask = this._mask; this._adRect.visible = true; if (this.background){ if (this._showBackground){ this._adRect.mask = this.background.adMask; }; if (this.background.loadingClip){ this.background.loadingClip.visible = false; }; }; trace("[NewgroundsAPI] :: Ad loaded!"); dispatchEvent(new APIEvent(APIEvent.AD_ATTACHED, true)); } private function onRemovedFromStage(_arg1:Event):void{ this.removeAd(); } private function get hasAdElapsed():Boolean{ if (getTimer() >= _adResetTime){ _adResetTime = (getTimer() + ((1000 * 60) * 5)); return (true); }; return (false); } private function linkClickHandler(_arg1:MouseEvent):void{ API.loadNewgrounds(); } } }//package com.newgrounds.components
Section 71
//MedalPopup (com.newgrounds.components.MedalPopup) package com.newgrounds.components { import com.newgrounds.*; import flash.display.*; import flash.events.*; import flash.utils.*; import flash.text.*; public class MedalPopup extends MovieClip { public var medalNameText:TextField; public var medalValueText:TextField; public var medalContainer:Sprite; private var _initialized:Boolean; private var _medal:Medal; private var _medalIcon:Bitmap; private var _medalQueue:Array; private var _popDelay:Timer; public function MedalPopup(){ this._medalQueue = []; this._popDelay = new Timer(3000, 1); super(); addFrameScript(0, this.frame1, 9, this.frame10, 18, this.frame19); if (((!((parent == null))) && ((getQualifiedClassName(parent) == "fl.livepreview::LivePreviewParent")))){ return; }; visible = false; addEventListener(Event.ENTER_FRAME, this.enterFrameHandler); stop(); API.addEventListener(APIEvent.MEDAL_UNLOCKED, this.onMedalUnlocked, false, 0, true); this._popDelay.addEventListener(TimerEvent.TIMER, this.timerHandler); } public function get popupTime():Number{ return ((this._popDelay.delay / 1000)); } public function set popupTime(_arg1:Number):void{ if (isNaN(_arg1)){ _arg1 = 3; }; this._popDelay.delay = (_arg1 * 1000); } private function enterFrameHandler(_arg1:Event):void{ var myIndex:uint; var topIndex:uint; var event = _arg1; if (((this._medalQueue.length) && (!(visible)))){ this._medal = this._medalQueue.pop(); this._popDelay.start(); gotoAndPlay("medal_show"); visible = true; }; if (((visible) && (parent))){ try { myIndex = parent.getChildIndex(this); topIndex = (parent.numChildren - 1); if (myIndex != topIndex){ parent.setChildIndex(this, topIndex); }; } catch(error:Error) { }; }; } private function onMedalUnlocked(_arg1:APIEvent):void{ if (((((_arg1.success) && (_arg1.data))) && ((_arg1.data.medal is Medal)))){ this._medalQueue.push(Medal(_arg1.data.medal)); }; } private function showMedalInfo():void{ if (!this._medal){ return; }; if (this.medalContainer){ this._medalIcon = this._medal.createIconBitmap(); this.medalContainer.addChild(this._medalIcon); }; if (this.medalNameText){ this.medalNameText.text = this._medal.name; }; if (this.medalValueText){ this.medalValueText.text = (this._medal.value.toString() + "pts"); }; this._popDelay.start(); stop(); } private function timerHandler(_arg1:TimerEvent):void{ if (((this._medalIcon) && (this._medalIcon.parent))){ this._medalIcon.parent.removeChild(this._medalIcon); this._medalIcon = null; }; gotoAndPlay("medal_hide"); this._popDelay.stop(); } function frame1(){ stop(); } function frame10(){ this.showMedalInfo(); stop(); } function frame19(){ stop(); visible = false; } } }//package com.newgrounds.components
Section 72
//API (com.newgrounds.API) package com.newgrounds { import flash.display.*; import flash.events.*; import com.newgrounds.components.*; import flash.utils.*; import com.adobe.serialization.json.*; import flash.net.*; import com.adobe.images.*; import com.adobe.crypto.*; import flash.system.*; public class API { public static const VERSION:String = "2.4.18"; private static const GATEWAY_URL:String = "http://www.ngads.com/gateway_v2.php"; private static const AD_TERMS_URL:String = "http://www.newgrounds.com/wiki/flashads/terms/"; private static const COMMANDS_WIKI_URL:String = "http://www.newgrounds.com/wiki/flashapi/commands/"; private static var do_echo:Boolean = false; private static var _debug:Boolean = true; private static var _connected:Boolean = false; private static var _isMetadataLoaded:Boolean = false; private static var _preloadComplete:Boolean = false; private static var _adsApproved:Boolean = false; private static var _saveGroupId:uint; private static var _saveFileId:uint; private static var _trackerId:uint; private static var _movieId:String; private static var _encryptionKey:String; private static var _url:String; private static var _host:String; private static var connected:Boolean; private static var version:String; private static var ad_url:String; private static var _fakeSession:Boolean = false; private static var publisher_id:uint; private static var session_id:String; private static var user_email:String; private static var user_name:String; private static var user_id:uint; private static var userpage_format:String; private static var _medals:Array; private static var timeoutTimer:Timer = new Timer(8000, 1); private static var _userpageFormat:String; private static var _scoreboards:Array = new Array(); private static var _bridge:Bridge; private static var save_file:SaveFile; private static var _imageFilePath:String; private static var _saveFilePath:String; private static var _saveGroups:Array = []; private static var root:DisplayObject; private static var _eventDispatcher:EventDispatcher = new EventDispatcher(); private static var score_page_counts:Object = new Object(); private static var compression_radix:String = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X"; private static var compressor:BaseN = new BaseN(compression_radix); public static var errors:Dictionary = APIError.init_codes(); private static var sharedObjects:Dictionary = new Dictionary(); private static var _preloadAssets:Array = []; public static var periods:Object = getPeriodAliases(); private static var period_aliases:Object = {t:{name:"Today", alias:"TODAY"}, p:{name:"Yesterday", alias:"YESTERDAY"}, w:{name:"This Week", alias:"THIS_WEEK"}, m:{name:"This Month", alias:"THIS_MONTH"}, y:{name:"This Year", alias:"THIS_YEAR"}, a:{name:"All-Time", alias:"ALL_TIME"}}; private static var secureCommand:String; public static function get adFeedURL():String{ return (ad_url); } public static function get preloadComplete():Boolean{ return (_preloadComplete); } private static function assertConnected():Boolean{ if (!_connected){ return (false); }; return (true); } public static function setVersion(_arg1:String):void{ if (((_arg1) && (!((_arg1 == ""))))){ version = _arg1; }; } public static function setUserEmail(_arg1:String):void{ user_email = _arg1; } public static function setFakeSession(_arg1:Boolean):void{ _fakeSession = _arg1; } public static function getFakeSession():Boolean{ return (_fakeSession); } public static function get debugMode():Boolean{ return (_debug); } public static function set debugMode(_arg1:Boolean):void{ _debug = _arg1; } public static function getTrackerID():uint{ return (_trackerId); } public static function getUserID():uint{ return (user_id); } public static function getUserName():String{ return (user_name); } public static function isConnected():Boolean{ return (_connected); } public static function getID():uint{ return (_trackerId); } public static function getOfficialURL():String{ var _local1:String = ((((((GATEWAY_URL + "?tracker_id=") + _movieId) + "&command_id=") + getCommandID("loadOfficalVersion")) + "&seed=") + Math.random()); if (debugMode){ _local1 = (_local1 + "&debug=1"); }; return (_local1); } public static function get adsApproved():Boolean{ return (_adsApproved); } public static function hasUserSession():Boolean{ return (((((!((session_id == null))) && (!((session_id == ""))))) && (!((publisher_id == 0))))); } public static function isNewgrounds():Boolean{ return ((((publisher_id == 1)) || (((_host) && ((_host.toLowerCase().indexOf("ungrounded.net") > -1)))))); } public static function hostIsCompatible():Boolean{ return (!((publisher_id == 0))); } public static function hasUserEmail():Boolean{ return (((!((user_email == null))) && (!((user_email == ""))))); } public static function connectionTimeOut(_arg1:Event=null):void{ dispatchEvent(new APIEvent(APIEvent.API_CONNECTED, false, new APIError("CONNECTION_FAILED", "Connection to NewgroundsAPI gateway timed out."))); } public static function connect(_arg1:LoaderInfo, _arg2:String, _arg3:String=null):void{ var loaderInfo = _arg1; var m_id = _arg2; var encrypt_key = _arg3; if (!loaderInfo){ fatalError("Null loaderInfo paremeter passed in to connectMovie!", ""); return; }; try { if (loaderInfo.loader){ loaderInfo = loaderInfo.loader.loaderInfo; }; } catch(error:Error) { }; _url = loaderInfo.url; _host = _url; if ((((_host.indexOf("http://") > -1)) || ((_host.indexOf("https://") > -1)))){ _host = _host.split("/")[2].toLowerCase(); } else { _host = "localhost"; }; var flashVars:Object = loaderInfo.parameters; if (isPublishedHost()){ debugMode = false; }; if (((!(debugMode)) && (flashVars))){ if (flashVars.NewgroundsAPI_UserName){ user_name = flashVars.NewgroundsAPI_UserName; }; if (flashVars.NewgroundsAPI_UserID){ user_id = flashVars.NewgroundsAPI_UserID; }; if (flashVars.NewgroundsAPI_PublisherID){ publisher_id = flashVars.NewgroundsAPI_PublisherID; } else { publisher_id = 0; }; if (flashVars.NewgroundsAPI_UserpageFormat){ _userpageFormat = flashVars.NewgroundsAPI_UserpageFormat; }; if (flashVars.NewgroundsAPI_SessionID){ session_id = flashVars.NewgroundsAPI_SessionID; }; if (flashVars.NewgroundsAPI_SaveGroupID){ _saveGroupId = flashVars.NewgroundsAPI_SaveGroupID; }; if (flashVars.NewgroundsAPI_SaveFileID){ _saveFileId = flashVars.NewgroundsAPI_SaveFileID; }; if (flashVars.NewgroundsAPI_SandboxID){ _bridge = new Bridge(flashVars.NewgroundsAPI_SandboxID); }; } else { publisher_id = 1; if (_fakeSession){ session_id = "D3bu64p1U53R"; user_id = 10; user_name = "API-Debugger"; }; }; if (connected){ fatalError("NewgroundsAPI.connect() - connection already in progress", "connect"); return; }; timeoutTimer.start(); if (!m_id){ fatalError("NewgroundsAPI.connectMovie() - missing required movieId parameter", "connectMovie"); }; _movieId = String(m_id); _trackerId = uint(_movieId.substring(0, _movieId.indexOf(":"))); _encryptionKey = encrypt_key; connected = true; sendCommand("connectMovie", {host:getHost(), movie_version:version}); } private static function getHost():String{ return (_host); } public static function isPublishedHost():Boolean{ return (((!((getHost() == "localhost"))) && ((getHost().indexOf("file://") == -1)))); } public static function loadUserPage(_arg1:uint=0, _arg2:String=null):Boolean{ var _local3:String; if ((((_arg1 == 0)) && ((_arg2 == null)))){ if (hasUserSession()){ _arg1 = user_id; _arg2 = user_name; } else { return (false); }; }; if (publisher_id == 1){ _local3 = (("http://" + _arg2.toLowerCase()) + ".newgrounds.com"); navigateToURL(new URLRequest(_local3), "_blank"); return (true); }; if (userpage_format){ _local3 = userpage_format; _local3 = _local3.split(":user_id:").join(_arg1.toString()); _local3 = _local3.split(":user_name:").join(escape(_arg2)); navigateToURL(new URLRequest(_local3), "_blank"); return (true); }; return (false); } public static function loadNewgrounds():void{ sendCommand("loadNewgrounds", {host:getHost()}, true); } public static function loadOfficialURL():void{ navigateToURL(new URLRequest(getOfficialURL())); } public static function loadMySite():void{ sendCommand("loadMySite", {host:getHost()}, true); } public static function loadCustomLink(_arg1:String):void{ sendCommand("loadCustomLink", {host:getHost(), link:_arg1}, true); } public static function logCustomEvent(_arg1:String):void{ sendCommand("logCustomEvent", {host:getHost(), event:_arg1}); } public static function getScoreBoard(_arg1:String):ScoreBoard{ var _local2:ScoreBoard; for each (_local2 in _scoreboards) { if (_local2.name == _arg1){ return (_local2); }; }; return (null); } public static function getScoreBoardById(_arg1:uint):ScoreBoard{ var _local2:ScoreBoard; for each (_local2 in _scoreboards) { if (_local2.id == _arg1){ return (_local2); }; }; return (null); } public static function postScore(_arg1:String, _arg2:uint, _arg3:String=""):void{ if (((!(_arg1)) || ((_arg1 == "")))){ sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)")); return; }; if (_arg3 == null){ _arg3 = ""; }; sendSecureCommand("postScore", {user_name:user_name, board:_arg1, value:_arg2, publisher_id:publisher_id, tag:_arg3}); } public static function loadScores(_arg1:String, _arg2:String=null, _arg3:String=null):void{ var _local4 = "loadScores"; var _local5:ScoreBoard = getScoreBoard(_arg1); if (((!(_local5)) || (!(_local5.id)))){ sendError({command_id:getCommandID(_local4)}, new APIError("MISSING_PARAM", "missing required ScoreBoard instance")); return; }; var _local6:Object = {}; _local6.publisher_id = publisher_id; if (_arg2){ _local6.period = _arg2; } else { _local6.period = _local5.period; }; _local6.board = _local5.id; _local6.num_results = _local5.num_results; _local6.page = _local5.page; if (((!(_arg3)) || ((_arg3 == "")))){ _local6.tag = _local5.tag; } else { _local6.tag = _arg3; }; sendCommand(_local4, _local6); } public static function loadScoresInRange(_arg1:String, _arg2:String="All-Time", _arg3:uint=1, _arg4:uint=10):void{ if (((!(_arg1)) || ((_arg1 == "")))){ sendError({command_id:getCommandID("postScore")}, new APIError("MISSING_PARAM", "missing required parameter(s)")); return; }; var _local5:ScoreBoard = getScoreBoard(_arg1); if (_local5){ _local5.loadScoresInRange(_arg2, _arg3, _arg4); } else { sendWarning((("loadScoresInRange: Scoreboard " + _arg1) + " could not be found.")); }; } private static function populateMedals(_arg1:Array):void{ var _local2:uint; var _local3:Object; if (_medals === null){ _medals = new Array(); _local2 = 0; while (_local2 < _arg1.length) { _local3 = _arg1[_local2]; _medals.push(Medal.createFromObject(_local3)); _local2++; }; }; sendMessage("Medals loaded!"); } private static function populateSaveGroups(_arg1:Array):void{ var _local3:SaveGroup; _saveGroups = []; var _local2:uint; while (_local2 < _arg1.length) { _local3 = SaveGroup.createFromObject(_arg1[_local2]); _saveGroups.push(_local3); _local2++; }; } private static function populateScoreBoards(_arg1:Array):void{ _scoreboards = []; var _local2:uint; while (_local2 < _arg1.length) { _scoreboards.push(new ScoreBoard(_arg1[_local2].id, _arg1[_local2].name, "")); _local2++; }; } public static function getMedals():Array{ return (_medals); } public static function getMedalById(_arg1:uint):Medal{ var _local2:Medal; for each (_local2 in _medals) { if (_local2.id == _arg1){ return (_local2); }; }; return (null); } public static function getMedal(_arg1:String):Medal{ var _local2:Medal; for each (_local2 in _medals) { if (_local2.name == _arg1){ return (_local2); }; }; return (null); } public static function unlockMedal(_arg1:String):void{ var _local3:Object; var _local4:Object; if (((!(_arg1)) || ((_arg1 == "")))){ sendError({command_id:getCommandID("unlockMedal")}, new APIError("MISSING_PARAM", "missing required medal name")); return; }; var _local2:Medal = getMedal(_arg1); if (!_local2){ sendMessage(("No medal with name: " + _arg1)); return; }; if (((hasUserSession()) || (debugMode))){ sendMessage((("Attempting to unlock '" + _local2.name) + "'")); if (_local2.unlocked){ sendWarning((("Medal '" + _local2.name) + "' is already unlocked!")); return; }; _local3 = new Object(); _local3.medal_id = _local2.id; sendSecureCommand("unlockMedal", _local3); } else { sendMessage(("Locally unlocking " + _local2.name)); if (_local2.unlocked){ sendWarning((("Medal '" + _local2.name) + "' is already unlocked!")); return; }; _local2.unlocked = true; _local4 = loadLocal("medals_unlocked"); if (!_local4){ _local4 = new Object(); }; _local4[_local2.id.toString()] = true; saveLocal("medals_unlocked", _local4); callListener(APIEvent.UNLOCK_MEDAL, true, {medal:_local2}); }; } public static function loadMedals():void{ if (_medals){ dispatchEvent(new APIEvent(APIEvent.MEDALS_LOADED, true, {medals:getMedals()})); return; }; var _local1:Object = new Object(); if (hasUserSession()){ _local1.publisher_id = publisher_id; _local1.user_id = user_id; }; sendCommand("getMedals", _local1); } public static function saveLocal(_arg1:String, _arg2:Object, _arg3:uint=0):void{ var sharedObj:SharedObject; var save_id = _arg1; var save_data = _arg2; var size_allocation = _arg3; try { if (!sharedObjects[save_id]){ sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + save_id)); }; sharedObj = sharedObjects[save_id]; sharedObj.data[save_id] = encodeData(save_data); sharedObj.flush(); } catch(e:Error) { sendWarning(("saveLocal ERROR: " + e)); }; } public static function loadLocal(_arg1:String):Object{ var sharedObj:SharedObject; var save_id = _arg1; try { if (!sharedObjects[save_id]){ sharedObjects[save_id] = SharedObject.getLocal(((("ng_ap_secure_" + _trackerId) + "_") + save_id)); }; sharedObj = sharedObjects[save_id]; if (((((sharedObj) && (sharedObj.data))) && (sharedObj.data[save_id]))){ return (decodeData(sharedObj.data[save_id])); } else { return (null); }; } catch(e:Error) { sendWarning(("loadLocal ERROR: " + e)); }; return (null); } public static function encodeData(_arg1:Object):String{ return (compressHex(RC4.encrypt(JSON.encode(_arg1), _encryptionKey))); } public static function decodeData(_arg1:String){ return (JSON.decode(RC4.decrypt(uncompressHex(_arg1), _encryptionKey))); } private static function compressHex(_arg1:String):String{ var _local2:uint = (_arg1.length % 6); var _local3 = ""; var _local4:uint; while (_local4 < _arg1.length) { _local3 = (_local3 + compressor.encode(uint(("0x" + _arg1.substr(_local4, 6))), 4)); _local4 = (_local4 + 6); }; return ((_local2.toString() + _local3)); } private static function uncompressHex(_arg1:String):String{ var _local4:uint; var _local6:String; var _local7:uint; var _local8:String; var _local2:uint = uint(_arg1.charAt(0)); var _local3 = ""; var _local5:uint = 1; while (_local5 < _arg1.length) { _local6 = _arg1.substr(_local5, 4); _local7 = uint(compressor.decode(_local6)); _local8 = _local7.toString(16); if ((_local5 + 4) < _arg1.length){ _local4 = 6; } else { _local4 = _local2; }; while (_local8.length < _local4) { _local8 = ("0" + _local8); }; _local3 = (_local3 + _local8); _local5 = (_local5 + 4); }; return (_local3); } public static function getSaveGroupById(_arg1:uint):SaveGroup{ if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){ sendWarning("No save groups found"); return (null); }; var _local2:uint; while (_local2 < _saveGroups.length) { if (_saveGroups[_local2].id == _arg1){ return (_saveGroups[_local2]); }; _local2++; }; return (null); } public static function getSaveGroup(_arg1:String):SaveGroup{ if (((!(_saveGroups)) || ((_saveGroups.length < 1)))){ sendWarning("No save groups found"); return (null); }; var _local2:uint; while (_local2 < _saveGroups.length) { if (_saveGroups[_local2].name == _arg1){ return (_saveGroups[_local2]); }; _local2++; }; return (null); } public static function getCurrentSaveFile(){ return (save_file); } public static function setCurrentSaveFile(_arg1:SaveFile){ save_file = _arg1; } public static function newSaveQuery(_arg1:String):SaveGroupQuery{ var _local2:SaveGroup = getSaveGroup(_arg1); if (_local2){ return (_local2.newQuery()); }; return (null); } public static function executeSaveQuery(_arg1:SaveGroupQuery):void{ sendCommand("lookupSaveFiles", {publisher_id:publisher_id, group_id:_arg1.groupId, query:JSON.encode(_arg1.toObject())}, false, null, _arg1); } public static function lookupSaveFiles(_arg1:SaveGroup):void{ var _local2:SaveGroupQuery = _arg1.getQuery(false); sendCommand("lookupSaveFiles", {publisher_id:publisher_id, group_id:_arg1.id, query:_local2.toObject()}, false, null, _local2); } public static function checkFilePrivledges(_arg1:SaveFile):void{ sendCommand("checkFilePrivs", {group:_arg1.groupId, filename:_arg1.name, user_id:(user_id) ? user_id : 0, publisher_id:publisher_id}); } public static function newSaveFile(_arg1:String):SaveFile{ var _local2:SaveGroup = getSaveGroup(_arg1); if (_local2){ return (new SaveFile(_local2)); }; sendError({command_id:"newSaveFile"}, new APIError("INVALID_SAVE_GROUP", (("'" + _local2) + "' is not a valid save group."))); return (null); } public static function saveFile(_arg1:SaveFile, _arg2:Boolean=false, _arg3:Boolean=false):void{ var _local4:Object = _arg1.toObject(); _local4.user_name = user_name; if (_arg1.id){ _local4.save_id = _arg1.id; }; _local4.overwrite = (_arg2) ? 1 : 0; if (_arg3){ _local4.draft = 1; }; var _local5:ByteArray = new ByteArray(); if ((_arg1.contents is ByteArray)){ _local5.writeByte(0); _local5.writeBytes(_arg1.contents); } else { _local5.writeByte(1); _local5.writeObject(_arg1.contents); }; _local5.compress(); var _local6:Object = new Object(); _local6.file = _local5; if (_arg1.thumbnail){ _local6.thumbnail = PNGEncoder.encode(_arg1.thumbnail); }; save_file = _arg1; sendSecureCommand("saveFile", _local4, null, _local6, _arg1); } public static function rateSaveFile(_arg1:SaveFile, _arg2:SaveRating, _arg3:Number):void{ sendSecureCommand("rateSaveFile", {group:_arg1.groupId, save_id:_arg1.id, rating_id:_arg2.id, vote:_arg3, user_id:user_id}, null, null, _arg1); } public static function loadSaveFile(_arg1:Number, _arg2:Boolean=true){ var _local3:Object = {publisher_id:publisher_id, save_id:_arg1, get_contents:_arg2}; save_file = null; sendCommand("loadSaveFile", _local3); } public static function loadFilesByDate(_arg1:String, _arg2:Boolean=true, _arg3:String=null, _arg4=null):void{ var _local7:*; var _local5:SaveGroup = getSaveGroup(_arg1); if (!_local5){ _local7 = new APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name."); sendError({command_id:"loadFilesByDate"}, _local7); return; }; var _local6:SaveGroupQuery = _local5.newQuery(); if (_arg3){ _local6.addKeyCondition(_arg3, "=", _arg4); }; _local6.sortOn(SaveGroupQuery.CREATED_ON, _arg2); _local6.execute(); } public static function loadFilesByViews(_arg1:String, _arg2:Boolean=true, _arg3:String=null, _arg4=null):void{ var _local7:*; var _local5:SaveGroup = getSaveGroup(_arg1); if (!_local5){ _local7 = new APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name."); sendError({command_id:"loadFilesByViews"}, _local7); return; }; var _local6:SaveGroupQuery = _local5.newQuery(); if (_arg3){ _local6.addKeyCondition(_arg3, "=", _arg4); }; _local6.sortOn(SaveGroupQuery.TOTAL_VIEWS, _arg2); _local6.execute(); } public static function loadFilesByRating(_arg1:String, _arg2:String, _arg3:Boolean=true, _arg4:String=null, _arg5=null):void{ var _local8:*; var _local6:SaveGroup = getSaveGroup(_arg1); if (!_local6){ _local8 = new APIError("QUERY_INCOMPLETE", "The query could not be preformed, check the spelling of your save group name."); sendError({command_id:"loadFilesByDate"}, _local8); return; }; var _local7:SaveGroupQuery = _local6.newQuery(); if (_arg4){ _local7.addKeyCondition(_arg4, "=", _arg5); }; _local7.sortOnRating(_arg2, _arg3); _local7.execute(); } public static function onRemoteAuthentication(_arg1:String){ var _local2:Object = JSON.decode(RC4.decrypt(_arg1, _encryptionKey)); user_id = _local2.NewgroundsAPI_UserID; user_name = _local2.NewgroundsAPI_UserName; session_id = _local2.NewgroundsAPI_SessionID; publisher_id = _local2.NewgroundsAPI_PublisherID; } private static function doEvent(_arg1:Object):void{ var _local2:String; var _local3:Object; var _local4:String; var _local5:Boolean; var _local6:ScoreBoard; var _local7:Array; var _local8:*; var _local9:String; var _local10:Medal; var _local11:SaveGroup; var _local12:Object; var _local13:Object; var _local14:Object; var _local15:SaveFile; var _local16:uint; var _local17:Object; var _local18:uint; var _local19:APIError; var _local20:Object; switch (getCommandName(_arg1.command_id)){ case "connectMovie": timeoutTimer.stop(); if (_arg1.success){ sendMessage("You have successfully connected to the Newgrounds API Gateway"); sendMessage((("Movie identified as \"" + _arg1.movie_name) + "\"")); callListener(APIEvent.API_CONNECTED, _arg1.success, {title:_arg1.movie_name}); } else { callListener(APIEvent.API_CONNECTED, _arg1.success, {}); return; }; _local5 = false; if (_arg1.ad_status === -1){ _local2 = "This movie was not approved to run Flash Ads."; sendWarning(_local2); sendWarning((("visit " + AD_TERMS_URL) + " to view our approval guidelines")); if (!_arg1.ad_url){ callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2)); } else { _local5 = true; }; } else { if (_arg1.ad_status === 0){ _local2 = "Flash Ads are currently awaiting approval."; sendNotice(_local2); if (!_arg1.ad_url){ callListener(APIEvent.ADS_APPROVED, false, new APIError("FLASH_ADS_NOT_APPROVED", _local2)); } else { _local5 = true; }; }; }; if (_arg1.ad_url){ ad_url = unescape(_arg1.ad_url); if (!_local5){ sendMessage("This movie has been approved to run Flash Ads!"); }; _adsApproved = true; callListener(APIEvent.ADS_APPROVED, true); }; if (_arg1.deny_host){ _local2 = (getHost() + " does not have permission to run this movie!"); sendWarning(_local2); sendWarning(("\tUpdate your API configuration to unblock " + getHost())); callListener(APIEvent.HOST_BLOCKED, true, {real_url:unescape(_arg1.movie_url), url:getOfficialURL()}); }; if (_arg1.movie_version){ sendWarning("According to your API Configuration, this version is out of date."); if (version){ sendWarning(("\tThe this movie is version " + version)); }; sendWarning(("\tThe most current version is " + _arg1.movie_version)); callListener(APIEvent.NEW_VERSION_AVAILABLE, true, {version:_arg1.movie_version, real_url:unescape(_arg1.movie_url), url:getOfficialURL()}); }; if (_arg1.request_portal_url){ sendCommand("setPortalID", {portal_url:_url}); }; sendCommand("preloadSettings", {publisher_id:publisher_id, user_id:user_id}); break; case "preloadSettings": if (_arg1.medals){ populateMedals(_arg1.medals); if (((!(hasUserSession())) && (!(debugMode)))){ echo("Checking for SharedObject Medals..."); _local8 = loadLocal("medals_unlocked"); if (_local8){ for (_local9 in _local8) { if (_local8[_local9]){ _local10 = getMedalById(uint(_local9)); echo(("Now unlocking " + _local10.name)); _local10.unlocked = true; }; }; }; }; }; if (_arg1.save_groups){ populateSaveGroups(_arg1.save_groups); }; if (_arg1.save_file_path){ _saveFilePath = (_arg1.save_file_path + "/"); }; if (_arg1.image_file_path){ _imageFilePath = (_arg1.image_file_path + "/"); }; if (_arg1.score_boards){ populateScoreBoards(_arg1.score_boards); }; sendMessage("Metadata loaded!"); callListener(APIEvent.METADATA_LOADED, _arg1.success); if (((_saveFileId) && (_saveGroupId))){ _local11 = getSaveGroupById(_saveGroupId); if (_local11){ callListener(APIEvent.FILE_REQUESTED, true, {save_id:_saveFileId, group:_local11}); }; }; _preloadComplete = true; break; case "logCustomEvent": if (_arg1.success){ sendMessage((("Event '" + _arg1.event) + "' was logged.")); }; callListener(APIEvent.EVENT_LOGGED, _arg1.success, {event:_arg1.event}); break; case "postScore": if (_arg1.success){ _local4 = "User"; if (user_email){ _local4 = user_email; } else { if (user_name){ _local4 = user_name; }; }; _local6 = getScoreBoardById(_arg1.board); if (_local6){ sendMessage((((((_local4 + " posted ") + _arg1.value) + " to '") + _local6.name) + "'")); }; if (_arg1.best_scores){ _local12 = {today:_arg1.best_scores.D, yesterday:_arg1.best_scores.P, week:_arg1.best_scores.W, year:_arg1.best_scores.Y, all_time:_arg1.best_scores.A}; } else { _local12 = {}; }; if (_arg1.best_ranks){ _local13 = {today:_arg1.best_ranks.D, yesterday:_arg1.best_ranks.P, week:_arg1.best_ranks.W, year:_arg1.best_ranks.Y, all_time:_arg1.best_ranks.A}; } else { _local13 = {}; }; if (_arg1.num_scores){ _local14 = {today:_arg1.num_scores.D, yesterday:_arg1.num_scores.P, week:_arg1.num_scores.W, year:_arg1.num_scores.Y, all_time:_arg1.num_scores.A}; } else { _local14 = {}; }; _local3 = {score:_arg1.score, value:_arg1.value, username:_local4, best_scores:_local12, best_ranks:_local13, num_scores:_local14}; }; callListener(APIEvent.SCORE_POSTED, _arg1.success, _local3); break; case "loadScores": _local3 = new Object(); _local6 = getScoreBoardById(_arg1.board); if (_local6){ _local6.setScores(_arg1.scores, _arg1.period, _arg1.page, _arg1.num_results, _arg1.num_scores); }; callListener(APIEvent.SCORES_LOADED, _arg1.success, {board:_local6}); break; case "unlockMedal": if (_medals){ _local10 = getMedal(_arg1.medal_name); if (_local10.unlocked){ return; }; _local10.unlocked = true; callListener(APIEvent.MEDAL_UNLOCKED, _arg1.success, {medal_id:_local10.id, medal:_local10}); }; break; case "getMedals": if (_arg1.success){ populateMedals(_arg1.medals); }; callListener(APIEvent.MEDALS_LOADED, _arg1.success, _local3); break; case "loadSaveFile": if (_arg1.success){ _local11 = getSaveGroupById(_arg1.group_id); _local15 = new SaveFile(_local11); _local15.id = _arg1.file.save_id; _local15.name = _arg1.file.filename; _local15.fileUrl = (_saveFilePath + _arg1.file.file); _local15.thumbnailUrl = (_imageFilePath + _arg1.file.thumb); _local15.authorName = _arg1.file.user_name; _local15.authorId = _arg1.file.user_id; _local15.setStatus(_arg1.file.status); _local15.description = _arg1.file.description; _local15.setFileSize(_arg1.file.file_size); if (((_arg1.file.keys) && (_arg1.file.keys.length))){ _local16 = 0; while (_local16 < _arg1.file.keys.length) { _local15.setKey(_arg1.file.keys[_local16].id, _arg1.file.keys[_local16].value); _local16++; }; }; if (((_arg1.file.ratings) && (_arg1.file.ratings.length))){ _local16 = 0; while (_local16 < _arg1.file.ratings.length) { _local15.setRating(_arg1.file.ratings[_local16].id, _arg1.file.ratings[_local16].votes, _arg1.file.ratings[_local16].score); _local16++; }; }; if (_arg1.get_contents){ _local15.loadContents(); }; }; save_file = _local15; callListener(APIEvent.FILE_INITIALIZED, _arg1.success, {save_id:_local15.id, file:_local15}); break; case "lookupSaveFiles": _local7 = []; if (((_arg1.success) && (_arg1.files))){ _local16 = 0; while (_local16 < _arg1.files.length) { _local17 = _arg1.files[_local16]; _local15 = new SaveFile(getSaveGroupById(_arg1.group_id)); _local15.name = _local17.filename; _local15.id = _local17.save_id; _local15.description = _local17.description; _local15.thumbnailUrl = (_imageFilePath + _local17.thumb); _local15.fileUrl = (_saveFilePath + _local17.file); _local15.authorName = _local17.user_name; _local15.authorId = _local17.user_id; _local15.setStatus(_local17.status); _local15.setFileSize(_local17.file_size); if (((_local17.keys) && (_local17.keys.length))){ _local18 = 0; while (_local18 < _local17.keys.length) { _local15.setKey(_local17.keys[_local18].id, _local17.keys[_local18].value); _local18++; }; }; if (((_local17.ratings) && (_local17.ratings.length))){ _local18 = 0; while (_local18 < _local17.ratings.length) { _local15.setRating(_local17.ratings[_local18].id, _local17.ratings[_local18].votes, _local17.ratings[_local18].score); _local18++; }; }; _local7.push(_local15); _local16++; }; }; _arg1.owner.setResults(_local7); _arg1.owner.dispatchEvent(new APIEvent(APIEvent.QUERY_COMPLETE, _arg1.success, {query:_arg1.owner})); callListener(APIEvent.QUERY_COMPLETE, _arg1.success, {query:_arg1.owner}); break; case "rateSaveFile": _local15 = _arg1.owner; _arg1.success = ((_arg1.success) && (!(_arg1.already_voted))); if (_arg1.success){ _local15.setRating(_arg1.rating_id, _arg1.votes, _arg1.score); }; _arg1.file = _local15; if (_arg1.already_voted){ _local19 = new APIError("PERMISSION_DENIED", "You have already voted on this item today"); _local15.dispatchEvent(new APIEvent(APIEvent.VOTE_COMPLETE, _arg1.success, {error:_local19, file:_local15, save_id:_local15.id})); callListener(APIEvent.VOTE_COMPLETE, _arg1.success, _arg1); } else { _local20 = _local15.getRating(_arg1.rating_id); _local15.dispatchEvent(new APIEvent(APIEvent.VOTE_COMPLETE, _arg1.success, {rating:_local20, file:_local15, save_id:_local15.id})); API.callListener(APIEvent.VOTE_COMPLETE, _arg1.success, {rating:_local20, file:_local15, save_id:_local15.id}); }; break; case "saveFile": _local3 = {}; if (_arg1.success){ _local3 = {save_id:_arg1.save_id, filename:_arg1.filename, file_url:_arg1.file_url, thumbnail:_arg1.thumbnail, icon:_arg1.icon}; SaveFile(_arg1.owner).fileSaved(_local3); }; _arg1.owner.dispatchEvent(new APIEvent(APIEvent.FILE_SAVED, _arg1.success, {save_id:save_file.id, file:save_file})); callListener(APIEvent.FILE_SAVED, _arg1.success, {save_id:save_file.id, file:save_file}); save_file = null; break; case "checkFilePrivs": _local3 = {filename:_arg1.filename, folder:_arg1.folder, can_read:_arg1.can_read, can_write:_arg1.can_write}; callListener(APIEvent.FILE_PRIVS_LOADED, _arg1.success, _local3); break; }; } public static function addEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false, _arg4:uint=0, _arg5:Boolean=false):void{ _eventDispatcher.addEventListener(_arg1, _arg2, _arg3, _arg4, _arg5); } public static function hasEventListener(_arg1:String):Boolean{ return (_eventDispatcher.hasEventListener(_arg1)); } public static function removeEventListener(_arg1:String, _arg2:Function, _arg3:Boolean=false):void{ _eventDispatcher.removeEventListener(_arg1, _arg2, _arg3); } private static function dispatchEvent(_arg1:Event):void{ _eventDispatcher.dispatchEvent(_arg1); echo(("Fired Event: " + _arg1.type)); } static function callListener(_arg1:String, _arg2:Boolean=true, _arg3=undefined):void{ dispatchEvent(new APIEvent(_arg1, _arg2, _arg3)); if (_bridge){ _bridge.sendEvent(_arg1, {success:_arg2, data:_arg3}); }; } private static function getCommandName(_arg1:String):String{ return (_arg1); } private static function getCommandID(_arg1:String):String{ return (_arg1); } private static function getPeriodAliases():Object{ var _local2:String; var _local1:Object = new Object(); for (_local2 in period_aliases) { _local1[period_aliases[_local2].alias] = _local2; }; return (_local1); } public static function getPeriodName(_arg1:String):String{ var _local2:String; for (_local2 in period_aliases) { if (_local2 == _arg1){ return (period_aliases[_local2].name); }; }; return (null); } public static function getPeriodAlias(_arg1:String):String{ var _local2:String; for (_local2 in period_aliases) { if (_local2 == _arg1){ return (period_aliases[_local2].alias); }; }; return (null); } private static function sendError(_arg1:Object, _arg2:APIError):void{ var _local3:String = ((((("[NewgroundsAPI ERROR] :: " + getCommandName(_arg1.command_id)) + "() - ") + _arg2.name) + ":\n\t\t\t\t") + _arg2.message); trace(_local3); if (_bridge){ _bridge.sendEvent("trace", {data:_local3}); }; } private static function sendWarning(_arg1:String, _arg2:String=null):void{ if (_arg2){ _arg1 = (_arg1 + ((("\n[NewgroundsAPI WARNING] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; trace(_arg1); if (_bridge){ _bridge.sendEvent("trace", {data:_arg1}); }; } private static function sendNotice(_arg1:String, _arg2:String=null):void{ var _local3:String; if (_arg2){ _arg1 = (_arg1 + ((("\n[NewgroundsAPI NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; trace(_arg1); if (_bridge){ _bridge.sendEvent("trace", {data:_arg1}); }; } private static function fatalError(_arg1:String, _arg2:String):void{ if (_arg2){ _arg1 = (_arg1 + ((("\n\tSee " + COMMANDS_WIKI_URL) + _arg2.toLowerCase()) + " for additional information.")); }; trace(("***ERROR*** class=API\n\n" + _arg1)); } public static function openLoginPage(){ if (hasUserSession()){ return; }; } public static function sendSecureCommand(_arg1:String, _arg2:Object, _arg3:Object=null, _arg4:Object=null, _arg5=null):void{ if (((((!(debugMode)) && (!(hasUserSession())))) && (!(hasUserEmail())))){ sendError({command_id:getCommandID(_arg1)}, new APIError("IDENTIFICATION_REQUIRED", (("You must be logged in or provide an e-mail address ( using NewgroundsAPI.setUserEmail(\"name@domain.com\"); ) to use " + _arg1) + "()."))); return; }; if (!_arg1){ fatalError("Missing command", "sendSecureCommand"); }; if (!_arg2){ fatalError("Missing secure_params", "sendSecureCommand"); }; if (!_arg3){ _arg3 = new Object(); }; var _local6 = ""; var _local7:uint; while (_local7 < 16) { _local6 = (_local6 + compression_radix.charAt(Math.floor((Math.random() * compression_radix.length)))); _local7++; }; if (((debugMode) && (!(session_id)))){ _arg2.session_id = ""; } else { _arg2.session_id = session_id; }; _arg2.as_version = 3; _arg2.user_email = user_email; _arg2.publisher_id = publisher_id; _arg2.seed = _local6; _arg2.command_id = getCommandID(_arg1); var _local8:String = MD5.hash(_local6); var _local9:String = RC4.encrypt(JSON.encode(_arg2), _encryptionKey); var _local10:String = (_local8 + _local9); _arg3.secure = compressHex(_local10); secureCommand = _arg1; sendCommand("securePacket", _arg3, false, _arg4, _arg5); } public static function stopPendingCommands():void{ SmartURLLoader.closeAll(); } private static function onCommandComplete(_arg1:Event):void{ var response:Object; var error:APIError; var e = _arg1; var loader:SmartURLLoader = SmartURLLoader(e.target); echo((("INPUT: \n" + loader.response) + "\n")); var i:uint; while (i < _preloadAssets.length) { if (_preloadAssets[i] == loader){ _preloadAssets.splice(i, 1); break; }; i = (i + 1); }; try { response = JSON.decode(loader.response); } catch(error:Error) { }; if (!response){ response = {command_id:loader._command, success:false}; }; response.owner = loader.owner; if (((!(response)) || (!(response.success)))){ if (response.command_id == "connectMovie"){ connected = false; }; error = new APIError(response.error_code, response.error_msg); sendError(response, error); if (response.command_id){ doEvent(response); }; } else { doEvent(response); }; } private static function onCommandError(_arg1:Event):void{ var _local2:Object = {success:false}; var _local3:SmartURLLoader = SmartURLLoader(_arg1.target); _local2.owner = _local3.owner; var _local4:uint; while (_local4 < _preloadAssets.length) { if (_preloadAssets[_local4] == _local3){ _preloadAssets.splice(_local4, 1); break; }; _local4++; }; if (_local3._command){ _local2.command_id = _local3._command; if (_local2.command_id == "connectMovie"){ connected = false; }; doEvent(_local2); }; } private static function sendCommand(_arg1:String, _arg2:Object, _arg3:Boolean=false, _arg4:Object=null, _arg5=null):void{ var _local7:String; var _local8:String; var _local9:String; if (((!(connected)) && (!((_arg1 == "connectMovie"))))){ _local7 = (("NewgroundsAPI." + _arg1) + "() - NewgroundsAPI.connectMovie() must be called before this command can be called\n"); fatalError(_local7, "connectMovie"); }; var _local6:SmartURLLoader = new SmartURLLoader(); _local6.addVariable("command_id", getCommandID(_arg1)); _local6.addVariable("tracker_id", _movieId); if (debugMode){ _local6.addVariable("debug", 1); }; if (_arg2){ for (_local8 in _arg2) { _local6.addVariable(_local8, _arg2[_local8]); }; }; if (_arg4){ for (_local9 in _arg4) { _local6.addFile(_local9, _arg4[_local9], _local9); }; }; if (_arg3){ _local6.method = URLRequestMethod.GET; } else { _local6.method = URLRequestMethod.POST; }; _local6.preventCache = true; if (_arg3){ _local6.openBrowser = true; _local6.method = URLRequestMethod.GET; } else { _local6.addEventListener(Event.COMPLETE, onCommandComplete); _local6.addEventListener(IOErrorEvent.IO_ERROR, onCommandError); _local6.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onCommandError); _local6.method = URLRequestMethod.POST; }; if (_arg2.secure){ _local6._command = secureCommand; } else { _local6._command = getCommandID(_arg1); }; _local6.owner = _arg5; _local6.load(GATEWAY_URL); } public static function isFlashVersion(_arg1:uint, _arg2:uint=0, _arg3:uint=0, _arg4:uint=0):Boolean{ var _local6:Array = Capabilities.version.split(" ")[1].split(","); var _local7:Array = arguments; var _local8:uint; while (_local8 < _local7.length) { _local6[_local8] = uint(_local6[_local8]); _local8++; }; _local8 = 0; while (_local8 < _local7.length) { if (_local6[_local8] > _local7[_local8]){ return (true); }; if (_local6[_local8] < _local7[_local8]){ return (false); }; _local8++; }; return (true); } public static function createAd():FlashAd{ sendMessage("You may see a security sandbox violation. This is normal!"); return (new FlashAd()); } public static function sendMessage(_arg1:String, _arg2:Boolean=false):void{ var _local3:String = ("[NewgroundsAPI] :: " + _arg1); trace(_local3); if (_bridge){ _bridge.sendEvent("trace", {data:_local3}); }; } private static function echo(_arg1:String):void{ if (do_echo){ trace(_arg1); }; } } }//package com.newgrounds
Section 73
//APIError (com.newgrounds.APIError) package com.newgrounds { import flash.utils.*; public class APIError { public var code:Number;// = 0 public var message:String; public var name:String; public var alias:String; public static const aliases:Array = new Array("UNKNOWN_ERROR", "INVALID_API_ID", "MISSING_PARAM", "INVALID_STAT_ID", "INVALID_COMMAND_ID", "FLASH_ADS_NOT_APPROVED", "PERMISSION_DENIED", "IDENTIFICATION_REQUIRED", "INVALID_EMAIL_ADDRESS", "BANNED_USER", "SESSION_EXPIRED", "INVALID_SCORE", "INVALID_MEDAL", "INVALID_FOLDER", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "CONNECTION_FAILED"); private static const always_caps:Array = new Array("API", "URL", "ID"); public static const error_codes:Object = init_codes(); public static const error_names:Object = init_names(); public function APIError(_arg1, _arg2:String){ if ((_arg1 is String)){ _arg1 = error_codes[_arg1]; } else { if (!(_arg1 is uint)){ _arg1 = 0; }; }; this.code = _arg1; this.message = _arg2; this.name = error_names[_arg1]; this.alias = aliases[_arg1]; } public function isError():Boolean{ return (true); } public static function init_codes():Dictionary{ var _local1:Dictionary = new Dictionary(); var _local2:uint; while (_local2 < aliases.length) { _local1[aliases[_local2]] = _local2; _local2++; }; return (_local1); } private static function init_names():Array{ var _local3:Array; var _local4:uint; var _local5:String; var _local1:Array = new Array(); var _local2:uint; while (_local2 < aliases.length) { _local3 = aliases[_local2].toLowerCase().split("_"); _local4 = 0; while (_local4 < _local3.length) { _local3[_local4] = (_local3[_local4].substr(0, 1).toUpperCase() + _local3[_local4].substr(1, _local3[_local4].length)); for each (_local5 in always_caps) { if (_local3[_local4].toUpperCase() == _local5){ _local3[_local4] = _local3[_local4].toUpperCase(); }; }; _local4++; }; _local1[_local2] = _local3.join(" "); _local2++; }; return (_local1); } } }//package com.newgrounds
Section 74
//APIEvent (com.newgrounds.APIEvent) package com.newgrounds { import flash.events.*; public class APIEvent extends Event { private var _data; private var _success:Boolean; private var _target; private var _error:APIError; public static const API_CONNECTED:String = "movieConnected"; public static const ADS_APPROVED:String = "adsApproved"; public static const AD_ATTACHED:String = "adAttached"; public static const HOST_BLOCKED:String = "hostBlocked"; public static const NEW_VERSION_AVAILABLE:String = "newVersionAvailable"; public static const EVENT_LOGGED:String = "eventLogged"; public static const SCORE_POSTED:String = "scorePosted"; public static const SCORES_LOADED:String = "scoresLoaded"; public static const UNLOCK_MEDAL:String = "unlockMedal"; public static const MEDAL_UNLOCKED:String = "medalUnlocked"; public static const MEDALS_LOADED:String = "medalsLoaded"; public static const METADATA_LOADED:String = "metadataLoaded"; public static const FILE_PRIVS_LOADED:String = "filePrivsLoaded"; public static const FILE_SAVED:String = "fileSaved"; public static const FILE_LOADED:String = "fileLoaded"; public static const FILE_INITIALIZED:String = "fileInitialized"; public static const FILE_REQUESTED:String = "fileRequested"; public static const QUERY_COMPLETE:String = "queryComplete"; public static const VOTE_COMPLETE:String = "voteComplete"; public function APIEvent(_arg1:String, _arg2:Boolean=true, _arg3=undefined){ super(_arg1); this._data = _arg3; this._success = _arg2; } public function get success():Boolean{ return (this._success); } public function get data(){ return (this._data); } } }//package com.newgrounds
Section 75
//BaseN (com.newgrounds.BaseN) package com.newgrounds { import flash.utils.*; public class BaseN { private var _hashIndex:String; private var _hashVal:Dictionary; private var _base:Number; public function BaseN(_arg1:String=null){ if (_arg1){ this._hashIndex = _arg1; } else { this._hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/"; }; this._base = this._hashIndex.length; this._hashVal = new Dictionary(); var _local2:uint; while (_local2 < this._base) { this._hashVal[this._hashIndex.charAt(_local2)] = _local2; _local2++; }; } public function encode(_arg1:Number, _arg2:uint=1):String{ var _local3:String = _arg1.toString(); var _local4 = ""; if (_local3.charAt(0) == "-"){ _local4 = "-"; _local3 = _local3.substring(1); }; var _local5:Array = _local3.split(".", 2); _local4 = (_local4 + this.baseNEncoder(_local5[0], _arg2)); if (_local5.length > 1){ _local4 = (_local4 + ("." + this.baseNEncoder(_local5[1]))); }; return (_local4); } public function decode(_arg1:String):Number{ var _local2 = ""; if (_arg1.charAt(0) == "-"){ _local2 = "-"; _arg1 = _arg1.substring(1); }; var _local3:Array = _arg1.split(".", 2); _local2 = (_local2 + this.baseNDecoder(_local3[0])); if (_local3.length > 1){ _local2 = (_local2 + "."); _local2 = (_local2 + this.baseNDecoder(_local3[1])); }; return (Number(_local2)); } private function baseNEncoder(_arg1:uint, _arg2:uint=1):String{ var _local3 = ""; var _local4:uint = _arg1; while (_local4 != 0) { _local3 = (this._hashIndex.charAt((_local4 % this._base)) + _local3); _local4 = (_local4 / this._base); }; if (_arg2){ while (_local3.length < _arg2) { _local3 = (this._hashIndex.charAt(0) + _local3); }; }; return (_local3); } private function baseNDecoder(_arg1:String):uint{ var _local2:uint; var _local3:uint; while (_local3 < _arg1.length) { _local2 = (_local2 * this._base); _local2 = (_local2 + this._hashVal[_arg1.charAt(_local3)]); _local3++; }; return (_local2); } } }//package com.newgrounds
Section 76
//Bridge (com.newgrounds.Bridge) package com.newgrounds { import flash.events.*; import flash.net.*; public class Bridge { private var _inConnection:LocalConnection; private var _outConnection:LocalConnection; private var _widgetId:String; public function Bridge(_arg1:String){ this._widgetId = _arg1; this._inConnection = new LocalConnection(); this._outConnection = new LocalConnection(); this._inConnection.client = this; this._inConnection.connect(("rec_" + this._widgetId)); this._outConnection.addEventListener(StatusEvent.STATUS, this.onStatus); } public function sendCommand(_arg1:String, _arg2:Object):void{ if (this._outConnection){ this._outConnection.send(this._widgetId, "sendCommand", _arg1, this.scrubParameters(_arg2)); }; } public function sendEvent(_arg1:String, _arg2:Object):void{ if (this._outConnection){ this._outConnection.send(this._widgetId, "sendEvent", _arg1, this.scrubParameters(_arg2)); }; } public function receiveEvent(_arg1:String, _arg2:Object):void{ API.callListener(_arg1, _arg2.success, _arg2.data); } public function scrubParameters(_arg1:Object):Object{ var _local3:String; var _local2:Object = new Object(); for (_local3 in _arg1) { if ((((((((((_arg1[_local3] is String)) || ((_arg1[_local3] is Number)))) || ((_arg1[_local3] is uint)))) || ((_arg1[_local3] is int)))) || ((_arg1[_local3] is Boolean)))){ _local2[_local3] = _arg1[_local3]; }; }; return (_local2); } private function onStatus(_arg1:Event):void{ } } }//package com.newgrounds
Section 77
//Medal (com.newgrounds.Medal) package com.newgrounds { import flash.display.*; import flash.events.*; import flash.net.*; import flash.system.*; public class Medal { private var _id:uint; private var _name:String; private var _value:uint; private var _difficultyId:uint; private var _unlocked:Boolean;// = false private var _iconUrl:URLRequest; private var _iconLoader:Loader; private var _icon:BitmapData; private static const DEFAULT_ICON:BitmapData = new BitmapData(50, 50, false, 0); private static const DIFFICULT_NAMES:Array = [null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal"]; public function Medal(_arg1:uint, _arg2:String, _arg3:uint, _arg4:uint, _arg5:Boolean, _arg6:String){ var id = _arg1; var name = _arg2; var value = _arg3; var difficulty = _arg4; var unlocked = _arg5; var iconUrl = _arg6; this._icon = DEFAULT_ICON; super(); this._id = id; this._name = name; this._value = value; this._difficultyId = difficulty; this._unlocked = unlocked; if (iconUrl){ this._iconUrl = new URLRequest(iconUrl); this._iconLoader = new Loader(); this._iconLoader.contentLoaderInfo.addEventListener(Event.INIT, this.onIconLoaderInit); this._iconLoader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, this.onIconLoaderError); this._iconLoader.contentLoaderInfo.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onIconLoaderError); this._iconLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, this.onIconLoaderComplete); try { this._iconLoader.load(this._iconUrl, new LoaderContext(true)); } catch(e:Error) { onIconLoaderError(null); }; }; } public function get difficulty():String{ return (DIFFICULT_NAMES[this._difficultyId]); } public function get difficultyId():uint{ return (this._difficultyId); } public function get icon():BitmapData{ return (this._icon); } public function get id():uint{ return (this._id); } public function get name():String{ return (this._name); } public function get unlocked():Boolean{ return (this._unlocked); } public function isUnlocked():Boolean{ return (this._unlocked); } public function set unlocked(_arg1:Boolean):void{ this._unlocked = _arg1; } public function get value():uint{ return (this._value); } public function get bytesLoaded():uint{ return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesLoaded : 0); } public function get bytesTotal():uint{ return ((this._iconLoader) ? this._iconLoader.contentLoaderInfo.bytesTotal : 0); } public function getID():uint{ return (this._id); } public function getName():String{ return (this._name); } public function getValue():uint{ return (this._value); } public function getDifficulty():String{ return (DIFFICULT_NAMES[this._difficultyId]); } private function onIconLoaderInit(_arg1:Event):void{ } private function onIconLoaderError(_arg1:IOErrorEvent):void{ trace((((("[NewgroundsAPI WARNING] :: Failed to load medal icon for " + this.name) + " (") + this._iconUrl.url.split("/").pop()) + ")")); this._iconLoader.unload(); this._iconLoader = null; } private function onIconLoaderComplete(_arg1:Event):void{ var _local2:Bitmap = (this._iconLoader.content as Bitmap); this._icon = _local2.bitmapData; this._iconLoader.unload(); this._iconLoader = null; } public function unlock():void{ if (!this._unlocked){ API.unlockMedal(this._name); }; } public function createIconBitmap():Bitmap{ return (new Bitmap(this.icon)); } public function toString():String{ return (this._name); } public static function createFromObject(_arg1:Object):Medal{ return (new Medal(_arg1.medal_id, _arg1.medal_name, _arg1.medal_value, _arg1.medal_difficulty, _arg1.medal_unlocked, _arg1.medal_icon)); } } }//package com.newgrounds
Section 78
//RC4 (com.newgrounds.RC4) package com.newgrounds { public class RC4 { private static var sbox:Array = new Array(0xFF); private static var mykey:Array = new Array(0xFF); public static function encrypt(_arg1:String, _arg2:String):String{ var _local3:Array = strToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (charsToHex(_local5)); } public static function encryptbin(_arg1:String, _arg2:String):Array{ var _local3:Array = strToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (_local5); } public static function decrypt(_arg1:String, _arg2:String):String{ var _local3:Array = hexToChars(_arg1); var _local4:Array = strToChars(_arg2); var _local5:Array = calculate(_local3, _local4); return (charsToStr(_local5)); } private static function initialize(_arg1:Array):void{ var _local3:uint; var _local2:uint; var _local4:uint = _arg1.length; var _local5:uint; while (_local5 <= 0xFF) { mykey[_local5] = _arg1[(_local5 % _local4)]; sbox[_local5] = _local5; _local5++; }; _local5 = 0; while (_local5 <= 0xFF) { _local2 = (((_local2 + sbox[_local5]) + mykey[_local5]) % 0x0100); _local3 = sbox[_local5]; sbox[_local5] = sbox[_local2]; sbox[_local2] = _local3; _local5++; }; } private static function calculate(_arg1:Array, _arg2:Array):Array{ var _local6:uint; var _local7:uint; var _local8:uint; var _local10:uint; initialize(_arg2); var _local3:uint; var _local4:uint; var _local5:Array = new Array(); var _local9:uint; while (_local9 < _arg1.length) { _local3 = ((_local3 + 1) % 0x0100); _local4 = ((_local4 + sbox[_local3]) % 0x0100); _local7 = sbox[_local3]; sbox[_local3] = sbox[_local4]; sbox[_local4] = _local7; _local10 = ((sbox[_local3] + sbox[_local4]) % 0x0100); _local6 = sbox[_local10]; _local8 = (_arg1[_local9] ^ _local6); _local5.push(_local8); _local9++; }; return (_local5); } private static function charsToHex(_arg1:Array):String{ var _local2:String = new String(""); var _local3:Array = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"); var _local4:uint; while (_local4 < _arg1.length) { _local2 = (_local2 + (_local3[(_arg1[_local4] >> 4)] + _local3[(_arg1[_local4] & 15)])); _local4++; }; return (_local2); } private static function hexToChars(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:uint = ((_arg1.substr(0, 2))=="0x") ? 2 : 0; while (_local3 < _arg1.length) { _local2.push(parseInt(_arg1.substr(_local3, 2), 16)); _local3 = (_local3 + 2); }; return (_local2); } private static function charsToStr(_arg1:Array):String{ var _local2:String = new String(""); var _local3:uint; while (_local3 < _arg1.length) { _local2 = (_local2 + String.fromCharCode(_arg1[_local3])); _local3++; }; return (_local2); } private static function strToChars(_arg1:String):Array{ var _local2:Array = new Array(); var _local3:uint; while (_local3 < _arg1.length) { _local2.push(_arg1.charCodeAt(_local3)); _local3++; }; return (_local2); } } }//package com.newgrounds
Section 79
//SaveFile (com.newgrounds.SaveFile) package com.newgrounds { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; public class SaveFile extends EventDispatcher { private var _filename:String; private var _id:uint; private var _description:String; private var _contents; private var _loader:SmartURLLoader; private var _group:SaveGroup; private var _keys:Dictionary; private var _ratings:Dictionary; private var _fileUrl:String; private var _thumbnail:BitmapData; private var _thumbnailUrl:String; private var _authorId:uint; private var _authorName:String; private var _contentSize:uint; private var _locked:Boolean; private var _status:uint; private var duplicate_id:uint; private var _draft:Boolean; public static const STATUS_PRIVATE = 1; public static const STATUS_SHARED = 2; public static const STATUS_UNAPPROVED = 3; public static const STATUS_APPROVED = 4; public function SaveFile(_arg1:SaveGroup){ this._keys = new Dictionary(); this._ratings = new Dictionary(); this._group = _arg1; this._description = ""; } public function get name():String{ return (this._filename); } public function set name(_arg1:String):void{ this._filename = _arg1; } public function get id():uint{ return (this._id); } public function set id(_arg1:uint):void{ this._id = _arg1; } public function get description():String{ return (this._description); } public function set description(_arg1:String):void{ this._description = _arg1; } public function get contents(){ return (this._contents); } public function set contents(_arg1):void{ this._contents = _arg1; this._contentSize = 0; } public function get thumbnailUrl():String{ return (this._thumbnailUrl); } public function set thumbnailUrl(_arg1:String):void{ this._thumbnailUrl = _arg1; } public function get fileUrl():String{ return (this._fileUrl); } public function set fileUrl(_arg1:String):void{ this._fileUrl = _arg1; } public function get thumbnail():BitmapData{ return (this._thumbnail); } public function set thumbnail(_arg1:BitmapData):void{ if (this._thumbnail){ this._thumbnail.dispose(); }; this._thumbnail = _arg1.clone(); } public function loadThumbnail():Loader{ var _local1:Loader = new Loader(); if (this._thumbnailUrl){ _local1.load(new URLRequest(this._thumbnailUrl)); }; return (_local1); } public function get bytesLoaded():uint{ return ((this._loader) ? this._loader.bytesLoaded : this._contentSize); } public function get bytesTotal():uint{ return (this._contentSize); } public function get status():uint{ return (this._status); } function setStatus(_arg1:uint):void{ this._status = _arg1; } public function get groupId():uint{ return (this._group.id); } public function get groupName():String{ return (this._group.name); } public function get groupType():uint{ return (this._group.type); } public function get authorName():String{ return (this._authorName); } public function set authorName(_arg1:String):void{ this._authorName = _arg1; } public function get authorId():uint{ return (this._authorId); } public function set authorId(_arg1:uint):void{ this._authorId = _arg1; } public function get draft():Boolean{ return (this._draft); } public function set draft(_arg1:Boolean):void{ this._draft = _arg1; } public function get locked():Boolean{ return (this._locked); } public function get shared():Boolean{ return ((this._status == STATUS_SHARED)); } public function get isPrivate():Boolean{ return ((this._status == STATUS_PRIVATE)); } public function get isPublic():Boolean{ if (this.isPrivate){ return (false); }; if (((this._group.isType("SYSTEM")) || (this._group.isType("PRIVATE")))){ return (false); }; if (this._group.isType("PUBLIC")){ return (true); }; if (this.approved){ return (true); }; return (false); } public function get approved():Boolean{ return ((this._status > STATUS_UNAPPROVED)); } public function get keys():Dictionary{ return (this._keys); } public function get ratings():Dictionary{ return (this._ratings); } function setPermissions(_arg1:uint, _arg2:Boolean){ _arg2 = this._locked; this._status = _arg1; } function setFileSize(_arg1:uint):void{ this._contentSize = _arg1; } public function isLocked():Boolean{ return (this._locked); } public function getDescription():String{ return (this._description); } public function getShared():Boolean{ return (this._draft); } public function getDuplicateID():uint{ return (this.duplicate_id); } public function getKeys():Dictionary{ return (this._keys); } public function getRatings():Dictionary{ return (this._ratings); } public function setKey(_arg1, _arg2):void{ var _local3:SaveKey; if ((_arg1 is String)){ _local3 = this._group.getKeyName(_arg1); } else { _local3 = this._group.getKeyID(_arg1); }; if (_local3){ switch (_local3.type){ case SaveKey.TYPE_BOOLEAN: this._keys[_local3] = {id:_local3.id, value:Boolean(int(_arg2))}; break; case SaveKey.TYPE_FLOAT: this._keys[_local3] = {id:_local3.id, value:Number(_arg2)}; break; case SaveKey.TYPE_INTEGER: this._keys[_local3] = {id:_local3.id, value:int(_arg2)}; break; case SaveKey.TYPE_STRING: default: this._keys[_local3] = {id:_local3.id, value:_arg2.toString()}; break; }; }; } public function getKey(_arg1){ var _local2:SaveKey; if ((_arg1 is String)){ _local2 = this._group.getKeyName(_arg1); } else { _local2 = this._group.getKeyID(_arg1); }; if (_local2){ return (this._keys[_local2]); }; return (null); } public function setRating(_arg1, _arg2:Number, _arg3:Number):void{ var _local4:SaveRating; if ((_arg1 is String)){ _local4 = this._group.getRatingName(_arg1); } else { _local4 = this._group.getRatingID(_arg1); }; if (_local4){ this._ratings[_local4] = {id:_local4.id, name:_local4.name, votes:_arg2, score:_arg3}; }; } public function getRating(_arg1):Object{ var _local2:SaveRating; if ((_arg1 is String)){ _local2 = this._group.getRatingName(_arg1); } else { _local2 = this._group.getRatingID(_arg1); }; if (_local2){ return (this._ratings[_local2]); }; return (null); } public function sendRating(_arg1:String, _arg2:Number):void{ var _local3:SaveRating = this._group.getRatingName(_arg1); if (!_local3){ trace((("[NewgroundsAPISaveFile] " + _arg1) + " is not a recognized save file")); return; }; if ((((_arg2 < _local3.minValue)) || ((_arg2 > _local3.maxValue)))){ trace(((("[NewgroundsAPISaveFile] Vote must be between " + _local3.minValue) + " and ") + _local3.maxValue)); return; }; _local3.voted = true; API.rateSaveFile(this, _local3, _arg2); } override public function toString():String{ var _local2:Object; var _local3:Object; var _local1 = (((((("Save File " + this._filename) + " ID: ") + this._id) + "\n ") + this._description) + "\n"); for each (_local2 in this._keys) { _local1 = (_local1 + ((((" " + this._group.getKeyID(_local2.id).name) + ": ") + _local2.val) + "\n")); }; for each (_local3 in this._ratings) { _local1 = (_local1 + ((((((" " + this._group.getRatingID(_local3.id).name) + "\n Score: ") + _local3.score) + " Votes: ") + _local3.votes) + "\n")); }; return (_local1); } public function toObject():Object{ var _local2:Object; var _local1:Object = {group:this.groupId, filename:this.name, description:this.description, shared:true}; _local1.keys = []; for each (_local2 in this._keys) { _local1.keys.push({id:_local2.id, value:_local2.val}); }; return (_local1); } public function save(_arg1:Boolean=false, _arg2:Boolean=false):void{ API.saveFile(this, _arg1, _arg2); } public function loadContents():void{ if (this._fileUrl){ this._loader = new SmartURLLoader(); this._loader.responseFormat = URLLoaderDataFormat.BINARY; this._loader.addEventListener(Event.COMPLETE, this.onContentsLoaded); this._loader.addEventListener(IOErrorEvent.IO_ERROR, this.onContentsError); this._loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onContentsError); this._loader.load(this._fileUrl); }; } private function onContentsError(_arg1:Event):void{ this._loader = null; dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, false)); API.callListener(APIEvent.FILE_LOADED, false); } private function onContentsLoaded(_arg1:Event):void{ var _local2:ByteArray = _arg1.target.response; this._contentSize = _local2.length; _local2.uncompress(); var _local3:uint = _local2.readUnsignedByte(); if (_local3 == 0){ this._contents = new ByteArray(); this._contents.writeBytes(_local2, 1); } else { this._contents = _local2.readObject(); }; this._loader = null; dispatchEvent(new APIEvent(APIEvent.FILE_LOADED, true, {file:this})); API.callListener(APIEvent.FILE_LOADED, true, {file:this}); } public function loadAuthorPage(){ API.loadUserPage(this._authorId, this._authorName); } function fileSaved(_arg1:Object):void{ this._id = _arg1.save_id; this._thumbnailUrl = _arg1.thumbnail; this._fileUrl = _arg1.file_url; } } }//package com.newgrounds
Section 80
//SaveGroup (com.newgrounds.SaveGroup) package com.newgrounds { public class SaveGroup { private var _name:String; private var _id:uint; private var _type:uint; private var _keys:Array; private var _ratings:Array; private var _files:Array; private var _query:SaveGroupQuery; public static const TYPE_SYSTEM:uint = 0; public static const TYPE_PRIVATE:uint = 1; public static const TYPE_PUBLIC:uint = 2; public static const TYPE_MODERATED:uint = 3; public static const KEY_TYPES:Array = [null, "float", "integer", "string", "boolean"]; public static const TYPES:Object = {SYSTEM:0, PRIVATE:1, PUBLIC:2, MODERATED:3}; public function SaveGroup(_arg1:uint, _arg2:String, _arg3:uint){ this._name = _arg2; this._id = _arg1; this._type = _arg3; this._ratings = []; this._keys = []; this._files = []; this._query = new SaveGroupQuery(this); } public function get name():String{ return (this._name); } public function get id():uint{ return (this._id); } public function get type():uint{ return (this._type); } public function get keys():Array{ return (this._keys); } public function get ratings():Array{ return (this._ratings); } public function get group_id():uint{ return (this._id); } public function get group_name():String{ return (this._name); } public function addRating(_arg1:SaveRating):void{ this._ratings.push(_arg1); } function getRating(_arg1):SaveRating{ var _local2:uint; while (_local2 < this._ratings.length) { if ((((((((_arg1 is uint)) || ((_arg1 is int)))) || ((_arg1 is Number)))) && ((this._ratings[_local2].rating_id == _arg1)))){ return (this._ratings[_local2]); }; if (this._ratings[_local2].name == _arg1){ return (this._ratings[_local2]); }; _local2++; }; return (null); } public function getRatingID(_arg1:uint):SaveRating{ var _local2:uint; while (_local2 < this._ratings.length) { if (this._ratings[_local2].id == _arg1){ return (this._ratings[_local2]); }; _local2++; }; return (null); } public function getRatingName(_arg1:String):SaveRating{ var _local2:uint; while (_local2 < this._ratings.length) { if (this._ratings[_local2].name == _arg1){ return (this._ratings[_local2]); }; _local2++; }; return (null); } public function addKey(_arg1:SaveKey):void{ this._keys.push(_arg1); } public function getKey(_arg1):SaveKey{ var _local2:uint; while (_local2 < this._keys.length) { if ((((((((_arg1 is Number)) || ((_arg1 is uint)))) || ((_arg1 is int)))) && ((this._keys[_local2].key_id == _arg1)))){ return (this._keys[_local2]); }; if (this._keys[_local2].key_name == _arg1){ return (this._keys[_local2]); }; _local2++; }; return (null); } public function getKeyID(_arg1:uint):SaveKey{ var _local2:uint; while (_local2 < this._keys.length) { if (this._keys[_local2].id == _arg1){ return (this._keys[_local2]); }; _local2++; }; return (null); } public function getKeyType(_arg1:String, _arg2:Boolean=false){ var _local3:SaveKey = this.getKey(_arg1); if (_local3){ return ((_arg2) ? KEY_TYPES[_local3.key_type] : _local3.key_type); }; return (null); } public function getKeyName(_arg1:String):SaveKey{ var _local2:uint; while (_local2 < this._keys.length) { if (this._keys[_local2].name == _arg1){ return (this._keys[_local2]); }; _local2++; }; return (null); } public function isType(_arg1:String):Boolean{ return ((TYPES[this._type] == _arg1)); } public function getID():uint{ return (this._id); } public function getName():String{ return (this._name); } public function getQuery(_arg1:Boolean=false){ return ((_arg1) ? this._query.toObject() : this._query); } public function newQuery():SaveGroupQuery{ return (new SaveGroupQuery(this)); } public function newFile():SaveFile{ return (new SaveFile(this)); } public function toString():String{ return ((((((("SaveGroup { name: " + this._name) + ", id: ") + this._id) + ", keys: ") + this._keys) + "}")); } public static function createFromObject(_arg1:Object):SaveGroup{ var _local4:Object; var _local5:Object; var _local2:SaveGroup = new SaveGroup(_arg1.group_id, _arg1.group_name, _arg1.group_type); var _local3:uint; while (_local3 < _arg1.keys.length) { _local4 = _arg1.keys[_local3]; _local2.addKey(new SaveKey(_local4.id, _local4.name, _local4.type)); _local3++; }; _local3 = 0; while (_local3 < _arg1.ratings.length) { _local5 = _arg1.ratings[_local3]; _local2.addRating(new SaveRating(_local5.id, _local5.name, _local5.float, _local5.min, _local5.max)); _local3++; }; return (_local2); } } }//package com.newgrounds
Section 81
//SaveGroupQuery (com.newgrounds.SaveGroupQuery) package com.newgrounds { import flash.events.*; public class SaveGroupQuery extends EventDispatcher { private var _group:SaveGroup; private var _groupBy:Array; private var _lookupKeys:Array; private var _lookupRatings:Array; private var _fileConditions:Array; private var _keyConditions:Array; private var _ratingConditions:Array; private var _sortConditions:Array; private var _page:uint; private var _resultsPerPage:uint; private var _randomizeResults:Boolean; private var _results:Array; public static const TABLE_FILES:uint = 1; public static const TABLE_KEYS:uint = 2; public static const TABLE_RATINGS:uint = 3; public static const FILE_ID:uint = 0; public static const AUTHOR_ID:uint = 1; public static const AUTHOR_NAME:uint = 2; public static const FILE_NAME:uint = 3; public static const CREATED_ON:uint = 4; public static const UPDATED_ON:uint = 5; public static const TOTAL_VIEWS:uint = 6; public static const FILE_STATUS:uint = 7; public static const SCORE:String = "score"; public static const TOTAL_VOTES:String = "votes"; public function SaveGroupQuery(_arg1:SaveGroup){ this._results = []; super(); this._group = _arg1; this.reset(); } public function clearCache():void{ this._results = []; } public function get group():SaveGroup{ return (this._group); } public function get groupId():uint{ return (this._group.id); } public function get resultsPerPage():uint{ return (this._resultsPerPage); } public function set resultsPerPage(_arg1:uint):void{ this._resultsPerPage = _arg1; } public function get page():uint{ return (this._page); } public function set page(_arg1:uint):void{ this._page = _arg1; } public function get randomized():Boolean{ return (this._randomizeResults); } public function set randomized(_arg1:Boolean):void{ this._randomizeResults = _arg1; } public function get results():Array{ return (this._results); } public function reset():void{ this._fileConditions = []; this._keyConditions = []; this._ratingConditions = []; this._sortConditions = []; this._groupBy = []; this._lookupKeys = []; this._lookupRatings = []; this._randomizeResults = false; this._resultsPerPage = 20; this._page = 1; this.clearCache(); } function getGroup():SaveGroup{ return (this._group); } function getGroupID():uint{ return (this._group.getID()); } public function includeKey(_arg1:String):void{ var _local2:SaveKey = this._group.getKeyName(_arg1); if (_local2){ this._lookupKeys.push(_local2.id); }; } public function isRandomized():Boolean{ return (this._randomizeResults); } public function includeRating(_arg1:String):void{ var _local2:SaveRating = this._group.getRatingName(_arg1); if (_local2){ this._lookupRatings.push(_local2.id); }; } public function excludeKey(_arg1:String):void{ var _local2:SaveKey = this._group.getKeyName(_arg1); var _local3:uint; while (_local3 < this._lookupKeys.length) { if (this._lookupKeys[_local3] == _local2.id){ this._lookupKeys.splice(_local3, 1); return; }; _local3++; }; } public function excludeRating(_arg1:String):void{ var _local2:SaveRating = this._group.getRatingName(_arg1); var _local3:uint; while (_local3 < this._lookupRatings.length) { if (this._lookupRatings[_local3] == _local2.id){ this._lookupRatings.splice(_local3, 1); return; }; _local3++; }; } public function groupBy(_arg1:uint):void{ this._groupBy.push({table:TABLE_FILES, field:_arg1}); } public function groupByRating(_arg1:String):void{ var _local2:SaveRating = this._group.getRatingName(_arg1); if (!_local2){ return; }; this._groupBy.push({table:TABLE_RATINGS, field:_local2.id}); } public function groupByKey(_arg1:String):void{ var _local2:SaveKey = this._group.getKeyName(_arg1); if (!_local2){ return; }; this._groupBy.push({table:TABLE_KEYS, field:_local2.id}); } public function addFileCondition(_arg1:uint, _arg2:String, _arg3):void{ this._fileConditions.push({field:_arg1, operator:_arg2, value:_arg3}); } public function addKeyCondition(_arg1:String, _arg2:String, _arg3):void{ var _local4:SaveKey = this._group.getKeyName(_arg1); if (!_local4){ return; }; if (!this.checkValue(_arg3, _local4.type)){ return; }; this._keyConditions.push({key_id:_local4.id, operator:_arg2, value:_arg3}); } public function addRatingCondition(_arg1:String, _arg2:String, _arg3, _arg4:String="score"):void{ var _local5:SaveRating = this._group.getRatingName(_arg1); if (!_local5){ return; }; this._ratingConditions.push({rating_id:_local5.id, operator:_arg2, value:_arg3, column:_arg4}); } private function addSortCondition(_arg1:uint, _arg2:uint, _arg3:Boolean=false, _arg4=null):void{ var _local5:Object = {table:_arg1, field:_arg2, desc:_arg3}; if (_arg4){ _local5.extra = _arg4; }; this._sortConditions.push(_local5); } public function sortOn(_arg1:uint, _arg2:Boolean=false):void{ this.addSortCondition(TABLE_FILES, _arg1, _arg2); } public function sortOnKey(_arg1:String, _arg2:Boolean=false):void{ this.addSortCondition(TABLE_KEYS, this._group.getKeyName(_arg1).id, _arg2); } public function sortOnRating(_arg1:String, _arg2:Boolean=false, _arg3:String="score"):void{ this.addSortCondition(TABLE_RATINGS, this._group.getRatingName(_arg1).id, _arg2, _arg3); } public function sortOnRatingScore(_arg1:String, _arg2:Boolean){ this.sortOnRating(_arg1, _arg2, SCORE); } public function sortOnRatingVotes(_arg1:String, _arg2:Boolean){ this.sortOnRating(_arg1, _arg2, TOTAL_VOTES); } public function setResultsPerPage(_arg1:uint){ this._resultsPerPage = _arg1; this.clearCache(); } public function setPage(_arg1:Number){ this._page = _arg1; this.clearCache(); } public function setRandomize(_arg1:Boolean):void{ this._randomizeResults = _arg1; } public function execute():void{ API.executeSaveQuery(this); } private function checkValue(_arg1, _arg2:uint):Boolean{ return (true); } function setResults(_arg1:Array):void{ this._results = _arg1; } override public function toString():String{ return (""); } public function toObject():Object{ var _local1:Object = {page:this._page, num_results:this._resultsPerPage}; if (this.isRandomized()){ _local1.randomize = 1; }; if (((this._fileConditions) && ((this._fileConditions.length > 0)))){ _local1.file_conditions = this._fileConditions; }; if (((this._keyConditions) && ((this._keyConditions.length > 0)))){ _local1.key_conditions = this._keyConditions; }; if (((this._ratingConditions) && ((this._ratingConditions.length > 0)))){ _local1.rating_conditions = this._ratingConditions; }; if (((this._sortConditions) && ((this._sortConditions.length > 0)))){ _local1.sort_conditions = this._sortConditions; }; if (((this._lookupKeys) && ((this._lookupKeys.length > 0)))){ _local1.lookup_keys = this._lookupKeys; }; if (((this._lookupRatings) && ((this._lookupRatings.length > 0)))){ _local1.lookup_ratings = this._lookupRatings; }; if (((this._groupBy) && ((this._groupBy.length > 0)))){ _local1.group_by = this._groupBy; }; return (_local1); } } }//package com.newgrounds
Section 82
//SaveKey (com.newgrounds.SaveKey) package com.newgrounds { public class SaveKey { private var _id:uint; private var _name:String; private var _type:uint; public static const TYPE_FLOAT:uint = 1; public static const TYPE_INTEGER:uint = 2; public static const TYPE_STRING:uint = 3; public static const TYPE_BOOLEAN:uint = 4; public function SaveKey(_arg1:uint, _arg2:String, _arg3:uint){ this._id = _arg1; this._name = _arg2; this._type = _arg3; } public function get id():uint{ return (this._id); } public function get name():String{ return (this._name); } public function get type():uint{ return (this._type); } public function get key_id():uint{ return (this._id); } public function get key_name():String{ return (this._name); } public function get key_type():uint{ return (this._type); } public function isValueValid(_arg1):Boolean{ if (this._type == TYPE_INTEGER){ return ((((_arg1 is int)) || ((_arg1 is uint)))); }; if (this._type == TYPE_FLOAT){ return ((((((_arg1 is int)) || ((_arg1 is uint)))) || ((_arg1 is Number)))); }; if (this._type == TYPE_STRING){ return ((_arg1 is String)); }; if (this._type == TYPE_BOOLEAN){ return ((((((((_arg1 is Boolean)) || ((_arg1 === 0)))) || ((_arg1 === 1)))) || ((_arg1 == "")))); }; return (false); } public function toString():String{ return (this._name); } } }//package com.newgrounds
Section 83
//SaveRating (com.newgrounds.SaveRating) package com.newgrounds { public class SaveRating { private var _id:uint; private var _name:String; private var _minValue:Number; private var _maxValue:Number; private var _isFloat:Boolean; private var _voted:Boolean; public function SaveRating(_arg1:uint, _arg2:String, _arg3:Boolean, _arg4:Number=-INF, _arg5:Number=INF){ this._id = _arg1; this._name = _arg2; this._isFloat = _arg3; this._minValue = _arg4; this._maxValue = _arg5; } public function get rating_id():uint{ return (this._id); } public function get rating_name():String{ return (this._name); } public function get id():uint{ return (this._id); } public function get name():String{ return (this._name); } public function get minValue():Number{ return (this._minValue); } public function get maxValue():Number{ return (this._maxValue); } public function get isFloat():Boolean{ return (this._isFloat); } public function get voted():Boolean{ return (this._voted); } public function set voted(_arg1:Boolean):void{ this._voted = _arg1; } public function toString():String{ return (this._name); } } }//package com.newgrounds
Section 84
//Score (com.newgrounds.Score) package com.newgrounds { public class Score { private var _board:ScoreBoard; private var _position:uint; private var _username:String; private var _value:String; private var _numeric_value:uint; private var _tag:String; public function Score(_arg1:ScoreBoard, _arg2:Number, _arg3:String, _arg4:String, _arg5:uint, _arg6:String){ this._board = _arg1; this._position = _arg2; this._username = _arg3; this._value = _arg4; this._numeric_value = _arg5; this._tag = _arg6; } public function get board():ScoreBoard{ return (this._board); } public function get position():uint{ return (this._position); } public function get username():String{ return (this._username); } public function get value():String{ return (this._value); } public function get numeric_value():uint{ return (this._numeric_value); } public function get tag():String{ return (this._tag); } } }//package com.newgrounds
Section 85
//ScoreBoard (com.newgrounds.ScoreBoard) package com.newgrounds { import flash.events.*; public class ScoreBoard extends EventDispatcher { private var _name:String; private var _id:uint; private var _scores:Array; private var _period:String;// = "Today" private var _num_results:uint;// = 10 private var _numScores:uint; private var _desiredNumResults:uint; private var _startRank:uint; private var _endRank:uint; private var _page:uint;// = 1 private var _tag:String; public function ScoreBoard(_arg1:uint, _arg2:String, _arg3:String){ this._name = _arg2; this._id = _arg1; this._scores = []; this._tag = _arg3; } public function exists():Boolean{ return ((this._id > 0)); } public function get id():Number{ return (this._id); } public function get name():String{ return (this._name); } public function get period():String{ return (this._period); } public function get page():uint{ return (this._page); } public function get num_results():uint{ return (this._num_results); } public function get scores():Array{ return (this._scores); } public function get tag():String{ return (this._tag); } public function get num_scores():uint{ return (this._numScores); } public function postScore(_arg1:uint, _arg2:String=null):void{ if (_arg2){ this._tag = _arg2; }; API.postScore(this._name, _arg1); } public function loadScores(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{ this._period = _arg1; if (((!(this._period)) || ((this._period == "")))){ this._period = ScoreBoardPeriod.TODAY; }; this._page = _arg2; this._num_results = _arg3; this._desiredNumResults = 0; API.loadScores(this.name); } public function loadScoresInRange(_arg1:String="Today", _arg2:uint=1, _arg3:uint=10):void{ if (_arg2 == 0){ _arg2 = 1; }; if (_arg3 < _arg2){ _arg3 = _arg2; }; this._period = _arg1; if (((!(this._period)) || ((this._period == "")))){ this._period = ScoreBoardPeriod.TODAY; }; this._desiredNumResults = ((_arg3 - _arg2) + 1); this._num_results = this._desiredNumResults; while (int(((_arg2 - 1) / this._num_results)) != int(((_arg3 - 1) / this._num_results))) { this._num_results++; }; this._page = ((_arg2 - 1) / this._num_results); this._startRank = _arg2; this._endRank = _arg3; this._page++; API.loadScores(this.name); } function setScores(_arg1:Array, _arg2:String, _arg3:Number, _arg4:Number, _arg5:uint):void{ var _local7:uint; this._period = _arg2; this._page = _arg3; this._num_results = _arg4; this._numScores = _arg5; this._scores = []; var _local6:uint; while (_local6 < _arg1.length) { _local7 = (((this._num_results * (this._page - 1)) + 1) + _local6); if (((!(this._desiredNumResults)) || ((((_local7 >= this._startRank)) && ((_local7 <= this._endRank)))))){ this._scores.push(new Score(this, _local7, _arg1[_local6].username, _arg1[_local6].value, _arg1[_local6].numeric_value, _arg1[_local6].tag)); }; _local6++; }; this._num_results = this._scores.length; } } }//package com.newgrounds
Section 86
//ScoreBoardPeriod (com.newgrounds.ScoreBoardPeriod) package com.newgrounds { public class ScoreBoardPeriod { public static const TODAY:String = "Today"; public static const WEEK:String = "This Week"; public static const MONTH:String = "This Month"; public static const YEAR:String = "This Year"; public static const ALL_TIME:String = "All-Time"; } }//package com.newgrounds
Section 87
//SmartURLLoader (com.newgrounds.SmartURLLoader) package com.newgrounds { import flash.events.*; import flash.utils.*; import flash.net.*; import flash.errors.*; public class SmartURLLoader extends EventDispatcher { private var _variables:Dictionary; private var _files:Dictionary; private var _hasVariables:Boolean; private var _method:String;// = "GET" private var _urlRequest:URLRequest; private var _urlLoader:URLLoader; private var _dataFormat:String;// = "text" private var _openBrowser:Boolean;// = false private var _preventCache:Boolean;// = false var _command:String; public var owner; private static const CRLF:String = " "; private static var _loaders:Dictionary = new Dictionary(); public function SmartURLLoader(){ this._urlRequest = new URLRequest(); this._variables = new Dictionary(); } public function get responseFormat():String{ return (this._dataFormat); } public function set responseFormat(_arg1:String):void{ this._dataFormat = _arg1; } public function get response(){ return (this._urlLoader.data); } public function get hasFiles():Boolean{ return (Boolean(this._files)); } public function get method():String{ return (this._method); } public function set method(_arg1:String):void{ if (((this.hasFiles) && ((_arg1 == URLRequestMethod.GET)))){ throw (new IllegalOperationError("GET cannot be used to upload files.")); }; this._method = _arg1; } public function get openBrowser():Boolean{ return (this._openBrowser); } public function set openBrowser(_arg1:Boolean):void{ this._openBrowser = _arg1; } public function get preventCache():Boolean{ return (this._preventCache); } public function set preventCache(_arg1:Boolean):void{ this._preventCache = _arg1; } public function get bytesLoaded():uint{ return ((this._urlLoader) ? this._urlLoader.bytesLoaded : 0); } public function get bytesTotal():uint{ return ((this._urlLoader) ? this._urlLoader.bytesTotal : 0); } public function addVariable(_arg1:String, _arg2=""):void{ this._variables[_arg1] = _arg2; if (_arg2){ this._hasVariables = true; }; } public function addFile(_arg1:String, _arg2:ByteArray, _arg3:String, _arg4:String="application/octet-stream"):void{ this.method = URLRequestMethod.POST; if (!this._files){ this._files = new Dictionary(); }; this._files[_arg1] = new File(_arg1, _arg2, _arg3, _arg4); } public function clearVariables():void{ this._variables = new Dictionary(); } public function clearFiles():void{ this._files = null; } public function load(_arg1:String):void{ var urlVariables:URLVariables; var key:String; var boundary:String; var i:uint; var event:SecurityErrorEvent; var url = _arg1; this._urlRequest.url = url; if (this._preventCache){ url = (url + ("?seed=" + Math.random())); if (this._hasVariables){ url = (url + "&"); }; }; this._urlRequest.method = this._method; if ((((this._urlRequest.method == URLRequestMethod.GET)) || (!(this.hasFiles)))){ this._urlRequest.contentType = "application/x-www-form-urlencoded"; if (this._hasVariables){ urlVariables = new URLVariables(); for (key in this._variables) { urlVariables[key] = this._variables[key]; }; this._urlRequest.data = urlVariables; }; } else { boundary = ""; i = 0; while (i < 32) { boundary = (boundary + String.fromCharCode(uint((97 + (Math.random() * 25))))); i = (i + 1); }; this._urlRequest.contentType = (("multipart/form-data; boundary=\"" + boundary) + "\""); this._urlRequest.data = this.buildMultipartData(boundary); }; if (this.openBrowser){ navigateToURL(this._urlRequest, "_blank"); } else { this._urlLoader = new URLLoader(); this._urlLoader.dataFormat = this._dataFormat; this._urlLoader.addEventListener(Event.COMPLETE, this.onComplete); this._urlLoader.addEventListener(ProgressEvent.PROGRESS, this.onProgress); this._urlLoader.addEventListener(IOErrorEvent.IO_ERROR, this.onIOError); this._urlLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus); this._urlLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError); _loaders[this._urlLoader] = this; try { this._urlLoader.load(this._urlRequest); } catch(error:Error) { event = new SecurityErrorEvent(SecurityErrorEvent.SECURITY_ERROR, false, false, error.message); onSecurityError(event); }; }; } public function close():void{ try { this._urlLoader.close(); } catch(e:Error) { }; } public function dispose():void{ this.close(); this._files = null; this._variables = null; if (this._urlLoader){ this._urlLoader.removeEventListener(Event.COMPLETE, this.onComplete); this._urlLoader.removeEventListener(ProgressEvent.PROGRESS, this.onProgress); this._urlLoader.removeEventListener(IOErrorEvent.IO_ERROR, this.onIOError); this._urlLoader.removeEventListener(HTTPStatusEvent.HTTP_STATUS, this.onHTTPStatus); this._urlLoader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, this.onSecurityError); this._urlLoader = null; }; this._urlRequest = null; delete _loaders[this]; } private function buildMultipartData(_arg1:String):ByteArray{ var _local3:String; var _local4:File; var _local2:ByteArray = new ByteArray(); _local2.endian = Endian.BIG_ENDIAN; _arg1 = ("--" + _arg1); for (_local3 in this._variables) { _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(((("Content-Disposition: form-data; name=\"" + _local3) + "\"") + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeUTFBytes((this._variables[_local3] + CRLF)); }; if (this.hasFiles){ for each (_local4 in this._files) { _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Filename\"" + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeUTFBytes((_local4.fileName + CRLF)); _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(((((("Content-Disposition: form-data; name=\"" + _local4.dataField) + "\"; filename=\"") + _local4.fileName) + "\"") + CRLF)); _local2.writeUTFBytes((("Content-Type: " + _local4.contentType) + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeBytes(_local4.data); _local2.writeUTFBytes(CRLF); }; _local2.writeUTFBytes((_arg1 + CRLF)); _local2.writeUTFBytes(("Content-Disposition: form-data; name=\"Upload\"" + CRLF)); _local2.writeUTFBytes(CRLF); _local2.writeUTFBytes(("Submit Query" + CRLF)); }; _local2.writeUTFBytes((_arg1 + "--")); _local2.position = 0; _local2.position = 0; return (_local2); } private function onComplete(_arg1:Event):void{ dispatchEvent(_arg1); this.dispose(); } private function onProgress(_arg1:ProgressEvent):void{ dispatchEvent(_arg1); } private function onIOError(_arg1:IOErrorEvent):void{ dispatchEvent(_arg1); this.dispose(); } private function onSecurityError(_arg1:SecurityErrorEvent):void{ dispatchEvent(_arg1); this.dispose(); } private function onHTTPStatus(_arg1:HTTPStatusEvent):void{ dispatchEvent(_arg1); } public static function closeAll():void{ var _local1:SmartURLLoader; for each (_local1 in _loaders) { if (_local1){ _local1.dispose(); }; }; _loaders = new Dictionary(); } } }//package com.newgrounds import flash.utils.*; class File { private var fileName:String; private var data:ByteArray; private var dataField:String; private var contentType:String; private function File(_arg1:String, _arg2:ByteArray, _arg3:String="Filedata", _arg4:String="application/octet-stream"){ this.fileName = _arg1; this.data = _arg2; this.dataField = _arg3; this.contentType = _arg4; } }
Section 88
//Barrier (drops.Barrier) package drops { import levels.*; public class Barrier extends Drop { public var value:Number; public function Barrier(x:Number, y:Number){ addFrameScript(0, frame1, 14, frame15); super(x, y, Infinity, NaN); } function frame15(){ kill(); } function frame1(){ stop(); } override public function getItem(){ (root as Main).makeSound("shield", "i"); gotoAndPlay("die"); (parent as Level).player.getShield(); } } }//package drops
Section 89
//Buff (drops.Buff) package drops { import levels.*; public class Buff extends Drop { public function Buff(x:Number, y:Number){ addFrameScript(0, frame1, 14, frame15); super(x, y, Infinity, NaN); } function frame15(){ kill(); } function frame1(){ stop(); } override public function getItem(){ (root as Main).makeSound("buff", "i"); gotoAndPlay("die"); (parent as Level).player.getBuff(); } } }//package drops
Section 90
//Drop (drops.Drop) package drops { import flash.display.*; import levels.*; import players.*; public class Drop extends MovieClip { public var dead:Boolean;// = false public var yspeed:Number;// = 2 public var taken:Boolean;// = false public var xspeed:Number;// = 0 var xness:Number;// = 1 public function Drop(x:Number, y:Number, angle:Number=INF, speed:Number=NaN){ xspeed = 0; yspeed = 2; taken = false; dead = false; xness = 1; super(); if (angle != Infinity){ angle = (angle * (Math.PI / 180)); this.xspeed = (Math.cos(angle) * speed); this.yspeed = ((Math.random() * 5) + 1); }; this.x = x; this.y = y; Global.vars.dropArray.push(this); cacheAsBitmap = true; } function hitStuff(){ if ((((parent as Level).player.hitTestPoint(this.x, this.y)) && (!(taken)))){ cacheAsBitmap = false; taken = true; getItem(); yspeed = 0; xspeed = 0; }; } public function kill(){ dead = true; taken = true; Global.vars.dropArray.splice(Global.vars.dropArray.indexOf(this), 1); stop(); parent.removeChild(this); } public function getItem(){ } public function onFrame(){ if (!taken){ x = (x + xspeed); y = (y + yspeed); }; yspeed = (yspeed + 0.05); xness = ((parent as Level).player.x - this.x); if ((((xness > -50)) && ((xness <= 0)))){ xness = -200; }; if ((((xness < 50)) && ((xness > 0)))){ xness = 200; }; if (this.y < (parent as Level).player.y){ xspeed = (xspeed + (((800 * (parent as Level).player.magnet) / xness) / (((parent as Level).player.y - this.y) + 20))); xspeed = (xspeed * 0.92); } else { xspeed = (xspeed * 0.96); }; if (y > ((parent as Level).ylimit + 30)){ kill(); } else { hitStuff(); }; } } }//package drops
Section 91
//Heart (drops.Heart) package drops { import levels.*; public class Heart extends Drop { public var value:Number; public function Heart(x:Number, y:Number){ addFrameScript(0, frame1, 14, frame15); super(x, y, Infinity, NaN); } function frame15(){ kill(); } function frame1(){ stop(); } override public function getItem(){ (root as Main).makeSound("heart", "i"); gotoAndPlay("die"); (parent as Level).player.getHeart(); } } }//package drops
Section 92
//Money (drops.Money) package drops { import levels.*; public class Money extends Drop { public var value:Number; public function Money(x:Number, y:Number, type:Number, angle:Number=INF, speed:Number=NaN){ addFrameScript(17, frame18); super(x, y, angle, speed); if (type == 1){ value = 1; gotoAndStop(1); }; if (type == 2){ value = 2; gotoAndStop(2); }; if (type == 3){ value = 5; gotoAndStop(3); }; if (type == 4){ value = 10; gotoAndStop(4); }; if (type == 5){ value = 20; gotoAndStop(5); }; if (type == 6){ value = 30; gotoAndStop(6); }; if (type == 7){ value = 50; gotoAndStop(7); }; this.alpha = 0.55; } function frame18(){ kill(); } override public function getItem(){ (root as Main).makeSound("money", "i"); gotoAndPlay("die"); (parent as Level).addMoney(value); } } }//package drops
Section 93
//BigBrick (foes.BigBrick) package foes { public class BigBrick extends Foe { var decel:Number; public function BigBrick(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 5, frame6); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(Infinity); score = 0; money = 0; dropRate = 0; dropChance = 0; cutoff = 100; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } } }//package foes
Section 94
//BigBush (foes.BigBush) package foes { import bullets.*; public class BigBush extends Foe { var decel:Number; public function BigBush(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 20, frame21); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(20); score = 200; money = 2; dropRate = 1; dropChance = 0.1; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("bush2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("bush", "f"); } function frame21(){ if (this){ kill(); }; } override function special():Boolean{ if ((t % delay) == 0){ parent.addChild(new LeafBullet(x, y, NaN, NaN, (Math.random() * 360), 3)); }; return (false); } } }//package foes
Section 95
//BigLog (foes.BigLog) package foes { import levels.*; public class BigLog extends Foe { var b:Number;// = 3 public function BigLog(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ b = 3; addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 11, frame12); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(12); score = 100; money = 2; dropRate = 0.7; deathSpin = false; dropChance = 0; } function frame12(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override public function death(){ (parent as Level).addFoe(new LeftLog(x, y, -1, yspeed)); (parent as Level).addFoe(new RightLog(x, y, 1, yspeed)); } function frame2(){ (root as Main).makeSound("log", "f"); } function frame8(){ (root as Main).makeSound("log2", "f"); } } }//package foes
Section 96
//BigRock (foes.BigRock) package foes { import levels.*; public class BigRock extends Foe { var b:Number;// = 3 public function BigRock(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ b = 3; addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 11, frame12); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(40); score = 200; money = 3; dropRate = 0.8; dropChance = 0.1; deathSpin = false; } function frame12(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override public function death(){ (parent as Level).addFoe(new MediumRock(((x + (Math.random() * 50)) - 25), ((y + (Math.random() * 50)) - 25), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new SmallRock(((x + (Math.random() * 20)) - 10), ((y + (Math.random() * 10)) - 5), (Math.random() * 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new SmallRock(((x + (Math.random() * 40)) - 20), ((y + (Math.random() * 40)) - 20), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new TinyRock(((x + (Math.random() * 40)) - 20), ((y + (Math.random() * 40)) - 20), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); } function frame2(){ (root as Main).makeSound("rock3", "f"); } function frame8(){ (root as Main).makeSound("rock2", "f"); } } }//package foes
Section 97
//BigShrub (foes.BigShrub) package foes { import bullets.*; public class BigShrub extends Foe { var decel:Number; var p:Number;// = 0 var q:Number;// = 0 public function BigShrub(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; q = 0; addFrameScript(0, frame1, 1, frame2, 6, frame7, 7, frame8, 21, frame22); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(1100); score = 4000; money = 4; dropRate = 8; cutoff = 100; } function frame7(){ if (!dead){ gotoAndStop(1); }; } function frame22(){ if (this){ kill(); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("bush", "f"); } function frame8(){ (root as Main).makeSound("bush2", "f"); } override function special():Boolean{ parent.addChild(new FlameBullet(x, (y + 10), NaN, NaN, p, 4)); parent.addChild(new FlameBullet(x, (y + 10), NaN, NaN, -(p), 4)); p = (p + q); q = (q + 0.1); if ((t % 3) == 0){ parent.addChild(new FlameBullet(x, (y + 10), NaN, NaN, ((getAngle(x, y) + (Math.random() * 30)) - 15), 5)); }; return (false); } } }//package foes
Section 98
//BigSlime (foes.BigSlime) package foes { import bullets.*; public class BigSlime extends Foe { public function BigSlime(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(900); score = 2500; money = 4; dropRate = 8; cutoff = 100; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("slime2", "f"); } function frame1(){ stop(); } override public function death(){ var a:Number; a = 0; while (a < 60) { parent.addChild(new SmallRedBullet(x, (y + 40), NaN, NaN, (Math.random() * 360), (3 + (Math.random() * 3)))); a++; }; } function frame2(){ (root as Main).makeSound("slime", "f"); } override function special():Boolean{ if ((t % delay) < 6){ parent.addChild(new SmallRedBullet(x, (y + 40), NaN, NaN, ((getAngle(x, y) + (Math.random() * 90)) - 45), (2 + (t % delay)))); parent.addChild(new SmallRedBullet(x, (y + 40), NaN, NaN, ((getAngle(x, y) + (Math.random() * 90)) - 45), (2 + ((t % delay) / 2)))); }; return (false); } } }//package foes
Section 99
//Bird (foes.Bird) package foes { import bullets.*; public class Bird extends Foe { var decel:Number; public function Bird(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 5, frame6, 6, frame7, 20, frame21); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(55); score = 300; money = 3; dropRate = 5; dropChance = 0.05; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("bird", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("shroom", "f"); } function frame21(){ if (this){ kill(); }; } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new YellowBullet2(x, (y + 10), NaN, NaN, ((getAngle(x, y) + (Math.random() * 60)) - 30), 5)); }; return (false); } } }//package foes
Section 100
//BlueJelly (foes.BlueJelly) package foes { import bullets.*; public class BlueJelly extends Foe { var decel:Number; public function BlueJelly(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(14); score = 150; money = 3; dropRate = 0.5; dropChance = 0.02; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("slime2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("slime", "f"); } override function special():Boolean{ if ((t % type) < 3){ parent.addChild(new BlueBullet(x, y, NaN, NaN, ((getAngle(x, y) + (Math.random() * 40)) - 20), (4 + Math.random()))); }; return (false); } } }//package foes
Section 101
//BossBot (foes.BossBot) package foes { import levels.*; import bullets.*; public class BossBot extends Foe { var decel:Number; var halt:Boolean;// = true var b:Number;// = 1 var m:Number;// = 1 var p:Number;// = 0 var o:Number;// = 0 public function BossBot(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; o = 0; b = 1; m = 1; halt = true; addFrameScript(0, frame1, 1, frame2, 6, frame7, 7, frame8, 32, frame33); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(5000); this.boom = true; score = 40000; money = 5; dropRate = 20; dropChance = 1; cutoff = 150; deathSpin = false; } function frame7(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override public function death(){ (parent as Level).addFoe(new LazorBot(x, y, 8, 0, 2, 20)); (parent as Level).addFoe(new LazorBot(x, y, 5, 0, 2, 20)); (parent as Level).addFoe(new LazorBot(x, y, -8, 0, 2, 20)); (parent as Level).addFoe(new LazorBot(x, y, -5, 0, 2, 20)); } function frame2(){ (root as Main).makeSound("metal", "f"); } function frame33(){ if (this){ kill(); }; } function frame8(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ if ((t % 30) == 0){ (parent as Level).addFoe(new Missile(((Math.random() * 450) + 25), -48, 0, 6)); }; if ((t % 6) == 0){ parent.addChild(new RedLazor((x + 0), (y - 30), NaN, NaN, getAngle(x, y), 5)); parent.addChild(new RedLazor((x + 0), (y + 55), NaN, NaN, getAngle(x, y), 5)); parent.addChild(new RedLazor((x - 40), (y + 15), NaN, NaN, getAngle(x, y), 5)); parent.addChild(new RedLazor((x + 40), (y + 15), NaN, NaN, getAngle(x, y), 5)); }; return (false); } } }//package foes
Section 102
//BossBush (foes.BossBush) package foes { import bullets.*; public class BossBush extends Foe { var decel:Number; var p:Number;// = 0 public function BossBush(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 21, frame22); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(300); score = 5000; money = 3; dropRate = 10; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame22(){ if (this){ kill(); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("bush", "f"); } function frame8(){ (root as Main).makeSound("bush2", "f"); } override function special():Boolean{ parent.addChild(new LeafBullet((x + 50), (y - 80), NaN, NaN, p, 4)); parent.addChild(new LeafBullet((x - 50), (y - 80), NaN, NaN, -(p), 4)); p = (p + 7); if ((t % 30) == 0){ parent.addChild(new LeafBullet(((x + (Math.random() * 80)) - 40), ((y + (Math.random() * 80)) - 40), NaN, NaN, ((getAngle(x, y) + (Math.random() * 10)) - 5), 6)); }; return (false); } } }//package foes
Section 103
//Bush (foes.Bush) package foes { import bullets.*; public class Bush extends Foe { var decel:Number; public function Bush(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(3); score = 50; money = 1; dropRate = 0.6; dropChance = 0.04; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("bush2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("bush", "f"); } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new LeafBullet(x, y, NaN, NaN, getAngle(x, y), 3)); }; return (false); } } }//package foes
Section 104
//Butterfly (foes.Butterfly) package foes { import bullets.*; public class Butterfly extends Foe { var decel:Number; public function Butterfly(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 5, frame6, 6, frame7, 20, frame21); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(15); score = 150; money = 3; dropRate = 1; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("bug2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("bug", "f"); } function frame21(){ if (this){ kill(); }; } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new PurpleBall(x, y, NaN, NaN, getAngle(x, y), 5)); }; return (false); } } }//package foes
Section 105
//Cactus (foes.Cactus) package foes { import bullets.*; public class Cactus extends Foe { var decel:Number; public function Cactus(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(120); score = 300; money = 5; dropRate = 1; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override public function death(){ var a:int; a = 2; while (a > 0) { parent.addChild(new SpikeBullet(x, y, NaN, NaN, (Math.random() * 360), (3 + (Math.random() * 3)))); a--; }; a = 6; while (a > 0) { parent.addChild(new PinkBullet(x, y, 0, ((Math.random() * 3) + 1))); a--; }; } function frame2(){ (root as Main).makeSound("log", "f"); } function frame8(){ (root as Main).makeSound("log2", "f"); } override function special():Boolean{ if ((t % delay) == 0){ parent.addChild(new SpikeBullet(x, y, NaN, NaN, (Math.random() * 360), 6)); }; return (false); } } }//package foes
Section 106
//CatRam (foes.CatRam) package foes { import levels.*; import bullets.*; public class CatRam extends Foe { public function CatRam(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 5, frame6, 7, frame8, 35, frame36); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(33); score = 100; money = 3; dropRate = 1; deathSpin = false; } function frame3(){ (root as Main).makeSound("fort", "f"); } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ kitten = (Math.floor((Math.random() * 6)) + 1); } override public function death(){ (parent as Level).addFoe(new Kitten(x, y, ((xspeed + (Math.random() * 4)) - 2), yspeed, 0, 0)); (parent as Level).addFoe(new Kitten(x, y, ((xspeed + (Math.random() * 4)) - 2), yspeed, 0, 0)); (parent as Level).addFoe(new Kitten(x, y, xspeed, (yspeed + 1), 0, 0)); } function frame2(){ stop(); } function frame36(){ if (this){ kill(); }; } function frame8(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new SmallRedBullet(x, y, NaN, NaN, getAngle(x, y), 5)); parent.addChild(new SmallRedBullet(x, y, NaN, NaN, (getAngle(x, y) + 10), 5)); parent.addChild(new SmallRedBullet(x, y, NaN, NaN, (getAngle(x, y) - 10), 5)); }; return (false); } } }//package foes
Section 107
//Coral (foes.Coral) package foes { import bullets.*; public class Coral extends Foe { var decel:Number; var p:Number;// = 0 public function Coral(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; addFrameScript(0, frame1, 1, frame2, 6, frame7, 7, frame8, 20, frame21); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(1200); score = 10000; money = 5; dropRate = 10; cutoff = 100; } function frame7(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("coral", "f"); } function frame8(){ (root as Main).makeSound("coral2", "f"); } function frame21(){ if (this){ kill(); }; } override function special():Boolean{ if ((t % delay) == 0){ parent.addChild(new YellowBall(x, y, NaN, NaN, ((getAngle(x, y) + (Math.random() * 20)) - 10), 15, 4, true)); }; return (false); } } }//package foes
Section 108
//CrossBomb (foes.CrossBomb) package foes { import bullets.*; public class CrossBomb extends Foe { public function CrossBomb(a:Number, b:Number, c:Number, d:Number){ addFrameScript(0, frame1, 1, frame2, 6, frame7, 7, frame8, 10, frame11); super(a, b, c, d); setHP(60); this.boom = true; score = 0; money = 0; dropRate = 0; dropChance = 0; } function frame7(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override public function death(){ var a:Number; a = 0; while (a < 7) { parent.addChild(new YellowBullet(x, y, NaN, NaN, ((0 + (Math.random() * 20)) - 10), (3 + (Math.random() * 5)))); parent.addChild(new YellowBullet(x, y, NaN, NaN, ((90 + (Math.random() * 20)) - 10), (3 + (Math.random() * 5)))); parent.addChild(new YellowBullet(x, y, NaN, NaN, ((180 + (Math.random() * 20)) - 10), (3 + (Math.random() * 5)))); parent.addChild(new YellowBullet(x, y, NaN, NaN, ((270 + (Math.random() * 20)) - 10), (3 + (Math.random() * 5)))); a++; }; } function frame11(){ if (this){ kill(); }; } function frame2(){ (root as Main).makeSound("metal", "f"); } function frame8(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ if (this.y > player.y){ return (true); }; return (false); } } }//package foes
Section 109
//DeadCat (foes.DeadCat) package foes { public class DeadCat extends Foe { public function DeadCat(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 20, frame21); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(15); score = 100; money = 4; dropRate = 0.7; cutoff = 100; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("eye", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("eye", "f"); } function frame21(){ if (this){ kill(); }; } } }//package foes
Section 110
//Demon (foes.Demon) package foes { import bullets.*; public class Demon extends Foe { public function Demon(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 5, frame6, 6, frame7, 31, frame32); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(550); score = 1000; money = 6; dropRate = 4; dropChance = 0.04; cutoff = 100; deathSpin = false; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("demon2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("demon", "f"); } function frame32(){ if (this){ kill(); }; } override function special():Boolean{ if (((t % type) * 2) == 0){ parent.addChild(new OrangeBullet((x - 20), (y + 30), NaN, NaN, ((90 + (Math.random() * 30)) - 15), 3)); parent.addChild(new OrangeBullet((x - 20), (y + 30), NaN, NaN, ((90 + (Math.random() * 30)) - 15), 3)); parent.addChild(new DemonBullet((x - 20), (y + 30), NaN, NaN, ((90 + (Math.random() * 30)) - 15), 4)); }; if (((t % type) * 2) == type){ parent.addChild(new OrangeBullet((x + 20), (y + 30), NaN, NaN, ((90 + (Math.random() * 30)) - 15), 3)); parent.addChild(new OrangeBullet((x + 20), (y + 30), NaN, NaN, ((90 + (Math.random() * 30)) - 15), 3)); parent.addChild(new DemonBullet((x + 20), (y + 30), NaN, NaN, ((90 + (Math.random() * 30)) - 15), 4)); }; return (false); } } }//package foes
Section 111
//DoubleBrick (foes.DoubleBrick) package foes { public class DoubleBrick extends Foe { var decel:Number; public function DoubleBrick(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 5, frame6); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(Infinity); score = 0; money = 0; dropRate = 0; dropChance = 0; cutoff = 100; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } } }//package foes
Section 112
//EyeBall (foes.EyeBall) package foes { import bullets.*; public class EyeBall extends Foe { var decel:Number; public function EyeBall(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 15, frame16); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(20); score = 200; money = 4; dropRate = 0.5; dropChance = 0.02; } function frame16(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("eye2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("eye", "f"); } override function special():Boolean{ if ((t % type) < 3){ parent.addChild(new OrangeLazor(x, y, NaN, NaN, getAngle(x, y), (5 + (t % type)))); }; return (false); } } }//package foes
Section 113
//EyeBit (foes.EyeBit) package foes { import bullets.*; public class EyeBit extends Foe { var b:Number; public function EyeBit(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 3, frame4, 6, frame7, 14, frame15); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(40); score = 0; money = 3; dropRate = 2; } function frame15(){ if (this){ kill(); }; } function frame4(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("rock3", "f"); } function frame1(){ stop(); } override public function death(){ var a:int; a = 8; while (a > 0) { parent.addChild(new OrangeBullet(x, y, NaN, NaN, (Math.random() * 360), (3 + (Math.random() * 3)))); a--; }; } function frame2(){ (root as Main).makeSound("rock4", "f"); } override function special():Boolean{ return (false); } } }//package foes
Section 114
//EyeGuy (foes.EyeGuy) package foes { import levels.*; import bullets.*; public class EyeGuy extends Foe { var b:Number; public function EyeGuy(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 14, frame15); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(240); score = 600; money = 5; dropRate = 2; cutoff = 100; } function frame15(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("rock2", "f"); } function frame1(){ stop(); } override public function death(){ (parent as Level).addFoe(new EyeBit((x + 50), y, (xspeed + (Math.random() * 2)), ((yspeed + 2) + (Math.random() * 4)), 0, 0)); (parent as Level).addFoe(new EyeBit((x - 50), y, (xspeed - (Math.random() * 2)), ((yspeed + 2) + (Math.random() * 4)), 0, 0)); (parent as Level).addFoe(new EyeBit(x, (y + 50), ((xspeed + (Math.random() * 4)) - 2), ((yspeed + 2) + (Math.random() * 2)), 0, 0)); (parent as Level).addFoe(new EyeBit(x, (y - 50), ((xspeed + (Math.random() * 4)) - 2), (yspeed + (Math.random() * 2)), 0, 0)); } function frame2(){ (root as Main).makeSound("rock3", "f"); } override function special():Boolean{ if ((t % 4) == 0){ parent.addChild(new OrangeBullet(x, y, NaN, NaN, ((getAngle(x, y) + (Math.random() * 90)) - 45), 5)); }; return (false); } } }//package foes
Section 115
//FaceBot (foes.FaceBot) package foes { import bullets.*; public class FaceBot extends Foe { public function FaceBot(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 6, frame7, 7, frame8, 32, frame33); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(900); score = 2500; money = 7; dropRate = 3; dropChance = 0.1; cutoff = 100; deathSpin = false; } function frame7(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("metal", "f"); } function frame33(){ if (this){ kill(); }; } function frame8(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ if ((t % type) < 30){ parent.addChild(new RedBullet((x + 20), (y + 20), NaN, NaN, getAngle((x + 20), (y + 20)), (4 + ((t % type) / 2)))); parent.addChild(new RedBullet((x - 20), (y + 20), NaN, NaN, getAngle((x - 20), (y + 20)), (4 + ((t % type) / 2)))); }; return (false); } } }//package foes
Section 116
//FireGuy (foes.FireGuy) package foes { import bullets.*; public class FireGuy extends Foe { var decel:Number; var p:Number;// = 0 public function FireGuy(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(110); score = 300; money = 3; dropRate = 3; dropChance = 0.03; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("flame2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("flame", "f"); } override function special():Boolean{ if ((t % type) == 0){ p = (p + 4); parent.addChild(new WaveBullet(x, y, NaN, NaN, ((getAngle(x, y) + p) - 20), 4)); if (p > 40){ p = 0; }; }; return (false); } } }//package foes
Section 117
//FlameGuy (foes.FlameGuy) package foes { import bullets.*; public class FlameGuy extends Foe { var decel:Number; var p:Number;// = 0 public function FlameGuy(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(100); score = 300; money = 3; dropRate = 3; dropChance = 0.03; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("flame2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("flame", "f"); } override function special():Boolean{ if ((t % type) == 0){ p = (p + 15); parent.addChild(new WaveBullet2(x, y, NaN, NaN, p, 3)); }; return (false); } } }//package foes
Section 118
//Foe (foes.Foe) package foes { import flash.display.*; import levels.*; import drops.*; import players.*; import bullets.*; import misc.*; public class Foe extends MovieClip { public var HP:Number; public var boom:Boolean;// = false public var dropChance:Number;// = 0.05 public var shoot:Boolean;// = true public var cutoff:Number;// = 50 public var deathSpinR:Number; public var ydecel:Number;// = 0 public var by:Number; public var dead2:Boolean;// = false public var dead:Boolean;// = false public var boss:Boolean;// = false public var yspeed:Number; public var dropRate:Number;// = 0.4 public var bx:Number; public var maxHP:Number; public var delay:Number;// = 10 public var waitFlag:Boolean;// = false public var s:Number;// = 0 public var score:Number; public var type:Number; public var kitten:int;// = 3 public var t:Number;// = 0 public var superArmor:Number;// = 0 public var xdecel:Number;// = 0 public var motion:Number;// = 0 public var xspeed:Number; public var deathSpin:Boolean;// = true public var player:Player; public var money:int;// = 1 public var drop:String;// = "" public function Foe(a:Number, b:Number, c:Number, d:Number, motion:Number=0){ boom = false; s = 0; dead = false; dead2 = false; shoot = true; waitFlag = false; money = 1; dropRate = 0.4; motion = 0; deathSpin = true; t = 0; delay = 10; cutoff = 50; drop = ""; xdecel = 0; ydecel = 0; kitten = 3; boss = false; dropChance = 0.05; superArmor = 0; super(); x = a; y = b; xspeed = c; yspeed = d; this.motion = motion; deathSpinR = ((Math.random() * 50) - 25); money = Math.floor(((Math.random() * 3) + 1)); Global.vars.foes++; if ((((motion == 2)) && ((xspeed > 0)))){ xdecel = 0.2; }; if ((((motion == 2)) && ((xspeed < 0)))){ xdecel = -0.2; }; if ((((motion == 4)) && ((yspeed > 0)))){ ydecel = 0.2; }; if ((((motion == 4)) && ((yspeed < 0)))){ ydecel = -0.2; }; } function extraHeart(){ if (((!((parent as Level).level.survival)) && (Global.vars.options[13]))){ parent.addChild(new Heart(x, y)); }; } public function getAngle(x:Number, y:Number):Number{ var n:Number; n = ((Math.atan(((y - player.y) / (x - player.x))) / Math.PI) * 180); if (x >= player.x){ return ((n + 180)); }; return (n); } function specialHit(){ } function nextPattern(drops:int, combo:int){ var d:uint; (parent as Level).addScore((score / 4), x, y); (parent as Level).addCombo(combo); d = 0; while (d < drops) { (parent as Level).addItem(new Money(x, y, money, (Math.random() * 360), (Math.random() * 9))); d++; }; t = 0; superArmor = 60; } public function timeOut(){ dead = true; deathSpin = false; gotoAndPlay("die"); death(); xspeed = 0; yspeed = 0; (parent as Level).addChild(new ScoreLabel(-1, 0, x, y)); } function hitPlayer(){ if (((((this.hitTestPoint(player.x, player.y, true)) && ((player.superArmor == 0)))) && (!(player.dead)))){ player.hit(); this.hit(15); }; } public function kill(){ dead = true; dead2 = true; stop(); if (waitFlag){ (parent as Level).wait--; }; (parent as Level).foeList.splice((parent as Level).foeList.indexOf(this), 1); parent.removeChild(this); } public function die(){ var h:int; var d:uint; var u:int; (parent as Level).bottomBar.bossHP.visible = false; dead = true; if (score != 0){ (parent as Level).addScore(score, x, y); (parent as Level).addCombo(1); (parent as Level).foesKilled = ((parent as Level).foesKilled + 1); (parent as Level).comboCounter = 60; (parent as Level).updateBars(); if ((((parent as Level).level.survival) && ((Math.random() > 0.6)))){ } else { if (dropRate > 1){ d = 0; while (d < dropRate) { (parent as Level).addItem(new Money(x, y, money, (Math.random() * 360), (Math.random() * 9))); d++; }; } else { if (Math.random() < dropRate){ (parent as Level).addItem(new Money(x, y, money, 0, 2)); }; }; }; h = 1; if (((!((parent as Level).level.survival)) && (Global.vars.options[13]))){ h = 1.6; }; if (drop == "heart"){ (parent as Level).addItem(new Heart(x, y)); } else { if (drop == "shield"){ (parent as Level).addItem(new Barrier(x, y)); } else { if (drop == "buff"){ (parent as Level).addItem(new Buff(x, y)); } else { if (Math.random() < (dropChance * h)){ u = Math.floor((Math.random() * 3)); if (!(parent as Level).level.survival){ if (u == 0){ (parent as Level).addItem(new Heart(x, y)); }; }; if (u == 1){ (parent as Level).addItem(new Barrier(x, y)); }; if (u == 2){ (parent as Level).addItem(new Buff(x, y)); }; }; }; }; }; }; gotoAndPlay("die"); death(); xspeed = 0; yspeed = 0; } public function hit(damage:Number){ HP = (HP - damage); if (((!((parent as Level).level.survival)) && (Global.vars.options[15]))){ HP = (HP - (damage / 2)); }; specialHit(); if (!dead){ if (HP <= 0){ die(); } else { play(); }; }; } function special():Boolean{ return (false); } public function death(){ } public function move(){ if (boss){ if (!dead){ (parent as Level).bottomBar.bossHP.visible = true; (parent as Level).bottomBar.bossHP.gotoAndStop(Math.floor((((HP / maxHP) * 100) + 2))); }; superArmor--; if (superArmor > 0){ visible = !(visible); } else { visible = true; }; }; x = (x + xspeed); y = (y + yspeed); t++; if (motion == 1){ xspeed = (xspeed * 0.92); }; if (motion == 3){ yspeed = (yspeed * 0.92); }; xspeed = (xspeed - xdecel); yspeed = (yspeed - ydecel); if (!dead){ if (special()){ die(); } else { if ((((x > ((parent as Level).xlimit + cutoff))) || ((x < -(cutoff))))){ kill(); } else { if ((((y > ((parent as Level).ylimit + cutoff))) || ((y < -(cutoff))))){ kill(); } else { hitPlayer(); }; }; }; } else { if (deathSpin){ xspeed = 0; yspeed = -7; rotation = (rotation + deathSpinR); }; }; } public function setHP(h:Number){ HP = h; maxHP = h; } } }//package foes
Section 119
//FoeBar (foes.FoeBar) package foes { import flash.display.*; public dynamic class FoeBar extends MovieClip { public function FoeBar(){ super(); addFrameScript(0, frame1); } function frame1(){ gotoAndStop(100); } } }//package foes
Section 120
//Ghost (foes.Ghost) package foes { import bullets.*; public class Ghost extends Foe { var decel:Number; var p:int;// = 0 public function Ghost(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(300); score = 1000; money = 7; dropRate = 1; dropChance = 0.1; cutoff = 80; deathSpin = false; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("log", "f"); } function frame8(){ (root as Main).makeSound("log2", "f"); } override function special():Boolean{ var b:Number; if ((t % type) == 0){ b = 0; while (b < 360) { parent.addChild(new WaveBullet(x, y, NaN, NaN, b, 3)); b = (b + 15); }; }; if ((t % type) == 1){ b = 7.5; while (b < 360) { parent.addChild(new WaveBullet(x, y, NaN, NaN, b, 3)); b = (b + 15); }; }; if ((t % 13) == 0){ parent.addChild(new WaveBullet2(x, y, NaN, NaN, getAngle(x, y), 4)); }; return (false); } } }//package foes
Section 121
//GiantCrab (foes.GiantCrab) package foes { import drops.*; import bullets.*; public class GiantCrab extends Foe { var inc:Number;// = 1 var decel:Number; var halt:Boolean;// = true var b:Number;// = 1 var m:Number;// = 1 var p:Number;// = 0 var o:Number;// = 0 var w:Number;// = 0 var r:Number;// = 0 var bx2:Number; var mode2:Number;// = 0 var mode:Number;// = 0 public function GiantCrab(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; o = 0; b = 1; m = 1; halt = true; mode = 0; mode2 = 0; w = 0; inc = 1; r = 0; addFrameScript(0, frame1, 1, frame2, 4, frame5, 8, frame9, 14, frame15, 22, frame23, 52, frame53); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(10000); score = 40000; money = 5; dropRate = 30; cutoff = 200; deathSpin = false; boss = true; } function frame15(){ (root as Main).makeSound("explode", "f"); } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame23(){ (root as Main).makeSound("explode", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("fort", "f"); } function frame9(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ var b:int; by = (y + 50); bx = (x - 120); bx2 = (x + 120); w++; r = (r + 0.02); if ((((mode == 1)) && ((w > 30)))){ b = 0; while (b < 5) { parent.addChild(new BubbleBullet2(x, y, NaN, NaN, (Math.random() * 360), 5)); b++; }; } else { if ((((mode == 2)) && ((w > 50)))){ parent.addChild(new BubbleBullet2(x, y, NaN, NaN, (Math.random() * 360), 2)); if ((t % 20) == 0){ b = 0; while (b < 360) { parent.addChild(new BubbleBullet(x, y, NaN, NaN, (b + (Math.random() * 15)), 3)); b = (b + 15); }; }; } else { if ((((mode == 3)) && ((w > 70)))){ if ((t % 60) < 30){ b = 0; while (b < 4) { parent.addChild(new BubbleBullet2(x, y, NaN, NaN, ((getAngle(x, y) + (Math.random() * 30)) - 15), (7 + (Math.random() * 3)))); b++; }; }; } else { if ((((mode == 4)) && ((w > 50)))){ if ((t % 4) == 0){ parent.addChild(new BubbleBullet(x, y, NaN, NaN, (Math.random() * 360), 3)); }; if ((t % 3) == 0){ p = (p + inc); b = 0; while (b < 18) { parent.addChild(new BubbleBullet2(x, y, NaN, NaN, ((b * 20) + p), 6)); if (p == 0){ inc = 2; }; if (p == 70){ inc = -2; }; b++; }; }; } else { if ((((mode == 5)) && ((w > 50)))){ if ((t % 50) == 0){ parent.addChild(new BubbleBall(150, 150, NaN, NaN, getAngle(x, y), 3)); parent.addChild(new BubbleBall(350, 150, NaN, NaN, getAngle(x, y), 3)); }; } else { if ((((mode == 6)) && ((w > 100)))){ if ((t % 7) == 0){ b = 0; while (b < 10) { parent.addChild(new BubbleBullet2(x, y, NaN, NaN, (((t * 2) + (r * 2)) + 4), (2 + b))); parent.addChild(new BubbleBullet2(x, y, NaN, NaN, ((((t * 2) + (r * 2)) + 180) + 4), (2 + b))); b = (b + 1); }; }; if ((t % 8) == 0){ b = 0; while (b < 8) { parent.addChild(new BlueWave(x, y, NaN, NaN, ((t * 3) + r), (1 + b))); parent.addChild(new BlueWave(x, y, NaN, NaN, (((t * 3) + 180) + r), (1 + b))); b = (b + 1); }; }; if ((t % 50) == 30){ b = 0; while (b < 3) { parent.addChild(new GodBall(x, y, ((t * 3) + r), (3 + (b * 2)))); parent.addChild(new GodBall(x, y, (((t * 3) + 180) + r), (3 + (b * 2)))); b = (b + 1); }; }; }; }; }; }; }; }; if (HP > ((maxHP * 5) / 6)){ if (mode != 1){ mode = 1; w = 0; superArmor = 0; extraHeart(); }; } else { if (HP > ((maxHP * 4) / 6)){ if (mode != 2){ mode = 2; w = 0; superArmor = 60; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 3) / 6)){ if (mode != 3){ mode = 3; w = 0; p = 0; superArmor = 60; extraHeart(); }; } else { if (HP > ((maxHP * 2) / 6)){ if (mode != 4){ mode = 4; w = 0; superArmor = 60; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 1) / 6)){ if (mode != 5){ mode = 5; w = 0; superArmor = 60; extraHeart(); }; } else { if (HP <= ((maxHP * 1) / 6)){ if (mode != 6){ mode = 6; w = 0; superArmor = 60; }; }; }; }; }; }; }; return (false); } function frame53(){ if (this){ kill(); }; } } }//package foes
Section 122
//GiantCrab2 (foes.GiantCrab2) package foes { import drops.*; import bullets.*; public class GiantCrab2 extends GiantCrab { var ball1:Bullet; var ball2:Bullet; var aa:int; var ss:Number;// = 0 var sb:Boolean;// = true var u:Number;// = 0 var si:Number;// = 0 var v:Number;// = 0 var xx:int; var yy:int; public function GiantCrab2(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ u = 0; v = 0; ss = 0; si = 0; sb = true; super(x, y, xspeed, yspeed, motion, type); setHP(21000); score = 200000; money = 5; dropRate = 25; } override function special():Boolean{ var b:int; by = (y + 50); bx = (x - 120); bx2 = (x + 120); w++; u = (u + 0.02); if ((((mode == 1)) && ((w > 30)))){ if ((t % 30) == 0){ b = 0; while (b < 360) { parent.addChild(new GodBullet3(x, y, (b + u), 2.5)); b = (b + 10); }; }; if ((t % 30) == 10){ b = 0; while (b < 360) { parent.addChild(new GodBullet3(x, y, ((b + 5) + u), 3.5)); b = (b + 10); }; }; if ((t % 30) == 20){ b = 0; while (b < 10) { parent.addChild(new BubbleBullet2(x, y, NaN, NaN, (t / 2), (2 + b))); parent.addChild(new BubbleBullet2(x, y, NaN, NaN, ((t / 2) + 120), (2 + b))); parent.addChild(new BubbleBullet2(x, y, NaN, NaN, ((t / 2) - 120), (2 + b))); b = (b + 1); }; }; } else { if ((((mode == 2)) && ((w > 100)))){ if ((t % 160) == 0){ b = 0; while (b <= 600) { parent.addChild(new BubbleBullet2(505, b, NaN, NaN, ((180 - 50) + (b / 6)), 2)); parent.addChild(new BubbleBullet2(-5, b, NaN, NaN, ((0 + 50) - (b / 6)), 2)); b = (b + 60); }; b = 0; while (b <= 500) { parent.addChild(new BubbleBullet2(b, -5, NaN, NaN, ((90 - 50) + (b / 5)), 2)); parent.addChild(new BubbleBullet2(b, 605, NaN, NaN, ((-90 + 50) - (b / 5)), 2)); b = (b + 50); }; }; if ((t % 160) == 80){ b = 0; while (b <= 600) { parent.addChild(new BubbleBullet(505, b, NaN, NaN, ((180 - 100) + (b / 3)), 2)); parent.addChild(new BubbleBullet(-5, b, NaN, NaN, ((0 + 100) - (b / 3)), 2)); b = (b + 60); }; b = 0; while (b <= 500) { parent.addChild(new BubbleBullet(b, -5, NaN, NaN, ((90 - 100) + (b / 2.5)), 2)); parent.addChild(new BubbleBullet(b, 605, NaN, NaN, ((-90 + 100) - (b / 2.5)), 2)); b = (b + 50); }; }; } else { if ((((mode == 3)) && ((w > 120)))){ if ((t % 60) == 0){ b = 0; while (b <= 6) { parent.addChild(new BlueWave(x, y, NaN, NaN, getAngle(x, y), (3 + b))); b = (b + 1); }; }; if ((t % 5) == 0){ b = 50; while (b <= 450) { parent.addChild(new GodBullet(b, 605, (-100 + (Math.random() * 20)), 2)); b = (b + 100); }; }; } else { if ((((mode == 4)) && ((w > 120)))){ parent.addChild(new BubbleBullet2(x, y, NaN, NaN, (Math.sin((t / 20)) * 270), 4)); parent.addChild(new BubbleBullet2(x, y, NaN, NaN, (180 - (Math.sin((t / 20)) * 270)), 4)); parent.addChild(new BlueBullet(x, y, NaN, NaN, (Math.sin((t / 10)) * 270), 3)); parent.addChild(new BlueBullet(x, y, NaN, NaN, (180 - (Math.sin((t / 10)) * 270)), 3)); } else { if ((((mode == 5)) && ((w > 120)))){ if ((t % 90) < 6){ xx = ((x - 150) + (Math.random() * 300)); yy = ((y - 75) + (Math.random() * 150)); aa = (Math.random() * 90); b = 0; while (b < 5) { parent.addChild(new BubbleBullet2(xx, yy, NaN, NaN, (((getAngle(xx, yy) - 15) + (Math.random() * 30)) + aa), (4 + (Math.random() * 2)))); parent.addChild(new BubbleBullet2(xx, yy, NaN, NaN, ((((getAngle(xx, yy) + 90) - 15) + (Math.random() * 30)) + aa), (4 + (Math.random() * 2)))); parent.addChild(new BubbleBullet2(xx, yy, NaN, NaN, ((((getAngle(xx, yy) + 180) - 15) + (Math.random() * 30)) + aa), (4 + (Math.random() * 2)))); parent.addChild(new BubbleBullet2(xx, yy, NaN, NaN, ((((getAngle(xx, yy) + 270) - 15) + (Math.random() * 30)) + aa), (4 + (Math.random() * 2)))); b++; }; }; if (((((t % 90) < 35)) && (((t % 90) >= 30)))){ xx = ((x - 150) + (Math.random() * 300)); yy = ((y - 75) + (Math.random() * 150)); aa = (Math.random() * 90); b = 0; while (b < 5) { parent.addChild(new BlueWave(xx, yy, NaN, NaN, (((getAngle(xx, yy) - 7) + (Math.random() * 14)) + aa), (6 + (Math.random() * 2)))); parent.addChild(new BlueWave(xx, yy, NaN, NaN, ((((getAngle(xx, yy) + 90) - 7) + (Math.random() * 14)) + aa), (6 + (Math.random() * 2)))); parent.addChild(new BlueWave(xx, yy, NaN, NaN, ((((getAngle(xx, yy) + 180) - 7) + (Math.random() * 14)) + aa), (6 + (Math.random() * 2)))); parent.addChild(new BlueWave(xx, yy, NaN, NaN, ((((getAngle(xx, yy) + 270) - 7) + (Math.random() * 14)) + aa), (6 + (Math.random() * 2)))); b++; }; }; if (((((t % 90) < 67)) && (((t % 90) >= 60)))){ xx = ((x - 150) + (Math.random() * 300)); yy = ((y - 75) + (Math.random() * 150)); aa = (Math.random() * 90); b = 0; while (b < 5) { parent.addChild(new GodBullet(xx, yy, (((getAngle(xx, yy) - 25) + (Math.random() * 50)) + aa), (2 + (Math.random() * 1)))); parent.addChild(new GodBullet(xx, yy, ((((getAngle(xx, yy) + 90) - 25) + (Math.random() * 50)) + aa), (2 + (Math.random() * 1)))); parent.addChild(new GodBullet(xx, yy, ((((getAngle(xx, yy) + 180) - 25) + (Math.random() * 50)) + aa), (2 + (Math.random() * 1)))); parent.addChild(new GodBullet(xx, yy, ((((getAngle(xx, yy) + 270) - 25) + (Math.random() * 50)) + aa), (2 + (Math.random() * 1)))); b++; }; }; } else { if ((((mode == 6)) && ((w > 80)))){ if ((((ball1 == undefined)) || (ball1.dead))){ ball1 = new BubbleBall2(-100, -100, 0, 200); ball2 = new BubbleBall2(-100, -100, 180, 200); parent.addChild(ball1); parent.addChild(ball2); }; } else { if ((((mode == 7)) && ((w > 80)))){ if ((t % 5) != 0){ parent.addChild(new BubbleBullet(x, y, NaN, NaN, ((t * 5) % 360), 3)); }; if ((t % 5) != 1){ parent.addChild(new BubbleBullet(x, y, NaN, NaN, (((t * 5) % 360) + 90), 3)); }; if ((t % 5) != 2){ parent.addChild(new BubbleBullet(x, y, NaN, NaN, (((t * 5) % 360) + 180), 3)); }; if ((t % 5) != 3){ parent.addChild(new BubbleBullet(x, y, NaN, NaN, (((t * 5) % 360) + 270), 3)); }; } else { if ((((mode == 8)) && ((w > 80)))){ if ((((ball1 == undefined)) || (ball1.dead))){ ball1 = new BubbleBall3(-100, -100, 0, 200); ball2 = new BubbleBall3(-100, -100, 1, 200); parent.addChild(ball1); parent.addChild(ball2); }; } else { if ((((mode == 9)) && ((w > 80)))){ if ((t % 2) == 0){ if (sb){ si = (si + 0.3); ss = (ss + si); if (si > 20){ sb = !(sb); }; }; if (!sb){ si = (si - 0.3); ss = (ss + si); if (si < -20){ sb = !(sb); }; }; b = 0; while (b < 360) { parent.addChild(new GodBullet(x, y, (b + ss), 4)); b = (b + 60); }; b = 10; while (b < 360) { parent.addChild(new BlueWave(x, y, NaN, NaN, (b - ss), 2)); b = (b + 120); }; }; }; }; }; }; }; }; }; }; }; if (HP > ((maxHP * 8) / 9)){ if (mode != 1){ mode = 1; superArmor = 0; }; } else { if (HP > ((maxHP * 7) / 9)){ if (mode != 2){ mode = 2; nextPattern(5, 30); w = 0; }; } else { if (HP > ((maxHP * 6) / 9)){ if (mode != 3){ mode = 3; nextPattern(7, 30); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 5) / 9)){ if (mode != 4){ mode = 4; nextPattern(9, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 4) / 9)){ if (mode != 5){ mode = 5; nextPattern(10, 30); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 3) / 9)){ if (mode != 6){ mode = 6; nextPattern(11, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 2) / 9)){ if (mode != 7){ mode = 7; nextPattern(13, 30); w = 0; ball1.kill(); ball2.kill(); extraHeart(); }; } else { if (HP > ((maxHP * 1) / 9)){ if (mode != 8){ mode = 8; nextPattern(15, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP < ((maxHP * 1) / 9)){ if (mode != 9){ mode = 9; nextPattern(18, 30); w = 0; ball1.kill(); ball2.kill(); }; }; }; }; }; }; }; }; }; }; return (false); } } }//package foes
Section 123
//Girder (foes.Girder) package foes { public class Girder extends Foe { var spin:Number; public function Girder(a:Number, b:Number, c:Number, d:Number, rotate:Number, spin:Number){ addFrameScript(0, frame1, 6, frame7, 15, frame16); super(a, b, c, d); this.rotation = rotate; this.spin = spin; setHP(90); score = 20; } function frame16(){ if (this){ kill(); }; } function frame7(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override function special():Boolean{ rotation = (rotation + spin); return (false); } } }//package foes
Section 124
//GodCat (foes.GodCat) package foes { import levels.*; import drops.*; import bullets.*; public class GodCat extends Foe { var inc:Number;// = 1 var ball1:OrbitBall; var ball2:OrbitBall; var decel:Number; var halt:Boolean;// = true var a:int;// = 0 var b:Number;// = 1 var m:Number;// = 1 var p:Number;// = 0 var u:Number;// = 5 var o:Number;// = 0 var w:Number;// = 0 var godBall:GodBall2; var bx2:Number; var mode2:Number;// = 0 var mode:Number;// = -1 public function GodCat(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; o = 0; b = 1; m = 1; halt = true; mode = -1; mode2 = 0; w = 0; inc = 1; a = 0; u = 5; addFrameScript(0, frame1, 1, frame2, 4, frame5, 8, frame9, 14, frame15, 22, frame23, 30, frame31, 37, frame38, 45, frame46, 76, frame77); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(45000); score = 160000; money = 7; dropRate = 20; cutoff = 200; deathSpin = false; boss = true; } function frame15(){ (root as Main).makeSound("explode", "f"); } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame23(){ (root as Main).makeSound("explode", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("rock3", "f"); } function frame31(){ (root as Main).makeSound("explode", "f"); } function frame38(){ (root as Main).makeSound("explode", "f"); } function frame9(){ (root as Main).makeSound("explode", "f"); } function frame46(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ var b:int; var c:int; var x2:int; var y2:int; w++; if (t == 360){ t = 0; }; if ((((mode == -1)) && ((w > 60)))){ if ((t % 11) == 0){ x2 = (((x + (Math.random() * 150)) - 75) - 30); y2 = (((y + (Math.random() * 150)) - 75) - 30); c = 0; while (c < 360) { parent.addChild(new GodBullet3(x2, y2, c, 4)); c = (c + 10); }; b = 0; while (b < 360) { parent.addChild(new GodBullet2(x2, y2, b, 5)); b = (b + 20); }; }; } else { if ((((mode == 0)) && ((w > 50)))){ if ((t % 60) == 0){ parent.addChild(new DevilBall((x + 40), y, getAngle((x + 40), y), 5)); }; } else { if ((((mode == 1)) && ((w > 120)))){ if ((t % 30) == 0){ b = 0; while (b < 360) { parent.addChild(new GodBall((x - 40), y, b, 5)); b = (b + 14); }; }; if ((t % 30) == 15){ b = 0; while (b < 360) { parent.addChild(new GodBall((x - 40), y, (b + 7), 5)); b = (b + 14); }; }; parent.addChild(new GodBullet((x - 40), y, (Math.random() * 360), 6)); } else { if ((((mode == 2)) && ((w > 50)))){ parent.addChild(new DevilBullet2((x + 40), y, (t * 6), 5)); parent.addChild(new DevilBullet2((x + 40), y, (122 + (t * 6)), 5)); parent.addChild(new DevilBullet2((x + 40), y, (244 + (t * 6)), 5)); parent.addChild(new DevilBullet((x + 40), y, (Math.random() * 360), 6)); parent.addChild(new DevilBullet((x + 40), y, (Math.random() * 360), 6)); parent.addChild(new DevilBullet((x + 40), y, (Math.random() * 360), 6)); } else { if ((((mode == 3)) && ((w > 60)))){ if ((t % 2) == 0){ parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) + 6), 4.5)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) + 4), 5)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) + 2), 5.5)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) + 0), 6)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) - 2), 5.5)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) - 4), 5)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) - 6), 4.5)); parent.addChild(new GodBullet2((x - 40), y, ((t * u) % 360), 4.5)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) + 4), 4)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) + 2), 3.5)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) + 0), 3)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) - 2), 3.5)); parent.addChild(new GodDiamond((x - 40), y, (((t * u) % 360) - 4), 4)); parent.addChild(new GodBullet2((x - 40), y, (((t * u) % 360) + 180), 4)); parent.addChild(new GodBullet2((x - 40), y, ((((t * u) % 360) + 180) + 2), 4.5)); parent.addChild(new GodBullet2((x - 40), y, ((((t * u) % 360) + 180) + 4), 5)); u = (u + 0.03); }; } else { if ((((mode == 4)) && ((w > 60)))){ if ((t % 60) < 50){ parent.addChild(new DevilBullet3((x + 40), y, ((getAngle((x + 40), y) + (Math.random() * 4)) - 2), (4 + ((t % 60) / 4)))); parent.addChild(new DevilBullet3((x + 40), y, ((getAngle((x + 40), y) + (Math.random() * 8)) - 4), (4 + ((t % 60) / 4)))); }; } else { if ((((mode == 5)) && ((w > 60)))){ parent.addChild(new GodBullet(-5, (Math.random() * 900), 0, 3)); parent.addChild(new DevilBullet(505, (Math.random() * 900), 180, 3)); } else { if ((((mode == 6)) && ((w > 60)))){ x2 = x; y2 = y; parent.addChild(new GodBullet2(x2, y2, ((t * 10) % 360), 4)); parent.addChild(new DevilBullet2(x2, y2, (((t * 11) % 360) + 30), 5)); parent.addChild(new GodBullet(x2, y2, (((t * 8) % 360) + 80), 3)); parent.addChild(new DevilBullet(x2, y2, (((t * 9) % 360) + 110), 3.8)); parent.addChild(new GodBullet2(x2, y2, (((t * 10) % 360) + 180), 4)); parent.addChild(new DevilBullet2(x2, y2, ((((t * 11) % 360) + 30) + 180), 5)); parent.addChild(new GodBullet(x2, y2, ((((t * 8) % 360) + 80) + 180), 3)); parent.addChild(new DevilBullet(x2, y2, ((((t * 9) % 360) + 110) + 180), 3.8)); }; }; }; }; }; }; }; }; if (HP > ((maxHP * 7) / 8)){ if (mode != -1){ mode = -1; w = 0; superArmor = 0; t = 0; }; } else { if (HP > ((maxHP * 6) / 8)){ if (mode != 0){ mode = 0; w = 0; superArmor = 60; t = 0; diamonds(2); }; } else { if (HP > ((maxHP * 5) / 8)){ if (mode != 1){ mode = 1; w = 0; superArmor = 60; parent.addChild(new Heart(x, y)); t = 0; diamonds(3); }; } else { if (HP > ((maxHP * 4) / 8)){ if (mode != 2){ mode = 2; w = 0; superArmor = 60; ball1.play(); t = 0; diamonds(5); }; } else { if (HP > ((maxHP * 3) / 8)){ if (mode != 3){ mode = 3; w = 0; p = 0; superArmor = 60; parent.addChild(new Heart(x, y)); t = 0; diamonds(7); }; } else { if (HP > ((maxHP * 2) / 8)){ if (mode != 4){ mode = 4; w = 0; superArmor = 60; t = 0; diamonds(10); }; } else { if (HP > ((maxHP * 1) / 8)){ if (mode != 5){ mode = 5; w = 0; superArmor = 60; parent.addChild(new Heart(x, y)); t = 0; diamonds(12); }; } else { if (HP <= ((maxHP * 1) / 8)){ if (mode != 6){ mode = 6; w = 0; superArmor = 60; t = 0; }; }; }; }; }; }; }; }; }; return (false); } function frame77(){ if (this){ kill(); }; } function diamonds(a:int){ var d:uint; d = 0; while (d < a) { (parent as Level).addItem(new Money(x, y, money, (Math.random() * 360), (Math.random() * 9))); d++; }; } } }//package foes
Section 125
//GodCat2 (foes.GodCat2) package foes { import drops.*; import bullets.*; public class GodCat2 extends GodCat { public function GodCat2(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ super(x, y, xspeed, yspeed, motion, type); this.type = type; setHP(70000); score = 800000; money = 7; dropRate = 25; } override function special():Boolean{ var b:int; var c:int; var x2:int; var y2:int; w++; u = (u + 0.02); if (t == 360){ t = 0; }; if ((((mode == 0)) && ((w > 60)))){ if ((t % 50) == 0){ parent.addChild(new DualBall(x, y, ((getAngle((x + 40), y) + (Math.random() * 60)) - 39), (3 + (Math.random() * 2)))); }; } else { if ((((mode == 1)) && ((w > 100)))){ if ((t % 22) < 4){ b = ((t % 18) * 10); while (b < 360) { c = 5; while (c < 7) { parent.addChild(new WaveBullet((x + 40), y, NaN, NaN, (b + a), c)); c = (c + 1); }; b = (b + 40); }; a = (a + 2); }; if ((t % 50) < 3){ b = 5; while (b < 15) { parent.addChild(new RedBullet((x + 40), y, NaN, NaN, ((getAngle((x + 40), y) + (Math.random() * 10)) - 5), b)); b = (b + 2); }; }; } else { if ((((mode == 2)) && ((w > 80)))){ if ((t % 4) == 0){ parent.addChild(new ThunderBall((x - 40), y, ((t * 3) + (u * 3)), 3.5)); } else { parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, ((t * 8) + (u * 5)), 4.5)); parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, (((t * 8) + (u * 5)) + 180), 4.5)); }; } else { if ((((mode == 3)) && ((w > 100)))){ if ((t % 120) < 30){ parent.addChild(new RedBullet(-5, ((t % 120) * 20), NaN, NaN, ((Math.random() * 180) - 90), 3)); parent.addChild(new WhiteBullet(-5, ((t % 120) * 20), NaN, NaN, ((Math.random() * 180) - 90), 2)); } else { if ((t % 120) < 60){ x2 = (((t % 120) - 30) * 17); parent.addChild(new RedBullet(x2, 605, NaN, NaN, (-(Math.random()) * 180), 3)); parent.addChild(new WhiteBullet(x2, 605, NaN, NaN, (-(Math.random()) * 180), 2)); } else { if ((t % 120) < 90){ y2 = (600 - (((t % 120) - 60) * 20)); parent.addChild(new RedBullet(505, y2, NaN, NaN, ((Math.random() * 180) + 90), 3)); parent.addChild(new WhiteBullet(505, y2, NaN, NaN, ((Math.random() * 180) + 90), 2)); } else { x2 = (500 - (((t % 120) - 90) * 17)); parent.addChild(new RedBullet(x2, -5, NaN, NaN, (Math.random() * 180), 3)); parent.addChild(new WhiteBullet(x2, -5, NaN, NaN, (Math.random() * 180), 2)); }; }; }; } else { if ((((mode == 4)) && ((w > 80)))){ if ((t % 8) == 0){ parent.addChild(new BubbleBall((x - 40), y, NaN, NaN, ((t * 3) + (u * 3)), 3.5)); }; } else { if ((((mode == 5)) && ((w > 150)))){ if ((t % 4) == 0){ b = 0; while (b < 360) { parent.addChild(new GodDiamond((x - 40), y, ((b - (t % 30)) + (u * 2)), 6)); parent.addChild(new GodDiamond((x - 40), y, ((b + (t % 30)) + (u * 2)), 6)); b = (b + 60); }; }; if ((t % 4) == 2){ b = 0; while (b < 360) { parent.addChild(new RedDiamond((x + 40), y, NaN, NaN, ((b - (t % 30)) + u), 3)); parent.addChild(new RedDiamond((x + 40), y, NaN, NaN, ((b + (t % 30)) + u), 3)); b = (b + 60); }; }; } else { if ((((mode == 9)) && ((w > 80)))){ parent.addChild(new GodDiamond((x - 40), y, ((getAngle((x - 40), y) + ((t % 60) * 4)) - (60 * 2)), 4)); parent.addChild(new GodDiamond((x - 40), y, ((getAngle((x - 40), y) - ((t % 60) * 4)) + (60 * 2)), 4)); parent.addChild(new GodBullet((x - 40), y, ((getAngle((x - 40), y) + ((t % 60) * 6)) - (60 * 3)), 3)); parent.addChild(new GodBullet((x - 40), y, ((getAngle((x - 40), y) - ((t % 60) * 6)) + (60 * 3)), 3)); parent.addChild(new DevilBullet2((x + 40), y, ((getAngle((x + 40), y) + ((t % 40) * 4)) - (40 * 2)), 5)); parent.addChild(new DevilBullet2((x + 40), y, ((getAngle((x + 40), y) - ((t % 40) * 4)) + (40 * 2)), 5)); parent.addChild(new DevilBullet((x + 40), y, ((getAngle((x + 40), y) + ((t % 40) * 6)) - (40 * 3)), 2.5)); parent.addChild(new DevilBullet((x + 40), y, ((getAngle((x + 40), y) - ((t % 40) * 6)) + (40 * 3)), 2.5)); } else { if ((((mode == 10)) && ((w > 80)))){ if ((t % 2)){ if ((t % 120) < 10){ b = 0; while (b < 360) { parent.addChild(new WhiteBullet((x - 40), y, NaN, NaN, (b + u), ((t % 120) + 2))); b = (b + 60); }; }; if (((((t % 120) < 34)) && (((t % 120) >= 20)))){ b = 0; while (b < 360) { parent.addChild(new ThunderBall((x - 40), y, (b + u), ((t % 120) - 16))); parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), ((((t % 120) - 20) + 6) / 2))); parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), ((((t % 120) - 20) + 6) / 2))); b = (b + 60); }; }; if (((((t % 120) < 76)) && (((t % 120) >= 60)))){ b = 0; while (b < 360) { parent.addChild(new FlameBullet((x + 40), y, NaN, NaN, (b + u), (((t % 120) - 60) + 4))); b = (b + 60); }; }; if (((((t % 120) < 106)) && (((t % 120) >= 90)))){ b = 0; while (b < 360) { parent.addChild(new DemonBullet((x + 40), y, NaN, NaN, (b + u), (((t % 120) - 90) + 6))); parent.addChild(new WaveBullet2((x + 40), y, NaN, NaN, (Math.random() * 360), ((((t % 120) - 90) + 4) / 2))); parent.addChild(new WaveBullet2((x + 40), y, NaN, NaN, (Math.random() * 360), ((((t % 120) - 90) + 4) / 2))); b = (b + 60); }; }; }; } else { if ((((mode == 11)) && ((w > 50)))){ u = (u + 0.4); if ((t % 2) == 0){ if ((t % 120) < 50){ b = 0; while (b < 360) { parent.addChild(new WhiteBullet((x - 40), y, NaN, NaN, (b + u), (((t % 120) + 2) / 2))); parent.addChild(new GodDiamond((x - 40), y, (b + u), (((t % 120) + 2) / 3))); b = (b + 60); }; }; if (((((t % 120) < 56)) && (((t % 120) >= 30)))){ b = 0; while (b < 360) { if ((t % 4) == 0){ parent.addChild(new BubbleBall((x - 40), y, NaN, NaN, (b + u), (((t % 120) - 16) / 2))); }; parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), ((((t % 120) - 20) + 5) / 6))); parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), ((((t % 120) - 20) + 15) / 5))); parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), ((((t % 120) - 20) + 15) / 5))); parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), ((((t % 120) - 20) + 10) / 5))); b = (b + 60); }; }; if (((((t % 120) < 102)) && (((t % 120) >= 62)))){ b = 0; while (b < 360) { parent.addChild(new OrangeLazor((x + 40), y, NaN, NaN, (b + u), ((((t % 120) - 60) + 2) * 0.9))); parent.addChild(new FlameBullet((x + 40), y, NaN, NaN, (b + u), ((((t % 120) - 60) + 2) * 0.6))); b = (b + 60); }; }; if (((((t % 120) < 88)) && (((t % 120) >= 70)))){ b = 0; while (b < 360) { parent.addChild(new WaveBullet2((x + 40), y, NaN, NaN, (Math.random() * 360), (((t % 120) - 64) / 2))); parent.addChild(new WaveBullet2((x + 40), y, NaN, NaN, (Math.random() * 360), (((t % 120) - 64) / 2))); parent.addChild(new WaveBullet2((x + 40), y, NaN, NaN, (Math.random() * 360), (((t % 120) - 64) / 2))); b = (b + 60); }; }; if (((((t % 120) < 120)) && (((t % 120) >= 90)))){ b = 0; while (b < 360) { parent.addChild(new DemonBullet((x + 40), y, NaN, NaN, (b + u), ((((t % 120) - 90) + 6) / 1.5))); parent.addChild(new WaveBullet2((x + 40), y, NaN, NaN, (Math.random() * 360), ((((t % 120) - 90) + 20) / 5))); parent.addChild(new WaveBullet2((x + 40), y, NaN, NaN, (Math.random() * 360), ((((t % 120) - 90) + 15) / 5))); b = (b + 60); }; }; }; } else { if ((((mode == 6)) && ((w > 100)))){ parent.addChild(new WhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), 2.5)); parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), 4)); parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), 5.5)); parent.addChild(new GlowBall((x - 40), y, (Math.random() * 360), 5)); parent.addChild(new BubbleBullet2((x - 40), y, NaN, NaN, (Math.random() * 360), 5)); parent.addChild(new BubbleBullet2((x - 40), y, NaN, NaN, (Math.random() * 360), 6)); } else { if ((((mode == 7)) && ((w > 100)))){ parent.addChild(new WaveBullet((x + 40), y, NaN, NaN, (Math.random() * 360), 3)); parent.addChild(new WaveBullet2((x + 40), y, NaN, NaN, (Math.random() * 360), 2.5)); parent.addChild(new RedBullet((x + 40), y, NaN, NaN, (Math.random() * 360), 5)); parent.addChild(new DevilBullet((x + 40), y, (Math.random() * 360), 4)); if ((t % 3)){ parent.addChild(new DemonBullet((x + 40), y, NaN, NaN, (Math.random() * 360), 2)); }; parent.addChild(new YellowBullet((x + 40), y, NaN, NaN, (Math.random() * 360), 4.5)); } else { if ((((mode == 8)) && ((w > 100)))){ parent.addChild(new WhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), 2.5)); parent.addChild(new BigWhiteBullet((x - 40), y, NaN, NaN, (Math.random() * 360), 3)); parent.addChild(new BubbleBullet2((x - 40), y, NaN, NaN, (Math.random() * 360), 4)); parent.addChild(new BubbleBullet2((x - 40), y, NaN, NaN, (Math.random() * 360), 4.5)); parent.addChild(new SmallRedBullet((x + 40), y, NaN, NaN, (Math.random() * 360), 2.5)); parent.addChild(new WaveBullet((x + 40), y, NaN, NaN, (Math.random() * 360), 3)); parent.addChild(new RedBullet((x + 40), y, NaN, NaN, (Math.random() * 360), 5)); parent.addChild(new YellowBullet((x + 40), y, NaN, NaN, (Math.random() * 360), 4.5)); }; }; }; }; }; }; }; }; }; }; }; }; if (HP > ((maxHP * 11) / 12)){ if (mode != 0){ mode = 0; superArmor = 0; }; } else { if (HP > ((maxHP * 10) / 12)){ if (mode != 1){ mode = 1; nextPattern(5, 30); w = 0; }; } else { if (HP > ((maxHP * 9) / 12)){ if (mode != 2){ mode = 2; nextPattern(5, 30); w = 0; }; } else { if (HP > ((maxHP * 8) / 12)){ if (mode != 3){ mode = 3; nextPattern(5, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 7) / 12)){ if (mode != 4){ mode = 4; nextPattern(5, 30); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 6) / 12)){ if (mode != 5){ mode = 5; nextPattern(10, 30); w = 0; }; } else { if (HP > ((maxHP * 5) / 12)){ if (mode != 6){ mode = 6; nextPattern(15, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 4) / 12)){ if (mode != 7){ mode = 7; nextPattern(20, 30); w = 0; }; } else { if (HP > ((maxHP * 3) / 12)){ if (mode != 8){ mode = 8; nextPattern(25, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 2) / 12)){ if (mode != 9){ mode = 9; nextPattern(25, 30); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 1) / 12)){ if (mode != 10){ mode = 10; nextPattern(30, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP < ((maxHP * 1) / 12)){ if (mode != 11){ mode = 11; nextPattern(30, 30); w = 0; }; }; }; }; }; }; }; }; }; }; }; }; }; return (false); } } }//package foes
Section 126
//Golem (foes.Golem) package foes { import bullets.*; public class Golem extends Foe { var decel:Number; public function Golem(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 5, frame6, 6, frame7, 35, frame36); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(1700); score = 20000; money = 4; dropRate = 40; dropChance = 0; deathSpin = false; cutoff = 120; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("explode", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("rock3", "f"); } function frame36(){ if (this){ kill(); }; } override function special():Boolean{ parent.addChild(new RedDiamond(x, (y - 5), NaN, NaN, (getAngle(x, y) + ((Math.sin(t) * 360) / 8)), 5)); parent.addChild(new RedDiamond(x, (y - 5), NaN, NaN, (getAngle(x, y) - ((Math.sin(t) * 360) / 8)), 5)); parent.addChild(new SmallRedBullet(x, (y - 5), NaN, NaN, ((getAngle(x, y) - 75) + (Math.random() * 150)), 4)); return (false); } } }//package foes
Section 127
//GreenJelly (foes.GreenJelly) package foes { import bullets.*; public class GreenJelly extends Foe { var decel:Number; public function GreenJelly(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(17); score = 150; money = 3; dropRate = 0.7; dropChance = 0.02; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("slime2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("slime", "f"); } override function special():Boolean{ if ((t % delay) == 0){ parent.addChild(new LeafBullet(x, y, NaN, NaN, (Math.random() * 360), 3)); }; return (false); } } }//package foes
Section 128
//GreenSlime (foes.GreenSlime) package foes { import bullets.*; public class GreenSlime extends Foe { public function GreenSlime(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 12, frame13); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(5); score = 50; money = 1; dropRate = 0.5; } function frame13(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("slime2", "f"); } function frame1(){ stop(); } override public function death(){ var a:Number; a = 0; while (a < 4) { parent.addChild(new GreenSlimeBullet(x, y, NaN, NaN, (Math.random() * 360), 5)); a++; }; } function frame2(){ (root as Main).makeSound("slime", "f"); } } }//package foes
Section 129
//GunBot (foes.GunBot) package foes { import bullets.*; public class GunBot extends Foe { public function GunBot(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 12, frame13); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(110); this.boom = true; score = 350; money = 5; dropRate = 1; dropChance = 0.02; } function frame13(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("metal", "f"); } function frame8(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new RedBullet((x - 30), (y + 40), NaN, NaN, ((90 + (Math.random() * 6)) - 3), 7)); parent.addChild(new RedBullet((x + 30), (y + 40), NaN, NaN, ((90 + (Math.random() * 6)) - 3), 7)); }; return (false); } } }//package foes
Section 130
//HomingBomb (foes.HomingBomb) package foes { import flash.display.*; import bullets.*; public class HomingBomb extends Foe { public var zone:MovieClip; public function HomingBomb(a:Number, b:Number, c:Number, d:Number, type:Number){ addFrameScript(0, frame1, 6, frame7, 17, frame18); super(a, b, c, d); setHP(14); this.type = type; score = 12; if (type == 2){ score = 18; setHP(22); this.scaleX = (this.scaleY = 1.4); }; if (type == 0){ score = 6; setHP(8); this.scaleX = (this.scaleY = 0.7); }; this.boom = true; } function frame18(){ if (this){ kill(); }; } function frame7(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override public function death(){ var a:Number; if (type == 0){ parent.addChild(new HomingBullet(x, y, 4, 0)); parent.addChild(new HomingBullet(x, y, -4, 0)); }; if (type == 1){ parent.addChild(new HomingBullet(x, y, 3, 0)); parent.addChild(new HomingBullet(x, y, -3, 0)); parent.addChild(new HomingBullet(x, y, 0, 3)); parent.addChild(new HomingBullet(x, y, 0, -3)); }; if (type == 2){ a = 0; while (a < 2) { parent.addChild(new HomingBullet(x, y, (3 + a), 0)); parent.addChild(new HomingBullet(x, y, (-3 - a), 0)); parent.addChild(new HomingBullet(x, y, 0, (3 - a))); parent.addChild(new HomingBullet(x, y, 0, (-3 - a))); a++; }; }; } override function special():Boolean{ if (!zone){ return (false); }; return (zone.hitTestPoint(player.x, player.y)); } } }//package foes
Section 131
//HugeBrick (foes.HugeBrick) package foes { public class HugeBrick extends Foe { var decel:Number; public function HugeBrick(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 5, frame6); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(Infinity); score = 0; money = 0; dropRate = 0; dropChance = 0; cutoff = 200; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } } }//package foes
Section 132
//HugeRock (foes.HugeRock) package foes { import levels.*; public class HugeRock extends Foe { var b:Number;// = 3 public function HugeRock(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ b = 3; addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 11, frame12); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(90); score = 300; money = 4; dropRate = 4; dropChance = 0.25; cutoff = 100; deathSpin = false; } function frame12(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override public function death(){ (parent as Level).addFoe(new BigRock(((x + (Math.random() * 100)) - 50), ((y + (Math.random() * 60)) - 30), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new BigRock(((x + (Math.random() * 100)) - 50), ((y + (Math.random() * 60)) - 30), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new MediumRock(((x + (Math.random() * 100)) - 50), ((y + (Math.random() * 60)) - 30), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new SmallRock(((x + (Math.random() * 100)) - 50), ((y + (Math.random() * 60)) - 30), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new SmallRock(((x + (Math.random() * 100)) - 50), ((y + (Math.random() * 60)) - 30), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new TinyRock(((x + (Math.random() * 100)) - 50), ((y + (Math.random() * 60)) - 30), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new TinyRock(((x + (Math.random() * 100)) - 50), ((y + (Math.random() * 60)) - 30), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); } function frame2(){ (root as Main).makeSound("rock2", "f"); } function frame8(){ (root as Main).makeSound("rock1", "f"); } } }//package foes
Section 133
//Hydra (foes.Hydra) package foes { import bullets.*; public class Hydra extends Foe { var left:Boolean; var decel:Number; var dir:Number;// = 0 var accel:Number;// = 0.2 var closed:Boolean;// = true public function Hydra(x:Number, y:Number, left:Boolean, xspeed:Number, yspeed:Number, type:Number){ accel = 0.2; closed = true; dir = 0; addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 11, frame12, 12, frame13, 25, frame26); super(x, y, xspeed, yspeed, 2); if (left){ this.x = 600; dir = 180; } else { this.x = -100; this.scaleX = (this.scaleX * -1); }; cutoff = 150; this.left = left; this.type = type; setHP(200); score = 800; money = 6; dropRate = 1; deathSpin = false; cutoff = 100; } function fire(){ var a:int; a = 0; while (a < 7) { parent.addChild(new WaveBullet2(x, y, NaN, NaN, (((Math.random() * 20) - 10) + dir), ((Math.random() * 6) + 2))); a++; }; parent.addChild(new OrangeBullet(x, y, NaN, NaN, (((Math.random() * 20) - 10) + dir), ((Math.random() * 6) + 2))); parent.addChild(new FlameBullet(x, y, NaN, NaN, (((Math.random() * 20) - 10) + dir), ((Math.random() * 6) + 2))); } function frame3(){ if (this){ fire(); }; } function frame4(){ if (this){ fire(); }; } function frame5(){ if (this){ fire(); }; } function frame6(){ if (this){ fire(); }; } function frame7(){ if (this){ fire(); }; } function frame12(){ stop(); } function frame13(){ (root as Main).makeSound("log2", "f"); } function frame1(){ stop(); } function frame2(){ if (this){ fire(); }; } function frame8(){ if (this){ fire(); }; } function frame9(){ if (this){ fire(); }; } function frame26(){ if (this){ kill(); }; } override function special():Boolean{ if (((((t % type) == 0)) && (closed))){ closed = false; play(); }; return (false); } } }//package foes
Section 134
//Kitten (foes.Kitten) package foes { public class Kitten extends Foe { public function Kitten(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(1); score = 30; money = 1; dropRate = 0.6; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("kitten", "f"); } function frame1(){ kitten = (Math.floor((Math.random() * 6)) + 1); stop(); } } }//package foes
Section 135
//LazorBot (foes.LazorBot) package foes { import bullets.*; public class LazorBot extends Foe { public function LazorBot(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 12, frame13); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(110); this.boom = true; score = 350; money = 5; dropRate = 1; dropChance = 0.02; } function frame13(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("metal", "f"); } function frame8(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ var a:int; if ((t % type) == 0){ a = 4; while (a > 0) { parent.addChild(new RedLazor((x - 30), (y + 40), NaN, NaN, 90, (3 + a))); parent.addChild(new RedLazor((x + 30), (y + 40), NaN, NaN, 90, (3 + a))); a--; }; }; return (false); } } }//package foes
Section 136
//LeftLog (foes.LeftLog) package foes { public class LeftLog extends Foe { public function LeftLog(a:Number, b:Number, c:Number, d:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 13, frame14); super(a, b, c, d); setHP(6); score = 50; deathSpin = false; dropChance = 0; } function frame14(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("log", "f"); } function frame8(){ (root as Main).makeSound("log2", "f"); } } }//package foes
Section 137
//Mage (foes.Mage) package foes { import bullets.*; public class Mage extends Foe { var decel:Number; public function Mage(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 20, frame21); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(32); score = 250; money = 4; dropRate = 1; dropChance = 0.02; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("eye", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("eye", "f"); } function frame21(){ if (this){ kill(); }; } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new OrangeBomb(x, y, NaN, NaN, getAngle(x, y), 4, Math.floor(((Math.random() * 30) + 60)))); }; return (false); } } }//package foes
Section 138
//MediumRock (foes.MediumRock) package foes { import levels.*; public class MediumRock extends Foe { public function MediumRock(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 10, frame11); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(12); score = 100; money = 2; dropRate = 0.5; dropChance = 0; deathSpin = false; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override public function death(){ (parent as Level).addFoe(new SmallRock(((x + (Math.random() * 40)) - 20), ((y + (Math.random() * 40)) - 20), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new TinyRock(((x + (Math.random() * 40)) - 20), ((y + (Math.random() * 40)) - 20), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new SmallRock(((x + (Math.random() * 20)) - 10), ((y + (Math.random() * 20)) - 10), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); (parent as Level).addFoe(new TinyRock(((x + (Math.random() * 20)) - 10), ((y + (Math.random() * 20)) - 10), ((Math.random() * 6) - 3), ((Math.random() * 4) + yspeed), 0, 0)); } function frame11(){ if (this){ kill(); }; } function frame2(){ (root as Main).makeSound("rock4", "f"); } function frame8(){ (root as Main).makeSound("rock3", "f"); } } }//package foes
Section 139
//Missile (foes.Missile) package foes { import bullets.*; public class Missile extends Foe { public function Missile(a:Number, b:Number, c:Number, d:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 17, frame18); super(a, b, c, d); setHP(60); this.boom = true; score = 0; money = 0; dropRate = 0; dropChance = 0; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override public function death(){ var a:Number; a = 2; while (a < 7) { parent.addChild(new OrangeBullet(x, y, NaN, NaN, ((90 + (Math.random() * 60)) - 30), (5 + (Math.random() * 4)))); a++; }; } function frame2(){ (root as Main).makeSound("metal", "f"); } function frame8(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ if (this.y > (player.y - 200)){ return (true); }; return (false); } } }//package foes
Section 140
//Monolith (foes.Monolith) package foes { import bullets.*; public class Monolith extends Foe { public function Monolith(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 35, frame36); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(1200); score = 5000; money = 7; dropRate = 4; dropChance = 0.1; cutoff = 100; deathSpin = false; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("explode", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("rock3", "f"); } function frame36(){ if (this){ kill(); }; } override function special():Boolean{ var a:int; var ss:Number; if ((t % 30) == 0){ a = 0; while (a < 360) { parent.addChild(new RedBullet(x, y, NaN, NaN, (getAngle(x, y) + a), 5)); a = (a + 30); }; }; if ((t % 30) == 1){ a = 10; while (a < 360) { parent.addChild(new RedBullet(x, y, NaN, NaN, (getAngle(x, y) + a), 5)); a = (a + 30); }; }; if ((t % 30) == 2){ a = 20; while (a < 360) { parent.addChild(new RedBullet(x, y, NaN, NaN, (getAngle(x, y) + a), 5)); a = (a + 30); }; }; if ((t % type) < 16){ ss = (2 + ((t % type) / 2)); parent.addChild(new RedDiamond(x, y, NaN, NaN, ((getAngle(x, y) + (Math.random() * 20)) - 10), (ss + (Math.random() * 2)))); parent.addChild(new RedBullet(x, y, NaN, NaN, ((getAngle(x, y) + (Math.random() * 10)) - 5), (ss + (Math.random() * 2)))); }; return (false); } } }//package foes
Section 141
//Moor (foes.Moor) package foes { import bullets.*; public class Moor extends Foe { var left:Boolean; var decel:Number; var p:Number;// = 0 var accel:Number;// = 0.2 public function Moor(x:Number, y:Number, left:Boolean, type:Number){ accel = 0.2; p = 0; addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 14, frame15); super(x, y, 0, 0, 0); if (left){ this.x = 550; this.scaleX = (this.scaleX * -1); p = (p + 180); } else { this.x = -50; }; cutoff = 150; this.type = type; this.left = left; setHP(40); score = 300; money = 5; dropRate = 1; } function frame15(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("fish2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("fish", "f"); } override function special():Boolean{ p = (p + 4); if (left){ xspeed = (xspeed - accel); } else { xspeed = (xspeed + accel); }; if ((t % 2) == 0){ parent.addChild(new OrangeLazor(x, y, NaN, NaN, p, 3)); parent.addChild(new OrangeLazor(x, y, NaN, NaN, (360 - p), 3)); }; return (false); } } }//package foes
Section 142
//Obelisk (foes.Obelisk) package foes { import bullets.*; public class Obelisk extends Foe { var decel:Number; public function Obelisk(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 35, frame36); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(330); score = 700; money = 4; dropRate = 5; dropChance = 0.2; deathSpin = false; cutoff = 100; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("explode", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("rock3", "f"); } function frame36(){ if (this){ kill(); }; } override function special():Boolean{ if ((t % type) < 25){ parent.addChild(new RedDiamond(x, (y - 16), NaN, NaN, ((getAngle(x, y) + (Math.random() * 20)) - 10), (4 + ((t % type) / 2)))); parent.addChild(new RedDiamond(x, (y - 16), NaN, NaN, (((getAngle(x, y) + (Math.random() * 20)) - 10) + 180), (4 + ((t % type) / 2)))); }; return (false); } } }//package foes
Section 143
//PinkJelly (foes.PinkJelly) package foes { import bullets.*; public class PinkJelly extends Foe { var decel:Number; public function PinkJelly(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(14); score = 150; money = 3; dropRate = 0.5; dropChance = 0.02; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("slime2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("slime", "f"); } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new PinkBullet(x, y, 0, 3)); }; return (false); } } }//package foes
Section 144
//PurpleJelly (foes.PurpleJelly) package foes { import bullets.*; public class PurpleJelly extends Foe { var decel:Number; public function PurpleJelly(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 5, frame6, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(14); score = 150; money = 3; dropRate = 0.5; dropChance = 0.02; } function frame18(){ if (this){ kill(); }; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("slime2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("slime", "f"); } override function special():Boolean{ if ((t % type) < 4){ parent.addChild(new PurpleBullet(x, y, NaN, NaN, getAngle(x, y), (6 + (t % type)))); }; return (false); } } }//package foes
Section 145
//RedSlime (foes.RedSlime) package foes { import bullets.*; public class RedSlime extends Foe { public function RedSlime(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(32); score = 150; money = 4; dropRate = 0.8; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("slime2", "f"); } function frame1(){ stop(); } override public function death(){ var a:Number; a = 0; while (a < 7) { parent.addChild(new SmallRedBullet(x, y, NaN, NaN, (Math.random() * 360), (3 + (Math.random() * 3)))); a++; }; } function frame2(){ (root as Main).makeSound("slime", "f"); } } }//package foes
Section 146
//RightLog (foes.RightLog) package foes { public class RightLog extends Foe { public function RightLog(a:Number, b:Number, c:Number, d:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 13, frame14); super(a, b, c, d); setHP(6); score = 50; deathSpin = false; dropChance = 0; } function frame14(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("log", "f"); } function frame8(){ (root as Main).makeSound("log2", "f"); } } }//package foes
Section 147
//SeaBomb (foes.SeaBomb) package foes { import bullets.*; public class SeaBomb extends Foe { var b:Number; public function SeaBomb(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 6, frame7, 7, frame8, 17, frame18); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(60); score = 200; money = 3; dropRate = 5; } function frame18(){ if (this){ kill(); }; } function frame7(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } override public function death(){ var a:Number; trace("BOOM"); a = 0; while (a < delay) { parent.addChild(new SmallRedBullet(x, y, NaN, NaN, (Math.random() * 360), 6)); parent.addChild(new SmallRedBullet(x, y, NaN, NaN, (Math.random() * 360), 4)); a++; }; } function frame2(){ (root as Main).makeSound("metal", "f"); } function frame8(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ if (this.y > player.y){ return (true); }; return (false); } } }//package foes
Section 148
//Shark (foes.Shark) package foes { import bullets.*; public class Shark extends Foe { var left:Boolean; var decel:Number; var accel:Number;// = 0.2 public function Shark(x:Number, y:Number, left:Boolean, type:Number){ accel = 0.2; addFrameScript(0, frame1, 5, frame6, 20, frame21); super(x, y, 0, 0, 0); if (left){ this.x = 550; this.scaleX = (this.scaleX * -1); } else { this.x = -50; }; cutoff = 150; this.type = type; this.left = left; setHP(70); score = 300; money = 4; dropRate = 1; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame21(){ if (this){ kill(); }; } override function special():Boolean{ if (left){ xspeed = (xspeed - accel); } else { xspeed = (xspeed + accel); }; if ((t % type) == 0){ parent.addChild(new BlueBullet(x, y, NaN, NaN, (Math.random() * 360), ((Math.random() * 2) + 3))); }; return (false); } } }//package foes
Section 149
//Shroom (foes.Shroom) package foes { import bullets.*; public class Shroom extends Foe { var decel:Number; public function Shroom(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 18, frame19); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(12); score = 100; money = 2; dropRate = 2; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame19(){ if (this){ kill(); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("shroom", "f"); } function frame8(){ (root as Main).makeSound("shroom2", "f"); } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new SporeBullet(x, y, 0, 0)); }; return (false); } } }//package foes
Section 150
//Shrub (foes.Shrub) package foes { import bullets.*; public class Shrub extends Foe { var decel:Number; public function Shrub(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(24); score = 100; money = 4; dropRate = 0.7; dropChance = 0.03; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("bush2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("bush", "f"); } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new FlameBullet(x, y, NaN, NaN, ((getAngle(x, y) + (Math.random() * 20)) - 10), 3)); }; return (false); } } }//package foes
Section 151
//SlimeKing (foes.SlimeKing) package foes { import drops.*; import bullets.*; public class SlimeKing extends Foe { var decel:Number; var halt:Boolean;// = true var b:Number;// = 1 var m:Number;// = 1 var p:Number;// = 0 var u:Number;// = 0 var o:Number;// = 0 var w:Number;// = 0 var bx2:Number; var mode2:Number;// = 0 var mode:Number;// = 0 public function SlimeKing(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; o = 0; b = 1; m = 1; halt = true; mode = 0; mode2 = 0; w = 0; u = 0; addFrameScript(0, frame1, 1, frame2, 4, frame5, 5, frame6, 9, frame10, 16, frame17, 21, frame22, 50, frame51); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(2000); score = 20000; money = 3; dropRate = 25; cutoff = 200; deathSpin = false; boss = true; } function frame10(){ (root as Main).makeSound("explode", "f"); } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame6(){ (root as Main).makeSound("explode", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("slime", "f"); } function frame17(){ (root as Main).makeSound("explode", "f"); } function frame22(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ var a:int; by = (y + 50); bx = (x - 120); bx2 = (x + 120); w++; if ((((mode == 1)) && ((w > 30)))){ parent.addChild(new YellowBullet(bx, by, NaN, NaN, (Math.random() * 360), 4)); parent.addChild(new YellowBullet(bx2, by, NaN, NaN, (Math.random() * 360), 4)); } else { if ((((mode == 2)) && ((w > 70)))){ if ((t % 32) < 16){ parent.addChild(new YellowBullet(bx, by, NaN, NaN, getAngle(bx, by), (4 + (t % 16)))); parent.addChild(new YellowBullet(bx2, by, NaN, NaN, getAngle(bx2, by), (4 + (t % 16)))); }; } else { if ((((mode == 3)) && ((w > 50)))){ a = 0; while (a < 2) { parent.addChild(new YellowBullet(bx, by, NaN, NaN, (Math.random() * 360), 3)); parent.addChild(new YellowBullet(bx2, by, NaN, NaN, (Math.random() * 360), 3)); a++; }; } else { if ((((mode == 4)) && ((w > 50)))){ a = 0; while (a < 2) { parent.addChild(new YellowBullet(bx2, by, NaN, NaN, ((-90 + ((t % 100) * 8)) + (Math.random() * 3)), (4 + a))); parent.addChild(new YellowBullet(bx, by, NaN, NaN, ((-90 - ((t % 100) * 8)) + (Math.random() * 3)), (4 + a))); a++; }; } else { if ((((mode == 5)) && ((w > 50)))){ if ((t % 5) == 0){ if ((t % 40) > 19){ b = 0; while (b < 360) { parent.addChild(new YellowBullet2(bx, by, NaN, NaN, ((b + ((t % 20) * 4)) + u), (2 + ((t % 20) / 5)))); parent.addChild(new YellowBullet2(bx2, by, NaN, NaN, ((b + ((t % 20) * 4)) + u), (2 + ((t % 20) / 5)))); u = (u + 0.3); b = (b + 40); }; }; }; }; }; }; }; }; if (HP > ((maxHP * 4) / 5)){ if (mode != 1){ mode = 1; w = 0; superArmor = 0; extraHeart(); }; } else { if (HP > ((maxHP * 3) / 5)){ if (mode != 2){ mode = 2; w = 0; superArmor = 60; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 2) / 5)){ if (mode != 3){ mode = 3; w = 0; superArmor = 60; extraHeart(); }; } else { if (HP > ((maxHP * 1) / 5)){ if (mode != 4){ mode = 4; w = 0; superArmor = 60; parent.addChild(new Heart(x, y)); }; } else { if (HP < ((maxHP * 1) / 5)){ if (mode != 5){ mode = 5; w = 0; superArmor = 60; }; }; }; }; }; }; return (false); } function frame51(){ if (this){ kill(); }; } } }//package foes
Section 152
//SlimeKing2 (foes.SlimeKing2) package foes { import drops.*; import bullets.*; public class SlimeKing2 extends SlimeKing { public function SlimeKing2(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ super(x, y, xspeed, yspeed, motion, type); setHP(8000); score = 100000; money = 3; dropRate = 25; } override function special():Boolean{ var a:int; var b:int; by = (y + 50); bx = (x - 120); bx2 = (x + 120); w++; if ((((mode == 1)) && ((w > 30)))){ if ((t % 5) == 0){ if ((t % 40) < 20){ b = 0; while (b < 360) { parent.addChild(new LeafBullet(bx, by, NaN, NaN, ((b + ((t % 20) * 6)) + u), (1.5 + ((t % 10) / 6)))); parent.addChild(new LeafBullet(bx2, by, NaN, NaN, ((b + ((t % 20) * 6)) + u), (1.5 + ((t % 10) / 6)))); u = (u + 0.1); b = (b + 40); }; }; if ((t % 40) > 19){ b = 0; while (b < 360) { parent.addChild(new YellowBullet2(bx, by, NaN, NaN, ((b + ((t % 20) * 4)) + u), (2 + ((t % 20) / 5)))); parent.addChild(new YellowBullet2(bx2, by, NaN, NaN, ((b + ((t % 20) * 4)) + u), (2 + ((t % 20) / 5)))); u = (u + 0.3); b = (b + 40); }; }; }; } else { if ((((mode == 2)) && ((w > 140)))){ if ((t % 60) < 6){ b = 0; while (b < 3) { parent.addChild(new BigWhiteBullet(bx, by, NaN, NaN, ((getAngle(bx, by) + (Math.random() * 30)) - 15), (2 + ((t % 6) / 2)))); parent.addChild(new BigWhiteBullet(bx2, by, NaN, NaN, ((getAngle(bx2, by) + (Math.random() * 80)) - 40), (2 + ((t % 6) / 2)))); parent.addChild(new YellowBullet2(bx, by, NaN, NaN, ((getAngle(bx, by) + (Math.random() * 40)) - 20), (2 + ((t % 6) / 2)))); parent.addChild(new YellowBullet2(bx2, by, NaN, NaN, ((getAngle(bx2, by) + (Math.random() * 120)) - 60), (2 + ((t % 6) / 2)))); b++; }; }; } else { if ((((mode == 3)) && ((w > 50)))){ if ((t % 3) == 0){ b = 0; while (b < 3) { p = (p + 3); parent.addChild(new LeafBullet(150, 150, NaN, NaN, (p + u), 2.5)); parent.addChild(new LeafBullet(350, 150, NaN, NaN, ((360 - p) + u), 2.5)); p = (p + 3); parent.addChild(new YellowBullet(150, 150, NaN, NaN, (p + u), 1.8)); parent.addChild(new YellowBullet(350, 150, NaN, NaN, ((360 - p) + u), 1.8)); b++; }; u = (u + 0.1); }; } else { if ((((mode == 4)) && ((w > 120)))){ b = 0; while (b < 3) { p = (p + 1); if ((t % 2) == 0){ parent.addChild(new YellowBullet(bx, by, NaN, NaN, ((90 - p) + u), 2.5)); parent.addChild(new YellowBullet(bx2, by, NaN, NaN, ((90 + p) + u), 2.5)); u = (u + 0.2); }; b++; }; b = 0; while (b < 3) { p = (p + 1); if ((t % 2) == 1){ parent.addChild(new YellowBullet(bx, by, NaN, NaN, (((90 - p) + u) + 192), 2.5)); parent.addChild(new YellowBullet(bx2, by, NaN, NaN, (((90 + p) + u) + 192), 2.5)); u = (u + 0.2); }; b++; }; } else { if ((((mode == 5)) && ((w > 120)))){ parent.addChild(new GreenBullet(bx, by, ((-(t) * 6) - u), 5, (100 - (t % 100)))); parent.addChild(new GreenBullet(bx2, by, ((t * 6) + u), 5, (120 - (t % 100)))); parent.addChild(new GreenBullet(bx, by, (((-(t) * 6) - u) + 180), (3 + (t % 4)), (100 - (t % 100)))); parent.addChild(new GreenBullet(bx2, by, (((t * 6) + u) + 180), (3 + (t % 4)), (100 - (t % 100)))); parent.addChild(new LeafBullet(bx, by, NaN, NaN, ((-(t) * 5) - u), 3.5)); parent.addChild(new LeafBullet(bx2, by, NaN, NaN, ((t * 5) + u), 3.5)); u = (u + 0.4); } else { if ((((mode == 6)) && ((w > 120)))){ if ((t % 2) == 0){ parent.addChild(new GreenBall(bx, by, ((-(t) * 7) - u), 3)); parent.addChild(new GreenBall(bx2, by, ((t * 7) + u), 3)); parent.addChild(new LeafBullet(bx, by, NaN, NaN, ((-(t) * 5) - u), 6)); parent.addChild(new LeafBullet(bx2, by, NaN, NaN, ((t * 5) + u), 6)); parent.addChild(new GreenSlimeBullet(bx, by, NaN, NaN, ((-(t) * 6) - u), 4)); parent.addChild(new GreenSlimeBullet(bx2, by, NaN, NaN, ((t * 6) + u), 4)); parent.addChild(new GreenBullet(bx, by, ((-(t) * 9) - u), 5.5, (50 - (t % 50)))); parent.addChild(new GreenBullet(bx2, by, ((t * 9) + u), 5.5, (50 - (t % 50)))); u = (u + 0.1); }; } else { if ((((mode == 7)) && ((w > 120)))){ if ((t % 3) == 0){ if ((t % 40) < 20){ b = 0; while (b < 360) { parent.addChild(new LeafBullet(bx, by, NaN, NaN, ((b + ((t % 20) * 2)) + u), (1.5 + ((t % 20) / 4)))); parent.addChild(new LeafBullet(bx2, by, NaN, NaN, ((b + ((t % 20) * 2)) + u), (1.5 + ((t % 20) / 4)))); u = (u + 0.1); b = (b + 40); }; }; if ((t % 40) > 19){ b = 0; while (b < 360) { parent.addChild(new PurpleBullet(bx, by, NaN, NaN, ((b + ((t % 20) * 2)) + u), (1.5 + ((t % 20) / 5)))); parent.addChild(new PurpleBullet(bx2, by, NaN, NaN, ((b + ((t % 20) * 2)) + u), (1.5 + ((t % 20) / 5)))); u = (u + 0.3); b = (b + 40); }; }; }; } else { if ((((mode == 8)) && ((w > 120)))){ o = (Math.sin(t) + 1); if ((t % 2) == 0){ parent.addChild(new GreenBall(bx, by, ((-(t) * 7) - u), (2 + (o * 2)))); parent.addChild(new GreenBall(bx2, by, ((t * 7) + u), (2 + (o * 2)))); parent.addChild(new LeafBullet(bx, by, NaN, NaN, ((-(t) * 5) - u), (4 + o))); parent.addChild(new LeafBullet(bx2, by, NaN, NaN, ((t * 5) + u), (4 + o))); parent.addChild(new YellowBullet2(bx, by, NaN, NaN, ((-(t) * 6) - u), (3 + o))); parent.addChild(new YellowBullet2(bx2, by, NaN, NaN, ((t * 6) + u), (3 + o))); parent.addChild(new WhiteBullet(bx, by, NaN, NaN, ((-(t) * 7) - u), (2.5 + o))); parent.addChild(new WhiteBullet(bx2, by, NaN, NaN, ((t * 7) + u), (2.5 + o))); parent.addChild(new GreenBullet(bx, by, ((-(t) * 9) - u), (3 + (Math.random() * 2)), (80 - (t % 80)))); parent.addChild(new GreenBullet(bx2, by, ((t * 9) + u), (3 + (Math.random() * 2)), (80 - (t % 80)))); u = (u + 0.1); }; }; }; }; }; }; }; }; }; if (HP > ((maxHP * 7) / 8)){ if (mode != 1){ mode = 1; superArmor = 0; }; } else { if (HP > ((maxHP * 6) / 8)){ if (mode != 2){ mode = 2; nextPattern(10, 20); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 5) / 8)){ if (mode != 3){ mode = 3; nextPattern(10, 20); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 4) / 8)){ if (mode != 4){ mode = 4; nextPattern(15, 20); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 3) / 8)){ if (mode != 5){ mode = 5; nextPattern(15, 20); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 2) / 8)){ if (mode != 6){ mode = 6; nextPattern(15, 20); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 1) / 8)){ if (mode != 7){ mode = 7; nextPattern(20, 20); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP < ((maxHP * 1) / 8)){ if (mode != 8){ mode = 8; nextPattern(20, 20); w = 0; }; }; }; }; }; }; }; }; }; return (false); } } }//package foes
Section 153
//Slinger (foes.Slinger) package foes { import bullets.*; public class Slinger extends Foe { var decel:Number; public function Slinger(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 20, frame21); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(35); score = 250; money = 3; dropRate = 3; dropChance = 0.02; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("metal", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("metal", "f"); } function frame21(){ if (this){ kill(); }; } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new OrangeBullet(x, y, NaN, NaN, getAngle(x, y), 7)); }; return (false); } } }//package foes
Section 154
//SmallBrick (foes.SmallBrick) package foes { public class SmallBrick extends Foe { var decel:Number; public function SmallBrick(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 5, frame6); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(Infinity); score = 0; money = 0; dropRate = 0; dropChance = 0; cutoff = 100; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } } }//package foes
Section 155
//SmallRock (foes.SmallRock) package foes { public class SmallRock extends Foe { public function SmallRock(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 11, frame12); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(4); score = 0; money = 1; dropRate = 0.5; dropChance = 0; } function frame12(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("rock5", "f"); } function frame8(){ (root as Main).makeSound("rock4", "f"); } } }//package foes
Section 156
//Sphinx (foes.Sphinx) package foes { import drops.*; import bullets.*; public class Sphinx extends Foe { var inc:Number;// = 1 var ball1:OrbitBall; var ball2:OrbitBall; var decel:Number; var halt:Boolean;// = true var b:Number;// = 1 var m:Number;// = 1 var p:Number;// = 0 var o:Number;// = 0 var w:Number;// = 0 var bx2:Number; var mode2:Number;// = 0 var mode:Number;// = 0 public function Sphinx(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ p = 0; o = 0; b = 1; m = 1; halt = true; mode = 0; mode2 = 0; w = 0; inc = 1; addFrameScript(0, frame1, 1, frame2, 4, frame5, 8, frame9, 14, frame15, 22, frame23, 30, frame31, 37, frame38, 45, frame46, 76, frame77); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(25000); score = 80000; money = 6; dropRate = 40; cutoff = 200; deathSpin = false; boss = true; } function frame15(){ (root as Main).makeSound("explode", "f"); } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame23(){ (root as Main).makeSound("explode", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("rock3", "f"); } function frame31(){ (root as Main).makeSound("explode", "f"); } function frame38(){ (root as Main).makeSound("explode", "f"); } function frame9(){ (root as Main).makeSound("explode", "f"); } function frame46(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ var b:int; var a:uint; by = (y + 50); bx = (x - 120); bx2 = (x + 120); w++; if (t == 360){ t = 0; }; if ((((mode == 0)) && ((w > 60)))){ parent.addChild(new RedDiamond((x - 35), (y - 90), NaN, NaN, (t * 4), 5)); parent.addChild(new RedDiamond((x + 35), (y - 90), NaN, NaN, (360 - (t * 4)), 5)); parent.addChild(new OrangeLazor((x - 35), (y - 90), NaN, NaN, ((t * 4) + 2), 3)); parent.addChild(new OrangeLazor((x + 35), (y - 90), NaN, NaN, ((360 - (t * 4)) - 2), 3)); parent.addChild(new YellowBullet2((x - 35), (y - 90), NaN, NaN, ((t * 4) + 2), 7)); parent.addChild(new YellowBullet2((x + 35), (y - 90), NaN, NaN, ((360 - (t * 4)) - 2), 7)); } else { if ((((mode == 1)) && ((w > 120)))){ if ((((ball1 == undefined)) || (ball1.dead))){ ball1 = new OrbitBall(0, 0, -90, 150); parent.addChild(ball1); }; } else { if ((((mode == 2)) && ((w > 50)))){ if ((t % 10) == 0){ parent.addChild(new OrangeBomb(x, (y + 20), NaN, NaN, ((getAngle(x, y) + (Math.random() * 90)) - 45), ((Math.random() * 4) + 3), 40, 13)); }; } else { if ((((mode == 3)) && ((w > 70)))){ if ((t % 90) < 9){ a = 18; while (a > 0) { parent.addChild(new RedDiamond((x - 100), (y - 60), NaN, NaN, (Math.random() * 360), ((Math.random() * 4) + 6))); parent.addChild(new SmallRedBullet((x - 100), (y - 60), NaN, NaN, (Math.random() * 360), ((Math.random() * 2) + 3))); a--; }; }; if (((((t % 90) > 45)) && (((t % 90) < 53)))){ a = 18; while (a > 0) { parent.addChild(new RedDiamond((x + 100), (y - 60), NaN, NaN, (Math.random() * 360), ((Math.random() * 4) + 4))); parent.addChild(new SmallRedBullet((x + 100), (y - 60), NaN, NaN, (Math.random() * 360), ((Math.random() * 2) + 3))); a--; }; }; } else { if ((((mode == 4)) && ((w > 120)))){ if ((t % 45) == 0){ parent.addChild(new YellowBullet3(x, (y + 20), NaN, NaN, getAngle(x, y), 6, 6, 17, 3)); }; } else { if ((((mode == 5)) && ((w > 40)))){ t++; parent.addChild(new RedDiamond((x - 100), (y - 60), NaN, NaN, (getAngle(x, y) + ((Math.sin(t) * 360) / 6)), 5)); parent.addChild(new SmallRedBullet((x - 100), (y - 60), NaN, NaN, (getAngle(x, y) - ((Math.sin(t) * 360) / 6)), 5)); parent.addChild(new RedDiamond((x + 100), (y - 60), NaN, NaN, (getAngle(x, y) - ((Math.sin(t) * 360) / 6)), 5)); parent.addChild(new SmallRedBullet((x + 100), (y - 60), NaN, NaN, (getAngle(x, y) + ((Math.sin(t) * 360) / 6)), 5)); } else { if ((((mode == 6)) && ((w > 60)))){ parent.addChild(new RedDiamond(x, (y - 30), NaN, NaN, (Math.random() * 360), 7)); parent.addChild(new RedDiamond(x, (y - 30), NaN, NaN, (Math.random() * 360), 5)); parent.addChild(new YellowBullet2(x, (y - 30), NaN, NaN, (Math.random() * 360), 4.5)); parent.addChild(new OrangeLazor(x, (y - 30), NaN, NaN, (Math.random() * 360), 4)); parent.addChild(new SmallRedBullet(x, (y - 30), NaN, NaN, (Math.random() * 360), 5.5)); parent.addChild(new YellowBullet(x, (y - 30), NaN, NaN, (Math.random() * 360), 3.5)); parent.addChild(new OrangeBullet(x, (y - 30), NaN, NaN, (Math.random() * 360), 6)); }; }; }; }; }; }; }; if (HP > ((maxHP * 6) / 7)){ if (mode != 0){ mode = 0; w = 0; superArmor = 0; extraHeart(); }; } else { if (HP > ((maxHP * 5) / 7)){ if (mode != 1){ mode = 1; w = 0; superArmor = 60; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 4) / 7)){ if (mode != 2){ mode = 2; w = 0; superArmor = 60; ball1.play(); extraHeart(); }; } else { if (HP > ((maxHP * 3) / 7)){ if (mode != 3){ mode = 3; w = 0; p = 0; superArmor = 60; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 2) / 7)){ if (mode != 4){ mode = 4; w = 0; superArmor = 60; extraHeart(); }; } else { if (HP > ((maxHP * 1) / 7)){ if (mode != 5){ mode = 5; w = 0; superArmor = 60; parent.addChild(new Heart(x, y)); }; } else { if (HP <= ((maxHP * 1) / 7)){ if (mode != 6){ mode = 6; w = 0; superArmor = 60; }; }; }; }; }; }; }; }; return (false); } function frame77(){ if (this){ kill(); }; } } }//package foes
Section 157
//Sphinx2 (foes.Sphinx2) package foes { import drops.*; import bullets.*; public class Sphinx2 extends Sphinx { var u:Number;// = 0 public function Sphinx2(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ u = 0; super(x, y, xspeed, yspeed, motion, type); setHP(55000); score = 400000; money = 6; dropRate = 30; } override function special():Boolean{ var b:int; by = (y + 50); bx = (x - 120); bx2 = (x + 120); w++; u = (u + 0.2); if (t == 360){ t = 0; }; if ((((mode == 0)) && ((w > 60)))){ parent.addChild(new DemonBullet(x, (y + 20), NaN, NaN, ((t * 13) + u), 4)); parent.addChild(new OrangeBullet(x, (y + 20), NaN, NaN, ((t * 6) + u), 5)); parent.addChild(new OrangeBullet(x, (y + 20), NaN, NaN, ((t * 5) + u), 3)); parent.addChild(new OrangeLazor(x, (y + 20), NaN, NaN, ((t * 7) + u), 7)); } else { if ((((mode == 1)) && ((w > 120)))){ if ((t % 8) == 0){ b = 3; while (b < 9) { parent.addChild(new DemonBullet(x, (y - 30), NaN, NaN, ((t * 2) + u), (4 + (b * 2)))); parent.addChild(new DemonBullet(x, (y - 30), NaN, NaN, (((t * 2) + u) + 180), (4 + (b * 2)))); b++; }; }; if ((t % 30) == 0){ b = 0; while (b < 360) { parent.addChild(new OrangeLazor(x, (y - 30), NaN, NaN, (b + u), 6)); b = (b + 10); }; }; if ((t % 30) == 10){ b = 0; while (b < 360) { parent.addChild(new OrangeBullet(x, (y - 30), NaN, NaN, (b + u), 5)); b = (b + 6); }; }; if ((t % 30) == 20){ b = 0; while (b < 360) { parent.addChild(new WaveBullet2(x, (y - 30), NaN, NaN, (b + u), 4)); b = (b + 20); }; }; } else { if ((((mode == 2)) && ((w > 50)))){ if ((t % 2) == 0){ parent.addChild(new OrangeBullet((Math.random() * 500), -5, NaN, NaN, 90, (2 + (Math.random() * 2)))); }; if ((t % 200) == 0){ b = 0; while (b < 8) { parent.addChild(new BeamLazor((Math.random() * 500), 603, (((90 - 180) + (Math.random() * 30)) - 15))); b++; }; }; if ((t % 200) == 100){ b = 0; while (b < 8) { parent.addChild(new BeamLazor((Math.random() * 500), -3, ((90 + (Math.random() * 30)) - 15))); b++; }; }; if ((t % 200) == 50){ b = 0; while (b < 9) { parent.addChild(new BeamLazor(-3, (Math.random() * 600), ((0 + (Math.random() * 30)) - 15))); b++; }; }; if ((t % 200) == 150){ b = 0; while (b < 9) { parent.addChild(new BeamLazor(503, (Math.random() * 600), ((180 + (Math.random() * 30)) - 15))); b++; }; }; } else { if ((((mode == 3)) && ((w > 70)))){ if ((t % 10) == 0){ parent.addChild(new OrangeBomb(x, (y - 20), NaN, NaN, (t * 3), 4, 40, 6)); }; if ((t % 5) == 0){ parent.addChild(new OrangeBomb(x, (y - 20), NaN, NaN, ((t * 3) + 180), 10, 48, 5)); }; } else { if ((((mode == 4)) && ((w > 120)))){ if ((t % 50) == 0){ }; if ((t % 30) < 5){ b = 0; while (b < 360) { parent.addChild(new YellowBullet((x - 100), (y - 60), NaN, NaN, ((-(b) - (t * 8)) - u), 3)); parent.addChild(new YellowBullet((x + 100), (y - 60), NaN, NaN, ((b + (t * 8)) + u), 3)); b = (b + 60); }; }; if ((t % 120) == 60){ b = 0; while (b < 9) { parent.addChild(new BeamLazor(-3, (Math.random() * 600), ((0 + (Math.random() * 30)) - 15))); b++; }; }; if ((t % 120) == 0){ b = 0; while (b < 9) { parent.addChild(new BeamLazor(503, (Math.random() * 600), ((180 + (Math.random() * 30)) - 15))); b++; }; }; } else { if ((((mode == 5)) && ((w > 40)))){ if ((t % 80) < 40){ b = 0; while (b < 360) { parent.addChild(new WaveBullet2(x, (y + 20), NaN, NaN, ((b + ((t % 40) * 8)) + u), (2 + ((t % 40) / 13)))); b = (b + 90); }; }; if ((t % 80) > 39){ b = 0; while (b < 360) { parent.addChild(new WaveBullet2(x, (y + 20), NaN, NaN, (((b + ((t % 40) * 8)) + 45) + u), (2 + ((49 - (t % 40)) / 10)))); b = (b + 90); }; }; if ((t % 40) < 4){ b = 0; while (b < 360) { parent.addChild(new WaveBullet(x, (y + 20), NaN, NaN, (((b + ((t % 40) * 6)) + 45) + u), (2 + ((t % 40) / 2)))); b = (b + 30); }; }; } else { if ((((mode == 6)) && ((w > 60)))){ if ((t % 15) == 0){ parent.addChild(new HugeOrangeBullet((Math.random() * 500), -99, 90, (1.5 + (Math.random() * 2)))); }; if ((t % 10) == 0){ parent.addChild(new DemonBullet((Math.random() * 500), -39, NaN, NaN, 90, (3 + (Math.random() * 2)))); }; if ((t % 3) == 0){ parent.addChild(new OrangeBullet((Math.random() * 500), -5, NaN, NaN, 90, (3 + (Math.random() * 4)))); }; } else { if ((((mode == 7)) && ((w > 60)))){ if ((t % 14) == 0){ parent.addChild(new HugeRedBullet((Math.random() * 500), 699, -90, (1.5 + (Math.random() * 2)))); }; if ((t % 2) == 0){ parent.addChild(new SmallRedBullet((Math.random() * 500), 606, NaN, NaN, -90, (3 + (Math.random() * 2)))); }; } else { if ((((mode == 8)) && ((w > 100)))){ if ((t % 80) == 0){ parent.addChild(new PurpleBall((x - 100), (y - 60), NaN, NaN, getAngle((x - 100), (y - 60)), 6)); parent.addChild(new PurpleBall((x + 100), (y - 60), NaN, NaN, getAngle((x + 100), (y - 60)), 6)); }; if ((t % 50) < 8){ b = 0; while (b < 360) { parent.addChild(new PurpleBullet((x - 100), (y - 60), NaN, NaN, (b + (t * 5)), 4)); parent.addChild(new PurpleBullet((x + 100), (y - 60), NaN, NaN, (b + (t * 5)), 4)); b = (b + 60); }; }; if ((t % 20) == 0){ b = 0; while (b < 360) { parent.addChild(new SmallRedBullet(x, (y - 30), NaN, NaN, (b + u), 5)); b = (b + 12); }; }; if ((t % 20) == 5){ b = 0; while (b < 360) { parent.addChild(new RedBullet(x, (y - 30), NaN, NaN, (b + u), 7)); b = (b + 10); }; }; } else { if ((((mode == 9)) && ((w > 60)))){ parent.addChild(new WaveBullet(x, (y + 20), NaN, NaN, ((t * 9) + u), 4)); parent.addChild(new YellowBullet(x, (y + 20), NaN, NaN, ((t * 11) + u), 5)); parent.addChild(new OrangeBullet(x, (y + 20), NaN, NaN, ((t * 7.5) + u), 3.5)); parent.addChild(new LeafBullet(x, (y + 20), NaN, NaN, ((t * 9) + u), 4.5)); parent.addChild(new PurpleBullet(x, (y + 20), NaN, NaN, ((t * 7) + u), 6)); parent.addChild(new BlueWave(x, (y + 20), NaN, NaN, ((t * 10) + u), 3)); parent.addChild(new GreenSlimeBullet(x, (y + 20), NaN, NaN, ((t * 8.5) + u), 3.8)); }; }; }; }; }; }; }; }; }; }; if (HP > ((maxHP * 9) / 10)){ if (mode != 0){ mode = 0; superArmor = 0; }; } else { if (HP > ((maxHP * 8) / 10)){ if (mode != 1){ mode = 1; nextPattern(5, 30); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 7) / 10)){ if (mode != 2){ mode = 2; nextPattern(5, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 6) / 10)){ if (mode != 3){ mode = 3; nextPattern(10, 30); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 5) / 10)){ if (mode != 4){ mode = 4; nextPattern(15, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 4) / 10)){ if (mode != 5){ mode = 5; nextPattern(20, 30); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 3) / 10)){ if (mode != 6){ mode = 6; nextPattern(25, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP > ((maxHP * 2) / 10)){ if (mode != 7){ mode = 7; nextPattern(25, 30); w = 0; extraHeart(); }; } else { if (HP > ((maxHP * 1) / 10)){ if (mode != 8){ mode = 8; nextPattern(30, 30); w = 0; parent.addChild(new Heart(x, y)); }; } else { if (HP < ((maxHP * 1) / 10)){ if (mode != 9){ mode = 9; nextPattern(30, 30); w = 0; }; }; }; }; }; }; }; }; }; }; }; return (false); } } }//package foes
Section 158
//SpikeFish (foes.SpikeFish) package foes { import bullets.*; public class SpikeFish extends Foe { var decel:Number; public function SpikeFish(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(90); score = 250; money = 5; dropRate = 1; } override function specialHit(){ scaleX = (scaleX + 0.04); scaleY = (scaleY + 0.04); parent.addChild(new SpikeBullet(x, y, NaN, NaN, (Math.random() * 360), 3)); } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("fish2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("fish", "f"); } } }//package foes
Section 159
//Spikes (foes.Spikes) package foes { public class Spikes extends Foe { var decel:Number; public function Spikes(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 6, frame7); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(Infinity); score = 0; money = 0; dropRate = 0; dropChance = 0; cutoff = 100; } function frame7(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("metal", "f"); } } }//package foes
Section 160
//SteelBox (foes.SteelBox) package foes { public class SteelBox extends Foe { public function SteelBox(a:Number, b:Number, c:Number, d:Number){ addFrameScript(0, frame1, 6, frame7, 17, frame18); super(a, b, c, d); setHP(30); score = 10; } function frame18(){ if (this){ kill(); }; } function frame7(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } } }//package foes
Section 161
//Tank (foes.Tank) package foes { import levels.*; import bullets.*; public class Tank extends Foe { public function Tank(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 32, frame33); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(900); this.boom = true; score = 2000; money = 7; dropRate = 3; dropChance = 0.2; cutoff = 100; deathSpin = false; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("metal", "f"); } function frame33(){ if (this){ kill(); }; } function frame8(){ (root as Main).makeSound("explode", "f"); } override function special():Boolean{ if ((t % 2) == 0){ parent.addChild(new OrangeBullet(((x - 40) + (Math.random() * 80)), (y - 50), NaN, NaN, (((Math.random() * 30) - 15) - 90), 5)); }; if ((t % type) == 0){ (parent as Level).addFoe(new CrossBomb(((x + (Math.random() * 2)) - 1), (y + 40), 0, 6)); }; return (false); } } }//package foes
Section 162
//TinyRock (foes.TinyRock) package foes { public class TinyRock extends Foe { public function TinyRock(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 11, frame12); super(x, y, xspeed, yspeed, motion); this.delay = type; setHP(2); score = 0; money = 0; dropRate = 0; dropChance = 0; } function frame12(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("rock5", "f"); } function frame8(){ (root as Main).makeSound("rock4", "f"); } } }//package foes
Section 163
//Tree (foes.Tree) package foes { import bullets.*; public class Tree extends Foe { var decel:Number; public function Tree(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 7, frame8, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(50); score = 250; money = 4; dropRate = 1; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("log", "f"); } function frame8(){ (root as Main).makeSound("log2", "f"); } override function special():Boolean{ if ((t % type) < 5){ parent.addChild(new BigWhiteBullet(x, (y + 10), NaN, NaN, (getAngle(x, y) + ((t % type) * 3)), 6)); parent.addChild(new BigWhiteBullet(x, (y + 10), NaN, NaN, (getAngle(x, y) - ((t % type) * 3)), 6)); }; return (false); } } }//package foes
Section 164
//Wasp (foes.Wasp) package foes { import bullets.*; public class Wasp extends Foe { var decel:Number; public function Wasp(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 5, frame6, 6, frame7, 20, frame21); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(44); score = 300; money = 4; dropRate = 2; } function frame6(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("bug2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("bug", "f"); } function frame21(){ if (this){ kill(); }; } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new SmallRedBullet(x, y, NaN, NaN, (Math.random() * 360), 3)); }; return (false); } } }//package foes
Section 165
//YellowJelly (foes.YellowJelly) package foes { import bullets.*; public class YellowJelly extends Foe { var decel:Number; public function YellowJelly(x:Number, y:Number, xspeed:Number, yspeed:Number, motion:Number, type:Number){ addFrameScript(0, frame1, 1, frame2, 4, frame5, 6, frame7, 17, frame18); super(x, y, xspeed, yspeed, motion); this.type = type; setHP(23); score = 150; money = 2; dropRate = 3; dropChance = 0.02; } function frame18(){ if (this){ kill(); }; } function frame5(){ if (!dead){ gotoAndStop(1); }; } function frame7(){ (root as Main).makeSound("slime2", "f"); } function frame1(){ stop(); } function frame2(){ (root as Main).makeSound("slime", "f"); } override function special():Boolean{ if ((t % type) == 0){ parent.addChild(new YellowBall(x, y, NaN, NaN, ((getAngle(x, y) + (Math.random() * 20)) - 10), 12, 3)); }; return (false); } } }//package foes
Section 166
//Level (levels.Level) package levels { import flash.display.*; import flash.events.*; import flash.utils.*; import mochi.as3.*; import foes.*; import flash.text.*; import drops.*; import players.*; import bullets.*; import shots.*; import misc.*; import flash.geom.*; public class Level extends MovieClip { public var bestCombo:int;// = 0 var foeListP:int;// = 0 public var gameOff:Boolean;// = false public var keyIsDown:Array; var rank:Number;// = 0 public var xlimit:int;// = 500 public var bg:Number; public var b:Number;// = 1 public var moneyCollected:int;// = 0 public var d:Number;// = 0 public var t:Number;// = 0 public var pauseMenu:PauseScreen; private var ti:int; public var levelNo:Number; public var foesKilled:int;// = 0 public var comboCounter:int;// = 0 public var score:int;// = 0 public var totalFoes:int;// = 0 public var bomb:Boolean;// = false public var theBomb:PlayerBomb; var foe:Foe; private var time:int; public var player:Player; private var fps:int; var drop:Drop; public var ylimit:int;// = 600 public var bullet:Bullet; var shot:Shot; public var noTip:Boolean;// = false public var background:MovieClip; public var hitsTaken:int;// = 0 public var gameOn:Number;// = 0 public var wait:Number;// = 1 public var foeList:Array; public var bombsUsed:int;// = 0 public var level:Levels; public var combo:int;// = 1 var levelEnded:Boolean;// = false private var prevTime:int;// = 0 public var ready:MovieClip; var aRanks:int;// = 0 public var bottomBar:MovieClip; public var timeTaken:int;// = 0 public var pause:Boolean;// = false public function Level(selectedPlayer:Number, selectedLevel:Number){ keyIsDown = []; foeList = []; score = 0; xlimit = 500; ylimit = 600; b = 1; t = 0; d = 0; gameOff = false; gameOn = 0; wait = 1; combo = 1; comboCounter = 0; bomb = false; bestCombo = 0; hitsTaken = 0; foesKilled = 0; timeTaken = 0; moneyCollected = 0; totalFoes = 0; pause = false; bombsUsed = 0; noTip = false; prevTime = 0; foeListP = 0; rank = 0; aRanks = 0; levelEnded = false; super(); trace("starting level"); Global.vars.bulletArray = []; Global.vars.shotArray = []; Global.vars.foeArray = []; Global.vars.dropArray = []; pauseMenu = new PauseScreen(); this.addChild(pauseMenu); pauseMenu.x = 250; pauseMenu.y = 300; pauseMenu.visible = false; this.levelNo = selectedLevel; Medals.level = this; if (selectedLevel == 0){ level = new Level0(this); bg = 2; BGM.play("starMusic"); }; if (selectedLevel == 1){ level = new Level1(this); bg = 2; BGM.play("starMusic"); }; if (selectedLevel == 2){ level = new Level2(this); bg = 2; BGM.play("starMusic"); }; if (selectedLevel == 3){ level = new Level3(this); bg = 1; BGM.play("starMusic"); }; if (selectedLevel == 4){ level = new Level4(this); bg = 1; BGM.play("starMusic"); }; if (selectedLevel == 5){ level = new Level5(this); bg = 2; BGM.play("starMusic"); }; if (selectedLevel == 21){ level = new Level21(this); bg = 1; BGM.play("starMusic"); }; if (selectedLevel == 6){ level = new Level6(this); bg = 4; BGM.play("waterMusic"); }; if (selectedLevel == 7){ level = new Level7(this); bg = 4; BGM.play("waterMusic"); }; if (selectedLevel == 8){ level = new Level8(this); bg = 3; BGM.play("waterMusic"); }; if (selectedLevel == 9){ level = new Level9(this); bg = 3; BGM.play("waterMusic"); }; if (selectedLevel == 10){ level = new Level10(this); bg = 3; BGM.play("waterMusic"); }; if (selectedLevel == 22){ level = new Level22(this); bg = 3; BGM.play("waterMusic"); }; if (selectedLevel == 11){ level = new Level11(this); bg = 5; BGM.play("neverMusic"); }; if (selectedLevel == 12){ level = new Level12(this); bg = 5; BGM.play("neverMusic"); }; if (selectedLevel == 13){ level = new Level13(this); bg = 6; BGM.play("neverMusic"); }; if (selectedLevel == 14){ level = new Level14(this); bg = 5; BGM.play("neverMusic"); }; if (selectedLevel == 15){ level = new Level15(this); bg = 6; BGM.play("neverMusic"); }; if (selectedLevel == 23){ level = new Level23(this); bg = 6; BGM.play("neverMusic"); }; if (selectedLevel == 16){ level = new Level16(this); bg = 8; BGM.play("spaceMusic"); }; if (selectedLevel == 17){ level = new Level17(this); bg = 7; BGM.play("spaceMusic"); }; if (selectedLevel == 18){ level = new Level18(this); bg = 8; BGM.play("spaceMusic"); }; if (selectedLevel == 19){ level = new Level19(this); bg = 7; BGM.play("spaceMusic"); }; if (selectedLevel == 20){ level = new Level20(this); bg = 8; BGM.play("spaceMusic"); }; if (selectedLevel == 24){ level = new Level24(this); bg = 7; BGM.play("bossMusic"); }; if (selectedLevel == 25){ level = new Level25(this); bg = 8; BGM.play("starMusic"); }; if (selectedPlayer == 0){ player = new NoLegs(); }; if (selectedPlayer == 1){ player = new Matt(); }; if (selectedPlayer == 2){ player = new Natalie(); }; if (selectedPlayer == 3){ player = new Lance(); }; if (selectedPlayer == 4){ player = new Anna(); }; this.addChild(player); (player as Player).setup(); if (selectedLevel == 25){ (player as Player).survivalStats(); }; ready = new GetReady(); this.addChild(ready); ready.x = (ready.x - 50); ready.y = (ready.y + 150); if (((!(level.survival)) && (Global.vars.options[16]))){ player.bombs = (player.bombs * 2); }; bottomBar.bossHP.visible = false; bottomBar.bombs.text = player.bombs; bottomBar.bomb.gotoAndStop((player.playerNo + 15)); if (level.survival){ bottomBar.waves.gotoAndStop(2); bottomBar.powah.gotoAndStop(2); }; if ((player is NoLegs)){ bottomBar.weaponIcon1.gotoAndStop(1); bottomBar.weaponIcon2.gotoAndStop(6); bottomBar.p0.icons.gotoAndStop(1); }; if ((player is Matt)){ bottomBar.weaponIcon1.gotoAndStop(2); bottomBar.weaponIcon2.gotoAndStop(7); bottomBar.p0.icons.gotoAndStop(2); }; if ((player is Natalie)){ bottomBar.weaponIcon1.gotoAndStop(3); bottomBar.weaponIcon2.gotoAndStop(8); bottomBar.p0.icons.gotoAndStop(3); }; if ((player is Lance)){ bottomBar.weaponIcon1.gotoAndStop(4); bottomBar.weaponIcon2.gotoAndStop(9); bottomBar.p0.icons.gotoAndStop(4); }; if ((player is Anna)){ bottomBar.weaponIcon1.gotoAndStop(5); bottomBar.weaponIcon2.gotoAndStop(10); bottomBar.p0.icons.gotoAndStop(5); }; addEventListener(Event.ENTER_FRAME, onFrame); addEventListener(Event.ENTER_FRAME, getFps); addEventListener(Event.ENTER_FRAME, moveBullets); this.t = 0; } public function unlockMedal(medal:String){ var a:int; a = 0; while (a < Medals.medals.length) { if (medal == Medals.medals[a].name){ if (Medals.locks[a]){ trace(("Medal already unlocked: " + a)); } else { Medals.locks[a] = true; Medals.current = Medals.medals[a].pic; (bottomBar.medalBox as MovieClip).gotoAndPlay(0); trace(("Unlocking medal: " + a)); (root as Main).saveGame(); }; }; a++; }; } public function clearScore(){ var f:*; combo = 1; gameOff = true; score = 0; bottomBar.score.text = score; bottomBar.multiplier.text = combo; trace(("best combo: " + bestCombo)); trace(("foes killed: " + foesKilled)); t = 0; for each (f in foeList) { f.dead = true; f.kill(); }; } public function addFoe(foe:Foe):Foe{ addChild(foe); foe.player = player; foeList.push(foe); if (foe.score != 0){ totalFoes++; }; return (foe); } public function addScore(a:Number, x:Number, y:Number){ score = (score + (a * combo)); this.addChild(new ScoreLabel(a, combo, x, y)); bottomBar.score.text = score; } public function kongStats(){ var kongregate:*; var meds:int; var mm:int; trace("SENDING STATS TO KONGREGATE"); kongregate = (root as Main).kongregate; kongregate.stats.submit("totalKills", Medals.stats.kills); kongregate.stats.submit("totalHits", Medals.stats.damage); kongregate.stats.submit("totalPowerUps", Medals.stats.powerUps); kongregate.stats.submit(("highScore" + levelNo), (parent as Main).levelScores[levelNo]); kongregate.stats.submit("waves", (root as Main).survivalWaves); kongregate.stats.submit("kills", (root as Main).survivalKills); kongregate.stats.submit("maxMoney", (root as Main).money); meds = 0; mm = 0; while (mm < Medals.locks.length) { if (Medals.locks[mm] == true){ meds++; }; mm++; }; kongregate.stats.submit("medalsEarned", meds); kongregate.stats.submit("Aranks", aRanks); meds = 0; mm = 0; while (mm < (root as Main).playersUnlocked.length) { if ((root as Main).playersUnlocked[mm] == true){ meds++; }; mm++; }; kongregate.stats.submit("playersUnlocked", meds); meds = 0; mm = 1; while (mm <= 20) { if ((root as Main).levelRanks[mm] >= 2){ meds++; }; mm++; }; kongregate.stats.submit("gameProgress", meds); meds = 0; mm = 21; while (mm <= 24) { if ((root as Main).levelRanks[mm] >= 2){ meds++; }; mm++; }; kongregate.stats.submit("bonusProgress", meds); meds = 0; mm = 1; while (mm <= 24) { if ((root as Main).levelRanks[mm] >= 2){ meds++; }; mm++; }; kongregate.stats.submit("levelProgress", meds); } public function addMoney(v:Number){ moneyCollected = (moneyCollected + v); } public function moveBullets(e:Event){ var i:int; if (!pause){ i = 0; while (i < Global.vars.bulletArray.length) { bullet = Global.vars.bulletArray[i]; bullet.move(); if (bullet.dead){ i--; }; i++; }; foeListP = foesKilled; i = 0; while (i < foeList.length) { foe = foeList[i]; foe.move(); if (foe.dead2){ i--; foeListP++; trace(foeListP); }; i++; }; i = 0; while (i < Global.vars.shotArray.length) { shot = Global.vars.shotArray[i]; shot.onFrame(); if (shot.dead2){ i--; }; i++; }; i = 0; while (i < Global.vars.dropArray.length) { drop = Global.vars.dropArray[i]; drop.onFrame(); if (drop.dead){ i--; }; i++; }; player.move(); if (((bomb) && (theBomb))){ theBomb.onFrame(); }; (parent as Main).countSound = 0; updateBars(); if ((foesKilled - foeListP) >= 25){ Medals.unlockMedal("Ultimate Blade"); }; }; } public function useBomb(){ bomb = true; bombsUsed++; bottomBar.bombs.text = player.bombs; } public function onFrame(e:Event){ var foe:Foe; if (!pause){ if (((!(gameOff)) && (!(ready)))){ level.timer(); if (wait == 0){ level.spawn(t); t++; }; } else { gameOn++; if (gameOn == 30){ gameOn = 0; gameOff = false; t = 0; }; }; comboCounter--; if (comboCounter == 0){ addCombo(-10); }; }; } public function foeTimeOut(){ var i:int; var foe:Foe; trace("Time out!"); i = 0; while (i < foeList.length) { foe = foeList[i]; if (!foe.dead){ foe.timeOut(); if (foe.dead2){ i--; }; }; i++; }; } public function exitLevel(){ kongStats(); Global.vars.bullets = 0; removeEventListener(Event.ENTER_FRAME, onFrame); removeEventListener(Event.ENTER_FRAME, moveBullets); removeEventListener(Event.ENTER_FRAME, getFps); if (!level.survival){ (parent as Main).money = ((parent as Main).money + moneyCollected); trace(("adding money: " + moneyCollected)); moneyCollected = 0; }; trace("BACK TO MENU"); (parent as MovieClip).gotoAndStop("levelSelect"); Medals.level = undefined; parent.removeChild(this); } public function waitFor(foe:Foe):Foe{ foe.waitFlag = true; wait++; return (foe); } public function pauseGame(){ if (((!(levelEnded)) && (!(ready)))){ pause = !(pause); if (pause){ BGM.pause(); background.stop(); } else { BGM.resume(); if (Global.vars.options[0]){ background.play(); }; }; pauseMenu.visible = !(pauseMenu.visible); if (pause){ setChildIndex(pauseMenu, (numChildren - 1)); setChildIndex(bottomBar, (numChildren - 1)); } else { setChildIndex(bottomBar, 0); }; }; } public function winLevel(){ trace((((("killed " + foesKilled) + " / ") + totalFoes) + " foes.")); if (((((((parent as Main).levelRanks[(levelNo + 1)] < 0)) || (((parent as Main).levelRanks[(levelNo + 1)] == undefined)))) && (!(player.dead)))){ if (levelNo < 20){ trace(("unlocking level " + (levelNo + 1))); (parent as Main).levelRanks[(levelNo + 1)] = 1; (parent as Main).unlockedLevel = (levelNo + 1); (parent as Main).levelUnlock = true; }; }; endLevel(); } public function updateBars(){ bottomBar.mainChargeBar.scaleX = (player.mainCharge / 100); bottomBar.subChargeBar.scaleX = (player.subCharge / 100); bottomBar.hpBar.scaleX = (player.HP / player.maxHP); bottomBar.kills.text = foesKilled; bottomBar.money.text = moneyCollected; bottomBar.bullets.text = Global.vars.bullets; bottomBar.health.text = player.HP; bottomBar.main.text = Math.floor(player.mainCharge); bottomBar.sub.text = Math.floor(player.subCharge); if (ready){ setChildIndex(ready, (numChildren - 1)); }; setChildIndex(bottomBar, (numChildren - 1)); } public function addHit(){ hitsTaken++; combo = 1; if (!level.survival){ score = (Math.floor((score * 0.09)) * 10); bottomBar.hits.text = hitsTaken; bottomBar.score.text = score; }; } public function unlockMedalNo(medal:Number){ if (Medals.locks[medal]){ trace(("Medal already unlocked: " + medal)); } else { Medals.locks[medal] = true; Medals.current = Medals.medals[medal].pic; (bottomBar.medalBox as MovieClip).gotoAndPlay(0); trace(("Unlocking medal: " + medal)); (root as Main).saveGame(); }; } public function getMedals(){ var unbeaten:Boolean; var a:int; if ((((moneyCollected >= 3000)) && (!((levelNo == 25))))){ Medals.unlockMedal("Gold Farmer"); }; if ((((levelNo == 20)) && (!(player.dead)))){ Medals.unlockMedal("The End"); if (player.maxHP == 3){ Medals.unlockMedal("3 Heart Challenge"); }; }; if ((((score >= 500000)) && (!((levelNo == 25))))){ Medals.unlockMedal("500k"); }; if ((((score >= 1000000)) && (!((levelNo == 25))))){ Medals.unlockMedal("Millionaire"); }; if (aRanks >= 5){ Medals.unlockMedalNo(0); (parent as Main).unlockPlayer(2); }; if (aRanks >= 10){ Medals.unlockMedalNo(1); (parent as Main).unlockPlayer(3); }; if (aRanks >= 15){ Medals.unlockMedalNo(2); (parent as Main).unlockPlayer(4); }; if (aRanks >= 20){ Medals.unlockMedalNo(3); }; if (aRanks >= 25){ Medals.unlockMedalNo(4); }; unbeaten = false; a = 0; while (a < 4) { if (((((((parent as Main).levelRanks[(21 + a)] == 0)) || (((parent as Main).levelRanks[(21 + a)] == 1)))) || (((parent as Main).levelRanks[(21 + a)] == undefined)))){ unbeaten = true; }; a++; }; if (!unbeaten){ Medals.unlockMedal("Bullet Master"); }; if ((((((hitsTaken == 0)) && ((levelNo > 15)))) && ((levelNo < 21)))){ Medals.unlockMedal("Perfect Run"); }; if (Medals.stats.powerUps >= 100){ Medals.unlockMedalNo(14); }; if (Medals.stats.damage >= 100){ Medals.unlockMedalNo(15); }; if (Medals.stats.kills >= 300){ Medals.unlockMedalNo(8); }; if (Medals.stats.kills >= 1000){ Medals.unlockMedalNo(9); (parent as Main).unlockPlayer(2); }; if (Medals.stats.kills >= 3000){ Medals.unlockMedalNo(10); (parent as Main).unlockPlayer(3); }; if (Medals.stats.kills >= 10000){ Medals.unlockMedalNo(11); (parent as Main).unlockPlayer(4); }; if (foesKilled >= 1000){ Medals.unlockMedalNo(6); }; trace(("Total Power Ups: " + Medals.stats.powerUps)); trace(("Total Damage: " + Medals.stats.damage)); trace(("Total Kills: " + Medals.stats.kills)); } public function addItem(drop:Drop){ this.addChild(drop); this.setChildIndex(drop, getChildIndex(player)); } public function endLevel(){ var hasCheats:Boolean; var bestWaves:Boolean; var bestKills:Boolean; var board:LevelEnd; var a:int; var j:int; var percent:Number; levelEnded = true; background.stop(); root.stage.frameRate = 30; pause = true; Global.vars.bulletArray = []; Global.vars.shotArray = []; Global.vars.foeArray = []; Global.vars.dropArray = []; hasCheats = false; bestWaves = false; bestKills = false; if (((((parent as Main).levelRanks[levelNo] < 2)) && (!(player.dead)))){ MochiEvents.trackEvent(("beat level " + levelNo)); trace("BEAT NEW LEVEL!!!"); }; rank = 0; aRanks = 0; if (level.survival){ if ((level as Level25).waveCount >= 100){ rank = 8; } else { if ((level as Level25).waveCount >= 80){ rank = 7; } else { if ((level as Level25).waveCount >= 60){ rank = 6; } else { if ((level as Level25).waveCount >= 40){ rank = 5; } else { if ((level as Level25).waveCount >= 20){ rank = 4; } else { if ((level as Level25).waveCount >= 10){ rank = 3; } else { rank = 2; }; }; }; }; }; }; if ((level as Level25).waveCount > (root as Main).survivalWaves){ (root as Main).survivalWaves = (level as Level25).waveCount; bestWaves = true; }; if (foesKilled > (root as Main).survivalKills){ (root as Main).survivalKills = foesKilled; bestKills = true; }; } else { percent = (20 + Math.floor((((foesKilled / totalFoes) * 80) - (hitsTaken * 4)))); if (Global.vars.options[13]){ percent = (percent - 12); score = (score * 0.7); hasCheats = true; }; if (Global.vars.options[14]){ percent = (percent - 12); score = (score * 0.7); hasCheats = true; }; if (Global.vars.options[15]){ percent = (percent - 12); score = (score * 0.7); hasCheats = true; }; if (Global.vars.options[16]){ percent = (percent - 12); score = (score * 0.7); hasCheats = true; }; score = (Math.floor((score / 10)) * 10); if (percent >= 90){ rank = 8; } else { if (percent >= 80){ rank = 7; } else { if (percent >= 70){ rank = 6; } else { if (percent >= 60){ rank = 5; } else { if (percent >= 50){ rank = 4; } else { if (percent >= 40){ rank = 3; } else { rank = 2; }; }; }; }; }; }; if (player.dead){ rank = 1; }; }; board = new LevelEnd(score, (((foesKilled + " (") + Math.floor(((foesKilled / totalFoes) * 100))) + "%)"), hitsTaken, bestCombo, moneyCollected, rank); this.addChild(board); board.x = 250; board.y = 300; if (((!(hasCheats)) || (player.dead))){ board.cheats.visible = false; }; Medals.stats.kills = (Medals.stats.kills + foesKilled); var _local8 = Medals.stats.playerLevels; var _local9 = player.playerNo; var _local10 = (_local8[_local9] + 1); _local8[_local9] = _local10; trace((("Beaten " + Medals.stats.playerLevels[player.playerNo]) + " levels as this player")); if (Medals.stats.playerLevels[player.playerNo] >= 9){ Medals.unlockMedalNo((16 + player.playerNo)); }; if (board.best1){ board.best1.visible = false; }; if (level.survival){ board.gotoAndStop(2); if (((board.best2) && (!(bestWaves)))){ board.best2.visible = false; }; if (board.best3){ board.best3.visible = false; }; if (((board.best4) && (!(bestKills)))){ board.best4.visible = false; }; }; if ((parent as Main).levelRanks[levelNo] == undefined){ (parent as Main).levelRanks[levelNo] = 0; }; if (rank > (parent as Main).levelRanks[levelNo]){ (parent as Main).levelRanks[levelNo] = rank; }; if (score > (parent as Main).levelScores[levelNo]){ (parent as Main).levelScores[levelNo] = score; if (board.best1){ board.best1.visible = true; }; if (board.best3){ board.best3.visible = true; }; }; for each (a in (parent as Main).levelRanks) { if (a > 6){ aRanks++; }; }; trace((("A or S ranks in " + aRanks) + " levels.")); for each (j in [21, 22, 23, 24]) { if ((((aRanks >= ((j - 20) * 5))) && (((((parent as Main).levelRanks[j] < 0)) || (((parent as Main).levelRanks[j] == undefined)))))){ (parent as Main).levelRanks[j] = 1; (parent as Main).unlockedLevel = j; (parent as Main).levelUnlock = true; }; }; trace(("rrrank: " + rank)); board.rr = rank; getMedals(); kongStats(); Global.vars.bullets = 0; (parent as Main).saveGame(); } public function addCombo(n:Number){ combo = (combo + n); if (combo > 9){ combo = 9; }; if (combo < 1){ combo = 1; }; comboCounter = 60; } private function getFps(e:Event):void{ ti++; if ((ti % 30) == 0){ ti = 0; time = getTimer(); fps = ((30000 / (time - prevTime)) + 1); if (fps > 30){ fps = 30; }; bottomBar.fps.text = ("" + fps); prevTime = getTimer(); }; } public function retryLevel(){ kongStats(); Global.vars.bullets = 0; if (!level.survival){ (parent as Main).money = ((parent as Main).money + moneyCollected); trace(("adding money: " + moneyCollected)); moneyCollected = 0; }; trace("RETRY LEVEL"); (parent as Main).retryLevel(); } } }//package levels
Section 167
//Level0 (levels.Level0) package levels { import foes.*; import bullets.*; public class Level0 extends Levels { var p:Number;// = 0 var s:Number;// = 0 public function Level0(l:Level){ p = 0; s = 0; super(l); } function makeCat(x:Number){ l.addFoe(new Kitten(x, -30, 0, 4, 0, 30)); } function makeLog(x:Number){ l.addFoe(new BigLog(x, -30, 0, 4, 0, 30)); } override public function spawn(t:Number){ var b:int; if ((t % 1) == 0){ b = 0; while (b < 4) { p = (p + 3); l.addChild(new LeafBullet(150, 150, NaN, NaN, p, 2)); l.addChild(new LeafBullet(350, 150, NaN, NaN, (360 - p), 2)); p = (p + 3); l.addChild(new YellowBullet(150, 150, NaN, NaN, p, 1.5)); l.addChild(new YellowBullet(350, 150, NaN, NaN, (360 - p), 1.5)); b++; }; }; switch (t){ }; } function makeTank(x:Number){ l.addFoe(new CatRam(x, -49, 0, 4, 0, 30)); } } }//package levels
Section 168
//Level1 (levels.Level1) package levels { import foes.*; public class Level1 extends Levels { public function Level1(l:Level){ super(l); } function makeCat(x:Number){ l.addFoe(new Kitten(x, -30, 0, 4, 0, 30)); } function makeLog(x:Number){ l.addFoe(new BigLog(x, -30, 0, 4, 0, 30)); } override public function spawn(t:Number){ if (((((t % 13) == 0)) && ((t < 340)))){ makeCat(((Math.random() * 450) + 25)); }; if (((((((t % 12) == 0)) && ((t > 577)))) && ((t < 666)))){ makeCat(270); makeCat(230); }; if (((((((t % 12) == 0)) && ((t > 666)))) && ((t < 777)))){ makeCat(100); makeCat(140); makeCat(400); makeCat(360); }; if (((((((t % 12) == 0)) && ((t > 870)))) && ((t < 1000)))){ makeCat(((Math.random() * 450) + 25)); }; if (((((((t % 16) == 0)) && ((t > 1100)))) && ((t < 1220)))){ makeCat(100); makeCat(140); makeCat(400); makeCat(360); }; switch (t){ case 400: makeCat(100); makeCat(160); makeLog(130); break; case 410: makeCat(100); makeCat(160); break; case 450: makeCat(340); makeCat(400); makeLog(370); break; case 460: makeCat(340); makeCat(400); break; case 500: makeCat(220); makeCat(280); makeLog(250); break; case 510: makeCat(220); makeCat(280); break; case 850: makeTank(250).drop = "heart"; break; case 890: makeTank(200); makeTank(300); break; case 1060: makeTank(100); makeTank(400); break; case 1160: makeTank(250).drop = "heart"; makeLog(200); makeLog(300); break; case 1440: l.winLevel(); }; } function makeTank(x:Number):Foe{ return (l.addFoe(new CatRam(x, -49, 0, 4, 0, 30))); } } }//package levels
Section 169
//Level10 (levels.Level10) package levels { import foes.*; public class Level10 extends Levels { public function Level10(l:Level){ super(l); } function makeBushWall(yspeed:Number){ var b:Number; b = 0; while (b < 7) { l.addFoe(new Bush((100 + (b * 50)), -30, 0, yspeed, 0, 20)); b++; }; } function makeLogWall(){ var b:Number; b = 0; while (b < 9) { l.addFoe(new BigLog((50 + (b * 50)), -30, 0, 6, 0, 30)); b++; }; } function makeBush2(){ l.addFoe(new Bush(-30, -30, ((Math.random() * 5) + 8), ((Math.random() * 5) + 5), 2, 30)); } function makeBush3(){ l.addFoe(new Bush(530, -30, ((-(Math.random()) * 5) - 8), ((Math.random() * 5) + 5), 2, 30)); } function makeBigBush(x:Number){ l.addFoe(new BigBush(x, -49, 0, 4, 0, 3)); } function makeBigBush2(x:Number){ makeBigBush(x); makeBigBush((500 - x)); } function makeLog(x:Number){ l.addFoe(new BigLog(x, -30, 0, 4, 0, 30)); } function makeSlime(){ l.addFoe(new GreenSlime(((Math.random() * 450) + 25), -30, 0, 5, 0, 0)); } override public function spawn(t:Number){ if (((((t % 12) == 0)) && ((t < 500)))){ l.addFoe(new PinkJelly(-30, 300, 6, 0, 0, 999990)); l.addFoe(new PurpleJelly(549, 250, -6, 0, 0, 999990)); }; if (((((t % 18) == 0)) && ((t < 500)))){ l.addFoe(new BlueJelly(-49, 150, 5.5, 0, 0, 10000)); l.addFoe(new GreenJelly(530, 200, -5.5, 0, 0, 10)); }; if (((((t % 24) == 0)) && ((t < 500)))){ l.addFoe(new YellowJelly(-30, 100, 5, 0, 0, 10000)); l.addFoe(new SpikeFish(530, 50, -5, 0, 0, 10000)); }; switch (t){ case 600: l.waitFor(l.addFoe(new GiantCrab(250, -150, 0, 21, 3, 0))); BGM.play("bossMusic"); break; case 800: l.winLevel(); break; }; } function makeBush(x:Number){ l.addFoe(new Bush(x, -49, 0, 4, 0, 30)); } function makeTank(x:Number){ l.addFoe(new CatRam(x, -49, 0, 4, 0, 30)); } } }//package levels
Section 170
//Level11 (levels.Level11) package levels { import foes.*; public class Level11 extends Levels { public function Level11(l:Level){ super(l); } function makeTree(x:Number, y:Number){ return (l.waitFor(l.addFoe(new Tree(x, -49, 0, y, 3, 30)))); } function makeWasps(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Wasp(((Math.random() * 450) + 25), -49, 0, (11 + (Math.random() * 7)), 3, 1))); n++; }; } function makeEye2(x:Number){ l.addFoe(new EyeBall(x, -30, 0, 3, 0, 50)); l.addFoe(new EyeBall((500 - x), -30, 0, 3, 0, 50)); } function makeEye3(i:int){ var n:int; n = 0; while (n < i) { l.addFoe(new EyeBall(((Math.random() * 450) + 25), -30, 0, (6 + (Math.random() * 5)), 0, 5000)); n++; }; } override public function spawn(t:Number){ if (((((t % 26) == 0)) && ((t < 500)))){ makeEye2(((Math.random() * 190) + 25)); }; if (((((((t % 46) == 0)) && ((t > 1650)))) && ((t < 2200)))){ l.addFoe(new Wasp(((Math.random() * 450) + 25), -30, 0, 4, 0, 1)); }; if (((((((t % 2) == 0)) && ((t > 660)))) && ((t < 674)))){ l.addFoe(new Shroom(530, (-50 + (40 * (t % 20))), -9, 0, 0, 4)); }; if (((((((t % 2) == 0)) && ((t > 900)))) && ((t < 914)))){ l.addFoe(new Shroom(-30, (-50 + (40 * (t % 20))), 9, 0, 0, 4)); }; switch (t){ case 570: makeTree(150, 14); makeTree(350, 14); makeTree(250, 17); break; case 600: makeTree(150, 16); makeTree(350, 16); makeTree(60, 13); makeTree(440, 13); makeTree(250, 17); break; case 800: makeTree(170, 12); makeTree(330, 12); makeTree(150, 16); makeTree(350, 16); makeTree(60, 13); makeTree(440, 13); makeTree(250, 17); break; case 830: makeTree(80, 11); makeTree(420, 11); makeTree(170, 12); makeTree(330, 12); makeTree(150, 16); makeTree(350, 16); makeTree(60, 13); makeTree(440, 13); makeTree(250, 17); break; case 970: makeTree(170, 12); makeTree(330, 12); makeTree(150, 16); makeTree(350, 16); makeTree(60, 13); makeTree(440, 13); makeTree(250, 17); makeEye3(3); break; case 1030: makeTree(80, 11); makeTree(420, 11); makeTree(170, 12); makeTree(330, 12); makeTree(150, 16); makeTree(350, 16); makeTree(60, 13); makeTree(440, 13); makeEye3(5); break; case 1100: makeEye3(8); break; case 1250: makeEye3(12); break; case 1400: makeEye3(16); break; case 1550: makeEye3(20); break; case 2300: makeWasps(2); break; case 2400: makeWasps(4); makeEye3(2); break; case 2500: makeWasps(6); makeEye3(4); break; case 2720: l.winLevel(); break; }; } } }//package levels
Section 171
//Level12 (levels.Level12) package levels { import foes.*; public class Level12 extends Levels { public function Level12(l:Level){ super(l); } function makeTree(x:Number, y:Number){ return (l.waitFor(l.addFoe(new Tree(x, -49, 0, y, 3, 30)))); } function makeSlingers(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Slinger(((Math.random() * 450) + 25), -49, 0, (7 + (Math.random() * 6)), 4, 6))); n++; }; } function makeWasps(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Wasp(((Math.random() * 450) + 25), -49, 0, (10 + (Math.random() * 14)), 3, 1))); n++; }; } function makeEye2(x:Number){ l.addFoe(new EyeBall(x, -30, 0, 3, 0, 50)); l.addFoe(new EyeBall((500 - x), -30, 0, 3, 0, 50)); } function makeEye3(i:int){ var n:int; n = 0; while (n < i) { l.addFoe(new EyeBall(((Math.random() * 450) + 25), -30, 0, (6 + (Math.random() * 5)), 0, 5000)); n++; }; } function makeMages(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Mage(((Math.random() * 450) + 25), -49, 0, (7 + (Math.random() * 6)), 4, 40))); n++; }; } override public function spawn(t:Number){ if (((((((t % 150) == 0)) && ((t > 100)))) && ((t < 2000)))){ l.addFoe(new HugeRock(((Math.random() * 450) + 25), -90, 0, ((Math.random() * 2) + 3), 0, 4)); }; if (((((((t % 60) == 0)) && ((t > 100)))) && ((t < 2300)))){ l.addFoe(new BigRock(((Math.random() * 450) + 25), -30, 0, ((Math.random() * 3) + 3), 0, 4)); }; if (((((((t % 30) == 0)) && ((t > 100)))) && ((t < 2300)))){ l.addFoe(new MediumRock(((Math.random() * 450) + 25), -30, 0, ((Math.random() * 5) + 3), 0, 4)); }; if (((((((t % 15) == 0)) && ((t > 100)))) && ((t < 2300)))){ l.addFoe(new SmallRock(((Math.random() * 450) + 25), -30, 0, ((Math.random() * 5) + 3), 0, 4)); }; if (((((((t % 10) == 0)) && ((t > 100)))) && ((t < 2300)))){ l.addFoe(new TinyRock(((Math.random() * 450) + 25), -30, 0, ((Math.random() * 5) + 4), 0, 4)); }; if (((((((t % 35) == 0)) && ((t > 1100)))) && ((t < 2300)))){ l.addFoe(new Mage(((Math.random() * 450) + 25), -49, 0, 4, 0, 60)); }; if (((((((t % 80) == 0)) && ((t > 1600)))) && ((t < 2300)))){ l.addFoe(new Slinger(((Math.random() * 450) + 25), -49, 0, 5, 0, 10)); }; switch (t){ case 50: makeWasps(7); break; case 200: makeEye3(1); break; case 250: makeEye3(2); break; case 300: makeEye3(3); break; case 350: makeEye3(4); break; case 400: makeEye3(5); break; case 450: makeEye3(6); break; case 500: makeEye3(7); break; case 550: makeWasps(2); break; case 600: makeWasps(4); break; case 700: makeSlingers(4); break; case 750: makeMages(4); break; case 800: makeSlingers(7); break; case 850: makeMages(7); break; case 900: makeSlingers(10); break; case 950: makeMages(10); break; case 1000: makeSlingers(9); makeMages(9); break; case 2500: l.winLevel(); break; }; } } }//package levels
Section 172
//Level13 (levels.Level13) package levels { import foes.*; public class Level13 extends Levels { public function Level13(l:Level){ super(l); l.t = 100; } function makeWall3(){ l.addFoe(new DoubleBrick(0, -70, 0, 7, 0, 0)); l.addFoe(new DoubleBrick(440, -70, 0, 7, 0, 0)); l.addFoe(new DoubleBrick(140, -70, 0, 7, 0, 0)); l.addFoe(new DoubleBrick(300, -70, 0, 7, 0, 0)); } function makeSlingers(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Slinger(((Math.random() * 450) + 25), -49, 0, (4 + (Math.random() * 3)), 0, 6))); n++; }; } function makeTree(x:Number, y:Number){ return (l.waitFor(l.addFoe(new Tree(x, -49, 0, y, 3, 30)))); } function makeCats1(){ l.addFoe(new DeadCat(230, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(270, -30, 0, 7, 0, 0)); } function makeCat(xx:int){ l.addFoe(new DeadCat(xx, -30, 0, 7, 0, 0)); } function makeMages(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Mage(((Math.random() * 450) + 25), -49, 0, (4 + (Math.random() * 3)), 0, 40))); n++; }; } function makeWasps(i:int){ var n:int; n = 0; while (n < i) { l.addFoe(new Wasp(((Math.random() * 340) + 80), -49, 0, (7 + (Math.random() * 5)), 0, 1)); n++; }; } function makeCats2(){ l.addFoe(new DeadCat(420, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(370, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(80, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(130, -30, 0, 7, 0, 0)); } function makeEye3(i:int){ var n:int; n = 0; while (n < i) { l.addFoe(new EyeBall(((Math.random() * 450) + 25), -30, 0, (6 + (Math.random() * 5)), 0, 5000)); n++; }; } function makeBirds(i:int){ var n:int; n = 0; while (n < i) { l.addFoe(new Bird(((Math.random() * 450) + 25), -49, 0, (5 + (Math.random() * 6)), 0, 6)); n++; }; } function makeEye2(x:Number){ l.addFoe(new EyeBall(x, -30, 0, 3, 0, 50)); l.addFoe(new EyeBall((500 - x), -30, 0, 3, 0, 50)); } function makeWall1(){ l.addFoe(new HugeBrick(0, -70, 0, 7, 0, 0)); l.addFoe(new HugeBrick(300, -70, 0, 7, 0, 0)); } function makeWall2(){ l.addFoe(new HugeBrick(150, -70, 0, 7, 0, 0)); l.addFoe(new DoubleBrick(0, -70, 0, 7, 0, 0)); l.addFoe(new DoubleBrick(440, -70, 0, 7, 0, 0)); } override public function spawn(t:Number){ if (((((((t % 10) == 0)) && ((t > 120)))) && ((t < 900)))){ makeWall0(); }; switch (t){ case 30: l.waitFor(l.addFoe(new Obelisk(250, -30, 0, 16, 3, 30))); break; case 90: l.waitFor(l.addFoe(new Obelisk(100, -30, 0, 14, 3, 40))); l.waitFor(l.addFoe(new Obelisk(400, -30, 0, 14, 3, 40))); break; case 120: makeWall1(); break; case 130: makeWall1(); makeCats1(); break; case 140: makeWall1(); break; case 150: makeWall1(); makeCats1(); break; case 160: makeWall1(); break; case 170: makeWall1(); makeCats1(); break; case 180: makeWall1(); break; case 190: makeWall1(); makeCats1(); break; case 200: makeWall1(); break; case 210: makeWall1(); makeCats1(); break; case 220: makeWall0(); break; case 230: makeWall0(); break; case 240: makeWall2(); break; case 250: makeWall2(); makeCats2(); break; case 260: makeWall2(); break; case 270: makeWall2(); break; case 280: makeWall2(); break; case 290: makeWall2(); break; case 300: l.addFoe(new Spikes(20, -70, 0, 7, 0, 0)); l.addFoe(new HugeBrick(0, -120, 0, 7, 0, 0)); makeWall2(); break; case 310: makeWall2(); break; case 370: makeWasps(1); break; case 380: makeWasps(1); break; case 390: makeWasps(1); break; case 400: makeWasps(1); break; case 410: makeWasps(1); break; case 470: makeWall2(); break; case 480: makeWall2(); makeCats2(); break; case 490: makeWall2(); break; case 500: makeWall2(); break; case 510: makeWall2(); break; case 520: makeWall2(); break; case 530: l.addFoe(new Spikes(320, -70, 0, 7, 0, 0)); l.addFoe(new HugeBrick(300, -120, 0, 7, 0, 0)); makeWall2(); break; case 540: makeWall2(); break; case 640: l.addFoe(new Obelisk(150, -30, 0, 8, 0, 40)); l.addFoe(new Obelisk(350, -30, 0, 8, 0, 40)); break; case 750: makeWall3(); makeCat(90); makeCat(250); makeCat(410); break; case 760: makeWall3(); makeCat(90); makeCat(250); makeCat(410); break; case 770: makeWall3(); makeCat(90); break; case 780: makeWall3(); makeCat(90); break; case 790: makeWall3(); makeCat(90); break; case 800: makeWall3(); makeCat(90); break; case 810: makeWall3(); makeCat(90); break; case 820: makeWall3(); makeCat(90); break; case 830: makeWall3(); makeCat(90); break; case 840: makeWall3(); makeCat(90); break; case 850: makeWall3(); makeCat(90); break; case 860: makeWall3(); makeCat(90); break; case 900: makeWall3(); makeCat(90); makeCat(250); makeCat(410); break; case 910: makeWall3(); makeCat(90); makeCat(250); makeCat(410); break; case 920: makeWall3(); makeCat(410); break; case 930: makeWall3(); makeCat(410); break; case 940: makeWall3(); makeCat(410); break; case 950: makeWall3(); makeCat(410); break; case 960: makeWall3(); makeCat(410); break; case 970: makeWall3(); makeCat(410); break; case 980: makeWall3(); makeCat(410); break; case 990: makeWall3(); makeCat(410); break; case 1000: makeWall3(); makeCat(410); break; case 1010: makeWall3(); makeCat(410); break; case 1100: l.waitFor(l.addFoe(new Obelisk(80, -30, 0, 13, 3, 60))); l.waitFor(l.addFoe(new Obelisk(420, -30, 0, 13, 3, 60))); l.waitFor(l.addFoe(new Obelisk(180, -30, 0, 16, 3, 60))); l.waitFor(l.addFoe(new Obelisk(320, -30, 0, 16, 3, 60))); break; case 1160: makeBirds(3); break; case 1220: makeMages(2); makeBirds(2); break; case 0x0500: makeBirds(3); break; case 1340: makeMages(2); makeSlingers(2); makeBirds(3); break; case 1400: makeBirds(7); break; case 1560: l.waitFor(l.addFoe(new Obelisk(530, 250, -15, 0, 1, 40))); l.waitFor(l.addFoe(new Obelisk(-30, 250, 15, 0, 1, 40))); l.waitFor(l.addFoe(new Obelisk(530, 350, -15, 0, 1, 40))); l.waitFor(l.addFoe(new Obelisk(-30, 350, 15, 0, 1, 40))); break; case 1630: l.waitFor(l.addFoe(new Obelisk(530, 300, -11, 0, 1, 40))); l.waitFor(l.addFoe(new Obelisk(-30, 300, 11, 0, 1, 40))); break; case 1700: l.waitFor(l.addFoe(new Golem(250, -100, 0, 16, 3, 30))); break; case 1900: l.winLevel(); break; }; } function makeWall0(){ l.addFoe(new DoubleBrick(0, -70, 0, 7, 0, 0)); l.addFoe(new DoubleBrick(440, -70, 0, 7, 0, 0)); } } }//package levels
Section 173
//Level14 (levels.Level14) package levels { import foes.*; public class Level14 extends Levels { public function Level14(l:Level){ super(l); } function makeMage(x:int){ l.addFoe(new Mage(x, -30, 0, 5, 0, 60)); } override public function spawn(t:Number){ var a:int; if (((((((t % 20) == 0)) && ((t > 40)))) && ((t < 220)))){ makeCactus(((Math.random() * 400) + 50)); }; if (((((((t % 20) == 0)) && ((t > 360)))) && ((t < 500)))){ makeCactus(((Math.random() * 400) + 50)); }; if (((((((t % 30) == 0)) && ((t > 620)))) && ((t < 920)))){ makeCactus(((Math.random() * 400) + 50)); }; if (((((((t % 20) == 0)) && ((t > 620)))) && ((t < 850)))){ makeMage(((Math.random() * 400) + 50)); }; if (((((((t % 35) == 0)) && ((t > 1090)))) && ((t < 1450)))){ makeCactus(((Math.random() * 400) + 50)); }; if (((((((t % 45) == 0)) && ((t > 1090)))) && ((t < 1450)))){ makeMage(((Math.random() * 400) + 50)); }; if (((((((t % 50) == 0)) && ((t > 1090)))) && ((t < 1450)))){ makeSlinger(((Math.random() * 400) + 50)); }; if (((((((t % 8) == 0)) && ((t > 1700)))) && ((t < 2100)))){ makeEyeBit(((Math.random() * 400) + 50)); }; if (((((((t % 25) == 0)) && ((t > 1700)))) && ((t < 2100)))){ makeSlinger(((Math.random() * 400) + 50)); }; if (((((((t % 20) == 0)) && ((t > 2500)))) && ((t < 3000)))){ makeCactus(((Math.random() * 200) + 25)); makeCactus(((Math.random() * 200) + 275)); }; switch (t){ case 30: makeEye(100, 15); makeEye(400, 15); break; case 300: makeEye(100, 15); makeEye(400, 15); makeEye(200, 18); makeEye(300, 18); break; case 560: makeEye(100, 15); makeEye(400, 15); makeEye(200, 18); makeEye(300, 18); break; case 1000: makeEye(100, 14); makeEye(400, 14); makeEye(200, 17); makeEye(300, 17); break; case 1600: makeEye(100, 14); makeEye(400, 14); makeEye(150, 19); makeEye(350, 19); makeEye(200, 17); makeEye(300, 17); break; case 2250: makeEye(100, 17); makeEye(400, 17); makeEye(200, 26); makeEye(300, 26); break; case 2350: a = 0; while (a < 10) { makeEyeBit(((Math.random() * 400) + 50)); a++; }; break; case 2400: a = 0; while (a < 10) { makeEyeBit(((Math.random() * 400) + 50)); a++; }; break; case 2450: a = 0; while (a < 10) { makeEyeBit(((Math.random() * 400) + 50)); a++; }; break; case 3220: l.winLevel(); break; }; } function makeEye(x:Number, y:Number){ l.waitFor(l.addFoe(new EyeGuy(x, -70, 0, y, 3, 10))); } function makeSlinger(x:int){ l.addFoe(new Slinger(x, -30, 0, 5, 0, 7)); } function makeEyeBit(x:int){ l.addFoe(new EyeBit(x, -30, 0, (5 + (Math.random() * 3)), 0, 0)); } function makeSlingers(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Slinger(((Math.random() * 450) + 25), -49, 0, (4 + (Math.random() * 3)), 0, 6))); n++; }; } function makeCats2(){ l.addFoe(new DeadCat(420, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(370, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(80, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(130, -30, 0, 7, 0, 0)); } function makeEye3(i:int){ var n:int; n = 0; while (n < i) { l.addFoe(new EyeBall(((Math.random() * 450) + 25), -30, 0, (6 + (Math.random() * 5)), 0, 5000)); n++; }; } function makeHydra(y:Number, left:Boolean, xp:Number, tt:Number){ return (l.addFoe(new Hydra(0, y, left, xp, 4, tt))); } function makeGhost(x:Number, y:Number){ return (l.waitFor(l.addFoe(new Ghost(x, -50, 0, y, 3, 50)))); } function makeCactus(x:int){ l.addFoe(new Cactus(x, -30, 0, 4, 0, 5)); } } }//package levels
Section 174
//Level15 (levels.Level15) package levels { import foes.*; public class Level15 extends Levels { public function Level15(l:Level){ super(l); } function makeWall3(){ l.addFoe(new DoubleBrick(0, -70, 0, 5, 0, 0)); l.addFoe(new DoubleBrick(440, -70, 0, 5, 0, 0)); l.addFoe(new DoubleBrick(140, -70, 0, 5, 0, 0)); l.addFoe(new DoubleBrick(300, -70, 0, 5, 0, 0)); } function makeRow1(){ l.addFoe(new SmallBrick(0, -70, 0, 6, 0, 0)); l.addFoe(new SmallBrick(440, -70, 0, 6, 0, 0)); l.addFoe(new SmallBrick(140, -70, 0, 6, 0, 0)); l.addFoe(new SmallBrick(300, -70, 0, 6, 0, 0)); l.addFoe(new DeadCat(100, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(250, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(400, -40, 0, 6, 0, 0)); } function makeRow2(){ l.addFoe(new BigBrick(0, -70, 0, 6, 0, 0)); l.addFoe(new BigBrick(380, -70, 0, 6, 0, 0)); l.addFoe(new DeadCat(200, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(250, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(300, -40, 0, 6, 0, 0)); } function makeRow4(){ l.addFoe(new SmallBrick(50, -70, 0, 6, 0, 0)); l.addFoe(new SmallBrick(390, -70, 0, 6, 0, 0)); l.addFoe(new DeadCat(200, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(250, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(300, -40, 0, 6, 0, 0)); } function makeRow5(){ l.addFoe(new BigBrick(190, -70, 0, 6, 0, 0)); l.addFoe(new DeadCat(350, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(400, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(450, -40, 0, 6, 0, 0)); } function makeCats1(){ l.addFoe(new DeadCat(230, -30, 0, 5, 0, 0)); l.addFoe(new DeadCat(270, -30, 0, 5, 0, 0)); } function makeRow3(){ l.addFoe(new BigBrick(190, -70, 0, 6, 0, 0)); l.addFoe(new DeadCat(50, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(100, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(150, -40, 0, 6, 0, 0)); } function makeCats2(){ l.addFoe(new DeadCat(420, -30, 0, 5, 0, 0)); l.addFoe(new DeadCat(370, -30, 0, 5, 0, 0)); l.addFoe(new DeadCat(80, -30, 0, 5, 0, 0)); l.addFoe(new DeadCat(130, -30, 0, 5, 0, 0)); } function makeCat(xx:int){ l.addFoe(new DeadCat(xx, -30, 0, 5, 0, 0)); } function makeWall2(){ l.addFoe(new HugeBrick(150, -70, 0, 5, 0, 0)); l.addFoe(new DoubleBrick(0, -70, 0, 5, 0, 0)); l.addFoe(new DoubleBrick(440, -70, 0, 5, 0, 0)); } override public function spawn(t:Number){ var b:int; if (((((t % 30) == 0)) && ((t < 900)))){ b = (Math.random() * 5); if (b == 0){ makeRow1(); }; if (b == 1){ makeRow2(); }; if (b == 2){ makeRow3(); }; if (b == 3){ makeRow4(); }; if (b == 4){ makeRow5(); }; }; if (((((t % 30) == 15)) && ((t < 900)))){ l.addFoe(new DeadCat(100, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(200, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(300, -40, 0, 6, 0, 0)); l.addFoe(new DeadCat(400, -40, 0, 6, 0, 0)); }; switch (t){ case 1030: l.waitFor(l.addFoe(new Sphinx(250, -150, 0, 23, 3, 0))); BGM.play("bossMusic"); break; case 1150: l.winLevel(); break; }; } function makeWall0(){ l.addFoe(new DoubleBrick(0, -70, 0, 5, 0, 0)); l.addFoe(new DoubleBrick(440, -70, 0, 5, 0, 0)); } } }//package levels
Section 175
//Level16 (levels.Level16) package levels { import foes.*; public class Level16 extends Levels { public function Level16(l:Level){ super(l); } function makeMage(x:int){ l.addFoe(new Mage(x, -30, 0, 5, 0, 60)); } function makeCactus(x:int){ l.addFoe(new Cactus(x, -30, 0, 4, 0, 5)); } function makeEye(x:Number, y:Number){ l.waitFor(l.addFoe(new EyeGuy(x, -70, 0, y, 3, 10))); } function makeShrubWall(yspeed:Number){ var b:Number; b = 0; while (b < 7) { l.waitFor(l.addFoe(new Shrub((100 + (b * 50)), -30, 0, yspeed, 3, 17))); b++; }; } function makeSlinger(x:int){ l.addFoe(new Slinger(x, -30, 0, 5, 0, 7)); } function makeEyeBit(x:int){ l.addFoe(new EyeBit(x, -30, 0, (5 + (Math.random() * 3)), 0, 0)); } function makeSlingers(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Slinger(((Math.random() * 450) + 25), -49, 0, (4 + (Math.random() * 3)), 0, 6))); n++; }; } function makeCats2(){ l.addFoe(new DeadCat(420, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(370, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(80, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(130, -30, 0, 7, 0, 0)); } function makeEye3(i:int){ var n:int; n = 0; while (n < i) { l.addFoe(new EyeBall(((Math.random() * 450) + 25), -30, 0, (6 + (Math.random() * 5)), 0, 5000)); n++; }; } function makeGhost2(x:Number){ return (l.addFoe(new Ghost(x, -50, 0, 4, 0, 50))); } function makeHydra(y:Number, left:Boolean, xp:Number, tt:Number){ if (!left){ return (l.addFoe(new Hydra(0, (((l.player.y * 5) / 6) + 50), left, xp, 0, tt))); }; return (l.addFoe(new Hydra(500, (((l.player.y * 5) / 6) + 50), left, -(xp), 0, tt))); } function makeShrubs(x:int){ l.addFoe(new Shrub(x, -30, 0, 4, 0, 17)); l.addFoe(new Shrub((500 - x), -30, 0, 4, 0, 17)); } function makeGhost(x:Number, y:Number){ return (l.waitFor(l.addFoe(new Ghost(x, -50, 0, y, 3, 50)))); } override public function spawn(t:Number){ if (((((((t % 20) == 0)) && ((t > 0)))) && ((t < 120)))){ makeShrubs(170); makeShrubs(223); }; if (((((((t % 20) == 0)) && ((t >= 120)))) && ((t < 240)))){ makeShrubs(50); makeShrubs(120); }; if (((((((t % 30) == 0)) && ((t >= 1400)))) && ((t < 1900)))){ makeShrubs(((Math.random() * 200) + 25)); }; if (((((((t % 200) == 100)) && ((t >= 1400)))) && ((t < 2500)))){ makeHydra(((Math.random() * 500) + 50), false, 10, 40); }; if (((((((t % 200) == 0)) && ((t >= 1400)))) && ((t < 2500)))){ makeHydra(((Math.random() * 500) + 50), true, 10, 40); }; if (((((((t % 80) == 0)) && ((t >= 2000)))) && ((t < 2500)))){ makeGhost2(((Math.random() * 200) + 25)); }; switch (t){ case 300: makeShrubWall(10); makeShrubWall(17); break; case 360: makeShrubWall(12); makeShrubWall(17); makeShrubWall(22); break; case 420: l.waitFor(l.addFoe(new BigShrub(250, -80, 0, 15, 3, 0))); break; case 500: makeShrubWall(10); makeShrubWall(15); makeShrubWall(20); makeShrubWall(25); break; case 570: l.waitFor(l.addFoe(new BigShrub(150, -80, 0, 14, 3, 0))); l.waitFor(l.addFoe(new BigShrub(350, -80, 0, 14, 3, 0))); break; case 660: makeGhost(100, 14); makeGhost(400, 14); break; case 620: makeGhost(150, 14); makeGhost(250, 16); makeGhost(350, 14); break; case 700: makeHydra(((Math.random() * 500) + 50), true, 8, 90); break; case 750: makeHydra(((Math.random() * 500) + 50), false, 8, 90); break; case 800: makeHydra(((Math.random() * 500) + 50), true, 8, 60); break; case 850: makeHydra(((Math.random() * 500) + 50), false, 9, 60); break; case 900: makeHydra(((Math.random() * 500) + 50), true, 9, 50); break; case 950: makeHydra(((Math.random() * 500) + 50), false, 10, 50); break; case 980: makeHydra(((Math.random() * 500) + 50), true, 10, 40); break; case 1010: makeHydra(((Math.random() * 500) + 50), false, 10, 40); break; case 1040: makeHydra(((Math.random() * 500) + 50), true, 11, 30); break; case 1060: makeHydra(((Math.random() * 500) + 50), false, 11, 30); break; case 1080: makeHydra(((Math.random() * 500) + 50), true, 12, 20); break; case 1100: makeHydra(((Math.random() * 500) + 50), false, 12, 20); break; case 1180: makeGhost(100, 15); makeGhost(200, 17); makeGhost(300, 17); makeGhost(400, 15); break; case 1240: makeGhost(120, 14); makeGhost(380, 14); makeGhost(100, 17); makeGhost(200, 15); makeGhost(300, 15); makeGhost(400, 17); break; case 2690: l.winLevel(); break; }; } } }//package levels
Section 176
//Level17 (levels.Level17) package levels { import foes.*; public class Level17 extends Levels { public function Level17(l:Level){ super(l); } function makeMage(x:int){ l.addFoe(new Mage(x, -30, 0, 5, 0, 60)); } function makeCactus(x:int){ l.addFoe(new Cactus(x, -30, 0, 4, 0, 5)); } function makeSlinger(x:int){ l.addFoe(new Slinger(x, -30, 0, 5, 0, 7)); } function makeEyeBit(x:int){ l.addFoe(new EyeBit(x, -30, 0, (5 + (Math.random() * 3)), 0, 0)); } function makeSlingers(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Slinger(((Math.random() * 450) + 25), -49, 0, (4 + (Math.random() * 3)), 0, 6))); n++; }; } function makeFireWall(yspeed:Number){ var b:Number; b = 0; while (b < 7) { l.waitFor(l.addFoe(new FireGuy((100 + (b * 50)), -30, 0, yspeed, 3, 9))); b++; }; } function makeFlameWall(yspeed:Number){ var b:Number; b = 0; while (b < 7) { l.waitFor(l.addFoe(new FlameGuy((100 + (b * 50)), -30, 0, yspeed, 3, 4))); b++; }; } function makeGhost(x:Number, y:Number){ return (l.waitFor(l.addFoe(new Ghost(x, -50, 0, y, 3, 50)))); } function makeGhost2(x:Number){ return (l.addFoe(new Ghost(x, -50, 0, 4, 0, 100))); } function makeHydra(y:Number, left:Boolean, xp:Number, tt:Number){ if (!left){ return (l.addFoe(new Hydra(0, (((l.player.y * 5) / 6) + 50), left, xp, 0, tt))); }; return (l.addFoe(new Hydra(500, (((l.player.y * 5) / 6) + 50), left, -(xp), 0, tt))); } function makeShrubs(x:int){ l.addFoe(new Shrub(x, -30, 0, 4, 0, 17)); l.addFoe(new Shrub((500 - x), -30, 0, 4, 0, 17)); } override public function spawn(t:Number){ if (((((((t % 19) == 0)) && ((t > 0)))) && ((t < 500)))){ l.addFoe(new FlameGuy(((Math.random() * 450) + 25), -30, 0, 4, 0, 3)); }; if (((((((t % 24) == 0)) && ((t > 700)))) && ((t < 1200)))){ l.addFoe(new FlameGuy(((Math.random() * 450) + 25), -30, 0, 4, 0, 4)); }; if (((((((t % 17) == 0)) && ((t > 700)))) && ((t < 1200)))){ l.addFoe(new RedSlime(((Math.random() * 450) + 25), -30, 0, 4, 0, 3)); }; if (((((((t % 32) == 0)) && ((t > 1400)))) && ((t < 1900)))){ l.addFoe(new FireGuy(((Math.random() * 450) + 25), -30, 0, 4, 0, 9)); }; if (((((((t % 90) == 0)) && ((t > 1400)))) && ((t < 1900)))){ makeGhost2(((Math.random() * 450) + 25)); }; if (((((((t % 33) == 0)) && ((t > 2100)))) && ((t < 2600)))){ l.addFoe(new FlameGuy(((Math.random() * 450) + 25), -30, 0, 4, 0, 4)); }; if (((((((t % 27) == 0)) && ((t > 2100)))) && ((t < 2600)))){ l.addFoe(new FlameGuy(((Math.random() * 450) + 25), -30, 0, 4, 0, 4)); }; if (((((((t % 39) == 0)) && ((t > 2800)))) && ((t < 3250)))){ l.addFoe(new FlameGuy(((Math.random() * 450) + 25), -30, 0, 4, 0, 4)); }; if (((((((t % 38) == 0)) && ((t > 2800)))) && ((t < 3250)))){ l.addFoe(new FireGuy(((Math.random() * 450) + 25), -30, 0, 4, 0, 10)); }; if (((((((t % 28) == 0)) && ((t > 2800)))) && ((t < 3250)))){ l.addFoe(new RedSlime(((Math.random() * 450) + 25), -30, 0, 4, 0, 4)); }; switch (t){ case 600: makeFireWall(12); break; case 1300: makeFlameWall(12); makeFireWall(17); break; case 2000: makeFlameWall(15); makeFireWall(20); break; case 2700: makeBigSlime(250, 23); break; case 3350: makeBigSlime(150, 16); makeBigSlime(350, 16); break; case 3590: l.winLevel(); break; }; } function makeBigSlime(x:Number, y:Number){ l.waitFor(l.addFoe(new BigSlime(x, -70, 0, y, 3, 30))); } function makeCats2(){ l.addFoe(new DeadCat(420, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(370, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(80, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(130, -30, 0, 7, 0, 0)); } } }//package levels
Section 177
//Level18 (levels.Level18) package levels { import foes.*; public class Level18 extends Levels { public function Level18(l:Level){ super(l); } function makeMage(x:int){ l.addFoe(new Mage(x, -30, 0, 5, 0, 60)); } function makeCactus(x:int){ l.addFoe(new Cactus(x, -30, 0, 4, 0, 5)); } function makeSlinger(x:int){ l.addFoe(new Slinger(x, -30, 0, 5, 0, 7)); } function makeEyeBit(x:int){ l.addFoe(new EyeBit(x, -30, 0, (5 + (Math.random() * 3)), 0, 0)); } function makeSlingers(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Slinger(((Math.random() * 450) + 25), -49, 0, (4 + (Math.random() * 3)), 0, 6))); n++; }; } function makeFireWall(yspeed:Number){ var b:Number; b = 0; while (b < 7) { l.waitFor(l.addFoe(new FireGuy((100 + (b * 50)), -30, 0, yspeed, 3, 9))); b++; }; } function makeFlameWall(yspeed:Number){ var b:Number; b = 0; while (b < 7) { l.waitFor(l.addFoe(new FlameGuy((100 + (b * 50)), -30, 0, yspeed, 3, 4))); b++; }; } function makeGhost(x:Number, y:Number){ return (l.waitFor(l.addFoe(new Ghost(x, -50, 0, y, 3, 50)))); } function makeGhost2(x:Number){ return (l.addFoe(new Ghost(x, -50, 0, 4, 0, 100))); } function makeHydra(y:Number, left:Boolean, xp:Number, tt:Number){ if (!left){ return (l.addFoe(new Hydra(0, (((l.player.y * 5) / 6) + 50), left, xp, 0, tt))); }; return (l.addFoe(new Hydra(500, (((l.player.y * 5) / 6) + 50), left, -(xp), 0, tt))); } function makeShrubs(x:int){ l.addFoe(new Shrub(x, -30, 0, 4, 0, 17)); l.addFoe(new Shrub((500 - x), -30, 0, 4, 0, 17)); } override public function spawn(t:Number){ if (((((((t % 30) == 0)) && ((t > 0)))) && ((t < 300)))){ l.addFoe(new GunBot(-30, 120, 4, 0, 0, 10)); l.addFoe(new GunBot(530, 200, -4, 0, 0, 10)); }; if (((((((t % 30) == 0)) && ((t > 660)))) && ((t < 960)))){ l.addFoe(new LazorBot(-30, ((Math.random() * 350) + 25), 4, 0, 0, (20 + Math.floor((Math.random() * 5))))); l.addFoe(new LazorBot(530, ((Math.random() * 350) + 25), -4, 0, 0, (20 + Math.floor((Math.random() * 5))))); }; if (((((((t % 20) == 0)) && ((t > 1360)))) && ((t < 2400)))){ l.addFoe(new Missile(((Math.random() * 450) + 25), -30, 0, (7 + (Math.random() * 3)))); }; if (((((((t % 65) == 0)) && ((t > 1500)))) && ((t < 2400)))){ l.addFoe(new GunBot(-30, ((Math.random() * 200) + 100), 14, 0, 2, 12)); l.addFoe(new GunBot(530, ((Math.random() * 200) + 100), -14, 0, 2, 12)); }; if (((((((t % 109) == 0)) && ((t > 1850)))) && ((t < 2400)))){ l.addFoe(new LazorBot(-30, ((Math.random() * 200) + 100), 14, 0, 2, 20)); l.addFoe(new LazorBot(530, ((Math.random() * 200) + 100), -14, 0, 2, 20)); }; if (((((((t % 20) == 0)) && ((t > 2580)))) && ((t < 3000)))){ l.addFoe(new Missile(((Math.random() * 450) + 25), -30, 0, (7 + (Math.random() * 3)))); }; if (((((((t % 42) == 0)) && ((t > 2580)))) && ((t < 3000)))){ l.addFoe(new SeaBomb(((Math.random() * 450) + 25), -45, 0, (3 + (Math.random() * 3)), 0, 60)); }; switch (t){ case 400: l.addFoe(new GunBot(-30, 400, 6, 0, 2, 8)); break; case 420: l.addFoe(new GunBot(-30, 350, 8, 0, 2, 8)); break; case 440: l.addFoe(new GunBot(-30, 300, 10, 0, 2, 8)); break; case 460: l.addFoe(new GunBot(-30, 250, 12, 0, 2, 8)); break; case 480: l.addFoe(new GunBot(-30, 200, 14, 0, 2, 8)); break; case 500: l.addFoe(new GunBot(-30, 150, 16, 0, 2, 8)); break; case 520: l.addFoe(new GunBot(530, 400, -6, 0, 2, 8)); break; case 530: l.addFoe(new GunBot(530, 350, -8, 0, 2, 8)); break; case 540: l.addFoe(new GunBot(530, 300, -10, 0, 2, 8)); break; case 550: l.addFoe(new GunBot(530, 250, -12, 0, 2, 8)); break; case 560: l.addFoe(new GunBot(530, 200, -14, 0, 2, 8)); break; case 570: l.addFoe(new GunBot(530, 150, -16, 0, 2, 8)); break; case 1030: l.addFoe(new LazorBot(-30, 400, 6, 0, 2, 20)); break; case 1040: l.addFoe(new LazorBot(-30, 350, 8, 0, 2, 20)); break; case 1050: l.addFoe(new LazorBot(-30, 300, 10, 0, 2, 20)); break; case 1060: l.addFoe(new LazorBot(-30, 250, 12, 0, 2, 20)); break; case 1070: l.addFoe(new LazorBot(-30, 200, 14, 0, 2, 20)); break; case 1080: l.addFoe(new LazorBot(-30, 150, 16, 0, 2, 20)); break; case 1100: l.addFoe(new LazorBot(530, 400, -6, 0, 2, 20)); break; case 1110: l.addFoe(new LazorBot(530, 350, -8, 0, 2, 20)); break; case 1120: l.addFoe(new LazorBot(530, 300, -10, 0, 2, 20)); break; case 1130: l.addFoe(new LazorBot(530, 250, -12, 0, 2, 20)); break; case 1140: l.addFoe(new LazorBot(530, 200, -14, 0, 2, 20)); break; case 1150: l.addFoe(new LazorBot(530, 150, -16, 0, 2, 20)); break; case 1260: l.waitFor(l.addFoe(new Tank(150, -70, 0, 15, 3, 50))); l.waitFor(l.addFoe(new Tank(350, -70, 0, 15, 3, 33))); break; case 2500: l.waitFor(l.addFoe(new Tank(150, -70, 0, 15, 3, 36))); l.waitFor(l.addFoe(new Tank(350, -70, 0, 15, 3, 27))); break; case 3160: l.waitFor(l.addFoe(new BossBot(250, -90, 0, 15, 3, 0))); break; case 3360: l.winLevel(); break; }; } function makeBigSlime(x:Number, y:Number){ l.waitFor(l.addFoe(new BigSlime(x, -70, 0, y, 3, 30))); } function makeCats2(){ l.addFoe(new DeadCat(420, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(370, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(80, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(130, -30, 0, 7, 0, 0)); } } }//package levels
Section 178
//Level19 (levels.Level19) package levels { import foes.*; public class Level19 extends Levels { public function Level19(l:Level){ super(l); } function makeMage(x:int){ l.addFoe(new Mage(x, -30, 0, 5, 0, 60)); } function makeCactus(x:int){ l.addFoe(new Cactus(x, -30, 0, 4, 0, 5)); } function makeSlinger(x:int){ l.addFoe(new Slinger(x, -30, 0, 5, 0, 7)); } function makeEyeBit(x:int){ l.addFoe(new EyeBit(x, -30, 0, (5 + (Math.random() * 3)), 0, 0)); } function makeSlingers(i:int){ var n:int; n = 0; while (n < i) { l.waitFor(l.addFoe(new Slinger(((Math.random() * 450) + 25), -49, 0, (4 + (Math.random() * 3)), 0, 6))); n++; }; } function makeFireWall(yspeed:Number){ var b:Number; b = 0; while (b < 4) { l.waitFor(l.addFoe(new FireGuy((100 + (b * 100)), -30, 0, yspeed, 4, 12))); b++; }; } function makeFlameWall(yspeed:Number){ var b:Number; b = 0; while (b < 4) { l.waitFor(l.addFoe(new FlameGuy((100 + (b * 100)), -30, 0, yspeed, 4, 6))); b++; }; } function makeGhost(x:Number, y:Number){ return (l.waitFor(l.addFoe(new Ghost(x, -50, 0, y, 3, 50)))); } function makeGhost2(x:Number){ return (l.addFoe(new Ghost(x, -50, 0, 4, 0, 100))); } function makeHydra(y:Number, left:Boolean, xp:Number, tt:Number){ if (!left){ return (l.addFoe(new Hydra(0, (((l.player.y * 5) / 6) + 50), left, xp, 0, tt))); }; return (l.addFoe(new Hydra(500, (((l.player.y * 5) / 6) + 50), left, -(xp), 0, tt))); } function makeShrubs(x:int){ l.addFoe(new Shrub(x, -30, 0, 8, 0, 10000)); l.addFoe(new Shrub((500 - x), -30, 0, 8, 0, 10000)); } override public function spawn(t:Number){ if (((((((t % 9) == 0)) && ((t > 760)))) && ((t < 1160)))){ makeShrubs(100); makeShrubs(150); makeShrubs(200); }; switch (t){ case 30: l.waitFor(l.addFoe(new Monolith(250, -90, 0, 15, 3, 40))); break; case 60: l.addFoe(new LazorBot(-30, 50, 14, 0, 2, 20)); l.addFoe(new LazorBot(530, 100, -14, 0, 2, 20)); break; case 90: l.waitFor(l.addFoe(new FaceBot(250, -90, 0, 17, 3, 50))); break; case 150: l.waitFor(l.addFoe(new FaceBot(150, -90, 0, 17, 3, 60))); l.waitFor(l.addFoe(new FaceBot(350, -90, 0, 17, 3, 60))); break; case 210: l.waitFor(l.addFoe(new FaceBot(150, -90, 0, 14, 3, 70))); l.waitFor(l.addFoe(new Monolith(250, -90, 0, 19, 3, 70))); l.waitFor(l.addFoe(new FaceBot(350, -90, 0, 14, 3, 70))); break; case 270: makeFlameWall(10); makeFireWall(12); break; case 300: makeFlameWall(13); makeFireWall(17); break; case 360: makeFlameWall(11); makeFireWall(14); l.waitFor(l.addFoe(new Demon(250, -90, 0, 16, 3, 20))); break; case 400: makeFlameWall(12); makeFireWall(15); l.waitFor(l.addFoe(new Demon(100, -90, 0, 24, 3, 35))); l.waitFor(l.addFoe(new Demon(400, -90, 0, 24, 3, 35))); break; case 460: l.waitFor(l.addFoe(new Monolith(150, -90, 0, 14, 3, Infinity))); l.waitFor(l.addFoe(new Monolith(350, -90, 0, 14, 3, Infinity))); break; case 520: l.waitFor(l.addFoe(new Demon(150, -90, 0, 14, 3, 26))); l.waitFor(l.addFoe(new BigSlime(250, -90, 0, 19, 3, 45))); l.waitFor(l.addFoe(new Demon(350, -90, 0, 14, 3, 26))); break; case 580: l.waitFor(l.addFoe(new BigSlime(150, -90, 0, 14, 3, 60))); l.waitFor(l.addFoe(new BigSlime(350, -90, 0, 14, 3, 60))); break; case 640: l.waitFor(l.addFoe(new Tank(150, -70, 0, 15, 3, 49))); l.waitFor(l.addFoe(new Tank(350, -70, 0, 19, 3, 37))); l.waitFor(l.addFoe(new Tank(250, -70, 0, 25, 3, 64))); break; case 700: l.waitFor(l.addFoe(new Demon(150, -90, 0, 14, 3, 28))); l.waitFor(l.addFoe(new Monolith(250, -90, 0, 19, 3, Infinity))); l.waitFor(l.addFoe(new Demon(350, -90, 0, 14, 3, 28))); break; case 1200: l.waitFor(l.addFoe(new Monolith(150, -90, 0, 14, 3, Infinity))); l.waitFor(l.addFoe(new Monolith(350, -90, 0, 14, 3, Infinity))); l.waitFor(l.addFoe(new Monolith(300, -90, 0, 19, 3, Infinity))); l.waitFor(l.addFoe(new Monolith(200, -90, 0, 19, 3, Infinity))); break; case 1360: l.winLevel(); break; }; } function makeBigSlime(x:Number, y:Number){ l.waitFor(l.addFoe(new BigSlime(x, -70, 0, y, 3, 30))); } function makeCats2(){ l.addFoe(new DeadCat(420, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(370, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(80, -30, 0, 7, 0, 0)); l.addFoe(new DeadCat(130, -30, 0, 7, 0, 0)); } } }//package levels
Section 179
//Level2 (levels.Level2) package levels { import foes.*; import bullets.*; public class Level2 extends Levels { public function Level2(l:Level){ super(l); } function makeLogWall(){ var b:Number; b = 0; while (b < 9) { l.addFoe(new BigLog((50 + (b * 50)), -30, 0, 6, 0, 30)); b++; }; } function makeTree(x:Number, y:Number){ return (l.waitFor(l.addFoe(new Tree(x, -49, 0, y, 3, 40)))); } function makeCat(x:Number){ l.addFoe(new Kitten(x, -30, 0, 4, 0, 30)); } function makeSlimeWall(){ var b:Number; b = 0; while (b < 10) { l.addFoe(new GreenSlime((25 + (b * 50)), -30, 0, 4, 0, 20)); b++; }; } function makeSlime2(){ l.addFoe(new GreenSlime(-30, -30, ((Math.random() * 7) + 5), ((Math.random() * 5) + 3), 1, 30)); } function makeBigBush2(x:Number, y:Number){ makeBigBush(x, y); makeBigBush((500 - x), y); } function makeLog(x:Number){ l.addFoe(new BigLog(x, -30, 0, 3, 0, 30)); } function makeSlime3(){ l.addFoe(new GreenSlime(530, -30, ((-(Math.random()) * 7) - 5), ((Math.random() * 5) + 3), 1, 30)); } function makeBigBush(x:Number, y:Number){ l.waitFor(l.addFoe(new BigBush(x, -49, 0, y, 3, 5))); } override public function spawn(t:Number){ if (((((t % 17) == 0)) && ((t < 160)))){ makeSlime2(); makeSlime3(); }; if (((((((t % 15) == 0)) && ((t > 360)))) && ((t < 490)))){ makeBush(((Math.random() * 450) + 25)); }; if (((((((t % 12) == 0)) && ((t > 910)))) && ((t < 1000)))){ makeCat(100); makeCat(140); makeCat(400); makeCat(360); }; if (((((((t % 12) == 0)) && ((t > 870)))) && ((t < 1080)))){ }; if (((((((t % 16) == 0)) && ((t > 1100)))) && ((t < 1220)))){ }; switch (t){ case 270: makeSlimeWall(); break; case 300: makeSlimeWall(); break; case 580: makeTank(200); makeTank(300); break; case 640: makeTank(150); makeTank(350); break; case 700: makeTank(200).drop = "shield"; makeTank(300).drop = "heart"; break; case 820: makeLogWall(); break; case 940: makeTank(250); break; case 990: makeTank(250); break; case 1120: makeBigBush2(100, 15); break; case 1150: makeBigBush2(200, 17); break; case 1220: makeTree(150, 14); makeTree(350, 14).drop = "heart"; makeTree(250, 17); break; case 1300: l.winLevel(); }; } function makeBush(x:Number){ l.addFoe(new Bush(x, -49, 0, 4, 0, 30)); } function makeTank(x:Number){ return (l.addFoe(new CatRam(x, -49, 0, 3, 0, 40))); } } }//package levels
Section 180
//Level20 (levels.Level20) package levels { import foes.*; public class Level20 extends Levels { public function Level20(l:Level){ super(l); } override public function spawn(t:Number){ if (((((t % 14) == 0)) && ((t < 600)))){ l.addFoe(new Shrub(-30, 300, 6, 0, 0, 111111110)); l.addFoe(new RedSlime(530, 250, -6, 0, 0, 111111110)); }; if (((((t % 19) == 0)) && ((t < 600)))){ l.addFoe(new Shrub(-30, 200, 5, 0, 0, 1000)); }; if (((((t % 50) == 0)) && ((t < 600)))){ l.addFoe(new FlameGuy(-30, 150, 2, 0, 0, 12)); l.addFoe(new FireGuy(530, 100, -2, 0, 0, 20)); }; switch (t){ case 750: l.waitFor(l.addFoe(new GodCat(250, -150, 0, 23, 3, 0))); BGM.play("bossMusic"); break; case 900: l.winLevel(); break; }; } } }//package levels
Section 181
//Level21 (levels.Level21) package levels { import foes.*; public class Level21 extends Levels { public function Level21(l:Level){ super(l); } override public function spawn(t:Number){ var a:int; a = 0; switch (t){ case 60: l.waitFor(l.addFoe(new SlimeKing2(250, -150, 0, 19, 3, 0))); break; case 250: l.winLevel(); break; }; } } }//package levels
Section 182
//Level22 (levels.Level22) package levels { import foes.*; public class Level22 extends Levels { public function Level22(l:Level){ super(l); } override public function spawn(t:Number){ var a:int; a = 0; switch (t){ case 60: l.waitFor(l.addFoe(new GiantCrab2(250, -150, 0, 24, 3, 0))); break; case 250: l.winLevel(); break; }; } } }//package levels
Section 183
//Level23 (levels.Level23) package levels { import foes.*; public class Level23 extends Levels { public function Level23(l:Level){ super(l); } override public function spawn(t:Number){ var a:int; a = 0; switch (t){ case 60: l.waitFor(l.addFoe(new Sphinx2(250, -150, 0, 23, 3, 0))); break; case 250: l.winLevel(); break; }; } } }//package levels
Section 184
//Level24 (levels.Level24) package levels { import foes.*; public class Level24 extends Levels { public function Level24(l:Level){ super(l); } override public function spawn(t:Number){ var a:int; a = 0; switch (t){ case 60: l.waitFor(l.addFoe(new GodCat2(250, -150, 0, 23, 3, 0))); break; case 250: l.winLevel(); break; }; } } }//package levels
Section 185
//Level25 (levels.Level25) package levels { import foes.*; import drops.*; import bullets.*; public class Level25 extends Levels { var lastRandom:int;// = -1 var b:int;// = 0 var pnext:int;// = 20 var r:int;// = 0 public var waveCount:int;// = 0 var waveTimer:int;// = 0 public function Level25(l:Level){ b = 0; r = 0; waveCount = 0; waveTimer = 0; lastRandom = -1; pnext = 20; super(l); survival = true; } override public function timer(){ if (l.moneyCollected >= pnext){ pnext = (pnext * 2); l.player.levelUp(); }; waveTimer++; if (waveTimer > 300){ l.foeTimeOut(); waveTimer = 0; }; } public function random(a:int):int{ var b:int; b = (Math.random() * a); while (b == lastRandom) { b = (Math.random() * a); }; lastRandom = b; return (b); } function waves(c:int){ var a:int; if (c > 80){ r = random(9); if (r == 8){ b = 50; while (b < 490) { l.waitFor(l.addFoe(new LazorBot(b, -30, 0, 8, 3, 18))); l.waitFor(l.addFoe(new CrossBomb(b, -30, 0, (3 + (Math.random() * 2))))); b = (b + 80); }; }; if (r == 7){ l.waitFor(l.addFoe(new Tank(150, -70, 0, 12, 3, 56))); l.waitFor(l.addFoe(new FaceBot(250, -30, 0, 18, 3, 7))); l.waitFor(l.addFoe(new Tank(350, -70, 0, 12, 3, 69))); }; if (r == 6){ b = 50; while (b < 490) { l.waitFor(l.addFoe(new Tree((b + 20), -30, 0, 9, 3, 25))); l.waitFor(l.addFoe(new PurpleJelly((b - 20), -30, 0, 12, 3, 18))); l.waitFor(l.addFoe(new PinkJelly((b + 20), -30, 0, 16, 3, 10))); b = (b + 80); }; }; if (r == 5){ l.waitFor(l.addFoe(new Monolith(-80, 150, 22, 0, 1, Infinity))).t = 5; l.waitFor(l.addFoe(new Monolith(580, 150, -22, 0, 1, Infinity))).t = 10; l.waitFor(l.addFoe(new Monolith(-80, 220, 22, 0, 1, Infinity))).t = 15; l.waitFor(l.addFoe(new Monolith(580, 220, -22, 0, 1, Infinity))).t = 20; }; if (r == 4){ l.waitFor(l.addFoe(new BossBot(120, -90, 0, 15, 3, 0))); l.waitFor(l.addFoe(new BossBot(380, -90, 0, 15, 3, 0))); }; if (r == 3){ b = 50; while (b < 500) { l.waitFor(l.addFoe(new SeaBomb(b, -40, 0, (1 + (Math.random() * 4)), 0, 30))); l.waitFor(l.addFoe(new Missile(((Math.random() * 450) + 25), -30, 0, (2 + (Math.random() * 3))))); b = (b + 50); }; l.waitFor(l.addFoe(new CrossBomb(((Math.random() * 450) + 25), -30, 0, (2 + (Math.random() * 2))))); }; if (r == 2){ l.waitFor(l.addFoe(new Golem(150, -100, 0, 16, 3, 30))); l.waitFor(l.addFoe(new Golem(350, -100, 0, 16, 3, 30))); }; if (r == 1){ l.waitFor(l.addFoe(new Monolith(-80, 100, 15, 0, 1, Infinity))).t = 5; l.waitFor(l.addFoe(new Monolith(580, 100, -15, 0, 1, Infinity))).t = 10; l.waitFor(l.addFoe(new Monolith(-80, 500, 15, 0, 1, Infinity))).t = 15; l.waitFor(l.addFoe(new Monolith(580, 500, -15, 0, 1, Infinity))).t = 20; }; if (r == 0){ l.waitFor(l.addFoe(new LazorBot(70, -30, 0, 15, 3, 40))); l.waitFor(l.addFoe(new FaceBot(160, -70, 0, 11, 3, 18))); l.waitFor(l.addFoe(new FaceBot(250, -30, 0, 17, 3, 12))); l.waitFor(l.addFoe(new FaceBot(340, -70, 0, 11, 3, 18))); l.waitFor(l.addFoe(new LazorBot(430, -30, 0, 15, 3, 40))); }; } else { if (c > 70){ r = random(10); if (r == 9){ for each (b in [150, 200, 250, 300, 350]) { l.waitFor(l.addFoe(new RedSlime(b, -30, 0, 10, 3, 0))); l.waitFor(l.addFoe(new RedSlime(b, -30, 0, 13.2, 3, 0))); l.waitFor(l.addFoe(new RedSlime(b, -30, 0, 16, 3, 0))); }; for each (b in [50, 450]) { l.waitFor(l.addFoe(new Ghost(b, -30, 0, 12, 3, 70))); l.waitFor(l.addFoe(new Ghost(b, -30, 0, 18, 3, 70))).t = 10; }; }; if (r == 8){ l.waitFor(l.addFoe(new BigSlime(250, -90, 0, 14, 3, 60))); for each (b in [50, 100, 150, 350, 400, 450]) { l.waitFor(l.addFoe(new RedSlime(b, -30, 0, 10, 3, 0))); l.waitFor(l.addFoe(new RedSlime(b, -30, 0, 13.2, 3, 0))); l.waitFor(l.addFoe(new RedSlime(b, -30, 0, 16, 3, 0))); }; }; if (r == 7){ b = 200; while (b < 350) { l.waitFor(l.addFoe(new DeadCat(b, -30, 0, 12, 3, 12))); l.waitFor(l.addFoe(new Ghost(b, -30, 0, 16, 3, 70))); b = (b + 50); }; l.waitFor(l.addFoe(new Demon(100, -90, 0, 15, 3, 28))); l.waitFor(l.addFoe(new Demon(400, -90, 0, 15, 3, 28))); }; if (r == 6){ l.waitFor(l.addFoe(new BigSlime(150, -90, 0, 14, 3, 60))); l.waitFor(l.addFoe(new BigSlime(350, -90, 0, 14, 3, 60))); }; if (r == 0){ l.waitFor(l.addFoe(new Demon(150, -90, 0, 15, 3, 28))); l.waitFor(l.addFoe(new FaceBot(250, -30, 0, 17, 3, 12))); l.waitFor(l.addFoe(new Demon(350, -90, 0, 15, 3, 28))); }; if (r == 5){ l.waitFor(l.addFoe(new Monolith(-80, 100, 22, 0, 1, 50))).t = 5; l.waitFor(l.addFoe(new Monolith(580, 100, -22, 0, 1, 50))).t = 5; }; if (r == 4){ l.waitFor(l.addFoe(new GunBot(100, -30, 0, 15, 3, 15))); l.waitFor(l.addFoe(new Tank(160, -70, 0, 15, 3, 36))); l.waitFor(l.addFoe(new GunBot(250, -30, 0, 15, 3, 15))); l.waitFor(l.addFoe(new Tank(340, -70, 0, 15, 3, 36))); l.waitFor(l.addFoe(new GunBot(400, -30, 0, 15, 3, 15))); }; if (r == 3){ b = 50; while (b < 490) { l.waitFor(l.addFoe(new Tree((b + 20), -30, 0, 9, 3, 40))); l.waitFor(l.addFoe(new FlameGuy((b - 20), -30, 0, 12, 3, 6))); l.waitFor(l.addFoe(new FireGuy((b + 20), -30, 0, 16, 3, 12))); l.waitFor(l.addFoe(new DeadCat((b - 20), -30, 0, 19, 3, 20))); b = (b + 80); }; }; if (r == 2){ b = 50; while (b < 490) { l.waitFor(l.addFoe(new FlameGuy((b + 20), -30, 0, 9, 3, 7))); l.waitFor(l.addFoe(new PurpleJelly((b - 20), -30, 0, 12, 3, 30))); l.waitFor(l.addFoe(new FireGuy((b + 20), -30, 0, 16, 3, 11))); l.waitFor(l.addFoe(new Shrub((b - 20), -30, 0, 19, 3, 20))); b = (b + 80); }; }; if (r == 1){ l.waitFor(l.addFoe(new BossBot(250, -90, 0, 15, 3, 0))); l.waitFor(l.addFoe(new GunBot(400, -30, 0, 18, 3, 20))); l.waitFor(l.addFoe(new GunBot(100, -30, 0, 18, 3, 20))); }; } else { if (c > 60){ r = random(10); if (r == 9){ l.waitFor(l.addFoe(new GunBot(250, -49, 0, 9, 3, 40))); l.waitFor(l.addFoe(new GunBot(180, -49, 0, 13, 3, 40))); l.waitFor(l.addFoe(new GunBot(320, -49, 0, 13, 3, 40))); l.waitFor(l.addFoe(new LazorBot(100, -49, 0, 17, 3, 40))); l.waitFor(l.addFoe(new SeaBomb(210, -40, 0, 17, 3, 40))); l.waitFor(l.addFoe(new SeaBomb(290, -40, 0, 17, 3, 40))); l.waitFor(l.addFoe(new SeaBomb(250, -40, 0, 15, 3, 40))); l.waitFor(l.addFoe(new SeaBomb(250, -40, 0, 19, 3, 40))); l.waitFor(l.addFoe(new LazorBot(400, -49, 0, 17, 3, 40))); l.waitFor(l.addFoe(new GunBot(180, -49, 0, 21, 3, 40))); l.waitFor(l.addFoe(new GunBot(320, -49, 0, 21, 3, 40))); l.waitFor(l.addFoe(new GunBot(250, -49, 0, 25, 3, 40))); }; if (r == 8){ l.waitFor(l.addFoe(new GunBot(100, -30, 0, 15, 3, 15))); l.waitFor(l.addFoe(new FaceBot(160, -70, 0, 15, 3, 36))); l.waitFor(l.addFoe(new GunBot(250, -30, 0, 15, 3, 15))); l.waitFor(l.addFoe(new FaceBot(340, -70, 0, 15, 3, 36))); l.waitFor(l.addFoe(new GunBot(400, -30, 0, 15, 3, 15))); }; if (r == 7){ b = 50; while (b < 490) { l.waitFor(l.addFoe(new LazorBot((b + 12), -30, ((Math.random() * 4) - 2), (8 + (Math.random() * 4)), 4, (25 + Math.floor((Math.random() * 15)))))); l.waitFor(l.addFoe(new LazorBot((b - 12), -30, ((Math.random() * 4) - 2), (11 + (Math.random() * 5)), 4, (25 + Math.floor((Math.random() * 15)))))); b = (b + 80); }; }; if (r == 6){ b = 50; while (b < 490) { l.waitFor(l.addFoe(new GunBot((b + 12), -30, 0, 9, 3, 15))); l.waitFor(l.addFoe(new GunBot((b - 12), -30, 0, 12, 3, 15))); b = (b + 80); }; }; if (r == 5){ b = 50; while (b < 490) { l.waitFor(l.addFoe(new FireGuy(b, -30, 0, 12, 3, 11))); l.waitFor(l.addFoe(new FlameGuy(b, -30, 0, 18, 3, 7))); b = (b + 80); }; }; if (r == 4){ l.waitFor(l.addFoe(new Ghost(150, -50, 0, 17, 3, 70))).t = 10; l.waitFor(l.addFoe(new Ghost(350, -50, 0, 17, 3, 70))).t = 10; l.waitFor(l.addFoe(new Ghost(120, -50, 0, 12, 3, 70))).t = 20; l.waitFor(l.addFoe(new Ghost(380, -50, 0, 12, 3, 70))).t = 20; l.waitFor(l.addFoe(new Ghost(250, -50, 0, 11, 3, 70))).t = 0; l.waitFor(l.addFoe(new Ghost(250, -50, 0, 22, 3, 70))).t = 30; }; if (r == 3){ l.waitFor(l.addFoe(new BigShrub(250, -80, 0, 14, 3, 0))); for each (b in [50, 100, 400, 450]) { l.waitFor(l.addFoe(new Mage(b, -49, 0, 9, 3, 65))); l.waitFor(l.addFoe(new Shrub(b, -49, 0, 15, 3, 40))); }; }; if (r == 2){ l.waitFor(l.addFoe(new BigShrub(150, -80, 0, 14, 3, 0))); l.waitFor(l.addFoe(new BigShrub(350, -80, 0, 14, 3, 0))); }; if (r == 1){ b = 0; while (b < 14) { l.waitFor(l.addFoe(new Shrub(-30, ((Math.random() * 300) + 50), ((Math.random() * 10) + 7), ((Math.random() * 4) - 2), 2, 12))); l.waitFor(l.addFoe(new Shrub(530, ((Math.random() * 300) + 50), ((-(Math.random()) * 10) - 7), ((Math.random() * 4) - 2), 2, 12))); b++; }; }; if (r == 0){ l.waitFor(l.addFoe(new Obelisk(250, -49, 0, 9, 3, 40))); l.waitFor(l.addFoe(new Obelisk(200, -49, 0, 13, 3, 40))); l.waitFor(l.addFoe(new Obelisk(300, -49, 0, 13, 3, 40))); l.waitFor(l.addFoe(new Obelisk(150, -49, 0, 17, 3, 40))); l.waitFor(l.addFoe(new Obelisk(350, -49, 0, 17, 3, 40))); l.waitFor(l.addFoe(new Obelisk(200, -49, 0, 21, 3, 40))); l.waitFor(l.addFoe(new Obelisk(300, -49, 0, 21, 3, 40))); l.waitFor(l.addFoe(new Obelisk(250, -49, 0, 25, 3, 40))); }; } else { if (c > 50){ r = random(10); if (r == 9){ b = 0; while (b < 10) { l.waitFor(l.addFoe(new Shrub(-30, ((Math.random() * 200) + 50), ((Math.random() * 10) + 7), ((Math.random() * 4) - 2), 2, 25))); l.waitFor(l.addFoe(new Shrub(530, ((Math.random() * 200) + 50), ((-(Math.random()) * 10) - 7), ((Math.random() * 4) - 2), 2, 25))); b++; }; }; if (r == 8){ b = 0; while (b < 4) { l.waitFor(l.addFoe(new FlameGuy(530, ((Math.random() * 500) + 50), (-6 - (Math.random() * 12)), 0, 1, 8))); b++; }; l.waitFor(l.addFoe(new Hydra(500, ((Math.random() * 150) + 50), true, (-8 - (Math.random() * 3)), 0, 60))); l.waitFor(l.addFoe(new Hydra(500, ((Math.random() * 200) + 200), true, (-8 - (Math.random() * 3)), 0, 70))); l.waitFor(l.addFoe(new Hydra(500, ((Math.random() * 150) + 400), true, (-8 - (Math.random() * 3)), 0, 60))); }; if (r == 7){ b = 0; while (b < 4) { l.waitFor(l.addFoe(new FireGuy(-30, ((Math.random() * 500) + 50), (6 + (Math.random() * 12)), 0, 1, 14))); b++; }; l.waitFor(l.addFoe(new Hydra(0, ((Math.random() * 150) + 50), false, (8 + (Math.random() * 3)), 0, 60))); l.waitFor(l.addFoe(new Hydra(0, ((Math.random() * 200) + 200), false, (8 + (Math.random() * 3)), 0, 70))); l.waitFor(l.addFoe(new Hydra(0, ((Math.random() * 150) + 400), false, (8 + (Math.random() * 3)), 0, 60))); }; if (r == 6){ l.waitFor(l.addFoe(new Hydra(0, (((l.player.y * 5) / 6) + 50), false, (8 + (Math.random() * 3)), 0, 50))); l.waitFor(l.addFoe(new Hydra(500, (((l.player.y * 5) / 6) - 50), true, (-8 - (Math.random() * 3)), 0, 50))); l.waitFor(l.addFoe(new Hydra(0, ((((l.player.y * 5) / 6) - 200) % 600), false, (8 + (Math.random() * 3)), 0, 50))); l.waitFor(l.addFoe(new Hydra(500, ((((l.player.y * 5) / 6) + 200) % 600), true, (-8 - (Math.random() * 3)), 0, 50))); }; if (r == 5){ l.waitFor(l.addFoe(new HugeRock(250, -40, 0, 16, 3, 4))); l.waitFor(l.addFoe(new HugeRock(90, -40, 0, 15, 3, 4))); l.waitFor(l.addFoe(new HugeRock(410, -40, 0, 14, 3, 4))); l.waitFor(l.addFoe(new Obelisk(100, -49, 0, 11, 3, 50))); l.waitFor(l.addFoe(new Obelisk(400, -49, 0, 11, 3, 50))); l.waitFor(l.addFoe(new DeadCat(200, -49, 0, 11, 3, 8))); l.waitFor(l.addFoe(new DeadCat(250, -49, 0, 11, 3, 8))); l.waitFor(l.addFoe(new DeadCat(300, -49, 0, 11, 3, 8))); l.waitFor(l.addFoe(new Wasp(220, -49, 0, 15, 3, 3))); l.waitFor(l.addFoe(new Wasp(280, -49, 0, 15, 3, 3))); }; if (r == 4){ l.waitFor(l.addFoe(new HugeRock(250, -40, 0, 16, 3, 4))); l.waitFor(l.addFoe(new HugeRock(90, -40, 0, 15, 3, 4))); l.waitFor(l.addFoe(new HugeRock(410, -40, 0, 14, 3, 4))); l.waitFor(l.addFoe(new EyeGuy(100, -49, 0, 11, 3, 8))); l.waitFor(l.addFoe(new EyeGuy(400, -49, 0, 11, 3, 8))); l.waitFor(l.addFoe(new Slinger(200, -49, 0, 11, 3, 8))); l.waitFor(l.addFoe(new Slinger(250, -49, 0, 11, 3, 8))); l.waitFor(l.addFoe(new Slinger(300, -49, 0, 11, 3, 8))); l.waitFor(l.addFoe(new Mage(220, -49, 0, 15, 3, 40))); l.waitFor(l.addFoe(new Mage(280, -49, 0, 15, 3, 40))); }; if (r == 3){ l.waitFor(l.addFoe(new EyeGuy(100, -49, 0, 13, 3, 8))); l.waitFor(l.addFoe(new EyeGuy(170, -49, 0, 15, 3, 8))); l.waitFor(l.addFoe(new EyeGuy(250, -49, 0, 10, 3, 8))); l.waitFor(l.addFoe(new EyeGuy(250, -49, 0, 19, 3, 8))); l.waitFor(l.addFoe(new EyeGuy(330, -49, 0, 15, 3, 8))); l.waitFor(l.addFoe(new EyeGuy(400, -49, 0, 13, 3, 8))); }; if (r == 2){ l.waitFor(l.addFoe(new Obelisk(-80, 100, 13, 0, 1, 120))).t = 0; l.waitFor(l.addFoe(new Obelisk(580, 100, -13, 0, 1, 120))).t = 30; l.waitFor(l.addFoe(new Obelisk(-80, 500, 13, 0, 1, 120))).t = 60; l.waitFor(l.addFoe(new Obelisk(580, 500, -13, 0, 1, 120))).t = 90; }; if (r == 1){ l.waitFor(l.addFoe(new Golem(250, -100, 0, 16, 3, 30))); b = 0; while (b < 7) { l.waitFor(l.addFoe(new BigRock(250, -40, ((Math.random() * 8) - 4), ((Math.random() * 4) + 2), 0, 4))); l.waitFor(l.addFoe(new SmallRock(250, -40, ((Math.random() * 8) - 4), ((Math.random() * 4) + 2), 0, 4))); l.waitFor(l.addFoe(new MediumRock(250, -40, ((Math.random() * 8) - 4), ((Math.random() * 4) + 2), 0, 4))); b++; }; }; if (r == 0){ l.waitFor(l.addFoe(new EyeGuy(150, -49, 0, 11, 3, 10))); l.waitFor(l.addFoe(new EyeGuy(150, -49, 0, 18, 3, 10))); l.waitFor(l.addFoe(new EyeGuy(350, -49, 0, 11, 3, 10))); l.waitFor(l.addFoe(new EyeGuy(350, -49, 0, 18, 3, 10))); l.waitFor(l.addFoe(new Obelisk(250, -49, 0, 15, 3, 30))); }; } else { if (c > 40){ r = random(9); if (r == 8){ for each (b in [100, 200, 300, 400]) { l.waitFor(l.addFoe(new Mage((b - 30), -49, 0, 10, 3, 45))); l.waitFor(l.addFoe(new Slinger((b - 10), -49, 0, 14, 3, 12))); l.waitFor(l.addFoe(new Cactus((b + 10), -49, 0, 18, 3, 18))); l.waitFor(l.addFoe(new EyeBall((b + 30), -49, 0, 22, 3, 30))); }; }; if (r == 7){ l.waitFor(l.addFoe(new HugeRock(((Math.random() * 450) + 25), -90, 0, ((Math.random() * 3) + 3), 0, 4))); l.waitFor(l.addFoe(new BigRock(((Math.random() * 450) + 25), -40, 0, ((Math.random() * 4) + 2), 0, 4))); l.waitFor(l.addFoe(new BigRock(((Math.random() * 450) + 25), -40, 0, ((Math.random() * 4) + 3), 0, 4))); l.waitFor(l.addFoe(new BigRock(((Math.random() * 450) + 25), -40, 0, ((Math.random() * 4) + 3), 0, 4))); b = 0; while (b < 7) { l.waitFor(l.addFoe(new MediumRock(((Math.random() * 450) + 25), -30, 0, ((Math.random() * 11) + 2), 0, 4))); l.waitFor(l.addFoe(new SmallRock(((Math.random() * 450) + 25), -30, 0, ((Math.random() * 11) + 2), 0, 4))); l.waitFor(l.addFoe(new TinyRock(((Math.random() * 450) + 25), -30, 0, ((Math.random() * 11) + 2), 0, 4))); b++; }; l.waitFor(l.addFoe(new EyeBall(((Math.random() * 450) + 25), -49, 0, 4, 0, 10))); l.waitFor(l.addFoe(new EyeBall(((Math.random() * 450) + 25), -49, 0, 5, 0, 10))); l.waitFor(l.addFoe(new EyeBall(((Math.random() * 450) + 25), -49, 0, 6, 0, 10))); }; if (r == 6){ l.waitFor(l.addFoe(new DeadCat(350, -49, 0, 10, 3, 40))); l.waitFor(l.addFoe(new DeadCat(350, -49, 0, 15, 3, 40))); l.waitFor(l.addFoe(new DeadCat(400, -49, 0, 12, 3, 40))); l.waitFor(l.addFoe(new DeadCat(400, -49, 0, 17, 3, 40))); l.waitFor(l.addFoe(new DeadCat(100, -49, 0, 12, 3, 40))); l.waitFor(l.addFoe(new DeadCat(100, -49, 0, 17, 3, 40))); l.waitFor(l.addFoe(new DeadCat(150, -49, 0, 10, 3, 40))); l.waitFor(l.addFoe(new DeadCat(150, -49, 0, 15, 3, 40))); l.waitFor(l.addFoe(new Obelisk(200, -49, 0, 14, 3, 40))); l.waitFor(l.addFoe(new Obelisk(300, -49, 0, 14, 3, 40))); l.waitFor(l.addFoe(new Obelisk(250, -49, 0, 18, 3, 40))); }; if (r == 5){ for each (b in [50, 100, 400, 450]) { l.waitFor(l.addFoe(new Mage(b, -49, 0, 9, 3, 45))); l.waitFor(l.addFoe(new Mage(b, -49, 0, 15, 3, 50))); }; l.waitFor(l.addFoe(new EyeGuy(180, -49, 0, 11, 3, 10))).t = 20; l.waitFor(l.addFoe(new EyeGuy(320, -49, 0, 11, 3, 10))).t = 20; }; if (r == 4){ for each (b in [50, 100, 400, 450]) { l.waitFor(l.addFoe(new Cactus(b, -49, 0, 9, 3, 14))); l.waitFor(l.addFoe(new Cactus(b, -49, 0, 15, 3, 14))); }; l.waitFor(l.addFoe(new Tree(200, -49, 0, 11, 3, 30))).t = 20; l.waitFor(l.addFoe(new Tree(300, -49, 0, 11, 3, 30))).t = 20; l.waitFor(l.addFoe(new Tree(200, -49, 0, 18, 3, 30))); l.waitFor(l.addFoe(new Tree(300, -49, 0, 18, 3, 30))); l.waitFor(l.addFoe(new Mage(250, -49, 0, 23, 3, 45))); }; if (r == 3){ b = 50; while (b < 460) { l.waitFor(l.addFoe(new Cactus((b + 20), -30, 0, 9, 3, 20))); l.waitFor(l.addFoe(new Slinger((b - 20), -30, 0, (3 + (Math.random() * 2)), 0, 9))); b = (b + 100); }; }; if (r == 2){ b = 50; while (b < 460) { l.waitFor(l.addFoe(new Slinger((b - 20), -30, 0, 9, 3, 12))); l.waitFor(l.addFoe(new Bird((b + 20), -30, 0, 15, 3, 12))); b = (b + 80); }; }; if (r == 1){ b = 50; while (b < 460) { l.waitFor(l.addFoe(new Mage((b - 20), -30, 0, 9, 3, 40))); l.waitFor(l.addFoe(new Bird((b + 20), -30, 0, 15, 3, 12))); b = (b + 100); }; }; if (r == 0){ b = 50; while (b < 500) { l.waitFor(l.addFoe(new SeaBomb(b, -40, 0, (2 + (Math.random() * 4)), 0, 30))); b = (b + 50); }; }; } else { if (c > 30){ r = random(10); if (r == 9){ l.waitFor(l.addFoe(new Shark(0, ((Math.random() * 250) + 50), true, 1))); l.waitFor(l.addFoe(new Shark(0, ((Math.random() * 250) + 50), false, 2))); l.waitFor(l.addFoe(new Shark(0, ((Math.random() * 250) + 300), true, 2))); l.waitFor(l.addFoe(new Shark(0, ((Math.random() * 250) + 300), false, 1))); }; if (r == 8){ for each (b in [50, 100, 400, 450]) { l.waitFor(l.addFoe(new GreenJelly(b, -49, 0, 9, 3, 30))); l.waitFor(l.addFoe(new GreenJelly(b, -49, 0, 15, 3, 30))); }; l.waitFor(l.addFoe(new Tree(200, -49, 0, 11, 3, 30))).t = 20; l.waitFor(l.addFoe(new Tree(300, -49, 0, 11, 3, 30))).t = 20; l.waitFor(l.addFoe(new Tree(200, -49, 0, 18, 3, 30))); l.waitFor(l.addFoe(new Tree(300, -49, 0, 18, 3, 30))); }; if (r == 7){ l.waitFor(l.addFoe(new Tree(100, -49, 0, 15, 3, 30))).t = 10; l.waitFor(l.addFoe(new Tree(200, -49, 0, 11, 3, 30))).t = 20; l.waitFor(l.addFoe(new Tree(300, -49, 0, 11, 3, 30))).t = 20; l.waitFor(l.addFoe(new Tree(200, -49, 0, 18, 3, 30))); l.waitFor(l.addFoe(new Tree(300, -49, 0, 18, 3, 30))); l.waitFor(l.addFoe(new Tree(400, -49, 0, 15, 3, 30))).t = 10; }; if (r == 6){ for each (b in [50, 100, 400, 450]) { l.waitFor(l.addFoe(new EyeBall(b, -49, 0, 9, 3, 30))); l.waitFor(l.addFoe(new EyeBall(b, -49, 0, 15, 3, 30))); l.waitFor(l.addFoe(new EyeBall(b, -49, 0, 22, 3, 30))); }; }; if (r == 5){ b = 0; while (b < 12) { l.waitFor(l.addFoe(new EyeBall(((Math.random() * 450) + 25), -30, 0, (6 + (Math.random() * 5)), 0, 5000))); b++; }; }; if (r == 4){ l.waitFor(l.addFoe(new PurpleJelly(-30, 100, 19, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(530, 100, -19, 0, 1, 40))); l.waitFor(l.addFoe(new GreenJelly(-30, 150, 15, 0, 1, 40))); l.waitFor(l.addFoe(new GreenJelly(530, 150, -15, 0, 1, 40))); l.waitFor(l.addFoe(new BlueJelly(-30, 200, 11, 0, 1, 40))); l.waitFor(l.addFoe(new BlueJelly(530, 200, -11, 0, 1, 40))); l.waitFor(l.addFoe(new GreenJelly(-30, 250, 15, 0, 1, 40))); l.waitFor(l.addFoe(new GreenJelly(530, 250, -15, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(-30, 300, 19, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(530, 300, -19, 0, 1, 40))); l.waitFor(l.addFoe(new SeaBomb(530, 200, -18, 0, 1, 40))); l.waitFor(l.addFoe(new SeaBomb(-30, 200, 18, 0, 1, 40))); }; if (r == 3){ l.waitFor(l.addFoe(new PurpleJelly(-30, 100, 19, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(530, 100, -19, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(-30, 150, 15, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(530, 150, -15, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(-30, 200, 11, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(530, 200, -11, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(-30, 250, 15, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(530, 250, -15, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(-30, 300, 19, 0, 1, 40))); l.waitFor(l.addFoe(new PurpleJelly(530, 300, -19, 0, 1, 40))); l.waitFor(l.addFoe(new PinkJelly(530, 200, -19, 0, 1, 8))); l.waitFor(l.addFoe(new PinkJelly(-30, 200, 19, 0, 1, 8))); }; if (r == 2){ b = 50; while (b < 460) { l.waitFor(l.addFoe(new GreenJelly((b - 15), -30, 0, 9, 3, 40))); l.waitFor(l.addFoe(new PurpleJelly((b + 15), -30, 0, 13, 3, 45))); b = (b + 80); }; b = 50; while (b < 460) { l.waitFor(l.addFoe(new SeaBomb(b, -40, 0, 19, 3, 20))); b = (b + 100); }; }; if (r == 1){ l.waitFor(l.addFoe(new Moor(0, ((Math.random() * 250) + 50), true, 1))); l.waitFor(l.addFoe(new Moor(0, ((Math.random() * 250) + 300), true, 1))); l.waitFor(l.addFoe(new Moor(0, ((Math.random() * 250) + 50), false, 1))); l.waitFor(l.addFoe(new Moor(0, ((Math.random() * 250) + 300), false, 1))); }; if (r == 0){ b = 50; while (b < 460) { l.waitFor(l.addFoe(new BlueJelly((b - 15), -30, 0, 9, 3, 40))); l.waitFor(l.addFoe(new PurpleJelly(b, -30, 0, 13, 3, 45))); l.waitFor(l.addFoe(new PinkJelly((b + 15), -30, 0, 17, 3, 16))); b = (b + 80); }; }; } else { if (c > 20){ r = random(10); if (r == 9){ l.waitFor(l.addFoe(new Shark(0, ((l.player.y + 100) % 600), true, 1))); l.waitFor(l.addFoe(new Shark(0, ((l.player.y - 100) % 600), false, 1))); }; if (r == 8){ b = 100; while (b < 450) { l.waitFor(l.addFoe(new SpikeFish(b, -40, 0, (1 + (Math.random() * 2)), 0, 30))); l.waitFor(l.addFoe(new BlueJelly(((Math.random() * 400) + 50), -40, 0, (2 + (Math.random() * 3)), 0, 25))); b = (b + 50); }; }; if (r == 7){ b = 50; while (b < 460) { l.waitFor(l.addFoe(new BlueJelly((b - 15), -30, 0, 9, 3, 40))); l.waitFor(l.addFoe(new YellowJelly((b + 15), -30, 0, 13, 3, 40))); b = (b + 80); }; }; if (r == 6){ b = 50; while (b < 460) { l.waitFor(l.addFoe(new PurpleJelly((b - 15), -30, 0, 9, 3, 45))); l.waitFor(l.addFoe(new PinkJelly((b + 15), -30, 0, 13, 3, 12))); b = (b + 80); }; }; if (r == 5){ b = 50; while (b < 500) { l.waitFor(l.addFoe(new Butterfly(b, -40, 0, (9 + (Math.random() * 12)), 3, 30))); b = (b + 50); }; l.waitFor(l.addFoe(new Wasp(((Math.random() * 300) + 100), -40, 0, (9 + (Math.random() * 12)), 3, 2))); l.waitFor(l.addFoe(new Wasp(((Math.random() * 300) + 100), -40, 0, (9 + (Math.random() * 12)), 3, 2))); }; if (r == 4){ a = 0; while (a < 3) { l.waitFor(l.addFoe(new BlueJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 50))); l.waitFor(l.addFoe(new BlueJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 50))); l.waitFor(l.addFoe(new BlueJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 50))); l.waitFor(l.addFoe(new BlueJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 50))); a++; }; l.waitFor(l.addFoe(new SpikeFish(530, 400, -10, 0, 1, 40))); l.waitFor(l.addFoe(new SpikeFish(-30, 400, 10, 0, 1, 40))); }; if (r == 3){ a = 0; while (a < 3) { l.waitFor(l.addFoe(new PurpleJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 60))); l.waitFor(l.addFoe(new PurpleJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 60))); l.waitFor(l.addFoe(new PurpleJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 60))); l.waitFor(l.addFoe(new PurpleJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 60))); a++; }; l.waitFor(l.addFoe(new SeaBomb(400, -40, 0, 29, 3, 40))); l.waitFor(l.addFoe(new SeaBomb(100, -40, 0, 29, 3, 40))); }; if (r == 2){ while (a < 6) { l.waitFor(l.addFoe(new YellowJelly(530, (50 + (a * 80)), (-15 + (a * 2)), 0, 2, 35))); l.waitFor(l.addFoe(new GreenJelly(-30, (50 + (a * 80)), (15 - (a * 2)), 0, 2, 3))); a++; }; }; if (r == 1){ l.waitFor(l.addFoe(new BossBush(150, -49, 0, 14, 3, 30))); l.waitFor(l.addFoe(new BossBush(350, -49, 0, 14, 3, 30))); }; if (r == 0){ while (a < 5) { l.waitFor(l.addFoe(new PurpleJelly(530, (80 + (a * 80)), (-13 + (a * 2)), 0, 2, 40))); l.waitFor(l.addFoe(new PurpleJelly(-30, (80 + (a * 80)), (13 - (a * 2)), 0, 2, 40))); a++; }; }; } else { if (c > 10){ r = random(10); if (r == 9){ a = 0; while (a < 3) { l.waitFor(l.addFoe(new GreenJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 12))); l.waitFor(l.addFoe(new GreenJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 12))); l.waitFor(l.addFoe(new Bush(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new Bush(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 30))); a++; }; }; if (r == 8){ a = 0; while (a < 3) { l.waitFor(l.addFoe(new GreenJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 15))); l.waitFor(l.addFoe(new GreenJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 15))); l.waitFor(l.addFoe(new YellowJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 40))); l.waitFor(l.addFoe(new YellowJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 40))); a++; }; }; if (r == 7){ while (a < 5) { l.waitFor(l.addFoe(new PinkJelly(530, (80 + (a * 80)), (-13 + (a * 2)), 0, 2, 12))); l.waitFor(l.addFoe(new PinkJelly(-30, (80 + (a * 80)), (13 - (a * 2)), 0, 2, 12))); a++; }; }; if (r == 6){ while (a < 5) { l.waitFor(l.addFoe(new BlueJelly(530, (80 + (a * 80)), (-13 + (a * 2)), 0, 2, 25))); l.waitFor(l.addFoe(new BlueJelly(-30, (80 + (a * 80)), (13 - (a * 2)), 0, 2, 25))); a++; }; }; if (r == 5){ b = 50; while (b < 500) { l.waitFor(l.addFoe(new Shroom(b, -40, 0, (2 + (Math.random() * 3)), 0, 7))); b = (b + 100); }; b = 100; while (b < 500) { l.waitFor(l.addFoe(new BigBush(b, -40, 0, (2 + (Math.random() * 3)), 0, 4))); b = (b + 100); }; }; if (r == 4){ b = 100; while (b < 350) { l.waitFor(l.addFoe(new BigBush(540, b, (-2 - (Math.random() * 3)), 0, 0, 5))); l.waitFor(l.addFoe(new BigBush(-40, b, (2 + (Math.random() * 3)), 0, 0, 5))); l.waitFor(l.addFoe(new Wasp(540, (b - 50), (-1 - (Math.random() * 2)), 0, 0, 5))); l.waitFor(l.addFoe(new Wasp(-40, (b - 50), (1 + (Math.random() * 2)), 0, 0, 5))); b = (b + 100); }; }; if (r == 3){ b = 100; while (b < 350) { l.waitFor(l.addFoe(new BigBush(540, b, (-2 - (Math.random() * 3)), 0, 0, 3))); l.waitFor(l.addFoe(new BigBush(-40, b, (2 + (Math.random() * 3)), 0, 0, 3))); b = (b + 50); }; }; if (r == 2){ b = 50; while (b < 500) { l.waitFor(l.addFoe(new Wasp(((Math.random() * 300) + 100), -40, 0, (9 + (Math.random() * 12)), 3, 2))); b = (b + 100); }; }; if (r == 1){ b = 50; while (b < 500) { l.waitFor(l.addFoe(new Butterfly(b, -40, 0, (9 + (Math.random() * 12)), 3, 40))); b = (b + 50); }; }; if (r == 0){ l.waitFor(l.addFoe(new Bush(100, -49, 0, 13, 3, 15))); l.waitFor(l.addFoe(new Bush(150, -49, 0, 15, 3, 15))); l.waitFor(l.addFoe(new BossBush(250, -49, 0, 14, 3, 30))); l.waitFor(l.addFoe(new Bush(350, -49, 0, 15, 3, 15))); l.waitFor(l.addFoe(new Bush(400, -49, 0, 13, 3, 15))); }; } else { r = random(10); if (r == 9){ l.waitFor(l.addFoe(new Butterfly(540, 200, -14, 0, 1, 40))); l.waitFor(l.addFoe(new Butterfly(-40, 200, 14, 0, 1, 40))); l.waitFor(l.addFoe(new Butterfly(540, 140, -30, 0, 1, 40))); l.waitFor(l.addFoe(new Butterfly(-40, 140, 30, 0, 1, 40))); }; if (r == 8){ l.waitFor(l.addFoe(new BigBush(540, 200, -14, 0, 1, 3))); l.waitFor(l.addFoe(new BigBush(-40, 200, 14, 0, 1, 3))); l.waitFor(l.addFoe(new BigBush(540, 250, -16, 0, 1, 3))); l.waitFor(l.addFoe(new BigBush(-40, 250, 16, 0, 1, 3))); }; if (r == 7){ l.waitFor(l.addFoe(new BigBush(100, -49, 0, 13, 3, 3))); l.waitFor(l.addFoe(new BigBush(400, -49, 0, 13, 3, 3))); b = 150; while (b <= 350) { l.waitFor(l.addFoe(new Bush(b, -40, 0, (2 + (Math.random() * 3)), 0, 18))); b = (b + 50); }; }; if (r == 6){ b = 50; while (b < 500) { l.waitFor(l.addFoe(new Shroom(b, -40, 0, (2 + (Math.random() * 3)), 0, 6))); b = (b + 100); }; b = 100; while (b < 500) { l.waitFor(l.addFoe(new Bush(b, -40, 0, (2 + (Math.random() * 3)), 0, 18))); b = (b + 100); }; }; if (r == 5){ b = 50; while (b < 500) { l.waitFor(l.addFoe(new Shroom(b, -40, 0, (2 + (Math.random() * 3)), 0, 6))); b = (b + 50); }; }; if (r == 4){ l.waitFor(l.addFoe(new CatRam(250, -49, 0, 3, 0, 30))); l.waitFor(l.addFoe(new Bush(50, -49, 0, 2, 0, 25))); l.waitFor(l.addFoe(new Bush(100, -49, 0, 3, 0, 25))); l.waitFor(l.addFoe(new Bush(150, -49, 0, 4, 0, 25))); l.waitFor(l.addFoe(new Bush(200, -49, 0, 5, 0, 25))); l.waitFor(l.addFoe(new Bush(250, -49, 0, 6, 0, 25))); l.waitFor(l.addFoe(new Bush(300, -49, 0, 5, 0, 25))); l.waitFor(l.addFoe(new Bush(350, -49, 0, 4, 0, 25))); l.waitFor(l.addFoe(new Bush(400, -49, 0, 3, 0, 25))); l.waitFor(l.addFoe(new Bush(450, -49, 0, 2, 0, 25))); }; if (r == 3){ for each (b in [50, 100, 400, 450]) { l.waitFor(l.addFoe(new Bush(b, -49, 0, 9, 3, 25))); l.waitFor(l.addFoe(new Bush(b, -49, 0, 12, 3, 25))); l.waitFor(l.addFoe(new Bush(b, -49, 0, 16, 3, 25))); }; }; if (r == 2){ l.waitFor(l.addFoe(new BigLog(100, -49, 0, 8, 3, 30))); l.waitFor(l.addFoe(new Bush(150, -49, 0, 9, 3, 15))); l.waitFor(l.addFoe(new Bush(150, -49, 0, 12, 3, 15))); l.waitFor(l.addFoe(new BigLog(200, -49, 0, 8, 3, 30))); l.waitFor(l.addFoe(new BigBush(250, -49, 0, 13, 3, 3))); l.waitFor(l.addFoe(new BigLog(300, -49, 0, 8, 3, 30))); l.waitFor(l.addFoe(new Bush(350, -49, 0, 12, 3, 15))); l.waitFor(l.addFoe(new Bush(350, -49, 0, 9, 3, 15))); l.waitFor(l.addFoe(new BigLog(400, -49, 0, 8, 3, 30))); }; if (r == 1){ l.waitFor(l.addFoe(new BigLog(100, -49, 0, 9, 3, 30))); l.waitFor(l.addFoe(new CatRam(150, -49, 0, 11, 3, 30))); l.waitFor(l.addFoe(new BigLog(200, -49, 0, 11, 3, 30))); l.waitFor(l.addFoe(new CatRam(250, -49, 0, 13, 3, 30))); l.waitFor(l.addFoe(new BigLog(300, -49, 0, 11, 3, 30))); l.waitFor(l.addFoe(new CatRam(350, -49, 0, 11, 3, 30))); l.waitFor(l.addFoe(new BigLog(400, -49, 0, 9, 3, 30))); l.waitFor(l.addFoe(new Kitten(200, -49, 0, 9, 3, 30))); l.waitFor(l.addFoe(new Kitten(300, -49, 0, 9, 3, 30))); }; if (r == 0){ l.waitFor(l.addFoe(new CatRam(100, -49, 0, 4, 0, 30))); l.waitFor(l.addFoe(new CatRam(200, -49, 0, 4, 0, 30))); l.waitFor(l.addFoe(new CatRam(300, -49, 0, 4, 0, 30))); l.waitFor(l.addFoe(new CatRam(400, -49, 0, 4, 0, 30))); }; }; }; }; }; }; }; }; }; } override public function spawn(t:Number){ var c:Number; if ((t % 5) == 0){ waveTimer = 0; waveCount++; if ((((waveCount == 33)) && ((l.foesKilled == 0)))){ Medals.unlockMedal("Pacifism"); }; if ((waveCount % 10) == 0){ l.addItem(new Heart(250, -10)); }; trace(("Wave " + waveCount)); c = (((waveCount * 0.8) + (Math.random() * 6)) - 3); if ((((c > 80)) && ((Math.random() > 0.8)))){ c = (c - 10); }; waves(c); l.bottomBar.hits.text = waveCount; }; } } }//package levels
Section 186
//Level3 (levels.Level3) package levels { import foes.*; import bullets.*; public class Level3 extends Levels { public function Level3(l:Level){ super(l); } function makeBushWall(yspeed:Number){ var b:Number; b = 0; while (b < 7) { l.waitFor(l.addFoe(new Bush((100 + (b * 50)), -30, 0, yspeed, 3, 20))); b++; }; } function makeLogWall(){ var b:Number; b = 0; while (b < 9) { l.addFoe(new BigLog((50 + (b * 50)), -30, 0, 6, 0, 30)); b++; }; } function makeBush2(){ l.addFoe(new Bush(-30, -30, ((Math.random() * 5) + 8), ((Math.random() * 5) + 5), 2, 30)); } function makeBush3(){ l.addFoe(new Bush(530, -30, ((-(Math.random()) * 5) - 8), ((Math.random() * 5) + 5), 2, 30)); } function makeBigBush(x:Number){ l.addFoe(new BigBush(x, -49, 0, 4, 0, 3)); } function makeBigBush2(x:Number){ makeBigBush(x); makeBigBush((500 - x)); } function makeLog(x:Number){ l.addFoe(new BigLog(x, -30, 0, 4, 0, 30)); } function makeSlime(){ l.addFoe(new GreenSlime(((Math.random() * 450) + 25), -30, 0, 5, 0, 0)); } override public function spawn(t:Number){ if (((((t % 13) == 0)) && ((t < 230)))){ makeBush2(); makeBush3(); }; if (((((((t % 15) == 0)) && ((t > 900)))) && ((t < 1020)))){ l.addFoe(new Kitten(-30, 300, 4, 0, 0, 0)); l.addFoe(new Kitten(530, 200, -4, 0, 0, 0)); }; if (((((((t % 6) == 0)) && ((t > 1050)))) && ((t < 1200)))){ makeSlime(); }; if (((((((t % 12) == 0)) && ((t > 870)))) && ((t < 1000)))){ }; if (((((((t % 16) == 0)) && ((t > 1100)))) && ((t < 1220)))){ }; switch (t){ case 300: makeBushWall(11); break; case 330: makeBushWall(9); makeBushWall(13); break; case 350: makeLogWall(); break; case 370: makeBigBush2(100); break; case 480: makeBigBush2(200); break; case 550: makeLogWall(); break; case 630: makeBushWall(9); makeBushWall(13); makeBushWall(16); break; case 640: makeBigBush2(100); break; case 700: makeBigBush2(200); break; case 730: makeTank(250).drop = "heart"; break; case 790: makeTank(100); makeTank(400); break; case 1300: l.waitFor(l.addFoe(new BigBush(-30, 100, 12, 0, 1, 3))); l.waitFor(l.addFoe(new BigBush(-30, 200, 14, 0, 1, 3))); l.waitFor(l.addFoe(new BigBush(-30, 300, 16, 0, 1, 3))); break; case 1360: l.waitFor(l.addFoe(new BigBush(530, 100, -12, 0, 1, 3))); l.waitFor(l.addFoe(new BigBush(530, 200, -14, 0, 1, 3))); l.waitFor(l.addFoe(new BigBush(530, 300, -16, 0, 1, 3))); break; case 1450: l.waitFor(l.addFoe(new BossBush(250, -45, 0, 13, 3, 0))); l.waitFor(l.addFoe(new BigBush(100, -40, 0, 15, 3, 3))).drop = "heart"; l.waitFor(l.addFoe(new BigBush(400, -40, 0, 15, 3, 3))).drop = "shield"; break; case 1650: l.winLevel(); }; } function makeBush(x:Number){ l.addFoe(new Bush(x, -49, 0, 4, 0, 30)); } function makeTank(x:Number){ return (l.addFoe(new CatRam(x, -49, 0, 4, 0, 30))); } } }//package levels
Section 187
//Level4 (levels.Level4) package levels { import foes.*; public class Level4 extends Levels { public function Level4(l:Level){ super(l); } function makeBushWall(yspeed:Number){ var b:Number; b = 0; while (b < 7) { l.addFoe(new Bush((100 + (b * 50)), -30, 0, yspeed, 0, 20)); b++; }; } function makeLogWall(){ var b:Number; b = 0; while (b < 9) { l.addFoe(new BigLog((50 + (b * 50)), -30, 0, 6, 0, 30)); b++; }; } function makeBush2(){ l.addFoe(new Bush(-30, -30, ((Math.random() * 5) + 8), ((Math.random() * 5) + 5), 2, 30)); } function makeBush3(){ l.addFoe(new Bush(530, -30, ((-(Math.random()) * 5) - 8), ((Math.random() * 5) + 5), 2, 30)); } function makeBigBush(x:Number){ l.addFoe(new BigBush(x, -49, 0, 4, 0, 4)); } function makeBigBush2(x:Number){ makeBigBush(x); makeBigBush((500 - x)); } function makeLog(x:Number){ l.addFoe(new BigLog(x, -30, 0, 4, 0, 30)); } function makeSlime(){ l.addFoe(new GreenSlime(((Math.random() * 450) + 25), -30, 0, 5, 0, 0)); } override public function spawn(t:Number){ if (((((((t % 13) == 0)) && ((t > 30)))) && ((t < 180)))){ l.addFoe(new Shroom(((Math.random() * 450) + 25), -30, 0, 5, 0, 4)); }; if (((((((t % 12) == 0)) && ((t > 500)))) && ((t < 620)))){ l.addFoe(new Shroom(530, ((Math.random() * 550) + 25), -5, 0, 0, 4)); }; if (((((((t % 12) == 0)) && ((t > 620)))) && ((t < 740)))){ l.addFoe(new Shroom(-30, ((Math.random() * 550) + 25), 5, 0, 0, 4)); }; if (((((((t % 12) == 0)) && ((t > 740)))) && ((t < 860)))){ l.addFoe(new Shroom(((Math.random() * 450) + 25), 630, 0, -5, 0, 4)); }; if (((((((t % 23) == 0)) && ((t > 1170)))) && ((t < 1400)))){ l.addFoe(new Butterfly(((Math.random() * 450) + 25), -30, 0, 5, 0, 40)); }; switch (t){ case 260: makeBigBush2(100); break; case 300: makeBigBush2(200); break; case 370: makeBushWall(5); break; case 400: makeBushWall(5); break; case 430: makeBushWall(5); break; case 950: makeBigBush2(70); break; case 980: makeBigBush2(140); break; case 1010: makeBigBush2(210); break; case 1040: makeBigBush2(140); break; case 1070: makeBigBush2(70); break; case 1560: l.winLevel(); break; }; } function makeBush(x:Number){ l.addFoe(new Bush(x, -49, 0, 4, 0, 30)); } function makeTank(x:Number){ l.addFoe(new CatRam(x, -49, 0, 4, 0, 30)); } } }//package levels
Section 188
//Level5 (levels.Level5) package levels { import foes.*; public class Level5 extends Levels { public function Level5(l:Level){ super(l); } function makeBushWall(yspeed:Number){ var b:Number; b = 0; while (b < 7) { l.addFoe(new Bush((100 + (b * 50)), -30, 0, yspeed, 0, 20)); b++; }; } function makeLogWall(){ var b:Number; b = 0; while (b < 9) { l.addFoe(new BigLog((50 + (b * 50)), -30, 0, 6, 0, 30)); b++; }; } function makeBush2(){ l.addFoe(new Bush(-30, -30, ((Math.random() * 5) + 8), ((Math.random() * 5) + 5), 2, 30)); } function makeBush3(){ l.addFoe(new Bush(530, -30, ((-(Math.random()) * 5) - 8), ((Math.random() * 5) + 5), 2, 30)); } function makeBigBush(x:Number){ l.addFoe(new BigBush(x, -49, 0, 4, 0, 3)); } function makeBigBush2(x:Number){ makeBigBush(x); makeBigBush((500 - x)); } function makeLog(x:Number){ l.addFoe(new BigLog(x, -30, 0, 4, 0, 30)); } function makeSlime(){ l.addFoe(new GreenSlime(((Math.random() * 450) + 25), -30, 0, 5, 0, 0)); } override public function spawn(t:Number){ if (((((t % 12) == 0)) && ((t < 500)))){ l.addFoe(new Kitten(-30, 300, 6, 0, 0, 0)); l.addFoe(new Kitten(530, 250, -6, 0, 0, 0)); }; if (((((t % 16) == 0)) && ((t < 500)))){ l.addFoe(new Bush(-30, 150, 5, 0, 0, 1000)); l.addFoe(new Bush(530, 200, -5, 0, 0, 1000)); }; if (((((t % 21) == 0)) && ((t < 500)))){ l.addFoe(new GreenSlime(-30, 100, 4, 0, 0, 1000)); l.addFoe(new GreenSlime(530, 50, -4, 0, 0, 1000)); }; switch (t){ case 600: l.waitFor(l.addFoe(new SlimeKing(250, -150, 0, 19, 3, 0))); BGM.play("bossMusic"); break; case 720: l.winLevel(); break; }; } function makeBush(x:Number){ l.addFoe(new Bush(x, -49, 0, 4, 0, 30)); } function makeTank(x:Number){ l.addFoe(new CatRam(x, -49, 0, 4, 0, 30)); } } }//package levels
Section 189
//Level6 (levels.Level6) package levels { import foes.*; public class Level6 extends Levels { public function Level6(l:Level){ super(l); } function makeAmbush(){ var a:int; while (a < 3) { l.waitFor(l.addFoe(new BlueJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new BlueJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new PurpleJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new PurpleJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; } override public function spawn(t:Number){ if (((((t % 30) == 0)) && ((t < 300)))){ l.addFoe(new BlueJelly(-30, 100, 4, 0, 0, 30)); l.addFoe(new BlueJelly(530, 170, -4, 0, 0, 30)); }; if (((((((t % 30) == 0)) && ((t > 330)))) && ((t < 630)))){ l.addFoe(new PurpleJelly(-30, 100, 4, 0, 0, 30)); l.addFoe(new PurpleJelly(530, 170, -4, 0, 0, 30)); }; if (((((((t % 24) == 0)) && ((t > 630)))) && ((t < 930)))){ l.addFoe(new PurpleJelly(-30, 100, 4, 0, 0, 30)); l.addFoe(new PinkJelly(530, 170, -4, 0, 0, 8)); }; if (((((((t % 28) == 0)) && ((t > 1360)))) && ((t < 1960)))){ l.addFoe(new PinkJelly(-30, 60, 4, 0, 0, 10)); l.addFoe(new PinkJelly(530, 120, -4, 0, 0, 10)); }; switch (t){ case 1060: makeBlueAmbush(); break; case 1190: makePurpleAmbush(); break; case 1320: makeAmbush(); break; case 1600: makeMiniAmbush1(); break; case 1700: makeMiniAmbush1(); break; case 1800: makeMiniAmbush1(); break; case 1900: makeMiniAmbush1(); break; case 2200: l.winLevel(); break; }; } function makeBlueAmbush(){ var a:int; while (a < 5) { l.addFoe(new BlueJelly(530, (80 + (a * 80)), (-13 + (a * 2)), 0, 2, 30)); l.addFoe(new BlueJelly(-30, (80 + (a * 80)), (13 - (a * 2)), 0, 2, 30)); a++; }; } function makePurpleAmbush(){ var a:int; while (a < 5) { l.addFoe(new PurpleJelly(530, (80 + (a * 80)), (-13 + (a * 2)), 0, 2, 30)); l.addFoe(new PurpleJelly(-30, (80 + (a * 80)), (13 - (a * 2)), 0, 2, 30)); a++; }; } function makeMiniAmbush1(){ var a:int; while (a < 2) { l.addFoe(new BlueJelly(530, (200 + (a * 60)), (-12 + (a * 2)), 0, 2, 30)); l.addFoe(new BlueJelly(-30, (200 + (a * 60)), (12 - (a * 2)), 0, 2, 30)); a++; }; } } }//package levels
Section 190
//Level7 (levels.Level7) package levels { import foes.*; public class Level7 extends Levels { public var b:Number;// = 0 public function Level7(l:Level){ b = 0; super(l); } function makeBlueAmbush(){ var a:int; while (a < 5) { l.addFoe(new BlueJelly(530, (80 + (a * 80)), (-13 + (a * 2)), 0, 2, 30)); l.addFoe(new BlueJelly(-30, (80 + (a * 80)), (13 - (a * 2)), 0, 2, 30)); a++; }; } function makeAmbush(){ var a:int; a = 0; while (a < 3) { l.waitFor(l.addFoe(new GreenJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 3))); l.waitFor(l.addFoe(new GreenJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 3))); l.waitFor(l.addFoe(new YellowJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 60))); l.waitFor(l.addFoe(new YellowJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 60))); a++; }; } function makePurpleAmbush(){ var a:int; while (a < 5) { l.addFoe(new PurpleJelly(530, (80 + (a * 80)), (-13 + (a * 2)), 0, 2, 30)); l.addFoe(new PurpleJelly(-30, (80 + (a * 80)), (13 - (a * 2)), 0, 2, 30)); a++; }; } function makeAmbush2(){ var a:int; a = 0; while (a < 3) { l.waitFor(l.addFoe(new PinkJelly(530, (110 + (a * 80)), (-16 + (a * 1)), 0, 1, 5))); l.waitFor(l.addFoe(new PinkJelly(-30, (110 + (a * 80)), (16 - (a * 1)), 0, 1, 5))); l.waitFor(l.addFoe(new GreenJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new GreenJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; } function makeAmbush3(){ var a:int; a = 0; while (a < 3) { l.waitFor(l.addFoe(new PurpleJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new PurpleJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new GreenJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new GreenJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; l.waitFor(l.addFoe(new YellowJelly(530, 400, -10, 0, 1, 40))).drop = "heart"; l.waitFor(l.addFoe(new YellowJelly(-30, 400, 10, 0, 1, 40))).drop = "shield"; } function makeMiniAmbush2(){ l.addFoe(new BlueJelly(530, 100, -11, 0, 0, 3)); l.addFoe(new BlueJelly(-30, 200, 11, 0, 0, 3)); } function makeMiniAmbush3(){ l.addFoe(new PurpleJelly(530, 100, -12, 0, 0, 3)); l.addFoe(new PurpleJelly(-30, 200, 12, 0, 0, 3)); } override public function spawn(t:Number){ if (((((t % 25) == 0)) && ((t < 480)))){ l.addFoe(new SpikeFish(((Math.random() * 400) + 50), -40, 0, 4, 0, 30)); }; if (((((((t % 30) == 0)) && ((t > 540)))) && ((t < 840)))){ l.addFoe(new YellowJelly((50 + (b * 20)), -30, 0, 5, 0, 55)); l.addFoe(new YellowJelly((450 - (b * 20)), -30, 0, 5, 0, 55)); b++; }; if (((((((t % 30) == 0)) && ((t > 900)))) && ((t < 1140)))){ l.addFoe(new GreenJelly((50 + (b * 50)), -30, 0, 5, 0, 3)); l.addFoe(new GreenJelly((450 - (b * 50)), -30, 0, 5, 0, 3)); b++; }; switch (t){ case 850: b = 0; break; case 1200: makeAmbush(); break; case 1290: makeAmbush2(); break; case 1360: makeAmbush3(); break; case 1440: makeMiniAmbush1(); break; case 1460: makeMiniAmbush1(); break; case 1480: makeMiniAmbush1(); break; case 1570: makeMiniAmbush2(); break; case 1600: makeMiniAmbush2(); break; case 1690: makeMiniAmbush3(); break; case 1720: makeMiniAmbush3(); break; case 1820: l.winLevel(); break; }; } function makeMiniAmbush1(){ l.addFoe(new GreenJelly(530, 100, -9, 0, 0, 1)); l.addFoe(new GreenJelly(-30, 200, 9, 0, 0, 1)); } } }//package levels
Section 191
//Level8 (levels.Level8) package levels { import foes.*; public class Level8 extends Levels { public var b:Number;// = 0 public function Level8(l:Level){ b = 0; super(l); } function makeAmbush(){ var a:int; a = 0; while (a < 2) { l.waitFor(l.addFoe(new PinkJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 6))); l.waitFor(l.addFoe(new PinkJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 6))); l.waitFor(l.addFoe(new Butterfly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new Butterfly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; } function makeAmbush2(){ var a:int; a = 0; while (a < 3) { l.waitFor(l.addFoe(new YellowJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new YellowJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new Butterfly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new Butterfly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; } function makeAmbush3(){ var a:int; a = 0; while (a < 4) { l.waitFor(l.addFoe(new BlueJelly(530, (110 + (a * 80)), (-16 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new GreenJelly(-30, (110 + (a * 80)), (16 - (a * 1)), 0, 1, 5))); l.waitFor(l.addFoe(new PurpleJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new YellowJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; } function makeAmbush4(){ var a:int; a = 0; while (a < 3) { l.waitFor(l.addFoe(new PurpleJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new PurpleJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new GreenJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new GreenJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; l.waitFor(l.addFoe(new YellowJelly(530, 400, -10, 0, 1, 40))).drop = "heart"; l.waitFor(l.addFoe(new YellowJelly(-30, 400, 10, 0, 1, 40))).drop = "shield"; } function makeMiniAmbush2(){ l.addFoe(new BlueJelly(530, 100, -11, 0, 0, 3)); l.addFoe(new BlueJelly(-30, 200, 11, 0, 0, 3)); } function makeMiniAmbush3(){ l.addFoe(new PurpleJelly(530, 100, -12, 0, 0, 3)); l.addFoe(new PurpleJelly(-30, 200, 12, 0, 0, 3)); } override public function spawn(t:Number){ if (((((t % 90) == 0)) && ((t < 480)))){ l.addFoe(new SeaBomb(((Math.random() * 400) + 50), -40, 0, 4, 0, 40)); }; if (((((((t % 35) == 0)) && ((t > 540)))) && ((t < 800)))){ l.addFoe(new YellowJelly(((Math.random() * 400) + 50), -30, 0, 5, 0, 40)); l.addFoe(new PurpleJelly(((Math.random() * 400) + 50), -30, 0, 5, 0, 60)); b++; }; switch (t){ case 900: makeAmbush(); break; case 1000: makeAmbush2(); break; case 1100: l.waitFor(l.addFoe(new Coral(250, -50, 0, 14, 3, 50))); break; case 1240: l.winLevel(); break; }; } function makeMiniAmbush1(){ l.addFoe(new GreenJelly(530, 100, -9, 0, 0, 1)); l.addFoe(new GreenJelly(-30, 200, 9, 0, 0, 1)); } } }//package levels
Section 192
//Level9 (levels.Level9) package levels { import foes.*; import bullets.*; public class Level9 extends Levels { public var b:Number;// = 0 public function Level9(l:Level){ b = 0; super(l); } function makeMiniAmbush3(){ l.addFoe(new PurpleJelly(530, 100, -12, 0, 0, 3)); l.addFoe(new PurpleJelly(-30, 200, 12, 0, 0, 3)); } function makeBlue(x:Number){ l.addFoe(new BlueJelly(x, -40, 0, 5, 0, 5000)); } function makeAmbush(){ var a:int; a = 0; while (a < 5) { l.waitFor(l.addFoe(new BlueJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 6))); l.waitFor(l.addFoe(new BlueJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 6))); l.waitFor(l.addFoe(new BlueJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new BlueJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; } function makePurple(x:Number){ l.addFoe(new PurpleJelly(x, -40, 0, 5, 0, 5000)); } function makePink(x:Number){ l.addFoe(new PinkJelly(x, -40, 0, 5, 0, 5000)); } function makeAmbush2(){ var a:int; a = 0; while (a < 3) { l.waitFor(l.addFoe(new YellowJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new YellowJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new Butterfly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new Butterfly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; } function makeAmbush3(){ var a:int; a = 0; while (a < 4) { l.waitFor(l.addFoe(new BlueJelly(530, (110 + (a * 80)), (-16 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new GreenJelly(-30, (110 + (a * 80)), (16 - (a * 1)), 0, 1, 5))); l.waitFor(l.addFoe(new PurpleJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new YellowJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; } function makeAmbush4(){ var a:int; a = 0; while (a < 3) { l.waitFor(l.addFoe(new PurpleJelly(530, (110 + (a * 80)), (-13 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new PurpleJelly(-30, (110 + (a * 80)), (13 - (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new GreenJelly(530, (80 + (a * 80)), (-10 + (a * 1)), 0, 1, 30))); l.waitFor(l.addFoe(new GreenJelly(-30, (80 + (a * 80)), (10 - (a * 1)), 0, 1, 30))); a++; }; l.waitFor(l.addFoe(new YellowJelly(530, 400, -10, 0, 1, 40))); l.waitFor(l.addFoe(new YellowJelly(-30, 400, 10, 0, 1, 40))); } function makeShark(y:Number, left:Boolean){ return (l.addFoe(new Shark(0, y, left, 1))); } function makeMiniAmbush2(){ l.addFoe(new BlueJelly(530, 100, -11, 0, 0, 3)); l.addFoe(new BlueJelly(-30, 200, 11, 0, 0, 3)); } function makeMoor(y:Number, left:Boolean){ l.addFoe(new Moor(0, y, left, 1)); } override public function spawn(t:Number){ if (((((((t % 25) == 0)) && ((t > 580)))) && ((t < 770)))){ makeBlue(70); makePurple(140); makeBlue(430); makePurple(360); makePink(290); makePink(210); }; if (((((((t % 35) == 0)) && ((t > 1200)))) && ((t < 1650)))){ l.addFoe(new SpikeFish(((Math.random() * 400) + 50), -40, 0, 4, 0, 30)); }; if (((((((t % 16) == 0)) && ((t > 1200)))) && ((t < 1650)))){ l.addFoe(new PurpleJelly(((Math.random() * 400) + 50), -40, 0, 5, 0, 50)); }; if (((((((t % 90) == 0)) && ((t > 1750)))) && ((t < 2100)))){ makeMoor(((Math.random() * 500) + 50), true); }; if (((((((t % 90) == 45)) && ((t > 1750)))) && ((t < 2100)))){ makeMoor(((Math.random() * 500) + 50), false); }; switch (t){ case 60: makeShark(300, true); break; case 120: makeShark(200, false); break; case 180: makeShark(400, true); break; case 230: makeShark(250, false); break; case 280: makeShark(500, true); break; case 330: makeShark(400, false); break; case 370: makeShark(150, true); break; case 410: makeShark(200, false); break; case 440: makeShark(500, true); break; case 470: makeShark(300, false); break; case 880: makeShark(100, false); makeShark(200, true).drop = "shield"; break; case 960: l.addFoe(new SeaBomb(400, -40, 0, 4, 0, 30)); l.addFoe(new SeaBomb(100, -40, 0, 4, 0, 30)); break; case 1000: l.addFoe(new SeaBomb(320, -40, 0, 4, 0, 30)); l.addFoe(new SeaBomb(180, -40, 0, 4, 0, 30)); break; case 1130: makeShark(100, false).drop = "heart"; makeShark(200, true); break; case 2290: l.winLevel(); break; }; } function makeMiniAmbush1(){ l.addFoe(new GreenJelly(530, 100, -9, 0, 0, 1)); l.addFoe(new GreenJelly(-30, 200, 9, 0, 0, 1)); } } }//package levels
Section 193
//Levels (levels.Levels) package levels { public class Levels { var l:Level; public var survival:Boolean;// = false public function Levels(l:Level){ survival = false; super(); this.l = l; } public function timer(){ } public function spawn(t:Number){ } } }//package levels
Section 194
//AGsplash_34 (main_fla.AGsplash_34) package main_fla { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class AGsplash_34 extends MovieClip { public var agb:SimpleButton; public function AGsplash_34(){ super(); addFrameScript(0, frame1, 81, frame82, 192, frame193); } function frame82(){ getChildByName("agb").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/"), "_blank"); }); } function frame1(){ gotoAndPlay(2); } function frame193(){ stop(); (root as Main).fadeTo("ads"); } } }//package main_fla
Section 195
//backgroundscrolling_358 (main_fla.backgroundscrolling_358) package main_fla { import flash.display.*; import flash.events.*; import flash.media.*; import flash.utils.*; import flash.text.*; import flash.net.*; import flash.ui.*; import flash.system.*; import flash.geom.*; import flash.errors.*; import adobe.utils.*; import flash.accessibility.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.xml.*; public dynamic class backgroundscrolling_358 extends MovieClip { public var tiles:MovieClip; public function backgroundscrolling_358(){ super(); addFrameScript(0, frame1); } function frame1(){ if (!Global.vars.options[0]){ stop(); }; } } }//package main_fla
Section 196
//backgroundstrips_360 (main_fla.backgroundstrips_360) package main_fla { import flash.display.*; import levels.*; public dynamic class backgroundstrips_360 extends MovieClip { public function backgroundstrips_360(){ super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8); } function frame3(){ stop(); gotoAndStop((parent.parent.parent as Level).bg); } function frame6(){ stop(); gotoAndStop((parent.parent.parent as Level).bg); } function frame7(){ stop(); gotoAndStop((parent.parent.parent as Level).bg); } function frame1(){ stop(); gotoAndStop((parent.parent.parent as Level).bg); } function frame4(){ stop(); gotoAndStop((parent.parent.parent as Level).bg); } function frame5(){ stop(); gotoAndStop((parent.parent.parent as Level).bg); } function frame8(){ stop(); gotoAndStop((parent.parent.parent as Level).bg); } function frame2(){ stop(); gotoAndStop((parent.parent.parent as Level).bg); } } }//package main_fla
Section 197
//backgroundtiles_359 (main_fla.backgroundtiles_359) package main_fla { import flash.display.*; public dynamic class backgroundtiles_359 extends MovieClip { public var tile1:MovieClip; public var tile2:MovieClip; public var tile3:MovieClip; public var tile4:MovieClip; public function backgroundtiles_359(){ super(); addFrameScript(0, frame1, 102, frame103); } function frame1(){ stop(); } function frame103(){ stop(); } } }//package main_fla
Section 198
//bottomBar_361 (main_fla.bottomBar_361) package main_fla { import flash.display.*; import foes.*; import flash.text.*; public dynamic class bottomBar_361 extends MovieClip { public var mainChargeBar:MovieClip; public var hpBar:MovieClip; public var weaponIcon1:MovieClip; public var bombs:TextField; public var weaponIcon2:MovieClip; public var bossHP:FoeBar; public var medalBox:MovieClip; public var subChargeBar:MovieClip; public var health:TextField; public var hits:TextField; public var powah:MovieClip; public var score:TextField; public var waves:MovieClip; public var bomb:MovieClip; public var sub:TextField; public var main:TextField; public var multiplier:TextField; public var bullets:TextField; public var p0:MovieClip; public var kills:TextField; public var fps:TextField; public var money:TextField; public function bottomBar_361(){ super(); } } }//package main_fla
Section 199
//coral2_85 (main_fla.coral2_85) package main_fla { import flash.display.*; public dynamic class coral2_85 extends MovieClip { public function coral2_85(){ super(); addFrameScript(0, frame1); } function frame1(){ } } }//package main_fla
Section 200
//fader_9 (main_fla.fader_9) package main_fla { import flash.display.*; public dynamic class fader_9 extends MovieClip { public var l:String; public function fader_9(){ super(); addFrameScript(0, frame1, 7, frame8, 14, frame15); } function frame15(){ if (this){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame8(){ MovieClip(root).gotoAndStop(l); } } }//package main_fla
Section 201
//kittenbody_147 (main_fla.kittenbody_147) package main_fla { import flash.display.*; import foes.*; public dynamic class kittenbody_147 extends MovieClip { public function kittenbody_147(){ super(); addFrameScript(0, frame1); } function frame1(){ gotoAndStop((parent as Foe).kitten); } } }//package main_fla
Section 202
//kittenhead_77 (main_fla.kittenhead_77) package main_fla { import flash.display.*; import foes.*; public dynamic class kittenhead_77 extends MovieClip { public function kittenhead_77(){ super(); addFrameScript(0, frame1); } function frame1(){ gotoAndStop((parent as Foe).kitten); } } }//package main_fla
Section 203
//levelDisplay_401 (main_fla.levelDisplay_401) package main_fla { import flash.display.*; import flash.text.*; public dynamic class levelDisplay_401 extends MovieClip { public var scoreT:TextField; public var killsT:TextField; public var waveT:TextField; public function levelDisplay_401(){ super(); 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, 20, frame21, 21, frame22, 22, frame23, 23, frame24, 24, frame25, 25, frame26, 26, frame27, 27, frame28); } function frame10(){ showScore(); } function frame14(){ showScore(); } function frame18(){ showScore(); } function frame12(){ showScore(); } function frame3(){ showScore(); } function frame6(){ showScore(); } function frame7(){ showScore(); } function frame1(){ gotoAndStop((root as Main).selectedLevel); showScore(); } function frame19(){ showScore(); } function frame25(){ showScore(); waveT.text = ("Best Wave: " + (root as Main).survivalWaves); killsT.text = ("Most Kills: " + (root as Main).survivalKills); } function frame13(){ showScore(); } function frame17(){ showScore(); } function frame4(){ showScore(); } function frame5(){ showScore(); } function frame22(){ showScore(); } function frame16(){ showScore(); } function frame8(){ showScore(); } function frame9(){ showScore(); } function frame2(){ showScore(); } function frame15(){ showScore(); } function frame23(){ showScore(); } function frame24(){ showScore(); } public function showScore(){ scoreT.text = ("High Score: " + (root as Main).levelScores[currentFrame]); } function frame20(){ showScore(); } function frame21(){ showScore(); } function frame27(){ showScore(); } function frame11(){ showScore(); } function frame28(){ showScore(); } function frame26(){ showScore(); } } }//package main_fla
Section 204
//levelicons_393 (main_fla.levelicons_393) package main_fla { import flash.display.*; public dynamic class levelicons_393 extends MovieClip { public function levelicons_393(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 205
//levelstatus_387 (main_fla.levelstatus_387) package main_fla { import flash.display.*; public dynamic class levelstatus_387 extends MovieClip { public function levelstatus_387(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 206
//levelunlocked_404 (main_fla.levelunlocked_404) package main_fla { import flash.display.*; public dynamic class levelunlocked_404 extends MovieClip { public function levelunlocked_404(){ super(); addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); visible = false; if ((root as Main).levelUnlock){ (root as Main).selectedLevel = (root as Main).unlockedLevel; play(); (root as Main).levelUnlock = false; if ((root as Main).levelScores[(root as Main).selectedLevel] == undefined){ (root as Main).levelScores[(root as Main).selectedLevel] = 0; }; (root as Main).selectLevel((root as Main).selectedLevel); }; } function frame2(){ visible = true; } } }//package main_fla
Section 207
//medalBox_12 (main_fla.medalBox_12) package main_fla { import flash.display.*; public dynamic class medalBox_12 extends MovieClip { public var icon:MedalIcon; public function medalBox_12(){ super(); addFrameScript(0, frame1); } function frame1(){ icon.icon.gotoAndStop(Medals.current); } } }//package main_fla
Section 208
//medalBox2_11 (main_fla.medalBox2_11) package main_fla { import flash.display.*; public dynamic class medalBox2_11 extends MovieClip { public function medalBox2_11(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 209
//menuselecy_332 (main_fla.menuselecy_332) package main_fla { import flash.display.*; public dynamic class menuselecy_332 extends MovieClip { public function menuselecy_332(){ super(); addFrameScript(5, frame6); } function frame6(){ stop(); } } }//package main_fla
Section 210
//playaunlocked_402 (main_fla.playaunlocked_402) package main_fla { import flash.display.*; public dynamic class playaunlocked_402 extends MovieClip { public function playaunlocked_402(){ super(); addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); visible = false; if ((root as Main).playerUnlock){ play(); (root as Main).playerUnlock = false; }; } function frame2(){ visible = true; } } }//package main_fla
Section 211
//playerButton_369 (main_fla.playerButton_369) package main_fla { import flash.display.*; public dynamic class playerButton_369 extends MovieClip { public var icons:MovieClip; public function playerButton_369(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 212
//playerIcons_370 (main_fla.playerIcons_370) package main_fla { import flash.display.*; public dynamic class playerIcons_370 extends MovieClip { public function playerIcons_370(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 213
//playerPreview_395 (main_fla.playerPreview_395) package main_fla { import flash.display.*; public dynamic class playerPreview_395 extends MovieClip { public function playerPreview_395(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 214
//playerpreview2_394 (main_fla.playerpreview2_394) package main_fla { import flash.display.*; public dynamic class playerpreview2_394 extends MovieClip { public var showPlayer:MovieClip; public function playerpreview2_394(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 215
//powah_372 (main_fla.powah_372) package main_fla { import flash.display.*; public dynamic class powah_372 extends MovieClip { public function powah_372(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 216
//rankIcon_378 (main_fla.rankIcon_378) package main_fla { import flash.display.*; public dynamic class rankIcon_378 extends MovieClip { public function rankIcon_378(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 217
//showlevels_400 (main_fla.showlevels_400) package main_fla { import flash.display.*; public dynamic class showlevels_400 extends MovieClip { public var showLevel:MovieClip; public function showlevels_400(){ super(); addFrameScript(0, frame1, 9, frame10); } function frame10(){ stop(); } function frame1(){ stop(); } } }//package main_fla
Section 218
//swordLoader_2 (main_fla.swordLoader_2) package main_fla { import flash.display.*; import flash.events.*; import flash.text.*; public dynamic class swordLoader_2 extends MovieClip { public var loaded:Number; public var bar:MovieClip; public var percent:TextField; public var playButton:SimpleButton; public var loadingComplete:Boolean; public function swordLoader_2(){ super(); addFrameScript(0, frame1, 14, frame15); } public function enterFrameHandler(e:Event=null){ if (!loadingComplete){ if (loaderInfo){ loaded = (loaderInfo.bytesLoaded / loaderInfo.bytesTotal); }; if (bar){ bar.scaleY = loaded; percent.text = (("" + int((loaded * 100))) + "%"); }; if (loaded >= 1){ loadingComplete = true; gotoAndPlay("loaded"); }; }; } public function playButtonClickHandler(e:Event=null):void{ startMovie(); } function frame15(){ stop(); if (((playButton) && (!(playButton.hasEventListener(MouseEvent.CLICK))))){ playButton.addEventListener(MouseEvent.CLICK, playButtonClickHandler, false, 0, true); }; } function frame1(){ addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true); loadingComplete = false; loaded = 0; stop(); } public function startMovie():void{ removeEventListener(Event.ENTER_FRAME, enterFrameHandler); if (((root) && ((root is MovieClip)))){ MovieClip(root).play(); }; } } }//package main_fla
Section 219
//tick1_353 (main_fla.tick1_353) package main_fla { import flash.display.*; public dynamic class tick1_353 extends MovieClip { public function tick1_353(){ super(); addFrameScript(6, frame7); } function frame7(){ stop(); } } }//package main_fla
Section 220
//tickBox_351 (main_fla.tickBox_351) package main_fla { import flash.display.*; public dynamic class tickBox_351 extends MovieClip { public var tick:MovieClip; public function tickBox_351(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 221
//ticky_352 (main_fla.ticky_352) package main_fla { import flash.display.*; public dynamic class ticky_352 extends MovieClip { public function ticky_352(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 222
//Timeline_16 (main_fla.Timeline_16) package main_fla { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class Timeline_16 extends MovieClip { public var agb:SimpleButton; public function Timeline_16(){ super(); addFrameScript(0, frame1); } function frame1(){ getChildByName("agb").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/"), "_blank"); }); } } }//package main_fla
Section 223
//Timeline_19 (main_fla.Timeline_19) package main_fla { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class Timeline_19 extends MovieClip { public var b2:SimpleButton; public var b9:SimpleButton; public var b6:SimpleButton; public var b7:SimpleButton; public var b1:SimpleButton; public var b3:SimpleButton; public var b8:SimpleButton; public function Timeline_19(){ super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6, 6, frame7, 7, frame8, 8, frame9, 9, frame10, 10, frame11); } function frame10(){ getChildByName("b8").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://halcyonicfalconx.newgrounds.com/news/post/579117"), "_blank"); }); } function frame3(){ getChildByName("b3").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/6897/epic-battle-fantasy-3"), "_blank"); }); } function frame6(){ getChildByName("b3").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/6897/epic-battle-fantasy-3"), "_blank"); }); } function frame7(){ getChildByName("b6").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://kupo707.deviantart.com/"), "_blank"); }); } function frame1(){ stop(); gotoAndStop((int((Math.random() * 21)) + 1)); getChildByName("b1").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/3776/epic-battle-fantasy"), "_blank"); }); } function frame4(){ getChildByName("b3").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/6897/epic-battle-fantasy-3"), "_blank"); }); } function frame5(){ getChildByName("b3").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/6897/epic-battle-fantasy-3"), "_blank"); }); } function frame9(){ getChildByName("b9").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://www.facebook.com/pages/Halcyonic-Falcon-X/148298581863486"), "_blank"); }); } function frame8(){ getChildByName("b7").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://www.facebook.com/pages/Epic-Battle-Fantasy-3/121491377896263"), "_blank"); }); } function frame2(){ getChildByName("b2").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/4353/epic-battle-fantasy-2"), "_blank"); }); } function frame11(){ getChildByName("b8").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://halcyonicfalconx.newgrounds.com/news/post/579117"), "_blank"); }); } } }//package main_fla
Section 224
//Timeline_267 (main_fla.Timeline_267) package main_fla { import flash.display.*; public dynamic class Timeline_267 extends MovieClip { public function Timeline_267(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 225
//Timeline_318 (main_fla.Timeline_318) package main_fla { import flash.display.*; public dynamic class Timeline_318 extends MovieClip { public function Timeline_318(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 226
//Timeline_330 (main_fla.Timeline_330) package main_fla { import flash.display.*; public dynamic class Timeline_330 extends MovieClip { public function Timeline_330(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 227
//Timeline_373 (main_fla.Timeline_373) package main_fla { import flash.display.*; import flash.events.*; import flash.net.*; public dynamic class Timeline_373 extends MovieClip { public var agb:SimpleButton; public function Timeline_373(){ super(); addFrameScript(0, frame1); } function frame1(){ getChildByName("agb").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/"), "_blank"); }); } } }//package main_fla
Section 228
//Timeline_390 (main_fla.Timeline_390) package main_fla { import flash.display.*; public dynamic class Timeline_390 extends MovieClip { public function Timeline_390(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 229
//Timeline_392 (main_fla.Timeline_392) package main_fla { import flash.display.*; public dynamic class Timeline_392 extends MovieClip { public var icons:MovieClip; public function Timeline_392(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 230
//Timeline_40 (main_fla.Timeline_40) package main_fla { import flash.display.*; public dynamic class Timeline_40 extends MovieClip { public function Timeline_40(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 231
//upgradecomplete_406 (main_fla.upgradecomplete_406) package main_fla { import flash.display.*; public dynamic class upgradecomplete_406 extends MovieClip { public function upgradecomplete_406(){ super(); addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); visible = false; } function frame2(){ visible = true; } } }//package main_fla
Section 232
//waves_371 (main_fla.waves_371) package main_fla { import flash.display.*; public dynamic class waves_371 extends MovieClip { public function waves_371(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 233
//weaponIcons_365 (main_fla.weaponIcons_365) package main_fla { import flash.display.*; public dynamic class weaponIcons_365 extends MovieClip { public function weaponIcons_365(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package main_fla
Section 234
//ScoreLabel (misc.ScoreLabel) package misc { import flash.display.*; import flash.events.*; import flash.text.*; public class ScoreLabel extends MovieClip { public var label:TextField; var score:String; var time:Number; public function ScoreLabel(score:Number, combo:Number, x:Number, y:Number){ super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5); this.x = x; this.y = y; this.score = ("" + score); if (combo != 1){ this.score = (this.score + ("x" + combo)); }; if (score == -1){ gotoAndStop(6); time = 30; } else { if (score < 300){ gotoAndStop(1); time = 20; } else { if (score < 1000){ gotoAndStop(2); time = 30; } else { if (score < 3000){ gotoAndStop(3); time = 40; } else { if (score < 10000){ gotoAndStop(4); time = 50; } else { gotoAndStop(5); time = 90; }; }; }; }; }; addEventListener(Event.ENTER_FRAME, fade); cacheAsBitmap = true; } function frame3(){ label.text = ("" + score); } function frame1(){ label.text = ("" + score); } function kill(){ removeEventListener(Event.ENTER_FRAME, fade); if (this){ parent.removeChild(this); }; } function frame4(){ label.text = ("" + score); } function frame5(){ label.text = ("" + score); } function fade(e:Event){ if (time < 20){ cacheAsBitmap = false; alpha = ((time * 5) / 100); }; time--; if (time == 0){ kill(); }; } function frame2(){ label.text = ("" + score); } } }//package misc
Section 235
//MochiCoins (mochi.as3.MochiCoins) package mochi.as3 { public class MochiCoins { public static const STORE_HIDE:String = "StoreHide"; public static const NO_USER:String = "NoUser"; public static const IO_ERROR:String = "IOError"; public static const ITEM_NEW:String = "ItemNew"; public static const ITEM_OWNED:String = "ItemOwned"; public static const STORE_ITEMS:String = "StoreItems"; public static const ERROR:String = "Error"; public static const STORE_SHOW:String = "StoreShow"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public static var _inventory:MochiInventory; public function MochiCoins(){ super(); } public static function triggerEvent(eventType:String, args:Object):void{ _dispatcher.triggerEvent(eventType, args); } public static function removeEventListener(eventType:String, delegate:Function):void{ _dispatcher.removeEventListener(eventType, delegate); } public static function addEventListener(eventType:String, delegate:Function):void{ _dispatcher.addEventListener(eventType, delegate); } public static function getStoreItems():void{ MochiServices.send("coins_getStoreItems"); } public static function get inventory():MochiInventory{ return (_inventory); } public static function showStore(options:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showStore", {options:options}, null, null); } public static function requestFunding(properties:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_requestFunding", properties); } public static function showItem(options:Object=null):void{ if (((!(options)) || (!((typeof(options.item) == "string"))))){ trace("ERROR: showItem call must pass an Object with an item key"); return; }; MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showItem", {options:options}, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function showVideo(options:Object=null):void{ if (((!(options)) || (!((typeof(options.item) == "string"))))){ trace("ERROR: showVideo call must pass an Object with an item key"); return; }; MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("coins_showVideo", {options:options}, null, null); } addEventListener(MochiSocial.LOGGED_IN, function (args:Object):void{ _inventory = new MochiInventory(); }); addEventListener(MochiSocial.LOGGED_OUT, function (args:Object):void{ _inventory = null; }); } }//package mochi.as3
Section 236
//MochiDigits (mochi.as3.MochiDigits) package mochi.as3 { public final class MochiDigits { private var Sibling:MochiDigits; private var Fragment:Number; private var Encoder:Number; public function MochiDigits(digit:Number=0, index:uint=0):void{ super(); Encoder = 0; setValue(digit, index); } public function set value(v:Number):void{ setValue(v); } public function reencode():void{ var newEncode:uint; newEncode = int((2147483647 * Math.random())); Fragment = (Fragment ^ (newEncode ^ Encoder)); Encoder = newEncode; } public function toString():String{ var s:String; s = String.fromCharCode((Fragment ^ Encoder)); if (Sibling != null){ s = (s + Sibling.toString()); }; return (s); } public function get value():Number{ return (Number(this.toString())); } public function setValue(digit:Number=0, index:uint=0):void{ var s:String; s = digit.toString(); var _temp1 = index; index = (index + 1); Fragment = (s.charCodeAt(_temp1) ^ Encoder); if (index < s.length){ Sibling = new MochiDigits(digit, index); } else { Sibling = null; }; reencode(); } public function addValue(inc:Number):void{ value = (value + inc); } } }//package mochi.as3
Section 237
//MochiEventDispatcher (mochi.as3.MochiEventDispatcher) package mochi.as3 { public class MochiEventDispatcher { private var eventTable:Object; public function MochiEventDispatcher():void{ super(); eventTable = {}; } public function triggerEvent(event:String, args:Object):void{ var i:Object; if (eventTable[event] == undefined){ return; }; for (i in eventTable[event]) { var _local6 = eventTable[event]; _local6[i](args); }; } public function removeEventListener(event:String, delegate:Function):void{ var s:Object; if (eventTable[event] == undefined){ eventTable[event] = []; return; }; for (s in eventTable[event]) { if (eventTable[event][s] != delegate){ } else { eventTable[event].splice(Number(s), 1); }; }; } public function addEventListener(event:String, delegate:Function):void{ removeEventListener(event, delegate); eventTable[event].push(delegate); } } }//package mochi.as3
Section 238
//MochiEvents (mochi.as3.MochiEvents) package mochi.as3 { import flash.display.*; public class MochiEvents { public static const ALIGN_BOTTOM_LEFT:String = "ALIGN_BL"; public static const FORMAT_LONG:String = "LongForm"; public static const ALIGN_BOTTOM:String = "ALIGN_B"; public static const ACHIEVEMENT_RECEIVED:String = "AchievementReceived"; public static const FORMAT_SHORT:String = "ShortForm"; public static const ALIGN_TOP_RIGHT:String = "ALIGN_TR"; public static const ALIGN_BOTTOM_RIGHT:String = "ALIGN_BR"; public static const ALIGN_TOP:String = "ALIGN_T"; public static const ALIGN_LEFT:String = "ALIGN_L"; public static const ALIGN_RIGHT:String = "ALIGN_R"; public static const ALIGN_TOP_LEFT:String = "ALIGN_TL"; public static const ALIGN_CENTER:String = "ALIGN_C"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var gameStart:Number; private static var levelStart:Number; public function MochiEvents(){ super(); } public static function endPlay():void{ MochiServices.send("events_clearRoundID", null, null, null); } public static function addEventListener(eventType:String, delegate:Function):void{ _dispatcher.addEventListener(eventType, delegate); } public static function trackEvent(tag:String, value=null):void{ MochiServices.send("events_trackEvent", {tag:tag, value:value}, null, null); } public static function removeEventListener(eventType:String, delegate:Function):void{ _dispatcher.removeEventListener(eventType, delegate); } public static function startSession(achievementID:String):void{ MochiServices.send("events_beginSession", {achievementID:achievementID}, null, null); } public static function triggerEvent(eventType:String, args:Object):void{ _dispatcher.triggerEvent(eventType, args); } public static function setNotifications(clip:MovieClip, style:Object):void{ var args:Object; var s:Object; args = {}; for (s in style) { args[s] = style[s]; }; args.clip = clip; MochiServices.send("events_setNotifications", args, null, null); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function startPlay(tag:String="gameplay"):void{ MochiServices.send("events_setRoundID", {tag:String(tag)}, null, null); } } }//package mochi.as3
Section 239
//MochiInventory (mochi.as3.MochiInventory) package mochi.as3 { import flash.events.*; import flash.utils.*; public dynamic class MochiInventory extends Proxy { private var _timer:Timer; private var _names:Array; private var _consumableProperties:Object; private var _syncID:Number; private var _storeSync:Object; private var _outstandingID:Number; private var _syncPending:Boolean; public static const READY:String = "InvReady"; public static const ERROR:String = "Error"; public static const IO_ERROR:String = "IoError"; private static const KEY_SALT:String = " syncMaint"; public static const WRITTEN:String = "InvWritten"; public static const NOT_READY:String = "InvNotReady"; public static const VALUE_ERROR:String = "InvValueError"; private static const CONSUMER_KEY:String = "MochiConsumables"; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public function MochiInventory():void{ super(); MochiCoins.addEventListener(MochiCoins.ITEM_OWNED, itemOwned); MochiCoins.addEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.addEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, loggedOut); _storeSync = new Object(); _syncPending = false; _outstandingID = 0; _syncID = 0; _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, sync); _timer.start(); if (MochiSocial.loggedIn){ loggedIn(); } else { loggedOut(); }; } private function newItems(event:Object):void{ if (!this[(event.id + KEY_SALT)]){ this[(event.id + KEY_SALT)] = 0; }; if (!this[event.id]){ this[event.id] = 0; }; this[(event.id + KEY_SALT)] = (this[(event.id + KEY_SALT)] + event.count); this[event.id] = (this[event.id] + event.count); if (((event.privateProperties) && (event.privateProperties.consumable))){ if (!this[event.privateProperties.tag]){ this[event.privateProperties.tag] = 0; }; this[event.privateProperties.tag] = (this[event.privateProperties.tag] + (event.privateProperties.inc * event.count)); }; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function getProperty(name){ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (-1); }; if (_consumableProperties[name]){ return (MochiDigits(_consumableProperties[name]).value); }; return (undefined); } public function release():void{ MochiCoins.removeEventListener(MochiCoins.ITEM_NEW, newItems); MochiSocial.removeEventListener(MochiSocial.LOGGED_IN, loggedIn); MochiSocial.removeEventListener(MochiSocial.LOGGED_OUT, loggedOut); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function hasProperty(name):Boolean{ if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return (false); }; if (_consumableProperties[name] == undefined){ return (false); }; return (true); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextNameIndex(index:int):int{ return (((index)>=_names.length) ? 0 : (index + 1)); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function setProperty(name, value):void{ var d:MochiDigits; if (_consumableProperties == null){ triggerEvent(ERROR, {type:NOT_READY}); return; }; if (!(value is Number)){ triggerEvent(ERROR, {type:VALUE_ERROR, error:"Invalid type", arg:value}); return; }; if (_consumableProperties[name]){ d = MochiDigits(_consumableProperties[name]); if (d.value == value){ return; }; d.value = value; } else { _names.push(name); _consumableProperties[name] = new MochiDigits(value); }; _syncID++; } private function sync(e:Event=null):void{ var output:Object; var key:String; if (((_syncPending) || ((_syncID == _outstandingID)))){ return; }; _outstandingID = _syncID; output = {}; for (key in _consumableProperties) { output[key] = MochiDigits(_consumableProperties[key]).value; }; MochiUserData.put(CONSUMER_KEY, output, putConsumableBag); _syncPending = true; } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function nextName(index:int):String{ return (_names[(index - 1)]); } private function loggedIn(args:Object=null):void{ MochiUserData.get(CONSUMER_KEY, getConsumableBag); } override "http://www.adobe.com/2006/actionscript/flash/proxy"?? function deleteProperty(name):Boolean{ if (!_consumableProperties[name]){ return (false); }; _names.splice(_names.indexOf(name), 1); delete _consumableProperties[name]; return (true); } private function itemOwned(event:Object):void{ _storeSync[event.id] = {properties:event.properties, count:event.count}; } private function putConsumableBag(userData:MochiUserData):void{ _syncPending = false; if (userData.error){ triggerEvent(ERROR, {type:IO_ERROR, error:userData.error}); _outstandingID = -1; }; triggerEvent(WRITTEN, {}); } private function getConsumableBag(userData:MochiUserData):void{ var key:String; var unsynced:Number; if (userData.error){ triggerEvent(ERROR, {type:IO_ERROR, error:userData.error}); return; }; _consumableProperties = {}; _names = new Array(); if (userData.data){ for (key in userData.data) { _names.push(key); _consumableProperties[key] = new MochiDigits(userData.data[key]); }; }; for (key in _storeSync) { unsynced = _storeSync[key].count; if (_consumableProperties[(key + KEY_SALT)]){ unsynced = (unsynced - _consumableProperties[(key + KEY_SALT)].value); }; if (unsynced == 0){ } else { newItems({id:key, count:unsynced, properties:_storeSync[key].properties}); }; }; triggerEvent(READY, {}); } private function loggedOut(args:Object=null):void{ _consumableProperties = null; } public static function triggerEvent(eventType:String, args:Object):void{ _dispatcher.triggerEvent(eventType, args); } public static function removeEventListener(eventType:String, delegate:Function):void{ _dispatcher.removeEventListener(eventType, delegate); } public static function addEventListener(eventType:String, delegate:Function):void{ _dispatcher.addEventListener(eventType, delegate); } } }//package mochi.as3
Section 240
//MochiServices (mochi.as3.MochiServices) package mochi.as3 { import flash.display.*; import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; import flash.geom.*; public class MochiServices { public static const CONNECTED:String = "onConnected"; private static var _container:Object; private static var _connected:Boolean = false; private static var _queue:Array; private static var _swfVersion:String; private static var _preserved:Object; public static var netupAttempted:Boolean = false; private static var _sendChannel:LocalConnection; private static var _nextCallbackID:Number; private static var _clip:MovieClip; private static var _loader:Loader; private static var _id:String; private static var _services:String = "services.swf"; private static var _servURL:String = "http://www.mochiads.com/static/lib/services/"; public static var widget:Boolean = false; private static var _timer:Timer; private static var _sendChannelName:String; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); private static var _callbacks:Object; private static var _connecting:Boolean = false; private static var _mochiLocalConnection:MovieClip; private static var _listenChannelName:String = "__ms_"; public static var onError:Object; public static var netup:Boolean = true; private static var _mochiLC:String = "MochiLC.swf"; public function MochiServices(){ super(); } public static function isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function get connected():Boolean{ return (_connected); } private static function onReceive(pkg:Object):void{ var cb:String; var cblst:Object; var method:*; var methodName:String; var obj:Object; var pkg = pkg; cb = pkg.callbackID; cblst = _callbacks[cb]; if (!cblst){ return; }; method = cblst.callbackMethod; methodName = ""; obj = 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){ method.apply(obj, pkg.args); //unresolved jump var _slot1 = error; trace(((("Error invoking callback method '" + methodName) + "': ") + _slot1.toString())); } else { if (obj != null){ obj(pkg.args); //unresolved jump var _slot1 = error; trace(("Error invoking method on object: " + _slot1.toString())); }; }; delete _callbacks[cb]; } public static function send(methodName:String, args:Object=null, callbackObject:Object=null, callbackMethod:Object=null):void{ if (_connected){ _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:methodName, args:args, callbackID:_nextCallbackID}); } else { if ((((_clip == null)) || (!(_connecting)))){ trace(("Error: MochiServices not connected. Please call MochiServices.connect(). Function: " + methodName)); handleError(args, callbackObject, callbackMethod); flush(true); return; }; _queue.push({methodName:methodName, args:args, callbackID:_nextCallbackID}); }; if (_clip != null){ if (_callbacks != null){ _callbacks[_nextCallbackID] = {callbackObject:callbackObject, callbackMethod:callbackMethod}; _nextCallbackID++; }; }; } private static function init(id:String, clip:Object):void{ _id = id; if (clip != null){ _container = clip; loadCommunicator(id, _container); }; } private static function clickMovie(url:String, cb:Function):MovieClip{ var avm1_bytecode:Array; var b:int; var header:Array; var footer:Array; var mc:MovieClip; var lc:LocalConnection; var lc_name:String; var ba:ByteArray; var cpool:ByteArray; var actionLength:uint; var fileLength:uint; var loader:Loader; avm1_bytecode = [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]; header = [104, 0, 31, 64, 0, 7, 208, 0, 0, 12, 1, 0, 67, 2, 0xFF, 0xFF, 0xFF, 63, 3]; footer = [0, 64, 0, 0, 0]; mc = new MovieClip(); lc = new LocalConnection(); lc_name = ((("_click_" + Math.floor((Math.random() * 999999))) + "_") + Math.floor(new Date().time)); lc = new LocalConnection(); mc.lc = lc; mc.click = cb; lc.client = mc; lc.connect(lc_name); ba = new ByteArray(); cpool = new ByteArray(); cpool.endian = Endian.LITTLE_ENDIAN; cpool.writeShort(1); cpool.writeUTFBytes(((url + " ") + lc_name)); cpool.writeByte(0); actionLength = ((avm1_bytecode.length + cpool.length) + 4); fileLength = (actionLength + 35); ba.endian = Endian.LITTLE_ENDIAN; ba.writeUTFBytes("FWS"); ba.writeByte(8); ba.writeUnsignedInt(fileLength); for each (b in header) { ba.writeByte(b); }; ba.writeUnsignedInt(actionLength); ba.writeByte(136); ba.writeShort(cpool.length); ba.writeBytes(cpool); for each (b in avm1_bytecode) { ba.writeByte(b); }; for each (b in footer) { ba.writeByte(b); }; loader = new Loader(); loader.loadBytes(ba); mc.addChild(loader); return (mc); } private static function detach(event:Event):void{ var loader:LoaderInfo; loader = LoaderInfo(event.target); loader.removeEventListener(Event.COMPLETE, detach); loader.removeEventListener(IOErrorEvent.IO_ERROR, detach); loader.removeEventListener(Event.COMPLETE, loadLCBridgeComplete); loader.removeEventListener(IOErrorEvent.IO_ERROR, loadError); } public static function stayOnTop():void{ _container.addEventListener(Event.ENTER_FRAME, MochiServices.bringToTop, false, 0, true); if (_clip != null){ _clip.visible = true; }; } private static function loadLCBridgeComplete(e:Event):void{ var loader:Loader; loader = LoaderInfo(e.target).loader; _mochiLocalConnection = MovieClip(loader.content); listen(); } public static function disconnect():void{ if (((_connected) || (_connecting))){ if (_clip != null){ if (_clip.parent != null){ if ((_clip.parent is Sprite)){ Sprite(_clip.parent).removeChild(_clip); _clip = null; }; }; }; _connecting = (_connected = false); flush(true); _mochiLocalConnection.close(); //unresolved jump var _slot1 = error; }; if (_timer != null){ _timer.stop(); _timer.removeEventListener(TimerEvent.TIMER, connectWait); _timer = null; //unresolved jump var _slot1 = error; }; } public static function allowDomains(server:String):String{ var hostname:String; if (Security.sandboxType != "application"){ Security.allowDomain("*"); Security.allowInsecureDomain("*"); }; if (server.indexOf("http://") != -1){ hostname = server.split("/")[2].split(":")[0]; if (Security.sandboxType != "application"){ Security.allowDomain(hostname); Security.allowInsecureDomain(hostname); }; }; return (hostname); } public static function getVersion():String{ return ("3.9.2 as3"); } public static function doClose():void{ _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); } public static function warnID(bid:String, leaderboard:Boolean):void{ var i:Number; bid = bid.toLowerCase(); if (bid.length != 16){ trace((("WARNING: " + (leaderboard) ? "board" : "game") + " ID is not the appropriate length")); return; } else { if (bid == "1e113c7239048b3f"){ if (leaderboard){ trace("WARNING: Using testing board ID"); } else { trace("WARNING: Using testing board ID as game ID"); }; return; } else { if (bid == "84993a1de4031cd8"){ if (leaderboard){ trace("WARNING: Using testing game ID as board ID"); } else { trace("WARNING: Using testing game ID"); }; return; }; }; }; i = 0; while (i < bid.length) { switch (bid.charAt(i)){ case "0": case "1": case "2": case "3": case "4": case "5": case "6": case "7": case "8": case "9": case "a": case "b": case "c": case "d": case "e": case "f": break; default: trace(("WARNING: Board ID contains illegal characters: " + bid)); return; }; i++; }; } private static function flush(error:Boolean):void{ var request:Object; var callback:Object; if (((_clip) && (_queue))){ while (_queue.length > 0) { request = _queue.shift(); callback = null; if (request != null){ if (request.callbackID != null){ callback = _callbacks[request.callbackID]; }; delete _callbacks[request.callbackID]; if (((error) && (!((callback == null))))){ handleError(request.args, callback.callbackObject, callback.callbackMethod); }; }; }; }; } public static function get id():String{ return (_id); } private static function onEvent(pkg:Object):void{ var target:String; var event:String; target = pkg.target; event = pkg.event; switch (target){ case "services": MochiServices.triggerEvent(pkg.event, pkg.args); break; case "events": MochiEvents.triggerEvent(pkg.event, pkg.args); break; case "coins": MochiCoins.triggerEvent(pkg.event, pkg.args); break; case "social": MochiSocial.triggerEvent(pkg.event, pkg.args); break; }; } private static function urlOptions(clip:Object):Object{ var opts:Object; var options:String; var pairs:Array; var i:Number; var kv:Array; opts = {}; if (clip.stage){ options = clip.stage.loaderInfo.parameters.mochiad_options; } else { options = clip.loaderInfo.parameters.mochiad_options; }; if (options){ pairs = options.split("&"); i = 0; while (i < pairs.length) { kv = pairs[i].split("="); opts[unescape(kv[0])] = unescape(kv[1]); i++; }; }; return (opts); } public static function addLinkEvent(url:String, burl:String, btn:DisplayObjectContainer, onClick:Function=null):void{ var vars:Object; var avm1Click:DisplayObject; var s:String; var i:Number; var x:String; var req:URLRequest; var loader:Loader; var setURL:Function; var err:Function; var complete:Function; var url = url; var burl = burl; var btn = btn; var onClick = onClick; vars = 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); s = "?"; i = 0; for (x in vars) { if (i != 0){ s = (s + "&"); }; i = (i + 1); s = (((s + x) + "=") + escape(vars[x])); }; req = new URLRequest("http://link.mochiads.com/linkping.swf"); loader = new Loader(); setURL = function (url:String):void{ var rect:Rectangle; if (avm1Click){ btn.removeChild(avm1Click); }; avm1Click = clickMovie(url, onClick); rect = btn.getBounds(btn); btn.addChild(avm1Click); avm1Click.x = rect.x; avm1Click.y = rect.y; avm1Click.scaleX = (0.01 * rect.width); avm1Click.scaleY = (0.01 * rect.height); }; err = function (ev:Object):void{ netup = false; ev.target.removeEventListener(ev.type, arguments.callee); setURL(burl); }; complete = function (ev:Object):void{ ev.target.removeEventListener(ev.type, arguments.callee); }; if (netup){ setURL((url + s)); } else { setURL(burl); }; if (!((netupAttempted) || (_connected))){ netupAttempted = true; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, err); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, complete); loader.load(req); }; } public static function setContainer(container:Object=null, doAdd:Boolean=true):void{ if (_clip.parent){ _clip.parent.removeChild(_clip); }; if (container != null){ if ((container is DisplayObjectContainer)){ _container = container; }; }; if (doAdd){ if ((_container is DisplayObjectContainer)){ DisplayObjectContainer(_container).addChild(_clip); }; }; } private static function handleError(args:Object, callbackObject:Object, callbackMethod:Object):void{ var args = args; var callbackObject = callbackObject; var callbackMethod = callbackMethod; 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)))){ var _local5 = callbackObject; _local5[callbackMethod](args); //unresolved jump var _slot1 = error; } else { if (callbackMethod != null){ callbackMethod.apply(args); //unresolved jump var _slot1 = error; }; }; }; } private static function loadError(ev:Object):void{ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load."); MochiServices.disconnect(); MochiServices.onError("IOError"); } public static function get childClip():Object{ return (_clip); } private static function initComChannels():void{ if (!_connected){ trace("[SERVICES_API] connected!"); _connecting = false; _connected = true; _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"handshakeDone"}); _mochiLocalConnection.send(_sendChannelName, "onReceive", {methodName:"registerGame", preserved:_preserved, id:_id, version:getVersion(), parentURL:_container.loaderInfo.loaderURL}); _clip.onReceive = onReceive; _clip.onEvent = onEvent; _clip.onError = function ():void{ MochiServices.onError("IOError"); }; while (_queue.length > 0) { _mochiLocalConnection.send(_sendChannelName, "onReceive", _queue.shift()); }; }; } public static function triggerEvent(eventType:String, args:Object):void{ _dispatcher.triggerEvent(eventType, args); } public static function removeEventListener(eventType:String, delegate:Function):void{ _dispatcher.removeEventListener(eventType, delegate); } private static function listen():void{ _mochiLocalConnection.connect(_listenChannelName); _clip.handshake = function (args:Object):void{ MochiServices.comChannelName = args.newChannel; }; trace("Waiting for MochiAds services to connect..."); } public static function addEventListener(eventType:String, delegate:Function):void{ _dispatcher.addEventListener(eventType, delegate); } private static function loadLCBridge(clip:Object):void{ var loader:Loader; var mochiLCURL:String; var req:URLRequest; loader = new Loader(); mochiLCURL = (_servURL + _mochiLC); req = new URLRequest(mochiLCURL); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, detach); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadLCBridgeComplete); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); loader.load(req); clip.addChild(loader); } public static function set comChannelName(val:String):void{ if (val != null){ if (val.length > 3){ _sendChannelName = (val + "_fromgame"); initComChannels(); }; }; } private static function loadCommunicator(id:String, clip:Object):MovieClip{ var servicesURL:String; var req:URLRequest; var vars:URLVariables; if (_clip != null){ return (_clip); }; if (!MochiServices.isNetworkAvailable()){ return (null); }; if (urlOptions(clip).servURL){ _servURL = urlOptions(clip).servURL; }; servicesURL = (_servURL + _services); if (urlOptions(clip).servicesURL){ servicesURL = urlOptions(clip).servicesURL; }; _listenChannelName = (_listenChannelName + ((Math.floor(new Date().time) + "_") + Math.floor((Math.random() * 99999)))); MochiServices.allowDomains(servicesURL); _clip = new MovieClip(); loadLCBridge(_clip); _loader = new Loader(); _loader.contentLoaderInfo.addEventListener(Event.COMPLETE, detach); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, detach); _loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, loadError); req = new URLRequest(servicesURL); vars = new URLVariables(); vars.listenLC = _listenChannelName; vars.mochiad_options = clip.loaderInfo.parameters.mochiad_options; vars.api_version = getVersion(); if (widget){ vars.widget = true; }; req.data = vars; _loader.load(req); _clip.addChild(_loader); _sendChannel = new LocalConnection(); _queue = []; _nextCallbackID = 0; _callbacks = {}; _timer = new Timer(10000, 1); _timer.addEventListener(TimerEvent.TIMER, connectWait); _timer.start(); return (_clip); } public static function get clip():Object{ return (_container); } public static function connect(id:String, clip:Object, onError:Object=null):void{ var id = id; var clip = clip; var onError = onError; warnID(id, false); if ((clip is DisplayObject)){ if (clip.stage == null){ trace("MochiServices connect requires the containing clip be attached to the stage"); }; if (((!(_connected)) && ((_clip == null)))){ trace("MochiServices Connecting..."); _connecting = true; init(id, clip); }; } else { trace("Error, MochiServices requires a Sprite, Movieclip or instance of the stage."); }; if (onError != null){ MochiServices.onError = onError; } else { if (MochiServices.onError == null){ MochiServices.onError = function (errorCode:String):void{ trace(errorCode); }; }; }; } public static function bringToTop(e:Event=null):void{ var e = e; if (((!((MochiServices.clip == null))) && (!((MochiServices.childClip == null))))){ if (MochiServices.clip.numChildren > 1){ MochiServices.clip.setChildIndex(MochiServices.childClip, (MochiServices.clip.numChildren - 1)); }; //unresolved jump var _slot1 = errorObject; trace("Warning: Depth sort error."); _container.removeEventListener(Event.ENTER_FRAME, MochiServices.bringToTop); }; } public static function connectWait(e:TimerEvent):void{ if (!_connected){ _clip._mochiad_ctr_failed = true; trace("MochiServices could not load. (timeout)"); MochiServices.disconnect(); MochiServices.onError("IOError"); } else { _timer.stop(); _timer.removeEventListener(TimerEvent.TIMER, connectWait); _timer = null; }; } } }//package mochi.as3
Section 241
//MochiSocial (mochi.as3.MochiSocial) package mochi.as3 { public class MochiSocial { public static const LOGGED_IN:String = "LoggedIn"; public static const ACTION_CANCELED:String = "onCancel"; public static const PROPERTIES_SIZE:String = "PropertiesSize"; public static const IO_ERROR:String = "IOError"; public static const NO_USER:String = "NoUser"; public static const FRIEND_LIST:String = "FriendsList"; public static const PROFILE_DATA:String = "ProfileData"; public static const GAMEPLAY_DATA:String = "GameplayData"; public static const ACTION_COMPLETE:String = "onComplete"; public static const LOGIN_SHOW:String = "LoginShow"; public static const PROFILE_HIDE:String = "ProfileHide"; public static const USER_INFO:String = "UserInfo"; public static const PROPERTIES_SAVED:String = "PropertySaved"; public static const WIDGET_LOADED:String = "WidgetLoaded"; public static const ERROR:String = "Error"; public static const LOGGED_OUT:String = "LoggedOut"; public static const PROFILE_SHOW:String = "ProfileShow"; public static const LOGIN_HIDE:String = "LoginHide"; public static const LOGIN_SHOWN:String = "LoginShown"; public static var _user_info:Object = null; private static var _dispatcher:MochiEventDispatcher = new MochiEventDispatcher(); public function MochiSocial(){ super(); } public static function requestFan(properties:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_requestFan", properties); } public static function postToStream(properties:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_postToStream", properties); } public static function getFriendsList(properties:Object=null):void{ MochiServices.send("social_getFriendsList", properties); } public static function requestLogin(properties:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_requestLogin", properties); } public static function getVersion():String{ return (MochiServices.getVersion()); } public static function saveUserProperties(properties:Object):void{ MochiServices.send("social_saveUserProperties", properties); } public static function triggerEvent(eventType:String, args:Object):void{ _dispatcher.triggerEvent(eventType, args); } public static function removeEventListener(eventType:String, delegate:Function):void{ _dispatcher.removeEventListener(eventType, delegate); } public static function inviteFriends(properties:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_inviteFriends", properties); } public static function get loggedIn():Boolean{ return (!((_user_info == null))); } public static function addEventListener(eventType:String, delegate:Function):void{ _dispatcher.addEventListener(eventType, delegate); } public static function showLoginWidget(options:Object=null):void{ MochiServices.setContainer(); MochiServices.bringToTop(); MochiServices.send("social_showLoginWidget", {options:options}); } public static function getAPIURL():String{ if (!_user_info){ return (null); }; return (_user_info.api_url); } public static function hideLoginWidget():void{ MochiServices.send("social_hideLoginWidget"); } public static function getAPIToken():String{ if (!_user_info){ return (null); }; return (_user_info.api_token); } MochiSocial.addEventListener(MochiSocial.LOGGED_IN, function (args:Object):void{ _user_info = args; }); MochiSocial.addEventListener(MochiSocial.LOGGED_OUT, function (args:Object):void{ _user_info = null; }); } }//package mochi.as3
Section 242
//MochiUserData (mochi.as3.MochiUserData) package mochi.as3 { import flash.events.*; import flash.utils.*; import flash.net.*; public class MochiUserData extends EventDispatcher { public var callback:Function;// = null public var error:Event;// = null public var key:String;// = null public var operation:String;// = null public var data;// = null public var _loader:URLLoader; public function MochiUserData(key:String="", callback:Function=null){ key = null; data = null; error = null; operation = null; callback = null; super(); this.key = key; this.callback = callback; } public function securityErrorHandler(event:SecurityErrorEvent):void{ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + event.toString()))); } public function putEvent(obj):void{ request("put", serialize(obj)); } public function request(_operation:String, _data:ByteArray):void{ var api_url:String; var api_token:String; var args:URLVariables; var req:URLRequest; var _operation = _operation; var _data = _data; operation = _operation; api_url = MochiSocial.getAPIURL(); api_token = MochiSocial.getAPIToken(); if ((((api_url == null)) || ((api_token == null)))){ errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, "not logged in")); return; }; _loader = new URLLoader(); args = new URLVariables(); args.op = _operation; args.key = key; req = new URLRequest((((MochiSocial.getAPIURL() + "/") + "MochiUserData?") + args.toString())); req.method = URLRequestMethod.POST; req.contentType = "application/x-mochi-userdata"; req.requestHeaders = [new URLRequestHeader("x-mochi-services-version", MochiServices.getVersion()), new URLRequestHeader("x-mochi-api-token", api_token)]; req.data = _data; _loader.dataFormat = URLLoaderDataFormat.BINARY; _loader.addEventListener(Event.COMPLETE, completeHandler); _loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _loader.load(req); //unresolved jump var _slot1 = e; errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("security error: " + _slot1.toString()))); } public function completeHandler(event:Event):void{ var event = event; if (_loader.data.length){ data = deserialize(_loader.data); } else { data = null; }; //unresolved jump var _slot1 = e; errorHandler(new IOErrorEvent(IOErrorEvent.IO_ERROR, false, false, ("deserialize error: " + _slot1.toString()))); return; if (callback != null){ performCallback(); } else { dispatchEvent(event); }; close(); } public function performCallback():void{ callback(this); //unresolved jump var _slot1 = e; trace(("[MochiUserData] exception during callback: " + _slot1)); } public function serialize(obj):ByteArray{ var arr:ByteArray; arr = new ByteArray(); arr.objectEncoding = ObjectEncoding.AMF3; arr.writeObject(obj); arr.compress(); return (arr); } public function errorHandler(event:IOErrorEvent):void{ data = null; error = event; if (callback != null){ performCallback(); } else { dispatchEvent(event); }; close(); } public function getEvent():void{ request("get", serialize(null)); } override public function toString():String{ return ((((((((("[MochiUserData operation=" + operation) + " key=\"") + key) + "\" data=") + data) + " error=\"") + error) + "\"]")); } public function close():void{ if (_loader){ _loader.removeEventListener(Event.COMPLETE, completeHandler); _loader.removeEventListener(IOErrorEvent.IO_ERROR, errorHandler); _loader.removeEventListener(SecurityErrorEvent.SECURITY_ERROR, securityErrorHandler); _loader.close(); _loader = null; }; error = null; callback = null; } public function deserialize(arr:ByteArray){ arr.objectEncoding = ObjectEncoding.AMF3; arr.uncompress(); return (arr.readObject()); } public static function get(key:String, callback:Function):void{ var userData:MochiUserData; userData = new MochiUserData(key, callback); userData.getEvent(); } public static function put(key:String, obj, callback:Function):void{ var userData:MochiUserData; userData = new MochiUserData(key, callback); userData.putEvent(obj); } } }//package mochi.as3
Section 243
//HolyParticle (particles.HolyParticle) package particles { public class HolyParticle extends Particle { public function HolyParticle(x:Number, y:Number){ addFrameScript(8, frame9); super(x, y); } function frame9(){ kill(); } } }//package particles
Section 244
//LeafParticle (particles.LeafParticle) package particles { public class LeafParticle extends Particle { public function LeafParticle(x:Number, y:Number){ addFrameScript(8, frame9); super(x, y); } function frame9(){ kill(); } } }//package particles
Section 245
//OrangeParticle (particles.OrangeParticle) package particles { public class OrangeParticle extends Particle { public function OrangeParticle(x:Number, y:Number){ addFrameScript(12, frame13); super(x, y); } function frame13(){ kill(); } } }//package particles
Section 246
//Particle (particles.Particle) package particles { import flash.display.*; public class Particle extends MovieClip { public var yspeed:Number; public var xspeed:Number; public function Particle(x:Number, y:Number, r:Number=0){ super(); this.x = x; this.y = y; this.scaleX = (this.scaleX * (this.scaleY = (this.scaleY * ((Math.random() / 2) + 0.8)))); this.rotation = (Math.random() * 360); } public function kill(){ stop(); parent.removeChild(this); } } }//package particles
Section 247
//SmashParticle (particles.SmashParticle) package particles { public class SmashParticle extends Particle { public function SmashParticle(x:Number, y:Number){ addFrameScript(2, frame3); super(x, y); } function frame3(){ kill(); } } }//package particles
Section 248
//YellowParticle (particles.YellowParticle) package particles { public class YellowParticle extends Particle { public function YellowParticle(x:Number, y:Number){ addFrameScript(11, frame12); super(x, y); } function frame12(){ if (this){ kill(); }; } } }//package particles
Section 249
//Anna (players.Anna) package players { import levels.*; import shots.*; public class Anna extends Player { public var tree1:TreeShot; public var tree2:TreeShot; public var trees:Boolean;// = false public var bxs:Number;// = 0 public var bys:Number;// = 0 public function Anna(){ bxs = 0; bys = 0; trees = false; super(); 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, 20, frame21, 49, frame50); } override public function statBonus(){ baseDamage = (baseDamage * 1.05); } function frame10(){ root.y = 50; (root as Main).makeSound("hit", "p"); } function frame16(){ root.y = 12; } function frame14(){ root.y = 20; } function frame15(){ root.y = -20; } function frame11(){ root.y = -50; } function frame5(){ root.y = -12; } function frame7(){ root.y = -6; } function frame19(){ root.y = -6; } function frame9(){ root.y = 0; if (((this) && (!(dead)))){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame3(){ root.y = -20; } function frame4(){ root.y = 12; } function frame8(){ root.y = 3; } function frame2(){ root.y = 20; (root as Main).makeSound("hit", "p"); } function frame18(){ root.y = 6; } function frame21(){ root.y = 0; } override public function subAttack(){ if (trees){ tree1.dead = true; tree2.dead = true; trees = false; } else { if ((((subCharge > (maxCharge / 4))) && (!(trees)))){ (root as Main).makeSound("tree", "p"); tree1 = new TreeShot(x, y, false, this); tree2 = new TreeShot(x, y, true, this); parent.addChild(tree1); parent.addChild(tree2); subCharge = (subCharge - (maxCharge / 6)); trees = true; }; }; } function frame12(){ root.y = 40; } function frame6(){ root.y = 6; } function frame20(){ root.y = 3; } function frame13(){ root.y = -30; } function frame17(){ root.y = -12; } function frame50(){ stop(); end(); } override public function shootStuff(){ if (trees){ subCharge = (subCharge - 0.7); }; if (keyIsDown[leftKey]){ bxs = (bxs - 3); } else { if (keyIsDown[rightKey]){ bxs = (bxs + 3); } else { if (!((keyIsDown[mainKey]) || (keyIsDown[89]))){ bxs = 0; }; }; }; bxs = (bxs * 0.7); if (((((((((keyIsDown[mainKey]) || (keyIsDown[89]))) || (autoMain))) || (keyIsDown[1]))) && ((mainCharge > 5)))){ (root as Main).makeSound("arrow", "p"); parent.addChild(new ArrowShot((x + bxs), (y - 18), bxs, -28, bxs, (baseDamage * 3))); if (buff > 0){ parent.addChild(new LeafShot(x, (y - 25), ((Math.random() * 20) - 10), -15, 0, (baseDamage * 3))); }; mainCharge = (mainCharge - 5); }; if (bombCondition()){ doBomb(); }; } override public function loadStats(){ playerNo = 4; baseDamage = (baseDamage * 1.05); focusDot.gotoAndStop(2); } override public function doBomb(){ var bomb:PlayerBomb; bombs--; bomb = new AnnaBomb(x, y, (baseDamage * 3.8), (parent as Level)); parent.addChild(bomb); parent.setChildIndex(bomb, 1); (parent as Level).useBomb(); (parent as Level).theBomb = bomb; } } }//package players
Section 250
//AnnaBomb (players.AnnaBomb) package players { public class AnnaBomb extends PlayerBomb { public function AnnaBomb(x, y, damage, level){ addFrameScript(0, frame1, 129, frame130, 139, frame140, 149, frame150); super(x, y, damage, level); } function frame1(){ (root as Main).makeSound("cross", "p"); } override function special(){ this.x = level.player.x; this.y = level.player.y; } function frame130(){ (root as Main).makeSound("cross2", "p"); } function frame140(){ active = false; } function frame150(){ if (this){ kill(); }; } } }//package players
Section 251
//Lance (players.Lance) package players { import levels.*; import shots.*; public class Lance extends Player { public var bxs:Number;// = 0 public var bys:Number;// = 0 public function Lance(){ bxs = 0; bys = 0; super(); 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, 20, frame21, 48, frame49); } override public function statBonus(){ baseDamage = (baseDamage * 1.02); subChargeSpeed = (subChargeSpeed * 1.1); } function frame10(){ root.y = 50; (root as Main).makeSound("hit", "p"); } function frame16(){ root.y = 12; } function frame14(){ root.y = 20; } function frame15(){ root.y = -20; } function frame11(){ root.y = -50; (root as Main).makeSound("explode", "p"); } function frame17(){ root.y = -12; } function frame18(){ root.y = 6; } function frame5(){ root.y = -12; } function frame7(){ root.y = -6; } function frame19(){ root.y = -6; } function frame9(){ root.y = 0; if (((this) && (!(dead)))){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame3(){ root.y = -20; } function frame4(){ root.y = 12; } function frame8(){ root.y = 3; } function frame2(){ root.y = 20; (root as Main).makeSound("hit", "p"); } function frame21(){ root.y = 0; } override public function subAttack(){ bxs = 0; bys = 0; if (keyIsDown[leftKey]){ bxs = -20; }; if (keyIsDown[rightKey]){ bxs = 20; }; if (keyIsDown[upKey]){ bys = -20; }; if (keyIsDown[downKey]){ bys = 20; }; if (((((((!(keyIsDown[rightKey])) && (!(keyIsDown[leftKey])))) && (!(keyIsDown[downKey])))) && (!(keyIsDown[upKey])))){ bys = -20; }; bys = -20; bxs = 0; if (subCharge == maxCharge){ (root as Main).makeSound("mine", "p"); shot = new BulletBomb(x, y, (bxs * 1.3), (bys * 1.3), baseDamage); parent.addChild(shot); parent.setChildIndex(shot, 2); subCharge = (subCharge - (maxCharge / 4)); }; if (subCharge >= ((maxCharge * 3) / 4)){ (root as Main).makeSound("mine", "p"); shot = new BulletBomb(x, y, (bxs * 1.2), (bys * 1.2), baseDamage); parent.addChild(shot); parent.setChildIndex(shot, 2); subCharge = (subCharge - (maxCharge / 4)); }; if (subCharge >= (maxCharge / 2)){ (root as Main).makeSound("mine", "p"); shot = new BulletBomb(x, y, (bxs * 1.1), (bys * 1.1), baseDamage); parent.addChild(shot); parent.setChildIndex(shot, 2); subCharge = (subCharge - (maxCharge / 4)); }; if (subCharge >= (maxCharge / 4)){ (root as Main).makeSound("mine", "p"); shot = new BulletBomb(x, y, bxs, bys, baseDamage); parent.addChild(shot); parent.setChildIndex(shot, 2); subCharge = (subCharge - (maxCharge / 4)); }; } function frame6(){ root.y = 6; } function frame12(){ root.y = 40; } function frame49(){ stop(); end(); } function frame20(){ root.y = 3; } function frame13(){ root.y = -30; } override public function shootStuff(){ while (((((((((keyIsDown[mainKey]) || (keyIsDown[89]))) || (autoMain))) || (keyIsDown[1]))) && ((mainCharge > 7)))) { (root as Main).makeSound("bullet", "p"); parent.addChild(new BulletShot((x + 17), (y - 18), 0, -25, 0, (baseDamage * 2))); parent.addChild(new BulletShot((x - 16), (y - 18), 0, -25, 0, (baseDamage * 2))); mainCharge = (mainCharge - 7); if (buff > 0){ parent.addChild(new BulletShot((x - 16), (y - 18), -13, -22, -33, (baseDamage * 2))); parent.addChild(new BulletShot((x + 17), (y - 18), 13, -22, 33, (baseDamage * 2))); }; }; if (bombCondition()){ doBomb(); }; } override public function loadStats(){ playerNo = 3; baseDamage = (baseDamage * 1.02); subChargeSpeed = (subChargeSpeed * 1.1); } override public function doBomb(){ var bomb:PlayerBomb; bombs--; bomb = new LanceBomb(x, y, (baseDamage * 4), (parent as Level)); parent.addChild(bomb); parent.setChildIndex(bomb, 1); (parent as Level).useBomb(); (parent as Level).theBomb = bomb; } } }//package players
Section 252
//LanceBomb (players.LanceBomb) package players { public class LanceBomb extends PlayerBomb { public function LanceBomb(x, y, damage, level){ addFrameScript(0, frame1, 12, frame13, 14, frame15, 21, frame22, 25, frame26, 135, frame136); super(x, y, damage, level); } function frame15(){ damage = (damage * 3); } function frame1(){ stop(); } function frame13(){ (root as Main).makeSound("lance", "p"); } function frame22(){ damage = (damage / 3); } function frame26(){ (root as Main).makeSound("lance2", "p"); } override function special(){ this.x = level.player.x; this.y = level.player.y; } function frame136(){ if (this){ kill(); }; } } }//package players
Section 253
//Matt (players.Matt) package players { import levels.*; import shots.*; public class Matt extends Player { public var bxs:Number;// = 0 public var bys:Number;// = 0 public function Matt(){ bxs = 0; bys = 0; super(); 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, 20, frame21, 53, frame54); } override public function statBonus(){ baseDamage = (baseDamage * 1.1); } function frame10(){ root.y = 50; (root as Main).makeSound("hit", "p"); } function frame16(){ root.y = 12; } function frame14(){ root.y = 20; } function frame15(){ root.y = -20; } function frame11(){ root.y = -50; } function frame17(){ root.y = -12; } function frame18(){ root.y = 6; } function frame5(){ root.y = -12; } function frame7(){ root.y = -6; } function frame19(){ root.y = -6; } function frame9(){ root.y = 0; if (((this) && (!(dead)))){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame3(){ root.y = -20; } function frame4(){ root.y = 12; } function frame8(){ root.y = 3; } function frame2(){ root.y = 20; (root as Main).makeSound("hit", "p"); } function frame21(){ root.y = 0; } override public function subAttack(){ bxs = (bys = 0); if (keyIsDown[leftKey]){ bxs = -20; }; if (keyIsDown[rightKey]){ bxs = 20; }; if (keyIsDown[upKey]){ bys = -20; }; if (keyIsDown[downKey]){ bys = 20; }; if (subCharge > (maxCharge / 4)){ (root as Main).makeSound("sword2", "p"); shot = new HugeSwordShot(x, y, 0, -20, (baseDamage * 2.4), 90, this, true); parent.addChild(shot); parent.setChildIndex(shot, 1); subCharge = (subCharge - (maxCharge / 4)); }; } function frame6(){ root.y = 6; } function frame12(){ root.y = 40; } function frame20(){ root.y = 3; } function frame13(){ root.y = -30; } function frame54(){ stop(); end(); } override public function shootStuff(){ if (((((((((keyIsDown[mainKey]) || (keyIsDown[89]))) || (autoMain))) || (keyIsDown[1]))) && ((mainCharge > 8)))){ mainCharge = (mainCharge - 8); if (buff > 0){ parent.addChild(new SwordShot((x + 10), (y - 18), 0, -25, 0, (baseDamage * 5))); parent.addChild(new SwordShot((x - 10), (y - 18), 0, -25, 0, (baseDamage * 5))); } else { parent.addChild(new SwordShot(x, (y - 18), 0, -20, 0, (baseDamage * 5))); }; (root as Main).makeSound("sword", "p"); if (mainCharge > 50){ parent.addChild(new SwordShot(x, (y - 18), (0 + 2), -18, 0, (baseDamage * 5))); parent.addChild(new SwordShot(x, (y - 18), (0 - 2), -18, 0, (baseDamage * 5))); parent.addChild(new SwordShot(x, (y - 18), (0 + 4), -16, 0, (baseDamage * 5))); parent.addChild(new SwordShot(x, (y - 18), (0 - 4), -16, 0, (baseDamage * 5))); parent.addChild(new SwordShot(x, (y - 18), (0 + 6), -14, 0, (baseDamage * 5))); parent.addChild(new SwordShot(x, (y - 18), (0 - 6), -14, 0, (baseDamage * 5))); mainCharge = (mainCharge - 16); }; }; if (bombCondition()){ doBomb(); }; } override public function loadStats(){ playerNo = 1; speed = (speed * 0.95); baseDamage = (baseDamage * 1.1); focusDot.gotoAndStop(2); bombs++; } override public function doBomb(){ var bomb:PlayerBomb; bombs--; bomb = new MattBomb(x, y, (baseDamage * 60), (parent as Level)); parent.addChild(bomb); parent.setChildIndex(bomb, 1); (parent as Level).useBomb(); (parent as Level).theBomb = bomb; } } }//package players
Section 254
//MattBomb (players.MattBomb) package players { public class MattBomb extends PlayerBomb { public function MattBomb(x, y, damage, level){ addFrameScript(3, frame4, 4, frame5, 5, frame6, 9, frame10, 54, frame55); super(x, y, damage, level); this.x = 0; this.y = 0; active = false; blower = false; } function frame10(){ active = false; } function frame6(){ (root as Main).makeSound("rag2", "p"); } function frame5(){ (root as Main).makeSound("rag", "p"); } function frame4(){ active = true; } function frame55(){ if (this){ kill(); }; } } }//package players
Section 255
//Natalie (players.Natalie) package players { import levels.*; import shots.*; public class Natalie extends Player { public var ball:HolyBallShot; public var ball1:HolyBallShot; public var ball2:HolyBallShot; public var ball3:HolyBallShot; public var bxs:Number;// = 0 public var holy:Boolean;// = false public var bys:Number;// = 0 public var shieldCharge:int;// = 0 public function Natalie(){ bxs = 0; bys = 0; holy = false; shieldCharge = 0; super(); 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, 20, frame21, 39, frame40); } override public function statBonus(){ baseDamage = (baseDamage * 1); subChargeSpeed = (subChargeSpeed * 1); } function frame10(){ root.y = 50; (root as Main).makeSound("hit", "p"); } function frame16(){ root.y = 12; } function frame14(){ root.y = 20; } function frame15(){ root.y = -20; } function frame11(){ root.y = -50; } function frame17(){ root.y = -12; } function frame18(){ root.y = 6; } function frame5(){ root.y = -12; } function frame7(){ root.y = -6; } function frame19(){ root.y = -6; } function frame9(){ root.y = 0; if (((this) && (!(dead)))){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame3(){ root.y = -20; } function frame4(){ root.y = 12; } function frame8(){ root.y = 3; } function frame2(){ root.y = 20; (root as Main).makeSound("hit", "p"); } function frame21(){ root.y = 0; } override public function subAttack(){ if (holy){ holy = false; ball1.dead = true; ball2.dead = true; ball3.dead = true; } else { if ((((subCharge > (maxCharge / 4))) && (!(holy)))){ (root as Main).makeSound("holy", "p"); ball1 = new HolyBallShot(x, y, 0, 0, this, 0); parent.addChild(ball1); ball2 = new HolyBallShot(x, y, 0, 0, this, 1); parent.addChild(ball2); ball3 = new HolyBallShot(x, y, 0, 0, this, 2); parent.addChild(ball3); subCharge = (subCharge - (maxCharge / 8)); holy = true; }; }; } function frame6(){ root.y = 6; } function frame12(){ root.y = 40; } function frame40(){ stop(); end(); } function frame20(){ root.y = 3; } function frame13(){ root.y = -30; } override public function shootStuff(){ var a:int; if (holy){ subCharge = (subCharge - 1.4); }; if (subCharge < 5){ holy = false; }; if (keyIsDown[leftKey]){ bxs = (bxs - 2); } else { if (keyIsDown[rightKey]){ bxs = (bxs + 2); } else { if (!((keyIsDown[mainKey]) || (keyIsDown[89]))){ bxs = 0; }; }; }; bxs = (bxs * 0.7); if (((((((((keyIsDown[mainKey]) || (keyIsDown[89]))) || (autoMain))) || (keyIsDown[1]))) && ((mainCharge > 6)))){ (root as Main).makeSound("flame", "p"); if (buff > 0){ parent.addChild(new FlameShot((x + bxs), (y - 18), (bxs + 1), -12, (bxs + 1), (baseDamage * 4))); parent.addChild(new FlameShot((x + bxs), (y - 18), (bxs - 1), -12, (bxs - 1), (baseDamage * 4))); if (mainCharge > 70){ a = 0; while (a < 10) { parent.addChild(new FlameShot((x + bxs), (y - 18), ((bxs + (Math.random() * 10)) - 5), (-8 - (Math.random() * 10)), bxs, (baseDamage * 4))); a++; }; mainCharge = (mainCharge - 12); }; } else { parent.addChild(new FlameShot((x + bxs), (y - 18), bxs, -12, bxs, (baseDamage * 4))); if (mainCharge > 70){ a = 0; while (a < 5) { parent.addChild(new FlameShot((x + bxs), (y - 18), ((bxs + (Math.random() * 10)) - 5), (-8 - (Math.random() * 10)), bxs, (baseDamage * 4))); a++; }; mainCharge = (mainCharge - 14); }; }; t++; mainCharge = (mainCharge - 6); }; if (bombCondition()){ doBomb(); }; } override public function loadStats(){ playerNo = 2; speed = (speed * 0.9); baseDamage = (baseDamage * 1); subChargeSpeed = (subChargeSpeed * 1); } override public function doBomb(){ var bomb:PlayerBomb; bombs--; bomb = new NatalieBomb(x, y, (baseDamage * 8), (parent as Level)); parent.addChild(bomb); (parent as Level).useBomb(); (parent as Level).theBomb = bomb; } } }//package players
Section 256
//NatalieBomb (players.NatalieBomb) package players { public class NatalieBomb extends PlayerBomb { public function NatalieBomb(x, y, damage, level){ addFrameScript(0, frame1, 24, frame25, 80, frame81); super(x, y, damage, level); this.x = 0; this.y = 0; blower = false; } function frame81(){ if (this){ kill(); }; } function frame1(){ (root as Main).makeSound("cross", "p"); } function frame25(){ (root as Main).makeSound("nuke", "p"); active = true; } } }//package players
Section 257
//NoLegs (players.NoLegs) package players { import levels.*; import shots.*; public class NoLegs extends Player { public function NoLegs(){ super(); 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, 20, frame21, 37, frame38); } override public function statBonus(){ subChargeSpeed = (subChargeSpeed * 0.8); } function frame10(){ root.y = 50; (root as Main).makeSound("hit", "p"); } function frame16(){ root.y = 12; } function frame14(){ root.y = 20; } function frame15(){ root.y = -20; } function frame11(){ root.y = -50; (root as Main).makeSound("meow2", "p"); } function frame17(){ root.y = -12; } function frame18(){ root.y = 6; } function frame5(){ root.y = -12; } function frame7(){ root.y = -6; } function frame19(){ root.y = -6; } function frame9(){ root.y = 0; if (((this) && (!(dead)))){ gotoAndStop(1); }; } function frame1(){ stop(); } function frame3(){ root.y = -20; (root as Main).makeSound("meow", "p"); } function frame4(){ root.y = 12; } function frame8(){ root.y = 3; } function frame2(){ root.y = 20; (root as Main).makeSound("hit", "p"); } function frame38(){ stop(); end(); } function frame21(){ root.y = 0; } override public function subAttack(){ if (subCharge == maxCharge){ (root as Main).makeSound("star3", "p"); shot = new SuperBigStarShot(x, y, (13 * spread), 0, (baseDamage * 2), (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new SuperBigStarShot(x, y, (-13 * spread), 0, (baseDamage * 2), (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new SuperBigStarShot(x, y, (9 * spread), 0, (baseDamage * 2), (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new SuperBigStarShot(x, y, (-9 * spread), 0, (baseDamage * 2), (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (15 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (-15 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (7 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (-7 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); subCharge = (subCharge - maxCharge); } else { if (subCharge > ((maxCharge * 3) / 4)){ (root as Main).makeSound("star3", "p"); shot = new BigStarShot(x, y, (14 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (-14 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new SuperBigStarShot(x, y, (12 * spread), 0, (baseDamage * 2), (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new SuperBigStarShot(x, y, (-12 * spread), 0, (baseDamage * 2), (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (9 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (-9 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); subCharge = (subCharge - ((maxCharge * 3) / 4)); } else { if (subCharge > (maxCharge / 2)){ (root as Main).makeSound("star2", "p"); shot = new BigStarShot(x, y, (13 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (-13 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (9 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (-9 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); subCharge = (subCharge - (maxCharge / 2)); } else { if (subCharge > (maxCharge / 4)){ (root as Main).makeSound("star2", "p"); shot = new BigStarShot(x, y, (12 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); shot = new BigStarShot(x, y, (-12 * spread), 0, (baseDamage * 3)); parent.addChild(shot); parent.setChildIndex(shot, 1); subCharge = (subCharge - (maxCharge / 4)); }; }; }; }; } function frame6(){ root.y = 6; } function frame12(){ root.y = 40; } function frame20(){ root.y = 3; } function frame13(){ root.y = -30; } override public function shootStuff(){ while (((((((((keyIsDown[mainKey]) || (keyIsDown[89]))) || (autoMain))) || (keyIsDown[1]))) && ((mainCharge > 5)))) { (root as Main).makeSound("star", "p"); parent.addChild(new StarShot(x, (y - 10), (((Math.random() * 4) - 2) * spread), (-7 - (Math.random() * 6)), (baseDamage * 3))); mainCharge = (mainCharge - 5); if (buff > 0){ parent.addChild(new StarShot(x, (y - 10), ((((Math.random() * 4) - 2) * spread) * 2), (-7 - (Math.random() * 6)), (baseDamage * 3))); }; }; if (bombCondition()){ doBomb(); }; } override public function loadStats(){ playerNo = 0; subChargeSpeed = (subChargeSpeed * 0.8); } override public function doBomb(){ var bomb:PlayerBomb; bombs--; bomb = new NoLegsBomb(x, y, (baseDamage * 1.5), (parent as Level)); parent.addChild(bomb); parent.setChildIndex(bomb, 1); (parent as Level).useBomb(); (parent as Level).theBomb = bomb; } } }//package players
Section 258
//NoLegsBomb (players.NoLegsBomb) package players { import shots.*; public class NoLegsBomb extends PlayerBomb { public function NoLegsBomb(x, y, damage, level){ addFrameScript(0, frame1, 1, frame2, 8, frame9, 26, frame27); super(x, y, damage, level); } function pew(){ parent.addChild(new SuperBigStarShot(x, y, (12 * 2), -6, (damage * 2), damage)); parent.addChild(new SuperBigStarShot(x, y, (-12 * 2), -6, (damage * 2), damage)); } function frame1(){ (root as Main).makeSound("starbomb", "p"); } override public function kill(){ this.stop(); active = false; if (this){ parent.removeChild(this); }; } function frame9(){ if (this){ nextStar(); }; } function frame2(){ pew(); } function frame27(){ if (this){ kill(); }; } function nextStar(){ parent.addChild(new StarBomb(damage, 2, level)); } } }//package players
Section 259
//Player (players.Player) package players { import flash.display.*; import levels.*; import foes.*; import bullets.*; import shots.*; public class Player extends MovieClip { public var autoMain:Boolean;// = false public var bombs:int;// = 0 public var recoveryRate:Number; var aa:int;// = 0 public var keyIsDown:Array; public var speed:Number;// = 10 public var blue:MovieClip; public var buff:int;// = 0 var sq:Number; public var focusKey:Number;// = 16 public var autoFocus:Boolean;// = false public var damageUp:Number; public var dead:Boolean;// = false public var t:int;// = 0 public var bombKey:Number;// = 67 public var downKey:Number;// = 40 public var superArmor:Number;// = 90 public var playerNo:int;// = -1 var dx:Number; public var rightKey:Number;// = 39 var dy:Number; public var mainChargeSpeed:Number;// = 3.3 public var bounced:int;// = 0 public var leftKey:Number;// = 37 public var shot:Shot; public var HP:Number;// = 3 public var subCharge:Number;// = 0 public var subLevel:Number; public var shieldOn:int;// = 0 public var autoFocusKey:Number;// = 81 public var maxCharge;// = 100 public var bulletUp:Number; public var autoMainKey:Number;// = 65 public var maxSpeed:Number;// = 10 var kc:int;// = 0 public var focusDot:MovieClip; public var magnet:Number;// = 0 public var shield:MovieClip; public var maxHP:Number;// = 3 public var spread:Number;// = 1 public var level:int;// = 0 public var baseDamage:Number;// = 3 public var subChargeSpeed:Number;// = 0.9 public var mainCharge:Number;// = 0 public var upKey:Number;// = 38 public var mainKey:Number;// = 90 public var grabRadius:Number; public var subKey:Number;// = 88 public static var magnetLevel:int = 0; public static var bombLevel:int = 0; public static var speedTree:Array = [[9, 0], [10, 100], [11, 500], [12, 2000]]; public static var mainDamageTree:Array = [[1, 0], [1.3, 50], [1.6, 150], [2, 300], [2.4, 700], [2.8, 1500], [3.2, 3000], [3.6, 6000], [4, 12000]]; public static var healthLevel:int = 0; public static var mainChargeTree:Array = [[0.7, 0], [1, 30], [1.3, 100], [1.7, 200], [2.1, 500], [2.5, 1200], [3, 3000], [3.6, 6000]]; public static var subChargeTree:Array = [[0.13, 0], [0.2, 30], [0.26, 70], [0.33, 150], [0.4, 400], [0.46, 1100], [0.52, 2200], [0.59, 4000], [0.65, 8000]]; public static var healthTree:Array = [[3, 0], [4, 40], [5, 160], [6, 400], [7, 1500], [8, 3500], [9, 10000]]; public static var mainDamageLevel:int = 0; public static var subChargeLevel:int = 0; public static var bombTree:Array = [[1, 0], [2, 800], [3, 6000]]; public static var magnetTree:Array = [[0, 0], [2, 30], [3, 80], [4, 150], [6, 300], [8, 600], [10, 1200], [12, 2000], [15, 4000]]; public static var mainChargeLevel:int = 0; public static var speedLevel:int = 0; public function Player(){ keyIsDown = []; speed = 10; magnet = 0; maxSpeed = 10; bounced = 0; mainCharge = 0; subCharge = 0; mainChargeSpeed = (1.1 * 3); subChargeSpeed = (0.3 * 3); maxCharge = 100; baseDamage = 3; maxHP = 3; HP = 3; superArmor = 90; autoMain = false; autoFocus = false; spread = 1; mainKey = 90; subKey = 88; bombKey = 67; focusKey = 16; autoMainKey = 65; autoFocusKey = 81; upKey = 38; leftKey = 37; rightKey = 39; downKey = 40; dead = false; bombs = 0; shieldOn = 0; buff = 0; t = 0; kc = 0; playerNo = -1; level = 0; aa = 0; super(); focusDot = new FocusDot(); addChild(focusDot); focusDot.alpha = 0; } public function survivalStats(){ mainChargeSpeed = 1; subChargeSpeed = 0.2; baseDamage = 1; magnet = 15; speed = 12; maxHP = 9; HP = 9; bombs = 3; if (playerNo == 1){ bombs++; }; if (playerNo == 2){ speed = (speed * 0.9); }; if (playerNo == 1){ speed = (speed * 0.95); }; statBonus(); } public function keyDownGet(e:Number){ if (!keyIsDown[e]){ if (!(parent as Level).pause){ if (!(parent as Level).pause){ if (e == subKey){ subAttack(); }; if (e == -2){ subAttack(); }; if ((((e == autoFocusKey)) && (false))){ autoFocus = !(autoFocus); }; if ((((e == autoMainKey)) && (false))){ autoMain = !(autoMain); }; }; }; if ((((((e == 80)) || ((e == 27)))) || ((e == 17)))){ (parent as Level).pauseGame(); }; }; } public function statBonus(){ } public function setStatTrees(){ } public function getShield(){ shieldOn = 240; shield.visible = true; Medals.stats.powerUps++; } public function setup(){ if ((parent is Level)){ keyIsDown = (parent as Level).keyIsDown; x = ((parent as Level).xlimit / 2); y = ((parent as Level).ylimit - 100); }; shield = new Shield(); this.addChild(shield); blue = new BlueGlow(); this.addChild(blue); autoMain = Global.vars.options[7]; baseDamage = mainDamageTree[Player.mainDamageLevel][0]; mainChargeSpeed = mainChargeTree[Player.mainChargeLevel][0]; subChargeSpeed = subChargeTree[Player.subChargeLevel][0]; maxHP = healthTree[Player.healthLevel][0]; HP = maxHP; magnet = magnetTree[Player.magnetLevel][0]; speed = speedTree[Player.speedLevel][0]; bombs = (bombLevel + 1); loadStats(); } public function getHeart(){ HP = (HP + 1); if (HP > maxHP){ HP = maxHP; }; } public function bombCondition(){ return (((((((keyIsDown[bombKey]) || (keyIsDown[32]))) && (!((parent as Level).bomb)))) && ((bombs > 0)))); } public function subAttack(){ } public function getBuff(){ buff = 360; blue.visible = true; Medals.stats.powerUps++; } public function end(){ trace("DEAD!"); (parent as Level).endLevel(); } public function shootStuff(){ } public function levelUp(){ level++; if (level == 10){ level = 9; }; mainChargeSpeed = (1 + (3.5 / (10 - level))); subChargeSpeed = (0.2 + (0.6 / (10 - level))); baseDamage = (1 + (3.5 / (10 - level))); trace(("LEVEL UP!!: " + level)); trace(((((("" + mainChargeSpeed) + " ") + subChargeSpeed) + " ") + baseDamage)); statBonus(); } public function loadStats(){ } public function shieldBounce(){ var i:int; var bullet:Bullet; var nb:HolyShot; if (shieldOn != 0){ shieldOn--; if (shieldOn < 60){ shield.visible = !(shield.visible); }; i = 0; while (i < Global.vars.bulletArray.length) { bullet = Global.vars.bulletArray[i]; if (this.hitTestPoint(bullet.x, bullet.y, true)){ (root as Main).makeSound("shield2", "i"); nb = new HolyShot(bullet.x, bullet.y, ((-(bullet.xspeed) * 1.5) * ((Math.random() / 2) + 0.8)), ((-(bullet.yspeed) * 1.5) * ((Math.random() / 2) + 0.8)), (baseDamage * 2)); if ((((((nb.xspeed < 2)) && ((nb.xspeed > -2)))) && ((((nb.yspeed < 2)) && ((nb.yspeed > -2)))))){ nb.yspeed = -2.5; }; parent.addChild(nb); bullet.kill(); i--; bounced++; if (bounced == 100){ Medals.unlockMedal("Counter Attack"); }; }; i++; }; } else { shield.visible = false; bounced = 0; }; } public function hit(){ if ((((((superArmor <= 0)) && (!((parent as Level).bomb)))) && (!(dead)))){ (parent as Level).addCombo(-10); (parent as Level).addHit(); play(); HP = (HP - 1); Medals.stats.damage++; superArmor = 90; if (HP == 0){ focusDot.alpha = 0; mainCharge = 0; subCharge = 0; dead = true; gotoAndPlay("die"); if (Global.vars.bullets >= 666){ Medals.unlockMedalNo(26); }; if (((((parent as Level).foeList.length == 0)) || (((((parent as Level).foeList.length == 1)) && ((((parent as Level).foeList[0] as Foe).HP <= 0)))))){ Medals.unlockMedal("Stray Bullets"); }; }; }; } public function move(){ if (!dead){ if ((((superArmor > 0)) || ((parent as Level).bomb))){ superArmor--; alpha = (1 - alpha); } else { alpha = 1; }; mainCharge = (mainCharge + mainChargeSpeed); subCharge = (subCharge + subChargeSpeed); spread = 1; if (mainCharge > maxCharge){ mainCharge = maxCharge; }; if (subCharge > maxCharge){ subCharge = maxCharge; }; if (((((keyIsDown[focusKey]) && (!(Global.vars.options[8])))) || (((!(keyIsDown[focusKey])) && (Global.vars.options[8]))))){ speed = (speed * 0.5); spread = 0.5; }; if ((root as Main).mouse){ dx = (root.mouseX - this.x); dy = (root.mouseY - this.y); sq = Math.sqrt((Math.pow(dx, 2) + Math.pow(dy, 2))); if (sq > speed){ x = (x + ((speed / sq) * dx)); y = (y + ((speed / sq) * dy)); } else { x = (x + dx); y = (y + dy); }; keyIsDown[rightKey] = (keyIsDown[leftKey] = (keyIsDown[upKey] = (keyIsDown[downKey] = false))); if ((((dx > (dy / 3))) && ((dx > 3)))){ keyIsDown[rightKey] = true; }; if ((((dx < (dy / 3))) && ((dx < -3)))){ keyIsDown[leftKey] = true; }; if ((((dy > (dx / 3))) && ((dy > 3)))){ keyIsDown[downKey] = true; }; if ((((dy < (dx / 3))) && ((dy < -3)))){ keyIsDown[upKey] = true; }; } else { kc = 0; if (keyIsDown[leftKey]){ kc++; }; if (keyIsDown[upKey]){ kc++; }; if (keyIsDown[rightKey]){ kc++; }; if (keyIsDown[downKey]){ kc++; }; if (kc > 1){ speed = (speed * 0.8); }; if (keyIsDown[leftKey]){ x = (x - speed); }; if (keyIsDown[upKey]){ y = (y - speed); }; if (keyIsDown[rightKey]){ x = (x + speed); }; if (keyIsDown[downKey]){ y = (y + speed); }; if (kc > 1){ speed = (speed / 0.8); }; }; if (((((keyIsDown[focusKey]) && (!(Global.vars.options[8])))) || (((!(keyIsDown[focusKey])) && (Global.vars.options[8]))))){ speed = (speed * 2); focusDot.alpha = 1; } else { focusDot.alpha = 0; }; shootStuff(); shieldBounce(); if (buff < 60){ blue.visible = !(blue.visible); }; if (buff < 1){ blue.visible = false; }; if (x > 500){ x = 500; }; if (y > 598){ y = 598; }; if (x < 2){ x = 2; }; if (y < 2){ y = 2; }; buff--; }; } public function doBomb(){ } } }//package players
Section 260
//PlayerBomb (players.PlayerBomb) package players { import flash.display.*; import levels.*; import foes.*; import bullets.*; public class PlayerBomb extends MovieClip { public var active:Boolean;// = true public var damage:Number; public var level:Level; public var blower:Boolean;// = true public function PlayerBomb(x, y, damage, level){ active = true; blower = true; super(); this.x = x; this.y = y; this.damage = damage; this.level = level; stop(); Medals.unlockMedal("Boom"); } public function kill(){ (parent as Level).bomb = false; this.stop(); if (this){ parent.removeChild(this); }; } function special(){ } public function onFrame(){ var bullet:Bullet; var i:int; var foes:Array; var f:Foe; special(); if (active){ i = 0; while (i < Global.vars.bulletArray.length) { bullet = Global.vars.bulletArray[i]; if (this.hitTestPoint(bullet.x, bullet.y, true)){ if (blower){ bullet.yspeed = (bullet.yspeed - 2); if (bullet.yspeed == 0){ bullet.yspeed = -1; }; } else { bullet.kill(); i--; }; }; i++; }; foes = (parent as Level).foeList; for each (f in foes) { if (((((this.hitTestPoint(f.x, f.y, true)) && (!(f.dead)))) && (!((f.superArmor > 0))))){ f.hit(damage); }; }; }; nextFrame(); } } }//package players
Section 261
//ArrowShot (shots.ArrowShot) package shots { import particles.*; public class ArrowShot extends Shot { public function ArrowShot(x:Number, y:Number, xspeed:Number, yspeed:Number, rotation:Number, damage:Number){ super(x, y, xspeed, yspeed, damage); alpha = 0.5; this.rotation = rotation; } override function death(){ parent.addChild(new SmashParticle(x, (y - 20))); } } }//package shots
Section 262
//BigStarShot (shots.BigStarShot) package shots { import levels.*; import particles.*; public class BigStarShot extends Shot { public function BigStarShot(x:Number, y:Number, xspeed:Number, yspeed:Number, damage:Number){ super(x, y, xspeed, yspeed, damage); HP = (20 * damage); } override function death(){ parent.addChild(new YellowParticle(x, y)); parent.addChild(new YellowParticle(x, y)); parent.addChild(new YellowParticle(x, y)); parent.addChild(new YellowParticle(x, y)); parent.addChild(new YellowParticle(x, y)); } override public function onFrame(){ if (xspeed > 0){ xspeed = (xspeed - 0.5); } else { if (xspeed < 0){ xspeed = (xspeed + 0.5); } else { yspeed = (yspeed - 1); }; }; x = (x + xspeed); y = (y + yspeed); if ((((x > ((parent as Level).xlimit + 10))) || ((x < (0 - 10))))){ xspeed = (xspeed * -1); x = (x + xspeed); }; if ((((y > ((parent as Level).ylimit + 10))) || ((y < (0 - 10))))){ kill(); } else { hitStuff(); }; } } }//package shots
Section 263
//BulletBomb (shots.BulletBomb) package shots { import particles.*; public class BulletBomb extends Shot { var bullet:Shot; var decel:Number;// = 2 var alim2:Number;// = 0 var level:Number; var direction:String;// = "" var alim:Number;// = 360 var time:Number;// = 30 var angle:Number;// = 0 public function BulletBomb(x:Number, y:Number, xspeed:Number, yspeed:Number, damage:Number, level:Number=1){ decel = 2; angle = 0; alim = 360; alim2 = 0; direction = ""; time = 30; super(x, y, xspeed, yspeed, (damage * 3)); this.level = level; HP = 20; if (((!((yspeed == 0))) || (!((xspeed == 0))))){ alim = 90; }; if ((((yspeed > 0)) && ((xspeed == 0)))){ alim2 = (135 + 180); }; if ((((yspeed < 0)) && ((xspeed == 0)))){ alim2 = (-45 + 180); }; if ((((yspeed < 0)) && ((xspeed > 0)))){ alim2 = -270; }; if ((((yspeed < 0)) && ((xspeed < 0)))){ alim2 = -180; }; if ((((yspeed > 0)) && ((xspeed > 0)))){ alim2 = 0; }; if ((((yspeed > 0)) && ((xspeed < 0)))){ alim2 = -90; }; if ((((yspeed == 0)) && ((xspeed < 0)))){ alim2 = (180 + 45); }; if ((((yspeed == 0)) && ((xspeed > 0)))){ alim2 = 45; }; this.xspeed = (int(((Math.random() * 10) - 5)) * 2); time = int((40 - (Math.random() * 20))); } override function death(){ var a:Number; (root as Main).makeSound("mine2", "p"); a = 0; while (a < 30) { parent.addChild(new OrangeParticle(x, y)); angle = ((Math.random() * alim) + alim2); angle = (angle * (Math.PI / 180)); parent.addChild(new BulletShot(x, y, (Math.sin(angle) * 8), (Math.cos(angle) * 8), ((((angle / Math.PI) * 180) * -1) + 180), ((damage / 3) * 2))); a++; }; } override function special():Boolean{ time--; if (xspeed > 0){ xspeed = (xspeed - decel); }; if (xspeed < 0){ xspeed = (xspeed + decel); }; if (yspeed > 0){ yspeed = (yspeed - decel); }; if (yspeed < 0){ yspeed = (yspeed + decel); }; if (time == 0){ die(); return (true); }; return (false); } } }//package shots
Section 264
//BulletShot (shots.BulletShot) package shots { import particles.*; public class BulletShot extends Shot { public function BulletShot(x:Number, y:Number, xspeed:Number, yspeed:Number, rotation:Number, damage:Number){ super(x, y, xspeed, yspeed, damage); alpha = 0.4; this.rotation = rotation; } override function death(){ parent.addChild(new OrangeParticle(x, y)); } } }//package shots
Section 265
//FlameShot (shots.FlameShot) package shots { import particles.*; public class FlameShot extends Shot { public function FlameShot(x:Number, y:Number, xspeed:Number, yspeed:Number, rotation:Number, damage:Number){ super(x, y, xspeed, yspeed, damage); alpha = 0.6; this.rotation = rotation; } override function death(){ parent.addChild(new OrangeParticle(x, y)); } } }//package shots
Section 266
//HolyBallShot (shots.HolyBallShot) package shots { import players.*; public class HolyBallShot extends Shot { var an:Number;// = 0 public var dead:Boolean;// = false var p:Player; var alim2:Number;// = 0 var delay:Number;// = 0 var direction:String;// = "" var alim:Number;// = 360 var time:Number;// = 30 var angle:Number;// = 0 var accel:Number;// = 1 public function HolyBallShot(x:Number, y:Number, xspeed, yspeed, p:Player, side:int){ angle = 0; alim = 360; alim2 = 0; direction = ""; time = 30; dead = false; accel = 1; delay = 0; an = 0; addFrameScript(8, frame9, 13, frame14); super(0, 0, 0, 0, (p.baseDamage * 1.4)); alpha = 0.7; this.HP = Infinity; this.p = p; size = 2000; this.scaleX = (this.scaleX * 0.7); this.scaleY = (this.scaleY * 0.7); an = (180 * side); } function frame14(){ kill(); } function frame9(){ stop(); } override function special():Boolean{ if ((((delay == 0)) && (!(dead)))){ delay = 10; parent.addChild(new FlameShot(x, y, ((Math.random() * 6) - 3), (-8 - (Math.random() * 4)), 0, (p.baseDamage * 3))); }; delay--; an = (an + 0.2); this.x = (p.x + (Math.cos(an) * 140)); this.y = (p.y + (Math.sin(an) * 200)); if ((((p.subCharge < 5)) || (dead))){ if (p.subCharge < 5){ (p as Natalie).holy = false; }; dead = true; play(); }; return (false); } } }//package shots
Section 267
//HolyShot (shots.HolyShot) package shots { import particles.*; public class HolyShot extends Shot { public function HolyShot(x:Number, y:Number, xspeed:Number, yspeed:Number, damage:Number){ super(x, y, xspeed, yspeed, damage); alpha = 0.6; if ((((((((yspeed > -2)) && ((yspeed < 2)))) && ((xspeed > -2)))) && ((xspeed < 2)))){ yspeed = -2; }; } override function death(){ parent.addChild(new HolyParticle(x, y)); } } }//package shots
Section 268
//HugeSwordShot (shots.HugeSwordShot) package shots { import players.*; import particles.*; public class HugeSwordShot extends Shot { var bullet:Shot; var decel:Number;// = 2 var p:Player; var level:Number; var direction:String;// = "" var time:Number;// = 30 var angle:Number;// = 0 public function HugeSwordShot(x:Number, y:Number, xspeed:Number, yspeed:Number, damage:Number, HP:Number, p:Player, b:Boolean=false){ decel = 2; angle = 0; direction = ""; time = 30; addFrameScript(19, frame20); super(x, y, xspeed, yspeed, damage); alpha = 0.7; this.HP = Infinity; if ((((yspeed > 0)) && ((xspeed == 0)))){ rotation = 180; if (b){ this.scaleX = (this.scaleX * 1.5); this.scaleY = (this.scaleY * 1.5); }; }; if ((((yspeed < 0)) && ((xspeed == 0)))){ rotation = 0; if (b){ this.scaleX = (this.scaleX * 1.5); this.scaleY = (this.scaleY * 1.5); }; }; if ((((yspeed < 0)) && ((xspeed > 0)))){ rotation = 45; }; if ((((yspeed < 0)) && ((xspeed < 0)))){ rotation = -45; }; if ((((yspeed > 0)) && ((xspeed > 0)))){ rotation = 135; }; if ((((yspeed > 0)) && ((xspeed < 0)))){ rotation = -135; }; if ((((yspeed == 0)) && ((xspeed < 0)))){ rotation = 270; if (b){ this.scaleX = (this.scaleX * 1.5); this.scaleY = (this.scaleY * 1.5); }; }; if ((((yspeed == 0)) && ((xspeed > 0)))){ rotation = 90; if (b){ this.scaleX = (this.scaleX * 1.5); this.scaleY = (this.scaleY * 1.5); }; }; this.xspeed = 0; this.yspeed = 0; this.p = p; } function frame20(){ if (this){ this.kill(); }; } override function death(){ var a:Number; play(); a = 0; while (a < 5) { parent.addChild(new YellowParticle(x, y)); a++; }; } override function special():Boolean{ this.x = p.x; this.y = p.y; HP--; if (HP == 0){ death(); return (true); }; return (false); } override public function spark(x:Number, y:Number){ } } }//package shots
Section 269
//LeafShot (shots.LeafShot) package shots { import particles.*; public class LeafShot extends Shot { public function LeafShot(x:Number, y:Number, xspeed:Number, yspeed:Number, rotation:Number, damage:Number){ super(x, y, xspeed, yspeed, damage); alpha = 0.4; this.rotation = rotation; } override function death(){ parent.addChild(new LeafParticle(x, y)); parent.addChild(new LeafParticle(x, y)); } } }//package shots
Section 270
//Shot (shots.Shot) package shots { import flash.display.*; import levels.*; import foes.*; public class Shot extends MovieClip { public var size:int;// = 10 public var HP:Number; public var dead2:Boolean;// = false public var yspeed:Number; public var damage:Number; public var bounce:Number;// = 0 public var xspeed:Number; public function Shot(x:Number, y:Number, xspeed:Number, yspeed:Number, damage:Number, rotation:Number=INF){ bounce = 0; dead2 = false; size = 10; super(); this.damage = damage; this.x = x; this.y = y; this.xspeed = xspeed; this.yspeed = yspeed; if (rotation != Infinity){ this.rotation = rotation; }; HP = 1; cacheAsBitmap = true; Global.vars.shotArray.push(this); } function hitStuff(){ var foes:Array; var f:Foe; foes = (parent as Level).foeList; for each (f in foes) { if (((((this.hitTestObject(f)) && (!(f.dead)))) && (!((f.superArmor > 0))))){ f.hit(damage); HP = (HP - damage); if (f){ spark(f.x, f.y); }; if (HP < 0){ die(); break; }; }; }; } public function kill(){ Global.vars.shotArray.splice(Global.vars.shotArray.indexOf(this), 1); this.stop(); dead2 = true; if (this){ parent.removeChild(this); }; } function death(){ } public function die(){ death(); kill(); } function special():Boolean{ return (false); } public function onFrame(){ x = (x + xspeed); y = (y + yspeed); if (special()){ } else { if ((((x > ((parent as Level).xlimit + size))) || ((x < -(size))))){ kill(); } else { if ((((y > ((parent as Level).ylimit + size))) || ((y < -(size))))){ kill(); } else { hitStuff(); }; }; }; } public function spark(x:Number, y:Number){ } } }//package shots
Section 271
//StarBomb (shots.StarBomb) package shots { import levels.*; import foes.*; import bullets.*; public class StarBomb extends Shot { public var active:Boolean;// = true var repeats:Number; public var level:Level; public function StarBomb(damage:Number, repeats:Number, level:Level){ active = true; addFrameScript(0, frame1, 1, frame2, 14, frame15, 26, frame27); super(0, 0, 0, 0, damage); height = (height * 0.7); width = (width * 0.7); this.x = ((Math.random() * 400) + 100); this.y = ((Math.random() * 500) + 100); this.repeats = repeats; this.level = level; stop(); } function pew(){ parent.addChild(new BigStarShot(x, y, 12, -3, (damage * 2))); parent.addChild(new BigStarShot(x, y, -12, -3, (damage * 2))); } function frame15(){ if (this){ nextStar(); }; } function frame1(){ (root as Main).makeSound("starbomb", "p"); } function frame27(){ if (this){ kill2(); }; } function kill2(){ if (repeats == 0){ (parent as Level).bomb = false; }; kill(); } override public function onFrame(){ var i:int; var foes:Array; var f:Foe; var bullet:Bullet; special(); if (active){ i = 0; while (i < Global.vars.bulletArray.length) { bullet = Global.vars.bulletArray[i]; if (this.hitTestPoint(bullet.x, bullet.y, true)){ bullet.yspeed = (bullet.yspeed - 2); if (bullet.yspeed == 0){ bullet.yspeed = -1; }; }; i++; }; foes = (parent as Level).foeList; for each (f in foes) { if (((((this.hitTestPoint(f.x, f.y, true)) && (!(f.dead)))) && (!((f.superArmor > 0))))){ f.hit(damage); }; }; }; nextFrame(); } function nextStar(){ if (repeats != 0){ parent.addChild(new StarBomb(damage, (repeats - 1), level)); }; } function frame2(){ pew(); } } }//package shots
Section 272
//StarShot (shots.StarShot) package shots { import particles.*; public class StarShot extends Shot { public function StarShot(x:Number, y:Number, xspeed:Number, yspeed:Number, damage:Number){ super(x, y, xspeed, yspeed, damage); alpha = 0.4; height = (height * 0.5); width = (width * 0.5); } override function death(){ parent.addChild(new YellowParticle(x, y)); } } }//package shots
Section 273
//SuperBigStarShot (shots.SuperBigStarShot) package shots { import levels.*; import particles.*; public class SuperBigStarShot extends Shot { var c:Number;// = 0 var damage2:Number; public function SuperBigStarShot(x:Number, y:Number, xspeed:Number, yspeed:Number, damage:Number, damage2:Number){ c = 0; super(x, y, xspeed, yspeed, damage); this.damage2 = damage2; height = (height * 1.5); width = (width * 1.5); HP = (30 * damage); } override function death(){ parent.addChild(new YellowParticle(x, y)); parent.addChild(new YellowParticle(x, y)); parent.addChild(new YellowParticle(x, y)); parent.addChild(new YellowParticle(x, y)); parent.addChild(new YellowParticle(x, y)); parent.addChild(new YellowParticle(x, y)); } override public function onFrame(){ if (xspeed > 0){ xspeed = (xspeed - 0.5); } else { if (xspeed < 0){ xspeed = (xspeed + 0.5); } else { yspeed = (yspeed - 1); }; }; x = (x + xspeed); y = (y + yspeed); c++; if (((((c % 4) == 0)) && ((yspeed < -4)))){ parent.addChild(new StarShot(x, y, ((Math.random() * 4) - 2), (yspeed / 2), damage2)); }; if ((((x > ((parent as Level).xlimit + 10))) || ((x < -10)))){ xspeed = (xspeed * -1); x = (x + xspeed); }; if ((((y > ((parent as Level).ylimit + 10))) || ((y < -10)))){ kill(); } else { hitStuff(); }; } } }//package shots
Section 274
//SwordShot (shots.SwordShot) package shots { import particles.*; public class SwordShot extends Shot { public function SwordShot(x:Number, y:Number, xspeed:Number, yspeed:Number, rotation:Number, damage:Number){ super(x, y, xspeed, yspeed, damage); alpha = 0.5; this.rotation = rotation; } override function death(){ parent.addChild(new YellowParticle(x, y)); parent.addChild(new YellowParticle(x, y)); } } }//package shots
Section 275
//TreeShot (shots.TreeShot) package shots { import players.*; import particles.*; public class TreeShot extends Shot { var bullet:Shot; var decel:Number;// = 2 var position:Boolean; public var dead:Boolean;// = false var p:Player; var delay:Number;// = -10 var level:Number; var direction:String;// = "" var time:Number;// = 30 var angle:Number;// = 0 public function TreeShot(x:Number, y:Number, position:Boolean, p:Player){ decel = 2; angle = 0; direction = ""; time = 30; dead = false; delay = -10; addFrameScript(12, frame13, 30, frame31); super(x, y, 0, 0, 1); alpha = 0.5; this.HP = Infinity; this.xspeed = 0; this.yspeed = 0; this.p = p; this.position = position; if (position){ this.scaleX = (this.scaleX * -1); }; } function frame13(){ stop(); } override function special():Boolean{ var a:int; if (delay == -10){ a = 0; while (a < 2) { parent.addChild(new LeafShot(x, (y - 25), ((Math.random() * 20) - 10), (-10 - (Math.random() * 8)), 0, (p.baseDamage * 2))); a++; }; delay = 0; }; if ((((delay == 0)) && (!(dead)))){ delay = 4; (root as Main).makeSound("leaf", "p"); parent.addChild(new LeafShot(x, (y - 25), ((Math.random() * 20) - 10), -15, 0, (p.baseDamage * 2))); }; delay--; if (position){ this.x = (p.x + 70); } else { this.x = (p.x - 70); }; this.y = p.y; if ((((p.subCharge < 5)) || (dead))){ if (p.subCharge < 5){ (p as Anna).trees = false; }; dead = true; play(); }; if (x < 0){ x = 0; }; if (x > 500){ x = 500; }; return (true); } function frame31(){ kill(); } override public function spark(x:Number, y:Number){ parent.addChild(new LeafParticle(x, (y - 15))); } } }//package shots
Section 276
//BGM (BGM) package { import flash.events.*; import flash.media.*; public class BGM { static var paus:Boolean = false; static var thisSong:String = "1"; static var mute:Boolean = false; static var volume:Number = 0; static var music:SoundChannel = new SoundChannel(); static var nextSong:String = ""; static var maxvol:Number = 1; static var fader:SoundTransform = new SoundTransform(); static var fade:Boolean = false; public function BGM(){ super(); } public static function stop(){ music.stop(); } public static function resume(){ trace("Resume music."); paus = false; volume = maxvol; setVolume(); } static function getSong():Sound{ if (nextSong == "starMusic"){ return (new starMusic()); }; if (nextSong == "waterMusic"){ return (new waterMusic()); }; if (nextSong == "spaceMusic"){ return (new spaceMusic()); }; if (nextSong == "neverMusic"){ return (new rainMusic()); }; if (nextSong == "menuMusic"){ return (new menuMusic()); }; if (nextSong == "bossMusic"){ return (new bossMusic()); }; return (new starMusic()); } static function setVolume(){ fader.volume = volume; music.soundTransform = fader; } public static function loop(e:Event){ if (!Global.vars.options[5]){ volume = 0; } else { if (paus){ volume = 0.2; } else { if ((((volume < maxvol)) && (fade))){ volume = (volume + 0.02); }; if ((((volume > 0)) && (!(fade)))){ volume = (volume - 0.02); }; if ((((volume <= 0)) && (!((nextSong == ""))))){ music.stop(); trace(("Playing music: " + nextSong)); music = getSong().play(0, int.MAX_VALUE); music.soundTransform = fader; thisSong = nextSong; nextSong = ""; volume = 0.02; fade = true; }; }; }; setVolume(); } public static function play(track:String){ paus = false; if (!(((thisSong == track)) && (fade))){ trace("Prepared next song."); fade = false; nextSong = track; } else { trace("Same song already playing."); }; } public static function pause(){ trace("Pause music."); paus = true; volume = 0.2; setVolume(); } } }//package
Section 277
//BlueGlow (BlueGlow) package { import flash.display.*; public dynamic class BlueGlow extends MovieClip { public function BlueGlow(){ super(); } } }//package
Section 278
//bossMusic (bossMusic) package { import flash.media.*; public dynamic class bossMusic extends Sound { public function bossMusic(){ super(); } } }//package
Section 279
//fire (fire) package { import flash.display.*; public dynamic class fire extends MovieClip { public function fire(){ super(); addFrameScript(25, frame26); } function frame26(){ if (this){ parent.removeChild(this); }; } } }//package
Section 280
//FocusDot (FocusDot) package { import flash.display.*; public dynamic class FocusDot extends MovieClip { public function FocusDot(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 281
//GetReady (GetReady) package { import flash.display.*; import flash.events.*; import levels.*; import flash.media.*; import flash.utils.*; import flash.text.*; import flash.net.*; import flash.ui.*; import flash.system.*; import flash.geom.*; import flash.errors.*; import adobe.utils.*; import flash.accessibility.*; import flash.external.*; import flash.filters.*; import flash.printing.*; import flash.xml.*; public dynamic class GetReady extends MovieClip { public var start:SimpleButton; public var tip:MovieClip; public function GetReady(){ super(); addFrameScript(0, frame1, 1, frame2, 2, frame3, 10, frame11, 90, frame91, 113, frame114); } function frame91(){ (parent as Level).wait--; (parent as Level).background.tiles.play(); } function frame3(){ tip.gotoAndStop((parent as Level).levelNo); } function frame1(){ visible = false; } function frame2(){ visible = true; if ((root as Main).levelRanks[(parent as Level).levelNo] > 1){ gotoAndPlay("notip"); }; } function frame114(){ (parent as Level).ready = null; stage.focus = stage; parent.removeChild(this); } function frame11(){ stop(); getChildByName("start").addEventListener(MouseEvent.CLICK, function (e:Event=null){ play(); }); } } }//package
Section 282
//Global (Global) package { public class Global { public static var vars:Object = {}; public function Global(){ super(); } } }//package
Section 283
//LevelEnd (LevelEnd) package { import flash.display.*; import flash.events.*; import levels.*; import flash.text.*; public class LevelEnd extends MovieClip { public var cheats:MovieClip; public var scoreT:TextField; public var moneyCollectedT:TextField; var s1:String;// = "s1" var s2:String;// = "s2" var s3:String;// = "s3" public var menu:SimpleButton; public var foesKilledT:TextField; public var waveT:TextField; public var bestComboT:TextField; public var retry:SimpleButton; public var rankT:MovieClip; public var hitsTakenT:TextField; public var best2:MovieClip; public var best3:MovieClip; public var best4:MovieClip; public var best1:MovieClip; public var rr:int;// = 1 public var status:MovieClip; public function LevelEnd(score:Number, foesKilled:String, hitsTaken:Number, bestCombo:Number, moneyCollected:Number, rank:Number){ var score = score; var foesKilled = foesKilled; var hitsTaken = hitsTaken; var bestCombo = bestCombo; var moneyCollected = moneyCollected; var rank = rank; s1 = "s1"; s2 = "s2"; s3 = "s3"; rr = 1; super(); addFrameScript(0, frame1, 1, frame2); scoreT.text = (s1 = String(score)); foesKilledT.text = (s2 = String(foesKilled)); bestComboT.text = String(bestCombo); hitsTakenT.text = String(hitsTaken); moneyCollectedT.text = String(moneyCollected); getChildByName("menu").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (parent as Level).exitLevel(); }); getChildByName("retry").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (parent as Level).retryLevel(); }); } function frame1(){ stop(); rankT.gotoAndStop(rr); if (rr == 1){ rankT.gotoAndStop(9); status.gotoAndStop(2); }; } function frame2(){ scoreT.text = s1; foesKilledT.text = s2; waveT.text = s3; waveT.text = ("" + ((parent as Level).level as Level25).waveCount); rankT.gotoAndStop(rr); if (rr == 1){ rankT.gotoAndStop(9); }; trace(("rank: " + rr)); } } }//package
Section 284
//Main (Main) package { import flash.display.*; import flash.events.*; import levels.*; import flash.utils.*; import mochi.as3.*; import foes.*; import flash.text.*; import flash.net.*; import players.*; import flash.ui.*; import bullets.*; import shots.*; import misc.*; import flash.system.*; import flash.geom.*; public class Main extends MovieClip { public var survivalWaves:int;// = 0 public var b1:SimpleButton; public var b2:SimpleButton; public var b3:SimpleButton; public var b4:SimpleButton; public var b5:SimpleButton; public var b6:SimpleButton; public var b8:SimpleButton; public var b9:SimpleButton; public var loader:Loader; public var b7:SimpleButton; public var keyIsDown:Array; public var showPlayer:MovieClip; public var survivalKills:int;// = 0 public var musicLink2; public var musicLink3; public var li10:MovieClip; public var li11:MovieClip; public var li13:MovieClip; public var li14:MovieClip; public var li15:MovieClip; public var li16:MovieClip; public var li17:MovieClip; public var li12:MovieClip; public var li18:MovieClip; public var e1:MovieClip; public var e2:MovieClip; public var e3:MovieClip; public var e4:MovieClip; public var e5:MovieClip; public var e6:MovieClip; public var li20:MovieClip; public var tick10:MovieClip; public var tick11:MovieClip; public var tick12:MovieClip; public var tick14:MovieClip; public var tick16:MovieClip; public var li22:MovieClip; public var tick13:MovieClip; public var delsel:SimpleButton; public var tick15:MovieClip; public var li21:MovieClip; public var li24:MovieClip; public var li25:MovieClip; public var tick17:MovieClip; public var e7:MovieClip; public var li23:MovieClip; public var j:Number; public var moreGames; public var a:int; public var b:int; public var ths:int; public var levelRanks:Array; public var mouse:Boolean;// = false public var li19:MovieClip; public var mattLink3; public var mattLink2; public var levelScores:Array; public var domain:String; public var money:int;// = 0 public var cla:Class; public var ii:int; public var myMenu:ContextMenu; public var paramObj:Object; public var mattLink; public var sounds:MovieClip; public var moreGames2; public var jj:int; public var countSound:int;// = 0 public var maxedStats:int; public var apiPath:String; public var selectedPlayer:Number;// = 1 public var m1:SimpleButton; public var m2:SimpleButton; public var m3:SimpleButton; public var m6:SimpleButton; public var m4:SimpleButton; public var m5:SimpleButton; public var fader:MovieClip; public var playerUnlock:Boolean;// = false public var mcc:MovieClip; public var allowed:String; public var selectedLevel:Number;// = 1 public var newGame:Boolean; public var p0:MovieClip; public var p1:MovieClip; public var p2:MovieClip; public var p3:MovieClip; public var upgraded:MovieClip; public var p4:MovieClip; public var le2:TextField; public var le3:TextField; public var le4:TextField; public var le5:TextField; public var le6:TextField; public var le7:TextField; public var le1:TextField; public var kongregate; public var survivalScore:int;// = 0 public var levelicon:MovieClip; public var r0:MovieClip; public var r1:MovieClip; public var r2:MovieClip; public var r3:MovieClip; public var r4:MovieClip; public var r5:MovieClip; public var r6:MovieClip; public var r7:MovieClip; public var r8:MovieClip; public var r9:MovieClip; public var r11:MovieClip; public var r12:MovieClip; public var r14:MovieClip; public var r15:MovieClip; public var r16:MovieClip; public var r10:MovieClip; public var r19:MovieClip; public var r13:MovieClip; public var s1:TextField; public var r18:MovieClip; public var s4:TextField; public var s5:TextField; public var s6:TextField; public var s2:TextField; public var s3:TextField; public var medalDesc:TextField; public var medalName:TextField; public var r20:MovieClip; public var r21:MovieClip; public var r22:MovieClip; public var r23:MovieClip; public var startButton:SimpleButton; public var tick2:MovieClip; public var tick3:MovieClip; public var tick4:MovieClip; public var tick5:MovieClip; public var tick8:MovieClip; public var tick9:MovieClip; public var t2:Number;// = 200000 public var tick1:MovieClip; public var r25:MovieClip; public var r17:MovieClip; public var tick6:MovieClip; public var tick7:MovieClip; public var r24:MovieClip; public var li0:MovieClip; public var li2:MovieClip; public var li3:MovieClip; public var li4:MovieClip; public var li5:MovieClip; public var li6:MovieClip; public var li8:MovieClip; public var u1:SimpleButton; public var u2:SimpleButton; public var u3:SimpleButton; public var u4:SimpleButton; public var u5:SimpleButton; public var li7:MovieClip; public var u7:SimpleButton; public var li9:MovieClip; public var lastPage:String; public var u6:SimpleButton; public var t1:Number;// = 0 public var unlockedLevel:Number;// = 0 public var li1:MovieClip; public var showLevel:MovieClip; public var request:URLRequest; public var mm1:TextField; public var mm4:TextField; public var mm5:TextField; public var mm6:TextField; public var mm7:TextField; public var mm2:TextField; public var mm3:TextField; public var prevSound:String;// = "" public var playersUnlocked:Array; public var gamez:SimpleButton; public var playericon:MovieClip; public var totalhigh:TextField; public var medal:Object; public var icons:Array; public var medalBox:MovieClip; public var mu1:SimpleButton; public var mu2:SimpleButton; public var mu3:SimpleButton; public var mu5:SimpleButton; public var mu6:SimpleButton; public var mu4:SimpleButton; public var moneyT:TextField; public var level:Level; public var mtt:TextField; public var musicLink; public var playerUpgrades:Array; public var levelUnlock:Boolean;// = false public function Main(){ selectedLevel = 1; unlockedLevel = 0; selectedPlayer = 1; keyIsDown = []; t1 = 0; t2 = 200000; money = 0; levelRanks = [0]; playersUnlocked = [true, true, false, false, false]; levelScores = []; levelUnlock = false; playerUnlock = false; playerUpgrades = []; mouse = false; prevSound = ""; countSound = 0; survivalKills = 0; survivalScore = 0; survivalWaves = 0; super(); 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); MochiServices.connect("dc089a30e5985f83", root, onConnectError); MochiEvents.trackEvent("viewed preloader"); Global.vars.bullets = 0; Global.vars.foes = 0; stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownGet); stage.addEventListener(KeyboardEvent.KEY_UP, keyUpGet); stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown); stage.addEventListener(MouseEvent.MOUSE_UP, mouseUp); } public function deleteData(){ if (Global.vars.options[9]){ trace("Reset progress & upgrades!"); levelRanks = [0]; money = 0; Player.bombLevel = 0; Player.mainChargeLevel = 0; Player.subChargeLevel = 0; Player.healthLevel = 0; Player.speedLevel = 0; Player.magnetLevel = 0; Player.mainDamageLevel = 0; saveGame(); }; if (Global.vars.options[10]){ trace("Reset medals & scores!"); Medals.locks = []; Medals.stats = {kills:0, powerUps:0, damage:0, playerLevels:[0, 0, 0, 0, 0]}; levelScores = []; survivalKills = 0; survivalWaves = 0; saveGame(); }; } public function upgradePlayer(m:TextField, t:String, l:String, yy:int, e:Event=null){ if (money >= Number(m.text)){ money = (money - Number(m.text)); var _local6 = cla; var _local7 = l; var _local8 = (_local6[_local7] + 1); _local6[_local7] = _local8; showUpgrades(); (upgraded as MovieClip).gotoAndPlay(2); (upgraded as MovieClip).y = (0 + (yy * 68)); saveGame(); trace(("UPGRADE " + l)); } else { trace("NOT ENOUGH MONEY"); }; } public function keyDownGet(e:KeyboardEvent){ if (level){ level.player.keyDownGet(e.keyCode); level.player.keyIsDown = keyIsDown; if (((level.ready) && (level.ready.tip))){ level.ready.play(); }; }; keyIsDown[e.keyCode] = true; if (e.keyCode == 57){ debug(); }; } public function loadComplete(event:Event):void{ kongregate = event.target.content; kongregate.services.connect(); } public function startLevel(){ level = new Level(selectedPlayer, selectedLevel); addChild(level); level.keyIsDown = keyIsDown; if (((!(level.level.survival)) && (Global.vars.options[14]))){ stage.frameRate = 25; }; } function frame10(){ stop(); startLevel(); } public function resetUpgrades(){ trace("HAX: reset upgrades"); Player.healthLevel = 0; Player.mainChargeLevel = 0; Player.subChargeLevel = 0; Player.speedLevel = 0; Player.magnetLevel = 0; Player.mainDamageLevel = 0; Player.bombLevel = 0; } function frame3(){ newGame = loadGame(); lastPage = "mainMenu"; addEventListener(Event.ENTER_FRAME, BGM.loop); if (!Global.vars.options[11]){ stage.quality = "low"; } else { stage.quality = "high"; }; mouse = Global.vars.options[6]; startButton.addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("mainMenu"); }); getChildByName("b1").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/3776/epic-battle-fantasy"), "_blank"); }); getChildByName("b2").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/4353/epic-battle-fantasy-2"), "_blank"); }); getChildByName("b3").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/6897/epic-battle-fantasy-3"), "_blank"); }); getChildByName("b6").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://kupo707.deviantart.com/"), "_blank"); }); getChildByName("b7").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://www.facebook.com/pages/Epic-Battle-Fantasy-3/121491377896263"), "_blank"); }); getChildByName("b9").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://www.facebook.com/pages/Halcyonic-Falcon-X/148298581863486"), "_blank"); }); } function frame8(){ getChildByName("b1").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo(lastPage); }); getChildByName("b2").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("levelSelect"); }); } public function upgradeMagnet(e:Event=null){ upgradePlayer(mm6, "magnetTree", "magnetLevel", 5); } public function upgradeDamage(e:Event=null){ upgradePlayer(mm4, "mainDamageTree", "mainDamageLevel", 3); } function frame12(){ getChildByName("gamez").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://www.kongregate.com/games_for_your_site"), "_blank"); }); } public function mouseDouble(){ trace("double click"); if (level){ level.player.keyDownGet(-2); }; } function frame1(){ paramObj = LoaderInfo(root.loaderInfo).parameters; apiPath = ((paramObj.kongregate_api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); Security.allowDomain(apiPath); request = new URLRequest(apiPath); loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); loader.load(request); this.addChild(loader); myMenu = new ContextMenu(); myMenu.hideBuiltInItems(); moreGames = new ContextMenuItem("Sponsored by Armor Games"); moreGames2 = new ContextMenuItem("-> Play more Shooters"); mattLink = new ContextMenuItem("Game by Matt Roszak"); mattLink2 = new ContextMenuItem("-> Follow him on Facebook"); mattLink3 = new ContextMenuItem("-> Follow him on DeviantArt"); musicLink = new ContextMenuItem("Music by Halcyonic Falcon X"); musicLink2 = new ContextMenuItem("-> Follow her on Facebook"); musicLink3 = new ContextMenuItem("-> Download the soundtrack"); mattLink.separatorBefore = true; musicLink.separatorBefore = true; moreGames.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openLink); moreGames2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openLink2); mattLink2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openLink4); mattLink3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openLink5); musicLink2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openLink6); musicLink3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT, openLink7); myMenu.customItems.push(moreGames, moreGames2, mattLink, mattLink2, mattLink3, musicLink, musicLink2, musicLink3); contextMenu = myMenu; stop(); } function frame5(){ BGM.play("menuMusic"); lastPage = "levelSelect"; y = 0; stage.frameRate = 30; moneyT.text = String(money); if ((((levelRanks[1] == 0)) || ((levelRanks[1] == undefined)))){ levelRanks[1] = 1; }; selectLevel(selectedLevel); selectPlayer(selectedPlayer); j = 1; while (j <= 25) { levelbutton(("li" + j), j); j++; }; buttonize("p0", 1); buttonize("p1", 2); buttonize("p2", 3); buttonize("p3", 4); buttonize("p4", 5); getChildByName("b1").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("mainMenu"); }); getChildByName("b2").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("upgrades"); }); getChildByName("b3").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("playLevel"); }); getChildByName("b4").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("instructions"); newGame = false; }); getChildByName("b5").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("options"); }); getChildByName("b6").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("medals"); }); getChildByName("b7").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("credits"); }); } function frame11(){ b = 1; while (b < 18) { tickenize("tick", b); b++; }; getChildByName("b1").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo(lastPage); }); getChildByName("delsel").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).deleteData(); }); } function frame7(){ getChildByName("b1").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo(lastPage); }); MochiEvents.trackEvent("viewed credits"); getChildByName("b2").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/4353/epic-battle-fantasy-2"), "_blank"); }); getChildByName("b3").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/6897/epic-battle-fantasy-3"), "_blank"); }); getChildByName("b4").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/2381/mecha-dress-up"), "_blank"); }); getChildByName("b5").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/play/3776/epic-battle-fantasy"), "_blank"); }); getChildByName("b6").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://kupo707.deviantart.com/"), "_blank"); }); getChildByName("b7").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://www.facebook.com/pages/Epic-Battle-Fantasy-3/121491377896263"), "_blank"); }); getChildByName("b8").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://halcyonicfalconx.newgrounds.com/news/post/579117"), "_blank"); }); getChildByName("b9").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://www.facebook.com/pages/Halcyonic-Falcon-X/148298581863486"), "_blank"); }); getChildByName("mu1").addEventListener(MouseEvent.CLICK, function (e:Event=null){ BGM.play("menuMusic"); }); getChildByName("mu2").addEventListener(MouseEvent.CLICK, function (e:Event=null){ BGM.play("starMusic"); }); getChildByName("mu3").addEventListener(MouseEvent.CLICK, function (e:Event=null){ BGM.play("waterMusic"); }); getChildByName("mu4").addEventListener(MouseEvent.CLICK, function (e:Event=null){ BGM.play("neverMusic"); }); getChildByName("mu5").addEventListener(MouseEvent.CLICK, function (e:Event=null){ BGM.play("spaceMusic"); }); getChildByName("mu6").addEventListener(MouseEvent.CLICK, function (e:Event=null){ BGM.play("bossMusic"); }); } public function buttonize(m:String, i:Number){ var mc:MovieClip; var m = m; var i = i; mc = (getChildByName(m) as MovieClip); if (playersUnlocked[(i - 1)]){ mc.icons.gotoAndStop(i); mc.buttonMode = true; mc.addEventListener(MouseEvent.MOUSE_DOWN, function (e:Event=null){ selectPlayer((i - 1)); mc.gotoAndStop(3); saveGame(); }); mc.addEventListener(MouseEvent.ROLL_OVER, function (e:Event=null){ mc.gotoAndStop(2); }); mc.addEventListener(MouseEvent.MOUSE_UP, function (e:Event=null){ mc.gotoAndStop(2); }); mc.addEventListener(MouseEvent.ROLL_OUT, function (e:Event=null){ mc.gotoAndStop(1); }); } else { mc.icons.gotoAndStop(6); }; } function frame4(){ stop(); lastPage = "mainMenu"; BGM.play("menuMusic"); MochiEvents.trackEvent("viewed main menu"); sounds = new Sounds(); getChildByName("m1").addEventListener(MouseEvent.CLICK, function (e:Event=null){ if (newGame){ (root as Main).fadeTo("instructions"); newGame = false; } else { (root as Main).fadeTo("levelSelect"); }; }); getChildByName("m2").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("instructions"); newGame = false; }); getChildByName("m3").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("options"); }); getChildByName("m4").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("medals"); }); getChildByName("m5").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("credits"); }); getChildByName("m6").addEventListener(MouseEvent.CLICK, function (e:Event=null){ navigateToURL(new URLRequest("http://armorgames.com/"), "_blank"); }); } public function tickenize(m:String, b:int){ var mc:MovieClip; var m = m; var b = b; mc = (getChildByName((m + b)) as MovieClip); mc.buttonMode = true; mc.addEventListener(MouseEvent.MOUSE_DOWN, function (e:Event=null){ toggleOption(mc, b); mc.gotoAndStop(3); saveGame(); }); mc.addEventListener(MouseEvent.ROLL_OVER, function (e:Event=null){ mc.gotoAndStop(2); }); mc.addEventListener(MouseEvent.MOUSE_UP, function (e:Event=null){ mc.gotoAndStop(2); }); mc.addEventListener(MouseEvent.ROLL_OUT, function (e:Event=null){ mc.gotoAndStop(1); }); if (Global.vars.options[(b - 1)]){ mc.tick.nextFrame(); }; } function frame9(){ a = 0; icons = []; ths = 0; ii = 0; while (ii < levelScores.length) { if (levelScores[ii] != undefined){ ths = (ths + levelScores[ii]); }; ii++; }; totalhigh.text = ("" + ths); kongregate.stats.submit("totalScore", ths); getChildByName("b1").addEventListener(MouseEvent.CLICK, function (e:Event=null){ jj = 0; while (jj < icons.length) { removeChild(icons[jj]); jj++; }; (root as Main).fadeTo(lastPage); }); for each (medal in Medals.medals) { medalIconize(medal, a); a++; }; } public function toggleOption(mc:MovieClip, b:int){ if (mc.tick.currentFrame == 1){ mc.tick.nextFrame(); Global.vars.options[(b - 1)] = true; trace((("Option " + b) + " is on.")); } else { if (mc.tick.currentFrame == 2){ mc.tick.prevFrame(); Global.vars.options[(b - 1)] = false; trace((("Option " + b) + " is off.")); }; }; if (!Global.vars.options[11]){ stage.quality = "low"; } else { stage.quality = "high"; }; mouse = Global.vars.options[6]; } function frame6(){ maxedStats = 0; showUpgrades(); (getChildByName("p0") as MovieClip).icons.gotoAndStop((selectedPlayer + 1)); getChildByName("b1").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (root as Main).fadeTo("levelSelect"); }); if (getChildByName("u1")){ getChildByName("u1").addEventListener(MouseEvent.CLICK, upgradeHealth, false, 0, true); }; if (getChildByName("u2")){ getChildByName("u2").addEventListener(MouseEvent.CLICK, upgradeMain, false, 0, true); }; if (getChildByName("u3")){ getChildByName("u3").addEventListener(MouseEvent.CLICK, upgradeSub, false, 0, true); }; if (getChildByName("u4")){ getChildByName("u4").addEventListener(MouseEvent.CLICK, upgradeDamage, false, 0, true); }; if (getChildByName("u5")){ getChildByName("u5").addEventListener(MouseEvent.CLICK, upgradeSpeed, false, 0, true); }; if (getChildByName("u6")){ getChildByName("u6").addEventListener(MouseEvent.CLICK, upgradeMagnet, false, 0, true); }; if (getChildByName("u7")){ getChildByName("u7").addEventListener(MouseEvent.CLICK, upgradeBomb, false, 0, true); }; for each (mcc in [e1, e2, e3, e4, e5, e6, e7]) { mcc.mouseEnabled = false; }; for each (mtt in [le1, le2, le3, le4, le5, le6, le7, mm1, mm2, mm3, mm4, mm5, mm6, mm7]) { mtt.mouseEnabled = false; }; upgraded.mouseEnabled = false; } public function openLink(e:ContextMenuEvent):void{ navigateToURL(new URLRequest("http://armorgames.com/")); } function frame2(){ stop(); allowed = "armorgames."; domain = this.root.loaderInfo.url.split("/")[2]; if ((((domain.indexOf(allowed) >= 0)) || ((domain == "")))){ trace("good domain"); } else { trace("bad domain"); gotoAndStop("sitelock"); }; } public function setFrameRate(r:int){ stage.frameRate = r; } public function retryLevel(){ Medals.level = undefined; removeChild(level); gotoAndStop(14); gotoAndStop("playLevel"); stage.focus = stage; } public function unlockPlayers(){ trace("HAX: unlock players"); } public function unlockLevels(){ trace("HAX: unlock levels"); levelRanks = [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]; } public function upgradeMain(e:Event=null){ upgradePlayer(mm2, "mainChargeTree", "mainChargeLevel", 1); } public function loadGame():Boolean{ var so:SharedObject; trace("LOADING"); so = SharedObject.getLocal("EBF33save"); survivalWaves = so.data.survivalWaves; survivalKills = so.data.survivalKills; if (so.data.stats != undefined){ Medals.locks = so.data.medals; Medals.stats = so.data.stats; }; if (so.data.options != undefined){ Global.vars.options = so.data.options; } else { Global.vars.options = [true, true, true, true, true, true, true, false, false, false, false, true, false, false, false, false, false, false]; }; if (so.data.money != undefined){ trace("data loaded successfully"); money = so.data.money; trace(so.data.selectedLevel); trace(Boolean(so.data.selectedLevel)); if (so.data.selectedLevel != undefined){ selectedLevel = so.data.selectedLevel; }; if (so.data.selectedPlayer != undefined){ selectedPlayer = so.data.selectedPlayer; }; levelRanks = so.data.levelRanks; playersUnlocked = so.data.playersUnlocked; levelScores = so.data.levelScores; loadPlayer("players.Player", so); return (false); }; money = 0; trace("no data found"); return (true); } public function fadeTo(label:String){ trace(("fade to " + label)); MovieClip(fader).l = label; MovieClip(fader).gotoAndPlay("fade"); } public function mouseUp(e:Event){ keyIsDown[1] = false; if (level){ level.player.keyIsDown = keyIsDown; }; } public function debug(){ } public function lockLevels(){ trace("HAX: lock levels"); levelRanks = [0]; } public function upgradeSub(e:Event=null){ upgradePlayer(mm3, "subChargeTree", "subChargeLevel", 2); } public function onConnectError(status:String):void{ } public function savePlayer(playa:String, so:SharedObject){ var cla:Class; cla = (getDefinitionByName(playa) as Class); so.data[playa] = [cla.healthLevel, cla.mainChargeLevel, cla.subChargeLevel, cla.speedLevel, cla.magnetLevel, cla.mainDamageLevel, cla.bombLevel]; } public function upgradeBomb(e:Event=null){ upgradePlayer(mm7, "bombTree", "bombLevel", 6); } public function mouseDown(e:Event){ t2 = getTimer(); if ((t2 - t1) < 600){ mouseDouble(); t2 = 0; }; t1 = t2; keyIsDown[1] = true; if (level){ level.player.keyDownGet(-1); level.player.keyIsDown = keyIsDown; }; } public function selectPlayer(p:Number){ selectedPlayer = p; showPlayer.showPlayer.gotoAndStop(11); showPlayer.showPlayer.gotoAndStop((p + 1)); showPlayer.gotoAndPlay(2); playericon.icons.gotoAndStop((p + 1)); } public function getMoney(){ trace("HAX: get money"); money = (money + 10000); } public function saveGame(){ var so:SharedObject; trace("SAVING"); so = SharedObject.getLocal("EBF33save"); so.data.medals = Medals.locks; so.data.stats = Medals.stats; so.data.selectedLevel = selectedLevel; so.data.selectedPlayer = selectedPlayer; so.data.money = money; so.data.survivalWaves = survivalWaves; so.data.survivalKills = survivalKills; so.data.levelRanks = levelRanks; so.data.playersUnlocked = playersUnlocked; so.data.levelScores = levelScores; so.data.options = Global.vars.options; savePlayer("players.Player", so); so.flush(); } public function medalIconize(medal:Object, a:int){ var mi:MovieClip; var medal = medal; var a = a; mi = new MedalIcon(); addChild(mi); icons[a] = mi; mi.x = (((a % 8) * 58) + 62); mi.y = (100 + (58 * Math.floor((a / 8)))); if (Medals.locks[a]){ mi.icon.gotoAndStop(medal.pic); } else { mi.icon.gotoAndStop(33); }; mi.buttonMode = true; mi.addEventListener(MouseEvent.MOUSE_DOWN, function (e:Event=null){ viewMedal(medal); mi.gotoAndStop(3); }); mi.addEventListener(MouseEvent.ROLL_OVER, function (e:Event=null){ mi.gotoAndStop(2); }); mi.addEventListener(MouseEvent.MOUSE_UP, function (e:Event=null){ mi.gotoAndStop(2); }); mi.addEventListener(MouseEvent.ROLL_OUT, function (e:Event=null){ mi.gotoAndStop(1); }); } public function unlockPlayer(p:int){ if (!playersUnlocked[p]){ playersUnlocked[p] = true; playerUnlock = true; saveGame(); }; } public function openLink2(e:ContextMenuEvent):void{ navigateToURL(new URLRequest("http://armorgames.com/category/shooting")); } public function openLink4(e:ContextMenuEvent):void{ navigateToURL(new URLRequest("http://www.facebook.com/pages/Epic-Battle-Fantasy-3/121491377896263")); } public function openLink6(e:ContextMenuEvent):void{ navigateToURL(new URLRequest("http://www.facebook.com/pages/Halcyonic-Falcon-X/148298581863486")); } public function openLink7(e:ContextMenuEvent):void{ navigateToURL(new URLRequest("http://halcyonicfalconx.newgrounds.com/news/post/579117")); } public function openLink5(e:ContextMenuEvent):void{ navigateToURL(new URLRequest("http://kupo707.deviantart.com/")); } public function viewMedal(m:Object){ medalName.text = m.name; medalDesc.text = m.desc; } public function loadPlayer(playa:String, so:SharedObject){ var cla:Class; cla = (getDefinitionByName(playa) as Class); cla.healthLevel = so.data[playa][0]; cla.mainChargeLevel = so.data[playa][1]; cla.subChargeLevel = so.data[playa][2]; cla.speedLevel = so.data[playa][3]; cla.magnetLevel = so.data[playa][4]; cla.mainDamageLevel = so.data[playa][5]; cla.bombLevel = so.data[playa][6]; } public function upgradeSpeed(e:Event=null){ upgradePlayer(mm5, "speedTree", "speedLevel", 4); } public function upgradeHealth(e:Event=null){ upgradePlayer(mm1, "healthTree", "healthLevel", 0); } public function getPrice(t:TextField, a:Array, l:Number){ if (l >= (a.length - 1)){ maxedStats++; if (maxedStats == 7){ Medals.unlockMedal("Max Power", medalBox); }; t.text = "maxed"; Medals.unlockMedal("Power Up", medalBox); return (true); //unresolved jump }; t.text = a[(l + 1)][1]; return (false); } public function keyUpGet(e:KeyboardEvent){ keyIsDown[e.keyCode] = false; } public function makeSound(s:String, t:String){ if (s == prevSound){ countSound++; } else { countSound = 0; prevSound = s; }; if ((((countSound < 3)) && ((((((((t == "p")) && (Global.vars.options[2]))) || ((((t == "f")) && (Global.vars.options[3]))))) || ((((t == "i")) && (Global.vars.options[4]))))))){ (sounds as MovieClip).gotoAndStop(s); (sounds as MovieClip).gotoAndStop(1); }; } public function levelbutton(m:String, i:Number){ var mc:MovieClip; var rc:MovieClip; var m = m; var i = i; mc = (getChildByName(m) as MovieClip); rc = (getChildByName(("r" + i)) as MovieClip); if ((((((levelRanks[i] > 0)) || ((i <= 0)))) || ((i == 25)))){ rc.gotoAndStop(levelRanks[i]); rc.scaleX = (rc.scaleX * 0.7); rc.scaleY = (rc.scaleY * 0.7); rc.y = (rc.y + 5); mc.buttonMode = true; mc.addEventListener(MouseEvent.MOUSE_DOWN, function (e:Event=null){ selectLevel(i); mc.gotoAndStop(3); saveGame(); }); mc.icons.gotoAndStop((i + 1)); mc.addEventListener(MouseEvent.ROLL_OVER, function (e:Event=null){ mc.gotoAndStop(2); }); mc.addEventListener(MouseEvent.MOUSE_UP, function (e:Event=null){ mc.gotoAndStop(2); }); mc.addEventListener(MouseEvent.ROLL_OUT, function (e:Event=null){ mc.gotoAndStop(1); }); }; } public function selectLevel(p:Number){ trace(("displaying level " + p)); selectedLevel = p; showLevel.showLevel.gotoAndStop(30); showLevel.showLevel.gotoAndStop(p); if (levelScores[p] == undefined){ levelScores[p] = 0; }; showLevel.gotoAndPlay(3); levelicon.icons.gotoAndStop((p + 1)); } public function showUpgrades(){ moneyT.text = String(money); cla = (Player as Class); maxedStats = 0; if (((getPrice(mm1, cla.healthTree, cla.healthLevel)) && (getChildByName("u1")))){ removeChild(getChildByName("u1")); }; if (((getPrice(mm2, cla.mainChargeTree, cla.mainChargeLevel)) && (getChildByName("u2")))){ removeChild(getChildByName("u2")); }; if (((getPrice(mm3, cla.subChargeTree, cla.subChargeLevel)) && (getChildByName("u3")))){ removeChild(getChildByName("u3")); }; if (((getPrice(mm4, cla.mainDamageTree, cla.mainDamageLevel)) && (getChildByName("u4")))){ removeChild(getChildByName("u4")); }; if (((getPrice(mm5, cla.speedTree, cla.speedLevel)) && (getChildByName("u5")))){ removeChild(getChildByName("u5")); }; if (((getPrice(mm6, cla.magnetTree, cla.magnetLevel)) && (getChildByName("u6")))){ removeChild(getChildByName("u6")); }; if (((getPrice(mm7, cla.bombTree, cla.bombLevel)) && (getChildByName("u7")))){ removeChild(getChildByName("u7")); }; s1.text = String(cla.healthTree[cla.healthLevel][0]); s2.text = String(cla.mainChargeTree[cla.mainChargeLevel][0]); s3.text = String(cla.subChargeTree[cla.subChargeLevel][0]); s4.text = String(cla.mainDamageTree[cla.mainDamageLevel][0]); s5.text = String(cla.speedTree[cla.speedLevel][0]); s6.text = String(cla.magnetTree[cla.magnetLevel][0]); le1.text = String(("Level " + cla.healthLevel)); le2.text = String(("Level " + cla.mainChargeLevel)); le3.text = String(("Level " + cla.subChargeLevel)); le4.text = String(("Level " + cla.mainDamageLevel)); le5.text = String(("Level " + cla.speedLevel)); le6.text = String(("Level " + cla.magnetLevel)); le7.text = String(("Level " + cla.bombLevel)); e1.gotoAndStop(11); e2.gotoAndStop((selectedPlayer + 1)); e3.gotoAndStop((selectedPlayer + 6)); e4.gotoAndStop(12); e5.gotoAndStop(13); e6.gotoAndStop(14); e7.gotoAndStop((selectedPlayer + 15)); } } }//package
Section 285
//MedalIcon (MedalIcon) package { import flash.display.*; public dynamic class MedalIcon extends MovieClip { public var icon:MovieClip; public function MedalIcon(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 286
//Medals (Medals) package { import flash.display.*; import levels.*; public class Medals { public static var level:Level; public static var locks:Array = []; public static var current:int = 33; public static var medals:Array = [{name:"Bronze Badge", desc:"Get A ranks in 5 or more levels.", pic:25}, {name:"Silver Badge", desc:"Get A ranks in 10 or more levels.", pic:26}, {name:"Gold Badge", desc:"Get A ranks in 15 or more levels.", pic:27}, {name:"Platinum Badge", desc:"Get A ranks in 20 or more levels.", pic:28}, {name:"Diamond Badge", desc:"Get A ranks in all 25 levels.", pic:29}, {name:"Pacifism", desc:"Reach wave 33 in Survival without killing anything.", pic:21}, {name:"Mass Murderer", desc:"Kill 1,000 foes in a single game of Survival.", pic:22}, {name:"Perfect Run", desc:"Beat any level between 16 and 20 without taking any damage.", pic:24}, {name:"Shooter", desc:"Kill 300 enemies in total.", pic:1}, {name:"Sniper", desc:"Kill 1000 enemies in total.", pic:2}, {name:"Killer", desc:"Kill 3000 enemies in total.", pic:3}, {name:"Slayer", desc:"Kill 10000 enemies in total.", pic:4}, {name:"Power Up", desc:"Fully upgrade any stat.", pic:19}, {name:"Max Power", desc:"Fully upgrade all stats", pic:17}, {name:"Shields On", desc:"Collect 100 power ups in total.", pic:18}, {name:"Punching Bag", desc:"Get hit 100 times in total.", pic:23}, {name:"Stars Everywhere", desc:"Play 10 levels as NoLegs.", pic:5}, {name:"I Like Swords", desc:"Play 10 levels as Matt.", pic:6}, {name:"Angel Wings", desc:"Play 10 levels as Natalie.", pic:7}, {name:"Pew Pew Pew", desc:"Play 10 levels as Lance.", pic:8}, {name:"Tree Hugger", desc:"Play 10 levels as Anna.", pic:9}, {name:"500k", desc:"Get a score of 500,000 in any level except survival.", pic:31}, {name:"Millionaire", desc:"Get a score of 1,000,000 in any level except survival.", pic:30}, {name:"Gold Farmer", desc:"Finish any level except Survival with over 3,000 coins.", pic:20}, {name:"Boom", desc:"Use a bomb for the first time.", pic:15}, {name:"Ultimate Blade", desc:"Kill 25 enemies instantly.", pic:14}, {name:"Bullet Hell", desc:"Die with over 666 enemy bullets on screen.", pic:11}, {name:"Counter Attack", desc:"Reflect over 100 bullets with a single shield.", pic:12}, {name:"Bullet Master", desc:"Complete all bonus levels.", pic:10}, {name:"The End", desc:"Defeat the final boss and complete the standard set of 20 levels.", pic:32}, {name:"Stray Bullets", desc:"Get killed with no enemies on screen.", pic:13}, {name:"3 Heart Challenge", desc:"Beat the first 20 levels without upgrading your health.", pic:16}]; public static var stats:Object = {kills:0, powerUps:0, damage:0, playerLevels:[0, 0, 0, 0, 0]}; public function Medals(){ super(); } public static function unlockMedal(medal:String, box:MovieClip=null){ var a:int; if (level){ level.unlockMedal(medal); } else { a = 0; while (a < medals.length) { if (medal == medals[a].name){ if (locks[a]){ trace(("Medal already unlocked: " + a)); } else { locks[a] = true; current = medals[a].pic; box.gotoAndPlay(0); trace(("Unlocking medal: " + a)); }; }; a++; }; }; } public static function unlockMedalNo(medal:Number){ if (level){ level.unlockMedalNo(medal); }; } } }//package
Section 287
//menuMusic (menuMusic) package { import flash.media.*; public dynamic class menuMusic extends Sound { public function menuMusic(){ super(); } } }//package
Section 288
//NewgroundsAPIAsset_big_popup_background (NewgroundsAPIAsset_big_popup_background) package { import flash.display.*; public dynamic class NewgroundsAPIAsset_big_popup_background extends MovieClip { public var tl:MovieClip; public var br:MovieClip; public var tr:MovieClip; public var l:MovieClip; public var shadow:MovieClip; public var r:MovieClip; public var b:MovieClip; public var bl:MovieClip; public var t:MovieClip; public var c:MovieClip; } }//package
Section 289
//PauseScreen (PauseScreen) package { import flash.display.*; import flash.events.*; import levels.*; public class PauseScreen extends MovieClip { public var tick2:MovieClip; public var tick3:MovieClip; public var tick5:MovieClip; public var tick8:MovieClip; public var tick9:MovieClip; public var tick4:MovieClip; public var tick1:MovieClip; public var tick6:MovieClip; public var menu:SimpleButton; public var b:int; public var tick7:MovieClip; public var retry:SimpleButton; public var tick12:MovieClip; public function PauseScreen(){ super(); addFrameScript(0, frame1); getChildByName("menu").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (parent as Level).exitLevel(); }); getChildByName("retry").addEventListener(MouseEvent.CLICK, function (e:Event=null){ (parent as Level).retryLevel(); }); } function frame1(){ b = 1; while (b < 10) { tickenize("tick", b); b++; }; tickenize("tick", 12); } public function tickenize(m:String, b:int){ var mc:MovieClip; var m = m; var b = b; mc = (getChildByName((m + b)) as MovieClip); mc.buttonMode = true; mc.addEventListener(MouseEvent.MOUSE_DOWN, function (e:Event=null){ toggleOption(mc, b); mc.gotoAndStop(3); (root as Main).saveGame(); }); mc.addEventListener(MouseEvent.ROLL_OVER, function (e:Event=null){ mc.gotoAndStop(2); }); mc.addEventListener(MouseEvent.MOUSE_UP, function (e:Event=null){ mc.gotoAndStop(2); }); mc.addEventListener(MouseEvent.ROLL_OUT, function (e:Event=null){ mc.gotoAndStop(1); }); if (Global.vars.options[(b - 1)]){ mc.tick.nextFrame(); }; } public function toggleOption(mc:MovieClip, b:int){ if (mc.tick.currentFrame == 1){ mc.tick.nextFrame(); Global.vars.options[(b - 1)] = true; trace((("Option " + b) + " is on.")); } else { if (mc.tick.currentFrame == 2){ mc.tick.prevFrame(); Global.vars.options[(b - 1)] = false; trace((("Option " + b) + " is off.")); }; }; if (!Global.vars.options[11]){ stage.quality = "low"; } else { stage.quality = "high"; }; (root as Main).mouse = Global.vars.options[6]; (parent as Level).player.autoMain = Global.vars.options[7]; } } }//package
Section 290
//rainMusic (rainMusic) package { import flash.media.*; public dynamic class rainMusic extends Sound { public function rainMusic(){ super(); } } }//package
Section 291
//Shield (Shield) package { import flash.display.*; public class Shield extends MovieClip { public function Shield(){ super(); } } }//package
Section 292
//Sounds (Sounds) package { import flash.display.*; public dynamic class Sounds extends MovieClip { public function Sounds(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package
Section 293
//spaceMusic (spaceMusic) package { import flash.media.*; public dynamic class spaceMusic extends Sound { public function spaceMusic(){ super(); } } }//package
Section 294
//starMusic (starMusic) package { import flash.media.*; public dynamic class starMusic extends Sound { public function starMusic(){ super(); } } }//package
Section 295
//waterMusic (waterMusic) package { import flash.media.*; public dynamic class waterMusic extends Sound { public function waterMusic(){ super(); } } }//package

Library Items

Symbol 1 GraphicUsed by:2 208 384 1298
Symbol 2 MovieClip {fire}Uses:1
Symbol 3 FontUsed by:4 6 7 8 9 118
Symbol 4 EditableTextUses:3 5Used by:11
Symbol 5 FontUsed by:4 6 7 8 9 10 98 116 119 201 218 224 229 234 239 244 249 251 252 253 268 269 272 273 277 279 764 861 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 916 977 978 979 980 981 982 983 984 986 987 1061 1062 1063 1064 1065 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1084 1085 1090 1091 1092 1093 1142 1160 1161 1162 1163 1164 1165 1166 1170 1171 1174 1177 1178 1179 1180 1182 1183 1184 1187 1195 1218 1219 1221 1222 1224 1225 1226 1227 1229 1230 1232 1233 1250 1251 1252 1253 1254 1257 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1287 1288 1291 1292 1293 1294 1303 1304 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1347 1348 1349 1350 1354 1355 1359 1361 1362 1363 1364 1365 1367 1368 1371 1372 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1391 1392 1393
Symbol 6 EditableTextUses:3 5Used by:11
Symbol 7 EditableTextUses:3 5Used by:11
Symbol 8 EditableTextUses:3 5Used by:11
Symbol 9 EditableTextUses:3 5Used by:11
Symbol 10 TextUses:5Used by:11
Symbol 11 MovieClip {misc.ScoreLabel}Uses:4 6 7 8 9 10
Symbol 12 GraphicUsed by:13
Symbol 13 MovieClipUses:12Used by:14
Symbol 14 MovieClip {FocusDot}Uses:13
Symbol 15 GraphicUsed by:16
Symbol 16 MovieClip {BlueGlow}Uses:15
Symbol 17 GraphicUsed by:18
Symbol 18 MovieClip {Shield}Uses:17
Symbol 19 GraphicUsed by:20
Symbol 20 MovieClip {players.Player}Uses:19Used by:Timeline
Symbol 21 GraphicUsed by:35
Symbol 22 FontUsed by:24
Symbol 23 FontUsed by:24
Symbol 24 TextUses:22 23Used by:35
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClipUses:25Used by:35
Symbol 27 FontUsed by:28 34
Symbol 28 EditableTextUses:27Used by:35
Symbol 29 FontUsed by:30 31
Symbol 30 TextUses:29Used by:35
Symbol 31 EditableTextUses:29Used by:35
Symbol 32 GraphicUsed by:33
Symbol 33 MovieClipUses:32Used by:35
Symbol 34 EditableTextUses:27Used by:35
Symbol 35 MovieClip {com.newgrounds.components.MedalPopup}Uses:21 24 26 28 30 31 33 34
Symbol 36 GraphicUsed by:45 47 96
Symbol 37 GraphicUsed by:45 47 96
Symbol 38 GraphicUsed by:45 47 96
Symbol 39 GraphicUsed by:45 47 96
Symbol 40 FontUsed by:41 44 46 50 53 55 86 87 93 94
Symbol 41 TextUses:40Used by:96
Symbol 42 GraphicUsed by:43
Symbol 43 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Load_Indicator_3}Uses:42Used by:45
Symbol 44 TextUses:40Used by:45
Symbol 45 MovieClip {APIConnector_fla.NewgroundsAPIAsset_ConnectingAPI_2}Uses:36 37 38 39 43 44Used by:96
Symbol 46 TextUses:40Used by:47
Symbol 47 MovieClip {APIConnector_fla.NewgroundsAPIAsset_API_Conencted_4}Uses:36 37 38 39 46Used by:96
Symbol 48 GraphicUsed by:49
Symbol 49 MovieClipUses:48Used by:54 58
Symbol 50 TextUses:40Used by:54
Symbol 51 BitmapUsed by:52
Symbol 52 GraphicUses:51Used by:54 58
Symbol 53 TextUses:40Used by:54
Symbol 54 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5}Uses:49 50 52 53Used by:96
Symbol 55 TextUses:40Used by:58
Symbol 56 FontUsed by:57 92 95
Symbol 57 TextUses:56Used by:58
Symbol 58 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7}Uses:49 55 57 52Used by:96
Symbol 59 GraphicUsed by:60 96
Symbol 60 MovieClipUses:59Used by:96
Symbol 61 GraphicUsed by:62
Symbol 62 MovieClipUses:61Used by:81
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClipUses:63Used by:81
Symbol 65 GraphicUsed by:66
Symbol 66 MovieClipUses:65Used by:81
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:67Used by:81
Symbol 69 GraphicUsed by:70
Symbol 70 MovieClipUses:69Used by:81
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClipUses:71Used by:81
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClipUses:73Used by:81
Symbol 75 GraphicUsed by:76
Symbol 76 MovieClipUses:75Used by:81
Symbol 77 GraphicUsed by:78
Symbol 78 MovieClipUses:77Used by:81
Symbol 79 GraphicUsed by:80
Symbol 80 MovieClipUses:79Used by:81
Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background}Uses:62 64 66 68 70 72 74 76 78 80Used by:96
Symbol 82 GraphicUsed by:96
Symbol 83 GraphicUsed by:85
Symbol 84 GraphicUsed by:85
Symbol 85 ButtonUses:83 84Used by:96
Symbol 86 TextUses:40Used by:96
Symbol 87 TextUses:40Used by:96
Symbol 88 GraphicUsed by:91
Symbol 89 GraphicUsed by:91
Symbol 90 GraphicUsed by:91
Symbol 91 ButtonUses:88 89 90Used by:96
Symbol 92 TextUses:56Used by:96
Symbol 93 TextUses:40Used by:96
Symbol 94 TextUses:40Used by:96
Symbol 95 TextUses:56Used by:96
Symbol 96 MovieClip {com.newgrounds.components.APIConnector}Uses:36 37 38 39 41 45 47 54 58 60 81 82 85 86 87 91 92 59 93 94 95
Symbol 97 GraphicUsed by:Timeline
Symbol 98 TextUses:5Used by:Timeline
Symbol 99 BitmapUsed by:100 883 1017 1139
Symbol 100 GraphicUses:99Used by:101
Symbol 101 MovieClipUses:100Used by:Timeline
Symbol 102 GraphicUsed by:103 115
Symbol 103 MovieClipUses:102Used by:115 944
Symbol 104 GraphicUsed by:105 213 763 860 915 965 1088 1186 1194
Symbol 105 MovieClipUses:104Used by:115
Symbol 106 FontUsed by:107 110 1172
Symbol 107 EditableTextUses:106Used by:115
Symbol 108 GraphicUsed by:115 208 939 1044 1095
Symbol 109 SoundUsed by:115
Symbol 110 TextUses:106Used by:111 113 114
Symbol 111 MovieClipUses:110Used by:113 114
Symbol 112 GraphicUsed by:113 114
Symbol 113 ButtonUses:110 111 112Used by:115
Symbol 114 ButtonUses:110 111 112Used by:115
Symbol 115 MovieClip {main_fla.swordLoader_2}Uses:103 105 102 107 108 109 113 114Used by:Timeline
Symbol 116 TextUses:5Used by:Timeline
Symbol 117 FontUsed by:118
Symbol 118 TextUses:3 117Used by:Timeline
Symbol 119 TextUses:5Used by:Timeline
Symbol 120 GraphicUsed by:125
Symbol 121 FontUsed by:122 123
Symbol 122 TextUses:121Used by:125
Symbol 123 TextUses:121Used by:125
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClipUses:120 122 123 124Used by:Timeline
Symbol 126 GraphicUsed by:Timeline
Symbol 127 GraphicUsed by:128
Symbol 128 MovieClipUses:127Used by:129
Symbol 129 MovieClip {main_fla.fader_9}Uses:128Used by:Timeline
Symbol 130 GraphicUsed by:202
Symbol 131 GraphicUsed by:200 1216
Symbol 132 BitmapUsed by:133
Symbol 133 GraphicUses:132Used by:198
Symbol 134 BitmapUsed by:135
Symbol 135 GraphicUses:134Used by:198
Symbol 136 BitmapUsed by:137
Symbol 137 GraphicUses:136Used by:198
Symbol 138 BitmapUsed by:139
Symbol 139 GraphicUses:138Used by:198
Symbol 140 BitmapUsed by:141
Symbol 141 GraphicUses:140Used by:198
Symbol 142 BitmapUsed by:143
Symbol 143 GraphicUses:142Used by:198
Symbol 144 BitmapUsed by:145
Symbol 145 GraphicUses:144Used by:198
Symbol 146 BitmapUsed by:147
Symbol 147 GraphicUses:146Used by:198
Symbol 148 BitmapUsed by:149
Symbol 149 GraphicUses:148Used by:198
Symbol 150 BitmapUsed by:151
Symbol 151 GraphicUses:150Used by:198
Symbol 152 BitmapUsed by:153
Symbol 153 GraphicUses:152Used by:198
Symbol 154 BitmapUsed by:155
Symbol 155 GraphicUses:154Used by:198
Symbol 156 BitmapUsed by:157
Symbol 157 GraphicUses:156Used by:198
Symbol 158 BitmapUsed by:159
Symbol 159 GraphicUses:158Used by:198
Symbol 160 BitmapUsed by:161
Symbol 161 GraphicUses:160Used by:198
Symbol 162 BitmapUsed by:163
Symbol 163 GraphicUses:162Used by:198
Symbol 164 BitmapUsed by:165
Symbol 165 GraphicUses:164Used by:198
Symbol 166 BitmapUsed by:167
Symbol 167 GraphicUses:166Used by:198
Symbol 168 BitmapUsed by:169
Symbol 169 GraphicUses:168Used by:198
Symbol 170 BitmapUsed by:171
Symbol 171 GraphicUses:170Used by:198
Symbol 172 BitmapUsed by:173
Symbol 173 GraphicUses:172Used by:198
Symbol 174 BitmapUsed by:175
Symbol 175 GraphicUses:174Used by:198
Symbol 176 BitmapUsed by:177
Symbol 177 GraphicUses:176Used by:198
Symbol 178 BitmapUsed by:179
Symbol 179 GraphicUses:178Used by:198
Symbol 180 BitmapUsed by:181
Symbol 181 GraphicUses:180Used by:198
Symbol 182 BitmapUsed by:183
Symbol 183 GraphicUses:182Used by:198
Symbol 184 BitmapUsed by:185
Symbol 185 GraphicUses:184Used by:198
Symbol 186 BitmapUsed by:187
Symbol 187 GraphicUses:186Used by:198
Symbol 188 BitmapUsed by:189
Symbol 189 GraphicUses:188Used by:198
Symbol 190 BitmapUsed by:191
Symbol 191 GraphicUses:190Used by:198
Symbol 192 BitmapUsed by:193
Symbol 193 GraphicUses:192Used by:198
Symbol 194 BitmapUsed by:195
Symbol 195 GraphicUses:194Used by:198
Symbol 196 BitmapUsed by:197
Symbol 197 GraphicUses:196Used by:198
Symbol 198 MovieClipUses:133 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 183 185 187 189 191 193 195 197Used by:200
Symbol 199 GraphicUsed by:200 1216
Symbol 200 MovieClip {MedalIcon}Uses:131 198 199Used by:202 1186
Symbol 201 TextUses:5Used by:202
Symbol 202 MovieClip {main_fla.medalBox_12}Uses:130 200 201Used by:208
Symbol 203 GraphicUsed by:208 767 770 773 784 1298
Symbol 204 GraphicUsed by:208 384 1298
Symbol 205 GraphicUsed by:206
Symbol 206 MovieClipUses:205Used by:208 944 1044 1298
Symbol 207 GraphicUsed by:208 384 1298
Symbol 208 MovieClip {main_fla.medalBox2_11}Uses:202 203 204 206 207 1 108Used by:1095  Timeline
Symbol 209 GraphicUsed by:212 267
Symbol 210 GraphicUsed by:212 267 1087
Symbol 211 GraphicUsed by:212 267 1087
Symbol 212 MovieClipUses:209 210 211Used by:213
Symbol 213 ButtonUses:212 104Used by:214
Symbol 214 MovieClip {main_fla.Timeline_16}Uses:213Used by:254  Timeline
Symbol 215 BitmapUsed by:216
Symbol 216 GraphicUses:215Used by:217 220 225 230 235 240 245 250 278 1360
Symbol 217 MovieClipUses:216Used by:220 225 230 235 240 245 250 278 1360
Symbol 218 TextUses:5Used by:220
Symbol 219 SoundUsed by:220 225 230 235 240 245 250 278 1360
Symbol 220 ButtonUses:217 218 216 219Used by:254  Timeline
Symbol 221 BitmapUsed by:222
Symbol 222 GraphicUses:221Used by:223
Symbol 223 MovieClipUses:222Used by:225
Symbol 224 TextUses:5Used by:225
Symbol 225 ButtonUses:223 224 217 216 219Used by:254  Timeline
Symbol 226 BitmapUsed by:227
Symbol 227 GraphicUses:226Used by:228
Symbol 228 MovieClipUses:227Used by:230
Symbol 229 TextUses:5Used by:230
Symbol 230 ButtonUses:228 229 217 216 219Used by:254  Timeline
Symbol 231 BitmapUsed by:232
Symbol 232 GraphicUses:231Used by:233
Symbol 233 MovieClipUses:232Used by:235
Symbol 234 TextUses:5Used by:235
Symbol 235 ButtonUses:233 234 217 216 219Used by:254  Timeline
Symbol 236 BitmapUsed by:237
Symbol 237 GraphicUses:236Used by:238
Symbol 238 MovieClipUses:237Used by:240
Symbol 239 TextUses:5Used by:240
Symbol 240 ButtonUses:238 239 217 216 219Used by:254  Timeline
Symbol 241 BitmapUsed by:242
Symbol 242 GraphicUses:241Used by:243
Symbol 243 MovieClipUses:242Used by:245
Symbol 244 TextUses:5Used by:245
Symbol 245 ButtonUses:243 244 217 216 219Used by:254  Timeline
Symbol 246 BitmapUsed by:247
Symbol 247 GraphicUses:246Used by:248
Symbol 248 MovieClipUses:247Used by:250
Symbol 249 TextUses:5Used by:250
Symbol 250 ButtonUses:248 249 217 216 219Used by:254  Timeline
Symbol 251 TextUses:5Used by:254
Symbol 252 TextUses:5Used by:254
Symbol 253 TextUses:5Used by:254
Symbol 254 MovieClip {main_fla.Timeline_19}Uses:220 225 230 235 240 245 250 214 251 252 253Used by:1185  Timeline
Symbol 255 SoundUsed by:267
Symbol 256 SoundUsed by:267
Symbol 257 GraphicUsed by:267
Symbol 258 GraphicUsed by:259
Symbol 259 MovieClipUses:258Used by:267
Symbol 260 SoundUsed by:267
Symbol 261 SoundUsed by:267
Symbol 262 SoundUsed by:267
Symbol 263 GraphicUsed by:264
Symbol 264 ButtonUses:263Used by:267
Symbol 265 SoundUsed by:267
Symbol 266 SoundUsed by:267
Symbol 267 MovieClip {main_fla.AGsplash_34}Uses:209 210 211 255 256 257 259 260 261 262 264 265 266Used by:Timeline
Symbol 268 TextUses:5Used by:Timeline
Symbol 269 TextUses:5Used by:271
Symbol 270 GraphicUsed by:271
Symbol 271 ButtonUses:269 270Used by:Timeline
Symbol 272 TextUses:5Used by:Timeline
Symbol 273 TextUses:5Used by:Timeline
Symbol 274 BitmapUsed by:275
Symbol 275 GraphicUses:274Used by:276
Symbol 276 MovieClipUses:275Used by:278
Symbol 277 TextUses:5Used by:278
Symbol 278 ButtonUses:276 277 217 216 219Used by:Timeline
Symbol 279 TextUses:5Used by:763
Symbol 280 GraphicUsed by:281
Symbol 281 MovieClipUses:280Used by:282 471 1215
Symbol 282 MovieClip {foes.BigBrick}Uses:281Used by:763
Symbol 283 GraphicUsed by:284
Symbol 284 MovieClipUses:283Used by:286
Symbol 285 GraphicUsed by:286
Symbol 286 MovieClip {foes.BigBush}Uses:284 285Used by:763
Symbol 287 GraphicUsed by:288
Symbol 288 MovieClipUses:287Used by:292 1215
Symbol 289 GraphicUsed by:292
Symbol 290 GraphicUsed by:292
Symbol 291 GraphicUsed by:292
Symbol 292 MovieClip {foes.BigLog}Uses:288 289 290 291Used by:763
Symbol 293 GraphicUsed by:294
Symbol 294 MovieClipUses:293Used by:298
Symbol 295 GraphicUsed by:298
Symbol 296 GraphicUsed by:297
Symbol 297 MovieClipUses:296Used by:298 477 518
Symbol 298 MovieClip {foes.BigRock}Uses:294 295 297Used by:763
Symbol 299 GraphicUsed by:300
Symbol 300 MovieClipUses:299Used by:302 1215
Symbol 301 GraphicUsed by:302
Symbol 302 MovieClip {foes.BigShrub}Uses:300 301Used by:763
Symbol 303 GraphicUsed by:304
Symbol 304 MovieClipUses:303Used by:306 1215
Symbol 305 GraphicUsed by:306
Symbol 306 MovieClip {foes.BigSlime}Uses:304 305Used by:763
Symbol 307 GraphicUsed by:308
Symbol 308 MovieClipUses:307Used by:311 312 1215
Symbol 309 GraphicUsed by:310
Symbol 310 MovieClipUses:309Used by:311 312 1215
Symbol 311 MovieClipUses:308 310Used by:312
Symbol 312 MovieClip {foes.Bird}Uses:311 308 310Used by:763
Symbol 313 GraphicUsed by:314
Symbol 314 MovieClipUses:313Used by:316 1215  Timeline
Symbol 315 GraphicUsed by:316
Symbol 316 MovieClip {foes.BlueJelly}Uses:314 315Used by:763
Symbol 317 GraphicUsed by:318
Symbol 318 MovieClipUses:317Used by:325 605
Symbol 319 GraphicUsed by:320
Symbol 320 MovieClipUses:319Used by:325 504
Symbol 321 GraphicUsed by:322
Symbol 322 MovieClipUses:321Used by:325 464 504 1215
Symbol 323 GraphicUsed by:325 362 411 431 442 450 524 544 582 597 610 828
Symbol 324 GraphicUsed by:325 362 411 431 442 450 544 582 597 610 828
Symbol 325 MovieClip {foes.BossBot}Uses:318 320 322 323 324Used by:763
Symbol 326 GraphicUsed by:327
Symbol 327 MovieClipUses:326Used by:331
Symbol 328 GraphicUsed by:329
Symbol 329 MovieClipUses:328Used by:331
Symbol 330 GraphicUsed by:331
Symbol 331 MovieClip {foes.BossBush}Uses:327 329 330Used by:763
Symbol 332 GraphicUsed by:333
Symbol 333 MovieClipUses:332Used by:335 1215
Symbol 334 GraphicUsed by:335
Symbol 335 MovieClip {foes.Bush}Uses:333 334Used by:763
Symbol 336 GraphicUsed by:337
Symbol 337 MovieClipUses:336Used by:340 341 1215
Symbol 338 GraphicUsed by:339
Symbol 339 MovieClipUses:338Used by:340 341 1215
Symbol 340 MovieClipUses:337 339Used by:341
Symbol 341 MovieClip {foes.Butterfly}Uses:340 337 339Used by:763
Symbol 342 GraphicUsed by:343
Symbol 343 MovieClipUses:342Used by:345 1215
Symbol 344 GraphicUsed by:345
Symbol 345 MovieClip {foes.Cactus}Uses:343 344Used by:763
Symbol 346 GraphicUsed by:347
Symbol 347 MovieClipUses:346Used by:362 1215
Symbol 348 GraphicUsed by:349
Symbol 349 MovieClipUses:348Used by:360
Symbol 350 GraphicUsed by:351
Symbol 351 MovieClipUses:350Used by:360
Symbol 352 GraphicUsed by:353
Symbol 353 MovieClipUses:352Used by:360
Symbol 354 GraphicUsed by:355
Symbol 355 MovieClipUses:354Used by:360
Symbol 356 GraphicUsed by:357
Symbol 357 MovieClipUses:356Used by:360
Symbol 358 GraphicUsed by:359
Symbol 359 MovieClipUses:358Used by:360
Symbol 360 MovieClip {main_fla.kittenhead_77}Uses:349 351 353 355 357 359Used by:362 500
Symbol 361 GraphicUsed by:362
Symbol 362 MovieClip {foes.CatRam}Uses:347 360 361 323 324Used by:763
Symbol 363 GraphicUsed by:364
Symbol 364 MovieClipUses:363Used by:365 366 1215
Symbol 365 MovieClip {main_fla.coral2_85}Uses:364Used by:366
Symbol 366 MovieClip {foes.Coral}Uses:365 364Used by:763
Symbol 367 GraphicUsed by:368
Symbol 368 MovieClipUses:367Used by:371
Symbol 369 GraphicUsed by:370
Symbol 370 MovieClipUses:369Used by:371 464 470 504 562
Symbol 371 MovieClip {foes.CrossBomb}Uses:368 370Used by:763
Symbol 372 GraphicUsed by:373
Symbol 373 MovieClipUses:372Used by:376 1215
Symbol 374 GraphicUsed by:375
Symbol 375 MovieClipUses:374Used by:376 1215
Symbol 376 MovieClipUses:373 375Used by:378
Symbol 377 GraphicUsed by:378
Symbol 378 MovieClip {foes.DeadCat}Uses:376 377Used by:763
Symbol 379 GraphicUsed by:380
Symbol 380 MovieClipUses:379Used by:384 1215
Symbol 381 GraphicUsed by:384
Symbol 382 GraphicUsed by:383
Symbol 383 MovieClipUses:382Used by:384
Symbol 384 MovieClip {foes.Demon}Uses:380 381 383 1 207 204Used by:763
Symbol 385 GraphicUsed by:386
Symbol 386 MovieClipUses:385Used by:387 471 587 1215
Symbol 387 MovieClip {foes.DoubleBrick}Uses:386Used by:763
Symbol 388 GraphicUsed by:389
Symbol 389 MovieClipUses:388Used by:391 1215
Symbol 390 GraphicUsed by:391
Symbol 391 MovieClip {foes.EyeBall}Uses:389 390Used by:763
Symbol 392 GraphicUsed by:393
Symbol 393 MovieClipUses:392Used by:399 405 1215
Symbol 394 GraphicUsed by:399
Symbol 395 GraphicUsed by:399
Symbol 396 GraphicUsed by:398
Symbol 397 GraphicUsed by:398
Symbol 398 MovieClipUses:396 397Used by:399 405 718
Symbol 399 MovieClip {foes.EyeBit}Uses:393 394 395 398Used by:763
Symbol 400 GraphicUsed by:401
Symbol 401 MovieClipUses:400Used by:405 1215
Symbol 402 GraphicUsed by:405
Symbol 403 GraphicUsed by:405
Symbol 404 GraphicUsed by:405
Symbol 405 MovieClip {foes.EyeGuy}Uses:393 401 402 403 404 398Used by:763
Symbol 406 GraphicUsed by:407
Symbol 407 MovieClipUses:406Used by:410 411
Symbol 408 GraphicUsed by:409
Symbol 409 MovieClipUses:408Used by:410 411
Symbol 410 MovieClipUses:407 409Used by:411
Symbol 411 MovieClip {foes.FaceBot}Uses:410 407 409 324 323Used by:763
Symbol 412 GraphicUsed by:413
Symbol 413 MovieClipUses:412Used by:415 1215
Symbol 414 GraphicUsed by:415
Symbol 415 MovieClip {foes.FireGuy}Uses:413 414Used by:763
Symbol 416 GraphicUsed by:417
Symbol 417 MovieClipUses:416Used by:419 1215
Symbol 418 GraphicUsed by:419
Symbol 419 MovieClip {foes.FlameGuy}Uses:417 418Used by:763
Symbol 420 GraphicUsed by:421
Symbol 421 MovieClipUses:420Used by:427 1215
Symbol 422 GraphicUsed by:427
Symbol 423 GraphicUsed by:427
Symbol 424 GraphicUsed by:427
Symbol 425 GraphicUsed by:427
Symbol 426 GraphicUsed by:427
Symbol 427 MovieClip {foes.Ghost}Uses:421 422 423 424 425 426Used by:763
Symbol 428 GraphicUsed by:429
Symbol 429 MovieClipUses:428Used by:431 1215
Symbol 430 GraphicUsed by:431
Symbol 431 MovieClip {foes.GiantCrab}Uses:429 430 323 324Used by:763
Symbol 432 GraphicUsed by:433
Symbol 433 MovieClipUses:432Used by:434
Symbol 434 MovieClip {foes.Girder}Uses:433Used by:763
Symbol 435 GraphicUsed by:440
Symbol 436 GraphicUsed by:437
Symbol 437 MovieClipUses:436Used by:440 1215
Symbol 438 GraphicUsed by:439
Symbol 439 MovieClipUses:438Used by:440 1215
Symbol 440 MovieClipUses:435 437 439Used by:442
Symbol 441 GraphicUsed by:442
Symbol 442 MovieClip {foes.GodCat}Uses:440 441 323 324Used by:763
Symbol 443 GraphicUsed by:444
Symbol 444 MovieClipUses:443Used by:449 450
Symbol 445 GraphicUsed by:446
Symbol 446 MovieClipUses:445Used by:449 450
Symbol 447 GraphicUsed by:448
Symbol 448 MovieClipUses:447Used by:449 450
Symbol 449 MovieClipUses:444 446 448Used by:450
Symbol 450 MovieClip {foes.Golem}Uses:449 444 446 448 323 324Used by:763
Symbol 451 GraphicUsed by:452
Symbol 452 MovieClipUses:451Used by:454 1215
Symbol 453 GraphicUsed by:454
Symbol 454 MovieClip {foes.GreenJelly}Uses:452 453Used by:763
Symbol 455 GraphicUsed by:456
Symbol 456 MovieClipUses:455Used by:458 1215
Symbol 457 GraphicUsed by:458 555
Symbol 458 MovieClip {foes.GreenSlime}Uses:456 457Used by:763
Symbol 459 GraphicUsed by:460 1215
Symbol 460 MovieClipUses:459Used by:464 1215
Symbol 461 GraphicUsed by:464
Symbol 462 GraphicUsed by:464
Symbol 463 GraphicUsed by:464
Symbol 464 MovieClip {foes.GunBot}Uses:460 322 461 462 463 370Used by:763
Symbol 465 GraphicUsed by:466
Symbol 466 MovieClipUses:465Used by:470
Symbol 467 GraphicUsed by:468
Symbol 468 MovieClipUses:467Used by:470
Symbol 469 SoundUsed by:470 1138
Symbol 470 MovieClip {foes.HomingBomb}Uses:466 468 370 469Used by:763
Symbol 471 MovieClip {foes.HugeBrick}Uses:386 281Used by:763
Symbol 472 GraphicUsed by:473
Symbol 473 MovieClipUses:472Used by:477
Symbol 474 GraphicUsed by:477
Symbol 475 GraphicUsed by:477
Symbol 476 GraphicUsed by:477
Symbol 477 MovieClip {foes.HugeRock}Uses:473 474 475 476 297Used by:763
Symbol 478 GraphicUsed by:479
Symbol 479 MovieClipUses:478Used by:480
Symbol 480 MovieClipUses:479Used by:485
Symbol 481 GraphicUsed by:482
Symbol 482 MovieClipUses:481Used by:485 1215
Symbol 483 GraphicUsed by:484
Symbol 484 MovieClipUses:483Used by:485 1215
Symbol 485 MovieClip {foes.Hydra}Uses:480 482 484Used by:763
Symbol 486 GraphicUsed by:487
Symbol 487 MovieClipUses:486Used by:498
Symbol 488 GraphicUsed by:489
Symbol 489 MovieClipUses:488Used by:498
Symbol 490 GraphicUsed by:491
Symbol 491 MovieClipUses:490Used by:498
Symbol 492 GraphicUsed by:493
Symbol 493 MovieClipUses:492Used by:498
Symbol 494 GraphicUsed by:495
Symbol 495 MovieClipUses:494Used by:498
Symbol 496 GraphicUsed by:497
Symbol 497 MovieClipUses:496Used by:498
Symbol 498 MovieClip {main_fla.kittenbody_147}Uses:487 489 491 493 495 497Used by:500
Symbol 499 GraphicUsed by:500
Symbol 500 MovieClip {foes.Kitten}Uses:498 360 499Used by:763
Symbol 501 GraphicUsed by:504
Symbol 502 GraphicUsed by:504
Symbol 503 GraphicUsed by:504
Symbol 504 MovieClip {foes.LazorBot}Uses:320 322 501 502 503 370Used by:763
Symbol 505 GraphicUsed by:506
Symbol 506 MovieClipUses:505Used by:508
Symbol 507 GraphicUsed by:508
Symbol 508 MovieClip {foes.LeftLog}Uses:506 507Used by:763
Symbol 509 GraphicUsed by:510
Symbol 510 MovieClipUses:509Used by:512 1215
Symbol 511 GraphicUsed by:512
Symbol 512 MovieClip {foes.Mage}Uses:510 511Used by:763
Symbol 513 GraphicUsed by:514
Symbol 514 MovieClipUses:513Used by:518
Symbol 515 GraphicUsed by:518
Symbol 516 GraphicUsed by:518
Symbol 517 GraphicUsed by:518
Symbol 518 MovieClip {foes.MediumRock}Uses:514 515 516 517 297Used by:763
Symbol 519 GraphicUsed by:520
Symbol 520 MovieClipUses:519Used by:524
Symbol 521 GraphicUsed by:524
Symbol 522 GraphicUsed by:524
Symbol 523 GraphicUsed by:524
Symbol 524 MovieClip {foes.Missile}Uses:520 521 522 523 323Used by:763
Symbol 525 GraphicUsed by:526
Symbol 526 MovieClipUses:525Used by:534 1215
Symbol 527 GraphicUsed by:534
Symbol 528 GraphicUsed by:534
Symbol 529 GraphicUsed by:534
Symbol 530 GraphicUsed by:534
Symbol 531 GraphicUsed by:534
Symbol 532 BitmapUsed by:533
Symbol 533 GraphicUses:532Used by:534 939
Symbol 534 MovieClip {foes.Monolith}Uses:526 527 528 529 530 531 533Used by:763
Symbol 535 GraphicUsed by:536
Symbol 536 MovieClipUses:535Used by:538 1215
Symbol 537 GraphicUsed by:538
Symbol 538 MovieClip {foes.Moor}Uses:536 537Used by:763
Symbol 539 GraphicUsed by:540
Symbol 540 MovieClipUses:539Used by:544 1215
Symbol 541 GraphicUsed by:544
Symbol 542 GraphicUsed by:544
Symbol 543 GraphicUsed by:544
Symbol 544 MovieClip {foes.Obelisk}Uses:540 541 542 543 323 324Used by:763
Symbol 545 GraphicUsed by:546
Symbol 546 MovieClipUses:545Used by:548 1215
Symbol 547 GraphicUsed by:548
Symbol 548 MovieClip {foes.PinkJelly}Uses:546 547Used by:763
Symbol 549 GraphicUsed by:550
Symbol 550 MovieClipUses:549Used by:552 1215
Symbol 551 GraphicUsed by:552
Symbol 552 MovieClip {foes.PurpleJelly}Uses:550 551Used by:763
Symbol 553 GraphicUsed by:554
Symbol 554 MovieClipUses:553Used by:555 1215
Symbol 555 MovieClip {foes.RedSlime}Uses:554 457Used by:763
Symbol 556 GraphicUsed by:557
Symbol 557 MovieClipUses:556Used by:559
Symbol 558 GraphicUsed by:559
Symbol 559 MovieClip {foes.RightLog}Uses:557 558Used by:763
Symbol 560 GraphicUsed by:561
Symbol 561 MovieClipUses:560Used by:562 1215
Symbol 562 MovieClip {foes.SeaBomb}Uses:561 370Used by:763
Symbol 563 GraphicUsed by:564
Symbol 564 MovieClipUses:563Used by:565 1215
Symbol 565 MovieClip {foes.Shark}Uses:564Used by:763
Symbol 566 GraphicUsed by:567
Symbol 567 MovieClipUses:566Used by:568 1215
Symbol 568 MovieClipUses:567Used by:570
Symbol 569 GraphicUsed by:570
Symbol 570 MovieClip {foes.Shroom}Uses:568 569Used by:763
Symbol 571 GraphicUsed by:572
Symbol 572 MovieClipUses:571Used by:575
Symbol 573 GraphicUsed by:574
Symbol 574 MovieClipUses:573Used by:575
Symbol 575 MovieClip {foes.Shrub}Uses:572 574Used by:763
Symbol 576 GraphicUsed by:580
Symbol 577 GraphicUsed by:578
Symbol 578 MovieClipUses:577Used by:580 1353
Symbol 579 GraphicUsed by:580
Symbol 580 MovieClipUses:576 578 579Used by:582 1215
Symbol 581 GraphicUsed by:582
Symbol 582 MovieClip {foes.SlimeKing}Uses:580 581 323 324Used by:763
Symbol 583 GraphicUsed by:584
Symbol 584 MovieClipUses:583Used by:586 1215
Symbol 585 GraphicUsed by:586
Symbol 586 MovieClip {foes.Slinger}Uses:584 585Used by:763
Symbol 587 MovieClip {foes.SmallBrick}Uses:386Used by:763
Symbol 588 GraphicUsed by:589
Symbol 589 MovieClipUses:588Used by:591
Symbol 590 GraphicUsed by:591
Symbol 591 MovieClip {foes.SmallRock}Uses:589 590Used by:763
Symbol 592 GraphicUsed by:593
Symbol 593 MovieClipUses:592Used by:597 1215
Symbol 594 GraphicUsed by:595
Symbol 595 MovieClipUses:594Used by:597
Symbol 596 GraphicUsed by:597
Symbol 597 MovieClip {foes.Sphinx}Uses:593 595 596 323 324Used by:763
Symbol 598 GraphicUsed by:599
Symbol 599 MovieClipUses:598Used by:601 1215
Symbol 600 GraphicUsed by:601
Symbol 601 MovieClip {foes.SpikeFish}Uses:599 600Used by:763
Symbol 602 GraphicUsed by:603
Symbol 603 MovieClipUses:602Used by:604
Symbol 604 MovieClip {foes.Spikes}Uses:603Used by:763
Symbol 605 MovieClip {foes.SteelBox}Uses:318Used by:763
Symbol 606 GraphicUsed by:607
Symbol 607 MovieClipUses:606Used by:610 1215
Symbol 608 GraphicUsed by:610
Symbol 609 GraphicUsed by:610
Symbol 610 MovieClip {foes.Tank}Uses:607 608 609 323 324Used by:763
Symbol 611 GraphicUsed by:612
Symbol 612 MovieClipUses:611Used by:614
Symbol 613 GraphicUsed by:614
Symbol 614 MovieClip {foes.TinyRock}Uses:612 613Used by:763
Symbol 615 GraphicUsed by:616
Symbol 616 MovieClipUses:615Used by:618 1215
Symbol 617 GraphicUsed by:618
Symbol 618 MovieClip {foes.Tree}Uses:616 617Used by:763
Symbol 619 GraphicUsed by:620
Symbol 620 MovieClipUses:619Used by:623 624
Symbol 621 GraphicUsed by:622
Symbol 622 MovieClipUses:621Used by:623 624
Symbol 623 MovieClipUses:620 622Used by:624
Symbol 624 MovieClip {foes.Wasp}Uses:623 620 622Used by:763
Symbol 625 GraphicUsed by:626
Symbol 626 MovieClipUses:625Used by:628 1215
Symbol 627 GraphicUsed by:628
Symbol 628 MovieClip {foes.YellowJelly}Uses:626 627Used by:763
Symbol 629 GraphicUsed by:633
Symbol 630 GraphicUsed by:631
Symbol 631 MovieClipUses:630Used by:633 636 639 642 644 646 649 652 655 658 661 664 667 670 673 676 680 683 687 690 693 694 697 700 703 706 709 712 714 717 718 721 724 727 730 733 736 738 741 744 747 750 753 756 759 762 875 926 992
Symbol 632 GraphicUsed by:633
Symbol 633 MovieClip {bullets.BigWhiteBullet}Uses:629 631 632Used by:763
Symbol 634 GraphicUsed by:636
Symbol 635 GraphicUsed by:636
Symbol 636 MovieClip {bullets.BlueBullet}Uses:634 631 635Used by:763
Symbol 637 GraphicUsed by:639
Symbol 638 GraphicUsed by:639
Symbol 639 MovieClip {bullets.BubbleBall}Uses:637 638 631Used by:763
Symbol 640 GraphicUsed by:642
Symbol 641 GraphicUsed by:642 644
Symbol 642 MovieClip {bullets.BubbleBall2}Uses:640 631 641Used by:763
Symbol 643 GraphicUsed by:644
Symbol 644 MovieClip {bullets.BubbleBall3}Uses:643 631 641Used by:763
Symbol 645 GraphicUsed by:646
Symbol 646 MovieClip {bullets.BubbleBullet}Uses:645 631Used by:763
Symbol 647 GraphicUsed by:649
Symbol 648 GraphicUsed by:649
Symbol 649 MovieClip {bullets.BubbleBullet2}Uses:647 648 631Used by:763
Symbol 650 GraphicUsed by:652 738
Symbol 651 GraphicUsed by:652
Symbol 652 MovieClip {bullets.Bullet}Uses:650 631 651Used by:763
Symbol 653 GraphicUsed by:655
Symbol 654 GraphicUsed by:655
Symbol 655 MovieClip {bullets.DemonBullet}Uses:653 631 654Used by:763
Symbol 656 GraphicUsed by:658
Symbol 657 GraphicUsed by:658
Symbol 658 MovieClip {bullets.DevilBall}Uses:656 631 657Used by:763
Symbol 659 GraphicUsed by:661
Symbol 660 GraphicUsed by:661
Symbol 661 MovieClip {bullets.DevilBullet}Uses:659 631 660Used by:763
Symbol 662 GraphicUsed by:664
Symbol 663 GraphicUsed by:664
Symbol 664 MovieClip {bullets.DevilBullet2}Uses:662 631 663Used by:763
Symbol 665 GraphicUsed by:667
Symbol 666 GraphicUsed by:667
Symbol 667 MovieClip {bullets.DevilBullet3}Uses:665 631 666Used by:763
Symbol 668 GraphicUsed by:670
Symbol 669 GraphicUsed by:670
Symbol 670 MovieClip {bullets.DualBall}Uses:668 631 669Used by:763
Symbol 671 GraphicUsed by:673
Symbol 672 GraphicUsed by:673
Symbol 673 MovieClip {bullets.FlameBullet}Uses:671 631 672Used by:763
Symbol 674 GraphicUsed by:676
Symbol 675 GraphicUsed by:676
Symbol 676 MovieClip {bullets.GodBall}Uses:674 631 675Used by:763
Symbol 677 MovieClip {bullets.GodBall2}Used by:763
Symbol 678 GraphicUsed by:680
Symbol 679 GraphicUsed by:680
Symbol 680 MovieClip {bullets.GodBullet}Uses:678 631 679Used by:763
Symbol 681 GraphicUsed by:683
Symbol 682 GraphicUsed by:683
Symbol 683 MovieClip {bullets.GodBullet2}Uses:681 631 682Used by:763
Symbol 684 GraphicUsed by:687
Symbol 685 GraphicUsed by:687
Symbol 686 GraphicUsed by:687
Symbol 687 MovieClip {bullets.GodDiamond}Uses:684 631 685 686Used by:763
Symbol 688 GraphicUsed by:690
Symbol 689 GraphicUsed by:690
Symbol 690 MovieClip {bullets.GreenBall}Uses:688 631 689Used by:763
Symbol 691 GraphicUsed by:693 694
Symbol 692 GraphicUsed by:693 694
Symbol 693 MovieClip {bullets.GreenBullet}Uses:691 631 692Used by:763
Symbol 694 MovieClip {bullets.GreenSlimeBullet}Uses:691 631 692Used by:763
Symbol 695 GraphicUsed by:697 714
Symbol 696 GraphicUsed by:697
Symbol 697 MovieClip {bullets.HomingBullet}Uses:695 631 696Used by:763
Symbol 698 GraphicUsed by:700
Symbol 699 GraphicUsed by:700
Symbol 700 MovieClip {bullets.HugeDevilBullet}Uses:698 631 699Used by:763
Symbol 701 GraphicUsed by:703
Symbol 702 GraphicUsed by:703
Symbol 703 MovieClip {bullets.HugeOrangeBullet}Uses:701 631 702Used by:763
Symbol 704 GraphicUsed by:706
Symbol 705 GraphicUsed by:706
Symbol 706 MovieClip {bullets.HugeRedBullet}Uses:704 631 705Used by:763
Symbol 707 GraphicUsed by:709
Symbol 708 GraphicUsed by:709
Symbol 709 MovieClip {bullets.LeafBullet}Uses:707 631 708Used by:763
Symbol 710 GraphicUsed by:711
Symbol 711 MovieClipUses:710Used by:712
Symbol 712 MovieClip {bullets.OrangeBomb}Uses:711 631Used by:763
Symbol 713 GraphicUsed by:714
Symbol 714 MovieClip {bullets.OrangeBullet}Uses:695 631 713Used by:763
Symbol 715 GraphicUsed by:717
Symbol 716 GraphicUsed by:717
Symbol 717 MovieClip {bullets.OrangeLazor}Uses:715 716 631Used by:763
Symbol 718 MovieClip {bullets.OrbitBall}Uses:398 631Used by:763
Symbol 719 GraphicUsed by:721
Symbol 720 GraphicUsed by:721
Symbol 721 MovieClip {bullets.PinkBullet}Uses:719 631 720Used by:763
Symbol 722 GraphicUsed by:723
Symbol 723 MovieClipUses:722Used by:724
Symbol 724 MovieClip {bullets.PurpleBall}Uses:723 631Used by:763
Symbol 725 GraphicUsed by:727
Symbol 726 GraphicUsed by:727
Symbol 727 MovieClip {bullets.PurpleBullet}Uses:725 631 726Used by:763
Symbol 728 GraphicUsed by:730
Symbol 729 GraphicUsed by:730
Symbol 730 MovieClip {bullets.RedBullet}Uses:728 631 729Used by:763
Symbol 731 GraphicUsed by:733
Symbol 732 GraphicUsed by:733
Symbol 733 MovieClip {bullets.RedDiamond}Uses:731 631 732Used by:763
Symbol 734 GraphicUsed by:736
Symbol 735 GraphicUsed by:736
Symbol 736 MovieClip {bullets.RedLazor}Uses:734 631 735Used by:763
Symbol 737 GraphicUsed by:738
Symbol 738 MovieClip {bullets.SmallRedBullet}Uses:650 631 737Used by:763
Symbol 739 GraphicUsed by:741
Symbol 740 GraphicUsed by:741
Symbol 741 MovieClip {bullets.SpikeBullet}Uses:739 631 740Used by:763
Symbol 742 GraphicUsed by:743
Symbol 743 MovieClipUses:742Used by:744
Symbol 744 MovieClip {bullets.SporeBullet}Uses:743 631Used by:763
Symbol 745 GraphicUsed by:747
Symbol 746 GraphicUsed by:747
Symbol 747 MovieClip {bullets.WaveBullet}Uses:745 746 631Used by:763
Symbol 748 GraphicUsed by:750
Symbol 749 GraphicUsed by:750
Symbol 750 MovieClip {bullets.WaveBullet2}Uses:748 631 749Used by:763
Symbol 751 GraphicUsed by:753
Symbol 752 GraphicUsed by:753
Symbol 753 MovieClip {bullets.WhiteBullet}Uses:751 631 752Used by:763
Symbol 754 GraphicUsed by:755
Symbol 755 MovieClipUses:754Used by:756
Symbol 756 MovieClip {bullets.YellowBall}Uses:755 631Used by:763
Symbol 757 GraphicUsed by:759
Symbol 758 GraphicUsed by:759
Symbol 759 MovieClip {bullets.YellowBullet}Uses:757 758 631Used by:763
Symbol 760 GraphicUsed by:762
Symbol 761 GraphicUsed by:762
Symbol 762 MovieClip {bullets.YellowBullet2}Uses:760 631 761Used by:763
Symbol 763 MovieClip {main_fla.Timeline_40}Uses:104 279 282 286 292 298 302 306 312 316 325 331 335 341 345 362 366 371 378 384 387 391 399 405 411 415 419 427 431 434 442 450 454 458 464 470 471 477 485 500 504 508 512 518 524 534 538 544 548 552 555 559 562 565 570 575 582 586 587 591 597 601 604 605 610 614 618 624 628 633 636 639 642 644 646 649 652 655 658 661 664 667 670 673 676 677 680 683 687 690 693 694 697 700 703 706 709 712 714 717 718 721 724 727 730 733 736 738 741 744 747 750 753 756 759 762Used by:Timeline
Symbol 764 TextUses:5Used by:860
Symbol 765 GraphicUsed by:766
Symbol 766 MovieClipUses:765Used by:767 770 1369
Symbol 767 MovieClip {drops.Barrier}Uses:766 203Used by:860
Symbol 768 GraphicUsed by:769
Symbol 769 MovieClipUses:768Used by:770 1369
Symbol 770 MovieClip {drops.Buff}Uses:769 203 766Used by:860
Symbol 771 GraphicUsed by:772
Symbol 772 MovieClipUses:771Used by:773 1369
Symbol 773 MovieClip {drops.Heart}Uses:772 203Used by:860
Symbol 774 GraphicUsed by:775  Timeline
Symbol 775 MovieClipUses:774Used by:784 1095 1369  Timeline
Symbol 776 GraphicUsed by:784
Symbol 777 GraphicUsed by:784
Symbol 778 GraphicUsed by:784
Symbol 779 GraphicUsed by:784
Symbol 780 GraphicUsed by:784
Symbol 781 FontUsed by:782
Symbol 782 TextUses:781Used by:783
Symbol 783 MovieClipUses:782Used by:784
Symbol 784 MovieClip {drops.Money}Uses:775 776 777 778 779 780 203 783Used by:860
Symbol 785 GraphicUsed by:786
Symbol 786 MovieClip {shots.ArrowShot}Uses:785Used by:860
Symbol 787 GraphicUsed by:788
Symbol 788 MovieClipUses:787Used by:789 807 840 1028 1255
Symbol 789 MovieClipUses:788Used by:860
Symbol 790 GraphicUsed by:791
Symbol 791 MovieClip {shots.BulletBomb}Uses:790Used by:860
Symbol 792 GraphicUsed by:793
Symbol 793 MovieClip {shots.BulletShot}Uses:792Used by:860
Symbol 794 GraphicUsed by:795
Symbol 795 MovieClip {shots.FlameShot}Uses:794Used by:860
Symbol 796 GraphicUsed by:798
Symbol 797 GraphicUsed by:798
Symbol 798 MovieClipUses:796 797Used by:799
Symbol 799 MovieClip {shots.HolyBallShot}Uses:798Used by:860
Symbol 800 GraphicUsed by:801
Symbol 801 MovieClip {shots.HolyShot}Uses:800Used by:860
Symbol 802 GraphicUsed by:803
Symbol 803 MovieClipUses:802Used by:804
Symbol 804 MovieClip {shots.HugeSwordShot}Uses:803Used by:860
Symbol 805 GraphicUsed by:806
Symbol 806 MovieClip {shots.LeafShot}Uses:805Used by:860
Symbol 807 MovieClip {shots.Shot}Uses:788Used by:860
Symbol 808 GraphicUsed by:809
Symbol 809 MovieClipUses:808Used by:812 968 1044
Symbol 810 GraphicUsed by:811
Symbol 811 MovieClipUses:810Used by:812 968 1044
Symbol 812 MovieClip {shots.StarBomb}Uses:809 811Used by:860
Symbol 813 GraphicUsed by:814
Symbol 814 MovieClip {shots.SwordShot}Uses:813Used by:860
Symbol 815 GraphicUsed by:816
Symbol 816 MovieClipUses:815Used by:817 1044 1255
Symbol 817 MovieClip {shots.TreeShot}Uses:816Used by:860
Symbol 818 GraphicUsed by:819
Symbol 819 MovieClipUses:818Used by:825
Symbol 820 GraphicUsed by:821
Symbol 821 MovieClipUses:820Used by:825
Symbol 822 GraphicUsed by:825
Symbol 823 GraphicUsed by:825
Symbol 824 GraphicUsed by:825
Symbol 825 MovieClip {players.Anna}Uses:819 821 822 823 824Used by:860
Symbol 826 GraphicUsed by:827
Symbol 827 MovieClipUses:826Used by:828
Symbol 828 MovieClip {players.Lance}Uses:827 323 324Used by:860
Symbol 829 GraphicUsed by:830
Symbol 830 MovieClipUses:829Used by:833  Timeline
Symbol 831 GraphicUsed by:832
Symbol 832 MovieClipUses:831Used by:833  Timeline
Symbol 833 MovieClip {players.Matt}Uses:830 832Used by:860
Symbol 834 GraphicUsed by:835
Symbol 835 MovieClipUses:834Used by:838 1255  Timeline
Symbol 836 GraphicUsed by:837
Symbol 837 MovieClipUses:836Used by:838 1255  Timeline
Symbol 838 MovieClip {players.Natalie}Uses:835 837Used by:860
Symbol 839 GraphicUsed by:844
Symbol 840 MovieClipUses:788Used by:844
Symbol 841 GraphicUsed by:844
Symbol 842 GraphicUsed by:844
Symbol 843 GraphicUsed by:844
Symbol 844 MovieClip {players.NoLegs}Uses:839 840 841 842 843Used by:860
Symbol 845 GraphicUsed by:846
Symbol 846 MovieClipUses:845Used by:847
Symbol 847 MovieClip {particles.HolyParticle}Uses:846Used by:860
Symbol 848 GraphicUsed by:849
Symbol 849 MovieClipUses:848Used by:850
Symbol 850 MovieClip {particles.LeafParticle}Uses:849Used by:860
Symbol 851 GraphicUsed by:852
Symbol 852 MovieClipUses:851Used by:853
Symbol 853 MovieClip {particles.OrangeParticle}Uses:852Used by:860
Symbol 854 GraphicUsed by:856
Symbol 855 GraphicUsed by:856
Symbol 856 MovieClip {particles.SmashParticle}Uses:854 855Used by:860
Symbol 857 GraphicUsed by:858
Symbol 858 MovieClipUses:857Used by:859
Symbol 859 MovieClip {particles.YellowParticle}Uses:858Used by:860
Symbol 860 MovieClip {main_fla.Timeline_267}Uses:104 764 767 770 773 784 786 789 791 793 795 799 801 804 806 807 812 814 817 825 828 833 838 844 847 850 853 856 859Used by:Timeline
Symbol 861 TextUses:5Used by:1186
Symbol 862 GraphicUsed by:863
Symbol 863 MovieClipUses:862Used by:866 867 1044
Symbol 864 GraphicUsed by:865
Symbol 865 MovieClipUses:864Used by:866
Symbol 866 MovieClipUses:865 863Used by:867
Symbol 867 MovieClip {players.AnnaBomb}Uses:863 866Used by:1186
Symbol 868 GraphicUsed by:873
Symbol 869 GraphicUsed by:873
Symbol 870 GraphicUsed by:873
Symbol 871 GraphicUsed by:872
Symbol 872 MovieClipUses:871Used by:873
Symbol 873 MovieClip {bullets.BeamLazor}Uses:868 869 870 872Used by:1186
Symbol 874 GraphicUsed by:875
Symbol 875 MovieClip {bullets.BlueWave}Uses:874 631Used by:1186
Symbol 876 GraphicUsed by:880
Symbol 877 GraphicUsed by:880
Symbol 878 GraphicUsed by:879
Symbol 879 MovieClipUses:878Used by:880
Symbol 880 MovieClip {foes.FoeBar}Uses:876 877 879Used by:1095 1186
Symbol 881 GraphicUsed by:882 1345
Symbol 882 MovieClipUses:881Used by:923 1298 1302 1345
Symbol 883 GraphicUses:99Used by:910
Symbol 884 TextUses:5Used by:910
Symbol 885 TextUses:5Used by:910
Symbol 886 TextUses:5Used by:910
Symbol 887 TextUses:5Used by:910
Symbol 888 TextUses:5Used by:910
Symbol 889 TextUses:5Used by:910
Symbol 890 TextUses:5Used by:910
Symbol 891 TextUses:5Used by:910
Symbol 892 TextUses:5Used by:910
Symbol 893 TextUses:5Used by:910
Symbol 894 TextUses:5Used by:910
Symbol 895 TextUses:5Used by:910
Symbol 896 TextUses:5Used by:910
Symbol 897 TextUses:5Used by:910
Symbol 898 TextUses:5Used by:910
Symbol 899 TextUses:5Used by:910
Symbol 900 TextUses:5Used by:910
Symbol 901 TextUses:5Used by:910
Symbol 902 TextUses:5Used by:910
Symbol 903 TextUses:5Used by:910
Symbol 904 TextUses:5Used by:910
Symbol 905 TextUses:5Used by:910
Symbol 906 TextUses:5Used by:910
Symbol 907 TextUses:5Used by:910
Symbol 908 TextUses:5Used by:910
Symbol 909 TextUses:5Used by:910
Symbol 910 MovieClip {main_fla.Timeline_330}Uses:883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909Used by:923
Symbol 911 GraphicUsed by:914 915
Symbol 912 GraphicUsed by:913
Symbol 913 MovieClipUses:912Used by:914 915
Symbol 914 MovieClip {main_fla.menuselecy_332}Uses:911 913Used by:915
Symbol 915 ButtonUses:914 911 913 104Used by:923 989 1185  Timeline
Symbol 916 TextUses:5Used by:923
Symbol 917 FontUsed by:918
Symbol 918 TextUses:917Used by:919
Symbol 919 MovieClipUses:918Used by:923
Symbol 920 FontUsed by:921 1167 1168 1181 1295 1299 1343
Symbol 921 TextUses:920Used by:922
Symbol 922 MovieClipUses:921Used by:923
Symbol 923 MovieClip {GetReady}Uses:882 910 915 916 919 922Used by:1186
Symbol 924 GraphicUsed by:926
Symbol 925 GraphicUsed by:926
Symbol 926 MovieClip {bullets.GlowBall}Uses:924 631 925Used by:1186
Symbol 927 BitmapUsed by:928 929
Symbol 928 GraphicUses:927Used by:939
Symbol 929 GraphicUses:927Used by:939
Symbol 930 BitmapUsed by:931
Symbol 931 GraphicUses:930Used by:932
Symbol 932 MovieClipUses:931Used by:939
Symbol 933 BitmapUsed by:934
Symbol 934 GraphicUses:933Used by:935
Symbol 935 MovieClipUses:934Used by:939
Symbol 936 BitmapUsed by:937
Symbol 937 GraphicUses:936Used by:938
Symbol 938 MovieClipUses:937Used by:939
Symbol 939 MovieClip {players.LanceBomb}Uses:108 928 929 932 533 935 938Used by:1186
Symbol 940 GraphicUsed by:944
Symbol 941 GraphicUsed by:944 1044
Symbol 942 GraphicUsed by:944 955 957
Symbol 943 GraphicUsed by:944
Symbol 944 MovieClip {players.MattBomb}Uses:940 103 941 206 942 943Used by:1186
Symbol 945 GraphicUsed by:946
Symbol 946 MovieClipUses:945Used by:967
Symbol 947 GraphicUsed by:948
Symbol 948 MovieClipUses:947Used by:967 1044
Symbol 949 GraphicUsed by:967
Symbol 950 GraphicUsed by:967
Symbol 951 GraphicUsed by:967
Symbol 952 GraphicUsed by:967
Symbol 953 GraphicUsed by:967
Symbol 954 GraphicUsed by:955
Symbol 955 MovieClipUses:954 942Used by:967
Symbol 956 GraphicUsed by:957
Symbol 957 MovieClipUses:956 942Used by:967
Symbol 958 GraphicUsed by:959
Symbol 959 MovieClipUses:958Used by:967
Symbol 960 GraphicUsed by:967
Symbol 961 GraphicUsed by:967
Symbol 962 GraphicUsed by:967
Symbol 963 GraphicUsed by:967
Symbol 964 GraphicUsed by:967
Symbol 965 MovieClipUses:104Used by:967
Symbol 966 GraphicUsed by:967
Symbol 967 MovieClip {players.NatalieBomb}Uses:946 948 949 950 951 952 953 955 957 959 960 961 962 963 964 965 966Used by:1186
Symbol 968 MovieClip {players.NoLegsBomb}Uses:809 811Used by:1186
Symbol 969 GraphicUsed by:989
Symbol 970 GraphicUsed by:976
Symbol 971 GraphicUsed by:975
Symbol 972 GraphicUsed by:973
Symbol 973 MovieClipUses:972Used by:974
Symbol 974 MovieClip {main_fla.tick1_353}Uses:973Used by:975
Symbol 975 MovieClip {main_fla.ticky_352}Uses:971 974Used by:976
Symbol 976 MovieClip {main_fla.tickBox_351}Uses:970 975Used by:989  Timeline
Symbol 977 TextUses:5Used by:989  Timeline
Symbol 978 TextUses:5Used by:989  Timeline
Symbol 979 TextUses:5Used by:989  Timeline
Symbol 980 TextUses:5Used by:989  Timeline
Symbol 981 TextUses:5Used by:989
Symbol 982 TextUses:5Used by:989  Timeline
Symbol 983 TextUses:5Used by:989 1185
Symbol 984 TextUses:5Used by:989
Symbol 985 GraphicUsed by:988
Symbol 986 TextUses:5Used by:988
Symbol 987 TextUses:5Used by:988
Symbol 988 MovieClipUses:985 986 987Used by:989  Timeline
Symbol 989 MovieClip {PauseScreen}Uses:969 976 977 978 979 980 981 982 915 983 984 988Used by:1186
Symbol 990 GraphicUsed by:992
Symbol 991 GraphicUsed by:992
Symbol 992 MovieClip {bullets.ThunderBall}Uses:990 631 991Used by:1186
Symbol 993 BitmapUsed by:994
Symbol 994 GraphicUses:993Used by:1009
Symbol 995 BitmapUsed by:996
Symbol 996 GraphicUses:995Used by:1009
Symbol 997 BitmapUsed by:998
Symbol 998 GraphicUses:997Used by:1009
Symbol 999 BitmapUsed by:1000
Symbol 1000 GraphicUses:999Used by:1009
Symbol 1001 BitmapUsed by:1002
Symbol 1002 GraphicUses:1001Used by:1009
Symbol 1003 BitmapUsed by:1004
Symbol 1004 GraphicUses:1003Used by:1009
Symbol 1005 BitmapUsed by:1006
Symbol 1006 GraphicUses:1005Used by:1009
Symbol 1007 BitmapUsed by:1008
Symbol 1008 GraphicUses:1007Used by:1009
Symbol 1009 MovieClip {main_fla.backgroundstrips_360}Uses:994 996 998 1000 1002 1004 1006 1008Used by:1010
Symbol 1010 MovieClip {main_fla.backgroundtiles_359}Uses:1009Used by:1011
Symbol 1011 MovieClip {main_fla.backgroundscrolling_358}Uses:1010Used by:1096
Symbol 1012 GraphicUsed by:1095
Symbol 1013 GraphicUsed by:1014
Symbol 1014 MovieClipUses:1013Used by:1095
Symbol 1015 GraphicUsed by:1016
Symbol 1016 MovieClipUses:1015Used by:1095
Symbol 1017 GraphicUses:99Used by:1018
Symbol 1018 MovieClipUses:1017Used by:1095
Symbol 1019 GraphicUsed by:1095
Symbol 1020 GraphicUsed by:1028
Symbol 1021 GraphicUsed by:1028
Symbol 1022 GraphicUsed by:1028
Symbol 1023 GraphicUsed by:1028
Symbol 1024 GraphicUsed by:1028
Symbol 1025 GraphicUsed by:1028
Symbol 1026 GraphicUsed by:1028
Symbol 1027 GraphicUsed by:1028
Symbol 1028 MovieClip {main_fla.weaponIcons_365}Uses:788 1020 1021 1022 1023 1024 1025 1026 1027Used by:1095
Symbol 1029 GraphicUsed by:1044
Symbol 1030 GraphicUsed by:1031
Symbol 1031 MovieClipUses:1030Used by:1044
Symbol 1032 GraphicUsed by:1044
Symbol 1033 GraphicUsed by:1044
Symbol 1034 GraphicUsed by:1044
Symbol 1035 GraphicUsed by:1036
Symbol 1036 MovieClipUses:1035Used by:1044
Symbol 1037 GraphicUsed by:1044
Symbol 1038 GraphicUsed by:1044
Symbol 1039 GraphicUsed by:1044
Symbol 1040 GraphicUsed by:1044
Symbol 1041 GraphicUsed by:1044
Symbol 1042 GraphicUsed by:1044
Symbol 1043 GraphicUsed by:1044
Symbol 1044 MovieClipUses:1029 1031 1032 1033 1034 1036 1037 1038 1039 816 1040 1041 1042 1043 809 811 206 941 948 108 863Used by:1095  Timeline
Symbol 1045 GraphicUsed by:1095
Symbol 1046 GraphicUsed by:1068
Symbol 1047 BitmapUsed by:1048
Symbol 1048 GraphicUses:1047Used by:1066
Symbol 1049 BitmapUsed by:1050
Symbol 1050 GraphicUses:1049Used by:1066
Symbol 1051 BitmapUsed by:1052
Symbol 1052 GraphicUses:1051Used by:1066
Symbol 1053 BitmapUsed by:1054
Symbol 1054 GraphicUses:1053Used by:1066
Symbol 1055 BitmapUsed by:1056
Symbol 1056 GraphicUses:1055Used by:1066
Symbol 1057 GraphicUsed by:1066
Symbol 1058 GraphicUsed by:1066 1215
Symbol 1059 FontUsed by:1060
Symbol 1060 TextUses:1059Used by:1066 1215
Symbol 1061 TextUses:5Used by:1066
Symbol 1062 TextUses:5Used by:1066
Symbol 1063 TextUses:5Used by:1066
Symbol 1064 TextUses:5Used by:1066
Symbol 1065 TextUses:5Used by:1066
Symbol 1066 MovieClip {main_fla.playerIcons_370}Uses:1048 1050 1052 1054 1056 1057 1058 1060 1061 1062 1063 1064 1065Used by:1068
Symbol 1067 GraphicUsed by:1068
Symbol 1068 MovieClip {main_fla.playerButton_369}Uses:1046 1066 1067Used by:1095  Timeline
Symbol 1069 GraphicUsed by:1095
Symbol 1070 EditableTextUses:5Used by:1095
Symbol 1071 EditableTextUses:5Used by:1095
Symbol 1072 EditableTextUses:5Used by:1095
Symbol 1073 EditableTextUses:5Used by:1095
Symbol 1074 TextUses:5Used by:1095  Timeline
Symbol 1075 EditableTextUses:5Used by:1095
Symbol 1076 EditableTextUses:5Used by:1095
Symbol 1077 TextUses:5Used by:1095
Symbol 1078 EditableTextUses:5Used by:1095
Symbol 1079 EditableTextUses:5Used by:1095
Symbol 1080 EditableTextUses:5Used by:1095
Symbol 1081 TextUses:5Used by:1083
Symbol 1082 TextUses:5Used by:1083
Symbol 1083 MovieClip {main_fla.waves_371}Uses:1081 1082Used by:1095
Symbol 1084 TextUses:5Used by:1086
Symbol 1085 TextUses:5Used by:1086
Symbol 1086 MovieClip {main_fla.powah_372}Uses:1084 1085Used by:1095
Symbol 1087 MovieClipUses:210 211Used by:1088
Symbol 1088 ButtonUses:1087 104Used by:1089
Symbol 1089 MovieClip {main_fla.Timeline_373}Uses:1088Used by:1095
Symbol 1090 TextUses:5Used by:1095
Symbol 1091 TextUses:5Used by:1095
Symbol 1092 EditableTextUses:5Used by:1095
Symbol 1093 EditableTextUses:5Used by:1095
Symbol 1094 GraphicUsed by:1095
Symbol 1095 MovieClip {main_fla.bottomBar_361}Uses:1012 1014 1016 880 1018 1019 1028 1044 775 108 1045 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1083 1086 1089 1090 1091 1092 1093 1094 208Used by:1096
Symbol 1096 MovieClip {levels.Level}Uses:1011 1095Used by:1186
Symbol 1097 GraphicUsed by:1138
Symbol 1098 FontUsed by:1099
Symbol 1099 TextUses:1098Used by:1138
Symbol 1100 SoundUsed by:1138
Symbol 1101 SoundUsed by:1138
Symbol 1102 SoundUsed by:1138
Symbol 1103 SoundUsed by:1138
Symbol 1104 SoundUsed by:1138
Symbol 1105 SoundUsed by:1138
Symbol 1106 SoundUsed by:1138
Symbol 1107 SoundUsed by:1138
Symbol 1108 SoundUsed by:1138
Symbol 1109 SoundUsed by:1138
Symbol 1110 SoundUsed by:1138
Symbol 1111 SoundUsed by:1138
Symbol 1112 SoundUsed by:1138
Symbol 1113 SoundUsed by:1138
Symbol 1114 SoundUsed by:1138
Symbol 1115 SoundUsed by:1138
Symbol 1116 SoundUsed by:1138
Symbol 1117 SoundUsed by:1138
Symbol 1118 SoundUsed by:1138
Symbol 1119 SoundUsed by:1138
Symbol 1120 SoundUsed by:1138
Symbol 1121 SoundUsed by:1138
Symbol 1122 SoundUsed by:1138
Symbol 1123 SoundUsed by:1138
Symbol 1124 SoundUsed by:1138
Symbol 1125 SoundUsed by:1138
Symbol 1126 SoundUsed by:1138
Symbol 1127 SoundUsed by:1138
Symbol 1128 SoundUsed by:1138
Symbol 1129 SoundUsed by:1138
Symbol 1130 SoundUsed by:1138
Symbol 1131 SoundUsed by:1138
Symbol 1132 SoundUsed by:1138
Symbol 1133 SoundUsed by:1138
Symbol 1134 SoundUsed by:1138
Symbol 1135 SoundUsed by:1138
Symbol 1136 SoundUsed by:1138
Symbol 1137 SoundUsed by:1138
Symbol 1138 MovieClip {Sounds}Uses:1097 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 469 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137Used by:1186
Symbol 1139 GraphicUses:99Used by:1185
Symbol 1140 FontUsed by:1141 1176
Symbol 1141 EditableTextUses:1140Used by:1185
Symbol 1142 TextUses:5Used by:1185
Symbol 1143 GraphicUsed by:1144
Symbol 1144 MovieClipUses:1143Used by:1159
Symbol 1145 GraphicUsed by:1146
Symbol 1146 MovieClipUses:1145Used by:1159
Symbol 1147 GraphicUsed by:1148
Symbol 1148 MovieClipUses:1147Used by:1159
Symbol 1149 GraphicUsed by:1150
Symbol 1150 MovieClipUses:1149Used by:1159
Symbol 1151 GraphicUsed by:1152
Symbol 1152 MovieClipUses:1151Used by:1159
Symbol 1153 GraphicUsed by:1154
Symbol 1154 MovieClipUses:1153Used by:1159
Symbol 1155 GraphicUsed by:1156
Symbol 1156 MovieClipUses:1155Used by:1159
Symbol 1157 GraphicUsed by:1158
Symbol 1158 MovieClipUses:1157Used by:1159
Symbol 1159 MovieClip {main_fla.rankIcon_378}Uses:1144 1146 1148 1150 1152 1154 1156 1158Used by:1185  Timeline
Symbol 1160 TextUses:5Used by:1185
Symbol 1161 TextUses:5Used by:1185
Symbol 1162 TextUses:5Used by:1185
Symbol 1163 TextUses:5Used by:1185
Symbol 1164 EditableTextUses:5Used by:1185
Symbol 1165 TextUses:5Used by:1185
Symbol 1166 EditableTextUses:5Used by:1185
Symbol 1167 TextUses:920Used by:1169
Symbol 1168 TextUses:920Used by:1169
Symbol 1169 MovieClip {main_fla.levelstatus_387}Uses:1167 1168Used by:1185
Symbol 1170 EditableTextUses:5Used by:1185
Symbol 1171 EditableTextUses:5Used by:1185
Symbol 1172 TextUses:106Used by:1173
Symbol 1173 MovieClipUses:1172Used by:1185
Symbol 1174 TextUses:5Used by:1175
Symbol 1175 MovieClipUses:1174Used by:1185
Symbol 1176 EditableTextUses:1140Used by:1185
Symbol 1177 EditableTextUses:5Used by:1185
Symbol 1178 EditableTextUses:5Used by:1185
Symbol 1179 TextUses:5Used by:1185
Symbol 1180 TextUses:5Used by:1185
Symbol 1181 TextUses:920Used by:1185
Symbol 1182 EditableTextUses:5Used by:1185
Symbol 1183 EditableTextUses:5Used by:1185
Symbol 1184 EditableTextUses:5Used by:1185
Symbol 1185 MovieClip {LevelEnd}Uses:1139 915 1141 1142 1159 1160 1161 1162 1163 1164 1165 1166 1169 1170 1171 1173 254 1175 1176 983 1177 1178 1179 1180 1181 1182 1183 1184Used by:1186
Symbol 1186 MovieClip {main_fla.Timeline_318}Uses:104 861 200 867 873 875 880 923 926 939 944 967 968 989 992 1096 1138 1185Used by:Timeline
Symbol 1187 TextUses:5Used by:1194
Symbol 1188 Sound {menuMusic}Used by:1194
Symbol 1189 Sound {waterMusic}Used by:1194
Symbol 1190 Sound {spaceMusic}Used by:1194
Symbol 1191 Sound {bossMusic}Used by:1194
Symbol 1192 Sound {starMusic}Used by:1194
Symbol 1193 Sound {rainMusic}Used by:1194
Symbol 1194 MovieClip {main_fla.Timeline_390}Uses:104 1187 1188 1189 1190 1191 1192 1193Used by:Timeline
Symbol 1195 TextUses:5Used by:Timeline
Symbol 1196 GraphicUsed by:1197
Symbol 1197 MovieClipUses:1196Used by:Timeline
Symbol 1198 GraphicUsed by:1215
Symbol 1199 GraphicUsed by:1215
Symbol 1200 GraphicUsed by:1215
Symbol 1201 GraphicUsed by:1215
Symbol 1202 GraphicUsed by:1215
Symbol 1203 GraphicUsed by:1215
Symbol 1204 GraphicUsed by:1215
Symbol 1205 GraphicUsed by:1215
Symbol 1206 BitmapUsed by:1207
Symbol 1207 GraphicUses:1206Used by:1215
Symbol 1208 BitmapUsed by:1209
Symbol 1209 GraphicUses:1208Used by:1215
Symbol 1210 BitmapUsed by:1211
Symbol 1211 GraphicUses:1210Used by:1215
Symbol 1212 BitmapUsed by:1213
Symbol 1213 GraphicUses:1212Used by:1215
Symbol 1214 GraphicUsed by:1215
Symbol 1215 MovieClip {main_fla.levelicons_393}Uses:1198 1199 1058 1200 1060 288 347 1201 456 333 567 580 1202 314 546 550 452 599 626 364 1203 564 536 429 616 389 584 510 281 386 540 343 593 300 417 413 1204 459 607 304 554 380 526 1205 437 439 337 339 1207 561 1209 482 375 484 373 1211 1213 1214 393 401 460 322 421 308 310Used by:1216
Symbol 1216 MovieClip {main_fla.Timeline_392}Uses:131 1215 199Used by:Timeline
Symbol 1217 GraphicUsed by:Timeline
Symbol 1218 TextUses:5Used by:Timeline
Symbol 1219 TextUses:5Used by:Timeline
Symbol 1220 GraphicUsed by:1255
Symbol 1221 TextUses:5Used by:1255
Symbol 1222 TextUses:5Used by:1255
Symbol 1223 GraphicUsed by:1255
Symbol 1224 TextUses:5Used by:1255
Symbol 1225 TextUses:5Used by:1255
Symbol 1226 TextUses:5Used by:1255
Symbol 1227 TextUses:5Used by:1255
Symbol 1228 GraphicUsed by:1255
Symbol 1229 TextUses:5Used by:1255
Symbol 1230 TextUses:5Used by:1255
Symbol 1231 GraphicUsed by:1255
Symbol 1232 TextUses:5Used by:1255
Symbol 1233 TextUses:5Used by:1255
Symbol 1234 GraphicUsed by:1255
Symbol 1235 GraphicUsed by:1236
Symbol 1236 MovieClipUses:1235Used by:1255
Symbol 1237 GraphicUsed by:1255
Symbol 1238 GraphicUsed by:1239
Symbol 1239 MovieClipUses:1238Used by:1255
Symbol 1240 GraphicUsed by:1255
Symbol 1241 GraphicUsed by:1255
Symbol 1242 GraphicUsed by:1255
Symbol 1243 GraphicUsed by:1244
Symbol 1244 MovieClipUses:1243Used by:1255
Symbol 1245 GraphicUsed by:1255
Symbol 1246 GraphicUsed by:1255
Symbol 1247 GraphicUsed by:1248
Symbol 1248 MovieClipUses:1247Used by:1255
Symbol 1249 GraphicUsed by:1255
Symbol 1250 TextUses:5Used by:1255
Symbol 1251 TextUses:5Used by:1255
Symbol 1252 TextUses:5Used by:1255
Symbol 1253 TextUses:5Used by:1255
Symbol 1254 TextUses:5Used by:1255
Symbol 1255 MovieClip {main_fla.playerPreview_395}Uses:1220 1221 1222 1223 1224 1225 835 837 1226 1227 1228 1229 1230 1231 1232 1233 1234 1236 788 1237 1239 1240 1241 1242 1244 1245 1246 1248 816 1249 1250 1251 1252 1253 1254Used by:1256
Symbol 1256 MovieClip {main_fla.playerpreview2_394}Uses:1255Used by:Timeline
Symbol 1257 TextUses:5Used by:1289
Symbol 1258 FontUsed by:1259 1284 1285 1286
Symbol 1259 EditableTextUses:1258Used by:1289
Symbol 1260 TextUses:5Used by:1289
Symbol 1261 TextUses:5Used by:1289
Symbol 1262 TextUses:5Used by:1289
Symbol 1263 TextUses:5Used by:1289
Symbol 1264 TextUses:5Used by:1289
Symbol 1265 TextUses:5Used by:1289
Symbol 1266 TextUses:5Used by:1289
Symbol 1267 TextUses:5Used by:1289
Symbol 1268 TextUses:5Used by:1289
Symbol 1269 TextUses:5Used by:1289
Symbol 1270 TextUses:5Used by:1289
Symbol 1271 TextUses:5Used by:1289
Symbol 1272 TextUses:5Used by:1289
Symbol 1273 TextUses:5Used by:1289
Symbol 1274 TextUses:5Used by:1289
Symbol 1275 TextUses:5Used by:1289
Symbol 1276 TextUses:5Used by:1289
Symbol 1277 TextUses:5Used by:1289
Symbol 1278 TextUses:5Used by:1289
Symbol 1279 TextUses:5Used by:1289
Symbol 1280 TextUses:5Used by:1289
Symbol 1281 TextUses:5Used by:1289
Symbol 1282 TextUses:5Used by:1289
Symbol 1283 TextUses:5Used by:1289
Symbol 1284 EditableTextUses:1258Used by:1289
Symbol 1285 EditableTextUses:1258Used by:1289
Symbol 1286 EditableTextUses:1258Used by:1289
Symbol 1287 TextUses:5Used by:1289
Symbol 1288 TextUses:5Used by:1289
Symbol 1289 MovieClip {main_fla.levelDisplay_401}Uses:1257 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288Used by:1290
Symbol 1290 MovieClip {main_fla.showlevels_400}Uses:1289Used by:Timeline
Symbol 1291 TextUses:5Used by:Timeline
Symbol 1292 TextUses:5Used by:Timeline
Symbol 1293 EditableTextUses:5Used by:Timeline
Symbol 1294 TextUses:5Used by:Timeline
Symbol 1295 TextUses:920Used by:1296
Symbol 1296 MovieClipUses:1295Used by:1298
Symbol 1297 SoundUsed by:1298
Symbol 1298 MovieClip {main_fla.playaunlocked_402}Uses:882 1296 203 1297 204 206 207 1Used by:Timeline
Symbol 1299 TextUses:920Used by:1300
Symbol 1300 MovieClipUses:1299Used by:1302
Symbol 1301 SoundUsed by:1302
Symbol 1302 MovieClip {main_fla.levelunlocked_404}Uses:882 1300 1301Used by:Timeline
Symbol 1303 TextUses:5Used by:Timeline
Symbol 1304 EditableTextUses:5Used by:Timeline
Symbol 1305 GraphicUsed by:Timeline
Symbol 1306 TextUses:5Used by:Timeline
Symbol 1307 TextUses:5Used by:Timeline
Symbol 1308 TextUses:5Used by:Timeline
Symbol 1309 TextUses:5Used by:Timeline
Symbol 1310 TextUses:5Used by:Timeline
Symbol 1311 TextUses:5Used by:Timeline
Symbol 1312 TextUses:5Used by:Timeline
Symbol 1313 TextUses:5Used by:Timeline
Symbol 1314 TextUses:5Used by:Timeline
Symbol 1315 TextUses:5Used by:Timeline
Symbol 1316 TextUses:5Used by:Timeline
Symbol 1317 TextUses:5Used by:Timeline
Symbol 1318 EditableTextUses:5Used by:Timeline
Symbol 1319 EditableTextUses:5Used by:Timeline
Symbol 1320 EditableTextUses:5Used by:Timeline
Symbol 1321 EditableTextUses:5Used by:Timeline
Symbol 1322 EditableTextUses:5Used by:Timeline
Symbol 1323 EditableTextUses:5Used by:Timeline
Symbol 1324 TextUses:5Used by:Timeline
Symbol 1325 TextUses:5Used by:Timeline
Symbol 1326 EditableTextUses:5Used by:Timeline
Symbol 1327 EditableTextUses:5Used by:Timeline
Symbol 1328 EditableTextUses:5Used by:Timeline
Symbol 1329 EditableTextUses:5Used by:Timeline
Symbol 1330 EditableTextUses:5Used by:Timeline
Symbol 1331 EditableTextUses:5Used by:Timeline
Symbol 1332 EditableTextUses:5Used by:Timeline
Symbol 1333 EditableTextUses:5Used by:Timeline
Symbol 1334 EditableTextUses:5Used by:Timeline
Symbol 1335 EditableTextUses:5Used by:Timeline
Symbol 1336 EditableTextUses:5Used by:Timeline
Symbol 1337 EditableTextUses:5Used by:Timeline
Symbol 1338 TextUses:5Used by:Timeline
Symbol 1339 TextUses:5Used by:Timeline
Symbol 1340 EditableTextUses:5Used by:Timeline
Symbol 1341 EditableTextUses:5Used by:Timeline
Symbol 1342 TextUses:5Used by:Timeline
Symbol 1343 TextUses:920Used by:1345
Symbol 1344 SoundUsed by:1345
Symbol 1345 MovieClip {main_fla.upgradecomplete_406}Uses:882 881 1343 1344Used by:Timeline
Symbol 1346 GraphicUsed by:Timeline
Symbol 1347 TextUses:5Used by:Timeline
Symbol 1348 TextUses:5Used by:Timeline
Symbol 1349 TextUses:5Used by:Timeline
Symbol 1350 TextUses:5Used by:Timeline
Symbol 1351 GraphicUsed by:1353
Symbol 1352 GraphicUsed by:1353
Symbol 1353 MovieClipUses:1351 578 1352Used by:Timeline
Symbol 1354 TextUses:5Used by:Timeline
Symbol 1355 TextUses:5Used by:Timeline
Symbol 1356 BitmapUsed by:1357
Symbol 1357 GraphicUses:1356Used by:1358
Symbol 1358 MovieClipUses:1357Used by:1360
Symbol 1359 TextUses:5Used by:1360
Symbol 1360 ButtonUses:1358 1359 217 216 219Used by:Timeline
Symbol 1361 TextUses:5Used by:Timeline
Symbol 1362 TextUses:5Used by:Timeline
Symbol 1363 TextUses:5Used by:Timeline
Symbol 1364 TextUses:5Used by:Timeline
Symbol 1365 TextUses:5Used by:Timeline
Symbol 1366 GraphicUsed by:1369
Symbol 1367 TextUses:5Used by:1369
Symbol 1368 TextUses:5Used by:1369
Symbol 1369 MovieClipUses:1366 1367 775 766 772 769 1368Used by:Timeline
Symbol 1370 GraphicUsed by:Timeline
Symbol 1371 TextUses:5Used by:Timeline
Symbol 1372 TextUses:5Used by:Timeline
Symbol 1373 FontUsed by:1374 1377
Symbol 1374 EditableTextUses:1373Used by:Timeline
Symbol 1375 FontUsed by:1376
Symbol 1376 EditableTextUses:1375Used by:Timeline
Symbol 1377 TextUses:1373Used by:Timeline
Symbol 1378 FontUsed by:1379
Symbol 1379 EditableTextUses:1378Used by:Timeline
Symbol 1380 TextUses:5Used by:Timeline
Symbol 1381 TextUses:5Used by:Timeline
Symbol 1382 TextUses:5Used by:Timeline
Symbol 1383 TextUses:5Used by:Timeline
Symbol 1384 TextUses:5Used by:Timeline
Symbol 1385 TextUses:5Used by:Timeline
Symbol 1386 TextUses:5Used by:Timeline
Symbol 1387 TextUses:5Used by:Timeline
Symbol 1388 TextUses:5Used by:Timeline
Symbol 1389 TextUses:5Used by:Timeline
Symbol 1390 GraphicUsed by:Timeline
Symbol 1391 TextUses:5Used by:Timeline
Symbol 1392 TextUses:5Used by:Timeline
Symbol 1393 TextUses:5Used by:Timeline

Instance Names

"fader"Frame 1Symbol 129 MovieClip {main_fla.fader_9}
"medalBox"Frame 1Symbol 208 MovieClip {main_fla.medalBox2_11}
"b1"Frame 3Symbol 220 Button
"b2"Frame 3Symbol 225 Button
"startButton"Frame 3Symbol 271 Button
"b6"Frame 3Symbol 235 Button
"b7"Frame 3Symbol 240 Button
"b3"Frame 3Symbol 230 Button
"b8"Frame 3Symbol 278 Button
"b9"Frame 3Symbol 245 Button
"m1"Frame 4Symbol 915 Button
"m2"Frame 4Symbol 915 Button
"m3"Frame 4Symbol 915 Button
"m4"Frame 4Symbol 915 Button
"m5"Frame 4Symbol 915 Button
"m6"Frame 4Symbol 915 Button
"levelicon"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"playericon"Frame 5Symbol 1068 MovieClip {main_fla.playerButton_369}
"li1"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"p0"Frame 5Symbol 1068 MovieClip {main_fla.playerButton_369}
"b2"Frame 5Symbol 915 Button
"b1"Frame 5Symbol 915 Button
"b3"Frame 5Symbol 915 Button
"p1"Frame 5Symbol 1068 MovieClip {main_fla.playerButton_369}
"p2"Frame 5Symbol 1068 MovieClip {main_fla.playerButton_369}
"p3"Frame 5Symbol 1068 MovieClip {main_fla.playerButton_369}
"p4"Frame 5Symbol 1068 MovieClip {main_fla.playerButton_369}
"li6"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li7"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li8"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li9"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li10"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li22"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li11"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li12"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li13"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li14"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li15"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li23"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li16"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li17"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li18"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li19"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li20"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li24"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li0"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li25"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"showPlayer"Frame 5Symbol 1256 MovieClip {main_fla.playerpreview2_394}
"li2"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li3"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li4"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"showLevel"Frame 5Symbol 1290 MovieClip {main_fla.showlevels_400}
"li5"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"li21"Frame 5Symbol 1216 MovieClip {main_fla.Timeline_392}
"r1"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r2"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r3"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r4"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r5"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r21"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r6"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r7"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r8"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r9"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r10"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r22"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r11"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r12"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r13"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r14"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r15"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r23"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r16"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r17"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r18"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r19"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r20"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r24"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"r0"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"b4"Frame 5Symbol 915 Button
"b5"Frame 5Symbol 915 Button
"moneyT"Frame 5Symbol 1293 EditableText
"b6"Frame 5Symbol 915 Button
"b7"Frame 5Symbol 915 Button
"r25"Frame 5Symbol 1159 MovieClip {main_fla.rankIcon_378}
"u1"Frame 6Symbol 915 Button
"u2"Frame 6Symbol 915 Button
"u3"Frame 6Symbol 915 Button
"u4"Frame 6Symbol 915 Button
"u5"Frame 6Symbol 915 Button
"u6"Frame 6Symbol 915 Button
"b1"Frame 6Symbol 915 Button
"moneyT"Frame 6Symbol 1304 EditableText
"e3"Frame 6Symbol 1044 MovieClip
"e4"Frame 6Symbol 1044 MovieClip
"e5"Frame 6Symbol 1044 MovieClip
"e6"Frame 6Symbol 1044 MovieClip
"e2"Frame 6Symbol 1044 MovieClip
"e1"Frame 6Symbol 1044 MovieClip
"p0"Frame 6Symbol 1068 MovieClip {main_fla.playerButton_369}
"mm1"Frame 6Symbol 1318 EditableText
"mm2"Frame 6Symbol 1319 EditableText
"mm3"Frame 6Symbol 1320 EditableText
"mm4"Frame 6Symbol 1321 EditableText
"mm5"Frame 6Symbol 1322 EditableText
"mm6"Frame 6Symbol 1323 EditableText
"s1"Frame 6Symbol 1326 EditableText
"s2"Frame 6Symbol 1327 EditableText
"s3"Frame 6Symbol 1328 EditableText
"s4"Frame 6Symbol 1329 EditableText
"s5"Frame 6Symbol 1330 EditableText
"s6"Frame 6Symbol 1331 EditableText
"le1"Frame 6Symbol 1332 EditableText
"le2"Frame 6Symbol 1333 EditableText
"le3"Frame 6Symbol 1334 EditableText
"le6"Frame 6Symbol 1335 EditableText
"le4"Frame 6Symbol 1336 EditableText
"le5"Frame 6Symbol 1337 EditableText
"u7"Frame 6Symbol 915 Button
"e7"Frame 6Symbol 1044 MovieClip
"mm7"Frame 6Symbol 1340 EditableText
"le7"Frame 6Symbol 1341 EditableText
"upgraded"Frame 6Symbol 1345 MovieClip {main_fla.upgradecomplete_406}
"mu1"Frame 7Symbol 915 Button
"mu2"Frame 7Symbol 915 Button
"mu3"Frame 7Symbol 915 Button
"mu4"Frame 7Symbol 915 Button
"mu5"Frame 7Symbol 915 Button
"mu6"Frame 7Symbol 915 Button
"b1"Frame 7Symbol 915 Button
"b6"Frame 7Symbol 235 Button
"b7"Frame 7Symbol 240 Button
"b3"Frame 7Symbol 230 Button
"b5"Frame 7Symbol 220 Button
"b2"Frame 7Symbol 225 Button
"b4"Frame 7Symbol 1360 Button
"b8"Frame 7Symbol 250 Button
"b9"Frame 7Symbol 245 Button
"b2"Frame 8Symbol 915 Button
"medalName"Frame 9Symbol 1374 EditableText
"medalDesc"Frame 9Symbol 1376 EditableText
"totalhigh"Frame 9Symbol 1379 EditableText
"tick4"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick3"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick5"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick6"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick2"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick1"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick7"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick8"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick9"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick10"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick11"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick12"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick13"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick15"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick14"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick16"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"tick17"Frame 11Symbol 976 MovieClip {main_fla.tickBox_351}
"b1"Frame 11Symbol 915 Button
"delsel"Frame 11Symbol 915 Button
"gamez"Frame 12Symbol 915 Button
"label"Symbol 11 MovieClip {misc.ScoreLabel} Frame 1Symbol 4 EditableText
"label"Symbol 11 MovieClip {misc.ScoreLabel} Frame 2Symbol 6 EditableText
"label"Symbol 11 MovieClip {misc.ScoreLabel} Frame 3Symbol 7 EditableText
"label"Symbol 11 MovieClip {misc.ScoreLabel} Frame 4Symbol 8 EditableText
"label"Symbol 11 MovieClip {misc.ScoreLabel} Frame 5Symbol 9 EditableText
"medalNameText"Symbol 35 MovieClip {com.newgrounds.components.MedalPopup} Frame 10Symbol 28 EditableText
"medalValueText"Symbol 35 MovieClip {com.newgrounds.components.MedalPopup} Frame 10Symbol 31 EditableText
"medalContainer"Symbol 35 MovieClip {com.newgrounds.components.MedalPopup} Frame 10Symbol 33 MovieClip
"shadow"Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 62 MovieClip
"c"Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 64 MovieClip
"b"Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 66 MovieClip
"t"Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 68 MovieClip
"l"Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 70 MovieClip
"r"Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 72 MovieClip
"tl"Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 74 MovieClip
"tr"Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 76 MovieClip
"bl"Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 78 MovieClip
"br"Symbol 81 MovieClip {NewgroundsAPIAsset_big_popup_background} Frame 1Symbol 80 MovieClip
"errorDialog"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 5Symbol 54 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5}
"errorDialog"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 6Symbol 58 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7}
"background"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 7Symbol 60 MovieClip
"closeButton"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 7Symbol 85 Button
"viewLatestButton"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 7Symbol 91 Button
"viewAuthorizedButton"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 8Symbol 91 Button
"bar"Symbol 115 MovieClip {main_fla.swordLoader_2} Frame 1Symbol 105 MovieClip
"percent"Symbol 115 MovieClip {main_fla.swordLoader_2} Frame 1Symbol 107 EditableText
"playButton"Symbol 115 MovieClip {main_fla.swordLoader_2} Frame 15Symbol 114 Button
"icon"Symbol 200 MovieClip {MedalIcon} Frame 1Symbol 198 MovieClip
"icon"Symbol 202 MovieClip {main_fla.medalBox_12} Frame 1Symbol 200 MovieClip {MedalIcon}
"agb"Symbol 214 MovieClip {main_fla.Timeline_16} Frame 1Symbol 213 Button
"b1"Symbol 254 MovieClip {main_fla.Timeline_19} Frame 1Symbol 220 Button
"b2"Symbol 254 MovieClip {main_fla.Timeline_19} Frame 2Symbol 225 Button
"b3"Symbol 254 MovieClip {main_fla.Timeline_19} Frame 3Symbol 230 Button
"b6"Symbol 254 MovieClip {main_fla.Timeline_19} Frame 7Symbol 235 Button
"b7"Symbol 254 MovieClip {main_fla.Timeline_19} Frame 8Symbol 240 Button
"b9"Symbol 254 MovieClip {main_fla.Timeline_19} Frame 9Symbol 245 Button
"b8"Symbol 254 MovieClip {main_fla.Timeline_19} Frame 10Symbol 250 Button
"agb"Symbol 267 MovieClip {main_fla.AGsplash_34} Frame 82Symbol 264 Button
"zone"Symbol 470 MovieClip {foes.HomingBomb} Frame 1Symbol 468 MovieClip
"hitbox"Symbol 633 MovieClip {bullets.BigWhiteBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 636 MovieClip {bullets.BlueBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 639 MovieClip {bullets.BubbleBall} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 642 MovieClip {bullets.BubbleBall2} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 644 MovieClip {bullets.BubbleBall3} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 646 MovieClip {bullets.BubbleBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 649 MovieClip {bullets.BubbleBullet2} Frame 1Symbol 631 MovieClip
"hitbo"Symbol 652 MovieClip {bullets.Bullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 655 MovieClip {bullets.DemonBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 658 MovieClip {bullets.DevilBall} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 661 MovieClip {bullets.DevilBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 664 MovieClip {bullets.DevilBullet2} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 667 MovieClip {bullets.DevilBullet3} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 670 MovieClip {bullets.DualBall} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 673 MovieClip {bullets.FlameBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 676 MovieClip {bullets.GodBall} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 680 MovieClip {bullets.GodBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 683 MovieClip {bullets.GodBullet2} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 687 MovieClip {bullets.GodDiamond} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 690 MovieClip {bullets.GreenBall} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 693 MovieClip {bullets.GreenBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 694 MovieClip {bullets.GreenSlimeBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 697 MovieClip {bullets.HomingBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 700 MovieClip {bullets.HugeDevilBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 703 MovieClip {bullets.HugeOrangeBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 706 MovieClip {bullets.HugeRedBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 709 MovieClip {bullets.LeafBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 712 MovieClip {bullets.OrangeBomb} Frame 6Symbol 631 MovieClip
"hitbox"Symbol 714 MovieClip {bullets.OrangeBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 717 MovieClip {bullets.OrangeLazor} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 718 MovieClip {bullets.OrbitBall} Frame 4Symbol 631 MovieClip
"hitbox"Symbol 721 MovieClip {bullets.PinkBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 724 MovieClip {bullets.PurpleBall} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 727 MovieClip {bullets.PurpleBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 730 MovieClip {bullets.RedBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 733 MovieClip {bullets.RedDiamond} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 736 MovieClip {bullets.RedLazor} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 738 MovieClip {bullets.SmallRedBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 741 MovieClip {bullets.SpikeBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 744 MovieClip {bullets.SporeBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 747 MovieClip {bullets.WaveBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 750 MovieClip {bullets.WaveBullet2} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 753 MovieClip {bullets.WhiteBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 756 MovieClip {bullets.YellowBall} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 759 MovieClip {bullets.YellowBullet} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 762 MovieClip {bullets.YellowBullet2} Frame 1Symbol 631 MovieClip
"hitbox"Symbol 873 MovieClip {bullets.BeamLazor} Frame 3Symbol 872 MovieClip
"hitbox"Symbol 875 MovieClip {bullets.BlueWave} Frame 1Symbol 631 MovieClip
"tip"Symbol 923 MovieClip {GetReady} Frame 3Symbol 910 MovieClip {main_fla.Timeline_330}
"start"Symbol 923 MovieClip {GetReady} Frame 11Symbol 915 Button
"hitbox"Symbol 926 MovieClip {bullets.GlowBall} Frame 1Symbol 631 MovieClip
"tick"Symbol 976 MovieClip {main_fla.tickBox_351} Frame 1Symbol 975 MovieClip {main_fla.ticky_352}
"tick4"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 976 MovieClip {main_fla.tickBox_351}
"tick3"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 976 MovieClip {main_fla.tickBox_351}
"tick5"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 976 MovieClip {main_fla.tickBox_351}
"tick6"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 976 MovieClip {main_fla.tickBox_351}
"tick2"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 976 MovieClip {main_fla.tickBox_351}
"tick1"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 976 MovieClip {main_fla.tickBox_351}
"tick7"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 976 MovieClip {main_fla.tickBox_351}
"tick8"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 976 MovieClip {main_fla.tickBox_351}
"tick9"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 976 MovieClip {main_fla.tickBox_351}
"tick12"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 976 MovieClip {main_fla.tickBox_351}
"retry"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 915 Button
"menu"Symbol 989 MovieClip {PauseScreen} Frame 1Symbol 915 Button
"hitbox"Symbol 992 MovieClip {bullets.ThunderBall} Frame 1Symbol 631 MovieClip
"tile2"Symbol 1010 MovieClip {main_fla.backgroundtiles_359} Frame 1Symbol 1009 MovieClip {main_fla.backgroundstrips_360}
"tile1"Symbol 1010 MovieClip {main_fla.backgroundtiles_359} Frame 1Symbol 1009 MovieClip {main_fla.backgroundstrips_360}
"tile3"Symbol 1010 MovieClip {main_fla.backgroundtiles_359} Frame 1Symbol 1009 MovieClip {main_fla.backgroundstrips_360}
"tile4"Symbol 1010 MovieClip {main_fla.backgroundtiles_359} Frame 1Symbol 1009 MovieClip {main_fla.backgroundstrips_360}
"tile2"Symbol 1010 MovieClip {main_fla.backgroundtiles_359} Frame 1Symbol 1009 MovieClip {main_fla.backgroundstrips_360}
"tiles"Symbol 1011 MovieClip {main_fla.backgroundscrolling_358} Frame 1Symbol 1010 MovieClip {main_fla.backgroundtiles_359}
"icons"Symbol 1068 MovieClip {main_fla.playerButton_369} Frame 1Symbol 1066 MovieClip {main_fla.playerIcons_370}
"agb"Symbol 1089 MovieClip {main_fla.Timeline_373} Frame 1Symbol 1088 Button
"subChargeBar"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1016 MovieClip
"mainChargeBar"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1016 MovieClip
"hpBar"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1016 MovieClip
"bossHP"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 880 MovieClip {foes.FoeBar}
"weaponIcon1"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1028 MovieClip {main_fla.weaponIcons_365}
"weaponIcon2"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1028 MovieClip {main_fla.weaponIcons_365}
"bomb"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1044 MovieClip
"p0"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1068 MovieClip {main_fla.playerButton_369}
"multiplier"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1070 EditableText
"main"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1071 EditableText
"sub"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1072 EditableText
"bullets"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1073 EditableText
"bombs"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1075 EditableText
"health"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1076 EditableText
"score"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1078 EditableText
"kills"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1079 EditableText
"money"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1080 EditableText
"waves"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1083 MovieClip {main_fla.waves_371}
"powah"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1086 MovieClip {main_fla.powah_372}
"fps"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1092 EditableText
"hits"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 1093 EditableText
"medalBox"Symbol 1095 MovieClip {main_fla.bottomBar_361} Frame 1Symbol 208 MovieClip {main_fla.medalBox2_11}
"background"Symbol 1096 MovieClip {levels.Level} Frame 1Symbol 1011 MovieClip {main_fla.backgroundscrolling_358}
"bottomBar"Symbol 1096 MovieClip {levels.Level} Frame 1Symbol 1095 MovieClip {main_fla.bottomBar_361}
"retry"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 915 Button
"menu"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 915 Button
"bestComboT"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 1141 EditableText
"rankT"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 1159 MovieClip {main_fla.rankIcon_378}
"moneyCollectedT"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 1164 EditableText
"hitsTakenT"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 1166 EditableText
"status"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 1169 MovieClip {main_fla.levelstatus_387}
"scoreT"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 1170 EditableText
"foesKilledT"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 1171 EditableText
"cheats"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 1173 MovieClip
"best1"Symbol 1185 MovieClip {LevelEnd} Frame 1Symbol 1175 MovieClip
"bestComboT"Symbol 1185 MovieClip {LevelEnd} Frame 2Symbol 1176 EditableText
"moneyCollectedT"Symbol 1185 MovieClip {LevelEnd} Frame 2Symbol 1177 EditableText
"hitsTakenT"Symbol 1185 MovieClip {LevelEnd} Frame 2Symbol 1178 EditableText
"scoreT"Symbol 1185 MovieClip {LevelEnd} Frame 2Symbol 1182 EditableText
"foesKilledT"Symbol 1185 MovieClip {LevelEnd} Frame 2Symbol 1183 EditableText
"waveT"Symbol 1185 MovieClip {LevelEnd} Frame 2Symbol 1184 EditableText
"best2"Symbol 1185 MovieClip {LevelEnd} Frame 2Symbol 1175 MovieClip
"best3"Symbol 1185 MovieClip {LevelEnd} Frame 2Symbol 1175 MovieClip
"best4"Symbol 1185 MovieClip {LevelEnd} Frame 2Symbol 1175 MovieClip
"icons"Symbol 1216 MovieClip {main_fla.Timeline_392} Frame 1Symbol 1215 MovieClip {main_fla.levelicons_393}
"showPlayer"Symbol 1256 MovieClip {main_fla.playerpreview2_394} Frame 1Symbol 1255 MovieClip {main_fla.playerPreview_395}
"scoreT"Symbol 1289 MovieClip {main_fla.levelDisplay_401} Frame 1Symbol 1259 EditableText
"scoreT"Symbol 1289 MovieClip {main_fla.levelDisplay_401} Frame 25Symbol 1284 EditableText
"killsT"Symbol 1289 MovieClip {main_fla.levelDisplay_401} Frame 25Symbol 1285 EditableText
"waveT"Symbol 1289 MovieClip {main_fla.levelDisplay_401} Frame 25Symbol 1286 EditableText
"showLevel"Symbol 1290 MovieClip {main_fla.showlevels_400} Frame 1Symbol 1289 MovieClip {main_fla.levelDisplay_401}
"showLevel"Symbol 1290 MovieClip {main_fla.showlevels_400} Frame 3Symbol 1289 MovieClip {main_fla.levelDisplay_401}

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
EnableDebugger2 (64)Timeline Frame 131 bytes "..$1$5h$xAKY.1Fb8kgWJtdeRnmd/0."

Labels

"ads"Frame 3
"mainMenu"Frame 4
"levelSelect"Frame 5
"upgrades"Frame 6
"credits"Frame 7
"instructions"Frame 8
"medals"Frame 9
"playLevel"Frame 10
"options"Frame 11
"sitelock"Frame 12
"medal_show"Symbol 35 MovieClip {com.newgrounds.components.MedalPopup} Frame 2
"medal_hide"Symbol 35 MovieClip {com.newgrounds.components.MedalPopup} Frame 11
"closeme"Symbol 54 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Login_Warning_5} Frame 11
"closeme"Symbol 58 MovieClip {APIConnector_fla.NewgroundsAPIAsset_Connection_Error_7} Frame 11
"idle"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 2
"connecting"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 3
"connected"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 4
"no_login"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 5
"no_connect"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 6
"new_version"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 7
"bad_host"Symbol 96 MovieClip {com.newgrounds.components.APIConnector} Frame 8
"LOAD"Symbol 115 MovieClip {main_fla.swordLoader_2} Frame 1
"COMPLETE_STOP"Symbol 115 MovieClip {main_fla.swordLoader_2} Frame 2
"fade"Symbol 129 MovieClip {main_fla.fader_9} Frame 2
"hit"Symbol 282 MovieClip {foes.BigBrick} Frame 2
"hit"Symbol 286 MovieClip {foes.BigBush} Frame 2
"die"Symbol 286 MovieClip {foes.BigBush} Frame 7
"hit"Symbol 292 MovieClip {foes.BigLog} Frame 2
"die"Symbol 292 MovieClip {foes.BigLog} Frame 8
"hit"Symbol 298 MovieClip {foes.BigRock} Frame 2
"die"Symbol 298 MovieClip {foes.BigRock} Frame 8
"hit"Symbol 302 MovieClip {foes.BigShrub} Frame 2
"die"Symbol 302 MovieClip {foes.BigShrub} Frame 8
"hit"Symbol 306 MovieClip {foes.BigSlime} Frame 2
"die"Symbol 306 MovieClip {foes.BigSlime} Frame 7
"hit"Symbol 312 MovieClip {foes.Bird} Frame 2
"die"Symbol 312 MovieClip {foes.Bird} Frame 7
"hit"Symbol 316 MovieClip {foes.BlueJelly} Frame 2
"die"Symbol 316 MovieClip {foes.BlueJelly} Frame 7
"hit"Symbol 325 MovieClip {foes.BossBot} Frame 2
"die"Symbol 325 MovieClip {foes.BossBot} Frame 8
"hit"Symbol 331 MovieClip {foes.BossBush} Frame 2
"die"Symbol 331 MovieClip {foes.BossBush} Frame 8
"hit"Symbol 335 MovieClip {foes.Bush} Frame 2
"die"Symbol 335 MovieClip {foes.Bush} Frame 7
"hit"Symbol 341 MovieClip {foes.Butterfly} Frame 2
"die"Symbol 341 MovieClip {foes.Butterfly} Frame 7
"hit"Symbol 345 MovieClip {foes.Cactus} Frame 2
"die"Symbol 345 MovieClip {foes.Cactus} Frame 8
"hit"Symbol 362 MovieClip {foes.CatRam} Frame 3
"die"Symbol 362 MovieClip {foes.CatRam} Frame 8
"hit"Symbol 366 MovieClip {foes.Coral} Frame 2
"die"Symbol 366 MovieClip {foes.Coral} Frame 8
"hit"Symbol 371 MovieClip {foes.CrossBomb} Frame 2
"die"Symbol 371 MovieClip {foes.CrossBomb} Frame 8
"hit"Symbol 378 MovieClip {foes.DeadCat} Frame 2
"die"Symbol 378 MovieClip {foes.DeadCat} Frame 7
"hit"Symbol 384 MovieClip {foes.Demon} Frame 2
"die"Symbol 384 MovieClip {foes.Demon} Frame 7
"hit"Symbol 387 MovieClip {foes.DoubleBrick} Frame 2
"hit"Symbol 391 MovieClip {foes.EyeBall} Frame 2
"die"Symbol 391 MovieClip {foes.EyeBall} Frame 7
"hit"Symbol 399 MovieClip {foes.EyeBit} Frame 2
"die"Symbol 399 MovieClip {foes.EyeBit} Frame 7
"hit"Symbol 405 MovieClip {foes.EyeGuy} Frame 2
"die"Symbol 405 MovieClip {foes.EyeGuy} Frame 7
"hit"Symbol 411 MovieClip {foes.FaceBot} Frame 2
"die"Symbol 411 MovieClip {foes.FaceBot} Frame 8
"hit"Symbol 415 MovieClip {foes.FireGuy} Frame 2
"die"Symbol 415 MovieClip {foes.FireGuy} Frame 7
"hit"Symbol 419 MovieClip {foes.FlameGuy} Frame 2
"die"Symbol 419 MovieClip {foes.FlameGuy} Frame 7
"hit"Symbol 427 MovieClip {foes.Ghost} Frame 2
"die"Symbol 427 MovieClip {foes.Ghost} Frame 8
"hit"Symbol 431 MovieClip {foes.GiantCrab} Frame 2
"die"Symbol 431 MovieClip {foes.GiantCrab} Frame 9
"hit"Symbol 434 MovieClip {foes.Girder} Frame 2
"die"Symbol 434 MovieClip {foes.Girder} Frame 8
"hit"Symbol 442 MovieClip {foes.GodCat} Frame 2
"die"Symbol 442 MovieClip {foes.GodCat} Frame 9
"hit"Symbol 450 MovieClip {foes.Golem} Frame 2
"die"Symbol 450 MovieClip {foes.Golem} Frame 7
"hit"Symbol 454 MovieClip {foes.GreenJelly} Frame 2
"die"Symbol 454 MovieClip {foes.GreenJelly} Frame 7
"hit"Symbol 458 MovieClip {foes.GreenSlime} Frame 2
"die"Symbol 458 MovieClip {foes.GreenSlime} Frame 7
"hit"Symbol 464 MovieClip {foes.GunBot} Frame 2
"die"Symbol 464 MovieClip {foes.GunBot} Frame 8
"hit"Symbol 470 MovieClip {foes.HomingBomb} Frame 2
"die"Symbol 470 MovieClip {foes.HomingBomb} Frame 8
"hit"Symbol 471 MovieClip {foes.HugeBrick} Frame 2
"hit"Symbol 477 MovieClip {foes.HugeRock} Frame 2
"die"Symbol 477 MovieClip {foes.HugeRock} Frame 8
"die"Symbol 485 MovieClip {foes.Hydra} Frame 13
"hit"Symbol 500 MovieClip {foes.Kitten} Frame 2
"die"Symbol 500 MovieClip {foes.Kitten} Frame 7
"hit"Symbol 504 MovieClip {foes.LazorBot} Frame 2
"die"Symbol 504 MovieClip {foes.LazorBot} Frame 8
"hit"Symbol 508 MovieClip {foes.LeftLog} Frame 2
"die"Symbol 508 MovieClip {foes.LeftLog} Frame 8
"hit"Symbol 512 MovieClip {foes.Mage} Frame 2
"die"Symbol 512 MovieClip {foes.Mage} Frame 7
"hit"Symbol 518 MovieClip {foes.MediumRock} Frame 2
"die"Symbol 518 MovieClip {foes.MediumRock} Frame 8
"hit"Symbol 524 MovieClip {foes.Missile} Frame 2
"die"Symbol 524 MovieClip {foes.Missile} Frame 8
"hit"Symbol 534 MovieClip {foes.Monolith} Frame 2
"die"Symbol 534 MovieClip {foes.Monolith} Frame 7
"hit"Symbol 538 MovieClip {foes.Moor} Frame 2
"die"Symbol 538 MovieClip {foes.Moor} Frame 7
"hit"Symbol 544 MovieClip {foes.Obelisk} Frame 2
"die"Symbol 544 MovieClip {foes.Obelisk} Frame 7
"hit"Symbol 548 MovieClip {foes.PinkJelly} Frame 2
"die"Symbol 548 MovieClip {foes.PinkJelly} Frame 7
"hit"Symbol 552 MovieClip {foes.PurpleJelly} Frame 2
"die"Symbol 552 MovieClip {foes.PurpleJelly} Frame 7
"hit"Symbol 555 MovieClip {foes.RedSlime} Frame 2
"die"Symbol 555 MovieClip {foes.RedSlime} Frame 7
"hit"Symbol 559 MovieClip {foes.RightLog} Frame 2
"die"Symbol 559 MovieClip {foes.RightLog} Frame 8
"hit"Symbol 562 MovieClip {foes.SeaBomb} Frame 2
"die"Symbol 562 MovieClip {foes.SeaBomb} Frame 8
"hit"Symbol 565 MovieClip {foes.Shark} Frame 2
"die"Symbol 565 MovieClip {foes.Shark} Frame 7
"hit"Symbol 570 MovieClip {foes.Shroom} Frame 2
"die"Symbol 570 MovieClip {foes.Shroom} Frame 8
"hit"Symbol 575 MovieClip {foes.Shrub} Frame 2
"die"Symbol 575 MovieClip {foes.Shrub} Frame 7
"hit"Symbol 582 MovieClip {foes.SlimeKing} Frame 2
"die"Symbol 582 MovieClip {foes.SlimeKing} Frame 6
"hit"Symbol 586 MovieClip {foes.Slinger} Frame 2
"die"Symbol 586 MovieClip {foes.Slinger} Frame 7
"hit"Symbol 587 MovieClip {foes.SmallBrick} Frame 2
"hit"Symbol 591 MovieClip {foes.SmallRock} Frame 2
"die"Symbol 591 MovieClip {foes.SmallRock} Frame 8
"hit"Symbol 597 MovieClip {foes.Sphinx} Frame 2
"die"Symbol 597 MovieClip {foes.Sphinx} Frame 9
"hit"Symbol 601 MovieClip {foes.SpikeFish} Frame 2
"die"Symbol 601 MovieClip {foes.SpikeFish} Frame 7
"hit"Symbol 604 MovieClip {foes.Spikes} Frame 2
"hit"Symbol 605 MovieClip {foes.SteelBox} Frame 2
"die"Symbol 605 MovieClip {foes.SteelBox} Frame 8
"hit"Symbol 610 MovieClip {foes.Tank} Frame 2
"die"Symbol 610 MovieClip {foes.Tank} Frame 8
"hit"Symbol 614 MovieClip {foes.TinyRock} Frame 2
"die"Symbol 614 MovieClip {foes.TinyRock} Frame 8
"hit"Symbol 618 MovieClip {foes.Tree} Frame 2
"die"Symbol 618 MovieClip {foes.Tree} Frame 8
"hit"Symbol 624 MovieClip {foes.Wasp} Frame 2
"die"Symbol 624 MovieClip {foes.Wasp} Frame 7
"hit"Symbol 628 MovieClip {foes.YellowJelly} Frame 2
"die"Symbol 628 MovieClip {foes.YellowJelly} Frame 7
"stop"Symbol 756 MovieClip {bullets.YellowBall} Frame 5
"die"Symbol 767 MovieClip {drops.Barrier} Frame 2
"die"Symbol 770 MovieClip {drops.Buff} Frame 2
"die"Symbol 773 MovieClip {drops.Heart} Frame 2
"die"Symbol 784 MovieClip {drops.Money} Frame 9
"die"Symbol 825 MovieClip {players.Anna} Frame 10
"die"Symbol 828 MovieClip {players.Lance} Frame 10
"die"Symbol 833 MovieClip {players.Matt} Frame 10
"die"Symbol 838 MovieClip {players.Natalie} Frame 10
"die"Symbol 844 MovieClip {players.NoLegs} Frame 10
"notip"Symbol 923 MovieClip {GetReady} Frame 22
"money"Symbol 1138 MovieClip {Sounds} Frame 2
"heart"Symbol 1138 MovieClip {Sounds} Frame 3
"shield"Symbol 1138 MovieClip {Sounds} Frame 4
"shield2"Symbol 1138 MovieClip {Sounds} Frame 5
"buff"Symbol 1138 MovieClip {Sounds} Frame 6
"star"Symbol 1138 MovieClip {Sounds} Frame 7
"star2"Symbol 1138 MovieClip {Sounds} Frame 8
"star3"Symbol 1138 MovieClip {Sounds} Frame 9
"sword"Symbol 1138 MovieClip {Sounds} Frame 13
"sword2"Symbol 1138 MovieClip {Sounds} Frame 14
"flame"Symbol 1138 MovieClip {Sounds} Frame 18
"holy"Symbol 1138 MovieClip {Sounds} Frame 19
"bullet"Symbol 1138 MovieClip {Sounds} Frame 22
"mine"Symbol 1138 MovieClip {Sounds} Frame 23
"mine2"Symbol 1138 MovieClip {Sounds} Frame 24
"explode"Symbol 1138 MovieClip {Sounds} Frame 25
"arrow"Symbol 1138 MovieClip {Sounds} Frame 27
"leaf"Symbol 1138 MovieClip {Sounds} Frame 28
"tree"Symbol 1138 MovieClip {Sounds} Frame 29
"tree2"Symbol 1138 MovieClip {Sounds} Frame 30
"bush"Symbol 1138 MovieClip {Sounds} Frame 34
"bush2"Symbol 1138 MovieClip {Sounds} Frame 35
"fort"Symbol 1138 MovieClip {Sounds} Frame 37
"log"Symbol 1138 MovieClip {Sounds} Frame 39
"log2"Symbol 1138 MovieClip {Sounds} Frame 40
"bug"Symbol 1138 MovieClip {Sounds} Frame 41
"bug2"Symbol 1138 MovieClip {Sounds} Frame 42
"slime"Symbol 1138 MovieClip {Sounds} Frame 44
"slime2"Symbol 1138 MovieClip {Sounds} Frame 45
"shroom"Symbol 1138 MovieClip {Sounds} Frame 46
"shroom2"Symbol 1138 MovieClip {Sounds} Frame 47
"metal"Symbol 1138 MovieClip {Sounds} Frame 50
"fish"Symbol 1138 MovieClip {Sounds} Frame 51
"kitten"Symbol 1138 MovieClip {Sounds} Frame 51
"fish2"Symbol 1138 MovieClip {Sounds} Frame 52
"coral"Symbol 1138 MovieClip {Sounds} Frame 53
"coral2"Symbol 1138 MovieClip {Sounds} Frame 54
"rock1"Symbol 1138 MovieClip {Sounds} Frame 57
"rock2"Symbol 1138 MovieClip {Sounds} Frame 58
"rock3"Symbol 1138 MovieClip {Sounds} Frame 59
"rock4"Symbol 1138 MovieClip {Sounds} Frame 60
"demon"Symbol 1138 MovieClip {Sounds} Frame 61
"rock5"Symbol 1138 MovieClip {Sounds} Frame 61
"eye"Symbol 1138 MovieClip {Sounds} Frame 63
"eye2"Symbol 1138 MovieClip {Sounds} Frame 64
"demon2"Symbol 1138 MovieClip {Sounds} Frame 66
"flame"Symbol 1138 MovieClip {Sounds} Frame 68
"flame2"Symbol 1138 MovieClip {Sounds} Frame 69
"lance"Symbol 1138 MovieClip {Sounds} Frame 74
"lance2"Symbol 1138 MovieClip {Sounds} Frame 75
"rag"Symbol 1138 MovieClip {Sounds} Frame 77
"rag2"Symbol 1138 MovieClip {Sounds} Frame 78
"cross"Symbol 1138 MovieClip {Sounds} Frame 82
"nuke"Symbol 1138 MovieClip {Sounds} Frame 83
"cross2"Symbol 1138 MovieClip {Sounds} Frame 84
"starbomb"Symbol 1138 MovieClip {Sounds} Frame 86
"hit"Symbol 1138 MovieClip {Sounds} Frame 89
"meow"Symbol 1138 MovieClip {Sounds} Frame 90
"meow2"Symbol 1138 MovieClip {Sounds} Frame 91




https://swfchan.com/53/263371/info.shtml
Created: 23/3 -2026 16:57:00 Last modified: 23/3 -2026 16:57:00 Server time: 23/03 -2026 19:58:07