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

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

HTL - Zombie Invasion.swf

This is the info page for
Flash #58224

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


Text
<p align="left"><font face="PF Tempesta Five Condensed" size="8" color="#ffffff" letterSpacing="0.000000" kerning="0"><a href="http://www.inflashstudios.com/" target = "_blank">www.inflashstudios.com</a></font></p>

WEAPON SHOP

CONTINUE

CONTINUE

MONEY

--

Blow your enemies away with the rocket launcher's huge damage radius.  Be warned, it's slow to fire.

CONGRATULATIONS

ON LETTING ALL THOSE ZOMBIES THROUGH

POINTS

KILLS

HEADSHOTS

--

--

--

MONEY

--

ACCURACY

--

YOU HAVE SURVIVED

FOR NOW....

POINTS

KILLS

HEADSHOTS

--

--

--

MONEY

--

ACCURACY

--

2:00 AM

HELP  ARRIVES AT 8:00 AM

TOTAL MONEY

--

ZOMBIES HAVE ATTACKED MANKIND.

THE ARMY WAS DEPLOYED TO FIGHT THEM OFF.

FEW SOLDIERS SURVIVED.  YOU ARE ONE OF THEM.

THE FATE OF HUMANITY RESTS ON YOUR DELICIOUS SHOULDERS.

KILL THEM ALL.

CLICK ANYWHERE TO CLOSE

By now you've probably noticed the zombie
invasion.  The good news is they can be killed.
The bad news is you're on your own until 6:00 AM.
It's only 10:00 PM now.  We can't even get you
supplies but there is a private contractor who'll
come visit you every hour.
Ready for 10 levels of zombie slaughtering fun?

CAMPAIGN

EASY

EASY

HARD

HARD

HIGH SCORES

NAME

SCORE

Shoot the zombies before they get past your
guard tower.  Bonus points for headshots and
other achievements.  At the end of each 1 minute
round you have the opportunity to buy more
weapons.
'G' throws a grenade, but it takes a while before
you can throw another one.
When you have purchased guns - like the awesome
sniper rifle and rocket launcher - you can change
weapons with the mouse wheel or up/down keys.

HELP

REMAP KEYS

PREVIOUS WEAPON:

NEXT WEAPON:

RELOAD:

THROW GRENADE:

CHANGE

CHANGE

$12312

--

KILLS

--

LIVES

--

HEADSHOTS

--

ACCURACY

--

POINTS

TOGGLE SOUND

TOGGLE SOUND

PAUSE

PAUSE

0

bullets

--

LEVEL TIMER

--

TOTAL POINTS

11:59 PM

QUIT

QUIT

'G' for grenade

ARE YOU SURE?

YES

YES

NO

NO

LOADING

<p align="left"><font face="Arial" size="9" color="#ffffff" letterSpacing="0.000000" kerning="0"><a href="http://www.inflashstudios.com/" target = "_blank">INFLASH STUDIOS</a></font></p><p align="left"></p>

Sound and art by  James C R West

<p align="left"><font face="Arial" size="9" color="#ffffff" letterSpacing="0.000000" kerning="0"><a href="http://reinerstileset.4players.de/englisch.html" target = "_blank">Zombie sprites by Reiner Prokein</a></font></p><p align="left"></p>

<p align="left"><font face="Arial" size="9" color="#ffffff" letterSpacing="0.000000" kerning="0"><a href="http://www.vecteezy.com/vf/691-Gun-Silhouettes" target = "_blank">Gun silhouettes from vecteezy.com</a></font></p>

TYPE YOUR NAME for high scores

PLAYER

CAMPAIGN

CAMPAIGN

HIGH SCORES

HIGH SCORES

SURVIVAL

SURVIVAL

<p align="left"><font face="Arial" size="9" color="#cccccc" letterSpacing="0.000000" kerning="0"><a href="http://www.inflashstudios.com/" target = "_blank">INFLASH STUDIOS</a></font></p><p align="left"></p>

Sound and art by  James C R West

<p align="left"><font face="Arial" size="9" color="#cccccc" letterSpacing="0.000000" kerning="0"><a href="http://reinerstileset.4players.de/englisch.html" target = "_blank">Zombie sprites by Reiner Prokein</a></font></p><p align="left"></p>

<p align="left"><font face="Arial" size="9" color="#cccccc" letterSpacing="0.000000" kerning="0"><a href="http://www.vecteezy.com/vf/691-Gun-Silhouettes" target = "_blank">Gun silhouettes from vecteezy.com</a></font></p>

HELP

HELP

PLAY MORE GAMES

PLAY MORE GAMES

v1.3

CHANGE KEYS

CHANGE KEYS

Bla bla bla this is a voice over subttile.

ActionScript [AS3]

