Section 1
//AreaLightSprite (AreaLightSprite)
package {
import flash.display.*;
public dynamic class AreaLightSprite extends Sprite {
}
}//package
Section 2
//AreaShadowSprite (AreaShadowSprite)
package {
import flash.display.*;
public dynamic class AreaShadowSprite extends Sprite {
}
}//package
Section 3
//ArmorGamesLogoGhostBMD (ArmorGamesLogoGhostBMD)
package {
import flash.display.*;
public dynamic class ArmorGamesLogoGhostBMD extends BitmapData {
public function ArmorGamesLogoGhostBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 4
//ArmorGamesLogoOrangeBMD (ArmorGamesLogoOrangeBMD)
package {
import flash.display.*;
public dynamic class ArmorGamesLogoOrangeBMD extends BitmapData {
public function ArmorGamesLogoOrangeBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 5
//BooEcho1Sound (BooEcho1Sound)
package {
import flash.media.*;
public dynamic class BooEcho1Sound extends Sound {
}
}//package
Section 6
//Boss1WakeSprite (Boss1WakeSprite)
package {
import flash.display.*;
public dynamic class Boss1WakeSprite extends Sprite {
}
}//package
Section 7
//BossBanishedSound (BossBanishedSound)
package {
import flash.media.*;
public dynamic class BossBanishedSound extends Sound {
}
}//package
Section 8
//BossDammageAreaSprite (BossDammageAreaSprite)
package {
import flash.display.*;
public dynamic class BossDammageAreaSprite extends Sprite {
}
}//package
Section 9
//BossMusic (BossMusic)
package {
import flash.media.*;
public dynamic class BossMusic extends Sound {
}
}//package
Section 10
//CigSmokeBMD (CigSmokeBMD)
package {
import flash.display.*;
public dynamic class CigSmokeBMD extends BitmapData {
public function CigSmokeBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 11
//CloudsBMD (CloudsBMD)
package {
import flash.display.*;
public dynamic class CloudsBMD extends BitmapData {
public function CloudsBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 12
//DecoyEnemy (DecoyEnemy)
package {
import flash.display.*;
import flash.geom.*;
public class DecoyEnemy {
private var sourceBMD:BitmapData;
private var distanceTravelled:int;// = 0
private var timer:int;// = 0
private var displayArea:Rectangle;
public var angle:Number;
private var ySpeed:Number;
public var speed:int;
private var collisionArea:Rectangle;
private var hotSpot:Point;
private var lifeSpan:int;
private var xSpeed:Number;
public var x:int;
public var y:int;
private var range:int;
public function DecoyEnemy(_arg1:BitmapData, _arg2:Rectangle, _arg3:Point, _arg4:int, _arg5:int, _arg6:Number, _arg7:Number, _arg8:int, _arg9:int){
timer = 0;
distanceTravelled = 0;
super();
x = _arg4;
y = _arg5;
angle = _arg6;
speed = _arg7;
lifeSpan = _arg8;
range = _arg9;
displayArea = new Rectangle(0, 0, _arg1.width, _arg1.height);
collisionArea = _arg2;
hotSpot = _arg3;
sourceBMD = _arg1;
}
public function update(_arg1:Array, _arg2:int){
timer++;
distanceTravelled = (distanceTravelled + speed);
xSpeed = (speed * Math.cos(angle));
ySpeed = (speed * Math.sin(angle));
x = (x + xSpeed);
y = (y + ySpeed);
if ((((lifeSpan > 0)) && ((timer > lifeSpan)))){
_arg1.Remove(_arg1[_arg2]);
};
if ((((range > 0)) && ((distanceTravelled > range)))){
_arg1.Remove(_arg1[_arg2]);
};
}
public function render(_arg1:BitmapData){
_arg1.copyPixels(sourceBMD, displayArea, new Point(x, y));
}
}
}//package
Section 13
//DreamMusic (DreamMusic)
package {
import flash.media.*;
public dynamic class DreamMusic extends Sound {
}
}//package
Section 14
//EnemyShot (EnemyShot)
package {
import flash.display.*;
import flash.geom.*;
public class EnemyShot {
private var sourceBMD:BitmapData;
private var distanceTravelled:int;// = 0
private var timer:int;// = 0
public var width:uint;
private var stage:Stage;
private var xSpeed:Number;
public var angle:Number;
public var speed:int;
private var ySpeed:Number;
private var collisionArea:Rectangle;
public var height:uint;
private var hotSpot:Point;
private var lifeSpan:int;
private var displayArea:Rectangle;
public var x:Number;
public var y:Number;
private var range:int;
public function EnemyShot(_arg1, _arg2:BitmapData, _arg3:Rectangle, _arg4:Point, _arg5:int, _arg6:int, _arg7:Number, _arg8:Number, _arg9:int, _arg10:int){
timer = 0;
distanceTravelled = 0;
super();
x = _arg5;
y = _arg6;
angle = _arg7;
speed = _arg8;
lifeSpan = _arg9;
range = _arg10;
displayArea = new Rectangle(0, 0, _arg2.width, _arg2.height);
collisionArea = _arg3;
hotSpot = _arg4;
sourceBMD = _arg2;
width = _arg2.width;
height = _arg2.height;
stage = _arg1;
}
public function update(_arg1:Array, _arg2:int){
timer++;
distanceTravelled = (distanceTravelled + speed);
xSpeed = (speed * Math.cos(angle));
ySpeed = (speed * Math.sin(angle));
x = (x + xSpeed);
y = (y + ySpeed);
if ((((lifeSpan > 0)) && ((timer > lifeSpan)))){
_arg1.Remove(_arg1[_arg2]);
};
if ((((range > 0)) && ((distanceTravelled > range)))){
_arg1.Remove(_arg1[_arg2]);
};
if (x > stage.width){
_arg1.Remove(_arg1[_arg2]);
};
if (x < 0){
_arg1.Remove(_arg1[_arg2]);
};
if (y > stage.height){
_arg1.Remove(_arg1[_arg2]);
};
if (y < 0){
_arg1.Remove(_arg1[_arg2]);
};
}
public function render(_arg1:BitmapData){
_arg1.copyPixels(sourceBMD, displayArea, new Point((x - hotSpot.x), (y - hotSpot.y)));
}
}
}//package
Section 15
//Game (Game)
package {
import flash.display.*;
import flash.geom.*;
import flash.events.*;
import flash.media.*;
import flash.text.*;
import flash.utils.*;
import flash.ui.*;
import flash.net.*;
import flash.filters.*;
public class Game extends MovieClip {
var titleBMD:BitmapData;
var scrolling:Boolean;
var smallEnemyArray:ObjectList;
var debugText:TextField;
var bossAnimationArray:Array;
var music:Sound;
var areaShadowBMD:BitmapData;
var areaLightBMD:BitmapData;
var boss1WakeBMD:BitmapData;
var gameStarted:Boolean;
var playerScore:uint;// = 0
var smallEnemyDelayArray:Array;
var playerWeaponSpread:int;// = 1
public var ScreenRectangle:Rectangle;
var decoyEnemyArray:ObjectList;
var scrollingPropArray:ObjectList;
var menuOpen:Boolean;
var playerWeaponReload:int;// = 5
var debug:Boolean;// = false
var playerAnimationArray:Array;
var fadeValue:int;
var maxLevel:uint;// = 5
public var lastTime:uint;// = 0
var smallFireballBMD:BitmapData;
var levelPropBMDArray:Array;
var groundBMD:BitmapData;
var bossMovementArray:Array;
var smallEnemyAnimationArray:Array;
var skyBMD:BitmapData;
public var ScreenWidth:int;
var playerHealth:uint;// = 10
private var inTitleScreen:Boolean;// = true
var levelPropBMDArray2:Array;
var playerWeaponPower:int;// = 1
var magicSmokeBuffer:BitmapData;
var playerLives:int;
private var inGame:Boolean;// = false
var playerDeathSequenceTimer:int;
public var ScreenSize:Point;
public var ScreenHeight:int;
var enemyShotArray:ObjectList;
var playerWeaponRange:int;// = 7
var player:Player;
var playerDead:Boolean;// = false
var playerGlowAnimationArray:Array;
var currentMenuOption:int;
var bossDammageAreaBMD:BitmapData;
var format1:TextFormat;
var musicChannel:SoundChannel;
var fogMagicSmoke:MagicSmoke;
var levelClear:Boolean;
var levelDuration:int;// = 2000
var keyDownArray:Array;
var timer:uint;
var fadeChange:int;
public var lastTick:uint;// = 0
var spotShadowBMD:BitmapData;
var levelClearSequenceTimer:int;
var bossAttackArray:Array;
private var scoreTextField:TextField;
var levelScroll:uint;
var smallLinearShotBMD:SmallLinearShotBMD;
public var renderBuffer:BitmapData;
var missingGraphicBMD:MissingGraphicBMD;
var smallEnemyAttackArray:Array;
var currentLevel:uint;
var playerHealthMax:uint;// = 10
var playerReloadTimer:int;// = 0
var enemyTwister:MersenneTwister;
public var tick:uint;// = 0
var playerShotArray:ObjectList;
var bossSpeedArray:Array;
var instructionsTextField:TextField;
var smallEnemyMovementArray:Array;
var spotLightBMD:BitmapData;
var bossHealthArray:Array;
var magicSmokeToggle:Boolean;// = true
private var scoreTextFormat:TextFormat;
var gameOverSequenceTimer:int;
var gamePaused:Boolean;// = false
var musicToggle:Boolean;// = true
var soundsToggle:Boolean;// = true
public var fpsTimer:Timer;
var smallEnemyHealthArray:Array;
var gameOver:Boolean;
var bossDelayArray:Array;
var smallEnemySpeedArray:Array;
private var scoreSprite:Sprite;
var playerWeaponSpeed:int;// = 32
var instructionsFormat:TextFormat;
var playerShotBMD:PlayerShotBMD;
public function Game(){
lastTime = 0;
fpsTimer = new Timer(1000, 0);
tick = 0;
lastTick = 0;
debug = false;
debugText = new TextField();
format1 = new TextFormat();
instructionsTextField = new TextField();
instructionsFormat = new TextFormat();
playerShotBMD = new PlayerShotBMD(64, 64);
smallLinearShotBMD = new SmallLinearShotBMD(32, 32);
missingGraphicBMD = new MissingGraphicBMD(64, 64);
music = new Sound();
playerShotArray = new ObjectList();
enemyShotArray = new ObjectList();
decoyEnemyArray = new ObjectList();
smallEnemyArray = new ObjectList();
scrollingPropArray = new ObjectList();
maxLevel = 5;
levelDuration = 2000;
gamePaused = false;
playerWeaponSpeed = 32;
playerWeaponRange = 7;
playerWeaponSpread = 1;
playerWeaponPower = 1;
playerWeaponReload = 5;
playerReloadTimer = 0;
magicSmokeToggle = true;
musicToggle = true;
soundsToggle = true;
playerScore = 0;
playerHealth = 10;
playerHealthMax = 10;
playerDead = false;
inTitleScreen = true;
inGame = false;
enemyTwister = new MersenneTwister();
super();
stage.quality = "low";
ScreenWidth = 600;
ScreenHeight = 400;
ScreenRectangle = new Rectangle(0, 0, ScreenWidth, ScreenHeight);
ScreenSize = new Point(ScreenWidth, ScreenHeight);
renderBuffer = new BitmapData(stage.stageWidth, stage.stageHeight, false, 0);
stage.addChild(new Bitmap(renderBuffer));
stage.addEventListener(Event.ENTER_FRAME, EnterFrame);
fpsTimer.addEventListener(TimerEvent.TIMER, FpsUpdate);
fpsTimer.start();
lastTime = getTimer();
debugText.selectable = false;
debugText.text = "";
debugText.width = 600;
debugText.height = 200;
format1 = new TextFormat();
format1.color = 0xFFFF00;
format1.font = "Arial";
debugText.defaultTextFormat = format1;
stage.addChild(debugText);
instructionsTextField.selectable = false;
instructionsTextField.text = "";
instructionsTextField.width = 600;
instructionsTextField.height = 200;
instructionsTextField.y = 300;
instructionsFormat = new TextFormat();
instructionsFormat.color = 0xFFFFFF;
instructionsFormat.font = "Arial";
instructionsFormat.align = TextFormatAlign.CENTER;
instructionsTextField.defaultTextFormat = instructionsFormat;
stage.addChild(instructionsTextField);
scrolling = true;
levelScroll = 0;
scoreTextFormat = new TextFormat();
scoreTextFormat.color = 0xFFFFFF;
scoreTextFormat.font = "Arial";
scoreSprite = new Sprite();
scoreTextField = new TextField();
scoreTextField.selectable = false;
scoreTextField.text = "Score:";
scoreTextField.width = 600;
scoreTextField.height = 200;
scoreTextField.setTextFormat(scoreTextFormat);
scoreTextField.defaultTextFormat = scoreTextFormat;
scoreSprite.addChild(scoreTextField);
Key.initialize(stage);
keyDownArray = new Array();
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler);
stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler);
InitializeTitleScreen();
}
public function SpawnPlayer():void{
player = new Player(this, stage, playerAnimationArray, playerGlowAnimationArray, 3, new Rectangle(0, 0, 128, 64), new Rectangle(0, 0, 128, 64), new Point(64, 32), 0, 200, 15);
playerHealth = playerHealthMax;
}
public function playSound(_arg1:Class, _arg2:Number=1, _arg3:Number=0){
var _local4:SoundTransform;
var _local5:Sound;
var _local6:SoundChannel;
if (soundsToggle){
_local4 = new SoundTransform(_arg2, _arg3);
_local5 = new (_arg1);
_local6 = new SoundChannel();
_local6 = _local5.play();
_local6.soundTransform = _local4;
};
}
public function clearEnemyShots():void{
enemyShotArray = new ObjectList();
}
private function keyUpHandler(_arg1:KeyboardEvent):void{
var _local2:*;
if (!Key.isDown(_arg1.keyCode)){
_local2 = 0;
while (_local2 < keyDownArray.length) {
if (keyDownArray[_local2] == _arg1.keyCode){
keyDownArray.splice(_local2, 1);
};
_local2++;
};
};
}
private function keyDownHandler(_arg1:KeyboardEvent):void{
var _local2:Boolean;
var _local3:*;
_local2 = false;
_local3 = 0;
while (_local3 < keyDownArray.length) {
if (keyDownArray[_local3] == _arg1.keyCode){
_local2 = true;
};
_local3++;
};
if (!_local2){
keyDownArray.push(_arg1.keyCode);
if (_arg1.keyCode == 192){
if (debug){
debug = false;
} else {
debug = true;
};
};
if (_arg1.keyCode == Keyboard.UP){
if (((((inTitleScreen) && ((timer > 100)))) && (menuOpen))){
currentMenuOption--;
};
};
if (_arg1.keyCode == Keyboard.DOWN){
if (((((inTitleScreen) && ((timer > 100)))) && (menuOpen))){
currentMenuOption++;
};
};
if (currentMenuOption < 0){
currentMenuOption = 4;
};
if (currentMenuOption > 4){
currentMenuOption = 0;
};
if (_arg1.keyCode == 90){
if (((inTitleScreen) && ((timer > 100)))){
if (menuOpen){
switch (currentMenuOption){
case 0:
navigateToURL(new URLRequest("http://www.armorgames.com"));
break;
case 1:
if (musicToggle){
musicToggle = false;
stopMusic();
} else {
musicToggle = true;
playMusic(TitleMusic);
};
break;
case 2:
if (soundsToggle){
soundsToggle = false;
} else {
soundsToggle = true;
};
break;
case 3:
if (magicSmokeToggle){
magicSmokeToggle = false;
} else {
magicSmokeToggle = true;
};
break;
case 4:
currentLevel = 1;
playerLives = 5;
InitializeLevel(currentLevel);
break;
default:
trace("Pressed Z with invalid menu option");
};
} else {
menuOpen = true;
};
};
};
if (_arg1.keyCode == 32){
if (inGame){
if (gamePaused){
musicChannel.soundTransform = new SoundTransform(1);
gamePaused = false;
} else {
musicChannel.soundTransform = new SoundTransform(0.25);
renderBuffer.copyPixels(new BitmapData(600, 400, true, 2566914048), new Rectangle(0, 0, 600, 400), new Point(0, 0));
gamePaused = true;
};
};
};
};
}
public function Rasterize(_arg1:Sprite):BitmapData{
var _local2:BitmapData;
_local2 = new BitmapData(_arg1.width, _arg1.height, true, 0);
_local2.draw(_arg1);
return (_local2);
}
public function FpsUpdate(_arg1:TimerEvent):void{
lastTick = tick;
tick = 0;
}
public function Update():void{
var _local1:uint;
var _local2:uint;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:int;
var _local8:int;
var _local9:int;
var _local10:int;
var _local11:int;
var _local12:Number;
var _local13:uint;
var _local14:uint;
var _local15:Number;
var _local16:int;
var _local17:Number;
_local1 = getTimer();
_local2 = (_local1 - lastTime);
lastTime = _local1;
if (scrolling){
levelScroll++;
if ((levelScroll % 150) == 0){
_local8 = Math.floor((enemyTwister.percentMT() * levelPropBMDArray.length));
_local9 = (600 + (enemyTwister.percentMT() * 100));
_local10 = ((ScreenHeight - levelPropBMDArray[_local8].height) - (enemyTwister.percentMT() * 32));
scrollingPropArray.push(new ScrollingProp(levelPropBMDArray[_local8], _local9, _local10));
};
if ((levelScroll % 75) == 0){
_local8 = Math.floor((enemyTwister.percentMT() * levelPropBMDArray2.length));
scrollingPropArray.push(new ScrollingProp(levelPropBMDArray2[_local8], (600 + (enemyTwister.percentMT() * 100)), ((ScreenHeight - (levelPropBMDArray2[_local8].height * 3)) - (enemyTwister.percentMT() * 32))));
};
if (((((((levelScroll % 5) == 0)) && ((levelScroll == 5)))) && ((currentLevel == 1)))){
playSound(GhostArmySound);
};
if (((((((levelScroll % 5) == 0)) && ((levelScroll < 100)))) && ((currentLevel == 1)))){
decoyEnemyArray.push(new DecoyEnemy(areaLightBMD, new Rectangle(4, 4, 24, 24), new Point(16, 16), (Math.random() * 600), 400, ((-90 * Math.PI) / 180), 8, -1, 400));
};
if (((((((levelScroll % 25) == 0)) && ((currentLevel == 1)))) && ((levelScroll > 100)))){
_local11 = ((enemyTwister.percentMT() * 336) + 32);
_local12 = (enemyTwister.percentMT() * 2);
_local13 = Math.round(_local12);
trace(_local13);
smallEnemyArray.push(new SmallEnemy(this, stage, currentLevel, smallEnemyAnimationArray[_local13], smallEnemyDelayArray[_local13], 600, _local11, Math.PI, smallEnemySpeedArray[_local13], -1, -1, null, null, smallEnemyHealthArray[_local13], false, null, smallEnemyMovementArray[_local13], smallEnemyAttackArray[_local13]));
};
if (((((((levelScroll % 25) == 0)) && ((currentLevel > 1)))) && ((levelScroll < (levelDuration / 4))))){
_local11 = ((enemyTwister.percentMT() * 336) + 32);
_local13 = (currentLevel + 1);
_local13 = (_local13 % smallEnemyAnimationArray.length);
trace(_local13);
smallEnemyArray.push(new SmallEnemy(this, stage, currentLevel, smallEnemyAnimationArray[_local13], smallEnemyDelayArray[_local13], 600, _local11, Math.PI, smallEnemySpeedArray[_local13], -1, -1, null, null, smallEnemyHealthArray[_local13], false, null, smallEnemyMovementArray[_local13], smallEnemyAttackArray[_local13]));
};
if (((((((((levelScroll % 25) == 0)) && ((currentLevel > 1)))) && ((levelScroll > (levelDuration / 4))))) && ((levelScroll < levelDuration)))){
_local11 = ((enemyTwister.percentMT() * 336) + 32);
_local14 = (currentLevel + 1);
_local15 = (enemyTwister.percentMT() * _local14);
_local15 = (_local15 % smallEnemyAnimationArray.length);
_local13 = Math.round(_local15);
trace(_local13);
smallEnemyArray.push(new SmallEnemy(this, stage, currentLevel, smallEnemyAnimationArray[_local13], smallEnemyDelayArray[_local13], 600, _local11, Math.PI, smallEnemySpeedArray[_local13], -1, -1, null, null, smallEnemyHealthArray[_local13], false, null, smallEnemyMovementArray[_local13], smallEnemyAttackArray[_local13]));
};
if (((((levelScroll % 24) == 0)) && ((levelScroll > levelDuration)))){
smallEnemyArray.push(new SmallEnemy(this, stage, currentLevel, bossAnimationArray, 5, 728, 200, ((45 * Math.PI) / 180), 1.5, -1, -1, new Rectangle(76, 0, 0x0100, 0x0100), new Point(128, 128), 0, true, new Rectangle(350, 128, 472, 272), bossMovementArray[(currentLevel % bossMovementArray.length)], bossAttackArray[(currentLevel % bossAttackArray.length)]));
scrolling = false;
playMusic(BossMusic);
};
_local7 = 0;
while (_local7 < scrollingPropArray.length) {
scrollingPropArray[_local7].update(scrollingPropArray, _local7, -1, 0);
_local7++;
};
};
_local3 = 0;
while (_local3 < enemyShotArray.length) {
enemyShotArray[_local3].update(enemyShotArray, _local3);
if (player != null){
if (!player.invincible){
if (getDistance(enemyShotArray[_local3].x, enemyShotArray[_local3].y, player.x, player.y) < enemyShotArray[_local3].width){
playerHealth--;
if (playerHealth <= 0){
playerLives--;
playerDead = true;
playerDeathSequenceTimer = 1;
};
enemyShotArray.Remove(enemyShotArray[_local3]);
};
};
};
_local3++;
};
_local4 = 0;
while (_local4 < decoyEnemyArray.length) {
decoyEnemyArray[_local4].update(decoyEnemyArray, _local4);
_local4++;
};
_local5 = 0;
while (_local5 < smallEnemyArray.length) {
smallEnemyArray[_local5].update(smallEnemyArray, _local5);
if (player != null){
if (!player.invincible){
if (getDistance(smallEnemyArray[_local5].x, smallEnemyArray[_local5].y, player.x, player.y) < (smallEnemyArray[_local5].width * 0.5)){
playerHealth--;
if (playerHealth <= 0){
playerLives--;
playerDead = true;
playerDeathSequenceTimer = 1;
};
if (!smallEnemyArray[_local5].isBoss){
decoyEnemyArray.push(new DecoyEnemy(areaLightBMD, new Rectangle(4, 4, 24, 24), new Point(16, 16), smallEnemyArray[_local5].x, smallEnemyArray[_local5].y, ((-90 * Math.PI) / 180), 8, -1, 400));
smallEnemyArray.Remove(smallEnemyArray[_local5]);
};
};
};
};
_local5++;
};
playerReloadTimer--;
_local6 = 0;
while (_local6 < playerShotArray.length) {
playerShotArray[_local6].update(playerShotArray, _local6);
_local16 = 0;
while (_local16 < smallEnemyArray.length) {
if ((((((((playerShotArray[_local6].x > smallEnemyArray[_local16].leftEdge)) && ((playerShotArray[_local6].x < smallEnemyArray[_local16].rightEdge)))) && ((playerShotArray[_local6].y > smallEnemyArray[_local16].topEdge)))) && ((playerShotArray[_local6].y < smallEnemyArray[_local16].bottomEdge)))){
if (smallEnemyArray[_local16].dammage(playerShotArray[_local6].power) <= 0){
if (smallEnemyArray[_local16].isBoss){
player.controlable = false;
player.maxSpeed = (player.maxSpeed * 0.5);
player.autoTarget = new Point((stage.width * 0.5), (ScreenHeight * 0.5));
clearEnemyShots();
clearEnemies();
levelClear = true;
levelClearSequenceTimer = 1;
playSound(BossBanishedSound);
stopMusic();
};
if (!smallEnemyArray[_local16].isBoss){
_local17 = (300 - smallEnemyArray[_local16].x);
_local17 = (_local17 / 300);
_local17 = (_local17 * -1);
playSound(BooEcho1Sound, 0.75, _local17);
};
playerScore = (playerScore + smallEnemyArray[_local16].scoreBounty);
smallEnemyArray.Remove(smallEnemyArray[_local16]);
};
playerShotArray.Remove(playerShotArray[_local6]);
break;
};
_local16++;
};
_local6++;
};
if (player != null){
player.update();
};
playerShotArray.CleanUp();
enemyShotArray.CleanUp();
decoyEnemyArray.CleanUp();
smallEnemyArray.CleanUp();
scrollingPropArray.CleanUp();
if (levelClear){
if (levelClearSequenceTimer > 0){
levelClearSequenceTimer++;
if (levelClearSequenceTimer == 25){
player.maxSpeed = (player.maxSpeed * 5);
player.autoTarget = new Point((stage.width * 2), (ScreenHeight * 0.5));
};
if (levelClearSequenceTimer == 75){
fadeValue = 16;
fadeChange = 16;
};
if (fadeValue >= 0xFF){
EndLevel();
currentLevel++;
if ((currentLevel % maxLevel) == 0){
InitializeTitleScreen();
} else {
InitializeLevel(currentLevel);
};
};
};
};
if (playerDead){
if (player != null){
playSound(WitchScreamSound);
fogMagicSmoke.copyPixelsParticle(new WitchGhostBMD(128, 64), (player.x - 64), (player.y - 32));
player = null;
};
playerDeathSequenceTimer++;
if (playerDeathSequenceTimer >= 30){
if ((((playerLives < 0)) && (!(gameOver)))){
playSound(GameOverSound);
player = null;
gameOver = true;
gameOverSequenceTimer = 1;
stopMusic();
} else {
if (!gameOver){
playerDead = false;
SpawnPlayer();
};
};
};
};
if (gameOver){
if (gameOverSequenceTimer > 0){
gameOverSequenceTimer++;
if (gameOverSequenceTimer == 75){
fadeValue = 16;
fadeChange = 16;
};
if (fadeValue >= 0xFF){
EndLevel();
InitializeTitleScreen();
};
};
};
}
public function InitializeTitleScreen():void{
var _local1:TitleFogSprite;
var _local2:StarrySkyBMD;
var _local3:SmokeBMD;
currentMenuOption = 4;
menuOpen = false;
gameStarted = false;
_local1 = new TitleFogSprite();
if (magicSmokeToggle){
_local3 = new SmokeBMD(300, 200);
magicSmokeBuffer = new BitmapData(600, 400, true, 0);
fogMagicSmoke = new MagicSmoke(ScreenSize, _local3, new ColorTransform(1, 1, 1, 1, 64, 64, 64, 0), new ColorTransform(0.95, 0.95, 0.95, 1, 0, 0, 0, 0), 1, -1, "difference", "multiply", "lighten", 0);
fogMagicSmoke.ghostParticleLayerBMD = new BitmapData(600, 800, true, 4278190080);
};
inGame = false;
inTitleScreen = true;
_local2 = new StarrySkyBMD(600, 300);
titleBMD = new TitleBMD(320, 192);
skyBMD = new BitmapData(600, 400, false, 0);
skyBMD.copyPixels(_local2, ScreenRectangle, new Point(0, 0));
skyBMD.copyPixels(_local2, ScreenRectangle, new Point(0, 300));
playMusic(TitleMusic);
}
public function clearEnemies():void{
smallEnemyArray = new ObjectList();
}
public function spawnEnemyShotWave(_arg1:Object, _arg2:int=1, _arg3:int=1){
var _local4:*;
var _local5:Number;
var _local6:Number;
var _local7:Number;
var _local8:Number;
if (_arg3 == 3){
_arg2 = 1;
};
_local4 = 0;
while (_local4 < _arg2) {
switch (_arg3){
case 1:
enemyShotArray.push(new EnemyShot(stage, smallLinearShotBMD, new Rectangle(4, 4, 24, 24), new Point(16, 16), _arg1.x, _arg1.y, Math.PI, ((currentLevel + 1) + _local4), -1, 700));
break;
case 2:
_local5 = 0;
_local6 = (-10 * _arg2);
_local7 = (20 * _local4);
_local5 = (((_local6 + _local7) + 10) + 180);
enemyShotArray.push(new EnemyShot(stage, smallFireballBMD, new Rectangle(4, 4, 24, 24), new Point(16, 16), _arg1.x, _arg1.y, ((_local5 * Math.PI) / 180), (currentLevel + 3), -1, 700));
break;
case 3:
if (player == null){
_local8 = 0;
} else {
_local8 = pointLookAtPoint(_arg1.x, _arg1.y, player.x, player.y);
};
enemyShotArray.push(new EnemyShot(stage, smallFireballBMD, new Rectangle(4, 4, 24, 24), new Point(16, 16), _arg1.x, _arg1.y, _local8, (currentLevel + 3), -1, 700));
break;
case 4:
enemyShotArray.push(new EnemyShot(stage, smallFireballBMD, new Rectangle(4, 4, 24, 24), new Point(16, 16), _arg1.x, _arg1.y, (((Math.random() * 360) * Math.PI) / 180), ((Math.random() * currentLevel) + 3), -1, 600));
break;
default:
trace(("unknown Shot type: " + _arg3));
};
_local4++;
};
}
public function playMusic(_arg1:Class){
if (musicToggle){
stopMusic();
music = new (_arg1);
musicChannel = music.play(0, 9999);
};
}
public function stopMusic(){
if (musicChannel != null){
musicChannel.stop();
};
}
public function getDistance(_arg1, _arg2, _arg3, _arg4):Number{
var _local5:Number;
var _local6:Number;
_local5 = (_arg3 - _arg1);
_local6 = (_arg4 - _arg2);
return (Math.sqrt(((_local5 * _local5) + (_local6 * _local6))));
}
public function EndLevel(){
playerShotArray = new ObjectList();
enemyShotArray = new ObjectList();
decoyEnemyArray = new ObjectList();
smallEnemyArray = new ObjectList();
scrollingPropArray = new ObjectList();
}
public function EnterFrame(_arg1:Event):void{
var _local2:int;
var _local3:Number;
var _local4:BitmapData;
var _local5:ColorTransform;
var _local6:Matrix;
var _local7:Rectangle;
var _local8:Point;
var _local9:Point;
var _local10:Point;
var _local11:Point;
var _local12:Point;
var _local13:Number;
var _local14:TitleFogSprite;
var _local15:uint;
var _local16:uint;
var _local17:uint;
var _local18:uint;
if (debug){
debugText.text = ((("FPS: " + lastTick) + " / ") + stage.frameRate);
debugText.appendText(("\n Current Frame: " + timer));
debugText.appendText(("\n Virtual seconds elapsed: " + (timer / stage.frameRate)));
debugText.appendText(("\n Enemy Shots: " + enemyShotArray.length));
debugText.appendText(("\n Player Shots: " + playerShotArray.length));
_local2 = (decoyEnemyArray.length + smallEnemyArray.length);
debugText.appendText(("\n Ghosts: " + _local2));
debugText.appendText(("\n Player Shot collisions checked: " + (_local2 * playerShotArray.length)));
debugText.autoSize = "left";
renderBuffer.copyPixels(new BitmapData(debugText.width, debugText.height, true, 1711276032), new Rectangle(0, 0, debugText.width, debugText.height), new Point(0, 0));
} else {
debugText.text = "";
};
if (inTitleScreen){
timer++;
renderBuffer.copyPixels(skyBMD, new Rectangle(0, 0, 600, 400), new Point(0, 0));
if (timer < 25){
_local3 = (1 - (timer / 25));
_local4 = new BitmapData(600, 800, true, 4278190080);
renderBuffer.copyPixels(_local4, new Rectangle(0, 0, 600, 400), new Point(0, 0));
_local5 = new ColorTransform(0, 0, 0, _local3, 0, 0, 0, 0);
renderBuffer.copyPixels(new ArmorGamesLogoOrangeBMD(249, 153), new Rectangle(0, 0, 249, 153), new Point(181, 115));
renderBuffer.draw(_local4, null, _local5);
};
if ((((timer >= 25)) && ((timer < 50)))){
_local4 = new BitmapData(600, 800, true, 4278190080);
_local3 = (1 - ((timer - 25) / 25));
_local5 = new ColorTransform(1, 1, 1, _local3, 0, 0, 0, 0);
_local6 = new Matrix(1, 0, 0, 1, 181, 115);
renderBuffer.draw(_local4, null, _local5);
renderBuffer.copyPixels(new ArmorGamesLogoGhostBMD(249, 153), new Rectangle(0, 0, 249, 153), new Point(181, 115));
renderBuffer.draw(new ArmorGamesLogoOrangeBMD(249, 153), _local6, _local5);
};
if ((((timer >= 50)) && ((timer < 75)))){
renderBuffer.copyPixels(new ArmorGamesLogoGhostBMD(249, 153), new Rectangle(0, 0, 249, 153), new Point(181, 115));
};
if ((((timer >= 75)) && ((timer < 100)))){
_local3 = (2 - ((timer - 50) / 25));
_local5 = new ColorTransform(1, 1, 1, _local3, 0, 0, 0, 0);
_local6 = new Matrix(1, 0, 0, 1, 181, 115);
renderBuffer.draw(new ArmorGamesLogoGhostBMD(249, 153), _local6, _local5);
};
if (timer >= 100){
if (magicSmokeToggle){
_local14 = new TitleFogSprite();
fogMagicSmoke.ghostParticleLayerBMD = Rasterize(_local14);
fogMagicSmoke.update(renderBuffer);
};
renderBuffer.copyPixels(titleBMD, new Rectangle(0, 0, titleBMD.width, titleBMD.height), new Point((300 - (titleBMD.width / 2)), (200 - (titleBMD.height / 2))));
_local7 = new Rectangle(0, 0, 150, 12);
_local8 = new Point(225, 280);
_local9 = new Point(225, 294);
_local10 = new Point(225, 308);
_local11 = new Point(225, 322);
_local12 = new Point(225, 352);
_local13 = Math.abs((15 - (timer % 31)));
if (menuOpen){
_local15 = ((((_local13 * 0x0100) * 0x0100) * 0x0100) * 16);
_local16 = ((0x0100 * 0x0100) * 0xFF);
_local17 = (0x0100 * 128);
_local18 = (((_local15 + _local16) + _local17) + 0);
instructionsTextField.textColor = 0xFFFFFF;
instructionsTextField.y = 270;
instructionsTextField.text = "";
renderBuffer.copyPixels(new MenuBackgroundBMD(300, 135), new Rectangle(0, 0, 300, 135), new Point(150, 250));
switch (currentMenuOption){
case 0:
renderBuffer.copyPixels(new BitmapData(300, 150, true, _local18), _local7, _local8);
break;
case 1:
renderBuffer.copyPixels(new BitmapData(300, 150, true, _local18), _local7, _local9);
break;
case 2:
renderBuffer.copyPixels(new BitmapData(300, 150, true, _local18), _local7, _local10);
break;
case 3:
renderBuffer.copyPixels(new BitmapData(300, 150, true, _local18), _local7, _local11);
break;
case 4:
renderBuffer.copyPixels(new BitmapData(300, 150, true, _local18), _local7, _local12);
break;
default:
trace("Invalid menu selection");
};
renderBuffer.copyPixels(new MoreGamesBMD(150, 12), _local7, _local8);
renderBuffer.copyPixels(new ToggleMusicBMD(150, 12), _local7, _local9);
renderBuffer.copyPixels(new ToggleSoundsBMD(150, 12), _local7, _local10);
renderBuffer.copyPixels(new ToggleSmokeBMD(150, 12), _local7, _local11);
renderBuffer.copyPixels(new StartGameBMD(150, 12), _local7, _local12);
} else {
instructionsTextField.textColor = (((((_local13 * 0x0100) * 0x0100) * 16) + ((_local13 * 0x0100) * 16)) + (_local13 * 16));
instructionsTextField.text = "Press Z key to begin";
};
};
};
if (inGame){
if (!gamePaused){
timer++;
instructionsTextField.text = "";
Update();
Render();
};
};
tick++;
}
public function InitializeLevel(_arg1):void{
var _local2:StarrySkyBMD;
var _local3:GrassyHillsBMD;
var _local4:PlayerShotBMD;
var _local5:MoonBMD;
var _local6:SmokeBMD;
var _local7:Swirl2BMD;
var _local8:CloudsBMD;
var _local9:SlimeBMD;
var _local10:CigSmokeBMD;
var _local11:GhostSwirlBMD;
var _local12:House1BMD;
var _local13:House2BMD;
var _local14:House3BMD;
var _local15:House4BMD;
var _local16:House5BMD;
var _local17:Ghost1BMD;
var _local18:Ghost2BMD;
var _local19:Ghost3BMD;
var _local20:SkeletonIdle1BMD;
var _local21:SkeletonIdle2BMD;
var _local22:SkeletonIdle3BMD;
var _local23:SkeletonSpit1BMD;
var _local24:SkeletonSpit2BMD;
var _local25:SkeletonSpell1BMD;
var _local26:SkeletonSpell2BMD;
var _local27:Skull1BMD;
var _local28:Skull2BMD;
var _local29:Skull3BMD;
var _local30:LostSoul1BMD;
var _local31:SpotLightSprite;
var _local32:SpotShadowSprite;
var _local33:AreaLightSprite;
var _local34:AreaShadowSprite;
var _local35:SmallFireballSprite;
var _local36:Matrix;
var _local37:Matrix;
var _local38:Matrix;
var _local39:ColorMatrixFilter;
var _local40:ColorMatrixFilter;
var _local41:ColorMatrixFilter;
var _local42:ColorMatrixFilter;
var _local43:ColorMatrixFilter;
var _local44:ColorMatrixFilter;
var _local45:*;
var _local46:BitmapData;
var _local47:BitmapData;
var _local48:BitmapData;
var _local49:*;
var _local50:BitmapData;
var _local51:BitmapData;
var _local52:BitmapData;
var _local53:*;
var _local54:BitmapData;
var _local55:*;
var _local56:BitmapData;
var _local57:BitmapData;
var _local58:BitmapData;
var _local59:*;
var _local60:BitmapData;
var _local61:*;
var _local62:BitmapData;
var _local63:BitmapData;
var _local64:BitmapData;
var _local65:*;
var _local66:BitmapData;
var _local67:BitmapData;
var _local68:BitmapData;
var _local69:BitmapData;
var _local70:BitmapData;
var _local71:BitmapData;
var _local72:BitmapData;
var _local73:*;
var _local74:*;
var _local75:*;
var _local76:Witch3Frame1BMD;
var _local77:Witch3Frame2BMD;
var _local78:GlowFilter;
var _local79:Matrix;
var _local80:ColorTransform;
var _local81:BitmapData;
var _local82:BitmapData;
var _local83:BitmapData;
var _local84:BitmapData;
var _local85:Matrix;
var _local86:*;
enemyTwister = new MersenneTwister();
enemyTwister.seedMT((_arg1 + 111));
_local2 = new StarrySkyBMD(600, 300);
_local3 = new GrassyHillsBMD(600, 128);
_local4 = new PlayerShotBMD(64, 64);
_local5 = new MoonBMD(128, 128);
_local6 = new SmokeBMD(300, 200);
_local7 = new Swirl2BMD(300, 200);
_local8 = new CloudsBMD(300, 200);
_local9 = new SlimeBMD(300, 200);
_local10 = new CigSmokeBMD(300, 200);
_local11 = new GhostSwirlBMD(300, 200);
_local10 = new CigSmokeBMD(300, 200);
_local11 = new GhostSwirlBMD(300, 200);
_local12 = new House1BMD(64, 72);
_local13 = new House2BMD(64, 72);
_local14 = new House3BMD(64, 72);
_local15 = new House4BMD(64, 72);
_local16 = new House5BMD(64, 72);
_local17 = new Ghost1BMD(0x0100, 0x0100);
_local18 = new Ghost2BMD(0x0100, 0x0100);
_local19 = new Ghost3BMD(0x0100, 0x0100);
_local20 = new SkeletonIdle1BMD(0x0100, 0x0100);
_local21 = new SkeletonIdle2BMD(0x0100, 0x0100);
_local22 = new SkeletonIdle3BMD(0x0100, 0x0100);
_local23 = new SkeletonSpit1BMD(0x0100, 0x0100);
_local24 = new SkeletonSpit2BMD(0x0100, 0x0100);
_local25 = new SkeletonSpell1BMD(0x0100, 0x0100);
_local26 = new SkeletonSpell2BMD(0x0100, 0x0100);
_local27 = new Skull1BMD(0x0100, 0x0100);
_local28 = new Skull2BMD(0x0100, 0x0100);
_local29 = new Skull3BMD(0x0100, 0x0100);
_local30 = new LostSoul1BMD(0x0100, 0x0100);
_local31 = new SpotLightSprite();
_local32 = new SpotShadowSprite();
_local33 = new AreaLightSprite();
_local34 = new AreaShadowSprite();
_local35 = new SmallFireballSprite();
spotLightBMD = Rasterize(_local31);
spotShadowBMD = Rasterize(_local32);
areaLightBMD = Rasterize(_local33);
areaShadowBMD = Rasterize(_local34);
boss1WakeBMD = Rasterize(new Boss1WakeSprite());
bossDammageAreaBMD = Rasterize(new BossDammageAreaSprite());
smallFireballBMD = Rasterize(_local35);
_local36 = new Matrix();
_local36.scale(0.125, 0.125);
_local37 = new Matrix();
_local37.scale(0.25, 0.25);
_local38 = new Matrix();
_local38.scale(0.5, 0.5);
smallEnemyDelayArray = [5, 5, 5, 5, 5, 5, 5, 5, 5, 5];
smallEnemySpeedArray = [3, 3, 7, 2, 3, 8, 9, 10, 11, 12];
smallEnemyHealthArray = [5, 5, 3, 7, 5, 5, 5, 5, 5, 5];
smallEnemyMovementArray = [0, 1, 0, 0, 1, 4, 0, 0, 0, 0];
smallEnemyAttackArray = [0, 0, 0, 2, 1, 3, 0, 0, 0, 0];
smallEnemyAnimationArray = new Array();
bossDelayArray = [5, 5, 5, 5, 5, 5, 5, 5, 5, 5];
bossSpeedArray = [3, 4, 5, 6, 7, 8, 9, 10, 11, 12];
bossHealthArray = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
bossMovementArray = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
bossAttackArray = [[1, 2], [0], [0], [0], [0], [0], [0], [0], [0], [0]];
bossAnimationArray = new Array();
_local39 = new ColorMatrixFilter(new Array(0.264397472143173, 0.561962068080902, 0.173640415072441, 0, 74.9999923706055, 0.316821455955505, 0.628798305988312, 0.0543802045285702, 0, 74.9999923706055, 0.22523432970047, 0.702789485454559, 0.07197605073452, 0, 74.9999847412109, 0, 0, 0, 0.9, 0));
_local40 = new ColorMatrixFilter(new Array(-0.102924875915051, 2.45701885223389, -1.35409390926361, 0, -49.9999961853027, 0.0720274969935417, 0.361373662948608, 0.566598832607269, 0, -50, 1.54704344272614, 0.188983634114265, -0.73602694272995, 0, -50.0000114440918, 0, 0, 0, 1, 0));
_local41 = new ColorMatrixFilter(new Array(0.220339983701706, 0.691459894180298, 0.0881999954581261, 0, -49.9999923706055, 0.320339947938919, 0.591459929943085, 0.0881999880075455, 0, -49.9999923706055, 0.320340007543564, 0.691460013389587, -0.0117999836802483, 0, -50, 0, 0, 0, 1, 0));
_local42 = new ColorMatrixFilter(new Array(1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0));
_local43 = new ColorMatrixFilter(new Array(1.44625961780548, 7.8825569152832, -7.32881689071655, 0, -13.4999980926514, -1.26168692111969, 0.903979420661926, 2.35770773887634, 0, -13.5000009536743, 6.17717981338501, -3.55570006370544, -0.621479392051697, 0, -13.4999990463257, 0, 0, 0, 1, 0));
_local44 = new ColorMatrixFilter(new Array(-1.23594999313354, 2.04544973373413, 0.190500125288963, 0, -49.9999923706055, 0.5140500664711, 0.29544997215271, 0.190499946475029, 0, -49.9999961853027, 0.514049887657166, 2.04544997215271, -1.55949997901917, 0, -50.0000038146973, 0, 0, 0, 1, 0));
_local45 = new Array(missingGraphicBMD);
_local46 = new BitmapData(64, 64, true, 0);
_local46.draw(_local17, _local37);
_local46.applyFilter(_local46, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local39);
_local47 = new BitmapData(64, 64, true, 0);
_local47.draw(_local18, _local37);
_local47.applyFilter(_local47, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local39);
_local48 = new BitmapData(64, 64, true, 0);
_local48.draw(_local19, _local37);
_local48.applyFilter(_local48, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local39);
_local49 = new Array(_local46, _local47, _local48, _local47);
_local50 = new BitmapData(64, 64, true, 0);
_local50.draw(_local27, _local37);
_local50.applyFilter(_local50, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local39);
_local51 = new BitmapData(64, 64, true, 0);
_local51.draw(_local28, _local37);
_local51.applyFilter(_local51, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local39);
_local52 = new BitmapData(64, 64, true, 0);
_local52.draw(_local29, _local37);
_local52.applyFilter(_local52, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local39);
_local53 = new Array(_local51);
_local54 = new BitmapData(64, 64, true, 0);
_local54.draw(_local30, _local37);
_local54.applyFilter(_local54, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local39);
_local55 = new Array(_local54);
_local56 = new BitmapData(128, 128, true, 0);
_local56.draw(_local17, _local38);
_local56.applyFilter(_local56, new Rectangle(0, 0, 128, 128), new Point(0, 0), _local39);
_local57 = new BitmapData(128, 128, true, 0);
_local57.draw(_local18, _local38);
_local57.applyFilter(_local57, new Rectangle(0, 0, 128, 128), new Point(0, 0), _local39);
_local58 = new BitmapData(128, 128, true, 0);
_local58.draw(_local19, _local38);
_local58.applyFilter(_local58, new Rectangle(0, 0, 128, 128), new Point(0, 0), _local39);
_local59 = new Array(_local56, _local57, _local58, _local57);
_local60 = new BitmapData(64, 64, true, 0);
_local60.draw(_local30, _local37);
_local60.applyFilter(_local60, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local42);
_local61 = new Array(_local60);
_local62 = new BitmapData(64, 64, true, 0);
_local62.draw(_local17, _local37);
_local62.applyFilter(_local62, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local40);
_local63 = new BitmapData(64, 64, true, 0);
_local63.draw(_local18, _local37);
_local63.applyFilter(_local63, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local40);
_local64 = new BitmapData(64, 64, true, 0);
_local64.draw(_local19, _local37);
_local64.applyFilter(_local64, new Rectangle(0, 0, 64, 64), new Point(0, 0), _local40);
_local65 = new Array(_local62, _local63, _local64, _local63);
smallEnemyAnimationArray.push(new Array(_local49));
smallEnemyAnimationArray.push(new Array(_local53));
smallEnemyAnimationArray.push(new Array(_local55));
smallEnemyAnimationArray.push(new Array(_local59));
smallEnemyAnimationArray.push(new Array(_local61));
smallEnemyAnimationArray.push(new Array(_local65));
smallEnemyAnimationArray.push(new Array(_local45));
smallEnemyAnimationArray.push(new Array(_local45));
smallEnemyAnimationArray.push(new Array(_local45));
smallEnemyAnimationArray.push(new Array(_local45));
_local66 = new BitmapData(0x0100, 0x0100, true, 0);
_local67 = new BitmapData(0x0100, 0x0100, true, 0);
_local68 = new BitmapData(0x0100, 0x0100, true, 0);
_local66.applyFilter(_local20, new Rectangle(0, 0, 0x0100, 0x0100), new Point(0, 0), _local39);
_local67.applyFilter(_local21, new Rectangle(0, 0, 0x0100, 0x0100), new Point(0, 0), _local39);
_local68.applyFilter(_local22, new Rectangle(0, 0, 0x0100, 0x0100), new Point(0, 0), _local39);
_local69 = new BitmapData(0x0100, 0x0100, true, 0);
_local70 = new BitmapData(0x0100, 0x0100, true, 0);
_local69.applyFilter(_local23, new Rectangle(0, 0, 0x0100, 0x0100), new Point(0, 0), _local39);
_local70.applyFilter(_local24, new Rectangle(0, 0, 0x0100, 0x0100), new Point(0, 0), _local39);
_local71 = new BitmapData(0x0100, 0x0100, true, 0);
_local72 = new BitmapData(0x0100, 0x0100, true, 0);
_local71.applyFilter(_local25, new Rectangle(0, 0, 0x0100, 0x0100), new Point(0, 0), _local39);
_local72.applyFilter(_local26, new Rectangle(0, 0, 0x0100, 0x0100), new Point(0, 0), _local39);
_local73 = new Array(_local66, _local67, _local68, _local67);
_local74 = new Array(_local69, _local70);
_local75 = new Array(_local71, _local72);
bossAnimationArray = new Array(_local73, _local74, _local75);
_local76 = new Witch3Frame1BMD(128, 64);
_local77 = new Witch3Frame2BMD(128, 64);
playerAnimationArray = new Array(_local76, _local77);
_local78 = new GlowFilter(0x660099, 1, 8, 8, 4, BitmapFilterQuality.LOW, false, false);
_local79 = new Matrix();
_local79.translate(64, 32);
_local80 = new ColorTransform(0, 0, 0, 1, 0, 0, 0, 0);
_local81 = new BitmapData(0x0100, 128, true, 0);
_local81.applyFilter(_local76, new Rectangle(0, 0, 128, 64), new Point(64, 32), _local78);
_local81.draw(_local76, _local79, _local80);
_local82 = new BitmapData(0x0100, 128, true, 0);
_local82.applyFilter(_local77, new Rectangle(0, 0, 128, 64), new Point(64, 32), _local78);
_local82.draw(_local77, _local79, _local80);
playerGlowAnimationArray = new Array(_local81, _local82);
skyBMD = new BitmapData(600, 400, false, 0);
groundBMD = new BitmapData(600, 0x0100, true, 0);
skyBMD.copyPixels(_local2, ScreenRectangle, new Point(0, 0));
skyBMD.copyPixels(_local5, new Rectangle(0, 0, 128, 128), new Point(64, 48));
_local2.dispose();
_local5.dispose();
groundBMD.copyPixels(_local3, new Rectangle(0, 0, 600, 128), new Point(0, 0));
_local83 = new BitmapData(600, 128, false, 0);
_local84 = new BitmapData(600, 128, false, 0);
_local85 = new Matrix();
_local85.scale(1, -1);
_local85.ty = 0x0100;
_local83.copyPixels(groundBMD, new Rectangle(300, 0, 600, 128), new Point(0, 0));
_local83.copyPixels(groundBMD, new Rectangle(0, 0, 300, 128), new Point(300, 0));
groundBMD.copyPixels(_local83, new Rectangle(0, 0, 600, 128), new Point(0, 128));
groundBMD.draw(_local83, _local85);
_local84.dispose();
_local83.dispose();
_local3.dispose();
levelPropBMDArray = new Array(_local12, _local13, _local14, _local15, _local16);
levelPropBMDArray2 = new Array();
_local86 = 0;
while (_local86 < levelPropBMDArray.length) {
_local83 = new BitmapData((levelPropBMDArray[_local86].width / 2), (levelPropBMDArray[_local86].height / 2), true, 0);
_local83.draw(levelPropBMDArray[_local86], _local38);
levelPropBMDArray2.push(_local83);
_local86++;
};
if (magicSmokeToggle){
magicSmokeBuffer = new BitmapData(600, 400, true, 0);
fogMagicSmoke = new MagicSmoke(ScreenSize, _local6, new ColorTransform(1, 1, 1, 1, 64, 64, 64, 0), new ColorTransform(0.95, 0.95, 0.95, 1, 0, 0, 0, 0), 1, -1, "difference", "multiply", "lighten", 0);
};
if (musicToggle){
playMusic(DreamMusic);
};
scrolling = true;
levelScroll = 0;
timer = 0;
gamePaused = false;
fadeValue = 0xFF;
fadeChange = -16;
inTitleScreen = false;
inGame = true;
levelClear = false;
levelClearSequenceTimer = 0;
gameOverSequenceTimer = 0;
playerDeathSequenceTimer = 0;
playerHealth = playerHealthMax;
gameOver = false;
playerDead = false;
SpawnPlayer();
}
public function Render():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:int;
var _local5:int;
var _local6:int;
var _local7:BitmapData;
var _local8:int;
var _local9:Matrix;
var _local10:*;
var _local11:Number;
var _local12:ColorTransform;
var _local13:*;
var _local14:ColorTransform;
var _local15:int;
var _local16:uint;
renderBuffer.copyPixels(skyBMD, new Rectangle(0, 0, 600, 300), new Point());
_local1 = (levelScroll % 600);
renderBuffer.copyPixels(groundBMD, new Rectangle(_local1, 0, 600, 0x0100), new Point(0, 200));
renderBuffer.copyPixels(groundBMD, new Rectangle(0, 0, _local1, 0x0100), new Point((600 - _local1), 200));
_local2 = 0;
while (_local2 < scrollingPropArray.length) {
scrollingPropArray[_local2].render(renderBuffer);
_local2++;
};
if (magicSmokeToggle){
_local8 = 0;
while (_local8 < decoyEnemyArray.length) {
fogMagicSmoke.copyPixelsParticle(areaLightBMD, decoyEnemyArray[_local8].x, decoyEnemyArray[_local8].y);
_local8++;
};
_local3 = 0;
while (_local3 < smallEnemyArray.length) {
_local9 = new Matrix();
_local9.translate((smallEnemyArray[_local3].x - (areaLightBMD.width / 2)), (smallEnemyArray[_local3].y - (areaLightBMD.height / 2)));
fogMagicSmoke.copyPixelsParticle(areaLightBMD, (smallEnemyArray[_local3].x - 32), (smallEnemyArray[_local3].y - 32));
if (smallEnemyArray[_local3].isBoss){
fogMagicSmoke.copyPixelsParticle(boss1WakeBMD, (smallEnemyArray[_local3].x - 128), ((smallEnemyArray[_local3].y - 128) - 64));
};
_local3++;
};
fogMagicSmoke.update(renderBuffer);
};
_local3 = 0;
while (_local3 < smallEnemyArray.length) {
smallEnemyArray[_local3].render(renderBuffer);
if (smallEnemyArray[_local3].isBoss){
if (player != null){
_local10 = new Matrix();
_local10.translate((smallEnemyArray[_local3].x - 128), (smallEnemyArray[_local3].y - 128));
_local11 = getDistance(player.x, player.y, smallEnemyArray[_local3].x, smallEnemyArray[_local3].y);
_local11 = (_local11 - 128);
_local11 = (_local11 / 128);
_local11 = (1 - _local11);
_local12 = new ColorTransform(1, 1, 1, _local11, 0, 0, 0, 0);
renderBuffer.draw(bossDammageAreaBMD, _local10, _local12, "add");
};
};
_local3++;
};
_local4 = 0;
while (_local4 < playerShotArray.length) {
playerShotArray[_local4].render(renderBuffer);
_local4++;
};
if (player != null){
player.render(renderBuffer);
};
_local5 = 0;
while (_local5 < enemyShotArray.length) {
enemyShotArray[_local5].render(renderBuffer);
_local5++;
};
renderBuffer.copyPixels(new HealthBottomBMD(150, 12), new Rectangle(0, 0, 150, 12), new Point(48, 16));
renderBuffer.copyPixels(new BitmapData(150, 12, true, 2566979430), new Rectangle(0, 0, (playerHealth * 15), 12), new Point(48, 16));
renderBuffer.copyPixels(new HealthTopBMD(150, 12), new Rectangle(0, 0, 150, 12), new Point(48, 16));
renderBuffer.copyPixels(new Witch3Frame1BMD(128, 64), new Rectangle(74, 0, 32, 32), new Point(0, 0));
_local6 = playerLives;
if (_local6 < 0){
_local6 = 0;
};
scoreTextField.text = ("x" + _local6);
_local7 = Rasterize(scoreSprite);
renderBuffer.copyPixels(_local7, new Rectangle(0, 0, scoreSprite.width, scoreSprite.height), new Point(24, 24));
scoreTextField.text = ("" + playerScore);
_local7 = Rasterize(scoreSprite);
renderBuffer.copyPixels(_local7, new Rectangle(0, 0, scoreSprite.width, scoreSprite.height), new Point(214, 16));
if (gameOver){
_local13 = new Matrix();
_local13.translate(160, 150);
_local11 = (gameOverSequenceTimer / 25);
_local14 = new ColorTransform(1, 1, 1, _local11, 0, 0, 0, 0);
renderBuffer.draw(new GameOverGlowBMD(320, 100), _local13, _local14, "add");
renderBuffer.copyPixels(new GameOverBMD(320, 100), new Rectangle(0, 0, 320, 100), new Point(160, 150));
};
if (fadeValue > 0){
_local15 = fadeValue;
if (_local15 > 0xFF){
_local15 = 0xFF;
};
_local16 = (((_local15 * 0x0100) * 0x0100) * 0x0100);
renderBuffer.copyPixels(new BitmapData(600, 400, true, _local16), new Rectangle(0, 0, 600, 400), new Point(0, 0));
fadeValue = (fadeValue + fadeChange);
};
}
public function pointLookAtPoint(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number):Number{
var _local5:Number;
var _local6:Number;
var _local7:Number;
_local5 = (_arg3 - _arg1);
_local6 = (_arg4 - _arg2);
_local7 = Math.atan2(_local6, _local5);
return (_local7);
}
public function playerShoot():void{
var _local1:Number;
var _local2:*;
var _local3:Number;
var _local4:Number;
var _local5:Number;
if (playerReloadTimer <= 0){
_local1 = (300 - player.x);
_local1 = (_local1 / 300);
_local1 = (_local1 * -1);
playSound(Spell1Sound, 0.25, _local1);
_local2 = 0;
while (_local2 < playerWeaponSpread) {
_local3 = 0;
_local4 = (-5 * playerWeaponSpread);
_local5 = (10 * _local2);
_local3 = ((_local4 + _local5) + 5);
playerShotArray.push(new PlayerShot(stage, playerShotBMD, new Rectangle(0, 0, 64, 64), new Point(32, 32), (player.x + 64), player.y, ((_local3 * Math.PI) / 180), playerWeaponSpeed, -1, ((playerWeaponRange * 100) + 100), playerWeaponPower));
_local2++;
};
playerReloadTimer = (8 - playerWeaponReload);
};
}
}
}//package
Section 16
//GameOverBMD (GameOverBMD)
package {
import flash.display.*;
public dynamic class GameOverBMD extends BitmapData {
public function GameOverBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 17
//GameOverGlowBMD (GameOverGlowBMD)
package {
import flash.display.*;
public dynamic class GameOverGlowBMD extends BitmapData {
public function GameOverGlowBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 18
//GameOverSound (GameOverSound)
package {
import flash.media.*;
public dynamic class GameOverSound extends Sound {
}
}//package
Section 19
//Ghost1BMD (Ghost1BMD)
package {
import flash.display.*;
public dynamic class Ghost1BMD extends BitmapData {
public function Ghost1BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 20
//Ghost2BMD (Ghost2BMD)
package {
import flash.display.*;
public dynamic class Ghost2BMD extends BitmapData {
public function Ghost2BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 21
//Ghost3BMD (Ghost3BMD)
package {
import flash.display.*;
public dynamic class Ghost3BMD extends BitmapData {
public function Ghost3BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 22
//GhostArmySound (GhostArmySound)
package {
import flash.media.*;
public dynamic class GhostArmySound extends Sound {
}
}//package
Section 23
//GhostSwirlBMD (GhostSwirlBMD)
package {
import flash.display.*;
public dynamic class GhostSwirlBMD extends BitmapData {
public function GhostSwirlBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 24
//GrassyHillsBMD (GrassyHillsBMD)
package {
import flash.display.*;
public dynamic class GrassyHillsBMD extends BitmapData {
public function GrassyHillsBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 25
//HealthBottomBMD (HealthBottomBMD)
package {
import flash.display.*;
public dynamic class HealthBottomBMD extends BitmapData {
public function HealthBottomBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 26
//HealthTopBMD (HealthTopBMD)
package {
import flash.display.*;
public dynamic class HealthTopBMD extends BitmapData {
public function HealthTopBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 27
//House1BMD (House1BMD)
package {
import flash.display.*;
public dynamic class House1BMD extends BitmapData {
public function House1BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 28
//House2BMD (House2BMD)
package {
import flash.display.*;
public dynamic class House2BMD extends BitmapData {
public function House2BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 29
//House3BMD (House3BMD)
package {
import flash.display.*;
public dynamic class House3BMD extends BitmapData {
public function House3BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 30
//House4BMD (House4BMD)
package {
import flash.display.*;
public dynamic class House4BMD extends BitmapData {
public function House4BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 31
//House5BMD (House5BMD)
package {
import flash.display.*;
public dynamic class House5BMD extends BitmapData {
public function House5BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 32
//Key (Key)
package {
import flash.display.*;
import flash.events.*;
public class Key {
private static var initialized:Boolean = false;
private static var keysDown:Object = new Object();
public static function initialize(_arg1:Stage){
if (!initialized){
_arg1.addEventListener(KeyboardEvent.KEY_DOWN, keyPressed);
_arg1.addEventListener(KeyboardEvent.KEY_UP, keyReleased);
_arg1.addEventListener(Event.DEACTIVATE, clearKeys);
initialized = true;
};
}
private static function clearKeys(_arg1:Event):void{
keysDown = new Object();
}
public static function isDown(_arg1:uint):Boolean{
if (!initialized){
throw (new Error("Key class has yet been initialized."));
};
return (Boolean((_arg1 in keysDown)));
}
private static function keyPressed(_arg1:KeyboardEvent):void{
keysDown[_arg1.keyCode] = true;
}
private static function keyReleased(_arg1:KeyboardEvent):void{
if ((_arg1.keyCode in keysDown)){
delete keysDown[_arg1.keyCode];
};
}
}
}//package
Section 33
//LargeAreaLightSprite (LargeAreaLightSprite)
package {
import flash.display.*;
public dynamic class LargeAreaLightSprite extends Sprite {
}
}//package
Section 34
//LostSoul1BMD (LostSoul1BMD)
package {
import flash.display.*;
public dynamic class LostSoul1BMD extends BitmapData {
public function LostSoul1BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 35
//MagicSmoke (MagicSmoke)
package {
import flash.display.*;
import flash.geom.*;
public class MagicSmoke {
private var particleLayer1Blend:String;
private var fogLayerBMD:BitmapData;
private var layer2MaxScroll:int;
private var layer1ScrollSpeed:int;
private var screenRectangle:Rectangle;
private var fadeColorTransform:ColorTransform;
private var fogColorTransform:ColorTransform;
private var particleLayer2Blend:String;
private var layer1Scroll:int;// = 0
private var layer2Scroll:int;// = 0
private var magicSmokeBlend:String;
private var layer1MaxScroll:int;
private var screenHeight:int;
private var layer2ScrollSpeed:int;
private var screenWidth:int;
private var smokeTileBMD:BitmapData;
public var ghostParticleLayerBMD:BitmapData;
public function MagicSmoke(_arg1:Point, _arg2:BitmapData, _arg3:ColorTransform, _arg4:ColorTransform, _arg5:int=1, _arg6:int=-1, _arg7:String=null, _arg8:String=null, _arg9:String=null, _arg10:uint=0){
var _local11:Rectangle;
layer1Scroll = 0;
layer2Scroll = 0;
super();
particleLayer1Blend = _arg7;
particleLayer2Blend = _arg8;
magicSmokeBlend = _arg9;
screenWidth = _arg1.x;
screenHeight = _arg1.y;
layer1ScrollSpeed = _arg5;
layer2ScrollSpeed = _arg6;
layer1MaxScroll = _arg2.height;
layer2MaxScroll = _arg2.height;
fogColorTransform = _arg3;
fadeColorTransform = _arg4;
screenRectangle = new Rectangle(0, 0, screenWidth, screenHeight);
fogLayerBMD = new BitmapData(screenWidth, screenHeight, false, _arg10);
_local11 = new Rectangle(0, 0, _arg2.width, _arg2.height);
smokeTileBMD = new BitmapData(screenWidth, (screenHeight + _arg2.height), false, 0);
smokeTileBMD.copyPixels(_arg2, _local11, new Point(0, 0));
smokeTileBMD.copyPixels(_arg2, _local11, new Point(300, 0));
smokeTileBMD.copyPixels(_arg2, _local11, new Point(0, 200));
smokeTileBMD.copyPixels(_arg2, _local11, new Point(300, 200));
smokeTileBMD.copyPixels(_arg2, _local11, new Point(0, 400));
smokeTileBMD.copyPixels(_arg2, _local11, new Point(300, 400));
ghostParticleLayerBMD = new BitmapData(screenWidth, screenHeight, false, _arg10);
}
public function drawParticle(_arg1:IBitmapDrawable, _arg2:Matrix=null, _arg3:ColorTransform=null, _arg4:String=null, _arg5:Rectangle=null, _arg6:Boolean=false):void{
ghostParticleLayerBMD.draw(_arg1, _arg2, _arg3, _arg4, _arg5, _arg6);
}
public function update(_arg1:BitmapData):void{
var _local2:Matrix;
layer1Scroll = (layer1Scroll + layer1ScrollSpeed);
if ((((layer1ScrollSpeed > 0)) && ((layer1Scroll > layer1MaxScroll)))){
layer1Scroll = 0;
};
if ((((layer1ScrollSpeed < 0)) && ((layer1Scroll < -(layer1MaxScroll))))){
layer1Scroll = 0;
};
layer2Scroll = (layer2Scroll + layer2ScrollSpeed);
if ((((layer2ScrollSpeed > 0)) && ((layer2Scroll > layer2MaxScroll)))){
layer2Scroll = 0;
};
if ((((layer2ScrollSpeed < 0)) && ((layer2Scroll < -(layer2MaxScroll))))){
layer2Scroll = 0;
};
fogLayerBMD.colorTransform(screenRectangle, fogColorTransform);
fogLayerBMD.copyPixels(smokeTileBMD, new Rectangle(0, layer1Scroll, (600 + layer1Scroll), 400), new Point());
_local2 = new Matrix();
_local2.scale(-1, 1);
_local2.tx = 600;
_local2.ty = (-(layer2Scroll) - layer2MaxScroll);
fogLayerBMD.draw(smokeTileBMD, _local2, null, particleLayer1Blend, screenRectangle);
fogLayerBMD.colorTransform(screenRectangle, fogColorTransform);
fogLayerBMD.draw(ghostParticleLayerBMD, null, null, particleLayer2Blend, screenRectangle);
_arg1.draw(fogLayerBMD, null, null, magicSmokeBlend);
ghostParticleLayerBMD.colorTransform(screenRectangle, fadeColorTransform);
}
public function copyPixelsParticle(_arg1:BitmapData, _arg2:int, _arg3:int):void{
ghostParticleLayerBMD.copyPixels(_arg1, new Rectangle(0, 0, _arg1.width, _arg1.height), new Point(_arg2, _arg3));
}
}
}//package
Section 36
//MenuBackgroundBMD (MenuBackgroundBMD)
package {
import flash.display.*;
public dynamic class MenuBackgroundBMD extends BitmapData {
public function MenuBackgroundBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 37
//MersenneTwister (MersenneTwister)
package {
public class MersenneTwister {
private var state;
private var next;
private var left;
public function MersenneTwister(){
state = new Array((624 + 1));
next = 0;
left = -1;
}
private function reloadMT(){
var _local1:*;
var _local2:*;
var _local3:*;
var _local4:*;
var _local5:*;
var _local6:*;
_local1 = 0;
_local2 = 2;
_local3 = 397;
if (left < -1){
seedMT(4357);
};
left = (624 - 1);
next = 1;
_local4 = state[0];
_local5 = state[1];
_local6 = ((624 - 397) + 1);
while (_local6 > 0) {
var _temp1 = _local1;
_local1 = (_local1 + 1);
var _local7 = _temp1;
var _temp2 = _local3;
_local3 = (_local3 + 1);
state[_local7] = ((state[_temp2] ^ ((((_local4 & 2147483648) | (_local5 & 2147483647)) >> 1) & 2147483647)) ^ ((_local5 & 1)) ? 2567483615 : 0);
_local4 = _local5;
var _temp3 = _local2;
_local2 = (_local2 + 1);
_local5 = state[_temp3];
_local6--;
};
_local3 = 0;
_local6 = 397;
while (_local6 > 0) {
var _temp4 = _local1;
_local1 = (_local1 + 1);
_local7 = _temp4;
var _temp5 = _local3;
_local3 = (_local3 + 1);
state[_local7] = ((state[_temp5] ^ ((((_local4 & 2147483648) | (_local5 & 2147483647)) >> 1) & 2147483647)) ^ ((_local5 & 1)) ? 2567483615 : 0);
_local4 = _local5;
var _temp6 = _local2;
_local2 = (_local2 + 1);
_local5 = state[_temp6];
_local6--;
};
_local5 = state[0];
state[_local1] = ((state[_local3] ^ ((((_local4 & 2147483648) | (_local5 & 2147483647)) >> 1) & 2147483647)) ^ ((_local5 & 1)) ? 2567483615 : 0);
var _temp7 = (_local5 ^ ((_local5 >> 11) & 2097151));
_local5 = (_local5 ^ ((_local5 >> 11) & 2097151));
var _temp8 = (_temp7 ^ ((_local5 << 7) & 2636928640));
_local5 = (_temp7 ^ ((_local5 << 7) & 2636928640));
var _temp9 = (_temp8 ^ ((_local5 << 15) & 4022730752));
_local5 = (_temp8 ^ ((_local5 << 15) & 4022730752));
return ((_temp9 ^ ((_local5 >> 18) & 16383)));
}
public function randomMT(){
var _local1:*;
if (--left < 0){
return (reloadMT());
};
_local1 = state[next++];
_local1 = (_local1 ^ ((_local1 >> 11) & 2097151));
_local1 = (_local1 ^ ((_local1 << 7) & 2636928640));
_local1 = (_local1 ^ ((_local1 << 15) & 4022730752));
return ((_local1 ^ ((_local1 >> 18) & 16383)));
}
public function percentMT(){
var _local1:*;
_local1 = randomMT();
if (_local1 < 0){
_local1 = (_local1 + 4294967296);
};
return ((_local1 / 4294967296));
}
public function rangedMT(_arg1, _arg2){
var _local3:*;
_local3 = randomMT();
if (_local3 < 0){
_local3 = (_local3 + 4294967296);
};
return (Math.floor((((_local3 * _arg2) - _arg1) + (1 / (4294967296 + _arg1)))));
}
public function seedMT(_arg1){
var _local2:*;
var _local3:*;
var _local4:*;
_local2 = ((_arg1 & 4294967295) | 1);
_arg1 = _local2;
left = 0;
_local3 = 0;
var _temp1 = _local3;
_local3 = (_local3 + 1);
var _local5 = _temp1;
state[_local5] = _local2;
_local4 = 624;
while (_local4 > 0) {
_local2 = (_local2 * 69069);
_local2 = (_local2 & 4294967295);
var _temp2 = _local3;
_local3 = (_local3 + 1);
var _local6 = _temp2;
state[_local6] = _local2;
_local4--;
};
return (_arg1);
}
}
}//package
Section 38
//MissingGraphicBMD (MissingGraphicBMD)
package {
import flash.display.*;
public dynamic class MissingGraphicBMD extends BitmapData {
public function MissingGraphicBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 39
//MoonBMD (MoonBMD)
package {
import flash.display.*;
public dynamic class MoonBMD extends BitmapData {
public function MoonBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 40
//MoreGamesBMD (MoreGamesBMD)
package {
import flash.display.*;
public dynamic class MoreGamesBMD extends BitmapData {
public function MoreGamesBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 41
//ObjectList (ObjectList)
package {
dynamic class ObjectList extends Array {
public var removalList:Array;
public var Debug:Boolean;// = true
function ObjectList(){
Debug = true;
super();
removalList = new Array();
}
public function GetIndex(_arg1:Object):int{
var _local2:int;
var _local3:int;
_local2 = -1;
_local3 = 0;
while (_local3 < this.length) {
if (this[_local3] == _arg1){
_local2 = _local3;
};
_local3++;
};
return (_local2);
}
public function CleanUp(){
var _local1:int;
var _local2:int;
_local1 = 0;
while (_local1 < removalList.length) {
_local2 = GetIndex(removalList[_local1]);
if (_local2 != -1){
this.splice(_local2, 1);
};
_local1++;
};
}
public function Remove(_arg1:Object){
removalList.push(_arg1);
}
}
}//package
Section 42
//Player (Player)
package {
import flash.display.*;
import flash.geom.*;
import flash.ui.*;
public class Player {
public var maxSpeed:int;
private var timer:int;
public var invincible:Boolean;// = true
public var ySpeed:int;
public var xSpeed:int;
private var graphicsArray:Array;
private var stage:Stage;
private var gameObject:Object;
private var animationLength:int;
private var spawning:Boolean;// = true
private var collisionArea:Rectangle;
public var autoTarget:Point;
private var glowAnimationArray:Array;
private var animationDelay:int;
private var displayArea:Rectangle;
private var currentFrame:int;
public var hotSpot:Point;
public var controlable:Boolean;
public var x:int;
public var y:int;
public function Player(_arg1:Object, _arg2:Stage, _arg3:Array, _arg4, _arg5:int, _arg6:Rectangle, _arg7:Rectangle, _arg8:Point, _arg9:int, _arg10:int, _arg11:int, _arg12:Point=null){
spawning = true;
invincible = true;
super();
gameObject = _arg1;
stage = _arg2;
autoTarget = _arg12;
if (autoTarget == null){
autoTarget = new Point((gameObject.ScreenWidth * 0.25), (gameObject.ScreenHeight * 0.5));
};
timer = 0;
x = _arg9;
y = _arg10;
maxSpeed = _arg11;
xSpeed = 0;
ySpeed = 0;
displayArea = _arg6;
collisionArea = _arg7;
hotSpot = _arg8;
graphicsArray = _arg3;
glowAnimationArray = _arg4;
animationDelay = _arg5;
currentFrame = 0;
controlable = false;
}
public function update(){
timer++;
if (timer > 100){
invincible = false;
};
if (controlable){
if (Key.isDown(90)){
gameObject.playerShoot();
};
if (Key.isDown(Keyboard.LEFT)){
xSpeed = (xSpeed - 2);
} else {
if (xSpeed < 0){
xSpeed = 0;
};
};
if (Key.isDown(Keyboard.RIGHT)){
xSpeed = (xSpeed + 2);
} else {
if (xSpeed > 0){
xSpeed = 0;
};
};
if (Key.isDown(Keyboard.UP)){
ySpeed = (ySpeed - 2);
} else {
if (ySpeed < 0){
ySpeed = 0;
};
};
if (Key.isDown(Keyboard.DOWN)){
ySpeed = (ySpeed + 2);
} else {
if (ySpeed > 0){
ySpeed = 0;
};
};
if (xSpeed > maxSpeed){
xSpeed = maxSpeed;
};
if (xSpeed < -(maxSpeed)){
xSpeed = -(maxSpeed);
};
if (ySpeed > maxSpeed){
ySpeed = maxSpeed;
};
if (ySpeed < -(maxSpeed)){
ySpeed = -(maxSpeed);
};
x = (x + xSpeed);
y = (y + ySpeed);
if (x < hotSpot.x){
x = hotSpot.x;
};
if (x > (gameObject.ScreenWidth - hotSpot.x)){
x = (gameObject.ScreenWidth - hotSpot.x);
};
if (y < hotSpot.y){
y = hotSpot.y;
};
if (y > (gameObject.ScreenHeight - hotSpot.y)){
y = (gameObject.ScreenHeight - hotSpot.y);
};
};
if (autoTarget != null){
if (x < autoTarget.x){
x = (x + maxSpeed);
};
if (x > autoTarget.x){
x = (x - maxSpeed);
};
if (y < autoTarget.y){
y = (y + maxSpeed);
};
if (y > autoTarget.y){
y = (y - maxSpeed);
};
if ((((((((x < (autoTarget.x + maxSpeed))) && ((x > (autoTarget.x - maxSpeed))))) && ((y < (autoTarget.y + maxSpeed))))) && ((y > (autoTarget.y - maxSpeed))))){
autoTarget = null;
if (spawning){
controlable = true;
spawning = false;
};
};
};
if ((timer % animationDelay) == 0){
currentFrame++;
if (currentFrame >= graphicsArray.length){
currentFrame = 0;
};
};
}
public function render(_arg1:BitmapData){
var _local2:*;
var _local3:BitmapData;
var _local4:*;
var _local5:Number;
var _local6:ColorTransform;
var _local7:Number;
var _local8:ColorTransform;
var _local9:*;
_local2 = graphicsArray[currentFrame];
_arg1.copyPixels(_local2, displayArea, new Point((x - hotSpot.x), (y - hotSpot.y)));
_local3 = glowAnimationArray[currentFrame];
_local4 = new Matrix();
_local4.translate((x - 128), (y - 64));
_local5 = (Math.abs((10 - (timer % 20))) + 10);
_local6 = new ColorTransform(1, 1, 1, (_local5 / 20), 0, 0, 0, 0);
_arg1.draw(_local3, _local4, _local6, "add");
if (invincible){
_local7 = (Math.abs((2 - (timer % 4))) + 2);
_local8 = new ColorTransform(1, 1, 1, (_local7 / 4), 0, 0, 0, 0);
_local9 = new Matrix();
_local9.translate((x - 64), (y - 32));
_arg1.draw(_local2, _local9, _local8, "screen");
};
}
}
}//package
Section 43
//PlayerShot (PlayerShot)
package {
import flash.display.*;
import flash.geom.*;
public class PlayerShot {
private var sourceBMD:BitmapData;
private var distanceTravelled:int;// = 0
private var timer:int;// = 0
private var stage:Stage;
private var displayArea:Rectangle;
public var angle:Number;
public var power:int;
private var ySpeed:Number;
public var speed:int;
private var collisionArea:Rectangle;
private var hotSpot:Point;
private var lifeSpan:int;
private var xSpeed:Number;
public var x:Number;
public var y:Number;
private var range:int;
public function PlayerShot(_arg1:Stage, _arg2:BitmapData, _arg3:Rectangle, _arg4:Point, _arg5:int, _arg6:int, _arg7:Number, _arg8:Number, _arg9:int, _arg10:int, _arg11:int){
timer = 0;
distanceTravelled = 0;
super();
x = _arg5;
y = _arg6;
angle = _arg7;
speed = _arg8;
lifeSpan = _arg9;
range = _arg10;
power = _arg11;
displayArea = new Rectangle(0, 0, _arg2.width, _arg2.height);
collisionArea = _arg3;
hotSpot = _arg4;
sourceBMD = _arg2;
stage = _arg1;
}
public function get rightEdge():int{
return (((x - hotSpot.x) + collisionArea.width));
}
public function update(_arg1:Array, _arg2:int){
timer++;
distanceTravelled = (distanceTravelled + speed);
xSpeed = (speed * Math.cos(angle));
ySpeed = (speed * Math.sin(angle));
x = (x + xSpeed);
y = (y + ySpeed);
if ((((lifeSpan > 0)) && ((timer > lifeSpan)))){
_arg1.Remove(_arg1[_arg2]);
};
if ((((range > 0)) && ((distanceTravelled > range)))){
_arg1.Remove(_arg1[_arg2]);
};
if (x > stage.width){
_arg1.Remove(_arg1[_arg2]);
};
if (x < 0){
_arg1.Remove(_arg1[_arg2]);
};
if (y > stage.height){
_arg1.Remove(_arg1[_arg2]);
};
if (y < 0){
_arg1.Remove(_arg1[_arg2]);
};
}
public function get bottomEdge():int{
return (((y - hotSpot.y) + collisionArea.height));
}
public function render(_arg1:BitmapData){
_arg1.copyPixels(sourceBMD, displayArea, new Point((x - hotSpot.x), (y - hotSpot.y)));
}
public function get leftEdge():int{
return (((x - hotSpot.x) + collisionArea.x));
}
public function get topEdge():int{
return (((y - hotSpot.y) + collisionArea.y));
}
}
}//package
Section 44
//PlayerShotBMD (PlayerShotBMD)
package {
import flash.display.*;
public dynamic class PlayerShotBMD extends BitmapData {
public function PlayerShotBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 45
//ScrollingProp (ScrollingProp)
package {
import flash.display.*;
import flash.geom.*;
public class ScrollingProp {
private var sourceBMD:BitmapData;
private var displayArea:Rectangle;
public var x:Number;
public var y:Number;
public function ScrollingProp(_arg1:BitmapData, _arg2:int, _arg3:int){
x = _arg2;
y = _arg3;
sourceBMD = _arg1;
displayArea = new Rectangle(0, 0, sourceBMD.width, sourceBMD.height);
}
public function update(_arg1:Array, _arg2:int, _arg3, _arg4){
x = (x + _arg3);
y = (y + _arg4);
if (x < -(sourceBMD.width)){
_arg1.Remove(_arg1[_arg2]);
};
}
public function render(_arg1:BitmapData){
_arg1.copyPixels(sourceBMD, displayArea, new Point(x, y));
}
}
}//package
Section 46
//SkeletonIdle1BMD (SkeletonIdle1BMD)
package {
import flash.display.*;
public dynamic class SkeletonIdle1BMD extends BitmapData {
public function SkeletonIdle1BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 47
//SkeletonIdle2BMD (SkeletonIdle2BMD)
package {
import flash.display.*;
public dynamic class SkeletonIdle2BMD extends BitmapData {
public function SkeletonIdle2BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 48
//SkeletonIdle3BMD (SkeletonIdle3BMD)
package {
import flash.display.*;
public dynamic class SkeletonIdle3BMD extends BitmapData {
public function SkeletonIdle3BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 49
//SkeletonSpell1BMD (SkeletonSpell1BMD)
package {
import flash.display.*;
public dynamic class SkeletonSpell1BMD extends BitmapData {
public function SkeletonSpell1BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 50
//SkeletonSpell2BMD (SkeletonSpell2BMD)
package {
import flash.display.*;
public dynamic class SkeletonSpell2BMD extends BitmapData {
public function SkeletonSpell2BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 51
//SkeletonSpit1BMD (SkeletonSpit1BMD)
package {
import flash.display.*;
public dynamic class SkeletonSpit1BMD extends BitmapData {
public function SkeletonSpit1BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 52
//SkeletonSpit2BMD (SkeletonSpit2BMD)
package {
import flash.display.*;
public dynamic class SkeletonSpit2BMD extends BitmapData {
public function SkeletonSpit2BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 53
//Skull1BMD (Skull1BMD)
package {
import flash.display.*;
public dynamic class Skull1BMD extends BitmapData {
public function Skull1BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 54
//Skull2BMD (Skull2BMD)
package {
import flash.display.*;
public dynamic class Skull2BMD extends BitmapData {
public function Skull2BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 55
//Skull3BMD (Skull3BMD)
package {
import flash.display.*;
public dynamic class Skull3BMD extends BitmapData {
public function Skull3BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 56
//SlimeBMD (SlimeBMD)
package {
import flash.display.*;
public dynamic class SlimeBMD extends BitmapData {
public function SlimeBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 57
//SmallEnemy (SmallEnemy)
package {
import flash.display.*;
import flash.geom.*;
public class SmallEnemy {
public var y:int;
private var animationLength:int;
private var currentLevel:int;
private var currentAnimation:int;// = 0
private var attackPhase:int;// = 0
public var height:int;
private var onScreen;// = false
private var xSpeed:Number;
private var animationArray:Array;
public var isBoss:Boolean;
private var distanceTravelled:int;// = 0
private var range:int;
private var movementStyle:uint;
private var timer:int;// = 0
public var width:int;
public var speed:Number;
private var attackStyle:uint;
public var angle:Number;
private var ySpeed:Number;
private var bounceRectangle:Rectangle;
private var health:int;
private var attacksLaunched:int;// = 0
public var collisionArea:Rectangle;
private var lifeSpan:int;
public var scoreBounty:uint;
private var animationDelay:int;
private var hotSpot:Point;
private var game:Game;
private var currentFrame:int;
private var displayArea:Rectangle;
private var stage:Stage;
public var x:int;
public function SmallEnemy(_arg1:Game, _arg2:Stage, _arg3:int, _arg4:Array, _arg5:int, _arg6:int, _arg7:int, _arg8:Number, _arg9:Number=3, _arg10:int=-1, _arg11:int=-1, _arg12:Rectangle=null, _arg13:Point=null, _arg14:int=0, _arg15=false, _arg16:Rectangle=null, _arg17:uint=0, _arg18:uint=0){
timer = 0;
distanceTravelled = 0;
currentAnimation = 0;
attackPhase = 0;
attacksLaunched = 0;
onScreen = false;
super();
x = _arg6;
y = _arg7;
angle = _arg8;
speed = _arg9;
lifeSpan = _arg10;
range = _arg11;
health = _arg14;
displayArea = new Rectangle(0, 0, _arg4[0][0].width, _arg4[0][0].height);
width = displayArea.width;
height = displayArea.height;
collisionArea = _arg12;
hotSpot = _arg13;
animationArray = _arg4;
animationDelay = _arg5;
currentFrame = 0;
stage = _arg2;
game = _arg1;
currentLevel = _arg3;
isBoss = _arg15;
bounceRectangle = _arg16;
movementStyle = _arg17;
attackStyle = _arg18;
if (health == 0){
health = currentLevel;
if (isBoss){
health = (health * 100);
};
};
scoreBounty = (health * 100);
if (collisionArea == null){
collisionArea = displayArea;
};
if (hotSpot == null){
hotSpot = new Point((collisionArea.width / 2), (collisionArea.height / 2));
};
updateAngle();
if (movementStyle == 1){
y = 200;
xSpeed = -(speed);
ySpeed = (speed * -2);
};
if (movementStyle == 4){
updateAngle();
};
}
public function dammage(_arg1:int):int{
health = (health - _arg1);
return (health);
}
public function get rightEdge():int{
return (((x - hotSpot.x) + collisionArea.width));
}
public function get bottomEdge():int{
return (((y - hotSpot.y) + collisionArea.height));
}
private function updateAngle(){
xSpeed = (speed * Math.cos(angle));
ySpeed = (speed * Math.sin(angle));
}
public function render(_arg1:BitmapData){
var _local2:*;
_local2 = animationArray[currentAnimation][currentFrame];
_arg1.copyPixels(_local2, displayArea, new Point((x - hotSpot.x), (y - hotSpot.y)));
}
public function get topEdge():int{
return (((y - hotSpot.y) + collisionArea.y));
}
public function update(_arg1:Array, _arg2:int){
var _local3:int;
var _local4:*;
timer++;
distanceTravelled = (distanceTravelled + speed);
x = (x + xSpeed);
y = (y + ySpeed);
if (movementStyle == 0){
};
if (movementStyle == 1){
if (y < 100){
ySpeed++;
};
if (y > 300){
ySpeed--;
};
if (y > stage.height){
y = stage.height;
};
if (y < 0){
y = 0;
};
};
if (movementStyle == 4){
if (timer == 25){
angle = ((90 * Math.PI) / 180);
};
updateAngle();
if (timer > 25){
angle = (angle + ((speed * Math.PI) / 180));
updateAngle();
};
};
if ((((lifeSpan > 0)) && ((timer > lifeSpan)))){
_arg1.Remove(_arg1[_arg2]);
};
if ((((range > 0)) && ((distanceTravelled > range)))){
_arg1.Remove(_arg1[_arg2]);
};
if (((((((((!(onScreen)) && ((x < stage.width)))) && ((x > 0)))) && ((y < stage.height)))) && ((y > 0)))){
onScreen = true;
};
if (!isBoss){
if (x < 0){
_arg1.Remove(_arg1[_arg2]);
};
};
if (bounceRectangle != null){
if ((((x < bounceRectangle.x)) && ((xSpeed < 0)))){
xSpeed = (xSpeed * -1);
};
if ((((x > bounceRectangle.width)) && ((xSpeed > 0)))){
xSpeed = (xSpeed * -1);
};
if ((((y < bounceRectangle.y)) && ((ySpeed < 0)))){
ySpeed = (ySpeed * -1);
};
if ((((y > bounceRectangle.height)) && ((ySpeed > 0)))){
ySpeed = (ySpeed * -1);
};
};
if ((timer % animationDelay) == 0){
if (currentAnimation == 0){
currentFrame++;
if (currentFrame >= animationArray[currentAnimation].length){
currentFrame = 0;
};
} else {
if (currentFrame < animationArray[currentAnimation].length){
if (attackPhase == 0){
currentFrame++;
if (currentFrame > (animationArray[currentAnimation].length - 1)){
currentFrame = (animationArray[currentAnimation].length - 1);
attackPhase = 1;
};
};
if (attackPhase == 1){
attacksLaunched++;
if (attacksLaunched > (10 - currentLevel)){
game.spawnEnemyShotWave(this, 5, currentAnimation);
};
if (attacksLaunched >= 10){
attackPhase = 2;
};
};
if (attackPhase == 2){
currentFrame--;
if (currentFrame < 0){
currentFrame = 0;
attackPhase = 0;
currentAnimation = 0;
};
};
};
};
};
if (((((timer % 100) == 0)) && ((animationArray.length > 1)))){
_local3 = (animationArray.length - 1);
_local4 = (Math.random() * _local3);
currentAnimation = (_local4 + 1);
currentFrame = 0;
attackPhase = 0;
attacksLaunched = 0;
};
if ((timer % (100 - (currentLevel * 5))) == 0){
if (attackStyle > 0){
game.spawnEnemyShotWave(this, currentLevel, attackStyle);
};
};
}
public function get leftEdge():int{
return (((x - hotSpot.x) + collisionArea.x));
}
}
}//package
Section 58
//SmallFireballSprite (SmallFireballSprite)
package {
import flash.display.*;
public dynamic class SmallFireballSprite extends Sprite {
}
}//package
Section 59
//SmallLinearShotBMD (SmallLinearShotBMD)
package {
import flash.display.*;
public dynamic class SmallLinearShotBMD extends BitmapData {
public function SmallLinearShotBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 60
//SmokeBMD (SmokeBMD)
package {
import flash.display.*;
public dynamic class SmokeBMD extends BitmapData {
public function SmokeBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 61
//Spell1Sound (Spell1Sound)
package {
import flash.media.*;
public dynamic class Spell1Sound extends Sound {
}
}//package
Section 62
//Spell2Sound (Spell2Sound)
package {
import flash.media.*;
public dynamic class Spell2Sound extends Sound {
}
}//package
Section 63
//Spell3Sound (Spell3Sound)
package {
import flash.media.*;
public dynamic class Spell3Sound extends Sound {
}
}//package
Section 64
//Spell4Sound (Spell4Sound)
package {
import flash.media.*;
public dynamic class Spell4Sound extends Sound {
}
}//package
Section 65
//Spell5Sound (Spell5Sound)
package {
import flash.media.*;
public dynamic class Spell5Sound extends Sound {
}
}//package
Section 66
//SpotLightSprite (SpotLightSprite)
package {
import flash.display.*;
public dynamic class SpotLightSprite extends Sprite {
}
}//package
Section 67
//SpotShadowSprite (SpotShadowSprite)
package {
import flash.display.*;
public dynamic class SpotShadowSprite extends Sprite {
}
}//package
Section 68
//StarrySkyBMD (StarrySkyBMD)
package {
import flash.display.*;
public dynamic class StarrySkyBMD extends BitmapData {
public function StarrySkyBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 69
//StartGameBMD (StartGameBMD)
package {
import flash.display.*;
public dynamic class StartGameBMD extends BitmapData {
public function StartGameBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 70
//Swirl2BMD (Swirl2BMD)
package {
import flash.display.*;
public dynamic class Swirl2BMD extends BitmapData {
public function Swirl2BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 71
//TitleBMD (TitleBMD)
package {
import flash.display.*;
public dynamic class TitleBMD extends BitmapData {
public function TitleBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 72
//TitleFogSprite (TitleFogSprite)
package {
import flash.display.*;
public dynamic class TitleFogSprite extends Sprite {
}
}//package
Section 73
//TitleMusic (TitleMusic)
package {
import flash.media.*;
public dynamic class TitleMusic extends Sound {
}
}//package
Section 74
//ToggleMusicBMD (ToggleMusicBMD)
package {
import flash.display.*;
public dynamic class ToggleMusicBMD extends BitmapData {
public function ToggleMusicBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 75
//ToggleSmokeBMD (ToggleSmokeBMD)
package {
import flash.display.*;
public dynamic class ToggleSmokeBMD extends BitmapData {
public function ToggleSmokeBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 76
//ToggleSoundsBMD (ToggleSoundsBMD)
package {
import flash.display.*;
public dynamic class ToggleSoundsBMD extends BitmapData {
public function ToggleSoundsBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 77
//Witch3Frame1BMD (Witch3Frame1BMD)
package {
import flash.display.*;
public dynamic class Witch3Frame1BMD extends BitmapData {
public function Witch3Frame1BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 78
//Witch3Frame2BMD (Witch3Frame2BMD)
package {
import flash.display.*;
public dynamic class Witch3Frame2BMD extends BitmapData {
public function Witch3Frame2BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 79
//WitchBroomGlowBMD (WitchBroomGlowBMD)
package {
import flash.display.*;
public dynamic class WitchBroomGlowBMD extends BitmapData {
public function WitchBroomGlowBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 80
//WitchBroomStraight1BMD (WitchBroomStraight1BMD)
package {
import flash.display.*;
public dynamic class WitchBroomStraight1BMD extends BitmapData {
public function WitchBroomStraight1BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 81
//WitchBroomStraight2BMD (WitchBroomStraight2BMD)
package {
import flash.display.*;
public dynamic class WitchBroomStraight2BMD extends BitmapData {
public function WitchBroomStraight2BMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 82
//WitchGhostBMD (WitchGhostBMD)
package {
import flash.display.*;
public dynamic class WitchGhostBMD extends BitmapData {
public function WitchGhostBMD(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 83
//WitchScreamSound (WitchScreamSound)
package {
import flash.media.*;
public dynamic class WitchScreamSound extends Sound {
}
}//package