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