Section 1
//CloseShave (Assets.Achievements.CloseShave) package Assets.Achievements { import flash.display.*; public dynamic class CloseShave extends BitmapData { public function CloseShave(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 2
//DoubleKill (Assets.Achievements.DoubleKill) package Assets.Achievements { import flash.display.*; public dynamic class DoubleKill extends BitmapData { public function DoubleKill(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 3
//EpicFail (Assets.Achievements.EpicFail) package Assets.Achievements { import flash.display.*; public dynamic class EpicFail extends BitmapData { public function EpicFail(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 4
//EpicWin (Assets.Achievements.EpicWin) package Assets.Achievements { import flash.display.*; public dynamic class EpicWin extends BitmapData { public function EpicWin(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 5
//Frenzy (Assets.Achievements.Frenzy) package Assets.Achievements { import flash.display.*; public dynamic class Frenzy extends BitmapData { public function Frenzy(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 6
//Headshot (Assets.Achievements.Headshot) package Assets.Achievements { import flash.display.*; public dynamic class Headshot extends BitmapData { public function Headshot(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 7
//SharpShooter (Assets.Achievements.SharpShooter) package Assets.Achievements { import flash.display.*; public dynamic class SharpShooter extends BitmapData { public function SharpShooter(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 8
//Slaughter (Assets.Achievements.Slaughter) package Assets.Achievements { import flash.display.*; public dynamic class Slaughter extends BitmapData { public function Slaughter(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 9
//Suicide (Assets.Achievements.Suicide) package Assets.Achievements { import flash.display.*; public dynamic class Suicide extends BitmapData { public function Suicide(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 10
//TripleKill (Assets.Achievements.TripleKill) package Assets.Achievements { import flash.display.*; public dynamic class TripleKill extends BitmapData { public function TripleKill(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 11
//Untouchable (Assets.Achievements.Untouchable) package Assets.Achievements { import flash.display.*; public dynamic class Untouchable extends BitmapData { public function Untouchable(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 12
//YouAreAGod (Assets.Achievements.YouAreAGod) package Assets.Achievements { import flash.display.*; public dynamic class YouAreAGod extends BitmapData { public function YouAreAGod(w:Number, h:Number){ super(w, h); } } }//package Assets.Achievements
Section 13
//BodyParts1 (Assets.CorpseExplosion.BodyParts1) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts1 extends BitmapData { public function BodyParts1(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 14
//BodyParts10 (Assets.CorpseExplosion.BodyParts10) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts10 extends BitmapData { public function BodyParts10(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 15
//BodyParts11 (Assets.CorpseExplosion.BodyParts11) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts11 extends BitmapData { public function BodyParts11(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 16
//BodyParts12 (Assets.CorpseExplosion.BodyParts12) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts12 extends BitmapData { public function BodyParts12(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 17
//BodyParts13 (Assets.CorpseExplosion.BodyParts13) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts13 extends BitmapData { public function BodyParts13(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 18
//BodyParts14 (Assets.CorpseExplosion.BodyParts14) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts14 extends BitmapData { public function BodyParts14(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 19
//BodyParts15 (Assets.CorpseExplosion.BodyParts15) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts15 extends BitmapData { public function BodyParts15(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 20
//BodyParts16 (Assets.CorpseExplosion.BodyParts16) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts16 extends BitmapData { public function BodyParts16(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 21
//BodyParts17 (Assets.CorpseExplosion.BodyParts17) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts17 extends BitmapData { public function BodyParts17(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 22
//BodyParts18 (Assets.CorpseExplosion.BodyParts18) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts18 extends BitmapData { public function BodyParts18(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 23
//BodyParts19 (Assets.CorpseExplosion.BodyParts19) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts19 extends BitmapData { public function BodyParts19(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 24
//BodyParts2 (Assets.CorpseExplosion.BodyParts2) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts2 extends BitmapData { public function BodyParts2(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 25
//BodyParts20 (Assets.CorpseExplosion.BodyParts20) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts20 extends BitmapData { public function BodyParts20(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 26
//BodyParts21 (Assets.CorpseExplosion.BodyParts21) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts21 extends BitmapData { public function BodyParts21(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 27
//BodyParts22 (Assets.CorpseExplosion.BodyParts22) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts22 extends BitmapData { public function BodyParts22(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 28
//BodyParts23 (Assets.CorpseExplosion.BodyParts23) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts23 extends BitmapData { public function BodyParts23(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 29
//BodyParts3 (Assets.CorpseExplosion.BodyParts3) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts3 extends BitmapData { public function BodyParts3(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 30
//BodyParts4 (Assets.CorpseExplosion.BodyParts4) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts4 extends BitmapData { public function BodyParts4(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 31
//BodyParts5 (Assets.CorpseExplosion.BodyParts5) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts5 extends BitmapData { public function BodyParts5(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 32
//BodyParts6 (Assets.CorpseExplosion.BodyParts6) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts6 extends BitmapData { public function BodyParts6(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 33
//BodyParts7 (Assets.CorpseExplosion.BodyParts7) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts7 extends BitmapData { public function BodyParts7(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 34
//BodyParts8 (Assets.CorpseExplosion.BodyParts8) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts8 extends BitmapData { public function BodyParts8(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 35
//BodyParts9 (Assets.CorpseExplosion.BodyParts9) package Assets.CorpseExplosion { import flash.display.*; public dynamic class BodyParts9 extends BitmapData { public function BodyParts9(w:Number, h:Number){ super(w, h); } } }//package Assets.CorpseExplosion
Section 36
//ExplosionA1 (Assets.Explosions.ExplosionA1) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA1 extends BitmapData { public function ExplosionA1(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 37
//ExplosionA10 (Assets.Explosions.ExplosionA10) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA10 extends BitmapData { public function ExplosionA10(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 38
//ExplosionA11 (Assets.Explosions.ExplosionA11) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA11 extends BitmapData { public function ExplosionA11(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 39
//ExplosionA12 (Assets.Explosions.ExplosionA12) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA12 extends BitmapData { public function ExplosionA12(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 40
//ExplosionA13 (Assets.Explosions.ExplosionA13) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA13 extends BitmapData { public function ExplosionA13(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 41
//ExplosionA14 (Assets.Explosions.ExplosionA14) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA14 extends BitmapData { public function ExplosionA14(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 42
//ExplosionA15 (Assets.Explosions.ExplosionA15) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA15 extends BitmapData { public function ExplosionA15(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 43
//ExplosionA16 (Assets.Explosions.ExplosionA16) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA16 extends BitmapData { public function ExplosionA16(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 44
//ExplosionA2 (Assets.Explosions.ExplosionA2) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA2 extends BitmapData { public function ExplosionA2(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 45
//ExplosionA3 (Assets.Explosions.ExplosionA3) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA3 extends BitmapData { public function ExplosionA3(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 46
//ExplosionA4 (Assets.Explosions.ExplosionA4) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA4 extends BitmapData { public function ExplosionA4(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 47
//ExplosionA5 (Assets.Explosions.ExplosionA5) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA5 extends BitmapData { public function ExplosionA5(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 48
//ExplosionA6 (Assets.Explosions.ExplosionA6) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA6 extends BitmapData { public function ExplosionA6(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 49
//ExplosionA7 (Assets.Explosions.ExplosionA7) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA7 extends BitmapData { public function ExplosionA7(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 50
//ExplosionA8 (Assets.Explosions.ExplosionA8) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA8 extends BitmapData { public function ExplosionA8(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 51
//ExplosionA9 (Assets.Explosions.ExplosionA9) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionA9 extends BitmapData { public function ExplosionA9(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 52
//ExplosionB1 (Assets.Explosions.ExplosionB1) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB1 extends BitmapData { public function ExplosionB1(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 53
//ExplosionB10 (Assets.Explosions.ExplosionB10) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB10 extends BitmapData { public function ExplosionB10(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 54
//ExplosionB11 (Assets.Explosions.ExplosionB11) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB11 extends BitmapData { public function ExplosionB11(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 55
//ExplosionB12 (Assets.Explosions.ExplosionB12) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB12 extends BitmapData { public function ExplosionB12(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 56
//ExplosionB13 (Assets.Explosions.ExplosionB13) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB13 extends BitmapData { public function ExplosionB13(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 57
//ExplosionB14 (Assets.Explosions.ExplosionB14) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB14 extends BitmapData { public function ExplosionB14(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 58
//ExplosionB15 (Assets.Explosions.ExplosionB15) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB15 extends BitmapData { public function ExplosionB15(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 59
//ExplosionB16 (Assets.Explosions.ExplosionB16) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB16 extends BitmapData { public function ExplosionB16(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 60
//ExplosionB2 (Assets.Explosions.ExplosionB2) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB2 extends BitmapData { public function ExplosionB2(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 61
//ExplosionB3 (Assets.Explosions.ExplosionB3) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB3 extends BitmapData { public function ExplosionB3(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 62
//ExplosionB4 (Assets.Explosions.ExplosionB4) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB4 extends BitmapData { public function ExplosionB4(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 63
//ExplosionB5 (Assets.Explosions.ExplosionB5) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB5 extends BitmapData { public function ExplosionB5(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 64
//ExplosionB6 (Assets.Explosions.ExplosionB6) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB6 extends BitmapData { public function ExplosionB6(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 65
//ExplosionB7 (Assets.Explosions.ExplosionB7) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB7 extends BitmapData { public function ExplosionB7(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 66
//ExplosionB8 (Assets.Explosions.ExplosionB8) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB8 extends BitmapData { public function ExplosionB8(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 67
//ExplosionB9 (Assets.Explosions.ExplosionB9) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionB9 extends BitmapData { public function ExplosionB9(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 68
//ExplosionC1 (Assets.Explosions.ExplosionC1) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC1 extends BitmapData { public function ExplosionC1(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 69
//ExplosionC10 (Assets.Explosions.ExplosionC10) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC10 extends BitmapData { public function ExplosionC10(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 70
//ExplosionC11 (Assets.Explosions.ExplosionC11) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC11 extends BitmapData { public function ExplosionC11(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 71
//ExplosionC12 (Assets.Explosions.ExplosionC12) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC12 extends BitmapData { public function ExplosionC12(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 72
//ExplosionC13 (Assets.Explosions.ExplosionC13) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC13 extends BitmapData { public function ExplosionC13(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 73
//ExplosionC14 (Assets.Explosions.ExplosionC14) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC14 extends BitmapData { public function ExplosionC14(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 74
//ExplosionC15 (Assets.Explosions.ExplosionC15) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC15 extends BitmapData { public function ExplosionC15(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 75
//ExplosionC16 (Assets.Explosions.ExplosionC16) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC16 extends BitmapData { public function ExplosionC16(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 76
//ExplosionC2 (Assets.Explosions.ExplosionC2) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC2 extends BitmapData { public function ExplosionC2(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 77
//ExplosionC3 (Assets.Explosions.ExplosionC3) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC3 extends BitmapData { public function ExplosionC3(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 78
//ExplosionC4 (Assets.Explosions.ExplosionC4) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC4 extends BitmapData { public function ExplosionC4(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 79
//ExplosionC5 (Assets.Explosions.ExplosionC5) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC5 extends BitmapData { public function ExplosionC5(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 80
//ExplosionC6 (Assets.Explosions.ExplosionC6) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC6 extends BitmapData { public function ExplosionC6(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 81
//ExplosionC7 (Assets.Explosions.ExplosionC7) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC7 extends BitmapData { public function ExplosionC7(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 82
//ExplosionC8 (Assets.Explosions.ExplosionC8) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC8 extends BitmapData { public function ExplosionC8(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 83
//ExplosionC9 (Assets.Explosions.ExplosionC9) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionC9 extends BitmapData { public function ExplosionC9(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 84
//ExplosionD1 (Assets.Explosions.ExplosionD1) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD1 extends BitmapData { public function ExplosionD1(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 85
//ExplosionD10 (Assets.Explosions.ExplosionD10) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD10 extends BitmapData { public function ExplosionD10(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 86
//ExplosionD11 (Assets.Explosions.ExplosionD11) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD11 extends BitmapData { public function ExplosionD11(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 87
//ExplosionD12 (Assets.Explosions.ExplosionD12) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD12 extends BitmapData { public function ExplosionD12(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 88
//ExplosionD13 (Assets.Explosions.ExplosionD13) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD13 extends BitmapData { public function ExplosionD13(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 89
//ExplosionD14 (Assets.Explosions.ExplosionD14) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD14 extends BitmapData { public function ExplosionD14(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 90
//ExplosionD15 (Assets.Explosions.ExplosionD15) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD15 extends BitmapData { public function ExplosionD15(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 91
//ExplosionD16 (Assets.Explosions.ExplosionD16) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD16 extends BitmapData { public function ExplosionD16(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 92
//ExplosionD2 (Assets.Explosions.ExplosionD2) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD2 extends BitmapData { public function ExplosionD2(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 93
//ExplosionD3 (Assets.Explosions.ExplosionD3) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD3 extends BitmapData { public function ExplosionD3(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 94
//ExplosionD4 (Assets.Explosions.ExplosionD4) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD4 extends BitmapData { public function ExplosionD4(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 95
//ExplosionD5 (Assets.Explosions.ExplosionD5) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD5 extends BitmapData { public function ExplosionD5(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 96
//ExplosionD6 (Assets.Explosions.ExplosionD6) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD6 extends BitmapData { public function ExplosionD6(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 97
//ExplosionD7 (Assets.Explosions.ExplosionD7) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD7 extends BitmapData { public function ExplosionD7(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 98
//ExplosionD8 (Assets.Explosions.ExplosionD8) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD8 extends BitmapData { public function ExplosionD8(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 99
//ExplosionD9 (Assets.Explosions.ExplosionD9) package Assets.Explosions { import flash.display.*; public dynamic class ExplosionD9 extends BitmapData { public function ExplosionD9(w:Number, h:Number){ super(w, h); } } }//package Assets.Explosions
Section 100
//DualPistolsBlack (Assets.Guns.DualPistolsBlack) package Assets.Guns { import flash.display.*; public dynamic class DualPistolsBlack extends BitmapData { public function DualPistolsBlack(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 101
//DualPistolsGrey (Assets.Guns.DualPistolsGrey) package Assets.Guns { import flash.display.*; public dynamic class DualPistolsGrey extends BitmapData { public function DualPistolsGrey(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 102
//DualPistolsIcon (Assets.Guns.DualPistolsIcon) package Assets.Guns { import flash.display.*; public dynamic class DualPistolsIcon extends BitmapData { public function DualPistolsIcon(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 103
//DualPistolsWhite (Assets.Guns.DualPistolsWhite) package Assets.Guns { import flash.display.*; public dynamic class DualPistolsWhite extends BitmapData { public function DualPistolsWhite(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 104
//Grenade1 (Assets.Guns.Grenade1) package Assets.Guns { import flash.display.*; public dynamic class Grenade1 extends BitmapData { public function Grenade1(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 105
//Grenade2 (Assets.Guns.Grenade2) package Assets.Guns { import flash.display.*; public dynamic class Grenade2 extends BitmapData { public function Grenade2(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 106
//Grenade3 (Assets.Guns.Grenade3) package Assets.Guns { import flash.display.*; public dynamic class Grenade3 extends BitmapData { public function Grenade3(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 107
//Grenade4 (Assets.Guns.Grenade4) package Assets.Guns { import flash.display.*; public dynamic class Grenade4 extends BitmapData { public function Grenade4(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 108
//Grenade5 (Assets.Guns.Grenade5) package Assets.Guns { import flash.display.*; public dynamic class Grenade5 extends BitmapData { public function Grenade5(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 109
//Grenade6 (Assets.Guns.Grenade6) package Assets.Guns { import flash.display.*; public dynamic class Grenade6 extends BitmapData { public function Grenade6(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 110
//GrenadeAvailable (Assets.Guns.GrenadeAvailable) package Assets.Guns { import flash.display.*; public dynamic class GrenadeAvailable extends BitmapData { public function GrenadeAvailable(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 111
//GrenadeCover (Assets.Guns.GrenadeCover) package Assets.Guns { import flash.display.*; public dynamic class GrenadeCover extends BitmapData { public function GrenadeCover(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 112
//GrenadeUnavailable (Assets.Guns.GrenadeUnavailable) package Assets.Guns { import flash.display.*; public dynamic class GrenadeUnavailable extends BitmapData { public function GrenadeUnavailable(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 113
//HeavyMachineGunBlack (Assets.Guns.HeavyMachineGunBlack) package Assets.Guns { import flash.display.*; public dynamic class HeavyMachineGunBlack extends BitmapData { public function HeavyMachineGunBlack(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 114
//HeavyMachineGunGrey (Assets.Guns.HeavyMachineGunGrey) package Assets.Guns { import flash.display.*; public dynamic class HeavyMachineGunGrey extends BitmapData { public function HeavyMachineGunGrey(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 115
//HeavyMachinegunIcon (Assets.Guns.HeavyMachinegunIcon) package Assets.Guns { import flash.display.*; public dynamic class HeavyMachinegunIcon extends BitmapData { public function HeavyMachinegunIcon(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 116
//HeavyMachineGunWhite (Assets.Guns.HeavyMachineGunWhite) package Assets.Guns { import flash.display.*; public dynamic class HeavyMachineGunWhite extends BitmapData { public function HeavyMachineGunWhite(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 117
//LightMachineGunBlack (Assets.Guns.LightMachineGunBlack) package Assets.Guns { import flash.display.*; public dynamic class LightMachineGunBlack extends BitmapData { public function LightMachineGunBlack(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 118
//LightMachineGunGrey (Assets.Guns.LightMachineGunGrey) package Assets.Guns { import flash.display.*; public dynamic class LightMachineGunGrey extends BitmapData { public function LightMachineGunGrey(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 119
//LightMachinegunIcon (Assets.Guns.LightMachinegunIcon) package Assets.Guns { import flash.display.*; public dynamic class LightMachinegunIcon extends BitmapData { public function LightMachinegunIcon(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 120
//LightMachineGunWhite (Assets.Guns.LightMachineGunWhite) package Assets.Guns { import flash.display.*; public dynamic class LightMachineGunWhite extends BitmapData { public function LightMachineGunWhite(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 121
//MediumMachineGunBlack (Assets.Guns.MediumMachineGunBlack) package Assets.Guns { import flash.display.*; public dynamic class MediumMachineGunBlack extends BitmapData { public function MediumMachineGunBlack(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 122
//MediumMachineGunGrey (Assets.Guns.MediumMachineGunGrey) package Assets.Guns { import flash.display.*; public dynamic class MediumMachineGunGrey extends BitmapData { public function MediumMachineGunGrey(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 123
//MediumMachinegunIcon (Assets.Guns.MediumMachinegunIcon) package Assets.Guns { import flash.display.*; public dynamic class MediumMachinegunIcon extends BitmapData { public function MediumMachinegunIcon(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 124
//MediumMachineGunWhite (Assets.Guns.MediumMachineGunWhite) package Assets.Guns { import flash.display.*; public dynamic class MediumMachineGunWhite extends BitmapData { public function MediumMachineGunWhite(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 125
//PistolBlack (Assets.Guns.PistolBlack) package Assets.Guns { import flash.display.*; public dynamic class PistolBlack extends BitmapData { public function PistolBlack(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 126
//PistolGrey (Assets.Guns.PistolGrey) package Assets.Guns { import flash.display.*; public dynamic class PistolGrey extends BitmapData { public function PistolGrey(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 127
//PistolIcon (Assets.Guns.PistolIcon) package Assets.Guns { import flash.display.*; public dynamic class PistolIcon extends BitmapData { public function PistolIcon(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 128
//PistolWhite (Assets.Guns.PistolWhite) package Assets.Guns { import flash.display.*; public dynamic class PistolWhite extends BitmapData { public function PistolWhite(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 129
//RocketLauncherBlack (Assets.Guns.RocketLauncherBlack) package Assets.Guns { import flash.display.*; public dynamic class RocketLauncherBlack extends BitmapData { public function RocketLauncherBlack(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 130
//RocketLauncherGrey (Assets.Guns.RocketLauncherGrey) package Assets.Guns { import flash.display.*; public dynamic class RocketLauncherGrey extends BitmapData { public function RocketLauncherGrey(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 131
//RocketLauncherIcon (Assets.Guns.RocketLauncherIcon) package Assets.Guns { import flash.display.*; public dynamic class RocketLauncherIcon extends BitmapData { public function RocketLauncherIcon(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 132
//RocketLauncherWhite (Assets.Guns.RocketLauncherWhite) package Assets.Guns { import flash.display.*; public dynamic class RocketLauncherWhite extends BitmapData { public function RocketLauncherWhite(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 133
//ShotgunBlack (Assets.Guns.ShotgunBlack) package Assets.Guns { import flash.display.*; public dynamic class ShotgunBlack extends BitmapData { public function ShotgunBlack(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 134
//ShotgunGrey (Assets.Guns.ShotgunGrey) package Assets.Guns { import flash.display.*; public dynamic class ShotgunGrey extends BitmapData { public function ShotgunGrey(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 135
//ShotgunIcon (Assets.Guns.ShotgunIcon) package Assets.Guns { import flash.display.*; public dynamic class ShotgunIcon extends BitmapData { public function ShotgunIcon(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 136
//ShotgunWhite (Assets.Guns.ShotgunWhite) package Assets.Guns { import flash.display.*; public dynamic class ShotgunWhite extends BitmapData { public function ShotgunWhite(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 137
//Sniper1Black (Assets.Guns.Sniper1Black) package Assets.Guns { import flash.display.*; public dynamic class Sniper1Black extends BitmapData { public function Sniper1Black(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 138
//Sniper1Grey (Assets.Guns.Sniper1Grey) package Assets.Guns { import flash.display.*; public dynamic class Sniper1Grey extends BitmapData { public function Sniper1Grey(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 139
//Sniper1Icon (Assets.Guns.Sniper1Icon) package Assets.Guns { import flash.display.*; public dynamic class Sniper1Icon extends BitmapData { public function Sniper1Icon(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 140
//Sniper1White (Assets.Guns.Sniper1White) package Assets.Guns { import flash.display.*; public dynamic class Sniper1White extends BitmapData { public function Sniper1White(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 141
//Sniper2Black (Assets.Guns.Sniper2Black) package Assets.Guns { import flash.display.*; public dynamic class Sniper2Black extends BitmapData { public function Sniper2Black(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 142
//Sniper2Grey (Assets.Guns.Sniper2Grey) package Assets.Guns { import flash.display.*; public dynamic class Sniper2Grey extends BitmapData { public function Sniper2Grey(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 143
//Sniper2Icon (Assets.Guns.Sniper2Icon) package Assets.Guns { import flash.display.*; public dynamic class Sniper2Icon extends BitmapData { public function Sniper2Icon(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 144
//Sniper2White (Assets.Guns.Sniper2White) package Assets.Guns { import flash.display.*; public dynamic class Sniper2White extends BitmapData { public function Sniper2White(w:Number, h:Number){ super(w, h); } } }//package Assets.Guns
Section 145
//Flash1 (Assets.Man.Flash1) package Assets.Man { import flash.display.*; public dynamic class Flash1 extends BitmapData { public function Flash1(w:Number, h:Number){ super(w, h); } } }//package Assets.Man
Section 146
//Flash2 (Assets.Man.Flash2) package Assets.Man { import flash.display.*; public dynamic class Flash2 extends BitmapData { public function Flash2(w:Number, h:Number){ super(w, h); } } }//package Assets.Man
Section 147
//Flash3 (Assets.Man.Flash3) package Assets.Man { import flash.display.*; public dynamic class Flash3 extends BitmapData { public function Flash3(w:Number, h:Number){ super(w, h); } } }//package Assets.Man
Section 148
//Flash4 (Assets.Man.Flash4) package Assets.Man { import flash.display.*; public dynamic class Flash4 extends BitmapData { public function Flash4(w:Number, h:Number){ super(w, h); } } }//package Assets.Man
Section 149
//Man1 (Assets.Man.Man1) package Assets.Man { import flash.display.*; public dynamic class Man1 extends BitmapData { public function Man1(w:Number, h:Number){ super(w, h); } } }//package Assets.Man
Section 150
//Man2 (Assets.Man.Man2) package Assets.Man { import flash.display.*; public dynamic class Man2 extends BitmapData { public function Man2(w:Number, h:Number){ super(w, h); } } }//package Assets.Man
Section 151
//Man3 (Assets.Man.Man3) package Assets.Man { import flash.display.*; public dynamic class Man3 extends BitmapData { public function Man3(w:Number, h:Number){ super(w, h); } } }//package Assets.Man
Section 152
//Man4 (Assets.Man.Man4) package Assets.Man { import flash.display.*; public dynamic class Man4 extends BitmapData { public function Man4(w:Number, h:Number){ super(w, h); } } }//package Assets.Man
Section 153
//ShopButtonAvailable (Assets.Shop.ShopButtonAvailable) package Assets.Shop { import flash.display.*; public dynamic class ShopButtonAvailable extends BitmapData { public function ShopButtonAvailable(w:Number, h:Number){ super(w, h); } } }//package Assets.Shop
Section 154
//ShopButtonBought (Assets.Shop.ShopButtonBought) package Assets.Shop { import flash.display.*; public dynamic class ShopButtonBought extends BitmapData { public function ShopButtonBought(w:Number, h:Number){ super(w, h); } } }//package Assets.Shop
Section 155
//ShopButtonUnavailable (Assets.Shop.ShopButtonUnavailable) package Assets.Shop { import flash.display.*; public dynamic class ShopButtonUnavailable extends BitmapData { public function ShopButtonUnavailable(w:Number, h:Number){ super(w, h); } } }//package Assets.Shop
Section 156
//Explosions (Assets.Sounds.Explosions) package Assets.Sounds { import flash.media.*; public dynamic class Explosions extends Sound { public function Explosions(){ super(); } } }//package Assets.Sounds
Section 157
//GameMusic (Assets.Sounds.GameMusic) package Assets.Sounds { import flash.media.*; public dynamic class GameMusic extends Sound { public function GameMusic(){ super(); } } }//package Assets.Sounds
Section 158
//GrenadeExplosion (Assets.Sounds.GrenadeExplosion) package Assets.Sounds { import flash.media.*; public dynamic class GrenadeExplosion extends Sound { public function GrenadeExplosion(){ super(); } } }//package Assets.Sounds
Section 159
//HeavyMachineGun (Assets.Sounds.HeavyMachineGun) package Assets.Sounds { import flash.media.*; public dynamic class HeavyMachineGun extends Sound { public function HeavyMachineGun(){ super(); } } }//package Assets.Sounds
Section 160
//Holddemzombies (Assets.Sounds.Holddemzombies) package Assets.Sounds { import flash.media.*; public dynamic class Holddemzombies extends Sound { public function Holddemzombies(){ super(); } } }//package Assets.Sounds
Section 161
//JetFlyBy (Assets.Sounds.JetFlyBy) package Assets.Sounds { import flash.media.*; public dynamic class JetFlyBy extends Sound { public function JetFlyBy(){ super(); } } }//package Assets.Sounds
Section 162
//LightMachineGun (Assets.Sounds.LightMachineGun) package Assets.Sounds { import flash.media.*; public dynamic class LightMachineGun extends Sound { public function LightMachineGun(){ super(); } } }//package Assets.Sounds
Section 163
//Loserasssave (Assets.Sounds.Loserasssave) package Assets.Sounds { import flash.media.*; public dynamic class Loserasssave extends Sound { public function Loserasssave(){ super(); } } }//package Assets.Sounds
Section 164
//MediumMachineGun (Assets.Sounds.MediumMachineGun) package Assets.Sounds { import flash.media.*; public dynamic class MediumMachineGun extends Sound { public function MediumMachineGun(){ super(); } } }//package Assets.Sounds
Section 165
//MenuMusic (Assets.Sounds.MenuMusic) package Assets.Sounds { import flash.media.*; public dynamic class MenuMusic extends Sound { public function MenuMusic(){ super(); } } }//package Assets.Sounds
Section 166
//Motherproudwithhis (Assets.Sounds.Motherproudwithhis) package Assets.Sounds { import flash.media.*; public dynamic class Motherproudwithhis extends Sound { public function Motherproudwithhis(){ super(); } } }//package Assets.Sounds
Section 167
//Pistol (Assets.Sounds.Pistol) package Assets.Sounds { import flash.media.*; public dynamic class Pistol extends Sound { public function Pistol(){ super(); } } }//package Assets.Sounds
Section 168
//Reload (Assets.Sounds.Reload) package Assets.Sounds { import flash.media.*; public dynamic class Reload extends Sound { public function Reload(){ super(); } } }//package Assets.Sounds
Section 169
//RocketExplosion (Assets.Sounds.RocketExplosion) package Assets.Sounds { import flash.media.*; public dynamic class RocketExplosion extends Sound { public function RocketExplosion(){ super(); } } }//package Assets.Sounds
Section 170
//s30isgameover (Assets.Sounds.s30isgameover) package Assets.Sounds { import flash.media.*; public dynamic class s30isgameover extends Sound { public function s30isgameover(){ super(); } } }//package Assets.Sounds
Section 171
//Shotgun (Assets.Sounds.Shotgun) package Assets.Sounds { import flash.media.*; public dynamic class Shotgun extends Sound { public function Shotgun(){ super(); } } }//package Assets.Sounds
Section 172
//Sniper (Assets.Sounds.Sniper) package Assets.Sounds { import flash.media.*; public dynamic class Sniper extends Sound { public function Sniper(){ super(); } } }//package Assets.Sounds
Section 173
//Tick (Assets.Sounds.Tick) package Assets.Sounds { import flash.media.*; public dynamic class Tick extends Sound { public function Tick(){ super(); } } }//package Assets.Sounds
Section 174
//WeJustLostThisWar (Assets.Sounds.WeJustLostThisWar) package Assets.Sounds { import flash.media.*; public dynamic class WeJustLostThisWar extends Sound { public function WeJustLostThisWar(){ super(); } } }//package Assets.Sounds
Section 175
//WinMusic (Assets.Sounds.WinMusic) package Assets.Sounds { import flash.media.*; public dynamic class WinMusic extends Sound { public function WinMusic(){ super(); } } }//package Assets.Sounds
Section 176
//Footprint1 (Assets.Zombies.Footprint1) package Assets.Zombies { import flash.display.*; public dynamic class Footprint1 extends BitmapData { public function Footprint1(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 177
//Footprint2 (Assets.Zombies.Footprint2) package Assets.Zombies { import flash.display.*; public dynamic class Footprint2 extends BitmapData { public function Footprint2(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 178
//Footprint3 (Assets.Zombies.Footprint3) package Assets.Zombies { import flash.display.*; public dynamic class Footprint3 extends BitmapData { public function Footprint3(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 179
//Footprint4 (Assets.Zombies.Footprint4) package Assets.Zombies { import flash.display.*; public dynamic class Footprint4 extends BitmapData { public function Footprint4(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 180
//Footprint5 (Assets.Zombies.Footprint5) package Assets.Zombies { import flash.display.*; public dynamic class Footprint5 extends BitmapData { public function Footprint5(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 181
//Zombie1 (Assets.Zombies.Zombie1) package Assets.Zombies { import flash.display.*; public dynamic class Zombie1 extends BitmapData { public function Zombie1(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 182
//Zombie2 (Assets.Zombies.Zombie2) package Assets.Zombies { import flash.display.*; public dynamic class Zombie2 extends BitmapData { public function Zombie2(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 183
//Zombie3 (Assets.Zombies.Zombie3) package Assets.Zombies { import flash.display.*; public dynamic class Zombie3 extends BitmapData { public function Zombie3(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 184
//Zombie4 (Assets.Zombies.Zombie4) package Assets.Zombies { import flash.display.*; public dynamic class Zombie4 extends BitmapData { public function Zombie4(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 185
//Zombie5 (Assets.Zombies.Zombie5) package Assets.Zombies { import flash.display.*; public dynamic class Zombie5 extends BitmapData { public function Zombie5(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 186
//Zombie6 (Assets.Zombies.Zombie6) package Assets.Zombies { import flash.display.*; public dynamic class Zombie6 extends BitmapData { public function Zombie6(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 187
//Zombie7 (Assets.Zombies.Zombie7) package Assets.Zombies { import flash.display.*; public dynamic class Zombie7 extends BitmapData { public function Zombie7(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 188
//Zombie8 (Assets.Zombies.Zombie8) package Assets.Zombies { import flash.display.*; public dynamic class Zombie8 extends BitmapData { public function Zombie8(w:Number, h:Number){ super(w, h); } } }//package Assets.Zombies
Section 189
//Background (Assets.Background) package Assets { import flash.display.*; public dynamic class Background extends BitmapData { public function Background(w:Number, h:Number){ super(w, h); } } }//package Assets
Section 190
//BackgroundOverlay (Assets.BackgroundOverlay) package Assets { import flash.display.*; public dynamic class BackgroundOverlay extends BitmapData { public function BackgroundOverlay(w:Number, h:Number){ super(w, h); } } }//package Assets
Section 191
//BulletOff (Assets.BulletOff) package Assets { import flash.display.*; public dynamic class BulletOff extends BitmapData { public function BulletOff(w:Number, h:Number){ super(w, h); } } }//package Assets
Section 192
//BulletOn (Assets.BulletOn) package Assets { import flash.display.*; public dynamic class BulletOn extends BitmapData { public function BulletOn(w:Number, h:Number){ super(w, h); } } }//package Assets
Section 193
//Clouds (Assets.Clouds) package Assets { import flash.display.*; public dynamic class Clouds extends BitmapData { public function Clouds(w:Number, h:Number){ super(w, h); } } }//package Assets
Section 194
//CrossHair (Assets.CrossHair) package Assets { import flash.display.*; public dynamic class CrossHair extends BitmapData { public function CrossHair(w:Number, h:Number){ super(w, h); } } }//package Assets
Section 195
//Jet (Assets.Jet) package Assets { import flash.display.*; public dynamic class Jet extends BitmapData { public function Jet(w:Number, h:Number){ super(w, h); } } }//package Assets
Section 196
//PathMap (Assets.PathMap) package Assets { import flash.display.*; public dynamic class PathMap extends BitmapData { public function PathMap(w:Number, h:Number){ super(w, h); } } }//package Assets
Section 197
//ReloadMessage (Assets.ReloadMessage) package Assets { import flash.display.*; public dynamic class ReloadMessage extends BitmapData { public function ReloadMessage(w:Number, h:Number){ super(w, h); } } }//package Assets
Section 198
//Splash (InFlashStudios.Splash) package InFlashStudios { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.filters.*; public class Splash extends MovieClip { private var Counter:int;// = 0 private var Ticker:Timer; private var OnComplete:Function; private var Blur:Number;// = 1 public var Logo:MovieClip; public function Splash(holder:Stage, oncomplete:Function){ Counter = 0; Blur = 1; super(); holder.addChild(this); this.OnComplete = oncomplete; this.alpha = 0; this.mouseChildren = false; this.buttonMode = true; this.useHandCursor = true; this.Ticker = new Timer(25); this.Ticker.addEventListener(TimerEvent.TIMER, this.FadeIn); this.Ticker.start(); } private function OpenIFS(e:MouseEvent):void{ navigateToURL(new URLRequest("http://www.inflashstudios.com/"), "_blank"); } private function Tick(e:Event):void{ this.Counter++; if (this.alpha < 0){ this.Ticker.removeEventListener(TimerEvent.TIMER, this.Tick); this.parent.removeChild(this); this.OnComplete(); return; }; if (this.Counter > 50){ Blur = (Blur + 0.5); this.Logo.filters = [new BlurFilter(Blur, Blur)]; this.alpha = (this.alpha - 0.01); }; } private function FadeIn(e:Event):void{ this.alpha = (this.alpha + 0.02); if (this.alpha >= 1){ this.Ticker.removeEventListener(TimerEvent.TIMER, this.FadeIn); this.Ticker.addEventListener(TimerEvent.TIMER, this.Tick); }; } } }//package InFlashStudios
Section 199
//MochiAd (mochi.as3.MochiAd) package mochi.as3 { import flash.events.*; import flash.display.*; import flash.utils.*; import flash.net.*; import flash.system.*; public class MochiAd { public function MochiAd(){ super(); } public static function getVersion():String{ return ("3.0 as3"); } public static function showClickAwayAd(options:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_timeout:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var sendHostProgress:Boolean; var options = options; DEFAULTS = {ad_timeout:2000, regpt:"o", method:"showClickAwayAd", res:"300x250", no_bg:true, ad_started:function ():void{ }, ad_finished:function ():void{ }, ad_loaded:function (width:Number, height:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; ad_timeout = options.ad_timeout; delete options.ad_timeout; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.rpc = function (callbackID:Number, arg:Object):void{ MochiAd.rpc(clip, callbackID, arg); }; sendHostProgress = false; mc.regContLC = function (lc_name:String):void{ mc._containerLCName = lc_name; }; chk["onEnterFrame"] = function ():void{ var ad_clip:Object; var elapsed:Number; var finished:Boolean; var total:Number; if (!this.parent){ delete this.onEnterFrame; return; }; ad_clip = this.parent._mochiad_ctr; elapsed = (getTimer() - this.started); finished = false; if (!chk.showing){ total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (total > 0){ chk.showing = true; finished = true; chk.started = getTimer(); } else { if (elapsed > chk.ad_timeout){ options.ad_failed(); finished = true; }; }; }; if (this.root == null){ finished = true; }; if (finished){ delete this.onEnterFrame; }; }; doOnEnterFrame(chk); } public static function _isNetworkAvailable():Boolean{ return (!((Security.sandboxType == "localWithFile"))); } public static function _allowDomains(server:String):String{ var hostname:String; hostname = server.split("/")[2].split(":")[0]; if (Security.sandboxType == "application"){ return (hostname); }; Security.allowDomain("*"); Security.allowDomain(hostname); Security.allowInsecureDomain("*"); Security.allowInsecureDomain(hostname); return (hostname); } public static function unload(clip:Object):Boolean{ if (((clip.clip) && (clip.clip._mochiad))){ clip = clip.clip; }; if (clip.origFrameRate != undefined){ clip.stage.frameRate = clip.origFrameRate; }; if (!clip._mochiad){ return (false); }; if (clip._mochiad._containerLCName != undefined){ clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"unload"}); }; if (clip._mochiad.onUnload){ clip._mochiad.onUnload(); }; delete clip._mochiad_loaded; delete clip._mochiad; return (true); } public static function showInterLevelAd(options:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var options = options; DEFAULTS = {ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showInterLevelAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (width:Number, height:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); clip = options.clip; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ MochiAd._cleanup(mc); options.ad_finished(); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var p:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; p = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (p > 0){ this.parent.alpha = (p * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; mc.unloadAd = function ():void{ MochiAd.unload(clip); }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (msec:Number):void{ var _chk:Object; _chk = mc._mochiad_wait; _chk.server_control = true; _chk.showing = true; _chk.started = getTimer(); _chk.ad_msec = (msec - 250); }; mc.rpc = function (callbackID:Number, arg:Object):void{ MochiAd.rpc(clip, callbackID, arg); }; chk["onEnterFrame"] = function ():void{ var ad_clip:Object; var elapsed:Number; var finished:Boolean; var total:Number; if (!this.parent){ delete this.onEnterFrame; delete this.fadeFunction; return; }; ad_clip = this.parent._mochiad_ctr; elapsed = (getTimer() - this.started); finished = false; if (!chk.showing){ total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (total > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if (elapsed > chk.ad_timeout){ options.ad_failed(); finished = true; }; }; }; if (elapsed > chk.ad_msec){ finished = true; }; if (finished){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = this.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function _parseOptions(options:Object, defaults:Object):Object{ var optcopy:Object; var k:String; var pairs:Array; var i:Number; var kv:Array; optcopy = {}; for (k in defaults) { optcopy[k] = defaults[k]; }; if (options){ for (k in options) { optcopy[k] = options[k]; }; }; if (optcopy.clip == undefined){ throw (new Error("MochiAd is missing the 'clip' parameter. This should be a MovieClip, Sprite or an instance of a class that extends MovieClip or Sprite.")); }; options = optcopy.clip.loaderInfo.parameters.mochiad_options; if (options){ pairs = options.split("&"); i = 0; while (i < pairs.length) { kv = pairs[i].split("="); optcopy[unescape(kv[0])] = unescape(kv[1]); i++; }; }; if (optcopy.id == "test"){ trace("[MochiAd] WARNING: Using the MochiAds test identifier, make sure to use the code from your dashboard, not this example!"); }; return (optcopy); } public static function _cleanup(mc:Object):void{ var idx:Number; var k:String; var lc:LocalConnection; var f:Function; var mc = mc; if (("lc" in mc)){ lc = mc.lc; f = function ():void{ lc.client = null; lc.close(); //unresolved jump var _slot1 = e; }; setTimeout(f, 0); }; idx = DisplayObjectContainer(mc).numChildren; while (idx > 0) { idx = (idx - 1); DisplayObjectContainer(mc).removeChildAt(idx); }; for (k in mc) { delete mc[k]; }; } public static function load(options:Object):MovieClip{ var DEFAULTS:Object; var clip:Object; var depth:Number; var mc:MovieClip; var wh:Array; var lv:URLVariables; var k:String; var server:String; var hostname:String; var lc:LocalConnection; var name:String; var loader:Loader; var g:Function; var req:URLRequest; var v:Object; var options = options; DEFAULTS = {server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"}; options = MochiAd._parseOptions(options, DEFAULTS); options.swfv = 9; options.mav = MochiAd.getVersion(); clip = options.clip; if (!MochiAd._isNetworkAvailable()){ return (null); }; if (clip._mochiad_loaded){ return (null); }; //unresolved jump var _slot1 = e; throw (new Error("MochiAd requires a clip that is an instance of a dynamic class. If your class extends Sprite or MovieClip, you must make it dynamic.")); depth = options.depth; delete options.depth; mc = createEmptyMovieClip(clip, "_mochiad", depth); wh = MochiAd._getRes(options, clip); options.res = ((wh[0] + "x") + wh[1]); options.server = (options.server + options.id); delete options.id; clip._mochiad_loaded = true; if (clip.loaderInfo.loaderURL.indexOf("http") == 0){ options.as3_swf = clip.loaderInfo.loaderURL; } else { trace("[MochiAd] NOTE: Security Sandbox Violation errors below are normal"); }; lv = new URLVariables(); for (k in options) { v = options[k]; if (!(v is Function)){ lv[k] = v; }; }; server = lv.server; delete lv.server; hostname = _allowDomains(server); lc = new LocalConnection(); lc.client = mc; name = ["", Math.floor(new Date().getTime()), Math.floor((Math.random() * 999999))].join("_"); lc.allowDomain("*", "localhost"); lc.allowInsecureDomain("*", "localhost"); lc.connect(name); mc.lc = lc; mc.lcName = name; lv.lc = name; lv.st = getTimer(); loader = new Loader(); g = function (ev:Object):void{ ev.target.removeEventListener(ev.type, arguments.callee); MochiAd.unload(clip); }; loader.contentLoaderInfo.addEventListener(Event.UNLOAD, g); req = new URLRequest(((server + ".swf?cacheBust=") + new Date().getTime())); req.contentType = "application/x-www-form-urlencoded"; req.method = URLRequestMethod.POST; req.data = lv; loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function (io:IOErrorEvent):void{ trace("[MochiAds] Blocked URL"); }); loader.load(req); mc.addChild(loader); mc._mochiad_ctr = loader; return (mc); } public static function runMethod(base:Object, methodName:String, argsArray:Array):Object{ var nameArray:Array; var i:Number; nameArray = methodName.split("."); i = 0; while (i < (nameArray.length - 1)) { if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){ return (undefined); }; base = base[nameArray[i]]; i++; }; if (typeof(base[nameArray[i]]) == "function"){ return (base[nameArray[i]].apply(base, argsArray)); }; return (undefined); } public static function createEmptyMovieClip(parent:Object, name:String, depth:Number):MovieClip{ var mc:MovieClip; mc = new MovieClip(); if (((false) && (depth))){ parent.addChildAt(mc, depth); } else { parent.addChild(mc); }; parent[name] = mc; mc["_name"] = name; return (mc); } public static function _getRes(options:Object, clip:Object):Array{ var b:Object; var w:Number; var h:Number; var xy:Array; b = clip.getBounds(clip.root); w = 0; h = 0; if (typeof(options.res) != "undefined"){ xy = options.res.split("x"); w = parseFloat(xy[0]); h = parseFloat(xy[1]); } else { w = (b.xMax - b.xMin); h = (b.yMax - b.yMin); }; if ((((w == 0)) || ((h == 0)))){ w = clip.stage.stageWidth; h = clip.stage.stageHeight; }; return ([w, h]); } public static function adShowing(mc:Object):void{ mc.origFrameRate = mc.stage.frameRate; mc.stage.frameRate = 30; } public static function getValue(base:Object, objectName:String):Object{ var nameArray:Array; var i:Number; nameArray = objectName.split("."); i = 0; while (i < (nameArray.length - 1)) { if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){ return (undefined); }; base = base[nameArray[i]]; i++; }; return (base[nameArray[i]]); } public static function rpc(clip:Object, callbackID:Number, arg:Object):void{ var _local4:Object; var _local5:Object; switch (arg.id){ case "setValue": MochiAd.setValue(clip, arg.objectName, arg.value); break; case "getValue": _local4 = MochiAd.getValue(clip, arg.objectName); clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local4); break; case "runMethod": _local5 = MochiAd.runMethod(clip, arg.method, arg.args); clip._mochiad.lc.send(clip._mochiad._containerLCName, "rpcResult", callbackID, _local5); break; default: trace(("[mochiads rpc] unknown rpc id: " + arg.id)); }; } public static function setValue(base:Object, objectName:String, value:Object):void{ var nameArray:Array; var i:Number; nameArray = objectName.split("."); i = 0; while (i < (nameArray.length - 1)) { if ((((base[nameArray[i]] == undefined)) || ((base[nameArray[i]] == null)))){ return; }; base = base[nameArray[i]]; i++; }; base[nameArray[i]] = value; } public static function showPreGameAd(options:Object):void{ var DEFAULTS:Object; var clip:Object; var ad_msec:Number; var ad_timeout:Number; var fadeout_time:Number; var mc:MovieClip; var wh:Array; var w:Number; var h:Number; var chk:MovieClip; var bar:MovieClip; var bar_color:Number; var bar_background:Number; var bar_outline:Number; var backing_mc:MovieClip; var backing:Object; var inside_mc:MovieClip; var inside:Object; var outline_mc:MovieClip; var outline:Object; var complete:Boolean; var unloaded:Boolean; var f:Function; var sendHostProgress:Boolean; var fn:Function; var r:MovieClip; var options = options; DEFAULTS = {ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:0xFF8A00, background:16777161, outline:13994812, no_progress_bar:false, ad_started:function ():void{ if ((this.clip is MovieClip)){ this.clip.stop(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_finished:function ():void{ if ((this.clip is MovieClip)){ this.clip.play(); } else { throw (new Error("MochiAd.showPreGameAd requires a clip that is a MovieClip or is an instance of a class that extends MovieClip. If your clip is a Sprite, then you must provide custom ad_started and ad_finished handlers.")); }; }, ad_loaded:function (width:Number, height:Number):void{ }, ad_failed:function ():void{ trace("[MochiAd] Couldn't load an ad, make sure your game's local security sandbox is configured for Access Network Only and that you are not using ad blocking software"); }, ad_skipped:function ():void{ }, ad_progress:function (percent:Number):void{ }}; options = MochiAd._parseOptions(options, DEFAULTS); if ("c862232051e0a94e1c3609b3916ddb17".substr(0) == "dfeada81ac97cde83665f81c12da7def"){ options.ad_started(); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); return; }; clip = options.clip; ad_msec = 11000; ad_timeout = options.ad_timeout; delete options.ad_timeout; fadeout_time = options.fadeout_time; delete options.fadeout_time; if (!MochiAd.load(options)){ options.ad_failed(); options.ad_finished(); return; }; options.ad_started(); mc = clip._mochiad; mc["onUnload"] = function ():void{ var fn:Function; MochiAd._cleanup(mc); fn = function ():void{ options.ad_finished(); }; setTimeout(fn, 100); }; wh = MochiAd._getRes(options, clip); w = wh[0]; h = wh[1]; mc.x = (w * 0.5); mc.y = (h * 0.5); chk = createEmptyMovieClip(mc, "_mochiad_wait", 3); chk.x = (w * -0.5); chk.y = (h * -0.5); bar = createEmptyMovieClip(chk, "_mochiad_bar", 4); if (options.no_progress_bar){ bar.visible = false; delete options.no_progress_bar; } else { bar.x = 10; bar.y = (h - 20); }; bar_color = options.color; delete options.color; bar_background = options.background; delete options.background; bar_outline = options.outline; delete options.outline; backing_mc = createEmptyMovieClip(bar, "_outline", 1); backing = backing_mc.graphics; backing.beginFill(bar_background); backing.moveTo(0, 0); backing.lineTo((w - 20), 0); backing.lineTo((w - 20), 10); backing.lineTo(0, 10); backing.lineTo(0, 0); backing.endFill(); inside_mc = createEmptyMovieClip(bar, "_inside", 2); inside = inside_mc.graphics; inside.beginFill(bar_color); inside.moveTo(0, 0); inside.lineTo((w - 20), 0); inside.lineTo((w - 20), 10); inside.lineTo(0, 10); inside.lineTo(0, 0); inside.endFill(); inside_mc.scaleX = 0; outline_mc = createEmptyMovieClip(bar, "_outline", 3); outline = outline_mc.graphics; outline.lineStyle(0, bar_outline, 100); outline.moveTo(0, 0); outline.lineTo((w - 20), 0); outline.lineTo((w - 20), 10); outline.lineTo(0, 10); outline.lineTo(0, 0); chk.ad_msec = ad_msec; chk.ad_timeout = ad_timeout; chk.started = getTimer(); chk.showing = false; chk.last_pcnt = 0; chk.fadeout_time = fadeout_time; chk.fadeFunction = function ():void{ var p:Number; p = (100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time))); if (p > 0){ this.parent.alpha = (p * 0.01); } else { MochiAd.unload(clip); delete this["onEnterFrame"]; }; }; complete = false; unloaded = false; f = function (ev:Event):void{ ev.target.removeEventListener(ev.type, arguments.callee); complete = true; if (unloaded){ MochiAd.unload(clip); }; }; clip.loaderInfo.addEventListener(Event.COMPLETE, f); if ((clip.root is MovieClip)){ r = (clip.root as MovieClip); if (r.framesLoaded >= r.totalFrames){ complete = true; }; }; mc.unloadAd = function ():void{ unloaded = true; if (complete){ MochiAd.unload(clip); }; }; mc.adLoaded = options.ad_loaded; mc.adSkipped = options.ad_skipped; mc.adjustProgress = function (msec:Number):void{ var _chk:Object; _chk = mc._mochiad_wait; _chk.server_control = true; _chk.showing = true; _chk.started = getTimer(); _chk.ad_msec = msec; }; mc.rpc = function (callbackID:Number, arg:Object):void{ MochiAd.rpc(clip, callbackID, arg); }; mc.rpcTestFn = function (s:String):Object{ trace(("[MOCHIAD rpcTestFn] " + s)); return (s); }; mc.regContLC = function (lc_name:String):void{ mc._containerLCName = lc_name; }; sendHostProgress = false; mc.sendHostLoadProgress = function (lc_name:String):void{ sendHostProgress = true; }; chk["onEnterFrame"] = function ():void{ var _clip:Object; var ad_clip:Object; var elapsed:Number; var finished:Boolean; var clip_total:Number; var clip_loaded:Number; var clip_pcnt:Number; var ad_pcnt:Number; var _inside:Object; var pcnt:Number; var total:Number; if (((!(this.parent)) || (!(this.parent.parent)))){ delete this["onEnterFrame"]; return; }; _clip = this.parent.parent.root; ad_clip = this.parent._mochiad_ctr; elapsed = (getTimer() - this.started); finished = false; clip_total = _clip.loaderInfo.bytesTotal; clip_loaded = _clip.loaderInfo.bytesLoaded; if (complete){ clip_loaded = Math.max(1, clip_loaded); clip_total = clip_loaded; }; clip_pcnt = ((100 * clip_loaded) / clip_total); ad_pcnt = ((100 * elapsed) / chk.ad_msec); _inside = this._mochiad_bar._inside; pcnt = Math.min(100, Math.min(((clip_pcnt) || (0)), ad_pcnt)); pcnt = Math.max(this.last_pcnt, pcnt); this.last_pcnt = pcnt; _inside.scaleX = (pcnt * 0.01); options.ad_progress(pcnt); if (sendHostProgress){ clip._mochiad.lc.send(clip._mochiad._containerLCName, "notify", {id:"hostLoadPcnt", pcnt:clip_pcnt}); if (clip_pcnt == 100){ sendHostProgress = false; }; }; if (!chk.showing){ total = this.parent._mochiad_ctr.contentLoaderInfo.bytesTotal; if (total > 0){ chk.showing = true; chk.started = getTimer(); MochiAd.adShowing(clip); } else { if ((((elapsed > chk.ad_timeout)) && ((clip_pcnt == 100)))){ options.ad_failed(); finished = true; }; }; }; if (elapsed > chk.ad_msec){ finished = true; }; if (((complete) && (finished))){ if (this.server_control){ delete this.onEnterFrame; } else { this.fadeout_start = getTimer(); this.onEnterFrame = chk.fadeFunction; }; }; }; doOnEnterFrame(chk); } public static function showPreloaderAd(options:Object):void{ trace("[MochiAd] DEPRECATED: showPreloaderAd was renamed to showPreGameAd in 2.0"); MochiAd.showPreGameAd(options); } public static function showTimedAd(options:Object):void{ trace("[MochiAd] DEPRECATED: showTimedAd was renamed to showInterLevelAd in 2.0"); MochiAd.showInterLevelAd(options); } public static function doOnEnterFrame(mc:MovieClip):void{ var f:Function; var mc = mc; f = function (ev:Object):void{ if (((("onEnterFrame" in mc)) && (mc.onEnterFrame))){ mc.onEnterFrame(); } else { ev.target.removeEventListener(ev.type, arguments.callee); }; }; mc.addEventListener(Event.ENTER_FRAME, f); } } }//package mochi.as3
Section 200
//AchievementModes (Sniper.AchievementModes) package Sniper { public class AchievementModes { public static const Untouchable:int = 0; public static const SharpShooter:int = 1; public static const CloseShave:int = 4; public static const EpicFail:int = 6; public static const TripleKill:int = 9; public static const Suicide:int = 3; public static const YouAreAGod:int = 7; public static const Slaughter:int = 11; public static const DoubleKill:int = 8; public static const EpicWin:int = 5; public static const Headshot:int = 2; public static const Frenzy:int = 10; public function AchievementModes(){ super(); } } }//package Sniper
Section 201
//Achievements (Sniper.Achievements) package Sniper { import flash.display.*; import Assets.Achievements.*; public class Achievements { private static const AchievementsImages:Array = new Array(12); private static var CurrentAchievementOpacity:Number = 1; private static var CurrentAchievement:BitmapData; public function Achievements(){ super(); } public static function Tick(liveimage:BitmapData):void{ if (CurrentAchievement != null){ FadingText.Tick(CurrentAchievementOpacity, CurrentAchievement, liveimage); CurrentAchievementOpacity = (CurrentAchievementOpacity - 0.02); if (CurrentAchievementOpacity <= 0){ CurrentAchievement = null; }; }; } public static function Initialise():void{ AchievementsImages[0] = new Untouchable(270, 64); AchievementsImages[1] = new SharpShooter(310, 64); AchievementsImages[2] = new Headshot(208, 64); AchievementsImages[3] = new Suicide(160, 64); AchievementsImages[4] = new CloseShave(260, 64); AchievementsImages[5] = new EpicWin(180, 64); AchievementsImages[6] = new EpicFail(180, 64); AchievementsImages[7] = new YouAreAGod(290, 64); AchievementsImages[8] = new DoubleKill(230, 64); AchievementsImages[9] = new TripleKill(216, 64); AchievementsImages[10] = new Frenzy(150, 64); AchievementsImages[11] = new Slaughter(220, 64); } public static function SetAchievement(achievement:int):void{ CurrentAchievement = AchievementsImages[achievement]; CurrentAchievementOpacity = 1; } public static function Check():void{ if (Statistics.ConsecutiveHits == 15){ CurrentAchievement = AchievementsImages[AchievementModes.SharpShooter]; CurrentAchievementOpacity = 1; var _local1 = Achievements; var _local2 = AchievementModes.SharpShooter; var _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; Statistics.Points = (Statistics.Points + 10000); Statistics.TotalPoints = (Statistics.TotalPoints + 10000); Statistics.ConsecutiveHits = 0; } else { if (Statistics.ConsecutiveHeadShots == 2){ CurrentAchievement = AchievementsImages[AchievementModes.DoubleKill]; CurrentAchievementOpacity = 1; _local1 = Achievements; _local2 = AchievementModes.DoubleKill; _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; Statistics.Points = (Statistics.Points + 1000); Statistics.TotalPoints = (Statistics.TotalPoints + 1000); } else { if (Statistics.ConsecutiveHeadShots == 3){ CurrentAchievement = AchievementsImages[AchievementModes.TripleKill]; CurrentAchievementOpacity = 1; _local1 = Achievements; _local2 = AchievementModes.TripleKill; _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; Statistics.Points = (Statistics.Points + 2000); Statistics.TotalPoints = (Statistics.TotalPoints + 2000); } else { if (Statistics.ConsecutiveHeadShots == 5){ CurrentAchievement = AchievementsImages[AchievementModes.Frenzy]; CurrentAchievementOpacity = 1; _local1 = Achievements; _local2 = AchievementModes.Frenzy; _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; Statistics.Points = (Statistics.Points + 3000); Statistics.TotalPoints = (Statistics.TotalPoints + 3000); } else { if (Statistics.ConsecutiveHeadShots == 10){ CurrentAchievement = AchievementsImages[AchievementModes.Slaughter]; CurrentAchievementOpacity = 1; _local1 = Achievements; _local2 = AchievementModes.Slaughter; _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; Statistics.Points = (Statistics.Points + 5000); Statistics.TotalPoints = (Statistics.TotalPoints + 5000); } else { if (Statistics.ConsecutiveHeadShots == 15){ CurrentAchievement = AchievementsImages[AchievementModes.Untouchable]; CurrentAchievementOpacity = 1; _local1 = Achievements; _local2 = AchievementModes.Untouchable; _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; Statistics.Points = (Statistics.Points + 10000); Statistics.TotalPoints = (Statistics.TotalPoints + 10000); } else { if (Statistics.ConsecutiveHeadShots == 30){ CurrentAchievement = AchievementsImages[AchievementModes.EpicWin]; CurrentAchievementOpacity = 1; _local1 = Achievements; _local2 = AchievementModes.EpicWin; _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; Statistics.Points = (Statistics.Points + 25000); Statistics.TotalPoints = (Statistics.TotalPoints + 25000); } else { if (Statistics.ConsecutiveHeadShots == 50){ CurrentAchievement = AchievementsImages[AchievementModes.YouAreAGod]; CurrentAchievementOpacity = 1; _local1 = Achievements; _local2 = AchievementModes.YouAreAGod; _local3 = (_local1[_local2] + 1); _local1[_local2] = _local3; Statistics.Points = (Statistics.Points + 100000); Statistics.TotalPoints = (Statistics.TotalPoints + 100000); }; }; }; }; }; }; }; }; } } }//package Sniper
Section 202
//ArmorGames (Sniper.ArmorGames) package Sniper { import flash.events.*; import flash.display.*; import flash.net.*; public class ArmorGames extends MovieClip { public var Animation:MovieClip; private var Main:Main; public function ArmorGames(main:Main){ super(); this.Main = main; this.buttonMode = true; this.mouseChildren = false; this.useHandCursor = true; this.addEventListener(Event.ENTER_FRAME, this.Tick); this.addEventListener(MouseEvent.CLICK, GoToArmorGames); this.Animation.gotoAndPlay(1); Main.STAGE.addChild(this); } private function Tick(e:Event):void{ if (this.Animation.currentFrame == 218){ this.Animation.stop(); this.Main.AGFinished(); this.removeEventListener(Event.ENTER_FRAME, this.Tick); this.parent.removeChild(this); }; } private static function GoToArmorGames(e:MouseEvent):void{ navigateToURL(new URLRequest("http://armorgames.com/"), "_blank"); } } }//package Sniper
Section 203
//CampaignIntroductionScreen (Sniper.CampaignIntroductionScreen) package Sniper { import flash.events.*; import flash.display.*; public class CampaignIntroductionScreen extends MovieClip { public var HardButton:SimpleButton; public var EasyButton:SimpleButton; public function CampaignIntroductionScreen(){ super(); this.x = 0; this.y = 0; Main.STAGE.addChild(this); this.EasyButton.addEventListener(MouseEvent.CLICK, this.Easy); this.HardButton.addEventListener(MouseEvent.CLICK, this.Hard); } private function Close(e:MouseEvent):void{ this.parent.removeChild(this); Main.StartGame(); } private function Hard(e:MouseEvent):void{ Main.Difficulty = 1; Close(e); } private function Easy(e:MouseEvent):void{ Main.Difficulty = 0; Close(e); } } }//package Sniper
Section 204
//Clouds (Sniper.Clouds) package Sniper { import flash.display.*; import flash.geom.*; import Assets.*; public class Clouds { private static const ZeroPoint:Point = new Point(); private static const CloudSpeed:int = 1; private static var CloudsInvertedPosition:Rectangle; private static var CloudsPosition:Rectangle; private static var CloudsLargePosition:Rectangle; private static var CloudsInvertedLargePosition:Rectangle; private static var CloudsLargeInverted:BitmapData; private static var CloudsInverted:BitmapData; private static var CloudsLarge:BitmapData; private static var Clouds:BitmapData; public function Clouds(){ super(); } public static function Tick(liveimage:BitmapData, liveimagelarge:BitmapData):void{ CloudsLargePosition.x = (CloudsLargePosition.x + CloudSpeed); CloudsPosition.x = Math.floor((CloudsLargePosition.x / 3)); CloudsInvertedLargePosition.x = (CloudsInvertedLargePosition.x + CloudSpeed); CloudsInvertedPosition.x = Math.floor((CloudsInvertedLargePosition.x / 3)); if ((Clouds.width - CloudsPosition.x) < 0){ CloudsLargePosition.x = ((CloudsInvertedLargePosition.x - CloudsLarge.width) + CloudSpeed); CloudsPosition.x = Math.floor((CloudsLargePosition.x / 3)); }; if ((Clouds.width - CloudsInvertedPosition.x) < 0){ CloudsInvertedLargePosition.x = ((-(CloudsLarge.width) + CloudSpeed) + 4); CloudsInvertedPosition.x = Math.floor((CloudsInvertedLargePosition.x / 3)); }; if ((CloudsPosition.x - Clouds.width) < 650){ liveimage.copyPixels(Clouds, CloudsPosition, ZeroPoint); if (Main.Gun.Scope){ liveimagelarge.copyPixels(CloudsLarge, CloudsLargePosition, ZeroPoint); }; }; if ((CloudsInvertedPosition.x - Clouds.width) < 650){ liveimage.copyPixels(CloudsInverted, CloudsInvertedPosition, ZeroPoint); if (Main.Gun.Scope){ liveimagelarge.copyPixels(CloudsLargeInverted, CloudsInvertedLargePosition, ZeroPoint); }; }; } public static function Initialise():void{ var scaler:Matrix; var fliplarge:Matrix; var flip:Matrix; scaler = new Matrix(); scaler.scale(0.3333, 0.3333); CloudsLarge = new Clouds(4000, 800); Clouds = new BitmapData(1333, 266, true, 0); Clouds.draw(CloudsLarge, scaler); fliplarge = new Matrix(); fliplarge.scale(-1, 1); fliplarge.translate(CloudsLarge.width, 0); CloudsLargeInverted = CloudsLarge.clone(); CloudsLargeInverted.draw(CloudsLarge, fliplarge); flip = new Matrix(); flip.scale(-1, 1); flip.translate(Clouds.width, 0); CloudsInverted = new BitmapData(1333, 266, true, 0); CloudsInverted.draw(Clouds, flip); CloudsLargePosition = new Rectangle(0, 0, CloudsLarge.width, CloudsLarge.height); CloudsPosition = new Rectangle(0, 0, Clouds.width, Clouds.height); CloudsInvertedLargePosition = new Rectangle((-(CloudsLarge.width) + 4), 0, CloudsLarge.width, CloudsLarge.height); CloudsInvertedPosition = new Rectangle(Math.floor((CloudsInvertedLargePosition.x / 3)), 0, Clouds.width, Clouds.height); } } }//package Sniper
Section 205
//CrossHair (Sniper.CrossHair) package Sniper { import flash.display.*; import Assets.*; public class CrossHair extends MovieClip { private var Image:Bitmap; private var RealY:int; private var RealX:int; public function CrossHair(){ super(); } public function Refresh():void{ if ((((Main.ShootingMode == false)) || ((Main.Gun.CrossHair == false)))){ return; }; this.x = (Main.MouseX - 12); this.y = (Main.MouseY - 12); this.RealX = this.x; this.RealY = this.y; if (((this.visible) && ((Main.MouseY < 44)))){ Main.ShowMouseCursor(); return; }; if ((((this.visible == false)) && ((Main.MouseY > 44)))){ Main.ShowTargetCursor(); }; if ((((Main.Gun.CoolingDown > 0)) && (!((Main.Gun.ID == "ROCKETLAUNCHER"))))){ this.y = (this.RealY - (Main.Gun.CoolingDown / 2)); } else { this.y = this.RealY; this.x = this.RealX; }; } public function Initialise(){ this.x = 0; this.y = 0; this.Image = new Bitmap(); this.Image.x = 0; this.Image.y = 0; this.Image.bitmapData = new CrossHair(25, 25); this.addChild(this.Image); Main.STAGE.addChild(this); } } }//package Sniper
Section 206
//Explosion (Sniper.Explosion) package Sniper { import flash.display.*; import flash.geom.*; import Assets.CorpseExplosion.*; import Assets.Explosions.*; import flash.filters.*; public class Explosion { private var FrameIndex:int; private var FrameTicks:int; private var DrawPoint:Point; private var Grenade:Boolean; private var ImageSet:int; private static const ImagesGrenade:Array = new Array(16); private static const Images:Array = new Array(16); private static const ZeroPoint:Point = new Point(); private static const BodyParts1:Array = new Array(23); private static const BodyParts2:Array = new Array(23); private static const BodyParts3:Array = new Array(23); private static const BodyParts4:Array = new Array(23); private static const BodyParts:Array = [BodyParts1, BodyParts2]; private static var Container:Array = new Array(); private static var Container2:Array = new Array(); public function Explosion(){ super(); } public static function Initialise():void{ var images:Array; var scaler:Matrix; var blur:BlurFilter; var i:int; var scaler2:Matrix; images = new Array(16); images[0] = new ExplosionA1(64, 64); images[1] = new ExplosionA2(64, 64); images[2] = new ExplosionA3(64, 64); images[3] = new ExplosionA4(64, 64); images[4] = new ExplosionA5(64, 64); images[5] = new ExplosionA6(64, 64); images[6] = new ExplosionA7(64, 64); images[7] = new ExplosionA8(64, 64); images[8] = new ExplosionA9(64, 64); images[9] = new ExplosionA10(64, 64); images[10] = new ExplosionA11(64, 64); images[11] = new ExplosionA12(64, 64); images[12] = new ExplosionA13(64, 64); images[13] = new ExplosionA14(64, 64); images[14] = new ExplosionA15(64, 64); images[15] = new ExplosionA16(64, 64); scaler = new Matrix(); scaler.scale(2, 2); blur = new BlurFilter(); blur.blurX = 4; blur.blurY = 4; i = 0; while (i < 16) { Images[i] = new BitmapData(128, 128, true, 0); Images[i].draw(images[i], scaler); Images[i].applyFilter(Images[i], Images[i].rect, ZeroPoint, blur); ImagesGrenade[i] = images[i].clone(); i++; }; images = new Array(23); images[0] = new BodyParts1(700, 200); images[1] = new BodyParts2(700, 200); images[2] = new BodyParts3(700, 200); images[3] = new BodyParts4(700, 200); images[4] = new BodyParts5(700, 200); images[5] = new BodyParts6(700, 200); images[6] = new BodyParts7(700, 200); images[7] = new BodyParts8(700, 200); images[8] = new BodyParts9(700, 200); images[9] = new BodyParts10(700, 200); images[10] = new BodyParts11(700, 200); images[11] = new BodyParts12(700, 200); images[12] = new BodyParts13(700, 200); images[13] = new BodyParts14(700, 200); images[14] = new BodyParts15(700, 200); images[15] = new BodyParts16(700, 200); images[16] = new BodyParts17(700, 200); images[17] = new BodyParts18(700, 200); images[18] = new BodyParts19(700, 200); images[19] = new BodyParts20(700, 200); images[20] = new BodyParts21(700, 200); images[21] = new BodyParts22(700, 200); images[22] = new BodyParts23(700, 200); scaler = new Matrix(); scaler.scale(0.5, 0.5); scaler2 = new Matrix(); scaler2.scale(0.4, 0.4); i = 0; while (i < 23) { BodyParts1[i] = new BitmapData(350, 100, true, 0); BodyParts1[i].draw(images[i], scaler); BodyParts2[i] = new BitmapData(280, 80, true, 0); BodyParts2[i].draw(images[i], scaler2); i++; }; } public static function Create(x:int, y:int, grenade:Boolean=false):void{ var explosion:Explosion; explosion = new (Explosion); explosion.DrawPoint = (grenade) ? new Point((x - 32), (y - 32)) : new Point((x - 64), (y - 64)); explosion.FrameTicks = 0; explosion.FrameIndex = 0; explosion.Grenade = grenade; Container.push(explosion); } private static function Random(min:int, max:int):int{ return ((Math.round((Math.random() * max)) + min)); } public static function CreateBodyParts(x:int, y:int):void{ var explosion:Explosion; explosion = new (Explosion); explosion.FrameTicks = 0; explosion.FrameIndex = -1; explosion.ImageSet = Random(0, 1); explosion.DrawPoint = new Point(((x - BodyParts[explosion.ImageSet][0].width) + 50), (300 - BodyParts[explosion.ImageSet][0].height)); explosion.DrawPoint.y = (explosion.DrawPoint.y - Random(0, 10)); Container2.push(explosion); } public static function Tick(image:BitmapData):void{ var explosion:Explosion; var i:int; if (Container.length == 0){ return; }; i = (Container2.length - 1); while (i > -1) { explosion = Container2[i]; explosion.FrameIndex++; if (explosion.FrameIndex == 23){ Container2.splice(i, 1); } else { image.copyPixels(BodyParts[explosion.ImageSet][explosion.FrameIndex], BodyParts[explosion.ImageSet][explosion.FrameIndex].rect, explosion.DrawPoint); }; i--; }; i = (Container.length - 1); for (;i > -1;i--) { explosion = Container[i]; if (explosion.FrameTicks == 0){ explosion.FrameIndex++; explosion.FrameTicks = 1; if (explosion.FrameIndex == 16){ Container.splice(i, 1); continue; }; } else { explosion.FrameTicks--; }; if (explosion.Grenade){ image.copyPixels(ImagesGrenade[explosion.FrameIndex], ImagesGrenade[explosion.FrameIndex].rect, explosion.DrawPoint); } else { image.copyPixels(Images[explosion.FrameIndex], Images[explosion.FrameIndex].rect, explosion.DrawPoint); }; }; } } }//package Sniper
Section 207
//FadingText (Sniper.FadingText) package Sniper { import flash.display.*; import flash.geom.*; import flash.filters.*; public class FadingText { private static const ZeroPoint:Point = new Point(0, 0); private static const Position:Matrix = new Matrix(1, 0, 0, 1, 0, 0); private static const Opacity:ColorMatrixFilter = new ColorMatrixFilter(); private static var OpacityArray:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; private static var TempImage:BitmapData; public function FadingText(){ super(); } public static function Tick(opacity:Number, achievement:BitmapData, image:BitmapData):void{ if (achievement == null){ return; }; OpacityArray[18] = opacity; Opacity.matrix = OpacityArray; TempImage = new BitmapData(achievement.width, achievement.height, true, 0); TempImage.copyPixels(achievement, achievement.rect, ZeroPoint); TempImage.applyFilter(TempImage, TempImage.rect, ZeroPoint, Opacity); Position.tx = ((650 - achievement.width) / 2); Position.ty = ((300 - achievement.height) / 2); image.draw(TempImage, Position); } } }//package Sniper
Section 208
//Fire (Sniper.Fire) package Sniper { import flash.display.*; import flash.geom.*; public class Fire { private static const ZombieRectangle:Rectangle = new Rectangle(0, 0, 40, 40); private static const CopyRectangle:Rectangle = new Rectangle(); private static const ZeroPoint:Point = new Point(0, 0); private static const HitRectangle:Rectangle = new Rectangle(); private static var ExplosionRectangle:Rectangle = new Rectangle(); private static var Zombies:Array; private static var BottomRight:Point = new Point(); private static var CompareImage:BitmapData; private static var TopLeft:Point = new Point(); private static var CurrentZombie:Zombie; private static var Gun:Weapon; private static var TopRight:Point = new Point(); private static var BottomLeft:Point = new Point(); private static var Hit:Boolean; private static var MouseY:int; private static var ZombieImage:BitmapData; private static var HitImage:BitmapData; private static var MouseX:int; public function Fire(){ super(); } public static function Tick(image:BitmapData):void{ var i:int; var ycoord:int; if (((((!(Main.Shooting)) && (!(Main.ThrowGrenade)))) && (!(Main.ExplodeGrenade)))){ return; }; Zombies = Zombie.Container; MouseX = Main.MouseX; MouseY = Main.MouseY; if (Main.ThrowGrenade){ Grenade.Create(MouseX, MouseY); Main.ThrowGrenade = false; } else { if (Main.ExplodeGrenade){ Explosion.Create(Main.GrenadeX, Main.GrenadeY, true); Main.ExplodeGrenade = false; ExplosionRectangle.x = (Main.GrenadeX - 32); ExplosionRectangle.y = (Main.GrenadeY - 50); ExplosionRectangle.width = 64; ExplosionRectangle.height = 100; i = (Zombies.length - 1); for (;i > -1;i--) { CurrentZombie = Zombies[i]; TopLeft.x = (CurrentZombie.RealX - 20); TopLeft.y = (CurrentZombie.RealY - 20); TopRight.x = (CurrentZombie.RealX + 20); TopRight.y = (CurrentZombie.RealY - 20); BottomLeft.x = (CurrentZombie.RealX - 20); BottomLeft.y = (CurrentZombie.RealY + 20); BottomRight.x = (CurrentZombie.RealX + 20); BottomRight.y = (CurrentZombie.RealY + 20); if (((((((ExplosionRectangle.containsPoint(TopLeft)) || (ExplosionRectangle.containsPoint(TopRight)))) || (ExplosionRectangle.containsPoint(BottomLeft)))) || (ExplosionRectangle.containsPoint(BottomRight)))){ Statistics.Points = (Statistics.Points + 100); Statistics.TotalPoints = (Statistics.TotalPoints + 100); Statistics.Kills++; Statistics.Hits++; Statistics.ConsecutiveHits++; Zombie.Dispose(CurrentZombie); Explosion.CreateBodyParts(CurrentZombie.RealX, CurrentZombie.RealY); continue; }; }; }; }; if (!Main.Shooting){ return; }; Gun = Main.Gun; if ((((((((Gun.Bullets == 0)) || ((Gun.CoolingDown > 0)))) || ((Gun.Reloading > 0)))) || ((((Main.Scope.y <= 20)) && ((Main.CrossHair.y <= 20)))))){ return; }; Gun.CoolingDown = Gun.CoolDown; Gun.Bullets--; MuzzleFlash.FlashTimer = 3; Main.StatusBar.RefreshBullets(Gun.Bullets); if (Gun.ID == "ROCKETLAUNCHER"){ Smoke.Create(MouseX, MouseY); Explosion.Create(MouseX, MouseY); ExplosionRectangle.x = (MouseX - 50); ExplosionRectangle.y = (MouseY - 50); ExplosionRectangle.width = 100; ExplosionRectangle.height = 100; i = (Zombies.length - 1); for (;i > -1;i--) { CurrentZombie = Zombies[i]; TopLeft.x = (CurrentZombie.RealX - 20); TopLeft.y = (CurrentZombie.RealY - 20); TopRight.x = (CurrentZombie.RealX + 20); TopRight.y = (CurrentZombie.RealY - 20); BottomLeft.x = (CurrentZombie.RealX - 20); BottomLeft.y = (CurrentZombie.RealY + 20); BottomRight.x = (CurrentZombie.RealX + 20); BottomRight.y = (CurrentZombie.RealY + 20); if (((((((ExplosionRectangle.containsPoint(TopLeft)) || (ExplosionRectangle.containsPoint(TopRight)))) || (ExplosionRectangle.containsPoint(BottomLeft)))) || (ExplosionRectangle.containsPoint(BottomRight)))){ Statistics.Points = (Statistics.Points + 100); Statistics.TotalPoints = (Statistics.TotalPoints + 100); Statistics.Kills++; Statistics.Hits++; Statistics.ConsecutiveHits++; Zombie.Dispose(CurrentZombie); Explosion.CreateBodyParts(CurrentZombie.RealX, CurrentZombie.RealY); continue; }; }; Statistics.ConsecutiveHeadShots = 0; }; if ((((((((Gun.ID == "LIGHTMACHINEGUN")) || ((Gun.ID == "HEAVYMACHINEGUN")))) && ((Gun.Bullets > 0)))) && (((Gun.Bullets % 4) == 0)))){ TraceLine.Draw(image, MouseX, MouseY); }; if ((((Gun.CoolDown < 7)) && (((Gun.Bullets % 2) == 0)))){ SoundManager.PlayGunShot(); } else { if (Gun.CoolDown > 7){ SoundManager.PlayGunShot(); }; }; if ((((Gun.Bullets == 0)) && (!((Gun.ID == "SHOTGUN"))))){ Main.ReloadMessage.visible = true; return; }; if ((((Gun.Bullets == 0)) && ((Gun.ID == "SHOTGUN")))){ Gun.Reloading = Gun.Reload; SoundManager.PlayReload(); }; if (Gun.ID == "ROCKETLAUNCHER"){ return; }; HitRectangle.x = (MouseX - Gun.BlastRadius); HitRectangle.y = (MouseY - Gun.BlastRadius); HitRectangle.width = ((2 * Gun.BlastRadius) + 1); HitRectangle.height = HitRectangle.width; CopyRectangle.width = HitRectangle.width; CopyRectangle.height = HitRectangle.height; CompareImage = new BitmapData(CopyRectangle.width, CopyRectangle.height, false, 4294901760); Hit = false; i = (Zombies.length - 1); while (i > -1) { CurrentZombie = Zombies[i]; if (CurrentZombie.Dying){ } else { ZombieImage = CurrentZombie.SmallFrames[CurrentZombie.FrameIndex]; ZombieRectangle.x = CurrentZombie.RealX; ZombieRectangle.y = CurrentZombie.RealY; TopLeft.x = HitRectangle.x; TopLeft.y = HitRectangle.y; TopRight.x = (HitRectangle.x + HitRectangle.width); TopRight.y = HitRectangle.y; BottomLeft.x = HitRectangle.x; BottomLeft.y = (HitRectangle.y + HitRectangle.height); BottomRight.x = (HitRectangle.x + HitRectangle.width); BottomRight.y = (HitRectangle.y + HitRectangle.height); if (((((((ZombieRectangle.containsPoint(TopLeft)) || (ZombieRectangle.containsPoint(TopRight)))) || (ZombieRectangle.containsPoint(BottomLeft)))) || (ZombieRectangle.containsPoint(BottomRight)))){ CopyRectangle.x = ((MouseX - CurrentZombie.RealX) - Gun.BlastRadius); CopyRectangle.y = ((MouseY - CurrentZombie.RealY) - Gun.BlastRadius); HitImage = new BitmapData(CopyRectangle.width, CopyRectangle.height, false, 4294901760); HitImage.copyPixels(ZombieImage, CopyRectangle, ZeroPoint); if (HitImage.compare(CompareImage) != 0){ ycoord = ((MouseY - CurrentZombie.RealY) * 3); Statistics.Hits++; Statistics.ConsecutiveHits++; Hit = true; CurrentZombie.FrameIndex = 0; CurrentZombie.FrameTicks = 3; if ((((((ycoord < 40)) && (!((Gun.ID == "SHOTGUN"))))) && ((CurrentZombie.Type == ZombieTypes.Normal)))){ Achievements.SetAchievement(AchievementModes.Headshot); Statistics.Points = (Statistics.Points + 1000); Statistics.TotalPoints = (Statistics.TotalPoints + 1000); Statistics.ConsecutiveHeadShots++; Statistics.HeadShots++; Statistics.Kills++; var _local4 = Achievements; var _local5 = AchievementModes.Headshot; var _local6 = (_local4[_local5] + 1); _local4[_local5] = _local6; CurrentZombie.Mode = Mode.Headshot; CurrentZombie.Frames = CurrentZombie.Images.Headshot; CurrentZombie.SmallFrames = CurrentZombie.Images.HeadshotSmall; CurrentZombie.Dying = true; Achievements.Check(); return; }; if ((((ycoord < 60)) || ((Gun.ID == "SHOTGUN")))){ CurrentZombie.Health = (CurrentZombie.Health - Gun.Strength); Statistics.ConsecutiveHeadShots = 0; if (CurrentZombie.Health < 1){ CurrentZombie.Dying = true; Statistics.Points = (Statistics.Points + 100); Statistics.TotalPoints = (Statistics.TotalPoints + 100); Statistics.Kills++; if (CurrentZombie.Mode != Mode.Crawling){ CurrentZombie.Mode = Mode.Dying; CurrentZombie.Frames = CurrentZombie.Images.Dying; CurrentZombie.SmallFrames = CurrentZombie.Images.DyingSmall; } else { CurrentZombie.Mode = Mode.DyingCrawling; CurrentZombie.Frames = CurrentZombie.Images.DyingCrawling; CurrentZombie.SmallFrames = CurrentZombie.Images.DyingCrawlingSmall; }; Achievements.Check(); } else { CurrentZombie.Mode = Mode.Hit; CurrentZombie.Frames = CurrentZombie.Images.Hit; CurrentZombie.SmallFrames = CurrentZombie.Images.HitSmall; }; if (Gun.ID != "SHOTGUN"){ return; }; } else { Statistics.ConsecutiveHeadShots = 0; CurrentZombie.Health = (CurrentZombie.Health - (Gun.Strength / 3)); if (CurrentZombie.Health < 1){ Statistics.Points = (Statistics.Points + 10); Statistics.TotalPoints = (Statistics.TotalPoints + 10); CurrentZombie.Dying = true; Achievements.Check(); if (CurrentZombie.Mode == Mode.Crawling){ CurrentZombie.Mode = Mode.Dying; CurrentZombie.Frames = CurrentZombie.Images.DyingCrawling; CurrentZombie.SmallFrames = CurrentZombie.Images.DyingCrawlingSmall; } else { CurrentZombie.Mode = Mode.Dying; CurrentZombie.Frames = CurrentZombie.Images.Dying; CurrentZombie.SmallFrames = CurrentZombie.Images.DyingSmall; }; } else { if ((((CurrentZombie.Type == ZombieTypes.Special)) || ((Math.random() <= 0.5)))){ CurrentZombie.Mode = Mode.Hit; CurrentZombie.Frames = CurrentZombie.Images.Hit; CurrentZombie.SmallFrames = CurrentZombie.Images.HitSmall; } else { CurrentZombie.Mode = Mode.Falling; CurrentZombie.Frames = CurrentZombie.Images.Falling; CurrentZombie.SmallFrames = CurrentZombie.Images.FallingSmall; }; }; }; }; if (((!((Gun.ID == "SHOTGUN"))) && (Hit))){ return; }; }; }; i--; }; if (Hit){ return; }; Statistics.Misses++; Statistics.ConsecutiveHits = 0; Statistics.ConsecutiveHeadShots = 0; } } }//package Sniper
Section 209
//Footprint (Sniper.Footprint) package Sniper { import flash.display.*; import flash.geom.*; import Assets.Zombies.*; public class Footprint { public var Index:int; public var Location:Point; public var LocationLarge:Point; public static const LargeImages:Array = new Array(5); public static const SmallImages:Array = new Array(5); private static var Pool:Array = new Array(); public function Footprint(){ super(); } public static function Dispose(footprint:Footprint):void{ Pool.push(footprint); } public static function Initialise():void{ var shrink:Matrix; var i:int; shrink = new Matrix(); shrink.scale(0.3333, 0.3333); LargeImages[0] = new Footprint1(96, 96); LargeImages[1] = new Footprint2(96, 96); LargeImages[2] = new Footprint3(96, 96); LargeImages[3] = new Footprint4(96, 96); LargeImages[4] = new Footprint5(96, 96); i = 0; while (i < 5) { SmallImages[i] = new BitmapData(32, 32, true, 0); SmallImages[i].draw(LargeImages[i], shrink); i++; }; } private static function Random(min:int, max:int):int{ return ((Math.round((Math.random() * max)) + min)); } public static function Create(location:Point, locationlarge:Point):Footprint{ var footprint:Footprint; footprint = GetInstance(); footprint.Location = location; footprint.LocationLarge = locationlarge; footprint.Index = Random(0, 4); return (footprint); } private static function GetInstance():Footprint{ if (Pool.length > 0){ return (Pool.pop()); }; return (new (Footprint)); } } }//package Sniper
Section 210
//Grenade (Sniper.Grenade) package Sniper { import flash.display.*; import flash.geom.*; import Assets.Guns.*; public class Grenade { private var Points:Array; private var FrameIndex:int; private var StepsIndex:int; private var Steps:int; private static const ZeroPoint:Point = new Point(); private static const StartPoint:Point = new Point(580, 183); private static const Images:Array = new Array(6); private static var Container:Array = new Array(); private static var CurrentGrenade:Grenade; private static var XDistance:int; private static var YDistance:int; public function Grenade(){ super(); } public static function Create(targetx:int, targety:int):void{ var grenade:Grenade; var arcstart:int; var arcend:*; var midpoint:int; var i:int; grenade = new (Grenade); XDistance = (targetx - StartPoint.x); YDistance = (targety - StartPoint.y); grenade.Steps = Math.ceil((Math.abs(XDistance) / 12)); grenade.Points = new Array(grenade.Steps); XDistance = (XDistance / grenade.Steps); YDistance = (YDistance / grenade.Steps); arcstart = (grenade.Steps / 3); arcend = (arcstart * 2); midpoint = (grenade.Steps / 2); i = 0; while (i < (grenade.Steps - 1)) { grenade.Points[i] = new Point(); grenade.Points[i].x = (StartPoint.x + (i * XDistance)); grenade.Points[i].y = (StartPoint.y + (i * YDistance)); if ((((i >= arcstart)) && ((i <= midpoint)))){ grenade.Points[i].y = (grenade.Points[i].y + (i - arcstart)); } else { if ((((i <= arcend)) && ((i > midpoint)))){ grenade.Points[i].y = (grenade.Points[i].y + (i - arcend)); }; }; i++; }; grenade.FrameIndex = 0; grenade.Points[(grenade.Steps - 1)] = new Point(targetx, targety); Container.push(grenade); } public static function Tick(image:BitmapData):void{ var i:int; if (Container.length == 0){ return; }; i = (Container.length - 1); while (i > -1) { CurrentGrenade = Container[i]; CurrentGrenade.FrameIndex++; CurrentGrenade.StepsIndex++; if (CurrentGrenade.StepsIndex == CurrentGrenade.Steps){ SoundManager.PlayGrenadeExplosion(); Container.splice(i, 1); Main.ExplodeGrenade = true; Main.GrenadeX = CurrentGrenade.Points[(CurrentGrenade.StepsIndex - 1)].x; Main.GrenadeY = CurrentGrenade.Points[(CurrentGrenade.StepsIndex - 1)].y; } else { if (CurrentGrenade.FrameIndex == Images.length){ CurrentGrenade.FrameIndex = 0; }; image.copyPixels(Images[CurrentGrenade.FrameIndex], Images[CurrentGrenade.FrameIndex].rect, CurrentGrenade.Points[CurrentGrenade.StepsIndex]); }; i--; }; } public static function Initialise():void{ Images[0] = new Grenade1(10, 10); Images[1] = new Grenade2(10, 10); Images[2] = new Grenade3(10, 10); Images[3] = new Grenade4(10, 10); Images[4] = new Grenade5(10, 10); Images[5] = new Grenade6(10, 10); } } }//package Sniper
Section 211
//GrenadeButton (Sniper.GrenadeButton) package Sniper { import flash.display.*; import flash.geom.*; import Assets.Guns.*; public class GrenadeButton extends MovieClip { private var Enabled:Boolean; private var CountDown:int; private var Image:Bitmap; private var Image2:Bitmap; private var Throwing:Boolean; private var CoverRectangle; private static const CoolDown:int = 400; private static var Unavailable:BitmapData; private static var Cover:BitmapData; private static var Available:BitmapData; public function GrenadeButton(){ CoverRectangle = new Rectangle(0, 0, 30, 30); super(); this.Image = new Bitmap(); this.Image.bitmapData = Unavailable; this.addChild(this.Image); this.Image2 = new Bitmap(); this.Image2.bitmapData = Available; this.addChild(this.Image2); } public function Fire():void{ if (this.CountDown > 0){ return; }; this.CountDown = CoolDown; this.Image2.scrollRect = new Rectangle(0, 0, 30, 30); Main.ThrowGrenade = true; } public function Tick():void{ var percent:Number; if (this.CountDown == 0){ return; }; this.CountDown--; percent = ((CoolDown - this.CountDown) / CoolDown); this.Image2.scrollRect = new Rectangle(0, 0, 30, (percent * 30)); this.Image.alpha = percent; } public static function Initialise():void{ Available = new GrenadeAvailable(30, 30); Unavailable = new GrenadeUnavailable(30, 30); Cover = new GrenadeCover(30, 30); } } }//package Sniper
Section 212
//HelpScreen (Sniper.HelpScreen) package Sniper { import flash.events.*; import flash.display.*; public class HelpScreen extends MovieClip { public function HelpScreen(){ super(); this.x = 0; this.y = 0; Main.STAGE.addChild(this); this.addEventListener(MouseEvent.CLICK, this.Close); } private function Close(e:MouseEvent):void{ this.parent.removeChild(this); } } }//package Sniper
Section 213
//HighScoresScreen (Sniper.HighScoresScreen) package Sniper { import flash.events.*; import flash.display.*; import flash.text.*; import flash.net.*; public class HighScoresScreen extends MovieClip { public var Score2:TextField; public var Score3:TextField; public var Score6:TextField; public var Score7:TextField; public var Score8:TextField; public var Score9:TextField; public var Score5:TextField; public var Name7:TextField; public var Score10:TextField; public var Name10:TextField; public var Score4:TextField; public var Name6:TextField; private var Scores:Array; private var Names:Array; private var DataLoader:URLLoader; public var Name1:TextField; public var Name3:TextField; public var Name4:TextField; public var Name8:TextField; public var Name2:TextField; public var Name5:TextField; public var Name9:TextField; public var Score1:TextField; public function HighScoresScreen(){ var abrazor30Data:URLRequest; var variables:URLVariables; var dataOnLoad:Function; super(); dataOnLoad = function (evt:Event){ var _rankz_ar_:Array; var tempv:Array; var i:int; _rankz_ar_ = DataLoader.data.replace("top10=", "").replace("&success=true").split("<u/*/u>"); i = 0; while (i < _rankz_ar_.length) { tempv = _rankz_ar_[i].split("</*/>"); Names[i].text = tempv[0]; Scores[i].text = tempv[1]; i++; }; }; this.x = 0; this.y = 0; Main.STAGE.addChild(this); this.addEventListener(MouseEvent.CLICK, this.Close); abrazor30Data = new URLRequest("http://rankz.armorbot.com/get/top10.php"); abrazor30Data.method = URLRequestMethod.POST; variables = new URLVariables(); variables.flashkey = "ZGVMVnVwWGc="; variables.SU0249 = "MzYxMmolZSVhJW4lcw=="; abrazor30Data.data = variables; DataLoader = new URLLoader(); DataLoader.dataFormat = URLLoaderDataFormat.TEXT; DataLoader.addEventListener(Event.COMPLETE, dataOnLoad); DataLoader.load(abrazor30Data); Names = [this.Name1, this.Name2, this.Name3, this.Name4, this.Name5, this.Name6, this.Name7, this.Name8, this.Name9, this.Name10]; Scores = [this.Score1, this.Score2, this.Score3, this.Score4, this.Score5, this.Score6, this.Score7, this.Score8, this.Score9, this.Score10]; } private function Close(e:MouseEvent):void{ this.parent.removeChild(this); } } }//package Sniper
Section 214
//ImageSet (Sniper.ImageSet) package Sniper { public class ImageSet { public var DyingCrawling:Array; public var DyingSmall:Array; public var CrawlingSmall:Array; public var Dying:Array; public var HitSmall:Array; public var Walking:Array; public var DyingCrawlingSmall:Array; public var FallingSmall:Array; public var Falling:Array; public var HeadshotSmall:Array; public var WalkingSmall; public var Hit:Array; public var Headshot:Array; public var Crawling:Array; public function ImageSet(){ super(); } } }//package Sniper
Section 215
//Introduction (Sniper.Introduction) package Sniper { import flash.events.*; import flash.display.*; public class Introduction extends MovieClip { public function Introduction(){ super(); this.x = 0; this.y = 0; Main.STAGE.addChild(this); this.addEventListener(MouseEvent.CLICK, this.Continue); this.addEventListener(Event.ENTER_FRAME, this.Tick); } private function Tick(e:Event):void{ if (this.currentFrame >= 520){ this.Continue(null); }; } private function Continue(e:MouseEvent):void{ this.stop(); this.removeEventListener(Event.ENTER_FRAME, this.Tick); this.parent.removeChild(this); new MainMenu(); } } }//package Sniper
Section 216
//LandOverlay (Sniper.LandOverlay) package Sniper { import flash.display.*; import flash.geom.*; import Assets.*; import flash.filters.*; public class LandOverlay { private static const ZeroPoint:Point = new Point(0, 0); private static const Opacity:ColorMatrixFilter = new ColorMatrixFilter(); private static const OpacityArray:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; private static var TempImageSmall:BitmapData; private static var BackgroundOverlayLargePosition:Point; private static var BaseBackgroundOverlay:BitmapData; private static var BackgroundOverlay:BitmapData; private static var BaseBackgroundOverlayLarge:BitmapData; private static var TempImageLarge:BitmapData; private static var BackgroundOverlayLarge:BitmapData; private static var BackgroundOverlayPosition:Point; public function LandOverlay(){ super(); } public static function Initialise():void{ var scaler:Matrix; var large:BitmapData; scaler = new Matrix(); scaler.scale(0.3333, 0.3333); BackgroundOverlayLarge = new BitmapData(1950, 412, true, 0); BackgroundOverlay = new BitmapData(650, 138, true, 0); large = new BackgroundOverlay(1950, 412); BackgroundOverlayLarge.copyPixels(large, large.rect, new Point()); BackgroundOverlay.draw(large, scaler); BackgroundOverlayPosition = new Point(0, (300 - BackgroundOverlay.height)); BackgroundOverlayLargePosition = new Point(0, (900 - BackgroundOverlayLarge.height)); BaseBackgroundOverlay = BackgroundOverlay.clone(); BaseBackgroundOverlayLarge = BackgroundOverlayLarge.clone(); } public static function Reset():void{ BackgroundOverlay = BaseBackgroundOverlay.clone(); BackgroundOverlayLarge = BaseBackgroundOverlayLarge.clone(); } public static function PermanantlyDraw(small:BitmapData, smallposition:Point, large:BitmapData, largeposition:Point, opacity:Number=1):void{ smallposition.y = (smallposition.y - 162); largeposition.y = (largeposition.y - 488); if (opacity == 1){ BackgroundOverlay.copyPixels(small, small.rect, smallposition, small, null, true); BackgroundOverlayLarge.copyPixels(large, large.rect, largeposition, large, null, true); } else { Opacity.matrix = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, opacity, 0]; TempImageSmall = small.clone(); TempImageSmall.applyFilter(TempImageSmall, TempImageSmall.rect, ZeroPoint, Opacity); TempImageLarge = large.clone(); TempImageLarge.applyFilter(TempImageLarge, TempImageLarge.rect, ZeroPoint, Opacity); BackgroundOverlay.copyPixels(TempImageSmall, TempImageSmall.rect, smallposition, TempImageSmall, null, true); BackgroundOverlayLarge.copyPixels(TempImageLarge, TempImageLarge.rect, largeposition, TempImageLarge, null, true); }; } public static function Tick(liveimage:BitmapData, liveimagelarge:BitmapData):void{ liveimage.copyPixels(BackgroundOverlay, BackgroundOverlay.rect, BackgroundOverlayPosition); if (Main.Gun.Scope){ liveimagelarge.copyPixels(BackgroundOverlayLarge, BackgroundOverlayLarge.rect, BackgroundOverlayLargePosition); }; } } }//package Sniper
Section 217
//LevelResults (Sniper.LevelResults) package Sniper { import flash.events.*; import flash.display.*; import flash.text.*; public class LevelResults extends MovieClip { public var TotalMoney:TextField; public var Points:TextField; public var HelpNote:TextField; public var Accuracy:TextField; private var Ticks:int;// = 0 private var LevelPoints:int; private var Backdrop:Shape; public var Money:TextField; public var Kills:TextField; public var Headshots:TextField; private var LevelMoney:int; public var ContinueButton:SimpleButton; public var Time:TextField; public function LevelResults(){ Ticks = 0; super(); this.x = 0; this.y = 0; Main.STAGE.addChild(this); this.ContinueButton.addEventListener(MouseEvent.CLICK, this.Continue); this.ContinueButton.visible = false; SoundManager.PlayMenuMusic(); Main.ShowMouseCursor(); Main.ReloadMessage.visible = false; this.Backdrop = new Shape(); this.Backdrop.graphics.beginFill(4278190080); this.Backdrop.graphics.drawRect(0, 0, 650, 300); this.Backdrop.graphics.endFill(); this.Backdrop.alpha = 0; this.addChildAt(this.Backdrop, 0); this.LevelPoints = Statistics.Points; this.LevelMoney = (Statistics.Level * 200); this.Points.text = (((Statistics.TotalPoints + this.LevelPoints) > 0)) ? (Statistics.TotalPoints + this.LevelPoints).toString() : "--"; this.Headshots.text = ((Statistics.HeadShots > 0)) ? Statistics.HeadShots.toString() : "--"; this.Kills.text = ((Statistics.Kills > 0)) ? Statistics.Kills.toString() : "--"; this.Accuracy.text = ((Statistics.Hits == 0)) ? "--" : (Math.floor(((Statistics.Hits / (Statistics.Misses + Statistics.Hits)) * 100)).toString() + "%"); this.Money.text = this.LevelMoney.toString(); this.TotalMoney.text = Statistics.Money.toString(); Statistics.TotalPoints = (Statistics.TotalPoints + this.LevelPoints); Statistics.Points = 0; if (Main.SurvivalMode == false){ this.Time.text = HHMM((Main.TimeOfDay - 1)); this.Time.visible = true; this.HelpNote.visible = true; } else { this.Time.text = "LEVEL RESULTS"; this.Time.visible = false; this.HelpNote.visible = false; }; this.addEventListener(Event.ENTER_FRAME, this.Tick); } private function Tick(e:Event):void{ Ticks++; if (this.Backdrop.alpha < 0.8){ this.Backdrop.alpha = (this.Backdrop.alpha + 0.01); }; if (this.LevelMoney == 0){ this.ContinueButton.visible = true; this.removeEventListener(Event.ENTER_FRAME, this.Tick); return; }; SoundManager.PlayTick(); if (this.LevelMoney >= 10){ this.LevelMoney = (this.LevelMoney - 10); Statistics.Money = (Statistics.Money + 10); } else { if (this.LevelPoints > 0){ Statistics.Money = (Statistics.Money + this.LevelMoney); this.LevelMoney = 0; }; }; this.Money.text = this.LevelMoney.toString(); this.TotalMoney.text = Statistics.Money.toString(); } private function Continue(e:MouseEvent):void{ SoundManager.StopMenuMusic(); this.parent.removeChild(this); new Shop(); } private static function HHMM(mins:int){ var hours:int; var minutes:int; var pm:Boolean; var minutesstr:String; hours = Math.floor((mins / 60)); minutes = Math.ceil((mins % 60)); pm = false; if (hours >= 24){ hours = (hours - 24); pm = false; } else { if (hours >= 12){ hours = (hours - 12); pm = true; }; }; minutesstr = minutes.toString(); if (minutesstr.length == 1){ minutesstr = ("0" + minutesstr); }; return ((((hours + ":") + minutesstr) + (pm) ? " PM" : " AM")); } } }//package Sniper
Section 218
//Lose (Sniper.Lose) package Sniper { import flash.events.*; import flash.display.*; public class Lose extends MovieClip { private var Backdrop:Shape; public var ContinueButton:SimpleButton; public function Lose(){ super(); Main.Playing = false; Main.ShootingMode = false; this.x = 0; this.y = 0; Main.STAGE.addChild(this); this.ContinueButton.addEventListener(MouseEvent.CLICK, this.Continue); this.ContinueButton.visible = false; SoundManager.PlayWeJustLostThisWar(); Main.ShowMouseCursor(); Main.ReloadMessage.visible = false; this.Backdrop = new Shape(); this.Backdrop.graphics.beginFill(4288217088); this.Backdrop.graphics.drawRect(0, 0, 650, 300); this.Backdrop.graphics.endFill(); this.Backdrop.alpha = 0; this.addChildAt(this.Backdrop, 0); SWFStats.RegisterHighScore(); this.addEventListener(Event.ENTER_FRAME, this.Tick); } private function Tick(e:Event):void{ if (this.Backdrop.alpha < 1){ this.Backdrop.alpha = (this.Backdrop.alpha + 0.01); return; }; this.ContinueButton.visible = true; this.removeEventListener(Event.ENTER_FRAME, this.Tick); } private function Continue(e:MouseEvent):void{ this.parent.removeChild(this); new MainMenu(); } } }//package Sniper
Section 219
//Main (Sniper.Main) package Sniper { import flash.events.*; import flash.display.*; import flash.geom.*; import mochi.as3.*; import SWFStats.*; import Assets.*; import InFlashStudios.*; import flash.utils.*; import flash.text.*; import flash.ui.*; public class Main extends MovieClip { public var Percent:TextField; public var Background:MovieClip; private static const ZeroPoint:Point = new Point(); public static var Shooting:Boolean = false; public static var ReloadMessage:Bitmap; public static var GunIndex:int = 0; public static var Playing:Boolean = false; public static var Pilot:Pilot; public static var Gun:Weapon; public static var StatusBar:StatusBar; public static var ThrowGrenade:Boolean = false; public static var CrossHair:CrossHair; public static var PlayerName:String; public static var SoundOn:Boolean = true; private static var ScreenImage:BitmapData; public static var CountDown:Timer = new Timer(1000); public static var Scope:Scope; private static var LiveImage:BitmapData; public static var Weapons:Array = new Array(8); public static var SurvivalMode:Boolean; public static var ShootingMode:Boolean = false; private static var ScreenImageLarge:BitmapData; public static var ExplodeGrenade:Boolean = false; public static var GrenadeKey:int = 71; private static var LiveImageLarge:BitmapData; public static var ScreenContainer:Bitmap; public static var TimeOfDay:int; public static var Difficulty:int; public static var Seconds:int; public static var PreviousWeaponKey:int = 38; private static var ScrollTimer:int; public static var GrenadeX:int; public static var GrenadeY:int; public static var STAGE:Stage; public static var NextWeaponKey:int = 40; public static var MouseX:int; public static var MouseY:int; public static var ReloadKey:int = 32; public function Main(){ super(); STAGE = stage; STAGE.scaleMode = StageScaleMode.NO_SCALE; loaderInfo.addEventListener(ProgressEvent.PROGRESS, ShowLoadProgress); loaderInfo.addEventListener(Event.COMPLETE, Initialise); Tracker.LogView(loaderInfo.loaderURL); this.Background.alpha = 0; this.gotoAndStop(1); } private function FadeLoaderOut(e:Event):void{ var scaler:Matrix; var ad:MovieClip; this.alpha = (this.alpha - 0.02); if (this.alpha > 0){ return; }; this.removeEventListener(Event.ENTER_FRAME, this.FadeLoaderOut); this.gotoAndStop(3); Zombie.Initialise(); SoundManager.Initialise(); Weapon.Initialise(); WeaponButton.Initialise(); Clouds.Initialise(); Grenade.Initialise(); MuzzleFlash.Initialise(); Soldier.Initialise(); Achievements.Initialise(); Footprint.Initialise(); LandOverlay.Initialise(); Win.Initialise(); Explosion.Initialise(); GrenadeButton.Initialise(); ScreenContainer = new Bitmap(); ScreenContainer.x = 0; ScreenContainer.y = 0; STAGE.addChild(ScreenContainer); StatusBar = new StatusBar(); StatusBar.alpha = 0.8; StatusBar.visible = false; Scope = new Scope(); Scope.Initialise(); Scope.visible = false; ReloadMessage = new Bitmap(); ReloadMessage.bitmapData = new ReloadMessage(200, 50); ReloadMessage.x = 225; ReloadMessage.y = 100; ReloadMessage.visible = false; stage.addChild(ReloadMessage); Pilot = new Pilot(); Pilot.x = 150; Pilot.y = 30; Pilot.visible = false; stage.addChild(Pilot); CrossHair = new CrossHair(); CrossHair.Initialise(); CrossHair.visible = false; scaler = new Matrix(); scaler.scale(0.3333, 0.3333); ScreenImageLarge = new Background(1950, 900); ScreenImage = new BitmapData(650, 300, true); ScreenImage.draw(ScreenImageLarge, scaler); CountDown.addEventListener(TimerEvent.TIMER, Tock); STAGE.setChildIndex(StatusBar, (STAGE.numChildren - 1)); STAGE.setChildIndex(Pilot, (STAGE.numChildren - 1)); STAGE.addEventListener(Event.ENTER_FRAME, Tick); STAGE.addEventListener(MouseEvent.MOUSE_MOVE, Move); STAGE.addEventListener(MouseEvent.MOUSE_DOWN, FireStart); STAGE.addEventListener(MouseEvent.MOUSE_UP, FireStop); STAGE.addEventListener(MouseEvent.MOUSE_WHEEL, CycleWeapons); STAGE.addEventListener(KeyboardEvent.KEY_UP, DoReload); new ArmorGames(this); ad = new MovieClip(); this.addChild(ad); MochiAd.showPreGameAd({clip:ad, id:"1f83f73c845dd874", res:"650x300"}); } private function IFSFinished():void{ new Introduction(); } public function AGFinished():void{ new Splash(STAGE, this.IFSFinished); } private function Initialise(e:Event):void{ loaderInfo.removeEventListener(ProgressEvent.PROGRESS, ShowLoadProgress); loaderInfo.removeEventListener(Event.COMPLETE, Initialise); this.addEventListener(Event.ENTER_FRAME, this.FadeLoaderOut); } private function ShowLoadProgress(e:ProgressEvent):void{ var done:Number; var total:Number; var percent:Number; done = loaderInfo.bytesLoaded; total = loaderInfo.bytesTotal; percent = (done / total); this.Background.alpha = percent; this.Percent.text = (Math.round((percent * 100)) + "%"); } public static function ShowTargetCursor():void{ Scope.visible = Gun.Scope; CrossHair.visible = Gun.CrossHair; Mouse.hide(); } private static function WeaponDown():void{ GunIndex++; if (GunIndex > 7){ GunIndex = 0; } else { if (GunIndex < 0){ GunIndex = 7; }; }; if (Weapons[GunIndex] == null){ while (Weapons[GunIndex] == null) { GunIndex++; if (GunIndex < 0){ GunIndex = 7; } else { if (GunIndex > 7){ GunIndex = 0; }; }; }; }; Gun = Weapons[GunIndex]; Scope.visible = Gun.Scope; CrossHair.visible = Gun.CrossHair; StatusBar.RefreshBullets(Gun.Bullets); StatusBar.RefreshGun(); ReloadMessage.visible = (((Gun.Bullets == 0)) && ((!(Gun.ID) == "SHOTGUN"))); } public static function ShowMouseCursor():void{ Scope.visible = false; CrossHair.visible = false; Mouse.show(); } private static function DoReload(e:KeyboardEvent):void{ if (!Playing){ return; }; if ((((e.keyCode == ReloadKey)) && ((Gun.Reloading == 0)))){ ReloadMessage.visible = false; Gun.Reloading = Gun.Reload; SoundManager.PlayReload(); return; }; if (e.keyCode == PreviousWeaponKey){ WeaponUp(); } else { if (e.keyCode == NextWeaponKey){ WeaponDown(); } else { if (e.keyCode == GrenadeKey){ Main.StatusBar.Grenade.Fire(); }; }; }; } private static function FireStart(e:MouseEvent):void{ Shooting = true; } private static function Tock(e:TimerEvent):void{ var i:int; if (!Playing){ return; }; if (SurvivalMode){ Seconds++; if ((Seconds % 60) == 0){ CountDown.stop(); Playing = false; Pilot.visible = false; ReloadMessage.visible = false; ScreenContainer.visible = false; ShootingMode = false; new LevelResults(); } else { ShootingMode = true; StatusBar.RefreshTime(Seconds, -1); }; } else { Seconds--; TimeOfDay++; if (TimeOfDay == 1322){ SoundManager.Play30isgameover(); } else { if (TimeOfDay == 1350){ SoundManager.PlayMotherproudwithhis(); }; }; if (Seconds == -1){ CountDown.stop(); Playing = false; Pilot.visible = false; ReloadMessage.visible = false; ScreenContainer.visible = false; ShootingMode = false; if (Statistics.Level < 10){ new LevelResults(); } else { Zombie.DisposeAll(); new Win(); }; } else { ShootingMode = true; StatusBar.RefreshTime(Seconds, TimeOfDay); }; }; } public static function StartGame():void{ StatusBar.visible = true; Statistics.Reset(); StatusBar.Refresh(); LandOverlay.Reset(); Weapons[0] = Weapon.Pistol; Weapons[1] = null; Weapons[2] = null; Weapons[3] = null; Weapons[4] = null; Weapons[5] = null; Weapons[6] = null; Weapons[7] = null; Gun = Weapons[0]; GunIndex = 0; TimeOfDay = 1320; StatusBar.RefreshBullets(Gun.Bullets); StatusBar.RefreshGun(); StatusBar.Reset(); StatusBar.Refresh(); Zombie.Corpses = new Array(); Zombie.DisposeAll(); StartLevel(); Tracker.LogPlay(); } public static function StartLevel():void{ Statistics.Level++; Playing = true; ShootingMode = true; ThrowGrenade = false; Shooting = false; ExplodeGrenade = false; Weapon.ResetWeapons(); Statistics.ConsecutiveHits = 0; Statistics.ConsecutiveHeadShots = 0; Seconds = (SurvivalMode) ? Seconds : 60; Gun.Bullets = Gun.ClipSize; StatusBar.Reset(); StatusBar.Refresh(); StatusBar.RefreshBullets(Gun.Bullets); StatusBar.RefreshTime(Seconds, TimeOfDay); StatusBar.Round.text = ("ROUND " + Statistics.Level); SoundManager.PlayGameMusic(); ShowTargetCursor(); ScreenContainer.visible = true; CountDown.start(); } private static function Move(e:MouseEvent):void{ MouseX = e.stageX; MouseY = e.stageY; } private static function Tick(e:Event):void{ if (!Playing){ return; }; LiveImage = new BitmapData(ScreenImage.width, ScreenImage.height, false); LiveImage.copyPixels(ScreenImage, ScreenImage.rect, ZeroPoint); LiveImageLarge = (Gun.Scope) ? ScreenImageLarge.clone() : null; Weapon.Tick(); Clouds.Tick(LiveImage, LiveImageLarge); LandOverlay.Tick(LiveImage, LiveImageLarge); Soldier.Tick(MouseX, LiveImage, LiveImageLarge); MuzzleFlash.Tick(MouseX, LiveImage, LiveImageLarge); Fire.Tick(LiveImage); SpawnController.Tick(); Zombie.Tick(LiveImage, LiveImageLarge, ScreenImage, ScreenImageLarge); Smoke.Tick(LiveImage); Explosion.Tick(LiveImage); Grenade.Tick(LiveImage); Achievements.Tick(LiveImage); Main.Scope.Refresh(LiveImageLarge); Main.CrossHair.Refresh(); Main.StatusBar.Refresh(); Main.StatusBar.Grenade.Tick(); ScreenContainer.bitmapData = LiveImage; if (ScrollTimer > 0){ ScrollTimer--; }; } private static function CycleWeapons(e:MouseEvent):void{ if (!Playing){ return; }; if (ScrollTimer > 0){ return; }; ScrollTimer = 4; if (e.delta < 0){ WeaponUp(); } else { WeaponDown(); }; } private static function FireStop(e:MouseEvent):void{ Shooting = false; } private static function Random(min:int, max:int):int{ return ((Math.round((Math.random() * max)) + min)); } private static function WeaponUp():void{ GunIndex--; if (GunIndex > 7){ GunIndex = 0; } else { if (GunIndex < 0){ GunIndex = 7; }; }; if (Weapons[GunIndex] == null){ while (Weapons[GunIndex] == null) { GunIndex--; if (GunIndex < 0){ GunIndex = 7; } else { if (GunIndex > 7){ GunIndex = 0; }; }; }; }; Gun = Weapons[GunIndex]; Scope.visible = Gun.Scope; CrossHair.visible = Gun.CrossHair; StatusBar.RefreshBullets(Gun.Bullets); StatusBar.RefreshGun(); ReloadMessage.visible = (((Gun.Bullets == 0)) && ((!(Gun.ID) == "SHOTGUN"))); } } }//package Sniper
Section 220
//MainMenu (Sniper.MainMenu) package Sniper { import flash.events.*; import flash.display.*; import flash.text.*; import flash.net.*; import flash.filters.*; public class MainMenu extends MovieClip { public var HelpButton:SimpleButton; public var PlayerName:TextField; public var SurvivalButton:SimpleButton; public var ChangeKeysButton:SimpleButton; public var HighScoresButton:SimpleButton; public var PlayButton:SimpleButton; public var PMGButton:SimpleButton; public var AGLogo:MovieClip; public function MainMenu(){ super(); this.x = 0; this.y = 0; Main.STAGE.addChild(this); this.AGLogo.filters = [new GlowFilter(0)]; this.PlayButton.filters = [new GlowFilter(0)]; this.SurvivalButton.filters = [new GlowFilter(0)]; this.HighScoresButton.filters = [new GlowFilter(0)]; this.HelpButton.filters = [new GlowFilter(0)]; this.ChangeKeysButton.filters = [new GlowFilter(0)]; this.PlayButton.addEventListener(MouseEvent.CLICK, this.Play); this.SurvivalButton.addEventListener(MouseEvent.CLICK, this.PlaySurvival); this.HighScoresButton.addEventListener(MouseEvent.CLICK, this.HighScores); this.HelpButton.addEventListener(MouseEvent.CLICK, this.Help); this.AGLogo.addEventListener(MouseEvent.CLICK, GoToArmorGames); this.PMGButton.addEventListener(MouseEvent.CLICK, GoToArmorGames); this.ChangeKeysButton.addEventListener(MouseEvent.CLICK, this.ChangeKeys); this.AGLogo.useHandCursor = true; this.AGLogo.mouseChildren = false; this.AGLogo.buttonMode = true; SoundManager.PlayMenuMusic(); } private function ChangeKeys(e:MouseEvent):void{ new RemapKeysScreen(); } private function Play(e:MouseEvent):void{ Main.PlayerName = PlayerName.text; this.parent.removeChild(this); SoundManager.StopMenuMusic(); Main.SurvivalMode = false; new CampaignIntroductionScreen(); SWFStats.RegisterCustomMetric(SWFStats.Campaign); } private function Help(e:MouseEvent):void{ new HelpScreen(); } private function HighScores(e:MouseEvent):void{ new HighScoresScreen(); } private function PlaySurvival(e:MouseEvent):void{ Main.Difficulty = 1; Main.PlayerName = PlayerName.text; this.parent.removeChild(this); SoundManager.StopMenuMusic(); Main.SurvivalMode = true; Main.StatusBar.TimeOfDay.visible = false; Main.Seconds = 0; Main.StartGame(); SWFStats.RegisterCustomMetric(SWFStats.Survival); } private static function GoToArmorGames(e:MouseEvent):void{ navigateToURL(new URLRequest("http://armorgames.com/"), "_blank"); } } }//package Sniper
Section 221
//Mode (Sniper.Mode) package Sniper { public class Mode { public static const Headshot:int = 3; public static const Falling:int = 5; public static const DyingCrawling:int = 6; public static const Dying:int = 2; public static const Hit:int = 1; public static const Walking:int = 0; public static const Crawling:int = 4; public function Mode(){ super(); } } }//package Sniper
Section 222
//MuzzleFlash (Sniper.MuzzleFlash) package Sniper { import flash.display.*; import flash.geom.*; import Assets.Man.*; public class MuzzleFlash { private static const ManLargePosition:Point = new Point(1800, 525); private static const FlashImages:Array = new Array(5); private static const FlashLargePosition:Array = new Array(5); private static const FlashPosition:Array = new Array(5); private static const FlashImagesSmall:Array = new Array(5); public static var FlashTimer:int = 0; public function MuzzleFlash(){ super(); } public static function Initialise():void{ var scaler:Matrix; FlashImages[0] = new Flash1(8, 4); FlashImages[1] = new Flash2(8, 5); FlashImages[2] = new Flash3(8, 7); FlashImages[3] = new Flash4(7, 7); FlashImages[4] = new Flash4(7, 7); scaler = new Matrix(); scaler.scale(0.3333, 0.3333); FlashImagesSmall[0] = new BitmapData(3, 2, true, 0); FlashImagesSmall[0].draw(FlashImages[0], scaler); FlashImagesSmall[1] = new BitmapData(3, 2, true, 0); FlashImagesSmall[1].draw(FlashImages[1], scaler); FlashImagesSmall[2] = new BitmapData(3, 3, true, 0); FlashImagesSmall[2].draw(FlashImages[2], scaler); FlashImagesSmall[3] = new BitmapData(3, 3, true, 0); FlashImagesSmall[3].draw(FlashImages[3], scaler); FlashImagesSmall[4] = new BitmapData(3, 3, true, 0); FlashImagesSmall[4].draw(FlashImages[3], scaler); FlashLargePosition[0] = new Point((ManLargePosition.x - FlashImages[0].width), (ManLargePosition.y + 16)); FlashLargePosition[1] = new Point(((ManLargePosition.x + 3) - FlashImages[1].width), (ManLargePosition.y + 25)); FlashLargePosition[2] = new Point(((ManLargePosition.x + 8) - FlashImages[2].width), (ManLargePosition.y + 32)); FlashLargePosition[3] = new Point(((ManLargePosition.x + 12) - FlashImages[3].width), (ManLargePosition.y + 34)); FlashLargePosition[4] = new Point(((ManLargePosition.x + 12) - FlashImages[3].width), (ManLargePosition.y + 34)); FlashPosition[0] = new Point((FlashLargePosition[0].x / 3), (FlashLargePosition[0].y / 3)); FlashPosition[1] = new Point((FlashLargePosition[1].x / 3), (FlashLargePosition[1].y / 3)); FlashPosition[2] = new Point((FlashLargePosition[2].x / 3), (FlashLargePosition[2].y / 3)); FlashPosition[3] = new Point((FlashLargePosition[3].x / 3), (FlashLargePosition[3].y / 3)); FlashPosition[4] = new Point(((ManLargePosition.x + 12) - FlashImages[3].width), (ManLargePosition.y + 34)); } public static function Tick(mousex:int, liveimage:BitmapData, liveimagelarge:BitmapData):void{ var index:int; if (FlashTimer == 0){ return; }; if ((((mousex > 650)) || ((mousex < 0)))){ return; }; index = Math.floor((mousex / 150)); liveimage.copyPixels(FlashImagesSmall[index], FlashImagesSmall[index].rect, FlashPosition[index]); if (liveimagelarge != null){ liveimagelarge.copyPixels(FlashImages[index], FlashImages[index].rect, FlashLargePosition[index]); }; FlashTimer--; } } }//package Sniper
Section 223
//Pilot (Sniper.Pilot) package Sniper { import flash.display.*; import flash.text.*; public dynamic class Pilot extends MovieClip { public var Subtitle:TextField; public function Pilot(){ super(); } } }//package Sniper
Section 224
//ProbabilitySet (Sniper.ProbabilitySet) package Sniper { public class ProbabilitySet { public var PMin:Number; public var PMax:Number; public var Type:int; public function ProbabilitySet(type:int, pmin:Number, pmax:Number){ super(); this.Type = type; this.PMin = pmin; this.PMax = pmax; } } }//package Sniper
Section 225
//RemapKeysScreen (Sniper.RemapKeysScreen) package Sniper { import flash.events.*; import flash.display.*; import flash.text.*; import flash.ui.*; public class RemapKeysScreen extends MovieClip { public var ChangeNext:SimpleButton; private var Keys:Array; public var PreviousWeaponKey:TextField; public var GrenadeKey:TextField; public var ChangeGrenade:SimpleButton; public var ChangeReload:SimpleButton; public var NextWeaponKey:TextField; public var ContinueButton:SimpleButton; public var ReloadKey:TextField; public var ChangePrevious:SimpleButton; private static var Numbers:Array = new Array(10); private static var Alphabet:Array = new Array(26); public function RemapKeysScreen(){ var i:int; Keys = new Array(); super(); this.x = 0; this.y = 0; Main.STAGE.addChild(this); Alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); Numbers = ["ZERO", "ONE", "TWO", "THREE", "FOUR", "FIVE", "SIX", "SEVEN", "EIGHT", "NINE"]; i = 0; while (i < 26) { Keys[(65 + i)] = Alphabet[i]; i++; }; i = 0; while (i < 10) { Keys[(48 + i)] = Numbers[i]; i++; }; Keys[Keyboard.BACKSPACE] = "BACKSPACE"; Keys[Keyboard.CAPS_LOCK] = "CAPS LOCK"; Keys[Keyboard.CONTROL] = "CTRL"; Keys[Keyboard.DELETE] = "DELETE"; Keys[Keyboard.DOWN] = "DOWN"; Keys[Keyboard.END] = "END"; Keys[Keyboard.ENTER] = "ENTER"; Keys[Keyboard.ESCAPE] = "ESC"; Keys[Keyboard.F1] = "F1"; Keys[Keyboard.F2] = "F2"; Keys[Keyboard.F3] = "F3"; Keys[Keyboard.F4] = "F4"; Keys[Keyboard.F5] = "F5"; Keys[Keyboard.F6] = "F6"; Keys[Keyboard.F7] = "F7"; Keys[Keyboard.F8] = "F8"; Keys[Keyboard.F9] = "F9"; Keys[Keyboard.F10] = "F10"; Keys[Keyboard.F11] = "F11"; Keys[Keyboard.F12] = "F12"; Keys[Keyboard.F13] = "F13"; Keys[Keyboard.F14] = "F14"; Keys[Keyboard.F15] = "F15"; Keys[Keyboard.HOME] = "HOME"; Keys[Keyboard.INSERT] = "INSERT"; Keys[Keyboard.LEFT] = "LEFT"; Keys[Keyboard.NUMPAD_0] = "NUMPAD 0"; Keys[Keyboard.NUMPAD_1] = "NUMPAD 1"; Keys[Keyboard.NUMPAD_2] = "NUMPAD 2"; Keys[Keyboard.NUMPAD_3] = "NUMPAD 3"; Keys[Keyboard.NUMPAD_4] = "NUMPAD 4"; Keys[Keyboard.NUMPAD_5] = "NUMPAD 5"; Keys[Keyboard.NUMPAD_6] = "NUMPAD 6"; Keys[Keyboard.NUMPAD_7] = "NUMPAD 7"; Keys[Keyboard.NUMPAD_8] = "NUMPAD 8"; Keys[Keyboard.NUMPAD_9] = "NUMPAD 9"; Keys[Keyboard.NUMPAD_ADD] = "NUMPAD +"; Keys[Keyboard.NUMPAD_DECIMAL] = "NUMPAD ."; Keys[Keyboard.NUMPAD_DIVIDE] = "NUMPAD /"; Keys[Keyboard.NUMPAD_ENTER] = "NUMPAD ENTER"; Keys[Keyboard.NUMPAD_MULTIPLY] = "NUMPAD *"; Keys[Keyboard.NUMPAD_SUBTRACT] = "NUMPAD -"; Keys[Keyboard.PAGE_DOWN] = "PAGE DOWN"; Keys[Keyboard.PAGE_UP] = "PAGE UP"; Keys[Keyboard.RIGHT] = "RIGHT"; Keys[Keyboard.SHIFT] = "SHIFT"; Keys[Keyboard.SPACE] = "SPACE"; Keys[Keyboard.TAB] = "TAB"; Keys[Keyboard.UP] = "UP"; this.PreviousWeaponKey.text = (Keys[Main.PreviousWeaponKey] + " KEY"); this.NextWeaponKey.text = (Keys[Main.NextWeaponKey] + " KEY"); this.GrenadeKey.text = (Keys[Main.GrenadeKey] + " KEY"); this.ReloadKey.text = (Keys[Main.ReloadKey] + " KEY"); this.ChangePrevious.addEventListener(MouseEvent.CLICK, this.ChangeKey); this.ChangeNext.addEventListener(MouseEvent.CLICK, this.ChangeKey); this.ChangeGrenade.addEventListener(MouseEvent.CLICK, this.ChangeKey); this.ChangeReload.addEventListener(MouseEvent.CLICK, this.ChangeKey); this.ContinueButton.addEventListener(MouseEvent.CLICK, this.Close); } private function Close(e:MouseEvent):void{ this.removeEventListener(KeyboardEvent.KEY_UP, this.Remap); this.parent.removeChild(this); } private function Remap(e:KeyboardEvent):void{ var key:String; key = Keys[e.keyCode]; if (key == null){ return; }; if (PreviousWeaponKey.text == "PRESS A KEY"){ PreviousWeaponKey.text = (key + " KEY"); Main.PreviousWeaponKey = e.keyCode; } else { if (NextWeaponKey.text == "PRESS A KEY"){ NextWeaponKey.text = (key + " KEY"); Main.NextWeaponKey = e.keyCode; } else { if (GrenadeKey.text == "PRESS A KEY"){ GrenadeKey.text = (key + " KEY"); Main.GrenadeKey = e.keyCode; } else { if (ReloadKey.text == "PRESS A KEY"){ ReloadKey.text = (key + " KEY"); Main.ReloadKey = e.keyCode; }; }; }; }; this.removeEventListener(KeyboardEvent.KEY_UP, this.Remap); } private function ChangeKey(e:MouseEvent):void{ var button:SimpleButton; button = (e.target as SimpleButton); switch (button.name){ case "ChangePrevious": PreviousWeaponKey.text = "PRESS A KEY"; break; case "ChangeNext": NextWeaponKey.text = "PRESS A KEY"; break; case "ChangeGrenade": GrenadeKey.text = "PRESS A KEY"; break; case "ChangeReload": ReloadKey.text = "PRESS A KEY"; break; }; this.addEventListener(KeyboardEvent.KEY_UP, this.Remap); } } }//package Sniper
Section 226
//Scope (Sniper.Scope) package Sniper { import flash.display.*; import flash.geom.*; public class Scope extends MovieClip { public var Mask:MovieClip; private var TimerImage:Shape; private var Image:Bitmap; private var RealY:int; private var RealX:int; private static const ZeroPoint:Point = new Point(0, 0); private static const CenterPoint:Point = new Point(); private static const HalfWidth:int = 65; private static const HalfHeight:int = 65; private static const ZoomRectangle:Rectangle = new Rectangle(0, 0, 130, 130); private static var TimerBitmap:BitmapData; public function Scope(){ super(); } public function RefreshBar(current:int, total:int):void{ var width:Number; width = Math.round((120 * (current / total))); this.TimerImage.visible = true; this.TimerImage.width = width; this.TimerImage.height = width; } public function HideBar():void{ this.TimerImage.visible = false; } public function Refresh(liveimagelarge:BitmapData):void{ var image:BitmapData; if ((((Main.ShootingMode == false)) || ((Main.Gun.Scope == false)))){ return; }; if (Main.Gun.Reloading > 0){ RefreshBar(Main.Gun.Reloading, Main.Gun.Reload); } else { if (Main.Gun.CoolingDown > 0){ RefreshBar(Main.Gun.CoolingDown, Main.Gun.CoolDown); } else { if (this.TimerImage.visible){ HideBar(); }; }; }; this.x = (Main.MouseX - HalfWidth); this.y = (Main.MouseY - HalfHeight); this.RealY = this.y; this.RealX = this.x; if (((this.visible) && ((Main.MouseY < 44)))){ Main.ShowMouseCursor(); return; }; if ((((this.visible == false)) && ((Main.MouseY > 44)))){ Main.ShowTargetCursor(); }; if (Main.Gun.CoolingDown > 0){ this.y = (this.RealY - Main.Gun.CoolingDown); if (Main.Gun.CoolingDown > 15){ this.x = ((this.RealX + (Math.random() * 6)) - (Math.random() * 6)); } else { this.x = this.RealX; }; } else { this.y = this.RealY; this.x = this.RealX; }; ZoomRectangle.x = ((this.x * 3) + 120); ZoomRectangle.y = ((this.y * 3) + 120); image = new BitmapData(130, 130, false, 0); image.copyPixels(liveimagelarge, ZoomRectangle, CenterPoint); this.Image.bitmapData = image; } public function Initialise(){ this.x = 0; this.y = 0; this.Image = new Bitmap(); this.Image.x = 0; this.Image.y = 0; this.Image.mask = this.Mask; this.addChild(this.Image); this.setChildIndex(this.Image, 0); this.TimerImage = new Shape(); this.TimerImage.graphics.moveTo(0, 0); this.TimerImage.graphics.beginFill(268435455, 0.5); this.TimerImage.graphics.drawCircle(0, 0, 30); this.TimerImage.graphics.endFill(); this.TimerImage.x = 65; this.TimerImage.y = 65; this.TimerImage.visible = false; this.addChild(this.TimerImage); Main.STAGE.addChild(this); } } }//package Sniper
Section 227
//Shop (Sniper.Shop) package Sniper { import flash.events.*; import flash.display.*; import flash.text.*; public class Shop extends MovieClip { public var Description:MovieClip; private var Button4:WeaponButton; private var Button5:WeaponButton; private var Button7:WeaponButton; private var Button6:WeaponButton; private var Button8:WeaponButton; private var Button1:WeaponButton; private var Button3:WeaponButton; private var Button2:WeaponButton; private var Backdrop:Shape; public var Money:TextField; public var ContinueButton:SimpleButton; public function Shop(){ super(); this.x = 0; this.y = 0; Main.STAGE.addChild(this); Main.ShowMouseCursor(); this.Backdrop = new Shape(); this.Backdrop.graphics.beginFill(4278190080); this.Backdrop.graphics.drawRect(0, 0, 650, 300); this.Backdrop.graphics.endFill(); this.Backdrop.alpha = 0.5; this.addChildAt(this.Backdrop, 0); this.Money.text = Statistics.Money.toString(); this.Button1 = new WeaponButton(71, 76, Weapon.Pistol, this); this.Button2 = new WeaponButton(201, 76, Weapon.DualPistols, this); this.Button3 = new WeaponButton(331, 76, Weapon.ShotGun, this); this.Button4 = new WeaponButton(461, 76, Weapon.LightMachineGun, this); this.Button5 = new WeaponButton(71, 133, Weapon.HeavyMachineGun, this); this.Button6 = new WeaponButton(201, 133, Weapon.Sniper1, this); this.Button7 = new WeaponButton(331, 133, Weapon.Sniper2, this); this.Button8 = new WeaponButton(461, 133, Weapon.RocketLauncher, this); this.addChild(this.Button1); this.addChild(this.Button2); this.addChild(this.Button3); this.addChild(this.Button4); this.addChild(this.Button5); this.addChild(this.Button6); this.addChild(this.Button7); this.addChild(this.Button8); this.ContinueButton.addEventListener(MouseEvent.CLICK, this.Continue); this.setChildIndex(this.Description, (this.numChildren - 1)); this.Description.visible = false; } private function Continue(e:MouseEvent):void{ this.parent.removeChild(this); Main.StartLevel(); } } }//package Sniper
Section 228
//Smoke (Sniper.Smoke) package Sniper { import flash.display.*; import flash.geom.*; import flash.filters.*; public class Smoke { private var Target:Point; private var Ticks:int;// = 0 private var Image:BitmapData; private static const Colours:Array = new Array(6); private static const Limit:int = 100; private static const ZeroPoint:Point = new Point(); private static const Opacity:ColorMatrixFilter = new ColorMatrixFilter(); private static const StartPoint:Point = new Point(580, 183); private static var Blur:BlurFilter = new BlurFilter(); private static var TempShape:Shape = new Shape(); private static var CurrentSmoke:Smoke; private static var TempImage:BitmapData; private static var Container:Array = new Array(); private static var Glow:GlowFilter = new GlowFilter(); private static var OpacityArray:Array = [1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0]; private static var CurrentOpacity:Number; private static var XDistance:int; private static var YDistance:int; public function Smoke(){ Ticks = 0; super(); } public static function Tick(image:BitmapData):void{ var i:int; if (Container.length == 0){ return; }; i = (Container.length - 1); while (i > -1) { CurrentSmoke = Container[i]; CurrentSmoke.Ticks++; if (CurrentSmoke.Ticks == Limit){ Container.splice(i, 1); } else { CurrentOpacity = ((Limit - CurrentSmoke.Ticks) / Limit); CurrentOpacity = (CurrentOpacity - 0.5); if (CurrentOpacity <= 0){ Container.splice(i, 1); } else { OpacityArray[18] = CurrentOpacity; Opacity.matrix = OpacityArray; Glow.blurX = CurrentSmoke.Ticks; Glow.blurY = CurrentSmoke.Ticks; Glow.quality = 1; Glow.color = 0xFFFFFF; Blur.blurX = CurrentSmoke.Ticks; Blur.blurY = CurrentSmoke.Ticks; Blur.quality = 1; TempImage = CurrentSmoke.Image.clone(); TempImage.applyFilter(TempImage, TempImage.rect, ZeroPoint, Glow); TempImage.applyFilter(TempImage, TempImage.rect, ZeroPoint, Blur); TempImage.applyFilter(TempImage, TempImage.rect, ZeroPoint, Opacity); image.draw(TempImage); }; }; i--; }; } public static function Create(targetx:int, targety:int):void{ var smoke:Smoke; var scale:Number; var radius:Number; var x:Number; var y:Number; var i:int; smoke = new (Smoke); smoke.Target = new Point(targetx, targety); smoke.Image = new BitmapData(650, 300, true, 0); XDistance = ((targetx - StartPoint.x) / 30); YDistance = ((targety - StartPoint.y) / 30); scale = 1; radius = 50; i = 0; while (i < 30) { scale = ((30 - i) / 30); radius = (scale * 30); x = (StartPoint.x + (i * XDistance)); y = (StartPoint.y + (i * YDistance)); if (Math.random() > 0.5){ radius = (radius + (Math.random() * 10)); x = (x + (Math.random() * 10)); y = (y + (Math.random() * 10)); } else { radius = (radius - (Math.random() * 10)); x = (x - (Math.random() * 10)); y = (y - (Math.random() * 10)); }; TempShape.graphics.clear(); TempShape.graphics.beginFill(Colours[Random(0, 2)]); TempShape.graphics.drawCircle(x, y, radius); TempShape.graphics.endFill(); smoke.Image.draw(TempShape); i++; }; Glow.blurX = Random(1, 10); Glow.blurY = Random(1, 10); Glow.quality = 1; Glow.color = 0xFFFFFF; Blur.blurX = Random(1, 10); Blur.blurY = Random(1, 10); smoke.Image.applyFilter(smoke.Image, smoke.Image.rect, ZeroPoint, Glow); smoke.Image.applyFilter(smoke.Image, smoke.Image.rect, ZeroPoint, Blur); Container.push(smoke); } private static function Random(min:int, max:int):int{ return ((Math.round((Math.random() * max)) + min)); } Colours[0] = 0xFFFFFF; Colours[1] = 0xEEEEEE; Colours[2] = 0xDDDDDD; } }//package Sniper
Section 229
//Soldier (Sniper.Soldier) package Sniper { import flash.display.*; import flash.geom.*; import Assets.Man.*; public class Soldier { private static const ManPosition:Point = new Point(600, 175); private static const ManImages:Array = new Array(5); private static const ManImagesSmall:Array = new Array(5); private static const ManLargePosition:Point = new Point(1800, 525); public static var FlashTimer:int = 0; public function Soldier(){ super(); } public static function Initialise():void{ var scaler:Matrix; scaler = new Matrix(); scaler.scale(0.3333, 0.3333); ManImages[0] = new Man1(41, 47); ManImages[1] = new Man2(41, 47); ManImages[2] = new Man3(41, 47); ManImages[3] = new Man4(41, 47); ManImages[4] = new Man4(41, 47); ManImagesSmall[0] = new BitmapData(14, 18, true, 0); ManImagesSmall[0].draw(ManImages[0], scaler); ManImagesSmall[1] = new BitmapData(14, 18, true, 0); ManImagesSmall[1].draw(ManImages[1], scaler); ManImagesSmall[2] = new BitmapData(14, 18, true, 0); ManImagesSmall[2].draw(ManImages[2], scaler); ManImagesSmall[3] = new BitmapData(14, 18, true, 0); ManImagesSmall[3].draw(ManImages[3], scaler); ManImagesSmall[4] = new BitmapData(14, 18, true, 0); ManImagesSmall[4].draw(ManImages[3], scaler); } public static function Tick(mousex:int, liveimage:BitmapData, liveimagelarge:BitmapData):void{ var index:int; if ((((mousex > 650)) || ((mousex < 0)))){ return; }; index = Math.floor((mousex / 150)); liveimage.copyPixels(ManImagesSmall[index], ManImagesSmall[index].rect, ManPosition); if (Main.Gun.Scope){ liveimagelarge.copyPixels(ManImages[index], ManImages[index].rect, ManLargePosition); }; } } }//package Sniper
Section 230
//SoundManager (Sniper.SoundManager) package Sniper { import flash.events.*; import flash.media.*; import Assets.Sounds.*; public class SoundManager { private static const ShotChannels:Array = new Array(20); private static const FreeShotChannels:Array = new Array(20); private static const AmbientVolume:SoundTransform = new SoundTransform(1); private static const ShotVolume:SoundTransform = new SoundTransform(0.8); private static var s30isgameover:Sound; private static var RocketExplosion:Sound; private static var GrenadeExplosion:Sound; private static var Loserasssave:Sound; private static var ShotChannel:SoundChannel = new SoundChannel(); private static var VoiceChannel:SoundChannel = new SoundChannel(); private static var GeneralChannel:SoundChannel = new SoundChannel(); private static var Explosions:Sound; private static var Holddemzombies:Sound; private static var Theme:Sound; private static var JetFlyBy:Sound; private static var GameMusic:Sound; private static var Reload:Sound; private static var GunShot:Boolean; private static var Tick:Sound; private static var MusicChannel:SoundChannel = new SoundChannel(); private static var WinMusic:Sound; private static var WeJustLostThisWar:Sound; private static var Channel:int; private static var MenuMusic:Sound; private static var i:int; private static var Motherproudwithhis:Sound; public function SoundManager(){ super(); } public static function StopMenuMusic():void{ if (!Main.SoundOn){ return; }; MusicChannel.stop(); } public static function PlayJetFlyBy():void{ if (!Main.SoundOn){ return; }; GeneralChannel = JetFlyBy.play(); } public static function PlayReload():void{ if (!Main.SoundOn){ return; }; ShotChannel = Reload.play(0, 0); } public static function PlayWinMusic():void{ if (!Main.SoundOn){ return; }; MusicChannel = WinMusic.play(); } private static function GetFreeShotChannel():int{ i = 0; while (i < 20) { if (FreeShotChannels[i] == true){ return (i); }; i++; }; return (-1); } public static function PlayMenuMusic():void{ if (!Main.SoundOn){ return; }; MusicChannel = MenuMusic.play(); } private static function ShowPilot(subtitle:String):void{ Main.Pilot.Subtitle.text = subtitle; Main.Pilot.visible = true; } public static function PlayRocketExplosion():void{ if (!Main.SoundOn){ return; }; GeneralChannel = RocketExplosion.play(0, 0); } public static function PlayMotherproudwithhis():void{ ShowPilot("REMEMBER TO EXPLODE THEIR HEADS TO MAKE YOUR MOTHER PROUD"); if (!Main.SoundOn){ return; }; VoiceChannel = Motherproudwithhis.play(0, 0); VoiceChannel.addEventListener(Event.SOUND_COMPLETE, HidePilot); } public static function PlaySound(sound:Sound):void{ if (!Main.SoundOn){ return; }; GeneralChannel = sound.play(0, 0); } public static function PlayTick():void{ if (!Main.SoundOn){ return; }; ShotChannel = Tick.play(0, 0); } public static function StopGameMusic():void{ if (!Main.SoundOn){ return; }; MusicChannel.stop(); } public static function PlayLoserasssave():void{ ShowPilot("WHO WOULD HAVE THOUGHT A LOSER LIKE YOU WOULD BE ABLE TO SAVE ALL OUR ASSES"); if (!Main.SoundOn){ return; }; VoiceChannel = Loserasssave.play(0, 0); VoiceChannel.addEventListener(Event.SOUND_COMPLETE, HidePilot); } public static function Initialise():void{ MenuMusic = new MenuMusic(); GameMusic = new GameMusic(); WinMusic = new WinMusic(); Explosions = new Explosions(); JetFlyBy = new JetFlyBy(); Reload = new Reload(); Tick = new Tick(); s30isgameover = new s30isgameover(); Motherproudwithhis = new Motherproudwithhis(); Loserasssave = new Loserasssave(); Holddemzombies = new Holddemzombies(); WeJustLostThisWar = new WeJustLostThisWar(); GrenadeExplosion = new GrenadeExplosion(); RocketExplosion = new RocketExplosion(); } public static function PlayGrenadeExplosion():void{ if (!Main.SoundOn){ return; }; GeneralChannel = GrenadeExplosion.play(0, 0); } public static function PlayGameMusic():void{ MusicChannel = GameMusic.play(); MusicChannel.soundTransform = AmbientVolume; } public static function Play30isgameover():void{ ShowPilot("ANY ZOMBIES THAT GET THROUGH WILL GO ON YOUR DAMN RECORD, AND IF YOU LET 30 PASS I'LL KICK YOUR ASS AND IT'LL BE GAME OVER"); if (!Main.SoundOn){ return; }; VoiceChannel = s30isgameover.play(0, 0); VoiceChannel.addEventListener(Event.SOUND_COMPLETE, HidePilot); } private static function Random(min:int, max:int):int{ return ((Math.round((Math.random() * max)) + min)); } public static function StopWinMusic():void{ if (!Main.SoundOn){ return; }; MusicChannel.stop(); } private static function HidePilot(e:Event):void{ Main.Pilot.Subtitle.text = ""; Main.Pilot.visible = false; } public static function PlayWeJustLostThisWar():void{ ShowPilot("WELL THANKS TO YOU WE JUST LOST THIS WAR"); if (!Main.SoundOn){ return; }; VoiceChannel = WeJustLostThisWar.play(0, 0); VoiceChannel.addEventListener(Event.SOUND_COMPLETE, HidePilot); } public static function PlayExplosions():void{ if (!Main.SoundOn){ return; }; GeneralChannel = Explosions.play(); } public static function PlayHolddemzombies():void{ ShowPilot("HOLD OFF THEM DAMN ZOMBIES"); if (!Main.SoundOn){ return; }; VoiceChannel = Holddemzombies.play(0, 0); VoiceChannel.addEventListener(Event.SOUND_COMPLETE, HidePilot); } public static function PlayGunShot():void{ var channel:int; if (!Main.SoundOn){ return; }; channel = GetFreeShotChannel(); if (channel == -1){ return; }; ShotChannels[channel] = Main.Gun.FireSounds[0].play(0, 0); ShotChannels[channel].addEventListener(Event.SOUND_COMPLETE, function (){ FreeShotChannels[channel] = true; }); ShotChannels[channel].soundTransform = ShotVolume; FreeShotChannels[channel] = false; } ShotChannels[0] = new SoundChannel(); ShotChannels[1] = new SoundChannel(); ShotChannels[2] = new SoundChannel(); ShotChannels[3] = new SoundChannel(); ShotChannels[4] = new SoundChannel(); ShotChannels[5] = new SoundChannel(); ShotChannels[6] = new SoundChannel(); ShotChannels[7] = new SoundChannel(); ShotChannels[8] = new SoundChannel(); ShotChannels[9] = new SoundChannel(); ShotChannels[10] = new SoundChannel(); ShotChannels[11] = new SoundChannel(); ShotChannels[12] = new SoundChannel(); ShotChannels[13] = new SoundChannel(); ShotChannels[14] = new SoundChannel(); ShotChannels[15] = new SoundChannel(); ShotChannels[16] = new SoundChannel(); ShotChannels[17] = new SoundChannel(); ShotChannels[18] = new SoundChannel(); ShotChannels[19] = new SoundChannel(); FreeShotChannels[0] = true; FreeShotChannels[1] = true; FreeShotChannels[2] = true; FreeShotChannels[3] = true; FreeShotChannels[4] = true; FreeShotChannels[5] = true; FreeShotChannels[6] = true; FreeShotChannels[7] = true; FreeShotChannels[8] = true; FreeShotChannels[9] = true; FreeShotChannels[10] = true; FreeShotChannels[11] = true; FreeShotChannels[12] = true; FreeShotChannels[13] = true; FreeShotChannels[14] = true; FreeShotChannels[15] = true; FreeShotChannels[16] = true; FreeShotChannels[17] = true; FreeShotChannels[18] = true; FreeShotChannels[19] = true; } }//package Sniper
Section 231
//SpawnController (Sniper.SpawnController) package Sniper { public class SpawnController { private static const SpawnDelays:Array = new Array(); private static const Probabilities:Array = new Array(10); private static var SpawnDelayMin:int = 15; private static var SpawnTimer:int = 0; private static var SpawnDelayMax:int = 60; public function SpawnController(){ super(); } private static function Random(min:int, max:int):int{ return ((Math.round((Math.random() * max)) + min)); } public static function Tick():void{ var tindex:int; var tset:Array; var p:Number; var i:int; if (SpawnTimer > 0){ SpawnTimer--; return; }; tindex = (Statistics.Level - 1); if (tindex > 9){ tindex = 9; }; SpawnDelayMin = SpawnDelays[tindex][0]; SpawnDelayMax = SpawnDelays[tindex][1]; SpawnTimer = (Random(SpawnDelayMin, SpawnDelayMax) + ((Main.Difficulty == 0)) ? 10 : -10); tset = Probabilities[tindex]; p = Math.random(); i = (tset.length - 1); while (i > -1) { if (p <= tset[i].PMax){ Zombie.Create(tset[i].Type); }; i--; }; } SpawnDelays[0] = [35, 90]; SpawnDelays[1] = [34, 85]; SpawnDelays[2] = [33, 80]; SpawnDelays[3] = [32, 78]; SpawnDelays[4] = [31, 76]; SpawnDelays[5] = [30, 74]; SpawnDelays[6] = [30, 73]; SpawnDelays[7] = [30, 72]; SpawnDelays[8] = [30, 71]; SpawnDelays[9] = [30, 70]; Probabilities[0] = [new ProbabilitySet(ZombieTypes.Zombie1, 0, 1)]; Probabilities[1] = [new ProbabilitySet(ZombieTypes.Zombie1, 0, 0.5), new ProbabilitySet(ZombieTypes.Zombie2, 0.5, 1)]; Probabilities[2] = [new ProbabilitySet(ZombieTypes.Zombie1, 0, 0.2), new ProbabilitySet(ZombieTypes.Zombie2, 0.2, 0.7), new ProbabilitySet(ZombieTypes.Zombie3, 0.7, 1)]; Probabilities[3] = [new ProbabilitySet(ZombieTypes.Zombie1, 0, 0.1), new ProbabilitySet(ZombieTypes.Zombie2, 0.1, 0.2), new ProbabilitySet(ZombieTypes.Zombie3, 0.2, 0.4), new ProbabilitySet(ZombieTypes.Zombie4, 0.4, 0.7), new ProbabilitySet(ZombieTypes.Zombie5, 0.7, 1)]; Probabilities[4] = [new ProbabilitySet(ZombieTypes.Zombie2, 0, 0.2), new ProbabilitySet(ZombieTypes.Zombie3, 0.2, 0.4), new ProbabilitySet(ZombieTypes.Zombie4, 0.4, 0.7), new ProbabilitySet(ZombieTypes.Zombie5, 0.7, 1)]; Probabilities[5] = [new ProbabilitySet(ZombieTypes.Zombie3, 0, 0.1), new ProbabilitySet(ZombieTypes.Zombie4, 0.1, 0.2), new ProbabilitySet(ZombieTypes.Zombie5, 0.2, 0.5), new ProbabilitySet(ZombieTypes.Zombie6, 0.5, 1)]; Probabilities[6] = [new ProbabilitySet(ZombieTypes.Zombie3, 0, 0.2), new ProbabilitySet(ZombieTypes.Zombie4, 0.2, 0.3), new ProbabilitySet(ZombieTypes.Zombie5, 0.3, 0.6), new ProbabilitySet(ZombieTypes.Zombie6, 0.6, 1)]; Probabilities[7] = [new ProbabilitySet(ZombieTypes.Zombie4, 0, 0.2), new ProbabilitySet(ZombieTypes.Zombie5, 0.2, 0.4), new ProbabilitySet(ZombieTypes.Zombie6, 0.4, 0.7), new ProbabilitySet(ZombieTypes.Zombie7, 0.7, 1)]; Probabilities[8] = [new ProbabilitySet(ZombieTypes.Zombie4, 0, 0.2), new ProbabilitySet(ZombieTypes.Zombie5, 0.2, 1.4), new ProbabilitySet(ZombieTypes.Zombie6, 0.4, 0.6), new ProbabilitySet(ZombieTypes.Zombie7, 0.6, 1)]; Probabilities[9] = [new ProbabilitySet(ZombieTypes.Zombie1, 0, 0.1), new ProbabilitySet(ZombieTypes.Zombie2, 0.1, 0.2), new ProbabilitySet(ZombieTypes.Zombie3, 0.2, 0.3), new ProbabilitySet(ZombieTypes.Zombie4, 0.3, 0.4), new ProbabilitySet(ZombieTypes.Zombie5, 0.4, 0.5), new ProbabilitySet(ZombieTypes.Zombie6, 0.5, 0.6), new ProbabilitySet(ZombieTypes.Zombie7, 0.6, 0.7), new ProbabilitySet(ZombieTypes.Zombie8, 0.7, 1)]; } }//package Sniper
Section 232
//Statistics (Sniper.Statistics) package Sniper { public class Statistics { public static const Achievements:Array = new Array(8); public static var Points:int; public static var Misses:int; public static var ConsecutiveHeadShots:int; public static var HeadShots:int; public static var Hits:int; public static var Level:int; public static var TotalPoints:int; public static var ConsecutiveHits:int; public static var Lives:int; public static var Money:int; public static var Kills:int; public function Statistics(){ super(); } public static function Reset():void{ Achievements[0] = 0; Achievements[1] = 0; Achievements[2] = 0; Achievements[3] = 0; Achievements[4] = 0; Achievements[5] = 0; Achievements[6] = 0; Achievements[7] = 0; Level = 0; TotalPoints = 0; Points = 0; Hits = 0; Misses = 0; ConsecutiveHits = 0; ConsecutiveHeadShots = 0; HeadShots = 0; Lives = 30; Kills = 0; Money = 0; } Achievements[0] = 0; Achievements[1] = 0; Achievements[2] = 0; Achievements[3] = 0; Achievements[4] = 0; Achievements[5] = 0; Achievements[6] = 0; Achievements[7] = 0; } }//package Sniper
Section 233
//StatusBar (Sniper.StatusBar) package Sniper { import flash.events.*; import flash.display.*; import flash.text.*; public class StatusBar extends MovieClip { public var SoundButton:SimpleButton; public var BulletsLabel:TextField; public var Grenade:GrenadeButton; public var Accuracy:TextField; public var TimeOfDay:TextField; public var Round:TextField; public var Score:TextField; public var QuitButton:SimpleButton; public var Bullets:TextField; public var NoButton:SimpleButton; public var PauseButton:SimpleButton; public var Kills:TextField; public var Headshots:TextField; private var GunIcon:Bitmap; public var AreYouSureLabel:TextField; public var TotalScore:TextField; public var YesButton:SimpleButton; public var Time:TextField; public var Lives:TextField; private static var OldTotalPoints:int = 0; private static var OldHits:int = 0; private static var OldPoints:int = 0; private static var OldLives:int = 0; private static var OldKills:int = 0; private static var OldMisses:int = 0; private static var OldHeadShots:int = 0; public function StatusBar(){ super(); this.x = 0; this.y = 0; Main.STAGE.addChild(this); this.GunIcon = new Bitmap(); this.GunIcon.x = 560; this.GunIcon.y = 10; this.addChild(this.GunIcon); this.Grenade = new GrenadeButton(); this.Grenade.x = 616; this.Grenade.y = 4; this.addChild(this.Grenade); this.SoundButton.addEventListener(MouseEvent.CLICK, ToggleSound); this.PauseButton.addEventListener(MouseEvent.CLICK, TogglePause); this.QuitButton.addEventListener(MouseEvent.CLICK, ConfirmQuit); this.YesButton.addEventListener(MouseEvent.CLICK, Quit); this.NoButton.addEventListener(MouseEvent.CLICK, CancelQuit); this.AreYouSureLabel.visible = false; this.YesButton.visible = false; this.NoButton.visible = false; } private function CancelQuit(e:MouseEvent):void{ this.QuitButton.visible = true; this.AreYouSureLabel.visible = false; this.YesButton.visible = false; this.NoButton.visible = false; } private function ConfirmQuit(e:MouseEvent):void{ this.QuitButton.visible = false; this.AreYouSureLabel.visible = true; this.YesButton.visible = true; this.NoButton.visible = true; } public function Reset():void{ OldPoints = 0; OldTotalPoints = 0; OldHeadShots = 0; OldLives = 0; OldKills = 0; OldHits = 0; OldMisses = 0; this.TimeOfDay.visible = true; this.QuitButton.visible = true; this.AreYouSureLabel.visible = false; this.YesButton.visible = false; this.NoButton.visible = false; } public function RefreshBullets(bullets:int):void{ this.Bullets.text = ((bullets > 0)) ? bullets.toString() : "--"; } public function RefreshTime(remaining:int, timeofday:int):void{ Time.text = MMSS(remaining); if (timeofday > -1){ TimeOfDay.text = HHMM(timeofday); }; } public function RefreshGun():void{ this.GunIcon.bitmapData = Main.Gun.Icon.clone(); } public function Refresh():void{ if (OldPoints != Statistics.Points){ this.Score.text = ((Statistics.Points > 0)) ? Statistics.Points.toString() : "--"; OldPoints = Statistics.Points; }; if (OldTotalPoints != Statistics.TotalPoints){ this.TotalScore.text = ((Statistics.TotalPoints > 0)) ? Statistics.TotalPoints.toString() : "--"; OldTotalPoints = Statistics.TotalPoints; }; if (OldHeadShots != Statistics.HeadShots){ this.Headshots.text = ((Statistics.HeadShots > 0)) ? Statistics.HeadShots.toString() : "--"; OldHeadShots = Statistics.HeadShots; }; if (OldLives != Statistics.Lives){ this.Lives.text = ((Statistics.Lives > 0)) ? Statistics.Lives.toString() : "--"; OldLives = Statistics.Lives; }; if (OldKills != Statistics.Kills){ this.Kills.text = ((Statistics.Kills > 0)) ? Statistics.Kills.toString() : "--"; OldKills = Statistics.Kills; }; if (((!((OldHits == Statistics.Hits))) || (!((OldMisses == Statistics.Misses))))){ this.Accuracy.text = (((Statistics.Hits) || ((Statistics.Misses > 0)))) ? (Percent(Statistics.Hits, Statistics.Misses) + "%") : "--"; OldHits = Statistics.Hits; OldMisses = Statistics.Misses; }; } private static function Percent(hits:int, misses:int):int{ return (Math.floor(((hits / (misses + hits)) * 100))); } private static function HHMM(mins:int){ var hours:int; var minutes:int; var pm:Boolean; var minutesstr:String; hours = Math.floor((mins / 60)); minutes = Math.ceil((mins % 60)); pm = false; if (hours >= 24){ hours = (hours - 24); pm = false; } else { if (hours >= 12){ hours = (hours - 12); pm = true; }; }; minutesstr = minutes.toString(); if (minutesstr.length == 1){ minutesstr = ("0" + minutesstr); }; return ((((hours + ":") + minutesstr) + (pm) ? " PM" : " AM")); } private static function Quit(e:MouseEvent):void{ Main.CountDown.stop(); Main.Playing = false; Main.Pilot.visible = false; Main.ReloadMessage.visible = false; Main.ScreenContainer.visible = false; Main.ShootingMode = false; SoundManager.StopGameMusic(); Statistics.Reset(); new MainMenu(); } private static function MMSS(secs:int){ var minutes:int; var seconds:int; var secondsstr:String; minutes = Math.floor((secs / 60)); seconds = Math.ceil((secs % 60)); secondsstr = seconds.toString(); if (secondsstr.length == 1){ secondsstr = ("0" + secondsstr); }; return (((minutes + ":") + secondsstr)); } private static function TogglePause(e:MouseEvent):void{ Main.Playing = !(Main.Playing); } private static function ToggleSound(e:MouseEvent):void{ Main.SoundOn = !(Main.SoundOn); } } }//package Sniper
Section 234
//SWFStats (Sniper.SWFStats) package Sniper { import flash.events.*; import flash.utils.*; import flash.net.*; public class SWFStats { private static const Random:Number = Math.random(); public static const HS_Campaign:int = 4; public static const Campaign:int = 7; private static const Ping:Timer = new Timer(30000); public static const HS_Survival:int = 5; public static const Survival:int = 6; private static var Url:String; public function SWFStats(){ super(); } private static function ErrorHandler(e:IOErrorEvent):void{ } public static function RegisterVisit():void{ } public static function RegisterHighScore():void{ var abrazor30Data:URLRequest; var variables:URLVariables; var verbs:Number; var viper:String; var loader:URLLoader; var dataOnLoad:Function; dataOnLoad = function (evt:Event){ }; abrazor30Data = new URLRequest("http://rankz.armorbot.com/submit/as3_v0.php"); abrazor30Data.method = URLRequestMethod.POST; variables = new URLVariables(); variables.flashkey = "ZGVMVnVwWGc="; variables.SU0249 = "MzYxMmolZSVhJW4lcw=="; variables.bmFtZTE = Main.PlayerName; verbs = Statistics.TotalPoints; viper = (verbs + "Z"); variables.c2NvcmUx = viper.split("0").join("U"); variables.c2NvcmUx = variables.c2NvcmUx.split("").join("A"); variables.c2NvcmUx = variables.c2NvcmUx.split("AU").join("Y"); variables.c2NvcmUx = variables.c2NvcmUx.split("A1").join("B"); variables.c2NvcmUx = variables.c2NvcmUx.split(".").join("N"); abrazor30Data.data = variables; loader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.TEXT; loader.addEventListener(Event.COMPLETE, dataOnLoad); loader.load(abrazor30Data); } public static function RegisterCustomMetric(metric:int):void{ } private static function KeepAlive(e:Event):void{ } public static function Initialise():void{ } public static function RegisterPlay():void{ } } }//package Sniper
Section 235
//TraceLine (Sniper.TraceLine) package Sniper { import flash.display.*; import flash.geom.*; public class TraceLine { private static const StartPoint:Point = new Point(600, 178); private static const ClipRectangle:Rectangle = new Rectangle(225, 0, 200, 300); public function TraceLine(){ super(); } public static function Draw(image:BitmapData, targetx:int, targety:int):void{ var line:Shape; if (targetx > 449){ return; }; if (targetx < 150){ ClipRectangle.x = 250; } else { if (targetx < 300){ ClipRectangle.x = 350; } else { if (targetx < 450){ ClipRectangle.x = 500; }; }; }; line = new Shape(); line.graphics.clear(); line.graphics.moveTo(StartPoint.x, StartPoint.y); line.graphics.lineStyle(0, 0xFF9900, 0.5); line.graphics.lineTo(targetx, targety); image.draw(line, null, null, null, ClipRectangle); } } }//package Sniper
Section 236
//Weapon (Sniper.Weapon) package Sniper { import flash.display.*; import Assets.Guns.*; import Assets.Sounds.*; public class Weapon { public var Strength:int; public var Reloading:int; public var White:BitmapData; public var ClipSize:int; public var Bullets:int; public var CoolingDown:int; public var Description:String; public var Black:BitmapData; public var Icon:BitmapData; public var Sounds:Array; public var ID:String; public var CoolDown:int; public var BlastRadius:int; public var ThrowsMonster:int;// = 0 public var Price:int; public var CrossHair:Boolean;// = true public var Scope:Boolean;// = false public var Reload:int; public var FireSounds:Array; public var Grey:BitmapData; public static const HeavyMachineGun:Weapon = new (Weapon); ; public static const Sniper2:Weapon = new (Weapon); ; public static const Sniper1:Weapon = new (Weapon); ; public static const ShotGun:Weapon = new (Weapon); ; public static const Pistol:Weapon = new (Weapon); ; public static const RocketLauncher:Weapon = new (Weapon); ; public static const LightMachineGun:Weapon = new (Weapon); ; public static const DualPistols:Weapon = new (Weapon); ; private static const List:Array = new Array(8); public function Weapon(){ Scope = false; CrossHair = true; ThrowsMonster = 0; super(); } public static function ResetWeapons():void{ var i:int; i = 0; while (i < 8) { List[i].CoolingDown = 0; List[i].Reloading = 0; List[i].Bullets = List[i].ClipSize; i++; }; } public static function Initialise():void{ Pistol.Icon = new PistolIcon(52, 21); Pistol.White = new PistolWhite(118, 48); Pistol.Grey = new PistolGrey(118, 48); Pistol.Black = new PistolBlack(118, 48); Pistol.FireSounds = [new Pistol()]; DualPistols.Icon = new DualPistolsIcon(52, 21); DualPistols.White = new DualPistolsWhite(118, 48); DualPistols.Grey = new DualPistolsGrey(118, 48); DualPistols.Black = new DualPistolsBlack(118, 48); DualPistols.FireSounds = [new Pistol()]; ShotGun.Icon = new ShotgunIcon(52, 21); ShotGun.White = new ShotgunWhite(118, 48); ShotGun.Grey = new ShotgunGrey(118, 48); ShotGun.Black = new ShotgunBlack(118, 48); ShotGun.FireSounds = [new Shotgun()]; LightMachineGun.Icon = new LightMachinegunIcon(52, 21); LightMachineGun.White = new LightMachineGunWhite(118, 48); LightMachineGun.Grey = new LightMachineGunGrey(118, 48); LightMachineGun.Black = new LightMachineGunBlack(118, 48); LightMachineGun.FireSounds = [new LightMachineGun()]; HeavyMachineGun.Icon = new HeavyMachinegunIcon(52, 21); HeavyMachineGun.White = new HeavyMachineGunWhite(118, 48); HeavyMachineGun.Grey = new HeavyMachineGunGrey(118, 48); HeavyMachineGun.Black = new HeavyMachineGunBlack(118, 48); HeavyMachineGun.FireSounds = [new HeavyMachineGun()]; Sniper1.Icon = new Sniper1Icon(52, 21); Sniper1.White = new Sniper1White(118, 48); Sniper1.Grey = new Sniper1Grey(118, 48); Sniper1.Black = new Sniper1Black(118, 48); Sniper1.FireSounds = [new Sniper()]; Sniper2.Icon = new Sniper2Icon(52, 21); Sniper2.White = new Sniper2White(118, 48); Sniper2.Grey = new Sniper2Grey(118, 48); Sniper2.Black = new Sniper2Black(118, 48); Sniper2.FireSounds = [new Sniper()]; RocketLauncher.Icon = new RocketLauncherIcon(52, 21); RocketLauncher.White = new RocketLauncherWhite(118, 48); RocketLauncher.Grey = new RocketLauncherGrey(118, 48); RocketLauncher.Black = new RocketLauncherBlack(118, 48); RocketLauncher.FireSounds = [new RocketExplosion()]; } public static function Tick():void{ var weapon:Weapon; for each (weapon in List) { if (weapon.CoolingDown > 0){ weapon.CoolingDown--; }; if (weapon.Reloading > 0){ weapon.Reloading--; if (weapon.Reloading == 0){ weapon.Bullets = weapon.ClipSize; if (weapon.ID == Main.Gun.ID){ Main.StatusBar.RefreshBullets(Main.Gun.Bullets); }; }; }; }; } List[0] = Pistol; List[1] = DualPistols; List[2] = ShotGun; List[3] = LightMachineGun; List[4] = HeavyMachineGun; List[5] = Sniper1; List[6] = Sniper2; List[7] = RocketLauncher; RocketLauncher.ID = "ROCKETLAUNCHER"; RocketLauncher.Bullets = 1; RocketLauncher.ClipSize = 1; RocketLauncher.CoolDown = 90; RocketLauncher.Reload = 90; RocketLauncher.Sounds = new Array(); RocketLauncher.Scope = false; RocketLauncher.CrossHair = true; RocketLauncher.Price = 3000; RocketLauncher.BlastRadius = 24; RocketLauncher.Strength = 15; RocketLauncher.Description = "Blow your enemies away with the rocket launcher's huge damage radius. Be warned, it's slow to fire."; Sniper2.ID = "SNIPER2"; Sniper2.Bullets = 12; Sniper2.ClipSize = 12; Sniper2.CoolDown = 12; Sniper2.Reload = 25; Sniper2.Sounds = new Array(); Sniper2.Scope = true; Sniper2.CrossHair = false; Sniper2.Price = 2400; Sniper2.ThrowsMonster = 4; Sniper2.BlastRadius = 1; Sniper2.Strength = 30; Sniper2.Description = "The ultimate sniper rifle, more bullets and faster cooldown times."; Sniper1.ID = "SNIPER1"; Sniper1.Bullets = 8; Sniper1.ClipSize = 8; Sniper1.CoolDown = 16; Sniper1.Reload = 25; Sniper1.Sounds = new Array(); Sniper1.Scope = true; Sniper1.CrossHair = false; Sniper1.Price = 2000; Sniper1.ThrowsMonster = 3; Sniper1.BlastRadius = 1; Sniper1.Strength = 30; Sniper1.Description = "Sniper rifle, easy headshots with the 3x zoomed scope."; HeavyMachineGun.ID = "HEAVYMACHINEGUN"; HeavyMachineGun.Bullets = 80; HeavyMachineGun.ClipSize = 80; HeavyMachineGun.CoolDown = 2; HeavyMachineGun.Reload = 70; HeavyMachineGun.Sounds = new Array(); HeavyMachineGun.Scope = false; HeavyMachineGun.CrossHair = true; HeavyMachineGun.Price = 1500; HeavyMachineGun.ThrowsMonster = 2; HeavyMachineGun.BlastRadius = 1; HeavyMachineGun.Strength = 1; HeavyMachineGun.Description = "The heavy machine gun packs 80 bullets and mows down anything that moves."; LightMachineGun.ID = "LIGHTMACHINEGUN"; LightMachineGun.Bullets = 30; LightMachineGun.ClipSize = 30; LightMachineGun.CoolDown = 3; LightMachineGun.Reload = 60; LightMachineGun.Sounds = new Array(); LightMachineGun.Scope = false; LightMachineGun.CrossHair = true; LightMachineGun.Price = 900; LightMachineGun.BlastRadius = 1; LightMachineGun.Strength = 1; LightMachineGun.Description = "The light machine gun packs 30 shots and fires quickly."; ShotGun.ID = "SHOTGUN"; ShotGun.Bullets = 1; ShotGun.ClipSize = 1; ShotGun.CoolDown = 65; ShotGun.Reload = 65; ShotGun.Sounds = new Array(); ShotGun.Scope = false; ShotGun.CrossHair = true; ShotGun.Price = 600; ShotGun.ThrowsMonster = 4; ShotGun.BlastRadius = 10; ShotGun.Strength = 4; ShotGun.Description = "The shotgun hits hard, has a large damage radius, but holds a single shot and is slow to reload."; DualPistols.ID = "DUALPISTOLS"; DualPistols.Bullets = 20; DualPistols.ClipSize = 20; DualPistols.CoolDown = 10; DualPistols.Reload = 45; DualPistols.Sounds = new Array(); DualPistols.Scope = false; DualPistols.CrossHair = true; DualPistols.Price = 300; DualPistols.BlastRadius = 1; DualPistols.Strength = 1; DualPistols.Description = "Double the pistol power."; Pistol.ID = "PISTOL"; Pistol.Bullets = 10; Pistol.ClipSize = 10; Pistol.CoolDown = 15; Pistol.Reload = 35; Pistol.Sounds = new Array(); Pistol.Scope = false; Pistol.CrossHair = true; Pistol.Price = 0; Pistol.BlastRadius = 1; Pistol.Strength = 1; Pistol.Description = "A pistol."; } }//package Sniper
Section 237
//WeaponButton (Sniper.WeaponButton) package Sniper { import flash.events.*; import flash.display.*; import Assets.Shop.*; import flash.text.*; public class WeaponButton extends MovieClip { public var Price:TextField; private var Gun:Weapon; private var Background:Bitmap; private var Icon:Bitmap; private var shop:Shop; private static var Unavailable:BitmapData; private static var Available:BitmapData; private static var Bought:BitmapData; public function WeaponButton(x:int, y:int, weapon:Weapon, shop:Shop){ var found:Boolean; var i:int; super(); this.x = x; this.y = y; this.Gun = weapon; this.Price.text = ("$" + this.Gun.Price); this.shop = shop; this.Icon = new Bitmap(); this.addChildAt(this.Icon, 0); this.Background = new Bitmap(); this.addChildAt(this.Background, 0); found = false; i = 0; while (i < 8) { if (Main.Weapons[i] == null){ } else { if (Main.Weapons[i].ID == this.Gun.ID){ found = true; }; }; i++; }; if (found){ this.Background.bitmapData = Bought; this.Icon.bitmapData = this.Gun.White; this.Price.visible = false; } else { if (this.Gun.Price > Statistics.Money){ this.Background.bitmapData = Unavailable; this.Icon.bitmapData = this.Gun.Black; this.Price.textColor = 0x666666; } else { this.Background.bitmapData = Available; this.Icon.bitmapData = this.Gun.Black; this.Price.textColor = 0x333333; this.buttonMode = true; this.useHandCursor = true; this.mouseChildren = false; this.addEventListener(MouseEvent.CLICK, this.Buy); }; }; this.addEventListener(MouseEvent.MOUSE_OVER, this.ShowDescription); this.addEventListener(MouseEvent.MOUSE_OUT, this.HideDescription); } private function Buy(e:MouseEvent):void{ var i:int; Statistics.Money = (Statistics.Money - this.Gun.Price); i = 0; while (i < 8) { if (Main.Weapons[i] == null){ Main.Weapons[i] = this.Gun; Main.GunIndex = i; Main.Gun = Main.Weapons[i]; Main.StatusBar.RefreshBullets(Main.Gun.Bullets); Main.StatusBar.RefreshGun(); Main.Weapons.sort(SortByPrice); this.shop.parent.removeChild(this.shop); new Shop(); return; }; i++; }; } private function HideDescription(e:MouseEvent):void{ this.shop.Description.visible = false; } private function ShowDescription(e:MouseEvent):void{ this.shop.Description.Label.text = this.Gun.Description; this.shop.Description.visible = true; this.shop.Description.x = (e.stageX + 10); this.shop.Description.y = (e.stageY + 10); if ((this.shop.Description.x + this.shop.Description.width) > 640){ this.shop.Description.x = (640 - this.shop.Description.width); }; if ((this.shop.Description.y + this.shop.Description.height) > 340){ this.shop.Description.y = (340 - this.shop.Description.height); }; } private static function SortByPrice(a:Weapon, b:Weapon):Number{ if ((((a == null)) || ((b == null)))){ return (1); }; if (a.Price > b.Price){ return (1); }; if (a.Price < b.Price){ return (-1); }; return (0); } public static function Initialise():void{ Bought = new ShopButtonBought(118, 48); Available = new ShopButtonAvailable(118, 48); Unavailable = new ShopButtonUnavailable(118, 48); } } }//package Sniper
Section 238
//Win (Sniper.Win) package Sniper { import flash.events.*; import flash.display.*; import flash.geom.*; import Assets.*; import Assets.Explosions.*; public class Win extends MovieClip { private var ExplosionTick:int;// = 0 private var JetSpeed:int;// = 0 private var ScreenContainer:Bitmap; private var Backdrop:Shape; private var Ticks:int;// = 0 private var Jet:Bitmap; private var Screen:BitmapData; private var ExplosionIndex:int;// = 0 private var Effects:Array; private static const Explosions:Array = new Array(4); private static const Explosion1:Array = new Array(16); private static const Explosion3:Array = new Array(16); private static const Explosion2:Array = new Array(16); private static const Explosion4:Array = new Array(16); public function Win(){ var i:int; JetSpeed = 0; Ticks = 0; ExplosionIndex = 0; ExplosionTick = 0; super(); Main.Playing = false; Main.ShootingMode = false; Main.ScreenContainer.visible = true; this.x = 0; this.y = 0; Main.STAGE.addChild(this); Main.ShowMouseCursor(); Main.ReloadMessage.visible = false; SoundManager.PlayJetFlyBy(); this.ScreenContainer = new Bitmap(); this.addChild(this.ScreenContainer); this.Jet = new Bitmap(); this.Jet.bitmapData = new Jet(413, 225); this.Jet.scaleX = 0.01; this.Jet.scaleY = 0.01; this.Jet.y = 0; this.Jet.x = 325; this.addChild(this.Jet); this.Backdrop = new Shape(); this.Backdrop.graphics.beginFill(0); this.Backdrop.graphics.drawRect(0, 0, 650, 300); this.Backdrop.graphics.endFill(); this.Backdrop.alpha = 0; this.addChild(this.Backdrop); this.addEventListener(Event.ENTER_FRAME, this.Tick); this.Screen = Main.ScreenContainer.bitmapData.clone(); this.Effects = new Array(); i = 0; while (i < 2000) { this.Effects[i] = new Effect(Explosions[Random(0, 3)], Random(-50, 650), Random(200, 240)); i++; }; SWFStats.RegisterHighScore(); } private function Tick(e:Event):void{ var newbitmap:*; var drawpoint:Point; var image:BitmapData; var i:int; this.Ticks++; if (this.Ticks < 100){ return; }; if (this.Jet.y < 300){ this.Jet.y = (this.Jet.y + this.JetSpeed); this.Jet.scaleX = ((this.Ticks - 100) / 20); this.Jet.scaleY = ((this.Ticks - 100) / 20); this.Jet.x = ((650 - this.Jet.width) / 2); if (this.JetSpeed < 20){ this.JetSpeed++; }; } else { if ((((ExplosionIndex < 15)) && ((this.Ticks > 150)))){ if (ExplosionTick == 0){ ExplosionTick = 2; ExplosionIndex++; newbitmap = this.Screen.clone(); drawpoint = new Point(); i = 0; while (i < 2000) { drawpoint.x = this.Effects[i].X; drawpoint.y = this.Effects[i].Y; image = this.Effects[i].Images[this.ExplosionIndex]; newbitmap.copyPixels(image, image.rect, drawpoint); i++; }; this.ScreenContainer.bitmapData = newbitmap; } else { ExplosionTick--; }; if (ExplosionIndex > 9){ this.Backdrop.alpha = (this.Backdrop.alpha + 0.02); }; if (ExplosionIndex == 0){ SoundManager.PlayExplosions(); }; } else { if (this.Backdrop.alpha < 1){ this.Backdrop.alpha = (this.Backdrop.alpha + 0.03); } else { SoundManager.PlayWinMusic(); this.removeEventListener(Event.ENTER_FRAME, this.Tick); this.parent.removeChild(this); new WinFinal(); }; }; }; } private static function Random(min:int, max:int):int{ return ((Math.round((Math.random() * max)) + min)); } public static function Initialise():void{ Explosion1[0] = new ExplosionA1(64, 64); Explosion1[1] = new ExplosionA2(64, 64); Explosion1[2] = new ExplosionA3(64, 64); Explosion1[3] = new ExplosionA4(64, 64); Explosion1[4] = new ExplosionA5(64, 64); Explosion1[5] = new ExplosionA6(64, 64); Explosion1[6] = new ExplosionA7(64, 64); Explosion1[7] = new ExplosionA8(64, 64); Explosion1[8] = new ExplosionA9(64, 64); Explosion1[9] = new ExplosionA10(64, 64); Explosion1[10] = new ExplosionA11(64, 64); Explosion1[11] = new ExplosionA12(64, 64); Explosion1[12] = new ExplosionA13(64, 64); Explosion1[13] = new ExplosionA14(64, 64); Explosion1[14] = new ExplosionA15(64, 64); Explosion1[15] = new ExplosionA16(64, 64); Explosion2[0] = new ExplosionB1(64, 64); Explosion2[1] = new ExplosionB2(64, 64); Explosion2[2] = new ExplosionB3(64, 64); Explosion2[3] = new ExplosionB4(64, 64); Explosion2[4] = new ExplosionB5(64, 64); Explosion2[5] = new ExplosionB6(64, 64); Explosion2[6] = new ExplosionB7(64, 64); Explosion2[7] = new ExplosionB8(64, 64); Explosion2[8] = new ExplosionB9(64, 64); Explosion2[9] = new ExplosionB10(64, 64); Explosion2[10] = new ExplosionB11(64, 64); Explosion2[11] = new ExplosionB12(64, 64); Explosion2[12] = new ExplosionB13(64, 64); Explosion2[13] = new ExplosionB14(64, 64); Explosion2[14] = new ExplosionB15(64, 64); Explosion2[15] = new ExplosionB16(64, 64); Explosion3[0] = new ExplosionC1(64, 64); Explosion3[1] = new ExplosionC2(64, 64); Explosion3[2] = new ExplosionC3(64, 64); Explosion3[3] = new ExplosionC4(64, 64); Explosion3[4] = new ExplosionC5(64, 64); Explosion3[5] = new ExplosionC6(64, 64); Explosion3[6] = new ExplosionC7(64, 64); Explosion3[7] = new ExplosionC8(64, 64); Explosion3[8] = new ExplosionC9(64, 64); Explosion3[9] = new ExplosionC10(64, 64); Explosion3[10] = new ExplosionC11(64, 64); Explosion3[11] = new ExplosionC12(64, 64); Explosion3[12] = new ExplosionC13(64, 64); Explosion3[13] = new ExplosionC14(64, 64); Explosion3[14] = new ExplosionC15(64, 64); Explosion3[15] = new ExplosionC16(64, 64); Explosion4[0] = new ExplosionD1(64, 64); Explosion4[1] = new ExplosionD2(64, 64); Explosion4[2] = new ExplosionD3(64, 64); Explosion4[3] = new ExplosionD4(64, 64); Explosion4[4] = new ExplosionD5(64, 64); Explosion4[5] = new ExplosionD6(64, 64); Explosion4[6] = new ExplosionD7(64, 64); Explosion4[7] = new ExplosionD8(64, 64); Explosion4[8] = new ExplosionD9(64, 64); Explosion4[9] = new ExplosionD10(64, 64); Explosion4[10] = new ExplosionD11(64, 64); Explosion4[11] = new ExplosionD12(64, 64); Explosion4[12] = new ExplosionD13(64, 64); Explosion4[13] = new ExplosionD14(64, 64); Explosion4[14] = new ExplosionD15(64, 64); Explosion4[15] = new ExplosionD16(64, 64); } Explosions[0] = Explosion1; Explosions[1] = Explosion2; Explosions[2] = Explosion3; Explosions[3] = Explosion4; } }//package Sniper class Effect { public var Images:Array; public var Y:int; public var X:int; private function Effect(images, x, y){ super(); this.Images = images; this.X = x; this.Y = y; } }
Section 239
//WinFinal (Sniper.WinFinal) package Sniper { import flash.events.*; import flash.display.*; import flash.text.*; public class WinFinal extends MovieClip { public var Points:TextField; public var Accuracy:TextField; private var Backdrop:Shape; public var Money:TextField; public var Kills:TextField; public var Headshots:TextField; public var ContinueButton:SimpleButton; public function WinFinal(){ super(); this.x = 0; this.y = 0; Main.STAGE.addChild(this); this.ContinueButton.addEventListener(MouseEvent.CLICK, this.Continue); SoundManager.PlayMenuMusic(); Main.ShowMouseCursor(); Main.ReloadMessage.visible = false; this.Backdrop = new Shape(); this.Backdrop.graphics.beginFill(0); this.Backdrop.graphics.drawRect(0, 0, 650, 300); this.Backdrop.graphics.endFill(); this.addChildAt(this.Backdrop, 0); this.Points.text = ((Statistics.Points > 0)) ? Statistics.Points.toString() : "--"; this.Headshots.text = ((Statistics.HeadShots > 0)) ? Statistics.HeadShots.toString() : "--"; this.Kills.text = ((Statistics.Kills > 0)) ? Statistics.Kills.toString() : "--"; this.Accuracy.text = ((Statistics.Hits == 0)) ? "--" : (Math.floor(((Statistics.Hits / (Statistics.Misses + Statistics.Hits)) * 100)).toString() + "%"); this.Money.text = Statistics.Money.toString(); } private function Continue(e:MouseEvent):void{ this.parent.removeChild(this); new MainMenu(); } } }//package Sniper
Section 240
//Zombie (Sniper.Zombie) package Sniper { import flash.display.*; import flash.geom.*; import Assets.*; import Assets.Zombies.*; public class Zombie { public var Mode:int; public var FrameIndex:int; public var Frames:Array; public var Health:int; public var YOffset:int; public var Dying:Boolean; private var CorpseLocationLarge:Point; public var X:Number; public var Y:Number; public var RealY:Number; public var Corpse:Boolean; public var BaseHealth:int; private var TotalFootprints:int; public var FrameTicks:int; public var SmallFrames:Array; private var Speed:Number; private var CorpseLocation:Point; public var Images:ImageSet; private var Footprints:int; public var RealX:Number; public var Type:int; private static const SmallWidth:int = 16; private static const YPoints:Array = new Array(650); private static const ZeroPoint:Point = new Point(0, 0); private static const HealthRectangle:Rectangle = new Rectangle(1, 1, 0, 2); private static const HealthRectangleBorder:Rectangle = new Rectangle(0, 0, 38, 4); private static const SmallHeight:int = 16; private static var zombie:Zombie; private static var Zombie1:ImageSet; private static var Zombie2:ImageSet; private static var Zombie4:ImageSet; private static var Zombie5:ImageSet; private static var Zombie6:ImageSet; private static var Zombie7:ImageSet; private static var Zombie8:ImageSet; private static var Zombie3:ImageSet; private static var Pool:Array = new Array(); private static var zombielargeimage:BitmapData; private static var drawpoint:Point = new Point(); public static var Container:Array = new Array(); public static var Corpses:Array = new Array(); private static var zombiesmallimage:BitmapData; private static var drawpointlarge:Point = new Point(); private static var Monsters:Array; private static var corpse:Zombie; private static var footprint:Footprint; public function Zombie(){ super(); } public static function Dispose(zombie:Zombie):void{ Container.splice(Container.indexOf(zombie), 1); Pool.push(zombie); } public static function Create(type:int):void{ var zombie:Zombie; zombie = GetInstance(); zombie.X = -50; zombie.Y = 0x0100; zombie.FrameIndex = 0; zombie.FrameTicks = 2; zombie.Mode = Mode.Walking; zombie.Dying = false; zombie.Corpse = false; zombie.YOffset = Math.round((Math.random() * 20)); zombie.Footprints = 0; zombie.Speed = (Math.random() * (1 + (type / 8))); zombie.Health = ((type + 2) + ((Main.Difficulty == 0)) ? -((type / 2)) : (Math.random() * 5)); zombie.BaseHealth = zombie.Health; zombie.Images = Monsters[type]; zombie.Frames = zombie.Images.Walking; zombie.SmallFrames = zombie.Images.WalkingSmall; zombie.Type = ((type < 5)) ? ZombieTypes.Normal : ZombieTypes.Special; if (zombie.Speed < 1){ zombie.Speed = 1; }; Container.push(zombie); } public static function DisposeAll():void{ var i:int; i = (Container.length - 1); while (i > -1) { Pool.push(Container[i]); Container.splice(i, 1); i--; }; } private static function SliceZombie(image:BitmapData, width:int, height:int):ImageSet{ var imageset:ImageSet; var slicerectangle:Rectangle; var transparent:BitmapData; var numx:*; var x:int; var y:int; var slice:BitmapData; var images:*; var imagessmall:*; var shrink:Matrix; var black:ColorTransform; var index:int; imageset = new ImageSet(); slicerectangle = new Rectangle(0, 0, width, height); transparent = new BitmapData(width, height, true, 0xFFFFFF); numx = (image.width / width); images = new Array(7); images[0] = new Array(); images[1] = new Array(); images[2] = new Array(); images[3] = new Array(); images[4] = new Array(); images[5] = new Array(); images[6] = new Array(); imagessmall = new Array(7); imagessmall[0] = new Array(); imagessmall[1] = new Array(); imagessmall[2] = new Array(); imagessmall[3] = new Array(); imagessmall[4] = new Array(); imagessmall[5] = new Array(); imagessmall[6] = new Array(); shrink = new Matrix(); shrink.scale(0.33333, 0.33333); black = new ColorTransform(); black.redOffset = -50; black.blueOffset = -50; black.greenOffset = -50; index = 0; x = 0; while (x < numx) { slicerectangle.x = (x * width); y = 0; while (y < 7) { slicerectangle.y = (y * height); slice = new BitmapData(width, height, true, 0); slice.copyPixels(image, slicerectangle, ZeroPoint); if (slice.compare(transparent) != 0){ index = images[y].length; images[y][index] = slice; imagessmall[y][index] = new BitmapData(40, 40, true, 0); imagessmall[y][index].draw(slice, shrink); imagessmall[y][index].colorTransform(slice.rect, black); }; y++; }; x++; }; imageset.Walking = images[2]; imageset.WalkingSmall = imagessmall[2]; imageset.Dying = images[1]; imageset.DyingSmall = imagessmall[1]; imageset.Hit = images[0]; imageset.HitSmall = imagessmall[0]; imageset.Headshot = images[3]; imageset.HeadshotSmall = imagessmall[3]; imageset.Falling = images[4]; imageset.FallingSmall = imagessmall[4]; imageset.Crawling = images[5]; imageset.CrawlingSmall = imagessmall[5]; imageset.DyingCrawling = images[6]; imageset.DyingCrawlingSmall = imagessmall[6]; return (imageset); } public static function Tick(image:BitmapData, largeimage:BitmapData, screenimage:BitmapData, screenimagelarge:BitmapData):void{ var i:int; var j:int; if (Container.length == 0){ return; }; i = (Container.length - 1); for (;i > -1;i--) { zombie = Container[i]; if ((((zombie.Mode == Mode.Walking)) || ((zombie.Mode == Mode.Crawling)))){ zombie.X = (zombie.X + zombie.Speed); zombie.Y = ((zombie.X > 0)) ? (YPoints[Math.floor(zombie.X)] + zombie.YOffset) : (0x0100 + zombie.YOffset); if (zombie.X > Main.STAGE.stageWidth){ Dispose(zombie); Statistics.Lives--; if (Statistics.Lives == 0){ new Lose(); return; }; if ((Statistics.Lives % 10) == 0){ SoundManager.PlayHolddemzombies(); }; continue; }; } else { if ((((zombie.Mode == Mode.Falling)) && ((zombie.YOffset < 5)))){ zombie.YOffset++; zombie.Y = ((zombie.X > 0)) ? (YPoints[Math.floor(zombie.X)] + zombie.YOffset) : (0x0100 + zombie.YOffset); }; }; if (zombie.FrameTicks == 0){ zombie.FrameIndex++; zombie.FrameTicks = 2; if (zombie.FrameIndex == zombie.Frames.length){ switch (zombie.Mode){ case Mode.Hit: zombie.Mode = Mode.Walking; zombie.FrameIndex = 0; zombie.Frames = zombie.Images.Walking; zombie.SmallFrames = zombie.Images.WalkingSmall; break; case Mode.Falling: zombie.Mode = Mode.Crawling; zombie.FrameIndex = 0; zombie.Frames = zombie.Images.Crawling; zombie.SmallFrames = zombie.Images.CrawlingSmall; zombie.Speed = 0.5; break; case Mode.Walking: zombie.FrameIndex = 0; break; case Mode.Crawling: zombie.FrameIndex = 0; zombie.FrameTicks = 20; break; case Mode.Dying: case Mode.Headshot: case Mode.DyingCrawling: zombie.FrameIndex = (zombie.Frames.length - 1); zombie.Corpse = true; Corpses.push(zombie); zombiesmallimage = zombie.SmallFrames[zombie.FrameIndex]; zombielargeimage = zombie.Frames[zombie.FrameIndex]; zombie.CorpseLocation = new Point((zombie.X - (zombiesmallimage.width / 2)), (zombie.Y - (zombiesmallimage.height / 2))); zombie.CorpseLocationLarge = new Point(((zombie.X * 3) - (zombielargeimage.width / 2)), ((zombie.Y * 3) - (zombielargeimage.height / 2))); LandOverlay.PermanantlyDraw(zombiesmallimage, zombie.CorpseLocation.clone(), zombielargeimage, zombie.CorpseLocationLarge.clone()); Zombie.Dispose(zombie); break; }; } else { if ((((zombie.Mode == Mode.Dying)) || ((zombie.Mode == Mode.Headshot)))){ zombie.X = (zombie.X - Main.Gun.ThrowsMonster); zombie.Y++; }; }; } else { zombie.FrameTicks--; }; zombiesmallimage = zombie.SmallFrames[zombie.FrameIndex]; zombielargeimage = zombie.Frames[zombie.FrameIndex]; drawpoint.x = (zombie.X - SmallWidth); drawpoint.y = (zombie.Y - SmallHeight); image.copyPixels(zombiesmallimage, zombiesmallimage.rect, drawpoint); if (Main.Gun.Scope){ drawpointlarge.x = ((zombie.X * 3) - (zombielargeimage.width / 2)); drawpointlarge.y = ((zombie.Y * 3) - (zombielargeimage.height / 2)); largeimage.copyPixels(zombielargeimage, zombielargeimage.rect, drawpointlarge); }; zombie.RealX = drawpoint.x; zombie.RealY = drawpoint.y; j = 0; while (j < Corpses.length) { corpse = Corpses[j]; if (TouchingCorpse(zombie, corpse)){ zombie.Footprints = Random(5, 25); zombie.TotalFootprints = zombie.Footprints; }; j++; }; if (!zombie.Dying){ HealthRectangleBorder.x = (drawpoint.x + 2); HealthRectangleBorder.y = drawpoint.y; HealthRectangle.x = (drawpoint.x + 3); HealthRectangle.y = (drawpoint.y + 1); HealthRectangle.width = Math.round((36 * (zombie.Health / zombie.BaseHealth))); image.fillRect(HealthRectangleBorder, 1879048192); image.fillRect(HealthRectangle, 2154220595); }; if ((((zombie.Footprints > 0)) && ((zombie.FrameTicks == 0)))){ zombie.Footprints--; footprint = Footprint.Create(drawpoint, drawpointlarge); LandOverlay.PermanantlyDraw(Footprint.SmallImages[footprint.Index], drawpoint, Footprint.LargeImages[footprint.Index], drawpointlarge, (zombie.Footprints / zombie.TotalFootprints)); Footprint.Dispose(footprint); }; }; } private static function TouchingCorpse(zombie:Zombie, corpse:Zombie):Boolean{ return (((((((((corpse.CorpseLocation.x - 7) <= zombie.RealX)) && (((corpse.CorpseLocation.x + 7) >= zombie.RealX)))) && (((corpse.CorpseLocation.y - 7) <= zombie.RealY)))) && (((corpse.CorpseLocation.y + 7) >= zombie.RealY)))); } public static function Initialise():void{ var pathmap:BitmapData; var i:int; var j:int; var k:int; var ypoint:int; pathmap = new PathMap(1950, 200); j = 0; while (j < 650) { ypoint = -1; k = 0; while (ypoint == -1) { if (pathmap.getPixel((j * 3), k) == 0x99FF00){ ypoint = (290 - ((200 - k) / 3)); }; k++; }; YPoints[j] = ypoint; j++; }; Zombie1 = SliceZombie(new Zombie1(1080, 840), 120, 120); Zombie2 = SliceZombie(new Zombie2(1080, 840), 120, 120); Zombie3 = SliceZombie(new Zombie3(1080, 840), 120, 120); Zombie4 = SliceZombie(new Zombie4(1080, 840), 120, 120); Zombie5 = SliceZombie(new Zombie5(1080, 840), 120, 120); Zombie6 = SliceBigZombie(new Zombie6(1080, 360), 120, 120); Zombie7 = SliceBigZombie(new Zombie7(1080, 360), 120, 120); Zombie8 = SliceBigZombie(new Zombie8(1080, 360), 120, 120); Monsters = [Zombie1, Zombie2, Zombie3, Zombie4, Zombie5, Zombie6, Zombie7, Zombie8]; } private static function Random(min:int, max:int):int{ return ((Math.round((Math.random() * max)) + min)); } private static function GetInstance():Zombie{ if (Pool.length > 0){ return (Pool.pop()); }; return (new (Zombie)); } private static function SliceBigZombie(image:BitmapData, width:int, height:int):ImageSet{ var imageset:ImageSet; var slicerectangle:Rectangle; var transparent:BitmapData; var numx:*; var x:int; var y:int; var slice:BitmapData; var images:*; var imagessmall:*; var shrink:Matrix; var index:int; imageset = new ImageSet(); slicerectangle = new Rectangle(0, 0, width, height); transparent = new BitmapData(width, height, true, 0xFFFFFF); numx = (image.width / width); images = new Array(7); images[0] = new Array(); images[1] = new Array(); images[2] = new Array(); imagessmall = new Array(7); imagessmall[0] = new Array(); imagessmall[1] = new Array(); imagessmall[2] = new Array(); shrink = new Matrix(); shrink.scale(0.33333, 0.33333); index = 0; x = 0; while (x < numx) { slicerectangle.x = (x * width); y = 0; while (y < 7) { slicerectangle.y = (y * height); slice = new BitmapData(width, height, true, 0); slice.copyPixels(image, slicerectangle, ZeroPoint); if (slice.compare(transparent) != 0){ index = images[y].length; images[y][index] = slice; imagessmall[y][index] = new BitmapData(40, 40, true, 0); imagessmall[y][index].draw(slice, shrink); }; y++; }; x++; }; imageset.Walking = images[2]; imageset.WalkingSmall = imagessmall[2]; imageset.Dying = images[1]; imageset.DyingSmall = imagessmall[1]; imageset.Hit = images[0]; imageset.HitSmall = imagessmall[0]; return (imageset); } } }//package Sniper
Section 241
//ZombieTypes (Sniper.ZombieTypes) package Sniper { public class ZombieTypes { public static const Zombie8:int = 7; public static const Normal:int = 0; public static const Zombie1:int = 0; public static const Zombie2:int = 1; public static const Zombie3:int = 2; public static const Zombie4:int = 3; public static const Zombie5:int = 4; public static const Zombie6:int = 5; public static const Zombie7:int = 6; public static const Special:int = 1; public function ZombieTypes(){ super(); } } }//package Sniper
Section 242
//SoundLoader_19 (Sniper_fla.SoundLoader_19) package Sniper_fla { import flash.display.*; public dynamic class SoundLoader_19 extends MovieClip { public function SoundLoader_19(){ super(); addFrameScript(0, frame1); } function frame1(){ stop(); } } }//package Sniper_fla
Section 243
//WeaponDescription_39 (Sniper_fla.WeaponDescription_39) package Sniper_fla { import flash.display.*; import flash.text.*; public dynamic class WeaponDescription_39 extends MovieClip { public var Label:TextField; public function WeaponDescription_39(){ super(); } } }//package Sniper_fla
Section 244
//SWF (SWFStats.SWF) package SWFStats { public class SWF { public static const GUID:String = "06d25594-152d-472c-8f90-b47bacb8392a"; public static const SWFID:int = 27; public function SWF(){ super(); } } }//package SWFStats
Section 245
//Tracker (SWFStats.Tracker) package SWFStats { import flash.events.*; import flash.utils.*; import flash.net.*; import flash.system.*; import flash.external.*; public class Tracker { private static const Ping:Timer = new Timer(30000); public static const Random:Number = Math.random(); public static var SourceUrl:String; public function Tracker(){ super(); } public static function LogView(defaulturl:String):void{ var sendaction:URLLoader; var defaulturl = defaulturl; SourceUrl = GetUrl(defaulturl); if (SourceUrl == null){ return; }; Security.loadPolicyFile("http://ping.swfstats.com/crossdomain.xml"); //unresolved jump var _slot1 = s; SourceUrl = null; return; sendaction = new URLLoader(); sendaction.addEventListener(IOErrorEvent.IO_ERROR, ErrorHandler); sendaction.load(new URLRequest(((((((("http://ping.swfstats.com/init.aspx?guid=" + SWF.GUID) + "&swfid=") + SWF.SWFID) + "&url=") + SourceUrl) + "&") + Random))); Ping.addEventListener(TimerEvent.TIMER, KeepAlive); } private static function GetUrl(defaulturl:String):String{ var url:String; var defaulturl = defaulturl; url = String(ExternalInterface.call("window.location.href.toString")); //unresolved jump var _slot1 = s; url = ((defaulturl)!=null) ? defaulturl : "Unknown"; return (((url)!="null") ? url : ""); } private static function KeepAlive(e:Event):void{ var sendaction:URLLoader; if (SourceUrl == null){ return; }; sendaction = new URLLoader(); sendaction.addEventListener(IOErrorEvent.IO_ERROR, ErrorHandler); sendaction.load(new URLRequest(((((((("http://ping.swfstats.com/ping.aspx?guid=" + SWF.GUID) + "&swfid=") + SWF.SWFID) + "&url=") + SourceUrl) + "&") + Random))); } private static function ErrorHandler(e:IOErrorEvent):void{ SourceUrl = null; } public static function LogPlay():void{ var sendaction:URLLoader; if (SourceUrl == null){ return; }; sendaction = new URLLoader(); sendaction.addEventListener(IOErrorEvent.IO_ERROR, ErrorHandler); sendaction.load(new URLRequest(((((((("http://ping.swfstats.com/play.aspx?guid=" + SWF.GUID) + "&swfid=") + SWF.SWFID) + "&url=") + SourceUrl) + "&") + Random))); } } }//package SWFStats

Library Items

Symbol 1 GraphicUsed by:7 63 81  Timeline
Symbol 2 BitmapUsed by:3
Symbol 3 GraphicUses:2Used by:6
Symbol 4 FontUsed by:5
Symbol 5 EditableTextUses:4Used by:6
Symbol 6 MovieClipUses:3 5Used by:7
Symbol 7 MovieClip {InFlashStudios.Splash}Uses:1 6
Symbol 8 FontUsed by:9 19 62 121 122 123 124 125 126 129 130 131 132 134 138 141 142 143 144 145 146 147 148 149 150 151 152 154 155 157 158 159 160 161 162 164 165 167 168 169 170 172 173 191 193 366
Symbol 9 EditableTextUses:8Used by:21
Symbol 10 FontUsed by:11 12 22 35 49 54 56 57 58 59 84 85 86 88 89 92 118 120 163 175 194 195 197 198 200 201 207 208 210 211 214 215
Symbol 11 TextUses:10Used by:14
Symbol 12 TextUses:10Used by:14
Symbol 13 GraphicUsed by:14 87 90 196 199 202 209 212 216
Symbol 14 ButtonUses:11 12 13Used by:21 24 37 53 133
Symbol 15 FontUsed by:16 17 23 25 26 27 28 29 30 31 32 33 34 36 39 40 41 42 43 44 45 46 47 48 50 51 52 83 117
Symbol 16 EditableTextUses:15Used by:21
Symbol 17 EditableTextUses:15Used by:21
Symbol 18 GraphicUsed by:20
Symbol 19 EditableTextUses:8Used by:20
Symbol 20 MovieClip {Sniper_fla.WeaponDescription_39}Uses:18 19Used by:21
Symbol 21 MovieClip {Sniper.Shop}Uses:9 14 16 17 20
Symbol 22 TextUses:10Used by:24
Symbol 23 TextUses:15Used by:24
Symbol 24 MovieClip {Sniper.Lose}Uses:14 22 23
Symbol 25 EditableTextUses:15Used by:37
Symbol 26 EditableTextUses:15Used by:37
Symbol 27 EditableTextUses:15Used by:37
Symbol 28 EditableTextUses:15Used by:37
Symbol 29 EditableTextUses:15Used by:37
Symbol 30 EditableTextUses:15Used by:37
Symbol 31 EditableTextUses:15Used by:37
Symbol 32 EditableTextUses:15Used by:37
Symbol 33 EditableTextUses:15Used by:37
Symbol 34 EditableTextUses:15Used by:37
Symbol 35 TextUses:10Used by:37
Symbol 36 TextUses:15Used by:37
Symbol 37 MovieClip {Sniper.WinFinal}Uses:14 25 26 27 28 29 30 31 32 33 34 35 36
Symbol 38 GraphicUsed by:53
Symbol 39 EditableTextUses:15Used by:53
Symbol 40 EditableTextUses:15Used by:53
Symbol 41 EditableTextUses:15Used by:53
Symbol 42 EditableTextUses:15Used by:53
Symbol 43 EditableTextUses:15Used by:53
Symbol 44 EditableTextUses:15Used by:53
Symbol 45 EditableTextUses:15Used by:53
Symbol 46 EditableTextUses:15Used by:53
Symbol 47 EditableTextUses:15Used by:53
Symbol 48 EditableTextUses:15Used by:53
Symbol 49 EditableTextUses:10Used by:53
Symbol 50 EditableTextUses:15Used by:53
Symbol 51 EditableTextUses:15Used by:53
Symbol 52 EditableTextUses:15Used by:53
Symbol 53 MovieClip {Sniper.LevelResults}Uses:38 14 39 40 41 42 43 44 45 46 47 48 49 50 51 52
Symbol 54 EditableTextUses:10Used by:63
Symbol 55 SoundUsed by:63
Symbol 56 EditableTextUses:10Used by:63
Symbol 57 EditableTextUses:10Used by:63
Symbol 58 EditableTextUses:10Used by:63
Symbol 59 EditableTextUses:10Used by:63
Symbol 60 BitmapUsed by:61 82 190
Symbol 61 GraphicUses:60Used by:63 177  Timeline
Symbol 62 TextUses:8Used by:63 116 119
Symbol 63 MovieClip {Sniper.Introduction}Uses:1 54 55 56 57 58 59 61 62
Symbol 64 GraphicUsed by:67 80
Symbol 65 GraphicUsed by:67 80
Symbol 66 GraphicUsed by:67 80
Symbol 67 MovieClipUses:64 65 66Used by:80 217
Symbol 68 SoundUsed by:80
Symbol 69 SoundUsed by:80
Symbol 70 GraphicUsed by:80
Symbol 71 GraphicUsed by:72
Symbol 72 MovieClipUses:71Used by:80
Symbol 73 SoundUsed by:80
Symbol 74 SoundUsed by:80
Symbol 75 SoundUsed by:80
Symbol 76 GraphicUsed by:77
Symbol 77 ButtonUses:76Used by:80
Symbol 78 SoundUsed by:80
Symbol 79 SoundUsed by:80
Symbol 80 MovieClipUses:67 65 68 69 70 72 73 74 75 64 77 66 78 79Used by:81
Symbol 81 MovieClip {Sniper.ArmorGames}Uses:1 80
Symbol 82 GraphicUses:60Used by:91 116 119 133
Symbol 83 TextUses:15Used by:91
Symbol 84 TextUses:10Used by:91
Symbol 85 TextUses:10Used by:87
Symbol 86 TextUses:10Used by:87
Symbol 87 ButtonUses:85 86 13Used by:91
Symbol 88 TextUses:10Used by:90
Symbol 89 TextUses:10Used by:90
Symbol 90 ButtonUses:88 89 13Used by:91
Symbol 91 MovieClip {Sniper.CampaignIntroductionScreen}Uses:82 83 84 87 90
Symbol 92 TextUses:10Used by:116
Symbol 93 FontUsed by:94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
Symbol 94 EditableTextUses:93Used by:116
Symbol 95 EditableTextUses:93Used by:116
Symbol 96 EditableTextUses:93Used by:116
Symbol 97 EditableTextUses:93Used by:116
Symbol 98 EditableTextUses:93Used by:116
Symbol 99 EditableTextUses:93Used by:116
Symbol 100 EditableTextUses:93Used by:116
Symbol 101 EditableTextUses:93Used by:116
Symbol 102 EditableTextUses:93Used by:116
Symbol 103 EditableTextUses:93Used by:116
Symbol 104 EditableTextUses:93Used by:116
Symbol 105 EditableTextUses:93Used by:116
Symbol 106 EditableTextUses:93Used by:116
Symbol 107 EditableTextUses:93Used by:116
Symbol 108 EditableTextUses:93Used by:116
Symbol 109 EditableTextUses:93Used by:116
Symbol 110 EditableTextUses:93Used by:116
Symbol 111 EditableTextUses:93Used by:116
Symbol 112 EditableTextUses:93Used by:116
Symbol 113 EditableTextUses:93Used by:116
Symbol 114 EditableTextUses:93Used by:116
Symbol 115 EditableTextUses:93Used by:116
Symbol 116 MovieClip {Sniper.HighScoresScreen}Uses:82 92 62 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115
Symbol 117 TextUses:15Used by:119
Symbol 118 TextUses:10Used by:119
Symbol 119 MovieClip {Sniper.HelpScreen}Uses:82 117 118 62
Symbol 120 TextUses:10Used by:133
Symbol 121 TextUses:8Used by:133
Symbol 122 TextUses:8Used by:133
Symbol 123 TextUses:8Used by:133
Symbol 124 TextUses:8Used by:133
Symbol 125 EditableTextUses:8Used by:128
Symbol 126 EditableTextUses:8Used by:128
Symbol 127 GraphicUsed by:128 153 156 166 171 174
Symbol 128 ButtonUses:125 126 127Used by:133
Symbol 129 EditableTextUses:8Used by:133
Symbol 130 EditableTextUses:8Used by:133
Symbol 131 EditableTextUses:8Used by:133
Symbol 132 EditableTextUses:8Used by:133
Symbol 133 MovieClip {Sniper.RemapKeysScreen}Uses:82 120 121 122 123 124 128 129 130 131 132 14
Symbol 134 EditableTextUses:8Used by:135
Symbol 135 MovieClip {Sniper.WeaponButton}Uses:134
Symbol 136 BitmapUsed by:137
Symbol 137 GraphicUses:136Used by:139
Symbol 138 EditableTextUses:8Used by:139
Symbol 139 MovieClip {Sniper.Pilot}Uses:137 138Used by:Timeline
Symbol 140 Bitmap {Assets.Explosions.ExplosionA4}Used by:Timeline
Symbol 141 EditableTextUses:8Used by:176
Symbol 142 EditableTextUses:8Used by:176
Symbol 143 EditableTextUses:8Used by:176
Symbol 144 EditableTextUses:8Used by:176
Symbol 145 EditableTextUses:8Used by:176
Symbol 146 EditableTextUses:8Used by:176
Symbol 147 EditableTextUses:8Used by:176
Symbol 148 EditableTextUses:8Used by:176
Symbol 149 EditableTextUses:8Used by:176
Symbol 150 EditableTextUses:8Used by:176
Symbol 151 EditableTextUses:8Used by:153
Symbol 152 EditableTextUses:8Used by:153
Symbol 153 ButtonUses:151 152 127Used by:176
Symbol 154 EditableTextUses:8Used by:156
Symbol 155 EditableTextUses:8Used by:156
Symbol 156 ButtonUses:154 155 127Used by:176
Symbol 157 EditableTextUses:8Used by:176
Symbol 158 EditableTextUses:8Used by:176
Symbol 159 EditableTextUses:8Used by:176
Symbol 160 EditableTextUses:8Used by:176
Symbol 161 EditableTextUses:8Used by:176
Symbol 162 EditableTextUses:8Used by:176
Symbol 163 EditableTextUses:10Used by:176
Symbol 164 EditableTextUses:8Used by:166
Symbol 165 EditableTextUses:8Used by:166
Symbol 166 ButtonUses:164 165 127Used by:176
Symbol 167 EditableTextUses:8Used by:176
Symbol 168 EditableTextUses:8Used by:176
Symbol 169 EditableTextUses:8Used by:171
Symbol 170 EditableTextUses:8Used by:171
Symbol 171 ButtonUses:169 170 127Used by:176
Symbol 172 EditableTextUses:8Used by:174
Symbol 173 EditableTextUses:8Used by:174
Symbol 174 ButtonUses:172 173 127Used by:176
Symbol 175 EditableTextUses:10Used by:176
Symbol 176 MovieClip {Sniper.StatusBar}Uses:141 142 143 144 145 146 147 148 149 150 153 156 157 158 159 160 161 162 163 166 167 168 171 174 175Used by:Timeline
Symbol 177 MovieClipUses:61Used by:Timeline
Symbol 178 FontUsed by:179 180 181 182 183 184 203 204 205 206 213
Symbol 179 EditableTextUses:178Used by:Timeline
Symbol 180 EditableTextUses:178Used by:Timeline
Symbol 181 EditableTextUses:178Used by:Timeline
Symbol 182 EditableTextUses:178Used by:Timeline
Symbol 183 EditableTextUses:178Used by:Timeline
Symbol 184 EditableTextUses:178Used by:Timeline
Symbol 185 BitmapUsed by:186
Symbol 186 GraphicUses:185Used by:187
Symbol 187 MovieClipUses:186Used by:217  Timeline
Symbol 188 GraphicUsed by:Timeline
Symbol 189 Bitmap {Assets.Background}Used by:Timeline
Symbol 190 GraphicUses:60Used by:217
Symbol 191 EditableTextUses:8Used by:217
Symbol 192 GraphicUsed by:217
Symbol 193 EditableTextUses:8Used by:217
Symbol 194 TextUses:10Used by:196
Symbol 195 TextUses:10Used by:196
Symbol 196 ButtonUses:194 195 13Used by:217
Symbol 197 TextUses:10Used by:199
Symbol 198 TextUses:10Used by:199
Symbol 199 ButtonUses:197 198 13Used by:217
Symbol 200 TextUses:10Used by:202
Symbol 201 TextUses:10Used by:202
Symbol 202 ButtonUses:200 201 13Used by:217
Symbol 203 EditableTextUses:178Used by:217
Symbol 204 EditableTextUses:178Used by:217
Symbol 205 EditableTextUses:178Used by:217
Symbol 206 EditableTextUses:178Used by:217
Symbol 207 TextUses:10Used by:209
Symbol 208 TextUses:10Used by:209
Symbol 209 ButtonUses:207 208 13Used by:217
Symbol 210 TextUses:10Used by:212
Symbol 211 TextUses:10Used by:212
Symbol 212 ButtonUses:210 211 13Used by:217
Symbol 213 TextUses:178Used by:217
Symbol 214 TextUses:10Used by:216
Symbol 215 TextUses:10Used by:216
Symbol 216 ButtonUses:214 215 13Used by:217
Symbol 217 MovieClip {Sniper.MainMenu}Uses:190 191 192 193 196 199 202 203 204 205 206 187 209 67 212 213 216Used by:Timeline
Symbol 218 BitmapUsed by:219
Symbol 219 GraphicUses:218Used by:222  Timeline
Symbol 220 GraphicUsed by:221
Symbol 221 MovieClipUses:220Used by:222
Symbol 222 MovieClip {Sniper.Scope}Uses:219 221Used by:Timeline
Symbol 223 Bitmap {Assets.PathMap}Used by:Timeline
Symbol 224 Bitmap {Assets.BulletOff}Used by:Timeline
Symbol 225 Bitmap {Assets.BulletOn}Used by:Timeline
Symbol 226 Bitmap {Assets.Clouds}Used by:Timeline
Symbol 227 Bitmap {Assets.BackgroundOverlay}Used by:Timeline
Symbol 228 Bitmap {Assets.Man.Man1}Used by:Timeline
Symbol 229 Bitmap {Assets.Man.Man2}Used by:Timeline
Symbol 230 Bitmap {Assets.Man.Man3}Used by:Timeline
Symbol 231 Bitmap {Assets.Man.Man4}Used by:Timeline
Symbol 232 Bitmap {Assets.Man.Flash1}Used by:Timeline
Symbol 233 Bitmap {Assets.Man.Flash2}Used by:Timeline
Symbol 234 Bitmap {Assets.Man.Flash3}Used by:Timeline
Symbol 235 Bitmap {Assets.Man.Flash4}Used by:Timeline
Symbol 236 Bitmap {Assets.Achievements.CloseShave}Used by:Timeline
Symbol 237 Bitmap {Assets.Achievements.Headshot}Used by:Timeline
Symbol 238 Bitmap {Assets.Achievements.SharpShooter}Used by:Timeline
Symbol 239 Bitmap {Assets.Achievements.Suicide}Used by:Timeline
Symbol 240 Bitmap {Assets.Achievements.Untouchable}Used by:Timeline
Symbol 241 Bitmap {Assets.Achievements.EpicFail}Used by:Timeline
Symbol 242 Bitmap {Assets.Achievements.EpicWin}Used by:Timeline
Symbol 243 Bitmap {Assets.Achievements.YouAreAGod}Used by:Timeline
Symbol 244 Sound {Assets.Sounds.Explosions}Used by:264
Symbol 245 Sound {Assets.Sounds.GameMusic}Used by:264
Symbol 246 Sound {Assets.Sounds.JetFlyBy}Used by:264
Symbol 247 Sound {Assets.Sounds.LightMachineGun}Used by:264
Symbol 248 Sound {Assets.Sounds.Holddemzombies}Used by:264
Symbol 249 Sound {Assets.Sounds.WeJustLostThisWar}Used by:264
Symbol 250 Sound {Assets.Sounds.MediumMachineGun}Used by:264
Symbol 251 Sound {Assets.Sounds.HeavyMachineGun}Used by:264
Symbol 252 Sound {Assets.Sounds.MenuMusic}Used by:264
Symbol 253 Sound {Assets.Sounds.GrenadeExplosion}Used by:264
Symbol 254 Sound {Assets.Sounds.RocketExplosion}Used by:264
Symbol 255 Sound {Assets.Sounds.Pistol}Used by:264
Symbol 256 Sound {Assets.Sounds.Shotgun}Used by:264
Symbol 257 Sound {Assets.Sounds.Sniper}Used by:264
Symbol 258 Sound {Assets.Sounds.WinMusic}Used by:264
Symbol 259 Sound {Assets.Sounds.Reload}Used by:264
Symbol 260 Sound {Assets.Sounds.Tick}Used by:264
Symbol 261 Sound {Assets.Sounds.s30isgameover}Used by:264
Symbol 262 Sound {Assets.Sounds.Loserasssave}Used by:264
Symbol 263 Sound {Assets.Sounds.Motherproudwithhis}Used by:264
Symbol 264 MovieClip {Sniper_fla.SoundLoader_19}Uses:244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263Used by:Timeline
Symbol 265 Bitmap {Assets.CrossHair}Used by:Timeline
Symbol 266 Bitmap {Assets.Guns.DualPistolsIcon}Used by:Timeline
Symbol 267 Bitmap {Assets.Guns.HeavyMachinegunIcon}Used by:Timeline
Symbol 268 Bitmap {Assets.Guns.LightMachinegunIcon}Used by:Timeline
Symbol 269 Bitmap {Assets.Guns.MediumMachinegunIcon}Used by:Timeline
Symbol 270 Bitmap {Assets.Guns.PistolIcon}Used by:Timeline
Symbol 271 Bitmap {Assets.Guns.ShotgunIcon}Used by:Timeline
Symbol 272 Bitmap {Assets.Guns.Sniper1Icon}Used by:Timeline
Symbol 273 Bitmap {Assets.Guns.Sniper2Icon}Used by:Timeline
Symbol 274 Bitmap {Assets.Shop.ShopButtonAvailable}Used by:Timeline
Symbol 275 Bitmap {Assets.Shop.ShopButtonBought}Used by:Timeline
Symbol 276 Bitmap {Assets.Shop.ShopButtonUnavailable}Used by:Timeline
Symbol 277 Bitmap {Assets.Guns.DualPistolsBlack}Used by:Timeline
Symbol 278 Bitmap {Assets.Guns.DualPistolsGrey}Used by:Timeline
Symbol 279 Bitmap {Assets.Guns.DualPistolsWhite}Used by:Timeline
Symbol 280 Bitmap {Assets.Guns.HeavyMachineGunBlack}Used by:Timeline
Symbol 281 Bitmap {Assets.Guns.HeavyMachineGunGrey}Used by:Timeline
Symbol 282 Bitmap {Assets.Guns.HeavyMachineGunWhite}Used by:Timeline
Symbol 283 Bitmap {Assets.Guns.LightMachineGunBlack}Used by:Timeline
Symbol 284 Bitmap {Assets.Guns.LightMachineGunGrey}Used by:Timeline
Symbol 285 Bitmap {Assets.Guns.LightMachineGunWhite}Used by:Timeline
Symbol 286 Bitmap {Assets.Guns.MediumMachineGunBlack}Used by:Timeline
Symbol 287 Bitmap {Assets.Guns.MediumMachineGunGrey}Used by:Timeline
Symbol 288 Bitmap {Assets.Guns.MediumMachineGunWhite}Used by:Timeline
Symbol 289 Bitmap {Assets.Guns.PistolBlack}Used by:Timeline
Symbol 290 Bitmap {Assets.Guns.PistolGrey}Used by:Timeline
Symbol 291 Bitmap {Assets.Guns.PistolWhite}Used by:Timeline
Symbol 292 Bitmap {Assets.Guns.ShotgunBlack}Used by:Timeline
Symbol 293 Bitmap {Assets.Guns.ShotgunGrey}Used by:Timeline
Symbol 294 Bitmap {Assets.Guns.ShotgunWhite}Used by:Timeline
Symbol 295 Bitmap {Assets.Guns.Sniper1Black}Used by:Timeline
Symbol 296 Bitmap {Assets.Guns.Sniper1Grey}Used by:Timeline
Symbol 297 Bitmap {Assets.Guns.Sniper1White}Used by:Timeline
Symbol 298 Bitmap {Assets.Guns.Sniper2Black}Used by:Timeline
Symbol 299 Bitmap {Assets.Guns.Sniper2Grey}Used by:Timeline
Symbol 300 Bitmap {Assets.Guns.Sniper2White}Used by:Timeline
Symbol 301 Bitmap {Assets.ReloadMessage}Used by:Timeline
Symbol 302 Bitmap {Assets.Jet}Used by:Timeline
Symbol 303 Bitmap {Assets.Explosions.ExplosionA1}Used by:Timeline
Symbol 304 Bitmap {Assets.Explosions.ExplosionA2}Used by:Timeline
Symbol 305 Bitmap {Assets.Explosions.ExplosionA3}Used by:Timeline
Symbol 306 Bitmap {Assets.Explosions.ExplosionA5}Used by:Timeline
Symbol 307 Bitmap {Assets.Explosions.ExplosionA6}Used by:Timeline
Symbol 308 Bitmap {Assets.Explosions.ExplosionA7}Used by:Timeline
Symbol 309 Bitmap {Assets.Explosions.ExplosionA8}Used by:Timeline
Symbol 310 Bitmap {Assets.Explosions.ExplosionA9}Used by:Timeline
Symbol 311 Bitmap {Assets.Explosions.ExplosionA10}Used by:Timeline
Symbol 312 Bitmap {Assets.Explosions.ExplosionA11}Used by:Timeline
Symbol 313 Bitmap {Assets.Explosions.ExplosionA12}Used by:Timeline
Symbol 314 Bitmap {Assets.Explosions.ExplosionA13}Used by:Timeline
Symbol 315 Bitmap {Assets.Explosions.ExplosionA14}Used by:Timeline
Symbol 316 Bitmap {Assets.Explosions.ExplosionA15}Used by:Timeline
Symbol 317 Bitmap {Assets.Explosions.ExplosionA16}Used by:Timeline
Symbol 318 Bitmap {Assets.Explosions.ExplosionB1}Used by:Timeline
Symbol 319 Bitmap {Assets.Explosions.ExplosionB2}Used by:Timeline
Symbol 320 Bitmap {Assets.Explosions.ExplosionB3}Used by:Timeline
Symbol 321 Bitmap {Assets.Explosions.ExplosionB4}Used by:Timeline
Symbol 322 Bitmap {Assets.Explosions.ExplosionB5}Used by:Timeline
Symbol 323 Bitmap {Assets.Explosions.ExplosionB6}Used by:Timeline
Symbol 324 Bitmap {Assets.Explosions.ExplosionB7}Used by:Timeline
Symbol 325 Bitmap {Assets.Explosions.ExplosionB8}Used by:Timeline
Symbol 326 Bitmap {Assets.Explosions.ExplosionB9}Used by:Timeline
Symbol 327 Bitmap {Assets.Explosions.ExplosionB10}Used by:Timeline
Symbol 328 Bitmap {Assets.Explosions.ExplosionB11}Used by:Timeline
Symbol 329 Bitmap {Assets.Explosions.ExplosionB12}Used by:Timeline
Symbol 330 Bitmap {Assets.Explosions.ExplosionB13}Used by:Timeline
Symbol 331 Bitmap {Assets.Explosions.ExplosionB14}Used by:Timeline
Symbol 332 Bitmap {Assets.Explosions.ExplosionB15}Used by:Timeline
Symbol 333 Bitmap {Assets.Explosions.ExplosionB16}Used by:Timeline
Symbol 334 Bitmap {Assets.Explosions.ExplosionC1}Used by:Timeline
Symbol 335 Bitmap {Assets.Explosions.ExplosionC2}Used by:Timeline
Symbol 336 Bitmap {Assets.Explosions.ExplosionC3}Used by:Timeline
Symbol 337 Bitmap {Assets.Explosions.ExplosionC4}Used by:Timeline
Symbol 338 Bitmap {Assets.Explosions.ExplosionC5}Used by:Timeline
Symbol 339 Bitmap {Assets.Explosions.ExplosionC6}Used by:Timeline
Symbol 340 Bitmap {Assets.Explosions.ExplosionC7}Used by:Timeline
Symbol 341 Bitmap {Assets.Explosions.ExplosionC8}Used by:Timeline
Symbol 342 Bitmap {Assets.Explosions.ExplosionC9}Used by:Timeline
Symbol 343 Bitmap {Assets.Explosions.ExplosionC10}Used by:Timeline
Symbol 344 Bitmap {Assets.Explosions.ExplosionC11}Used by:Timeline
Symbol 345 Bitmap {Assets.Explosions.ExplosionC12}Used by:Timeline
Symbol 346 Bitmap {Assets.Explosions.ExplosionC13}Used by:Timeline
Symbol 347 Bitmap {Assets.Explosions.ExplosionC14}Used by:Timeline
Symbol 348 Bitmap {Assets.Explosions.ExplosionC15}Used by:Timeline
Symbol 349 Bitmap {Assets.Explosions.ExplosionC16}Used by:Timeline
Symbol 350 Bitmap {Assets.Explosions.ExplosionD1}Used by:Timeline
Symbol 351 Bitmap {Assets.Explosions.ExplosionD2}Used by:Timeline
Symbol 352 Bitmap {Assets.Explosions.ExplosionD3}Used by:Timeline
Symbol 353 Bitmap {Assets.Explosions.ExplosionD4}Used by:Timeline
Symbol 354 Bitmap {Assets.Explosions.ExplosionD5}Used by:Timeline
Symbol 355 Bitmap {Assets.Explosions.ExplosionD6}Used by:Timeline
Symbol 356 Bitmap {Assets.Explosions.ExplosionD7}Used by:Timeline
Symbol 357 Bitmap {Assets.Explosions.ExplosionD8}Used by:Timeline
Symbol 358 Bitmap {Assets.Explosions.ExplosionD9}Used by:Timeline
Symbol 359 Bitmap {Assets.Explosions.ExplosionD10}Used by:Timeline
Symbol 360 Bitmap {Assets.Explosions.ExplosionD11}Used by:Timeline
Symbol 361 Bitmap {Assets.Explosions.ExplosionD12}Used by:Timeline
Symbol 362 Bitmap {Assets.Explosions.ExplosionD13}Used by:Timeline
Symbol 363 Bitmap {Assets.Explosions.ExplosionD14}Used by:Timeline
Symbol 364 Bitmap {Assets.Explosions.ExplosionD15}Used by:Timeline
Symbol 365 Bitmap {Assets.Explosions.ExplosionD16}Used by:Timeline
Symbol 366 EditableTextUses:8Used by:Timeline
Symbol 367 Bitmap {Assets.Guns.RocketLauncherIcon}Used by:Timeline
Symbol 368 Bitmap {Assets.Guns.RocketLauncherBlack}Used by:Timeline
Symbol 369 Bitmap {Assets.Guns.RocketLauncherGrey}Used by:Timeline
Symbol 370 Bitmap {Assets.Guns.RocketLauncherWhite}Used by:Timeline
Symbol 371 Bitmap {Assets.CorpseExplosion.BodyParts1}Used by:Timeline
Symbol 372 Bitmap {Assets.CorpseExplosion.BodyParts2}Used by:Timeline
Symbol 373 Bitmap {Assets.CorpseExplosion.BodyParts3}Used by:Timeline
Symbol 374 Bitmap {Assets.CorpseExplosion.BodyParts4}Used by:Timeline
Symbol 375 Bitmap {Assets.CorpseExplosion.BodyParts5}Used by:Timeline
Symbol 376 Bitmap {Assets.CorpseExplosion.BodyParts6}Used by:Timeline
Symbol 377 Bitmap {Assets.CorpseExplosion.BodyParts7}Used by:Timeline
Symbol 378 Bitmap {Assets.CorpseExplosion.BodyParts8}Used by:Timeline
Symbol 379 Bitmap {Assets.CorpseExplosion.BodyParts9}Used by:Timeline
Symbol 380 Bitmap {Assets.CorpseExplosion.BodyParts10}Used by:Timeline
Symbol 381 Bitmap {Assets.CorpseExplosion.BodyParts11}Used by:Timeline
Symbol 382 Bitmap {Assets.CorpseExplosion.BodyParts12}Used by:Timeline
Symbol 383 Bitmap {Assets.CorpseExplosion.BodyParts13}Used by:Timeline
Symbol 384 Bitmap {Assets.CorpseExplosion.BodyParts14}Used by:Timeline
Symbol 385 Bitmap {Assets.CorpseExplosion.BodyParts15}Used by:Timeline
Symbol 386 Bitmap {Assets.CorpseExplosion.BodyParts16}Used by:Timeline
Symbol 387 Bitmap {Assets.CorpseExplosion.BodyParts17}Used by:Timeline
Symbol 388 Bitmap {Assets.CorpseExplosion.BodyParts18}Used by:Timeline
Symbol 389 Bitmap {Assets.CorpseExplosion.BodyParts19}Used by:Timeline
Symbol 390 Bitmap {Assets.CorpseExplosion.BodyParts20}Used by:Timeline
Symbol 391 Bitmap {Assets.CorpseExplosion.BodyParts21}Used by:Timeline
Symbol 392 Bitmap {Assets.CorpseExplosion.BodyParts22}Used by:Timeline
Symbol 393 Bitmap {Assets.CorpseExplosion.BodyParts23}Used by:Timeline
Symbol 394 Bitmap {Assets.Guns.GrenadeAvailable}Used by:Timeline
Symbol 395 Bitmap {Assets.Guns.GrenadeUnavailable}Used by:Timeline
Symbol 396 Bitmap {Assets.Guns.GrenadeCover}Used by:Timeline
Symbol 397 Bitmap {Assets.Guns.Grenade1}Used by:Timeline
Symbol 398 Bitmap {Assets.Guns.Grenade2}Used by:Timeline
Symbol 399 Bitmap {Assets.Guns.Grenade3}Used by:Timeline
Symbol 400 Bitmap {Assets.Guns.Grenade4}Used by:Timeline
Symbol 401 Bitmap {Assets.Guns.Grenade5}Used by:Timeline
Symbol 402 Bitmap {Assets.Guns.Grenade6}Used by:Timeline
Symbol 403 Bitmap {Assets.Zombies.Zombie1}Used by:Timeline
Symbol 404 Bitmap {Assets.Zombies.Zombie2}Used by:Timeline
Symbol 405 Bitmap {Assets.Zombies.Zombie3}Used by:Timeline
Symbol 406 Bitmap {Assets.Zombies.Footprint1}Used by:Timeline
Symbol 407 Bitmap {Assets.Zombies.Footprint2}Used by:Timeline
Symbol 408 Bitmap {Assets.Zombies.Footprint3}Used by:Timeline
Symbol 409 Bitmap {Assets.Zombies.Footprint4}Used by:Timeline
Symbol 410 Bitmap {Assets.Zombies.Footprint5}Used by:Timeline
Symbol 411 Bitmap {Assets.Zombies.Zombie4}Used by:Timeline
Symbol 412 Bitmap {Assets.Zombies.Zombie5}Used by:Timeline
Symbol 413 Bitmap {Assets.Zombies.Zombie6}Used by:Timeline
Symbol 414 Bitmap {Assets.Zombies.Zombie7}Used by:Timeline
Symbol 415 Bitmap {Assets.Zombies.Zombie8}Used by:Timeline
Symbol 416 Bitmap {Assets.Achievements.DoubleKill}Used by:Timeline
Symbol 417 Bitmap {Assets.Achievements.Frenzy}Used by:Timeline
Symbol 418 Bitmap {Assets.Achievements.Slaughter}Used by:Timeline
Symbol 419 Bitmap {Assets.Achievements.TripleKill}Used by:Timeline

Instance Names

"Background"Frame 1Symbol 177 MovieClip
"Percent"Frame 1Symbol 180 EditableText
"Logo"Symbol 7 MovieClip {InFlashStudios.Splash} Frame 1Symbol 6 MovieClip
"Label"Symbol 20 MovieClip {Sniper_fla.WeaponDescription_39} Frame 1Symbol 19 EditableText
"ContinueButton"Symbol 21 MovieClip {Sniper.Shop} Frame 1Symbol 14 Button
"Money"Symbol 21 MovieClip {Sniper.Shop} Frame 1Symbol 17 EditableText
"Description"Symbol 21 MovieClip {Sniper.Shop} Frame 1Symbol 20 MovieClip {Sniper_fla.WeaponDescription_39}
"ContinueButton"Symbol 24 MovieClip {Sniper.Lose} Frame 1Symbol 14 Button
"ContinueButton"Symbol 37 MovieClip {Sniper.WinFinal} Frame 1Symbol 14 Button
"Points"Symbol 37 MovieClip {Sniper.WinFinal} Frame 1Symbol 28 EditableText
"Kills"Symbol 37 MovieClip {Sniper.WinFinal} Frame 1Symbol 29 EditableText
"Headshots"Symbol 37 MovieClip {Sniper.WinFinal} Frame 1Symbol 30 EditableText
"Money"Symbol 37 MovieClip {Sniper.WinFinal} Frame 1Symbol 32 EditableText
"Accuracy"Symbol 37 MovieClip {Sniper.WinFinal} Frame 1Symbol 34 EditableText
"ContinueButton"Symbol 53 MovieClip {Sniper.LevelResults} Frame 1Symbol 14 Button
"Points"Symbol 53 MovieClip {Sniper.LevelResults} Frame 1Symbol 42 EditableText
"Kills"Symbol 53 MovieClip {Sniper.LevelResults} Frame 1Symbol 43 EditableText
"Headshots"Symbol 53 MovieClip {Sniper.LevelResults} Frame 1Symbol 44 EditableText
"Money"Symbol 53 MovieClip {Sniper.LevelResults} Frame 1Symbol 46 EditableText
"Accuracy"Symbol 53 MovieClip {Sniper.LevelResults} Frame 1Symbol 48 EditableText
"Time"Symbol 53 MovieClip {Sniper.LevelResults} Frame 1Symbol 49 EditableText
"HelpNote"Symbol 53 MovieClip {Sniper.LevelResults} Frame 1Symbol 50 EditableText
"TotalMoney"Symbol 53 MovieClip {Sniper.LevelResults} Frame 1Symbol 52 EditableText
"Animation"Symbol 81 MovieClip {Sniper.ArmorGames} Frame 1Symbol 80 MovieClip
"EasyButton"Symbol 91 MovieClip {Sniper.CampaignIntroductionScreen} Frame 1Symbol 87 Button
"HardButton"Symbol 91 MovieClip {Sniper.CampaignIntroductionScreen} Frame 1Symbol 90 Button
"Name1"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 94 EditableText
"Name2"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 95 EditableText
"Name3"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 96 EditableText
"Name4"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 97 EditableText
"Name5"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 98 EditableText
"Name6"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 99 EditableText
"Name7"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 100 EditableText
"Name8"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 101 EditableText
"Name9"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 102 EditableText
"Name10"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 103 EditableText
"Score1"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 104 EditableText
"Score2"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 105 EditableText
"Score3"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 106 EditableText
"Score4"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 107 EditableText
"Score5"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 108 EditableText
"Score6"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 109 EditableText
"Score7"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 110 EditableText
"Score8"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 111 EditableText
"Score9"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 112 EditableText
"Score10"Symbol 116 MovieClip {Sniper.HighScoresScreen} Frame 1Symbol 113 EditableText
"ChangePrevious"Symbol 133 MovieClip {Sniper.RemapKeysScreen} Frame 1Symbol 128 Button
"ChangeNext"Symbol 133 MovieClip {Sniper.RemapKeysScreen} Frame 1Symbol 128 Button
"ChangeReload"Symbol 133 MovieClip {Sniper.RemapKeysScreen} Frame 1Symbol 128 Button
"ChangeGrenade"Symbol 133 MovieClip {Sniper.RemapKeysScreen} Frame 1Symbol 128 Button
"PreviousWeaponKey"Symbol 133 MovieClip {Sniper.RemapKeysScreen} Frame 1Symbol 129 EditableText
"NextWeaponKey"Symbol 133 MovieClip {Sniper.RemapKeysScreen} Frame 1Symbol 130 EditableText
"ReloadKey"Symbol 133 MovieClip {Sniper.RemapKeysScreen} Frame 1Symbol 131 EditableText
"GrenadeKey"Symbol 133 MovieClip {Sniper.RemapKeysScreen} Frame 1Symbol 132 EditableText
"ContinueButton"Symbol 133 MovieClip {Sniper.RemapKeysScreen} Frame 1Symbol 14 Button
"Price"Symbol 135 MovieClip {Sniper.WeaponButton} Frame 1Symbol 134 EditableText
"Subtitle"Symbol 139 MovieClip {Sniper.Pilot} Frame 1Symbol 138 EditableText
"Score"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 141 EditableText
"Kills"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 143 EditableText
"Lives"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 145 EditableText
"Headshots"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 147 EditableText
"Accuracy"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 149 EditableText
"SoundButton"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 153 Button
"PauseButton"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 156 Button
"Bullets"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 157 EditableText
"BulletsLabel"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 158 EditableText
"Time"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 159 EditableText
"TotalScore"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 161 EditableText
"TimeOfDay"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 163 EditableText
"QuitButton"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 166 Button
"BulletsLabel"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 167 EditableText
"AreYouSureLabel"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 168 EditableText
"YesButton"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 171 Button
"NoButton"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 174 Button
"Round"Symbol 176 MovieClip {Sniper.StatusBar} Frame 1Symbol 175 EditableText
"PlayerName"Symbol 217 MovieClip {Sniper.MainMenu} Frame 1Symbol 193 EditableText
"PlayButton"Symbol 217 MovieClip {Sniper.MainMenu} Frame 1Symbol 196 Button
"HighScoresButton"Symbol 217 MovieClip {Sniper.MainMenu} Frame 1Symbol 199 Button
"SurvivalButton"Symbol 217 MovieClip {Sniper.MainMenu} Frame 1Symbol 202 Button
"HelpButton"Symbol 217 MovieClip {Sniper.MainMenu} Frame 1Symbol 209 Button
"AGLogo"Symbol 217 MovieClip {Sniper.MainMenu} Frame 1Symbol 67 MovieClip
"PMGButton"Symbol 217 MovieClip {Sniper.MainMenu} Frame 1Symbol 212 Button
"ChangeKeysButton"Symbol 217 MovieClip {Sniper.MainMenu} Frame 1Symbol 216 Button
"Mask"Symbol 222 MovieClip {Sniper.Scope} Frame 1Symbol 221 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS3.
Protect (24)Timeline Frame 10 bytes ""
EnableDebugger2 (64)Timeline Frame 131 bytes "..$1$fz$rhp5puryblywMnsROR5aP.."




http://swfchan.com/12/58224/info.shtml
Created: 17/4 -2019 08:57:45 Last modified: 17/4 -2019 08:57:45 Server time: 11/05 -2024 07:07:29