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

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

Ninja-Cat.swf

This is the info page for
Flash #114053

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


Text
PreloadScreen

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

skip

Take frequent breaks to avoid injuries such as carpal
tunnel syndrome and eyestrain.

WARNING:

DevNote.org

press any key to continue

ENDURANCE CHALLENGE

Developed by DevNote.org
Music by Kevin MacLeod

<p align="center"><font face="Comic Sans MS" size="13" color="#ffffff" letterSpacing="0.000000" kerning="1"><b>why so serious?</b></font></p>

SLOW MOTION

FASTER

DISABLED

<p align="center"><font face="Showcard Gothic" size="79" color="#ffffff" letterSpacing="0.000000" kerning="1">stage X</font></p><p align="center"><font face="Showcard Gothic" size="79" color="#ffffff" letterSpacing="0.000000" kerning="1">get ready!</font></p>

<p align="center"><font face="Showcard Gothic" size="79" color="#ffffff" letterSpacing="0.000000" kerning="1">go</font></p>

Click on the clock or
press "Q" for settings.

click here or press ENTER to continue

press "Q" or click here to resume game

total knockouts: . . . . . . . . . . .

time elapsed: . . . . . . . . . . . . . . . .

shurikens thrown: . . . . . . . . .

<p align="center"><font face="Showcard Gothic" size="15" color="#666666" letterSpacing="0.000000" kerning="1">10:20</font></p>

<p align="center"><font face="Showcard Gothic" size="15" color="#666666" letterSpacing="0.000000" kerning="1">872</font></p>

<p align="center"><font face="Showcard Gothic" size="15" color="#666666" letterSpacing="0.000000" kerning="1">12,083</font></p>

waves survived: . . . . . . . . . . . . .

<p align="center"><font face="Showcard Gothic" size="15" color="#666666" letterSpacing="0.000000" kerning="1">1</font></p>

return to main menu

accuracy: . . . . . . . . . . . . . . . . . . .

<p align="center"><font face="Showcard Gothic" size="15" color="#666666" letterSpacing="0.000000" kerning="1">99.0%</font></p>

(multiple hits with single shuriken)

Quality:

Low

Medium

High

Waves survived:

press ENTER or click here for main menu

time elpased: . . . . . . . . . . . . . . . .

<p align="center"><font face="Showcard Gothic" size="87" color="#ff0000" letterSpacing="0.000000" kerning="1">7</font></p>

<p align="center"><font face="Showcard Gothic" size="15" color="#666666" letterSpacing="0.000000" kerning="1">10:20</font></p>

<p align="center"><font face="Showcard Gothic" size="15" color="#ff0000" letterSpacing="0.000000" kerning="1">872</font></p>

<p align="center"><font face="Showcard Gothic" size="15" color="#666666" letterSpacing="0.000000" kerning="1">12,083</font></p>

<p align="center"><font face="Showcard Gothic" size="15" color="#666666" letterSpacing="0.000000" kerning="1">98.0%</font></p>

GameMain

ActionScript [AS3]

Section 1
//AnyKey (AnyKey) package { import flash.display.*; public dynamic class AnyKey extends MovieClip { } }//package
Section 2
//Arrow (Arrow) package { import flash.display.*; public dynamic class Arrow extends MovieClip { } }//package
Section 3
//AutoSlowMotionButton (AutoSlowMotionButton) package { import flash.display.*; public dynamic class AutoSlowMotionButton extends MovieClip { public function AutoSlowMotionButton(){ addFrameScript(0, frame1, 5, frame6); } function frame6(){ stop(); } function frame1(){ stop(); } } }//package
Section 4
//AutoSlowMotionControl (AutoSlowMotionControl) package { import flash.display.*; public dynamic class AutoSlowMotionControl extends MovieClip { public var _autoSlowMotionButton:AutoSlowMotionButton; } }//package
Section 5
//Backdrop (Backdrop) package { import flash.display.*; public dynamic class Backdrop extends MovieClip { } }//package
Section 6
//BeatingHeart (BeatingHeart) package { import flash.display.*; public dynamic class BeatingHeart extends MovieClip { } }//package
Section 7
//BluntSound (BluntSound) package { import flash.media.*; public dynamic class BluntSound extends Sound { } }//package
Section 8
//Boundaries (Boundaries) package { import flash.display.*; public class Boundaries extends MovieClip { public var _startAnchor:StartAnchor; } }//package
Section 9
//Boundaries0 (Boundaries0) package { public dynamic class Boundaries0 extends Boundaries { } }//package
Section 10
//Boundaries1 (Boundaries1) package { public dynamic class Boundaries1 extends Boundaries { } }//package
Section 11
//Boundaries2 (Boundaries2) package { public dynamic class Boundaries2 extends Boundaries { } }//package
Section 12
//Boundaries3 (Boundaries3) package { public dynamic class Boundaries3 extends Boundaries { } }//package
Section 13
//Bubble (Bubble) package { import flash.display.*; public dynamic class Bubble extends MovieClip { } }//package
Section 14
//Clock (Clock) package { import flash.events.*; import flash.display.*; import flash.geom.*; public class Clock extends MovieClip { private var _toggleSettingsMenuCallback:Function; private var _player:Player; public var _clockHand2:ClockHand; public var _clockHand1:ClockHand; public function Clock(_arg1:Player, _arg2:Function):void{ _player = _arg1; _toggleSettingsMenuCallback = _arg2; _clockHand1.transform.colorTransform = new ColorTransform(0, 0, 0, 1, 0xFF, 0, 0, 0); this.buttonMode = true; } public function mouseDownHandler(_arg1:MouseEvent):void{ if ((((_arg1.target == this)) || ((_arg1.target.parent == this)))){ _toggleSettingsMenuCallback(); }; } public function keyDownHandler(_arg1:KeyboardEvent):void{ } public function mouseUpHandler(_arg1:MouseEvent):void{ } public function update():void{ _clockHand1.rotation = (_clockHand1.rotation + (0.5 * _player.adrenalineFactor)); _clockHand2.rotation = (_clockHand2.rotation + (6 * _player.adrenalineFactor)); } public function keyUpHandler(_arg1:KeyboardEvent):void{ } } }//package
Section 15
//ClockHand (ClockHand) package { import flash.display.*; public dynamic class ClockHand extends MovieClip { } }//package
Section 16
//DimScreen (DimScreen) package { import flash.display.*; public dynamic class DimScreen extends MovieClip { } }//package
Section 17
//DocumentMain (DocumentMain) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.utils.*; import flash.geom.*; import flash.filters.*; public class DocumentMain extends MovieClip { private var _player:Player; private var _mountains:Mountains; private var _dyingSequence:Boolean; private var _settingsWindow:SettingsWindow; private var _clock:Clock; private var _debugMode:Boolean; private var _pauseFocus:Array; private var _fps:FPS; private var _enemySpawnDelayCtr:Number; private var _timeMeter:TimeMeter; private var _fullSound:MonsterMeterFull; private var _timer:Timer; private var _gameState:String; private var _stageData:Array; private var _fogScreen:FogScreen; private var _nextStage:Number; private var _activeStartAnchor:StartAnchor; private var _dimScreenOn:Boolean; private var _debugLayer:MovieClip; private var _keyListeningAssets:Array; private var _gamePaused:Boolean; private var _originalVolume:Number; private var _dunes:Dunes; private var _wavesSurvived:Number; private var _speechCtr:Number; private var _enemyHitAssets:Array; private var _point:Point; private var _stageLayer; private var _dimScreen:DimScreen; private var _trees:Trees; private var _mouseListeningAssets:Array; private var _stats:Object; private var _speechChance:Number; private var _monsterMeter:MonsterMeter; private var _statsWindow:StatsWindow; private var _scrollingAssets:Array; private var _playerBubble:Bubble; private var _backdrop:Backdrop; private var _maxEnemies:Number; private var _keyStates:Object; private var _speechPool:Array; private var _interfaceLayer:MovieClip; private var _toMenuScreenCallback:Function; private var _unitsLayer:MovieClip; private var _healthMeter:HealthMeter; private var _playerHitAssets:Array; private var _redMeter:RedMeter; public var kongregate; private var _messageWindow:MessageWindow; private var _allDynamicAssets:Array; private var _currentStage:Number; private var _boundaries:MovieClip; private var _volumeControl:VolumeControl; private var _bgProps:Array; private var _allEnemies:Array; private var _delayCtr:Number; private var _stage:Stage; public function DocumentMain(_arg1:Stage):void{ var _local2:Number; var _local5:Leaf; super(); _stage = _arg1; _stage.stageFocusRect = false; MusicManager.setCurrent(MusicManager.COLD_FUNK); MusicManager.playCurrent(); _timer = new Timer(1000); _timer.addEventListener(TimerEvent.TIMER, timerEventHandler); _timer.start(); _speechChance = 0.05; _originalVolume = -1; _fullSound = new MonsterMeterFull(); _enemySpawnDelayCtr = 0; _point = new Point(0, 0); _stats = {wavesSurvived:0, secondsElapsed:0, totalKnockouts:0, shurikensThrown:0, shurikensHit:0, perfectAccuracyWaves:0, perfectDodgeWaves:0, beenHit:false}; _dyingSequence = false; _dimScreenOn = false; _keyStates = {up:false, down:false, right:false, left:false, shift:false, space:false}; _gamePaused = false; _pauseFocus = new Array(); _bgProps = new Array(); _allEnemies = new Array(); _delayCtr = 0; _gameState = "transitioning stages"; _debugMode = false; _enemyHitAssets = new Array(); _playerHitAssets = new Array(); _allDynamicAssets = new Array(); _keyListeningAssets = new Array(); _mouseListeningAssets = new Array(); _scrollingAssets = new Array(); _currentStage = 0; _nextStage = 1; _wavesSurvived = 0; _speechPool = ["why so serious?", "\nbrother?", "\narms?", "gum is yummy", "\nmeow", "i'm his cousin", "\nmeh", "\nargh.", "\ndude", "hohoho", "\ntwins?", "\nfarted", "we're cats", "am i a tooth?", "i like spearmint", "\n5 stars?", "\ne=mc2", "he's smart", "\ni'm smart", "happy face", "stop cheating", "still here?", "rest a bit"]; _speechCtr = Math.floor((Math.random() * _speechPool.length)); _stageData = [{leftBound:-500, rightBound:1500, bgProps:[{instance:null, type:SignPost, x:-125.4, y:230, frameLabel:"how to move"}, {instance:null, type:SignPost, x:470, y:230, frameLabel:"how to throw"}, {instance:null, type:SignPost, x:940, y:268, frameLabel:"how to slow"}, {instance:null, type:SignPost, x:1370, y:240, frameLabel:"how to levitate"}, {instance:null, type:SignPost, x:2550, y:82, frameLabel:"survive"}], boss:{instantiated:true, instance:null}, transition:[{instantiated:false, instance:null, type:Enemy, x:4070, behaviorType:2}, {instantiated:false, instance:null, type:Enemy, x:4620, behaviorType:2, bossMode:true}, {instantiated:false, instance:null, type:Enemy, x:4720, behaviorType:2}]}, {leftBound:200, rightBound:1600, initialMaxEnemies:2, additionalMaxEnemies:3, bgProps:[], enemies:[{instantiated:false, instance:null, type:Enemy, x:-145}, {instantiated:false, instance:null, type:Enemy, x:1900}, {instantiated:false, instance:null, type:Enemy, x:1020}, {instantiated:false, instance:null, type:Enemy, x:1245}, {instantiated:false, instance:null, type:Enemy, x:250}, {instantiated:false, instance:null, type:Enemy, x:600}, {instantiated:false, instance:null, type:Enemy, x:1500}], boss:{instantiated:false, instance:null, type:Enemy2, x:1190, bossMode:true}, transition:[{instantiated:false, instance:null, type:Enemy, x:3450, behaviorType:2}, {instantiated:false, instance:null, type:Enemy, x:2765, behaviorType:2}, {instantiated:false, instance:null, type:Enemy, x:4650, behaviorType:2}], monsterMeterCapacity:50}, {leftBound:600, rightBound:2500, initialMaxEnemies:3, additionalMaxEnemies:2, bgProps:[], enemies:[{instantiated:false, instance:null, type:Enemy2, x:-370}, {instantiated:false, instance:null, type:Enemy, x:2830}, {instantiated:false, instance:null, type:Enemy, x:400}, {instantiated:false, instance:null, type:Enemy, x:2100}, {instantiated:false, instance:null, type:Enemy, x:1250}, {instantiated:false, instance:null, type:Enemy, x:700}, {instantiated:false, instance:null, type:Enemy2, x:1750}], boss:{instantiated:false, instance:null, type:Enemy4, x:1200, behaviorType:2, bossMode:true}, transition:[{instantiated:false, instance:null, type:Enemy, x:3550, behaviorType:2}, {instantiated:false, instance:null, type:Enemy, x:4080, behaviorType:2}, {instantiated:false, instance:null, type:Enemy, x:4560, behaviorType:2}, {instantiated:false, instance:null, type:Enemy, x:5780, behaviorType:2}], monsterMeterCapacity:50}, {leftBound:0, rightBound:1000, initialMaxEnemies:2, additionalMaxEnemies:1, bgProps:[], enemies:[{instantiated:false, instance:null, type:Enemy, x:0}, {instantiated:false, instance:null, type:Enemy4, x:600}, {instantiated:false, instance:null, type:Enemy, x:1200}], boss:{instantiated:false, instance:null, type:Enemy4, x:900, behaviorType:2, bossMode:true}, transition:[{instantiated:false, instance:null, type:Enemy, x:2290, behaviorType:2}, {instantiated:false, instance:null, type:Enemy, x:3000, behaviorType:2}], monsterMeterCapacity:50}]; _player = new Player(); _stageLayer = new MovieClip(); this.addChild(_stageLayer); _backdrop = new Backdrop(); _backdrop.transform.colorTransform = new ColorTransform(0.5, 0.5, 0.5, 1, 100, 100, 100, 0); _backdrop.filters = [new BlurFilter(5, 5, BitmapFilterQuality.HIGH)]; _backdrop.cacheAsBitmap = true; _stageLayer.addChild(_backdrop); _mountains = new Mountains(); _mountains.transform.colorTransform = new ColorTransform(0.5, 0.5, 0.5, 1, 70, 70, 70, 0); _mountains.filters = [new BlurFilter(3, 3, BitmapFilterQuality.HIGH)]; _mountains.cacheAsBitmap = true; _mountains.scrollMultiplier = 0.33; _mountains.x = 1178; _stageLayer.addChild(_mountains); _scrollingAssets.push(_mountains); _dunes = new Dunes(); _dunes.transform.colorTransform = new ColorTransform(0.5, 0.5, 0.5, 1, 70, 70, 70, 0); _dunes.filters = [new BlurFilter(3, 3, BitmapFilterQuality.HIGH)]; _dunes.cacheAsBitmap = true; _dunes.scrollMultiplier = 0.33; _dunes.x = 3828; _stageLayer.addChild(_dunes); _scrollingAssets.push(_dunes); _trees = new Trees(); _trees.x = 3570; _stageLayer.addChild(_trees); _scrollingAssets.push(_trees); _boundaries = new MovieClip(); _stageLayer.addChild(_boundaries); _scrollingAssets.push(_boundaries); var _local3:* = new Boundaries0(); _local3._startAnchor.y = (_local3._startAnchor.y + (_stage.stageHeight + 100)); _boundaries.addChild(_local3); _activeStartAnchor = _local3._startAnchor; _local3.cacheAsBitmap = true; var _local4:* = new Boundaries1(); _local4.x = (_local3.width + 200); _local4._startAnchor.y = (_local4._startAnchor.y + (_stage.stageHeight + 100)); _boundaries.addChild(_local4); _local4.cacheAsBitmap = true; _unitsLayer = new MovieClip(); this.addChild(_unitsLayer); _playerBubble = new Bubble(); _interfaceLayer = new MovieClip(); this.addChild(_interfaceLayer); _fogScreen = new FogScreen(); _fogScreen.alpha = 0; _interfaceLayer.addChild(_fogScreen); _redMeter = new RedMeter(); _redMeter.gotoAndStop(100); _redMeter.x = 8; _redMeter.y = 333.6; _interfaceLayer.addChild(_redMeter); _monsterMeter = new MonsterMeter(); _monsterMeter.x = 20; _monsterMeter.y = 100; _monsterMeter._monsterMeterFace.gotoAndStop("sleeping"); _interfaceLayer.addChild(_monsterMeter); _healthMeter = new HealthMeter(_player); _healthMeter.x = 700; _healthMeter.y = 490; _interfaceLayer.addChild(_healthMeter); _volumeControl = new VolumeControl(); _volumeControl.activate(); _volumeControl.x = 550; _volumeControl.y = 15; _interfaceLayer.addChild(_volumeControl); _timeMeter = new TimeMeter(_player); _timeMeter.x = 80; _timeMeter.y = 1; _interfaceLayer.addChild(_timeMeter); _allDynamicAssets.push(_timeMeter); _mouseListeningAssets.push(_timeMeter); _keyListeningAssets.push(_timeMeter); _dimScreen = new DimScreen(); _dimScreen.alpha = 0; _interfaceLayer.addChild(_dimScreen); _clock = new Clock(_player, toggleSettingsMenu); _clock.x = 20; _clock.y = 10; _interfaceLayer.addChild(_clock); _allDynamicAssets.push(_clock); _keyListeningAssets.push(_clock); _mouseListeningAssets.push(_clock); _fps = new FPS(_stage); _fps.x = 10; _fps.y = 70; _interfaceLayer.addChild(_fps); _messageWindow = new MessageWindow(removeMessageWindow, toggleSettingsMenu); _messageWindow.x = 125; _messageWindow.y = 115; _messageWindow.filters = [new DropShadowFilter(10, 45, 0, 1, 10, 10, 1, 1, false, false, false)]; _mouseListeningAssets.push(_messageWindow); _keyListeningAssets.push(_messageWindow); _interfaceLayer.addChild(_messageWindow); _settingsWindow = new SettingsWindow(_mouseListeningAssets, _keyListeningAssets, _stage, unpauseGame, this, _stats, _toMenuScreenCallback); _settingsWindow.x = 75; _settingsWindow.y = 75; _settingsWindow.filters = [new DropShadowFilter(10, 45, 0, 1, 10, 10, 1, 1, false, false, false)]; _player.registerReferences({boundaries:_boundaries, playerHitAssets:_playerHitAssets, enemyHitAssets:_enemyHitAssets, bubble:_playerBubble, redMeter:_redMeter, healthMeter:_healthMeter, timeMeter:_timeMeter, volumeControl:_volumeControl, allDynamicAssets:_allDynamicAssets, scrollingAssets:_scrollingAssets, clock:_clock, player:_player, dyingSequenceCallback:dyingSequence, stats:_stats}); _player.gotoAndStop("falling"); _unitsLayer.addChild(_player); _allDynamicAssets.push(_player); _keyListeningAssets.push(_player); _mouseListeningAssets.push(_player); this.instantiateStageData(); _local2 = 0; while (_local2 < 7) { _local5 = new Leaf(_stage, _player); _stageLayer.addChild(_local5); _allDynamicAssets.push(_local5); _pauseFocus.push(_local5); _local2++; }; _pauseFocus.push(_messageWindow); _pauseFocus.push(_clock); this.pauseGame(); _debugLayer = new MovieClip(); this.addChild(_debugLayer); this.scrollStage(1); _stage.focus = _stage; this.addEventListener(Event.ENTER_FRAME, enterFrameHandler); _stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); _stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); } private function instantiateStageData(){ var _local1:MovieClip; var _local2:Number; var _local3:Array; var _local4:Object; var _local5:Number; var _local6:Notification; var _local7:*; var _local8:*; if (_gameState == "initializing stage"){ if (_delayCtr == 0){ _local6 = new Notification(_stage, String((_wavesSurvived + 1)), _allDynamicAssets); _allDynamicAssets.push(_local6); _interfaceLayer.addChild(_local6); _delayCtr++; } else { if (_delayCtr > 60){ _gameState = "running stage"; if (_wavesSurvived >= 3){ _local1 = new Enemy5(); _local1.scaleX = 1.5; _local1.scaleY = 1.5; _local1.x = (Math.random() * 700); _local1.y = -(_local1.height); _local1.registerReferences({boundaries:_boundaries, playerHitAssets:_playerHitAssets, enemyHitAssets:_enemyHitAssets, scrollingAssets:_scrollingAssets, allDynamicAssets:_allDynamicAssets, player:_player, stage:_stage, monsterMeter:_monsterMeter, healthMeter:_healthMeter, allEnemies:_allEnemies, stats:_stats}); _unitsLayer.addChild(_local1); _allDynamicAssets.push(_local1); _scrollingAssets.push(_local1); _allEnemies.push(_local1); }; } else { _delayCtr++; }; }; } else { if (_gameState == "running stage"){ if (_enemySpawnDelayCtr >= 15){ _enemySpawnDelayCtr = 0; _local3 = _stageData[_currentStage].enemies; _maxEnemies = (_stageData[_currentStage].initialMaxEnemies + _wavesSurvived); _maxEnemies = (_maxEnemies + Math.round(((_stageData[_currentStage].additionalMaxEnemies + _wavesSurvived) * (_monsterMeter.fillCtr / _monsterMeter.capacity)))); _local2 = 0; if (_allEnemies.length < _maxEnemies){ _local5 = Math.floor((Math.random() * _local3.length)); _local4 = _local3[_local5]; if ((((_local4.type == Enemy2)) && (!(_local4.bossMode)))){ _local7 = 0; _local8 = 0; while (_local7 < _allEnemies.length) { if ((_allEnemies[_local7] is Enemy2)){ _local8++; }; if (_local8 >= 6){ break; }; _local7++; }; if (_local8 >= 6){ _local1 = new Enemy(_local4.bossMode); } else { _local1 = new _local4.type(_local4.bossMode); }; } else { _local1 = new _local4.type(_local4.bossMode); if ((((_local4.type == Enemy)) && ((Math.random() < _speechChance)))){ _local1._speechBubble._textField.text = _speechPool[(_speechCtr % _speechPool.length)]; _speechCtr++; _local1._speechBubble.visible = true; _local1._speechBubblePointer.visible = true; }; }; _local4.instance = _local1; if (_local4.behaviorType != null){ _local1.behaviorType = _local4.behaviorType; }; _local4.instantiated = true; _local1.registerReferences({boundaries:_boundaries, playerHitAssets:_playerHitAssets, enemyHitAssets:_enemyHitAssets, scrollingAssets:_scrollingAssets, allDynamicAssets:_allDynamicAssets, player:_player, currentStageData:_local3, stage:_stage, monsterMeter:_monsterMeter, healthMeter:_healthMeter, allEnemies:_allEnemies, stats:_stats}); _local1.x = (_activeStartAnchor.localToGlobal(_point).x + _local4.x); _local1.x = (_local1.x + ((Math.random() * 300) - 150)); _local1.y = -10; _unitsLayer.addChild(_local1); _allDynamicAssets.push(_local1); _scrollingAssets.push(_local1); _allEnemies.push(_local1); if ((((_wavesSurvived >= 3)) && ((_local1 is Enemy)))){ _local1.skeletonize((_wavesSurvived - 2)); }; _local2++; }; } else { _enemySpawnDelayCtr++; }; if (_monsterMeter.bossMode){ while (_allEnemies.length > 0) { _allEnemies.pop().die(); }; _gameState = "fighting boss"; _monsterMeter.deactivateStageMode(); _delayCtr = 0; }; } else { if (_gameState == "fighting boss"){ if (!_stageData[_currentStage].boss.instantiated){ if (_delayCtr < 30){ _delayCtr++; } else { _local1 = new _stageData[_currentStage].boss.type(_stageData[_currentStage].boss.bossMode); _stageData[_currentStage].boss.instance = _local1; if (_stageData[_currentStage].boss.behaviorType != null){ _local1.behaviorType = _stageData[_currentStage].boss.behaviorType; }; _stageData[_currentStage].boss.instantiated = true; _local1.registerReferences({boundaries:_boundaries, playerHitAssets:_playerHitAssets, enemyHitAssets:_enemyHitAssets, scrollingAssets:_scrollingAssets, allDynamicAssets:_allDynamicAssets, player:_player, currentStageData:null, healthMeter:_healthMeter, stage:_stage, monsterMeter:_monsterMeter, stats:_stats, allEnemies:_allEnemies}); _local1.x = (_activeStartAnchor.localToGlobal(_point).x + _stageData[_currentStage].boss.x); _local1.y = -100; _unitsLayer.addChild(_local1); _allDynamicAssets.push(_local1); _scrollingAssets.push(_local1); if (_wavesSurvived == 0){ _local1._weakSpotArrow.visible = true; _local1._weakSpotMessage.visible = true; }; }; } else { if ((((_stageData[_currentStage].boss.instance == null)) || (!(this.contains(_stageData[_currentStage].boss.instance))))){ _stageData[_currentStage].boss.instantiated = false; _stageData[_currentStage].boss.instance = null; _monsterMeter.setMeter(0); _monsterMeter.deactivateBossMode(); _monsterMeter._monsterMeterFace.gotoAndStop("sleeping"); _gameState = "transitioning stages"; _wavesSurvived++; if (_stats.shurikensHit >= _stats.shurikensThrown){ _stats.perfectAccuracyWaves = _wavesSurvived; }; if (!_stats.beenHit){ _stats.perfectDodgeWaves = _wavesSurvived; }; _local6 = new Notification(_stage, "go", _allDynamicAssets); _allDynamicAssets.push(_local6); _interfaceLayer.addChild(_local6); } else { _monsterMeter.setMeter((_stageData[_currentStage].boss.instance.health / _stageData[_currentStage].boss.instance.maxHealth)); if (_allEnemies.length < (Math.floor((_wavesSurvived / 3)) * 2)){ if (_enemySpawnDelayCtr >= 15){ _enemySpawnDelayCtr = 0; _local3 = _stageData[_currentStage].enemies; _local5 = Math.floor((Math.random() * _local3.length)); _local4 = _local3[_local5]; _local1 = new _local3[_local5].type(_local4.bossMode); if ((((_local4.type == Enemy)) && ((Math.random() < _speechChance)))){ _local1._speechBubble._textField.text = _speechPool[(_speechCtr % _speechPool.length)]; _speechCtr++; _local1._speechBubble.visible = true; _local1._speechBubblePointer.visible = true; }; _local4.instance = _local1; if (_local4.behaviorType != null){ _local1.behaviorType = _local4.behaviorType; }; _local4.instantiated = true; _local1.registerReferences({boundaries:_boundaries, playerHitAssets:_playerHitAssets, enemyHitAssets:_enemyHitAssets, scrollingAssets:_scrollingAssets, allDynamicAssets:_allDynamicAssets, player:_player, currentStageData:_local3, stage:_stage, monsterMeter:_monsterMeter, healthMeter:_healthMeter, allEnemies:_allEnemies, stats:_stats}); _local1.x = (_activeStartAnchor.localToGlobal(_point).x + _local4.x); _local1.x = (_local1.x + ((Math.random() * 300) - 150)); _local1.y = -10; _unitsLayer.addChild(_local1); _allDynamicAssets.push(_local1); _scrollingAssets.push(_local1); _allEnemies.push(_local1); } else { _enemySpawnDelayCtr++; }; }; }; }; } else { if (_gameState == "transitioning stages"){ if (_player.x >= (Boundaries(_boundaries.getChildAt(1))._startAnchor.localToGlobal(_point).x + _stageData[_nextStage].leftBound)){ _local2 = 0; while (_local2 < _allEnemies.length) { if (_allEnemies[_local2].x < ((_allEnemies[_local2].scaleX * _allEnemies[_local2].width) / 2)){ _allEnemies[_local2].remove(); _allEnemies.splice(_local2, 1); } else { _local2++; }; }; _local3 = _stageData[_currentStage].transition; _local2 = 0; while (_local2 < _local3.length) { _local3[_local2].instantiated = false; _local2++; }; _delayCtr = 0; _gameState = "initializing stage"; _boundaries.removeChildAt(0); _currentStage = _nextStage; _activeStartAnchor = Boundaries(_boundaries.getChildAt(0))._startAnchor; _monsterMeter._monsterMeterFace.gotoAndStop("normal"); _monsterMeter.capacity = (_stageData[_currentStage].monsterMeterCapacity + (_wavesSurvived * 2)); _monsterMeter.activateStageMode(); this.appendNextStage(); } else { _local3 = _stageData[_currentStage].transition; _local2 = 0; while (_local2 < _local3.length) { if (((((!(_local3[_local2].instantiated)) && (((_activeStartAnchor.localToGlobal(_point).x + _local3[_local2].x) < (_player.x + _stage.stageWidth))))) && (((_activeStartAnchor.localToGlobal(_point).x + _local3[_local2].x) > (_player.x - _stage.stageWidth))))){ _local1 = new _local3[_local2].type(_local3[_local2].bossMode); if ((((_local3[_local2].type == Enemy)) && ((Math.random() < _speechChance)))){ _local1._speechBubble._textField.text = _speechPool[(_speechCtr % _speechPool.length)]; _speechCtr++; _local1._speechBubble.visible = true; _local1._speechBubblePointer.visible = true; }; _local3[_local2].instance = _local1; if (_local3[_local2].behaviorType != null){ _local1.behaviorType = _local3[_local2].behaviorType; }; _local3[_local2].instantiated = true; _local1.registerReferences({boundaries:_boundaries, playerHitAssets:_playerHitAssets, enemyHitAssets:_enemyHitAssets, scrollingAssets:_scrollingAssets, allDynamicAssets:_allDynamicAssets, player:_player, currentStageData:_local3, stage:_stage, monsterMeter:_monsterMeter, healthMeter:_healthMeter, allEnemies:_allEnemies, stats:_stats}); _local1.x = (_activeStartAnchor.localToGlobal(_point).x + _local3[_local2].x); _local1.y = -100; _unitsLayer.addChild(_local1); _allDynamicAssets.push(_local1); _scrollingAssets.push(_local1); _allEnemies.push(_local1); }; _local2++; }; }; }; }; }; }; _local3 = _stageData[_currentStage].bgProps; _local2 = 0; while (_local2 < _local3.length) { _local4 = _local3[_local2]; if (_local4.instance == null){ if (((((_player.virtualX + _stage.stageWidth) > _local4.x)) && (((_player.virtualX - _stage.stageWidth) < _local4.x)))){ _local1 = new _local4.type(); _local4.instance = _local1; _local1.x = (_activeStartAnchor.localToGlobal(new Point(0, 0)).x + _local4.x); _local1.y = _local4.y; _local1.transform.colorTransform = new ColorTransform(0.9, 0.9, 0.9, 1, 20, 20, 20, 0); if (_local4.frameLabel != null){ _local1.gotoAndStop(_local4.frameLabel); }; _local1.cacheAsBitmap = true; _stageLayer.addChildAt(_local1, _stageLayer.getChildIndex(_boundaries)); _scrollingAssets.push(_local1); }; } else { if (((((_player.virtualX + _stage.stageWidth) < _local4.x)) || (((_player.virtualX - _stage.stageWidth) > _local4.x)))){ _stageLayer.removeChild(_local4.instance); _scrollingAssets.splice(_scrollingAssets.indexOf(_local4.instance), 1); _local4.instance = null; }; }; _local2++; }; } private function pauseGame():void{ _timer.stop(); _dimScreenOn = true; _dimScreen.alpha = 1; _gamePaused = true; _allDynamicAssets.splice(_allDynamicAssets.indexOf(_clock), 1); this.reorderDimLayer(); } private function mouseUpHandler(_arg1:MouseEvent):void{ var _local3:Number; if (_gamePaused){ _local3 = 0; while (_local3 < _pauseFocus.length) { if (_mouseListeningAssets.indexOf(_pauseFocus[_local3]) != -1){ _pauseFocus[_local3].mouseUpHandler(_arg1); }; _local3++; }; return; }; var _local2:Number = 0; while (_local2 < _mouseListeningAssets.length) { _mouseListeningAssets[_local2].mouseUpHandler(_arg1); _local2++; }; } private function enterFrameHandler(_arg1:Event):void{ var sc:SoundChannel; var pauseFocusCtr:Number; var respawnOffset1:Number; var respawnOffset2:Number; var e = _arg1; try { SpeedMonitor.endTimer("frame total"); } catch(Error) { }; SpeedMonitor.startTimer("frame total"); if (_dyingSequence){ if (((!((_originalVolume == -1))) && ((MusicManager.getVolume() > 0)))){ if (MusicManager.getVolume() < 0.03){ MusicManager.setVolume(0); } else { MusicManager.setVolume((MusicManager.getVolume() - 0.03)); }; }; if (_dimScreen.alpha < 1){ _dimScreen.alpha = (_dimScreen.alpha + 0.03); if (_dimScreen.alpha >= 1){ _dimScreen.alpha = 1; MusicManager.stopCurrent(); MusicManager.setVolume(_originalVolume); _originalVolume = -1; sc = _fullSound.play(); sc.soundTransform = new SoundTransform((MusicManager.getVolume() * 2), 0); _interfaceLayer.addChild(_statsWindow); }; }; return; }; if ((((_dimScreen.alpha > 0)) && (!(_dimScreenOn)))){ _dimScreen.alpha = (_dimScreen.alpha - 0.2); if (_dimScreen.alpha < 0){ _dimScreen.alpha = 0; if (_interfaceLayer.contains(_dimScreen)){ _interfaceLayer.removeChild(_dimScreen); }; }; }; if (_gamePaused){ pauseFocusCtr = 0; while (pauseFocusCtr < _pauseFocus.length) { if (_allDynamicAssets.indexOf(_pauseFocus[pauseFocusCtr]) != -1){ _pauseFocus[pauseFocusCtr].update(); }; pauseFocusCtr = (pauseFocusCtr + 1); }; return; }; var ctr:Number = 0; if (_fogScreen.alpha < (1 - _player.adrenalineFactor)){ _fogScreen.alpha = (_fogScreen.alpha + 0.1); } else { if ((_fogScreen.alpha - 0.1) > (1 - _player.adrenalineFactor)){ _fogScreen.alpha = (_fogScreen.alpha - 0.1); }; }; this.instantiateStageData(); while (ctr < _allDynamicAssets.length) { SpeedMonitor.startTimer(String(ctr)); _allDynamicAssets[ctr].update(); SpeedMonitor.endTimer(String(ctr)); ctr = (ctr + 1); }; scrollStage(); if (_player.y > (_stage.stageHeight + 650)){ respawnOffset1 = (_activeStartAnchor.localToGlobal(_point).x - _player.x); respawnOffset2 = (_activeStartAnchor.localToGlobal(_point).x + _stageData[_currentStage].leftBound); if (Math.abs(respawnOffset1) > Math.abs(respawnOffset2)){ _player.warpToVirtualCoordinates((_player.virtualX + respawnOffset2), 0); } else { _player.warpToVirtualCoordinates((_player.virtualX + respawnOffset1), 0); }; _player.beginBlinking(); } else { if (_player.y < -500){ _player.y = -500; }; }; if (_debugMode){ this.showHitBounds(); }; if (!_healthMeter.blinking){ if (_player.y > (_stage.stageHeight * 0.8)){ if (_healthMeter.alpha > 0.5){ _healthMeter.alpha = (_healthMeter.alpha - 0.1); }; } else { if (_healthMeter.alpha < 1){ _healthMeter.alpha = (_healthMeter.alpha + 0.1); }; if (_healthMeter.alpha > 1){ _healthMeter.alpha = 1; }; }; }; } private function dyingSequence():void{ this.sendKongStats(); _originalVolume = MusicManager.getVolume(); _dyingSequence = true; _unitsLayer.removeChild(_player); _interfaceLayer.addChild(_player); _pauseFocus.push(_player); _stats.wavesSurvived = _wavesSurvived; _statsWindow = new StatsWindow(_stage, _stats, _toMenuScreenCallback); _statsWindow.x = 92; _statsWindow.y = 40; _keyListeningAssets.push(_statsWindow); _mouseListeningAssets.push(_statsWindow); _pauseFocus.push(_statsWindow); pauseGame(); _dimScreen.alpha = 0; } private function timerEventHandler(_arg1:TimerEvent):void{ _stats.secondsElapsed++; } private function scrollStage(_arg1:Number=0.5):void{ var ctr:Number; var scrollFactorIsDefined:Boolean; var panDelayFactor = _arg1; if ((((_player.x >= (Boundaries(_boundaries.getChildAt(0))._startAnchor.localToGlobal(_point).x + _stageData[_currentStage].leftBound))) && ((((_gameState == "transitioning stages")) || ((_player.x <= (Boundaries(_boundaries.getChildAt(0))._startAnchor.localToGlobal(_point).x + _stageData[_currentStage].rightBound))))))){ ctr = 0; if (Math.abs(((_stage.stageWidth * 0.5) - _player.x)) > 1){ while (ctr < _scrollingAssets.length) { try { if (String(_scrollingAssets[ctr].scrollMultiplier) == "undefined"){ _scrollingAssets[ctr].scrollMultiplier = 1; }; scrollFactorIsDefined = true; } catch(e:Error) { scrollFactorIsDefined = false; }; if (scrollFactorIsDefined){ _scrollingAssets[ctr].x = (_scrollingAssets[ctr].x + ((((_stage.stageWidth * 0.5) - _player.x) * _scrollingAssets[ctr].scrollMultiplier) * panDelayFactor)); } else { _scrollingAssets[ctr].x = (_scrollingAssets[ctr].x + (((_stage.stageWidth * 0.5) - _player.x) * panDelayFactor)); }; ctr = (ctr + 1); }; _player.x = (_player.x + (((_stage.stageWidth * 0.5) - _player.x) * panDelayFactor)); }; } else { if (_player.x < 20){ _player.virtualX = (_player.virtualX + (20 - _player.x)); _player.x = 20; } else { if (_player.x > (_stage.stageWidth - 20)){ _player.virtualX = (_player.virtualX + ((_stage.stageWidth - 20) - _player.x)); _player.x = (_stage.stageWidth - 20); }; }; }; } private function mouseDownHandler(_arg1:MouseEvent):void{ var _local3:Number; if (_gamePaused){ _local3 = 0; while (_local3 < _pauseFocus.length) { if (_mouseListeningAssets.indexOf(_pauseFocus[_local3]) != -1){ _pauseFocus[_local3].mouseDownHandler(_arg1); }; _local3++; }; return; }; var _local2:Number = 0; while (_local2 < _mouseListeningAssets.length) { _mouseListeningAssets[_local2].mouseDownHandler(_arg1); _local2++; }; } private function keyDownHandler(_arg1:KeyboardEvent):void{ var _local3:Number; switch (_arg1.keyCode){ case 65: _keyStates.left = true; break; case 87: _keyStates.up = true; break; case 68: _keyStates.right = true; break; case 83: _keyStates.down = true; break; case 16: _keyStates.shift = true; break; case 32: _keyStates.space = true; break; }; if (_gamePaused){ _local3 = 0; while (_local3 < _pauseFocus.length) { if (_keyListeningAssets.indexOf(_pauseFocus[_local3]) != -1){ _pauseFocus[_local3].keyDownHandler(_arg1); }; _local3++; }; return; }; var _local2:Number = 0; while (_local2 < _keyListeningAssets.length) { _keyListeningAssets[_local2].keyDownHandler(_arg1); _local2++; }; switch (_arg1.keyCode){ case 81: this.toggleSettingsMenu(); break; case 32: break; case 66: trace(("num enemy hit assets: " + _enemyHitAssets.length)); _debugMode = !(_debugMode); this.showHitBounds(); break; case 67: break; }; } private function unpauseGame():void{ _timer.start(); if (_allDynamicAssets.indexOf(_clock) == -1){ _allDynamicAssets.push(_clock); }; _dimScreenOn = false; _gamePaused = false; _pauseFocus = new Array(); _player.updateInput(_keyStates); _stage.focus = _stage; } private function keyUpHandler(_arg1:KeyboardEvent):void{ var _local3:Number; switch (_arg1.keyCode){ case 37: case 65: _keyStates.left = false; break; case 38: case 87: _keyStates.up = false; break; case 39: case 68: _keyStates.right = false; break; case 40: case 83: _keyStates.down = false; break; case 16: _keyStates.shift = false; break; case 32: _keyStates.space = false; break; }; if (_gamePaused){ _local3 = 0; while (_local3 < _pauseFocus.length) { if (_keyListeningAssets.indexOf(_pauseFocus[_local3]) != -1){ _pauseFocus[_local3].keyUpHandler(_arg1); }; _local3++; }; return; }; var _local2:Number = 0; while (_local2 < _keyListeningAssets.length) { _keyListeningAssets[_local2].keyUpHandler(_arg1); _local2++; }; } public function setCallbacks(_arg1:Function){ _toMenuScreenCallback = _arg1; _settingsWindow.updateMenuScreenCallback(_arg1); } private function toggleSettingsMenu():void{ if (_interfaceLayer.contains(_messageWindow)){ this.removeMessageWindow(); }; if (!_gamePaused){ _interfaceLayer.addChild(_settingsWindow); _stats.wavesSurvived = _wavesSurvived; _settingsWindow.update(); _keyListeningAssets.push(_settingsWindow); _mouseListeningAssets.push(_settingsWindow); _pauseFocus.push(_settingsWindow); _pauseFocus.push(_clock); _pauseFocus.push(_timeMeter); _pauseFocus.push(_volumeControl); this.pauseGame(); } else { if (_pauseFocus.indexOf(_settingsWindow) != -1){ _mouseListeningAssets.splice(_mouseListeningAssets.indexOf(_settingsWindow), 1); _keyListeningAssets.splice(_keyListeningAssets.indexOf(_settingsWindow), 1); _interfaceLayer.removeChild(_settingsWindow); _allDynamicAssets.push(_clock); _stage.focus = _stage; this.unpauseGame(); }; }; } private function showHitBounds():void{ var _local1:Number; var _local2:HitBound; _local1 = 0; while (_local1 < _debugLayer.numChildren) { if ((_debugLayer.getChildAt(_local1) is HitBound)){ _debugLayer.removeChildAt(_local1); } else { _local1++; }; }; if (!_debugMode){ return; }; _local1 = 0; while (_local1 < _enemyHitAssets.length) { _local2 = new HitBound(); _local2.x = _enemyHitAssets[_local1].getBounds(_debugLayer).x; _local2.y = _enemyHitAssets[_local1].getBounds(_debugLayer).y; _local2.width = _enemyHitAssets[_local1].getBounds(_debugLayer).width; _local2.height = _enemyHitAssets[_local1].getBounds(_debugLayer).height; _debugLayer.addChild(_local2); _local1++; }; _local1 = 0; while (_local1 < _playerHitAssets.length) { _local2 = new HitBound(); _local2.transform.colorTransform = new ColorTransform(0, 0, 0, 1, 0, 0xFF, 0, 0); _local2.x = _playerHitAssets[_local1].getBounds(_debugLayer).x; _local2.y = _playerHitAssets[_local1].getBounds(_debugLayer).y; _local2.width = _playerHitAssets[_local1].getBounds(_debugLayer).width; _local2.height = _playerHitAssets[_local1].getBounds(_debugLayer).height; _debugLayer.addChild(_local2); _local1++; }; _local1 = 0; while (_local1 < _player.hitBounds.length) { _local2 = new HitBound(); _local2.transform.colorTransform = new ColorTransform(0, 0, 0, 1, 0, 0, 0xFF, 0); _local2.x = _player.hitBounds[_local1].getBounds(_debugLayer).x; _local2.y = _player.hitBounds[_local1].getBounds(_debugLayer).y; _local2.width = _player.hitBounds[_local1].getBounds(_debugLayer).width; _local2.height = _player.hitBounds[_local1].getBounds(_debugLayer).height; _debugLayer.addChild(_local2); _local1++; }; } private function removeMessageWindow():void{ _mouseListeningAssets.splice(_mouseListeningAssets.indexOf(_messageWindow), 1); _keyListeningAssets.splice(_keyListeningAssets.indexOf(_messageWindow), 1); _interfaceLayer.removeChild(_messageWindow); _stage.focus = _stage; this.unpauseGame(); } private function appendNextStage(){ var _local1:*; var _local2:*; var _local3:*; if ((((_currentStage == 0)) || ((_currentStage == 3)))){ _nextStage = 1; _local1 = new Boundaries1(); _local1.x = ((_boundaries.getChildAt(0).x + _boundaries.getChildAt(0).width) + 100); _local1._startAnchor.y = (_local1._startAnchor.y + (_stage.stageHeight + 100)); _boundaries.addChild(_local1); _local1.cacheAsBitmap = true; } else { if (_currentStage == 1){ _nextStage = 2; _local2 = new Boundaries2(); _local2.x = ((_boundaries.getChildAt(0).x + _boundaries.getChildAt(0).width) + 100); _local2._startAnchor.y = (_local2._startAnchor.y + (_stage.stageHeight + 100)); _boundaries.addChild(_local2); _local2.cacheAsBitmap = true; } else { if (_currentStage == 2){ _nextStage = 3; _local3 = new Boundaries3(); _local3.x = ((_boundaries.getChildAt(0).x + _boundaries.getChildAt(0).width) + 100); _local3._startAnchor.y = (_local3._startAnchor.y + (_stage.stageHeight + 100)); _boundaries.addChild(_local3); _local3.cacheAsBitmap = true; }; }; }; if (_wavesSurvived >= 2){ _boundaries.getChildAt(1).transform.colorTransform = new ColorTransform((Math.random() + 0.5), (Math.random() + 0.5), (Math.random() + 0.5), 1, 0, 0, 0, 0); }; } private function reorderDimLayer():void{ var _local1:Number; var _local2:Array = new Array(); if (_interfaceLayer.contains(_dimScreen)){ _interfaceLayer.removeChild(_dimScreen); }; _local1 = 0; while (_local1 < _pauseFocus.length) { if (_interfaceLayer.contains(_pauseFocus[_local1])){ _local2.push(_pauseFocus[_local1]); _interfaceLayer.removeChild(_pauseFocus[_local1]); }; _local1++; }; _interfaceLayer.addChild(_dimScreen); _local1 = 0; while (_local1 < _local2.length) { _interfaceLayer.addChild(_local2[_local1]); _local1++; }; } public function uninitialize():void{ _timer.removeEventListener(TimerEvent.TIMER, timerEventHandler); this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler); _stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); _stage.removeEventListener(KeyboardEvent.KEY_UP, keyUpHandler); this.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); this.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); _volumeControl.deactivate(); MusicManager.stopCurrent(); _healthMeter.deactivate(); _fps.deactivate(); } private function sendKongStats():void{ if (kongregate != null){ kongregate.stats.submit("Most Stars Thrown", _stats.shurikensThrown); kongregate.stats.submit("Total Stars Thrown", _stats.shurikensThrown); kongregate.stats.submit("Most Stars Hit", _stats.shurikensHit); kongregate.stats.submit("Total Stars Hit", _stats.shurikensHit); kongregate.stats.submit("Longest Survival Time In Seconds", _stats.secondsElapsed); kongregate.stats.submit("Total Survival Time In Seconds", _stats.secondsElapsed); kongregate.stats.submit("Most Waves Survived", _wavesSurvived); kongregate.stats.submit("Total Waves Survived", _wavesSurvived); kongregate.stats.submit("Most Knockouts", _stats.totalKnockouts); kongregate.stats.submit("Total Knockouts", _stats.totalKnockouts); kongregate.stats.submit("Most Waves With Perfect Accuracy", _stats.perfectAccuracyWaves); kongregate.stats.submit("Most Waves With No Damage Taken", _stats.perfectDodgeWaves); kongregate.stats.submit("Ricochet Master", (Math.floor(((10000 * _stats.shurikensHit) / _stats.shurikensThrown)) / 100)); } else { trace(("Most Stars Thrown" + _stats.shurikensThrown)); trace(("Total Stars Thrown" + _stats.shurikensThrown)); trace(("Most Stars Hit" + _stats.shurikensHit)); trace(("Total Stars Hit" + _stats.shurikensHit)); trace(("Longest Survival Time In Seconds" + _stats.secondsElapsed)); trace(("Total Survival Time In Seconds" + _stats.secondsElapsed)); trace(("Most Waves Survived" + _wavesSurvived)); trace(("Total Waves Survived" + _wavesSurvived)); trace(("Most Knockouts" + _stats.totalKnockouts)); trace(("Total Knockouts" + _stats.totalKnockouts)); trace(("Most Waves With Perfect Accuracy" + _stats.perfectAccuracyWaves)); trace(("Most Waves With No Damage Taken" + _stats.perfectDodgeWaves)); trace(("Ricochet Master" + (Math.floor(((10000 * _stats.shurikensHit) / _stats.shurikensThrown)) / 100))); }; } } }//package
Section 18
//DocumentMain0 (DocumentMain0) package { import flash.display.*; public class DocumentMain0 extends MovieClip { private var _isActivated:Boolean; private var _isInitialized:Boolean; private var _callbacks:Object; public var _preloadScreen:PreloadScreen; public function DocumentMain0():void{ stop(); _isInitialized = false; _isActivated = false; initialize(); } private function preloadFinished():void{ gotoAndStop(3); } public function uninitialize():void{ if (!_isInitialized){ return; }; _isInitialized = false; _callbacks = null; } public function deactivate():void{ if (!_isActivated){ return; }; _isActivated = false; } public function initialize():void{ if (_isInitialized){ uninitialize(); }; _isInitialized = true; deactivate(); _callbacks = new Object(); _preloadScreen.initialize(); _preloadScreen.activate(); _preloadScreen.setCallbacks({preloadFinished:preloadFinished}); } public function activate():void{ if (_isActivated){ return; }; _isActivated = true; } public function setCallbacks(_arg1:Object):void{ } } }//package
Section 19
//Dunes (Dunes) package { import flash.display.*; public dynamic class Dunes extends MovieClip { } }//package
Section 20
//Enemy (Enemy) package { import flash.geom.*; public class Enemy extends Unit { private const DEFAULT_HEALTH:Number = 3; public var _body:PlayerBody; private var _stunCtr:Number; private var _behaviorType:Number; private var _stunDuration:Number; public var _speechBubblePointer:SpeechBubblePointer; private var _outOfBounds:Boolean; private var _frameFraction:Number; public var _speechBubble:SpeechBubble; private var _hatchet:Hatchet; private var _transitionFlags:Array; public var _head:PlayerHead; public function Enemy(_arg1:Boolean=false):void{ addFrameScript(199, frame200, 309, frame310, 319, frame320, 631, frame632, 653, frame654, 724, frame725, 754, frame755, 774, frame775); _speechBubble.visible = false; _speechBubblePointer.visible = false; _speechBubble.transform.colorTransform = new ColorTransform((1 / 0.7), (1 / 0.7), (1 / 0.7), 1, 0, 0, 0, 0); _speechBubblePointer.transform.colorTransform = new ColorTransform((1 / 0.7), (1 / 0.7), (1 / 0.7), 1, 0, 0, 0, 0); _behaviorType = 1; _outOfBounds = false; _stunDuration = 30; _virtualX = 0; _virtualY = 0; _status.set(["beginFacingLeft", "facingLeft"]); this.transform.colorTransform = new ColorTransform(0.7, 0.7, 0.7, 1, 0, 0, 0, 0); _head._decorations.gotoAndStop("scar"); _hitBounds = getAllHitBounds(this); _frameFraction = 0; _health = DEFAULT_HEALTH; _transitionFlags = ["jumping to falling", "begin levitating", "being stunned", "tipping dead", "landing dead"]; this.initializeFrameData(); } public function die():void{ if (!_status.get(["dying"])){ _health = 0; _status = new Status(); _status.set(["dying"]); _status.clear(["stunned"]); _vx = 0; _vy = 0; this.gotoAndStop("tipping dead"); _head.gotoAndStop("dead"); }; } public function remove():void{ var _local1:Number; var _local2:SpiritSphere; _local1 = 0; while (_local1 < _hitBounds.length) { if (_enemyHitAssets.indexOf(_hitBounds[_local1]) != -1){ _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local1]), 1); }; _local1++; }; _local1 = 0; while (_local1 < _currentStageData.length) { if (_currentStageData[_local1].instance == this){ _currentStageData[_local1].instance = null; break; }; _local1++; }; _local1 = 0; while (_local1 < _allEnemies.length) { if (_allEnemies[_local1] == this){ _allEnemies.splice(_local1, 1); break; }; _local1++; }; _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _scrollingAssets.splice(_scrollingAssets.indexOf(this), 1); if (!_outOfBounds){ if (_monsterMeter._monsterMeterFace.currentLabel == "normal"){ _local1 = 0; while (_local1 < DEFAULT_HEALTH) { _local2 = new SpiritSphere(this.x, this.y, (_monsterMeter.x + 15), (_monsterMeter.y + 15)); _allDynamicAssets.push(_local2); _local2.registerReferences({allDynamicAssets:_allDynamicAssets, monsterMeter:_monsterMeter, player:_player}); parent.addChild(_local2); _local1++; }; }; }; parent.removeChild(this); } public function set behaviorType(_arg1:Number):void{ _behaviorType = _arg1; } private function processAndUpdateState():void{ if (((!(_status.get(["grounded"]))) && ((_vy > 0)))){ _status.set(["movingDown"]); }; if (_status.get(["movingDown", "grounded"])){ _status.clear(["movingDown"]); if (((_status.get(["movingRight"])) || (_status.get(["movingLeft"])))){ this.gotoAndStop("running"); } else { this.gotoAndStop("standing"); }; }; if (((((_status.get(["movingUp"])) && (!(_status.get(["beginJumping"]))))) && ((_vy > 0)))){ _status.clear(["movingUp"]); this.gotoAndStop("jumping to falling"); _status.set(["movingDown"]); }; if (_status.get(["beginFacingRight"])){ this.scaleX = 1; _speechBubble.scaleX = 1; _status.clear(["beginFacingRight"]); }; if (_status.get(["beginFacingLeft"])){ this.scaleX = -1; _speechBubble.scaleX = -1; _status.clear(["beginFacingLeft"]); }; if (_status.get(["beginMovingRight"])){ _vx = (8 + ((Math.random() * 2) - 1)); if (_status.get(["grounded"])){ this.gotoAndStop("running"); }; _status.clear(["beginMovingRight"]); }; if (_status.get(["beginMovingLeft"])){ _vx = (-8 - ((Math.random() * 2) - 1)); if (_status.get(["grounded"])){ this.gotoAndStop("running"); }; _status.clear(["beginMovingLeft"]); }; if (_status.get(["beginJumping"])){ _vy = -30; this.gotoAndStop("jumping"); _status.clear(["beginJumping"]); }; if (_status.get(["stopMovingRight"])){ _vx = 0; if (_status.get(["grounded"])){ this.gotoAndStop("standing"); }; _status.clear(["stopMovingRight"]); }; if (_status.get(["stopMovingLeft"])){ _vx = 0; if (_status.get(["grounded"])){ this.gotoAndStop("standing"); }; _status.clear(["stopMovingLeft"]); }; } function frame755(){ gotoAndStop("lying dead"); } function frame310(){ gotoAndPlay("running"); } function frame632(){ gotoAndPlay("falling"); } override public function registerReferences(_arg1:Object):void{ super.registerReferences(_arg1); var _local2:Number = 0; _local2 = 0; while (_local2 < _hitBounds.length) { _enemyHitAssets.push(_hitBounds[_local2]); _local2++; }; } public function set virtualX(_arg1:Number):void{ _virtualX = _arg1; } public function skeletonize(_arg1:Number):void{ var _local3:Number; var _local4:Number; var _local2:* = 0; while (_local2 < _arg1) { _local4 = Math.random(); if (_local4 < 0.33){ _body.gotoAndStop("skeleton"); } else { if (_local4 < 0.66){ _local3 = 0; while (_local3 < this.numChildren) { if ((this.getChildAt(_local3) is PlayerFootSide)){ PlayerFootSide(this.getChildAt(_local3)).gotoAndStop("skeleton"); break; }; _local3++; }; } else { _local3 = (this.numChildren - 1); while (_local3 >= 0) { if ((this.getChildAt(_local3) is PlayerFootSide)){ PlayerFootSide(this.getChildAt(_local3)).gotoAndStop("skeleton"); break; }; _local3--; }; }; }; _local2++; }; } private function runAI():void{ if (((!((_hatchet == null))) && (_hatchet.deactivated))){ _hatchet = null; }; if (_behaviorType == 1){ if (_status.get(["grounded"])){ if ((_player.x - 80) > this.x){ if (((((!(_boundaries.hitTestPoint((this.x + 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingRight"]); _status.clear(["movingRight", "beginMovingRight"]); _head.gotoAndStop("sad"); } else { if (!_status.get(["movingRight"])){ _status.set(["beginFacingRight", "beginMovingRight", "facingRight", "movingRight"]); _status.clear(["facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); this.throwHatchet(); }; }; }; } else { if ((_player.x + 80) < this.x){ if (((((!(_boundaries.hitTestPoint((this.x - 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingLeft"]); _status.clear(["movingLeft", "beginMovingLeft"]); _head.gotoAndStop("sad"); } else { if (!_status.get(["movingLeft"])){ _status.set(["beginFacingLeft", "beginMovingLeft", "facingLeft", "movingLeft"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); throwHatchet(); }; }; }; } else { if (((_status.get(["movingRight"])) || (_status.get(["movingLeft"])))){ _status.set(["stopMovingLeft", "stopMovingRight"]); _status.clear(["beginFacingRight", "movingRight", "beginMovingRight", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); }; if (Math.abs((_player.x - this.x)) <= 80){ if (_player.x > this.x){ _status.set(["beginFacingRight", "facingRight"]); _status.clear(["beginFacingLeft", "facingLeft"]); } else { _status.set(["beginFacingLeft", "facingLeft"]); _status.clear(["beginFacingRight", "facingRight"]); }; if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); }; }; }; }; if ((((_player.y < (this.y - 150))) && ((Math.abs((_player.x - this.x)) < 280)))){ _status.set(["beginJumping", "movingUp"]); _status.clear(["grounded", "movingDown"]); }; }; } else { if (_behaviorType == 2){ if (_status.get(["grounded"])){ if (((((_player.x - 80) > this.x)) && (((_player.x - 280) < this.x)))){ if (((((!(_boundaries.hitTestPoint((this.x + 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingRight"]); _status.clear(["movingRight", "beginMovingRight"]); _head.gotoAndStop("sad"); } else { if (!_status.get(["movingRight"])){ _status.set(["beginFacingRight", "beginMovingRight", "facingRight", "movingRight"]); _status.clear(["facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); this.throwHatchet(); }; }; }; } else { if (((((_player.x + 80) < this.x)) && (((_player.x + 280) > this.x)))){ if (((((!(_boundaries.hitTestPoint((this.x - 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingLeft"]); _status.clear(["movingLeft", "beginMovingLeft"]); _head.gotoAndStop("sad"); } else { if (!_status.get(["movingLeft"])){ _status.set(["beginFacingLeft", "beginMovingLeft", "facingLeft", "movingLeft"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); throwHatchet(); }; }; }; } else { if (((_status.get(["movingRight"])) || (_status.get(["movingLeft"])))){ _status.set(["stopMovingLeft", "stopMovingRight"]); _status.clear(["beginFacingRight", "movingRight", "beginMovingRight", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); }; if (Math.abs((_player.x - this.x)) >= 280){ if (_head.currentLabel != "sad"){ throwHatchet(); }; _head.gotoAndStop("sad"); } else { if (Math.abs((_player.x - this.x)) <= 80){ if (_player.x > this.x){ _status.set(["beginFacingRight", "facingRight"]); _status.clear(["beginFacingLeft", "facingLeft"]); } else { _status.set(["beginFacingLeft", "facingLeft"]); _status.clear(["beginFacingRight", "facingRight"]); }; if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); }; }; }; }; }; if ((((_player.y < (this.y - 150))) && ((Math.abs((_player.x - this.x)) < 280)))){ _status.set(["beginJumping", "movingUp"]); _status.clear(["grounded", "movingDown"]); }; }; }; }; } public function update():void{ var _local1:Number; var _local2:Number; _local2 = _player.adrenalineFactor; _frameFraction = (_frameFraction + (5 * _local2)); if (_frameFraction >= 1){ if (_transitionFlags.indexOf(this.currentLabel) != -1){ this.gotoAndStop((this.currentFrame + Math.floor(_frameFraction))); } else { if (Math.floor(_frameFraction) > _frameData[this.currentFrame]){ this.gotoAndStop((this.currentFrame + _frameData[this.currentFrame])); } else { this.gotoAndStop((this.currentFrame + Math.floor(_frameFraction))); }; }; _frameFraction = (_frameFraction - Math.floor(_frameFraction)); }; _vy = (_vy + (2 * _local2)); this.x = (this.x + (_vx * _local2)); this.y = (this.y + (_vy * _local2)); _virtualX = (_virtualX + (_vx * _local2)); _virtualY = (_virtualY + (_vy * _local2)); processBoundaryCollisions(); processUnitAndHitCollisions(); if (_status.get(["stunned"])){ if (_stunCtr >= _stunDuration){ _status.clear(["stunned"]); this.gotoAndStop("standing"); _head.gotoAndStop("sad"); } else { _stunCtr = (_stunCtr + _player.adrenalineFactor); }; } else { if (_status.get(["dying"])){ _local1 = 0; while (_local1 < _hitBounds.length) { if (_enemyHitAssets.indexOf(_hitBounds[_local1]) != -1){ _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local1]), 1); }; _local1++; }; if ((((this.currentLabel == "falling dead")) && (_status.get(["grounded"])))){ this.gotoAndStop("landing dead"); } else { if (this.currentLabel == "lying dead"){ this.alpha = (this.alpha - 0.05); if (this.alpha <= 0){ this.remove(); }; }; }; } else { processAndUpdateState(); runAI(); }; }; } public function set virtualY(_arg1:Number):void{ _virtualY = _arg1; } function frame320(){ stop(); } function frame200(){ gotoAndPlay("standing"); } private function processUnitAndHitCollisions():void{ var _local1:HitBound; var _local2:Number; var _local3:Number; var _local5:Point; var _local6:Point; var _local7:Number; var _local8:Number; var _local4:Boolean; if (((!(_status.get(["dying"]))) && ((_health > 0)))){ _local5 = new Point(0, 0); _local2 = 0; while (_local2 < _playerHitAssets.length) { _local1 = _playerHitAssets[_local2]; _local6 = _local1.localToGlobal(_local5); if ((((((((_local6.x > (this.x - 150))) && ((_local6.x < (this.x + 150))))) && ((_local6.y > (this.y - 150))))) && ((_local6.y < (this.y + 150))))){ _local3 = 0; while (_local3 < _hitBounds.length) { if (_hitBounds[_local3].hitTestObject(_local1)){ _local4 = true; Shuriken(_local1.parent).stickTo(_hitBounds[_local3].parent); _health = (_health - Unit(_local1.parent).damage); break; }; _local3++; }; if (_status.get(["grounded"])){ _local7 = Shuriken(_local1.parent).x; if (this.x > _local7){ _local8 = ((Shuriken(_local1.parent).vy * (this.x - _local7)) / Shuriken(_local1.parent).vx); } else { _local8 = ((Shuriken(_local1.parent).vy * (_local7 - this.x)) / Shuriken(_local1.parent).vx); }; if ((Shuriken(_local1.parent).y + _local8) > (this.y - this.height)){ if (this.x > (_player.x + 280)){ _status.set(["beginJumping", "movingUp", "beginFacingLeft", "beginMovingLeft", "facingLeft", "movingLeft"]); _status.clear(["grounded", "movingDown", "facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); } else { if (this.x < (_player.x - 280)){ _status.set(["beginJumping", "movingUp", "beginFacingRight", "beginMovingRight", "facingRight", "movingRight"]); _status.clear(["grounded", "movingDown", "facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); }; }; this.throwHatchet(); }; }; }; _local2++; }; }; if (_local4){ if (_health <= 0){ _stats.totalKnockouts++; _speechBubble.visible = false; _speechBubblePointer.visible = false; _status = new Status(); _status.set(["dying"]); _status.clear(["stunned"]); _vx = 0; _vy = 0; this.gotoAndStop("tipping dead"); _head.gotoAndStop("dead"); } else { _status = new Status(); _status.set(["stunned"]); _vx = 0; _vy = 0; this.gotoAndStop("being stunned"); _head.gotoAndStop("hurt"); _stunCtr = 0; }; }; } private function throwHatchet():void{ var _local1:Number; var _local2:Number; var _local3:Number; if (_hatchet == null){ _local2 = ((_player.x + _player._body.x) - this.x); _local3 = ((_player.y + _player._body.y) - this.y); _local1 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); if (Math.random() < 0.5){ _local2 = (_local2 + (_player.vx * (_local1 / Hatchet.SPEED))); _local1 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); }; _hatchet = new Hatchet((_local2 / _local1), (_local3 / _local1)); _hatchet.registerReferences({enemyHitAssets:_enemyHitAssets, player:_player, stage:_stage, allDynamicAssets:_allDynamicAssets, scrollingAssets:_scrollingAssets}); _hatchet.x = (this.x + _body.x); _hatchet.y = (this.y + _body.y); parent.addChild(_hatchet); _scrollingAssets.push(_hatchet); _allDynamicAssets.push(_hatchet); }; } function frame654(){ gotoAndStop("stunned"); } public function warpToVirtualCoordinates(_arg1:Number, _arg2:Number):void{ this.x = (this.x + (_arg1 - _virtualX)); this.y = (this.y + (_arg2 - _virtualY)); _virtualX = _arg1; _virtualY = _arg2; _vy = 0; } public function get virtualY():Number{ return (_virtualY); } function frame725(){ gotoAndStop("falling dead"); } private function processBoundaryCollisions():void{ var _local1:Boolean; if (this.y > (stage.stageHeight + 500)){ _outOfBounds = true; this.remove(); return; }; if ((((_vy >= 0)) && (((!(_status.get(["beginJumping"]))) || (_status.get(["stunned"])))))){ if (_boundaries.hitTestPoint(this.x, this.y, true)){ _local1 = true; _status.set(["grounded"]); } else { if (_boundaries.hitTestPoint(this.x, (this.y + SLOPE_TOLERANCE), true)){ _local1 = false; _status.set(["grounded"]); } else { _local1 = false; _status.clear(["grounded"]); }; }; if (_local1){ while (_local1) { this.y = (this.y - 1); _virtualY = (_virtualY - 1); _local1 = false; if (_boundaries.hitTestPoint(this.x, this.y, true)){ _local1 = true; }; }; _vy = 0; }; }; } function frame775(){ gotoAndPlay("null space"); } public function get virtualX():Number{ return (_virtualX); } } }//package
Section 21
//Enemy2 (Enemy2) package { import flash.display.*; import flash.media.*; import flash.geom.*; import flash.filters.*; public class Enemy2 extends Unit { public var _body:PlayerBody; private var _laserDelayCtr:Number; public var _weakSpotArrow:WeakSpotArrow; private var _behaviorType:Number; private var _frameFraction:Number; private var _outOfBounds:Boolean; private var _laserSound:LaserSound; private var _gravityForce:Number; private var _hatchet:Hatchet; private var _aggrevated:Boolean; private var _headFrameData:Array; private var _stunCtr:Number; private var _laserDelayDuration:Number; private var _laser:MovieClip; private var _stunDuration:Number; public var _weakSpotMessage:WeakSpotMessage; private var _isBoss:Boolean; public var _head:PlayerHead; private var _maxHealth:Number; private var _transitionFlags:Array; private var _jumpPower:Number; public function Enemy2(_arg1:Boolean=false):void{ addFrameScript(199, frame200, 309, frame310, 319, frame320, 631, frame632, 653, frame654, 724, frame725, 754, frame755, 774, frame775); _weakSpotMessage.visible = false; _weakSpotArrow.visible = false; _laserSound = new LaserSound(); _stunDuration = 30; _aggrevated = false; _behaviorType = 1; _outOfBounds = false; _isBoss = _arg1; _virtualX = 0; _virtualY = 0; _status.set(["beginFacingLeft", "facingLeft"]); this.transform.colorTransform = new ColorTransform(0.9, 0.7, 0.7, 1, 0, 0, 0, 0); _head._decorations.gotoAndStop("scar"); _hitBounds = getAllHitBounds(this); _frameFraction = 0; _transitionFlags = ["jumping to falling", "begin levitating", "being stunned", "tipping dead", "landing dead"]; this.initializeFrameData(); _headFrameData = this.getFrameData(_head); _laser = new MovieClip(); _laser.filters = [new BlurFilter(5, 5, BitmapFilterQuality.HIGH)]; this.addChild(_laser); _laserDelayCtr = 1; if (_isBoss){ _maxHealth = 20; _health = _maxHealth; this.scaleX = (this.scaleX * 3); this.scaleY = (this.scaleY * 3); _laserDelayDuration = 0; _jumpPower = 28; _gravityForce = 1.6; } else { _gravityForce = 2; _jumpPower = 30; _maxHealth = 8; _health = _maxHealth; this.scaleX = (this.scaleX * 1.5); this.scaleY = (this.scaleY * 1.5); _laserDelayDuration = 4; }; } public function die():void{ if (!_status.get(["dying"])){ _health = 0; _status = new Status(); _status.set(["dying"]); _status.clear(["stunned"]); _vx = 0; _vy = 0; this.gotoAndStop("tipping dead"); _head.gotoAndStop("dead"); }; } public function remove():void{ var _local1:Number; var _local2:HeartItem; var _local3:SpiritSphere; _local1 = 0; while (_local1 < _hitBounds.length) { if (_enemyHitAssets.indexOf(_hitBounds[_local1]) != -1){ _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local1]), 1); }; _local1++; }; if (_currentStageData != null){ _local1 = 0; while (_local1 < _currentStageData.length) { if (_currentStageData[_local1].instance == this){ _currentStageData[_local1].instance = null; break; }; _local1++; }; }; if (_allEnemies != null){ _local1 = 0; while (_local1 < _allEnemies.length) { if (_allEnemies[_local1] == this){ _allEnemies.splice(_local1, 1); break; }; _local1++; }; }; if (_isBoss){ _local2 = new HeartItem(); _local2.registerReferences({enemyHitAssets:_enemyHitAssets, player:_player, stage:_stage, allDynamicAssets:_allDynamicAssets, boundaries:_boundaries, scrollingAssets:_scrollingAssets, healthMeter:_healthMeter}); _local2.x = this.x; _local2.y = (this.y - 100); parent.addChild(_local2); _allDynamicAssets.push(_local2); _scrollingAssets.push(_local2); } else { if (((!(_outOfBounds)) && ((_monsterMeter._monsterMeterFace.currentLabel == "normal")))){ _local1 = 0; while (_local1 < _maxHealth) { _local3 = new SpiritSphere(this.x, this.y, (_monsterMeter.x + 15), (_monsterMeter.y + 15)); _allDynamicAssets.push(_local3); _local3.registerReferences({allDynamicAssets:_allDynamicAssets, monsterMeter:_monsterMeter, player:_player}); parent.addChild(_local3); _local1++; }; }; }; parent.removeChild(this); _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _scrollingAssets.splice(_scrollingAssets.indexOf(this), 1); } function frame310(){ gotoAndPlay("running"); } function frame632(){ gotoAndPlay("falling"); } override public function registerReferences(_arg1:Object):void{ super.registerReferences(_arg1); var _local2:Number = 0; _local2 = 0; while (_local2 < _hitBounds.length) { _enemyHitAssets.push(_hitBounds[_local2]); _local2++; }; } function frame755(){ gotoAndStop("lying dead"); } public function warpToVirtualCoordinates(_arg1:Number, _arg2:Number):void{ this.x = (this.x + (_arg1 - _virtualX)); this.y = (this.y + (_arg2 - _virtualY)); _virtualX = _arg1; _virtualY = _arg2; _vy = 0; } private function processBoundaryCollisions():void{ var _local1:Boolean; if (this.y > (stage.stageHeight + 500)){ _outOfBounds = true; this.remove(); return; }; if ((((_vy >= 0)) && (!(_status.get(["beginJumping"]))))){ if (_boundaries.hitTestPoint(this.x, this.y, true)){ _local1 = true; _status.set(["grounded"]); } else { if (_boundaries.hitTestPoint(this.x, (this.y + SLOPE_TOLERANCE), true)){ _local1 = false; _status.set(["grounded"]); } else { _local1 = false; _status.clear(["grounded"]); }; }; if (_local1){ while (_local1) { this.y = (this.y - 1); _virtualY = (_virtualY - 1); _local1 = false; if (_boundaries.hitTestPoint(this.x, this.y, true)){ _local1 = true; }; }; _vy = 0; }; }; } function frame320(){ stop(); } function frame200(){ gotoAndPlay("standing"); } private function processUnitAndHitCollisions():void{ var _local1:HitBound; var _local2:Number; var _local3:Number; var _local5:Point; var _local6:Shuriken; var _local7:Boolean; var _local8:Boolean; var _local4:Boolean; if (((!(_status.get(["dying"]))) && ((_health > 0)))){ _local2 = 0; while (_local2 < _playerHitAssets.length) { _local1 = _playerHitAssets[_local2]; _local5 = _local1.localToGlobal(new Point(0, 0)); if ((((((((_local5.x > (this.x - 150))) && ((_local5.x < (this.x + 150))))) && ((_local5.y > ((this.y + (_head.y * this.scaleY)) - 150))))) && ((_local5.y < (this.y + 150))))){ _local3 = 0; while (_local3 < _hitBounds.length) { if (_hitBounds[_local3].hitTestObject(_local1)){ _local4 = true; Shuriken(_local1.parent).stickTo(_hitBounds[_local3].parent); _health = (_health - Unit(_local1.parent).damage); break; }; _local3++; }; if (((((((_status.get(["grounded"])) && (!(_status.get(["movingLeft"]))))) && (!(_status.get(["movingRight"]))))) && (!(Shuriken(_local1.parent).deactivated)))){ if (_player.x > this.x){ _status.set(["beginFacingRight", "facingRight"]); _status.clear(["facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); } else { _status.set(["beginFacingLeft", "facingLeft"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); }; if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); }; }; _local6 = Shuriken(_local1.parent); _local7 = (((((_local6.x < this.x)) && ((this.scaleX < 0)))) || ((((_local6.x > this.x)) && ((this.scaleX > 0))))); _local8 = true; if (((!(_local6.deactivated)) && (((_local7) || (!(_local8)))))){ this.fireEyeLaser(_local6); }; }; _local2++; }; }; if (_local4){ _aggrevated = true; if (_status.get(["grounded"])){ if (_player.x > this.x){ if (((((!(_boundaries.hitTestPoint((this.x + 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingRight"]); _status.clear(["movingRight", "beginMovingRight"]); _head.gotoAndStop("sad"); } else { if (!_status.get(["movingRight"])){ _status.set(["beginFacingRight", "beginMovingRight", "facingRight", "movingRight"]); _status.clear(["facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); this.throwHatchet(); }; }; }; } else { if (((((!(_boundaries.hitTestPoint((this.x - 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingLeft"]); _status.clear(["movingLeft", "beginMovingLeft"]); _head.gotoAndStop("sad"); } else { if (!_status.get(["movingLeft"])){ _status.set(["beginFacingLeft", "beginMovingLeft", "facingLeft", "movingLeft"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); throwHatchet(); }; }; }; }; }; if (_health <= 0){ _stats.totalKnockouts++; _weakSpotMessage.visible = false; _weakSpotArrow.visible = false; _status = new Status(); _status.set(["dying"]); _status.clear(["stunned"]); _vx = 0; _vy = 0; this.gotoAndStop("tipping dead"); _head.gotoAndStop("dead"); }; }; } private function throwHatchet():void{ var _local1:Number; var _local2:Number; var _local3:Number; if (_hatchet == null){ _local2 = ((_player.x + _player._body.x) - this.x); _local3 = ((_player.y + _player._body.y) - this.y); _local1 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _local2 = (_local2 + (_player.vx * (_local1 / Hatchet.SPEED))); _local1 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _hatchet = new Hatchet((_local2 / _local1), (_local3 / _local1)); _hatchet.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 50, 0, 0, 0); _hatchet.registerReferences({enemyHitAssets:_enemyHitAssets, player:_player, stage:_stage, allDynamicAssets:_allDynamicAssets, scrollingAssets:_scrollingAssets}); _hatchet.x = (this.x + _body.x); _hatchet.y = (this.y + _body.y); _hatchet.scaleX = (_hatchet.scaleX * 2); _hatchet.scaleY = (_hatchet.scaleY * 2); parent.addChild(_hatchet); _scrollingAssets.push(_hatchet); _allDynamicAssets.push(_hatchet); }; } public function get virtualX():Number{ return (_virtualX); } public function get virtualY():Number{ return (_virtualY); } function frame725(){ gotoAndStop("falling dead"); } private function processAndUpdateState():void{ if (((!(_status.get(["grounded"]))) && ((_vy > 0)))){ _status.set(["movingDown"]); }; if (_status.get(["movingDown", "grounded"])){ _status.clear(["movingDown"]); if (((_status.get(["movingRight"])) || (_status.get(["movingLeft"])))){ this.gotoAndStop("running"); } else { this.gotoAndStop("standing"); }; }; if (((((_status.get(["movingUp"])) && (!(_status.get(["beginJumping"]))))) && ((_vy > 0)))){ _status.clear(["movingUp"]); this.gotoAndStop("jumping to falling"); this.throwHatchet(); _status.set(["movingDown"]); }; if (_status.get(["beginFacingRight"])){ if (this.scaleX < 0){ this.scaleX = (this.scaleX * -1); _weakSpotMessage.scaleX = (_weakSpotMessage.scaleX * -1); }; _status.clear(["beginFacingRight"]); }; if (_status.get(["beginFacingLeft"])){ if (this.scaleX > 0){ this.scaleX = (this.scaleX * -1); _weakSpotMessage.scaleX = (_weakSpotMessage.scaleX * -1); }; _status.clear(["beginFacingLeft"]); }; if (_status.get(["beginMovingRight"])){ _vx = (8 + ((Math.random() * 2) - 1)); if (_status.get(["grounded"])){ this.gotoAndStop("running"); }; _status.clear(["beginMovingRight"]); }; if (_status.get(["beginMovingLeft"])){ _vx = (-8 - ((Math.random() * 2) - 1)); if (_status.get(["grounded"])){ this.gotoAndStop("running"); }; _status.clear(["beginMovingLeft"]); }; if (_status.get(["beginJumping"])){ _vy = -(_jumpPower); this.gotoAndStop("jumping"); _status.clear(["beginJumping"]); }; if (_status.get(["stopMovingRight"])){ _vx = 0; if (_status.get(["grounded"])){ this.gotoAndStop("standing"); }; _status.clear(["stopMovingRight"]); }; if (_status.get(["stopMovingLeft"])){ _vx = 0; if (_status.get(["grounded"])){ this.gotoAndStop("standing"); }; _status.clear(["stopMovingLeft"]); }; } public function update():void{ var _local1:Number; if (_laserDelayCtr < _laserDelayDuration){ _laserDelayCtr = (_laserDelayCtr + _player.adrenalineFactor); }; _laser.graphics.clear(); var _local2:Number = _player.adrenalineFactor; _frameFraction = (_frameFraction + (5 * _local2)); if (_frameFraction >= 1){ if (_transitionFlags.indexOf(this.currentLabel) != -1){ this.gotoAndStop((this.currentFrame + Math.floor(_frameFraction))); } else { if (Math.floor(_frameFraction) > _frameData[this.currentFrame]){ this.gotoAndStop((this.currentFrame + _frameData[this.currentFrame])); } else { this.gotoAndStop((this.currentFrame + Math.floor(_frameFraction))); }; }; if (Math.floor(_frameFraction) > _headFrameData[_head.currentFrame]){ _head.gotoAndStop((_head.currentFrame + _headFrameData[_head.currentFrame])); } else { _head.gotoAndStop((_head.currentFrame + Math.floor(_frameFraction))); }; _frameFraction = (_frameFraction - Math.floor(_frameFraction)); }; _vy = (_vy + (_gravityForce * _local2)); this.x = (this.x + (_vx * _local2)); this.y = (this.y + (_vy * _local2)); _virtualX = (_virtualX + (_vx * _local2)); _virtualY = (_virtualY + (_vy * _local2)); processBoundaryCollisions(); processUnitAndHitCollisions(); if (_status.get(["stunned"])){ if (_stunCtr >= _stunDuration){ _status.clear(["stunned"]); this.gotoAndStop("standing"); _head.gotoAndStop("sad"); } else { _stunCtr = (_stunCtr + _player.adrenalineFactor); }; } else { if (_status.get(["dying"])){ _local1 = 0; while (_local1 < _hitBounds.length) { if (_enemyHitAssets.indexOf(_hitBounds[_local1]) != -1){ _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local1]), 1); }; _local1++; }; if ((((this.currentLabel == "falling dead")) && (_status.get(["grounded"])))){ this.gotoAndStop("landing dead"); } else { if (this.currentLabel == "lying dead"){ this.alpha = (this.alpha - 0.05); if (this.alpha <= 0){ this.remove(); }; }; }; } else { processAndUpdateState(); runAI(); }; }; } function frame654(){ gotoAndStop("stunned"); } public function set behaviorType(_arg1:Number):void{ _behaviorType = _arg1; } public function set virtualX(_arg1:Number):void{ _virtualX = _arg1; } public function set virtualY(_arg1:Number):void{ _virtualY = _arg1; } public function get maxHealth():Number{ return (_maxHealth); } function frame775(){ gotoAndPlay("null space"); } private function fireEyeLaser(_arg1:Shuriken):void{ var _local2:SoundChannel; if (_laserDelayCtr >= _laserDelayDuration){ _local2 = _laserSound.play(); if (_isBoss){ _local2.soundTransform = new SoundTransform(MusicManager.getVolume(), 0); } else { _local2.soundTransform = new SoundTransform((MusicManager.getVolume() * 0.5), 0); }; _arg1.decelerateAndFall(); _arg1.transform.colorTransform = new ColorTransform(2, 0.5, 0.5, 1, 0, 0, 0, 0); _laser.graphics.lineStyle(1, 0xFF0000); _laser.graphics.moveTo((_head.x + 20), (_head.y + 23)); _laser.graphics.lineTo(((_arg1.x - this.x) / this.scaleX), ((_arg1.y - this.y) / this.scaleY)); _laser.graphics.lineTo((_head.x + 29), (_head.y + 23)); _laserDelayCtr = 0; }; } private function runAI():void{ if (((!((_hatchet == null))) && (_hatchet.deactivated))){ _hatchet = null; }; if (_behaviorType == 1){ if (_status.get(["grounded"])){ if ((_player.x - 80) > this.x){ if (((((!(_boundaries.hitTestPoint((this.x + 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingRight"]); _status.clear(["movingRight", "beginMovingRight"]); } else { if (!_status.get(["movingRight"])){ _status.set(["beginFacingRight", "beginMovingRight", "facingRight", "movingRight"]); _status.clear(["facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); }; }; } else { if ((_player.x + 80) < this.x){ if (((((!(_boundaries.hitTestPoint((this.x - 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingLeft"]); _status.clear(["movingLeft", "beginMovingLeft"]); } else { if (!_status.get(["movingLeft"])){ _status.set(["beginFacingLeft", "beginMovingLeft", "facingLeft", "movingLeft"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); }; }; }; }; if (Math.abs((_player.x - this.x)) > 300){ if (_head.currentLabel != "sad"){ _head.gotoAndStop("sad"); this.throwHatchet(); }; } else { if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); this.throwHatchet(); }; }; if ((((_player.y < (this.y - 150))) && ((Math.abs((_player.x - this.x)) < 280)))){ _status.set(["beginJumping", "movingUp"]); _status.clear(["grounded", "movingDown", "grounded"]); this.throwHatchet(); }; }; } else { if (_behaviorType == 2){ if (_status.get(["grounded"])){ if (((((_player.x - 80) > this.x)) && (((_player.x - 280) < this.x)))){ if (((((!(_boundaries.hitTestPoint((this.x + 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingRight"]); _status.clear(["movingRight", "beginMovingRight"]); _head.gotoAndStop("sad"); } else { if (!_status.get(["movingRight"])){ _status.set(["beginFacingRight", "beginMovingRight", "facingRight", "movingRight"]); _status.clear(["facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); this.throwHatchet(); }; }; }; } else { if (((((_player.x + 80) < this.x)) && (((_player.x + 280) > this.x)))){ if (((((!(_boundaries.hitTestPoint((this.x - 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingLeft"]); _status.clear(["movingLeft", "beginMovingLeft"]); _head.gotoAndStop("sad"); } else { if (!_status.get(["movingLeft"])){ _status.set(["beginFacingLeft", "beginMovingLeft", "facingLeft", "movingLeft"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); throwHatchet(); }; }; }; } else { if (Math.abs((_player.x - this.x)) >= 340){ if (!_aggrevated){ if (_status.get(["movingRight"])){ _status.set(["stopMovingRight"]); _status.clear(["movingRight", "facingRight"]); } else { if (_status.get(["movingLeft"])){ _status.set(["stopMovingLeft"]); _status.clear(["movingLeft", "facingLeft"]); }; }; }; if (((!((_head.currentLabel == "sad"))) && ((Math.abs((_player.x - this.x)) >= 540)))){ _aggrevated = false; _head.gotoAndStop("sad"); }; } else { if (Math.abs((_player.x - this.x)) <= 80){ if (_player.x > this.x){ _status.set(["beginFacingRight", "facingRight"]); _status.clear(["beginFacingLeft", "facingLeft"]); } else { _status.set(["beginFacingLeft", "facingLeft"]); _status.clear(["beginFacingRight", "facingRight"]); }; if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); }; _status.set(["stopMovingLeft", "stopMovingRight"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight", "facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); }; }; }; }; if ((((_player.y < (this.y - 150))) && ((Math.abs((_player.x - this.x)) < 280)))){ _status.set(["beginJumping", "movingUp"]); _status.clear(["grounded", "movingDown", "grounded"]); }; }; }; }; } } }//package
Section 22
//Enemy3 (Enemy3) package { import flash.geom.*; public class Enemy3 extends Unit { public var _body:PlayerBody; private var _hatchetIntervalCtr:Number; private var _frameFraction:Number; private var _hatchet:Hatchet; public var _head:PlayerHead; public function Enemy3(_arg1:Boolean=false):void{ addFrameScript(199, frame200, 309, frame310, 319, frame320, 631, frame632, 642, frame643); _hatchetIntervalCtr = 0; _virtualX = 0; _virtualY = 0; _status.set(["beginFacingLeft", "facingLeft"]); this.transform.colorTransform = new ColorTransform(0.7, 0.7, 0.9, 1, 0, 0, 0, 0); _head._decorations.gotoAndStop("scar"); _hitBounds = getAllHitBounds(this); _frameFraction = 0; } private function processAndUpdateState():void{ if (((!(_status.get(["grounded"]))) && ((_vy > 0)))){ _status.set(["movingDown"]); }; if (_status.get(["movingDown", "grounded"])){ _status.clear(["movingDown"]); if (((_status.get(["movingRight"])) || (_status.get(["movingLeft"])))){ this.gotoAndStop("running"); } else { this.gotoAndStop("standing"); }; }; if (((((_status.get(["movingUp"])) && (!(_status.get(["beginJumping"]))))) && ((_vy > 0)))){ _status.clear(["movingUp"]); this.gotoAndStop("jumping to falling"); _status.set(["movingDown"]); }; if (_status.get(["beginFacingRight"])){ this.scaleX = 1; _status.clear(["beginFacingRight"]); }; if (_status.get(["beginFacingLeft"])){ this.scaleX = -1; _status.clear(["beginFacingLeft"]); }; if (_status.get(["beginMovingRight"])){ _vx = (8 + ((Math.random() * 2) - 1)); if (_status.get(["grounded"])){ this.gotoAndStop("running"); }; _status.clear(["beginMovingRight"]); }; if (_status.get(["beginMovingLeft"])){ _vx = (-8 - ((Math.random() * 2) - 1)); if (_status.get(["grounded"])){ this.gotoAndStop("running"); }; _status.clear(["beginMovingLeft"]); }; if (_status.get(["beginJumping"])){ _vy = -30; this.gotoAndStop("jumping"); _status.clear(["beginJumping"]); }; if (_status.get(["stopMovingRight"])){ _vx = 0; if (_status.get(["grounded"])){ this.gotoAndStop("standing"); }; _status.clear(["stopMovingRight"]); }; if (_status.get(["stopMovingLeft"])){ _vx = 0; if (_status.get(["grounded"])){ this.gotoAndStop("standing"); }; _status.clear(["stopMovingLeft"]); }; } function frame310(){ gotoAndPlay("running"); } function frame632(){ gotoAndPlay("falling"); } public function update():void{ var _local1:Number; var _local2:String; _local1 = _player.adrenalineFactor; if (Math.abs((this.x - _player.x)) < 300){ _hatchetIntervalCtr = (_hatchetIntervalCtr + _local1); }; if (_hatchetIntervalCtr > 5){ _hatchetIntervalCtr = 0; throwHatchet(); }; _frameFraction = (_frameFraction + (5 * _local1)); if (_frameFraction >= 1){ _local2 = this.currentLabel; this.gotoAndStop((this.currentFrame + Math.floor(_frameFraction))); while (this.currentLabel != _local2) { this.gotoAndStop((this.currentFrame - 1)); }; _frameFraction = (_frameFraction - Math.floor(_frameFraction)); }; _vy = (_vy + (2 * _local1)); this.x = (this.x + (_vx * _local1)); this.y = (this.y + (_vy * _local1)); _virtualX = (_virtualX + (_vx * _local1)); _virtualY = (_virtualY + (_vy * _local1)); processBoundaryCollisions(); processAndUpdateState(); processUnitAndHitCollisions(); runAI(); } override public function registerReferences(_arg1:Object):void{ super.registerReferences(_arg1); var _local2:Number = 0; _local2 = 0; while (_local2 < _hitBounds.length) { _enemyHitAssets.push(_hitBounds[_local2]); _local2++; }; } private function processUnitAndHitCollisions():void{ var _local1:HitBound; var _local2:Number; var _local3:Number; var _local4:Boolean; _local2 = 0; while (_local2 < _playerHitAssets.length) { _local1 = _playerHitAssets[_local2]; _local3 = 0; while (_local3 < _hitBounds.length) { if (_hitBounds[_local3].hitTestObject(_local1)){ _local4 = true; Shuriken(_local1.parent).stickTo(this); break; }; _local3++; }; _local2++; }; if (_local4){ this.beginBlinking(); }; } private function runAI():void{ if (((!((_hatchet == null))) && (_hatchet.deactivated))){ _hatchet = null; }; if (_status.get(["grounded"])){ if (((((_player.x - 80) > this.x)) && (((_player.x - 500) < this.x)))){ if (((((!(_boundaries.hitTestPoint((this.x + 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingRight"]); _status.clear(["movingRight", "beginMovingRight"]); _head.gotoAndStop("sad"); } else { if (!_status.get(["movingRight"])){ _status.set(["beginFacingRight", "beginMovingRight", "facingRight", "movingRight"]); _status.clear(["facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); }; }; }; } else { if (((((_player.x + 80) < this.x)) && (((_player.x + 500) > this.x)))){ if (((((!(_boundaries.hitTestPoint((this.x - 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingLeft"]); _status.clear(["movingLeft", "beginMovingLeft"]); _head.gotoAndStop("sad"); } else { if (!_status.get(["movingLeft"])){ _status.set(["beginFacingLeft", "beginMovingLeft", "facingLeft", "movingLeft"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); }; }; }; } else { _status.set(["stopMovingLeft", "stopMovingRight"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight", "facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); if (Math.abs((_player.x - this.x)) >= 500){ _head.gotoAndStop("sad"); } else { if (Math.abs((_player.x - this.x)) <= 80){ if (_player.x > this.x){ _status.set(["beginFacingRight", "facingRight"]); _status.clear(["beginFacingLeft", "facingLeft"]); } else { _status.set(["beginFacingLeft", "facingLeft"]); _status.clear(["beginFacingRight", "facingRight"]); }; if (_head.currentLabel != "smile"){ _head.gotoAndStop("smile"); }; }; }; }; }; if ((((_player.y < (this.y - 150))) && ((Math.abs((_player.x - this.x)) < 500)))){ _status.set(["beginJumping", "movingUp"]); _status.clear(["grounded", "movingDown"]); }; }; } public function set virtualX(_arg1:Number):void{ _virtualX = _arg1; } public function set virtualY(_arg1:Number):void{ _virtualY = _arg1; } private function processBoundaryCollisions():void{ var _local1:Boolean; if ((((_vy >= 0)) && (!(_status.get(["beginJumping"]))))){ if (_boundaries.hitTestPoint(this.x, this.y, true)){ _local1 = true; _status.set(["grounded"]); } else { if (_boundaries.hitTestPoint(this.x, (this.y + SLOPE_TOLERANCE), true)){ _local1 = false; _status.set(["grounded"]); } else { _local1 = false; _status.clear(["grounded"]); }; }; if (_local1){ while (_local1) { this.y = (this.y - 0.1); _virtualY = (_virtualY - 0.1); _local1 = false; if (_boundaries.hitTestPoint(this.x, this.y, true)){ _local1 = true; }; }; _vy = 0; }; }; } function frame320(){ stop(); } function frame200(){ gotoAndPlay("standing"); } function frame643(){ gotoAndPlay("null space"); } private function throwHatchet():void{ var _local1:Number; var _local2:Number; var _local3:Number; if ((((_hatchet == null)) || (true))){ _local2 = ((_player.x + _player._body.x) - this.x); _local3 = ((_player.y + _player._body.y) - this.y); _local1 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _local2 = (_local2 + (_player.vx * (_local1 / Hatchet.SPEED))); _local1 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _hatchet = new Hatchet((_local2 / _local1), (_local3 / _local1)); _hatchet.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 50, 0); _hatchet.registerReferences({enemyHitAssets:_enemyHitAssets, player:_player, stage:_stage, allDynamicAssets:_allDynamicAssets, scrollingAssets:_scrollingAssets}); _hatchet.x = (this.x + _body.x); _hatchet.y = (this.y + _body.y); parent.addChild(_hatchet); _scrollingAssets.push(_hatchet); _allDynamicAssets.push(_hatchet); }; } public function get virtualX():Number{ return (_virtualX); } public function get virtualY():Number{ return (_virtualY); } public function warpToVirtualCoordinates(_arg1:Number, _arg2:Number):void{ this.x = (this.x + (_arg1 - _virtualX)); this.y = (this.y + (_arg2 - _virtualY)); _virtualX = _arg1; _virtualY = _arg2; _vy = 0; } } }//package
Section 23
//Enemy4 (Enemy4) package { import flash.media.*; import flash.geom.*; public class Enemy4 extends Unit { public var _body:PlayerBody; private var _redOffset:Number; private var _behaviorType:Number; private var _frameFraction:Number; private var _outOfBounds:Boolean; public var _rightFootSide:PlayerFootSide; private var _originalHeadX:Number; private var _headHitCtr:Number; private var _hatchet:Hatchet; private var _originalHeadY:Number; private var _headShakeFactor:Number; public var _rightFootFront:PlayerFootFront; public var _head:PlayerHead; private var _mobileHead:Enemy5; private var _stunCtr:Number; private var _bluntSound:BluntSound; private var _stunDuration:Number; private var _hatchetCtr:Number; private var _isBoss:Boolean; private var _maxHeadHealth:Number; private var _maxHealth:Number; private var _isVulnerable:Boolean; private var _transitionFlags:Array; public var _leftFoot:PlayerFootSide; private var _moveSpeed:Number; public function Enemy4(_arg1:Boolean=false):void{ addFrameScript(199, frame200, 309, frame310, 319, frame320, 631, frame632, 653, frame654, 724, frame725, 754, frame755, 774, frame775); _bluntSound = new BluntSound(); _hatchetCtr = 16; _originalHeadX = _head.x; _originalHeadY = _head.y; _headShakeFactor = 0; _redOffset = 0; _headHitCtr = 0; _isVulnerable = false; _isBoss = _arg1; _leftFoot.gotoAndStop("skeleton"); _rightFootFront.gotoAndStop("skeleton"); _rightFootSide.gotoAndStop("skeleton"); _body.gotoAndStop("skeleton"); _head.gotoAndStop("skeleton"); _rightFootSide.visible = false; _behaviorType = 1; _outOfBounds = false; _stunDuration = 30; _virtualX = 0; _virtualY = 0; _status.set(["beginFacingLeft", "facingLeft"]); this.transform.colorTransform = new ColorTransform(0.7, 0.7, 0.7, 1, 0, 0, 0, 0); _head.removeChild(_head._decorations); _hitBounds = getAllHitBounds(this); _frameFraction = 0; _transitionFlags = ["jumping to falling", "begin levitating", "being stunned", "tipping dead", "landing dead"]; this.initializeFrameData(); if (_isBoss){ _moveSpeed = 10; this.scaleX = 2.5; this.scaleY = 2.5; _maxHealth = 20; _maxHeadHealth = 20; } else { this.scaleX = 1.5; this.scaleY = 1.5; _moveSpeed = 8; _maxHealth = 5; _maxHeadHealth = 3; }; _health = _maxHealth; } public function die():void{ if (!_status.get(["dying"])){ _health = 0; _status = new Status(); _status.set(["dying"]); _status.clear(["stunned"]); _vx = 0; _vy = 0; this.gotoAndStop("tipping dead"); if (_mobileHead != null){ _mobileHead.die(); }; }; } public function remove():void{ var _local1:Number; var _local2:HeartItem; var _local3:SpiritSphere; _local1 = 0; while (_local1 < _hitBounds.length) { if (_enemyHitAssets.indexOf(_hitBounds[_local1]) != -1){ _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local1]), 1); }; _local1++; }; if (_currentStageData != null){ _local1 = 0; while (_local1 < _currentStageData.length) { if (_currentStageData[_local1].instance == this){ _currentStageData[_local1].instance = null; break; }; _local1++; }; }; if (_allEnemies != null){ _local1 = 0; while (_local1 < _allEnemies.length) { if (_allEnemies[_local1] == this){ _allEnemies.splice(_local1, 1); break; }; _local1++; }; }; if (_isBoss){ _local2 = new HeartItem(); _local2.registerReferences({enemyHitAssets:_enemyHitAssets, player:_player, stage:_stage, allDynamicAssets:_allDynamicAssets, boundaries:_boundaries, scrollingAssets:_scrollingAssets, healthMeter:_healthMeter}); _local2.x = this.x; _local2.y = (this.y - 100); parent.addChild(_local2); _allDynamicAssets.push(_local2); _scrollingAssets.push(_local2); } else { if (((!(_outOfBounds)) && ((_monsterMeter._monsterMeterFace.currentLabel == "normal")))){ _local1 = 0; while (_local1 < _maxHealth) { _local3 = new SpiritSphere(this.x, this.y, (_monsterMeter.x + 15), (_monsterMeter.y + 15)); _allDynamicAssets.push(_local3); _local3.registerReferences({allDynamicAssets:_allDynamicAssets, monsterMeter:_monsterMeter, player:_player}); parent.addChild(_local3); _local1++; }; }; }; parent.removeChild(this); _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _scrollingAssets.splice(_scrollingAssets.indexOf(this), 1); if (_mobileHead != null){ _mobileHead.die(); }; } function frame632(){ gotoAndPlay("falling"); } function frame310(){ gotoAndPlay("running"); } function frame755(){ gotoAndStop("lying dead"); } override public function registerReferences(_arg1:Object):void{ super.registerReferences(_arg1); var _local2:Number = 0; _local2 = 0; while (_local2 < _hitBounds.length) { _enemyHitAssets.push(_hitBounds[_local2]); _local2++; }; } private function runAI():void{ if (((!((_hatchet == null))) && (_hatchet.deactivated))){ _hatchet = null; }; if (_behaviorType == 1){ if (_status.get(["grounded"])){ if ((_player.x - 80) > this.x){ if (((((!(_boundaries.hitTestPoint((this.x + 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingRight"]); _status.clear(["movingRight", "beginMovingRight"]); } else { if (!_status.get(["movingRight"])){ _status.set(["beginFacingRight", "beginMovingRight", "facingRight", "movingRight"]); _status.clear(["facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); if (_head.currentLabel != "smile"){ this.throwHatchet(); }; }; }; } else { if ((_player.x + 80) < this.x){ if (((((!(_boundaries.hitTestPoint((this.x - 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingLeft"]); _status.clear(["movingLeft", "beginMovingLeft"]); } else { if (!_status.get(["movingLeft"])){ _status.set(["beginFacingLeft", "beginMovingLeft", "facingLeft", "movingLeft"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); if (_head.currentLabel != "smile"){ throwHatchet(); }; }; }; } else { if (((_status.get(["movingRight"])) || (_status.get(["movingLeft"])))){ _status.set(["stopMovingLeft", "stopMovingRight"]); _status.clear(["beginFacingRight", "movingRight", "beginMovingRight", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); }; if (Math.abs((_player.x - this.x)) <= 80){ if (_player.x > this.x){ _status.set(["beginFacingRight", "facingRight"]); _status.clear(["beginFacingLeft", "facingLeft"]); } else { _status.set(["beginFacingLeft", "facingLeft"]); _status.clear(["beginFacingRight", "facingRight"]); }; if (_head.currentLabel != "smile"){ }; }; }; }; if ((((_player.y < (this.y - 150))) && ((Math.abs((_player.x - this.x)) < 280)))){ _status.set(["beginJumping", "movingUp"]); _status.clear(["grounded", "movingDown"]); }; }; } else { if (_behaviorType == 2){ if (_status.get(["grounded"])){ if (((((_player.x - 80) > this.x)) && (((_player.x - 280) < this.x)))){ if (((((!(_boundaries.hitTestPoint((this.x + 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x + 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingRight"]); _status.clear(["movingRight", "beginMovingRight"]); } else { if (!_status.get(["movingRight"])){ _status.set(["beginFacingRight", "beginMovingRight", "facingRight", "movingRight"]); _status.clear(["facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); if (_head.currentLabel != "smile"){ this.throwHatchet(); }; }; }; } else { if (((((_player.x + 80) < this.x)) && (((_player.x + 280) > this.x)))){ if (((((!(_boundaries.hitTestPoint((this.x - 30), (this.y + (SLOPE_TOLERANCE * 30)), true))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.3)), true))))) && (!(_boundaries.hitTestPoint((this.x - 30), (this.y + ((SLOPE_TOLERANCE * 30) * 0.7)), true))))){ _status.set(["stopMovingLeft"]); _status.clear(["movingLeft", "beginMovingLeft"]); } else { if (!_status.get(["movingLeft"])){ _status.set(["beginFacingLeft", "beginMovingLeft", "facingLeft", "movingLeft"]); _status.clear(["facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); if (_head.currentLabel != "smile"){ throwHatchet(); }; }; }; } else { if (((_status.get(["movingRight"])) || (_status.get(["movingLeft"])))){ _status.set(["stopMovingLeft", "stopMovingRight"]); _status.clear(["beginFacingRight", "movingRight", "beginMovingRight", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); }; if (Math.abs((_player.x - this.x)) >= 280){ if (_head.currentLabel != "sad"){ throwHatchet(); }; } else { if (Math.abs((_player.x - this.x)) <= 80){ if (_player.x > this.x){ _status.set(["beginFacingRight", "facingRight"]); _status.clear(["beginFacingLeft", "facingLeft"]); } else { _status.set(["beginFacingLeft", "facingLeft"]); _status.clear(["beginFacingRight", "facingRight"]); }; if (_head.currentLabel != "smile"){ }; }; }; }; }; if ((((_player.y < (this.y - 150))) && ((Math.abs((_player.x - this.x)) < 280)))){ _status.set(["beginJumping", "movingUp"]); _status.clear(["grounded", "movingDown"]); }; }; }; }; } private function processUnitAndHitCollisions():void{ var _local1:HitBound; var _local2:Number; var _local3:Number; var _local4:Number; var _local6:Point; var _local7:Point; var _local8:SoundChannel; var _local9:Number; var _local10:Number; var _local5:Boolean; if (((!(_status.get(["dying"]))) && ((_health > 0)))){ _local6 = new Point(0, 0); _local2 = 0; while (_local2 < _playerHitAssets.length) { _local1 = _playerHitAssets[_local2]; _local7 = _local1.localToGlobal(_local6); if ((((((((_local7.x > (this.x - 150))) && ((_local7.x < (this.x + 150))))) && ((_local7.y > (this.y - 150))))) && ((_local7.y < (this.y + 150))))){ _local3 = 0; while (_local3 < _hitBounds.length) { if (_hitBounds[_local3].hitTestObject(_local1)){ if (_isVulnerable){ _local5 = true; Shuriken(_local1.parent).stickTo(_hitBounds[_local3].parent); _health = (_health - Unit(_local1.parent).damage); } else { if (((!((Shuriken(_local1.parent).deflectedBy == this))) && ((_hitBounds[_local3].parent is PlayerHead)))){ _headHitCtr++; _redOffset = (0xFF * (_headHitCtr / _maxHeadHealth)); _headShakeFactor = ((5 * Math.abs(this.scaleY)) * (_headHitCtr / _maxHeadHealth)); _head.transform.colorTransform = new ColorTransform(1, 1, 1, 1, _redOffset, 0, 0, 0); if (_headHitCtr >= _maxHeadHealth){ _local8 = _bluntSound.play(); _local8.soundTransform = new SoundTransform((MusicManager.getVolume() * 2), 0); _headHitCtr = 0; _local4 = 0; while (_local4 < _hitBounds.length) { if ((_hitBounds[_local4].parent is PlayerHead)){ _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local4]), 1); _hitBounds.splice(_local4, 1); } else { _local4++; }; }; _head.visible = false; _isVulnerable = true; _mobileHead = new Enemy5(); _mobileHead.transform.colorTransform = new ColorTransform(0.7, 0.7, 0.7, 1, 0xFF, 0, 0, 0); _mobileHead.redOffset = _redOffset; _mobileHead.scaleX = this.scaleX; _mobileHead.scaleY = this.scaleY; _mobileHead.x = this.x; if (this.scaleX < 0){ _mobileHead.x = (_mobileHead.x - (_head.x * Math.abs(this.scaleX))); } else { _mobileHead.x = (_mobileHead.x + (_head.x * this.scaleX)); }; _mobileHead.y = (this.y + (_head.y * this.scaleY)); _mobileHead.registerReferences({boundaries:_boundaries, playerHitAssets:_playerHitAssets, enemyHitAssets:_enemyHitAssets, scrollingAssets:_scrollingAssets, allDynamicAssets:_allDynamicAssets, player:_player, stage:_stage, monsterMeter:_monsterMeter, healthMeter:_healthMeter, allEnemies:_allEnemies, stats:_stats}); this.parent.addChild(_mobileHead); _allDynamicAssets.push(_mobileHead); _scrollingAssets.push(_mobileHead); _allEnemies.push(_mobileHead); }; }; Shuriken(_local1.parent).deflect(this); }; break; }; _local3++; }; if (_status.get(["grounded"])){ _local9 = Shuriken(_local1.parent).x; if (this.x > _local9){ _local10 = ((Shuriken(_local1.parent).vy * (this.x - _local9)) / Shuriken(_local1.parent).vx); } else { _local10 = ((Shuriken(_local1.parent).vy * (_local9 - this.x)) / Shuriken(_local1.parent).vx); }; if ((Shuriken(_local1.parent).y + _local10) > (this.y - this.height)){ if (this.x > (_player.x + 280)){ _status.set(["beginJumping", "movingUp", "beginFacingLeft", "beginMovingLeft", "facingLeft", "movingLeft"]); _status.clear(["grounded", "movingDown", "facingRight", "beginFacingRight", "movingRight", "beginMovingRight"]); } else { if (this.x < (_player.x - 280)){ _status.set(["beginJumping", "movingUp", "beginFacingRight", "beginMovingRight", "facingRight", "movingRight"]); _status.clear(["grounded", "movingDown", "facingLeft", "beginFacingLeft", "movingLeft", "beginMovingLeft"]); }; }; this.throwHatchet(); }; }; }; _local2++; }; }; if (_local5){ if (_health <= 0){ _stats.totalKnockouts++; _status = new Status(); _status.set(["dying"]); _status.clear(["stunned"]); _vx = 0; _vy = 0; this.gotoAndStop("tipping dead"); if (_mobileHead != null){ _mobileHead.die(); }; }; }; } private function processBoundaryCollisions():void{ var _local1:Boolean; if (this.y > (stage.stageHeight + 500)){ _outOfBounds = true; this.remove(); return; }; if ((((_vy >= 0)) && (((!(_status.get(["beginJumping"]))) || (_status.get(["stunned"])))))){ if (_boundaries.hitTestPoint(this.x, this.y, true)){ _local1 = true; _status.set(["grounded"]); } else { if (_boundaries.hitTestPoint(this.x, (this.y + SLOPE_TOLERANCE), true)){ _local1 = false; _status.set(["grounded"]); } else { _local1 = false; _status.clear(["grounded"]); }; }; if (_local1){ while (_local1) { this.y = (this.y - 1); _virtualY = (_virtualY - 1); _local1 = false; if (_boundaries.hitTestPoint(this.x, this.y, true)){ _local1 = true; }; }; _vy = 0; }; }; } function frame320(){ stop(); } function frame200(){ gotoAndPlay("standing"); } public function get virtualY():Number{ return (_virtualY); } public function get virtualX():Number{ return (_virtualX); } public function warpToVirtualCoordinates(_arg1:Number, _arg2:Number):void{ this.x = (this.x + (_arg1 - _virtualX)); this.y = (this.y + (_arg2 - _virtualY)); _virtualX = _arg1; _virtualY = _arg2; _vy = 0; } function frame725(){ gotoAndStop("falling dead"); } private function processAndUpdateState():void{ if (((!(_status.get(["grounded"]))) && ((_vy > 0)))){ _status.set(["movingDown"]); }; if (_status.get(["movingDown", "grounded"])){ _status.clear(["movingDown"]); if (((_status.get(["movingRight"])) || (_status.get(["movingLeft"])))){ this.gotoAndStop("running"); } else { this.gotoAndStop("standing"); }; }; if (((((_status.get(["movingUp"])) && (!(_status.get(["beginJumping"]))))) && ((_vy > 0)))){ _status.clear(["movingUp"]); this.gotoAndStop("jumping to falling"); _status.set(["movingDown"]); }; if (_status.get(["beginFacingRight"])){ if (this.scaleX < 0){ this.scaleX = (this.scaleX * -1); }; _status.clear(["beginFacingRight"]); }; if (_status.get(["beginFacingLeft"])){ if (this.scaleX > 0){ this.scaleX = (this.scaleX * -1); }; _status.clear(["beginFacingLeft"]); }; if (_status.get(["beginMovingRight"])){ _vx = (_moveSpeed + ((Math.random() * 2) - 1)); if (_status.get(["grounded"])){ this.gotoAndStop("running"); }; _status.clear(["beginMovingRight"]); }; if (_status.get(["beginMovingLeft"])){ _vx = (-(_moveSpeed) - ((Math.random() * 2) - 1)); if (_status.get(["grounded"])){ this.gotoAndStop("running"); }; _status.clear(["beginMovingLeft"]); }; if (_status.get(["beginJumping"])){ _vy = -30; this.gotoAndStop("jumping"); _status.clear(["beginJumping"]); }; if (_status.get(["stopMovingRight"])){ _vx = 0; if (_status.get(["grounded"])){ this.gotoAndStop("standing"); }; _status.clear(["stopMovingRight"]); }; if (_status.get(["stopMovingLeft"])){ _vx = 0; if (_status.get(["grounded"])){ this.gotoAndStop("standing"); }; _status.clear(["stopMovingLeft"]); }; } private function throwHatchet():void{ var _local1:Number; var _local2:Number; var _local3:Number; if ((((this.x < -100)) || ((this.x > 800)))){ return; }; if ((((_hatchet == null)) || (((((_isBoss) && ((_hatchetCtr < 16)))) && (((_hatchetCtr % 2) == 0)))))){ if (_hatchetCtr >= 16){ _hatchetCtr = 0; }; _local2 = ((_player.x + _player._body.x) - this.x); _local3 = ((_player.y + _player._body.y) - this.y); _local1 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _local2 = (_local2 + (_player.vx * (_local1 / Hatchet.SPEED))); _local1 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _hatchet = new Hatchet((_local2 / _local1), (_local3 / _local1)); _hatchet.registerReferences({enemyHitAssets:_enemyHitAssets, player:_player, stage:_stage, allDynamicAssets:_allDynamicAssets, scrollingAssets:_scrollingAssets}); _hatchet.x = (this.x + _body.x); _hatchet.y = (this.y + _body.y); parent.addChild(_hatchet); _scrollingAssets.push(_hatchet); _allDynamicAssets.push(_hatchet); if (_isBoss){ _hatchet.scaleX = (_hatchet.scaleX * 1.5); _hatchet.scaleY = (_hatchet.scaleY * 1.5); }; }; } function frame654(){ gotoAndStop("stunned"); } function frame775(){ gotoAndPlay("null space"); } public function update():void{ var _local1:Number; if (this.currentLabel == "standing"){ _rightFootFront.visible = true; _rightFootSide.visible = false; } else { if ((((((_mobileHead == null)) && (!((_head._hb == null))))) && ((_hitBounds.indexOf(_head._hb) == -1)))){ _hitBounds.push(_head._hb); _head._hb.visible = false; _enemyHitAssets.push(_head._hb); }; _rightFootFront.visible = false; _rightFootSide.visible = true; }; var _local2:Number = _player.adrenalineFactor; _frameFraction = (_frameFraction + (5 * _local2)); if (_frameFraction >= 1){ if (_transitionFlags.indexOf(this.currentLabel) != -1){ this.gotoAndStop((this.currentFrame + Math.floor(_frameFraction))); } else { if (Math.floor(_frameFraction) > _frameData[this.currentFrame]){ this.gotoAndStop((this.currentFrame + _frameData[this.currentFrame])); } else { this.gotoAndStop((this.currentFrame + Math.floor(_frameFraction))); }; }; _frameFraction = (_frameFraction - Math.floor(_frameFraction)); }; _vy = (_vy + (2 * _local2)); this.x = (this.x + (_vx * _local2)); this.y = (this.y + (_vy * _local2)); _virtualX = (_virtualX + (_vx * _local2)); _virtualY = (_virtualY + (_vy * _local2)); processBoundaryCollisions(); processUnitAndHitCollisions(); if (_status.get(["stunned"])){ if (_stunCtr >= _stunDuration){ _status.clear(["stunned"]); this.gotoAndStop("standing"); } else { _stunCtr = (_stunCtr + _player.adrenalineFactor); }; } else { if (_status.get(["dying"])){ _local1 = 0; while (_local1 < _hitBounds.length) { if (_enemyHitAssets.indexOf(_hitBounds[_local1]) != -1){ _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local1]), 1); }; _local1++; }; if ((((this.currentLabel == "falling dead")) && (_status.get(["grounded"])))){ this.gotoAndStop("landing dead"); } else { if (this.currentLabel == "lying dead"){ this.alpha = (this.alpha - 0.05); if (this.alpha <= 0){ this.remove(); }; }; }; } else { processAndUpdateState(); runAI(); }; }; if (_mobileHead == null){ _head.x = ((_originalHeadX + (Math.random() * _headShakeFactor)) - (_headShakeFactor / 2)); _head.y = ((_originalHeadY + (Math.random() * _headShakeFactor)) - (_headShakeFactor / 2)); }; if (((_isBoss) && ((_hatchetCtr < 16)))){ _hatchetCtr++; if ((_hatchetCtr % 5) == 0){ this.throwHatchet(); }; }; } public function set virtualY(_arg1:Number):void{ _virtualY = _arg1; } public function set behaviorType(_arg1:Number):void{ _behaviorType = _arg1; } public function get maxHealth():Number{ return (_maxHealth); } public function set virtualX(_arg1:Number):void{ _virtualX = _arg1; } } }//package
Section 24
//Enemy5 (Enemy5) package { import flash.geom.*; public class Enemy5 extends Unit { private var _redOffset:Number; private var _behaviorType:Number; private var _isBoss:Boolean; private var _frameFraction:Number; private var _acceleration:Number; private var _maxHealth:Number; private var _headFrameData:Array; public var _head:PlayerHead; public function Enemy5(_arg1:Boolean=false):void{ _head.removeChild(_head._decorations); _head.gotoAndStop("skeleton"); _behaviorType = 1; _isBoss = _arg1; _status.set(["beginFacingLeft", "facingLeft"]); _hitBounds = getAllHitBounds(this); _frameFraction = 0; this.initializeFrameData(); _headFrameData = this.getFrameData(_head); if (_isBoss){ _acceleration = 5; _maxHealth = 20; _health = _maxHealth; this.scaleX = (this.scaleX * 3); this.scaleY = (this.scaleY * 3); } else { _acceleration = 0.5; _maxHealth = 8; _health = _maxHealth; this.scaleX = (this.scaleX * 1.5); this.scaleY = (this.scaleY * 1.5); }; } private function processAndUpdateState():void{ } public function remove():void{ var _local1:Number; var _local2:SpiritSphere; _local1 = 0; while (_local1 < _hitBounds.length) { if (_enemyHitAssets.indexOf(_hitBounds[_local1]) != -1){ _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local1]), 1); }; _local1++; }; if (_currentStageData != null){ _local1 = 0; while (_local1 < _currentStageData.length) { if (_currentStageData[_local1].instance == this){ _currentStageData[_local1].instance = null; break; }; _local1++; }; }; if (_allEnemies != null){ _local1 = 0; while (_local1 < _allEnemies.length) { if (_allEnemies[_local1] == this){ _allEnemies.splice(_local1, 1); break; }; _local1++; }; } else { if (_monsterMeter._monsterMeterFace.currentLabel == "normal"){ _local1 = 0; while (_local1 < _maxHealth) { _local2 = new SpiritSphere(this.x, this.y, (_monsterMeter.x + 15), (_monsterMeter.y + 15)); _allDynamicAssets.push(_local2); _local2.registerReferences({allDynamicAssets:_allDynamicAssets, monsterMeter:_monsterMeter, player:_player}); parent.addChild(_local2); _local1++; }; }; }; parent.removeChild(this); _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _scrollingAssets.splice(_scrollingAssets.indexOf(this), 1); } public function die():void{ var _local1:Number; if (!_status.get(["dying"])){ _health = 0; _status = new Status(); _status.set(["dying"]); _local1 = 0; while (_local1 < _hitBounds.length) { if (_enemyHitAssets.indexOf(_hitBounds[_local1]) != -1){ _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local1]), 1); }; _local1++; }; }; } public function set redOffset(_arg1:Number):void{ _redOffset = _arg1; } public function update():void{ var _local1:Number; var _local2:Number = _player.adrenalineFactor; _frameFraction = (_frameFraction + (5 * _local2)); if (_frameFraction >= 1){ if (Math.floor(_frameFraction) > _frameData[this.currentFrame]){ this.gotoAndStop((this.currentFrame + _frameData[this.currentFrame])); } else { this.gotoAndStop((this.currentFrame + Math.floor(_frameFraction))); }; if (Math.floor(_frameFraction) > _headFrameData[_head.currentFrame]){ _head.gotoAndStop((_head.currentFrame + _headFrameData[_head.currentFrame])); } else { _head.gotoAndStop((_head.currentFrame + Math.floor(_frameFraction))); }; _frameFraction = (_frameFraction - Math.floor(_frameFraction)); }; var _local3:Number = ((_player.x + _player._body.x) - this.x); var _local4:Number = ((_player.y + _player._body.y) - (this.y + (this.height / 2))); if (_local3 < 0){ if (_vx > 0){ _vx = (_vx * 0.95); }; _vx = (_vx - (_acceleration * _local2)); } else { if (_local3 > 0){ if (_vx < 0){ _vx = (_vx * 0.95); }; _vx = (_vx + (_acceleration * _local2)); }; }; if (_local4 < 0){ if (_vy > 0){ _vy = (_vy * 0.95); }; _vy = (_vy - (_acceleration * _local2)); } else { if (_local4 > 0){ if (_vy < 0){ _vy = (_vy * 0.95); }; _vy = (_vy + (_acceleration * _local2)); }; }; this.x = (this.x + (_vx * _local2)); this.y = (this.y + (_vy * _local2)); if ((((_vx < 1)) && ((this.scaleX > 0)))){ this.scaleX = (this.scaleX * -1); this.x = (this.x + this.width); } else { if ((((_vx > 1)) && ((this.scaleX < 0)))){ this.scaleX = (this.scaleX * -1); this.x = (this.x - this.width); }; }; if (_redOffset > 0){ _redOffset = (_redOffset - 3); if (_redOffset < 0){ _redOffset = 0; }; if ((_redOffset % 5) == 0){ this.transform.colorTransform = new ColorTransform(0.7, 0.7, 0.7, 1, _redOffset, 0, 0, 0); }; }; if (_status.get(["dying"])){ this.alpha = (this.alpha - 0.05); if (this.alpha <= 0){ this.remove(); }; return; }; processBoundaryCollisions(); processUnitAndHitCollisions(); processAndUpdateState(); runAI(); } private function processUnitAndHitCollisions():void{ var _local1:HitBound; var _local2:Number; var _local3:Number; var _local5:Point; var _local4:Boolean; if (((!(_status.get(["dying"]))) && ((_health > 0)))){ _local2 = 0; while (_local2 < _playerHitAssets.length) { _local1 = _playerHitAssets[_local2]; _local5 = _local1.localToGlobal(new Point(0, 0)); if ((((((((_local5.x > (this.x - 150))) && ((_local5.x < (this.x + 150))))) && ((_local5.y > ((this.y + (_head.y * this.scaleY)) - 150))))) && ((_local5.y < (this.y + 150))))){ _local3 = 0; while (_local3 < _hitBounds.length) { if (_hitBounds[_local3].hitTestObject(_local1)){ Shuriken(_local1.parent).deflect(this); break; }; _local3++; }; }; _local2++; }; }; } override public function registerReferences(_arg1:Object):void{ var _local3:HitBound; super.registerReferences(_arg1); var _local2:Number = 0; _local2 = 0; while (_local2 < _hitBounds.length) { _enemyHitAssets.push(_hitBounds[_local2]); _local2++; }; if (_head._hb == null){ _local3 = new HitBound(); _local3.x = 19.9; _local3.y = 29; _local3.width = 12.6; _local3.height = 11.1; _local3.visible = false; _head.addChild(_local3); _hitBounds.push(_local3); _enemyHitAssets.push(_local3); }; } public function set behaviorType(_arg1:Number):void{ _behaviorType = _arg1; } private function processBoundaryCollisions():void{ } public function get maxHealth():Number{ return (_maxHealth); } private function runAI():void{ } } }//package
Section 25
//Explanation (Explanation) package { import flash.display.*; public dynamic class Explanation extends MovieClip { } }//package
Section 26
//FogScreen (FogScreen) package { import flash.display.*; public dynamic class FogScreen extends MovieClip { } }//package
Section 27
//FPS (FPS) package { import flash.events.*; import flash.display.*; import flash.text.*; import flash.utils.*; public class FPS extends TextField { private var _stageFPS:int;// = -1 private var _tf:TextFormat; private var _s:Stage; private var _t:Timer; private var _fps:uint;// = 0 public function FPS(_arg1:Stage){ _tf = new TextFormat(); super(); _s = _arg1; _t = new Timer(1000); _tf.font = "Verdana"; _tf.size = 9; this.autoSize = TextFieldAutoSize.LEFT; this.defaultTextFormat = _tf; this.text = "Initializing FPS..."; _t.addEventListener(TimerEvent.TIMER, timerEventHandler); if ((_arg1 is Stage)){ _arg1.addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true); _stageFPS = _arg1.frameRate; } else { this.addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true); }; _t.start(); } private function enterFrameHandler(_arg1:Event):void{ _fps++; } public function deactivate():void{ _t.removeEventListener(TimerEvent.TIMER, timerEventHandler); if ((_s is Stage)){ _s.addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true); _stageFPS = _s.frameRate; } else { this.addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true); }; } private function timerEventHandler(_arg1:TimerEvent):void{ this.text = ("FPS: " + _fps); if (_stageFPS != -1){ this.text = (this.text + (" / " + _stageFPS)); }; _fps = 0; } } }//package
Section 28
//GameMain (GameMain) package { import flash.events.*; import flash.display.*; import flash.net.*; import flash.system.*; public class GameMain extends MovieClip { private var _currentScreen:MovieClip; private var _isActivated:Boolean; private var _menuScreen:MenuScreen; private var _isInitialized:Boolean; private var _callbacks:Object; private var _logoScreen:LogoScreen; private var _ctr:Number; private var _originalVolume:Number; private var _playGameScreen:DocumentMain; public var kongregate; public function GameMain():void{ stop(); _isInitialized = false; _isActivated = false; initKong(); initialize(); } private function resumeToPlayGameScreen():void{ this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler); _currentScreen.uninitialize(); removeChild(_currentScreen); _playGameScreen = new DocumentMain(stage); _playGameScreen.kongregate = this.kongregate; _playGameScreen.setCallbacks(toMenuScreen); addChild(_playGameScreen); _currentScreen = _playGameScreen; stage.focus = stage; } private function toMenuScreen():void{ _currentScreen.uninitialize(); removeChild(_currentScreen); _menuScreen.initialize(); _menuScreen.setCallbacks({toPlayGameScreen:toPlayGameScreen}); _menuScreen.activate(); _menuScreen.alpha = 1; addChild(_menuScreen); _currentScreen = _menuScreen; stage.focus = stage; } public function setCallbacks(_arg1:Object):void{ } private function enterFrameHandler(_arg1:Event):void{ if (_ctr < 15){ _ctr++; _currentScreen.alpha = ((14 - _ctr) / 15); MusicManager.setVolume(((_originalVolume * (14 - _ctr)) / 15)); } else { MusicManager.setVolume(_originalVolume); MusicManager.stopCurrent(); this.resumeToPlayGameScreen(); _ctr = 0; }; } public function initialize():void{ if (_isInitialized){ uninitialize(); }; _isInitialized = true; MusicManager.setVolume(0.33); _ctr = 0; _callbacks = new Object(); _logoScreen = new LogoScreen(); _logoScreen.initialize(); _logoScreen.setCallbacks({logoScreenDone:logoScreenDone}); _logoScreen.activate(); addChild(_logoScreen); _currentScreen = _logoScreen; _menuScreen = new MenuScreen(stage); _menuScreen.initialize(); _menuScreen.setCallbacks({toPlayGameScreen:toPlayGameScreen}); } private function logoScreenDone():void{ _logoScreen.uninitialize(); _logoScreen.deactivate(); removeChild(_logoScreen); _menuScreen.activate(); addChild(_menuScreen); _currentScreen = _menuScreen; stage.focus = stage; } public function initKong():void{ var _local1:Object = LoaderInfo(root.loaderInfo).parameters; var _local2:String = ((_local1.kongregate_api_path) || ("http://www.kongregate.com/flash/API_AS3_Local.swf")); Security.allowDomain(_local2); var _local3:URLRequest = new URLRequest(_local2); var _local4:Loader = new Loader(); _local4.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete); _local4.load(_local3); this.addChild(_local4); } public function uninitialize():void{ if (!_isInitialized){ return; }; _isInitialized = false; deactivate(); _callbacks = null; _currentScreen = null; _logoScreen.uninitialize(); _logoScreen = null; _menuScreen.uninitialize(); _menuScreen = null; } private function toPlayGameScreen():void{ _originalVolume = MusicManager.getVolume(); this.addEventListener(Event.ENTER_FRAME, enterFrameHandler); } public function activate():void{ if (_isActivated){ return; }; _isActivated = true; } public function deactivate():void{ if (!_isActivated){ return; }; _isActivated = false; } private function loadComplete(_arg1:Event):void{ kongregate = _arg1.target.content; kongregate.services.connect(); } } }//package
Section 29
//Hand (Hand) package { import flash.display.*; public dynamic class Hand extends MovieClip { public function Hand(){ addFrameScript(0, frame1, 26, frame27, 32, frame33); } function frame27(){ Player(parent).status.clear(["attacking1"]); Player(parent).status.set(["stopAttacking1"]); stop(); } function frame1(){ stop(); } function frame33(){ Player(parent).status.clear(["throwingShuriken"]); Player(parent).status.set(["stopThrowingShuriken"]); stop(); } } }//package
Section 30
//Hatchet (Hatchet) package { import flash.display.*; import flash.media.*; public class Hatchet extends Unit { private var _seekTarget:MovieClip; private var _swingSound:SwingSound; private var _deactivated:Boolean; private var _vr:Number; public static const ROTATION_SPEED:Number = 25; public static const SPEED:Number = 20; public function Hatchet(_arg1:Number, _arg2:Number):void{ _swingSound = new SwingSound(); var _local3:SoundChannel = _swingSound.play(); _local3.soundTransform = new SoundTransform(MusicManager.getVolume(), 0); _vx = (((_arg1 * SPEED) + (Math.random() * 4)) - 2); _vy = (((_arg2 * SPEED) + (Math.random() * 4)) - 2); _deactivated = false; if (_vx > 0){ _vr = ((ROTATION_SPEED + (Math.random() * 6)) - 3); } else { _vr = -(((ROTATION_SPEED + (Math.random() * 6)) - 3)); this.scaleX = -1; }; _hitBounds = this.getAllHitBounds(this); } public function update():void{ var _local1:Number; var _local2:Boolean; this.x = (this.x + (_vx * _player.adrenalineFactor)); this.y = (this.y + (_vy * _player.adrenalineFactor)); this.rotation = (this.rotation + (_vr * _player.adrenalineFactor)); if ((((((((this.x < -200)) || ((this.x > (stage.stageWidth + 200))))) || ((this.y < -600)))) || ((this.y > (stage.stageHeight + 700))))){ parent.removeChild(this); _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _local1 = 0; while (_local1 < _hitBounds.length) { _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local1]), 1); _local1++; }; _deactivated = true; }; if (_seekTarget != null){ _local2 = true; if (this.x < ((_seekTarget.parent.x + _seekTarget.x) - 15)){ _vx = (_vx + 1); _local2 = false; } else { if (this.x > ((_seekTarget.parent.x + _seekTarget.x) + 15)){ _vx = (_vx - 1); _local2 = false; }; }; if (this.y < ((_seekTarget.parent.y + _seekTarget.y) - 15)){ _vy = (_vy + 1); _local2 = false; } else { if (this.y > ((_seekTarget.parent.y + _seekTarget.y) + 15)){ _vy = (_vy - 1); _local2 = false; }; }; if (_local2){ parent.removeChild(this); _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _scrollingAssets.splice(_scrollingAssets.indexOf(this), 1); _local1 = 0; while (_local1 < _hitBounds.length) { _enemyHitAssets.splice(_enemyHitAssets.indexOf(_hitBounds[_local1]), 1); _local1++; }; _deactivated = true; }; }; } override public function registerReferences(_arg1:Object):void{ super.registerReferences(_arg1); var _local2:Number = 0; while (_local2 < _hitBounds.length) { _enemyHitAssets.push(_hitBounds[_local2]); _local2++; }; } public function set seekTarget(_arg1:MovieClip):void{ _seekTarget = _arg1; } public function get deactivated():Boolean{ return (_deactivated); } } }//package
Section 31
//HealthMeter (HealthMeter) package { import flash.events.*; import flash.display.*; public class HealthMeter extends MovieClip { private var _player:Player; private var _blinkCtr:Number; private var _blinking:Boolean; private var _allHearts:Array; private var _numHearts:Number; private var _health:Number; public function HealthMeter(_arg1:Player):void{ _player = _arg1; _allHearts = new Array(); _numHearts = 7; _health = 7; this.createHearts(); } private function blink(_arg1:Event):void{ if (_blinkCtr < 15){ if ((_blinkCtr % 3) == 0){ if (this.alpha > 0.2){ this.alpha = 0.2; } else { this.alpha = 0.9; }; }; _blinkCtr++; } else { _blinking = false; this.alpha = 1; this.removeEventListener(Event.ENTER_FRAME, blink); }; } public function get blinking():Boolean{ return (_blinking); } private function createHearts():void{ var _local2:Heart; var _local1:Number = 0; while (_local1 < _numHearts) { _local2 = new Heart(); _local2.scaleX = 0.5; _local2.scaleY = 0.5; _local2.x = (-(_local2.width) - ((_local2.width + 2) * _local1)); _local2.y = 0; this.addChild(_local2); _allHearts.unshift(_local2); _local1++; }; } public function adjustHealth(_arg1:Number):void{ var _local2:Number = 0; _health = (_health + _arg1); if (_health < 0){ _health = 0; } else { if (_health > _numHearts){ _health = _numHearts; }; }; while (_local2 < _numHearts) { if (_health > (_local2 + 1)){ _allHearts[_local2]._heartMask.scaleX = 1; } else { _allHearts[_local2]._heartMask.scaleX = (_health - _local2); }; _local2++; }; if (_arg1 < 0){ this.beginBlinking(); }; } public function deactivate():void{ if (_blinking){ this.removeEventListener(Event.ENTER_FRAME, blink); }; } public function get health():Number{ return (_health); } private function beginBlinking():void{ _blinking = true; _blinkCtr = 0; this.addEventListener(Event.ENTER_FRAME, blink); } } }//package
Section 32
//Heart (Heart) package { import flash.display.*; public dynamic class Heart extends MovieClip { public var _heartMask:HeartMask; } }//package
Section 33
//HeartImage (HeartImage) package { import flash.display.*; public dynamic class HeartImage extends MovieClip { } }//package
Section 34
//HeartItem (HeartItem) package { import flash.media.*; public class HeartItem extends Unit { private var _tvOn:TVOn; private var _ctr:Number; private var _removeCtr:Number; public function HeartItem(){ _tvOn = new TVOn(); _ctr = 0; _removeCtr = 0; this.scaleX = 0.3; this.scaleY = 0.3; } public function update():void{ var _local1:SoundChannel; if (!_boundaries.hitTestPoint(this.x, this.y, true)){ if (this.y < (stage.stageHeight + 500)){ this.x = (this.x + ((3 * Math.cos(((_ctr * Math.PI) / 15))) * _player.adrenalineFactor)); this.y = (this.y + _player.adrenalineFactor); } else { this.remove(); }; _ctr = (_ctr + (0.5 * _player.adrenalineFactor)); } else { if (_removeCtr > 150){ this.remove(); } else { if (_removeCtr > 90){ this.visible = !(this.visible); }; _removeCtr = (_removeCtr + _player.adrenalineFactor); }; }; if (_player.hitTestPoint(this.x, this.y, true)){ _local1 = _tvOn.play(); _local1.soundTransform = new SoundTransform((MusicManager.getVolume() * 2), 0); _healthMeter.adjustHealth(1); this.remove(); }; } private function remove():void{ parent.removeChild(this); _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _scrollingAssets.splice(_scrollingAssets.indexOf(this), 1); } } }//package
Section 35
//HeartMask (HeartMask) package { import flash.display.*; public dynamic class HeartMask extends MovieClip { } }//package
Section 36
//HitBound (HitBound) package { import flash.display.*; public dynamic class HitBound extends MovieClip { } }//package
Section 37
//LargeCheckBox (LargeCheckBox) package { import flash.display.*; public dynamic class LargeCheckBox extends MovieClip { public var _largeCheckBoxImage:LargeCheckBoxImage; } }//package
Section 38
//LargeCheckBoxImage (LargeCheckBoxImage) package { import flash.display.*; public dynamic class LargeCheckBoxImage extends MovieClip { public function LargeCheckBoxImage(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 39
//LaserSound (LaserSound) package { import flash.media.*; public dynamic class LaserSound extends Sound { } }//package
Section 40
//Leaf (Leaf) package { import flash.events.*; import flash.display.*; import flash.filters.*; public class Leaf extends MovieClip { private var _player; private var _vx; private var _vy; private var _vr; private var _stage; public function Leaf(_arg1:Stage, _arg2:Player):void{ _stage = _arg1; _player = _arg2; this.alpha = 0.5; this.filters = [new BlurFilter(3, 3, BitmapFilterQuality.HIGH)]; if (Math.random() < 0.33){ this.y = (_stage.stageHeight - (Math.random() * 50)); } else { this.y = (Math.random() * 100); }; this.x = (Math.random() * _stage.stageWidth); this.initialize(); this.cacheAsBitmap = true; } public function keyDownHandler(_arg1:KeyboardEvent):void{ } private function initialize():void{ this.scaleX = (0.25 + (Math.random() * 0.5)); this.scaleY = (0.25 + (Math.random() * 0.5)); _vr = ((Math.random() * 20) - 10); _vy = (-1 + (Math.random() * 2)); _vx = (-10 - ((Math.random() * 90) * ((this.scaleX + this.scaleY) / 2))); } public function keyUpHandler(_arg1:KeyboardEvent):void{ } public function update():void{ this.x = (this.x + (_vx * _player.adrenalineFactor)); this.y = (this.y + (_vy * _player.adrenalineFactor)); this.rotation = (this.rotation + (_vr * _player.adrenalineFactor)); if (this.x < -200){ if (Math.random() < 0.33){ this.y = (_stage.stageHeight - (Math.random() * 50)); } else { this.y = (Math.random() * 100); }; this.x = (_stage.stageWidth + 200); this.initialize(); }; } } }//package
Section 41
//LogoScreen (LogoScreen) package { import flash.events.*; import flash.display.*; import flash.media.*; public class LogoScreen extends MovieClip { private var _isActivated:Boolean; private var _isInitialized:Boolean; private var _callbacks:Object; public var _skipButton:SkipButton; public function LogoScreen():void{ addFrameScript(1, frame2, 168, frame169, 186, frame187); _skipButton.buttonMode = true; _isInitialized = false; _isActivated = false; } private function mouseDownHandler(_arg1:MouseEvent):void{ if ((((_arg1.target == _skipButton)) || ((_arg1.target.parent == _skipButton)))){ if (this.currentFrame < 165){ this.gotoAndPlay(165); }; }; } function frame2(){ transitionInSound(); } function frame169(){ transitionOutSound(); } public function uninitialize():void{ if (!_isInitialized){ return; }; _isInitialized = false; deactivate(); _callbacks = null; } function frame187(){ stop(); _callbacks.logoScreenDone(); } public function setCallbacks(_arg1:Object):void{ if (_arg1.logoScreenDone != null){ _callbacks.logoScreenDone = _arg1.logoScreenDone; }; } public function deactivate():void{ if (!_isActivated){ return; }; _isActivated = false; this.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); } private function transitionInSound():void{ var _local1:TVOn = new TVOn(); var _local2:SoundChannel = _local1.play(); _local2.soundTransform = new SoundTransform(0.22, 0); } public function initialize():void{ if (_isInitialized){ uninitialize(); }; _isInitialized = true; _callbacks = new Object(); } public function activate():void{ if (_isActivated){ return; }; _isActivated = true; this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); } private function transitionOutSound():void{ var _local1:TVOff = new TVOff(); var _local2:SoundChannel = _local1.play(); _local2.soundTransform = new SoundTransform(0.22, 0); } } }//package
Section 42
//MenuBG (MenuBG) package { import flash.display.*; public dynamic class MenuBG extends MovieClip { } }//package
Section 43
//MenuScreen (MenuScreen) package { import flash.events.*; import flash.display.*; public class MenuScreen extends MovieClip { public var _menuBG:MenuBG; private var _isActivated:Boolean; private var _originalVolume:Number; private var _isInitialized:Boolean; private var _callbacks:Object; public var _muteButton:MuteButton; public var _anyKey:AnyKey; private var _stage:Stage; public function MenuScreen(_arg1:Stage):void{ _muteButton.buttonMode = true; _anyKey.buttonMode = true; _stage = _arg1; _isInitialized = false; _isActivated = false; } public function uninitialize():void{ if (!_isInitialized){ return; }; _isInitialized = false; deactivate(); _callbacks = null; } public function deactivate():void{ if (!_isActivated){ return; }; _isActivated = false; _stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); _stage.removeEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); } public function setCallbacks(_arg1:Object):void{ if (_arg1.toPlayGameScreen != null){ _callbacks.toPlayGameScreen = _arg1.toPlayGameScreen; }; } public function initialize():void{ if (_isInitialized){ uninitialize(); }; _isInitialized = true; _callbacks = new Object(); _originalVolume = -1; } private function keyDownHandler(_arg1:KeyboardEvent):void{ _callbacks.toPlayGameScreen(); } public function activate():void{ if (_isActivated){ return; }; _isActivated = true; MusicManager.setCurrent(MusicManager.ROCKET); MusicManager.playCurrent(); if (MusicManager.getVolume() > 0){ _muteButton.gotoAndStop("on"); } else { _muteButton.gotoAndStop("off"); }; _stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); _stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); } private function mouseDownHandler(_arg1:MouseEvent):void{ if (_arg1.target == _anyKey){ _callbacks.toPlayGameScreen(); } else { if (_arg1.target == _muteButton){ if (_muteButton.currentLabel == "on"){ _originalVolume = MusicManager.getVolume(); MusicManager.setVolume(0); _muteButton.gotoAndStop("off"); } else { if (_originalVolume != -1){ MusicManager.setVolume(_originalVolume); } else { MusicManager.setVolume(0.33); }; _originalVolume = -1; _muteButton.gotoAndStop("on"); }; }; }; } } }//package
Section 44
//MessageWindow (MessageWindow) package { import flash.events.*; import flash.display.*; public class MessageWindow extends MovieClip { private var _removeMessageWindowCallback:Function; private var _toggleSettingsMenuCallback:Function; public function MessageWindow(_arg1:Function, _arg2:Function):void{ _removeMessageWindowCallback = _arg1; _toggleSettingsMenuCallback = _arg2; this.buttonMode = true; } public function keyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == 81){ _toggleSettingsMenuCallback(); } else { if (_arg1.keyCode == 13){ _removeMessageWindowCallback(); }; }; } public function mouseUpHandler(_arg1:MouseEvent):void{ } public function mouseDownHandler(_arg1:MouseEvent):void{ if (_arg1.target == this){ _removeMessageWindowCallback(); }; } public function keyUpHandler(_arg1:KeyboardEvent):void{ } } }//package
Section 45
//MeterPointer (MeterPointer) package { import flash.display.*; public dynamic class MeterPointer extends MovieClip { } }//package
Section 46
//MonsterMeter (MonsterMeter) package { import flash.display.*; import flash.media.*; import flash.geom.*; public class MonsterMeter extends MovieClip { private var _fullSound:MonsterMeterFull; public var _monsterMeterFiller:MonsterMeterFiller; private var _stageMode:Boolean; public var _monsterMeterFillerMask:MonsterMeterFillerMask; private var _bossMode:Boolean; private var _capacity:Number; private var _fillCtr:Number; public var _monsterMeterFace:MonsterMeterFace; public function MonsterMeter(){ _stageMode = false; _fullSound = new MonsterMeterFull(); _bossMode = false; _monsterMeterFillerMask.scaleY = 0; _fillCtr = 0; _capacity = 100; } public function activateBossMode():void{ _bossMode = true; _monsterMeterFace.gotoAndPlay("boss"); _monsterMeterFiller.transform.colorTransform = new ColorTransform(2, 0.5, 0.5, 1, 0, 0, 0, 0); var _local1:SoundChannel = _fullSound.play(); _local1.soundTransform = new SoundTransform((MusicManager.getVolume() * 4), 0); } public function setMeter(_arg1:Number):void{ _monsterMeterFillerMask.scaleY = _arg1; } public function deactivateBossMode():void{ _bossMode = false; _monsterMeterFace.gotoAndStop("normal"); _monsterMeterFiller.transform.colorTransform = new ColorTransform(1, 1, 1, 1, 0, 0, 0, 0); _fillCtr = 0; } public function activateStageMode():void{ _fillCtr = 0; _stageMode = true; } public function adjustMeter(_arg1:Number):void{ if (_bossMode){ } else { if (_stageMode){ _fillCtr = (_fillCtr + _arg1); if (_fillCtr < 0){ _fillCtr = 0; } else { if (_fillCtr > _capacity){ _fillCtr = _capacity; }; }; _monsterMeterFillerMask.scaleY = (_fillCtr / _capacity); if ((((_fillCtr == _capacity)) && (!(_bossMode)))){ this.activateBossMode(); }; }; }; } public function get fillCtr():Number{ return (_fillCtr); } public function deactivateStageMode():void{ _stageMode = false; } public function get bossMode():Boolean{ return (_bossMode); } public function set capacity(_arg1:Number):void{ _capacity = _arg1; } public function get capacity():Number{ return (_capacity); } } }//package
Section 47
//MonsterMeterEyes (MonsterMeterEyes) package { import flash.display.*; public dynamic class MonsterMeterEyes extends MovieClip { } }//package
Section 48
//MonsterMeterFace (MonsterMeterFace) package { import flash.display.*; public dynamic class MonsterMeterFace extends MovieClip { public function MonsterMeterFace(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 51, frame52); } function frame52(){ gotoAndPlay("boss continued"); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ gotoAndPlay("boss"); } } }//package
Section 49
//MonsterMeterFiller (MonsterMeterFiller) package { import flash.display.*; public dynamic class MonsterMeterFiller extends MovieClip { public var _fillerImage:MonsterMeterFillerImage; } }//package
Section 50
//MonsterMeterFillerImage (MonsterMeterFillerImage) package { import flash.display.*; public dynamic class MonsterMeterFillerImage extends MovieClip { } }//package
Section 51
//MonsterMeterFillerMask (MonsterMeterFillerMask) package { import flash.display.*; public dynamic class MonsterMeterFillerMask extends MovieClip { } }//package
Section 52
//MonsterMeterFull (MonsterMeterFull) package { import flash.media.*; public dynamic class MonsterMeterFull extends Sound { } }//package
Section 53
//Mountains (Mountains) package { import flash.display.*; public dynamic class Mountains extends MovieClip { } }//package
Section 54
//MusicManager (MusicManager) package { import flash.events.*; import flash.media.*; import flash.net.*; public class MusicManager { static const COLD_FUNK:Number = 0; static const ROCKET:Number = 1; static const NUMBER_OF_SOUNDS:Number = 2; static const IS_LOCAL:Number = 1; private static var _rocket:Sound; private static var _channel:SoundChannel; private static var _repeatSet:Boolean; private static var _currentSoundIndex:Number; private static var _currentlyPlaying:Boolean; private static var _positions:Array; private static var _coldFunk:Sound; private static var _instance:MusicManager; private static var _volume:Number; public function MusicManager(_arg1:Function){ var _local2:Number; super(); if (_arg1 !== hidden){ throw (new Error("Music Manager is a singleton; access via MusicManager.getInstance()")); }; _repeatSet = true; _currentlyPlaying = false; _volume = 1; _currentSoundIndex = 0; _local2 = 0; _positions = new Array(); while (_local2 < NUMBER_OF_SOUNDS) { _positions.push(0); _local2++; }; } private static function soundCompleteHandler(_arg1:Event):void{ if (_channel != null){ _channel.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); _positions[_currentSoundIndex] = 0; _currentlyPlaying = false; if (_repeatSet){ playCurrent(); }; }; } public static function stopCurrent():void{ if (_instance == null){ _instance = new MusicManager(hidden); }; if (_currentlyPlaying){ _channel.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); _channel.stop(); _positions[_currentSoundIndex] = 0; _currentlyPlaying = false; }; } public static function getInstance():MusicManager{ if (_instance == null){ _instance = new MusicManager(hidden); }; return (_instance); } public static function getVolume():Number{ return (_volume); } public static function setVolume(_arg1:Number):void{ var _local2:SoundTransform; if (_instance == null){ _instance = new MusicManager(hidden); }; _volume = _arg1; if (_currentlyPlaying){ if (_channel != null){ }; _local2 = new SoundTransform(_arg1, 0); _channel.soundTransform = _local2; }; } public static function pauseCurrent():void{ if (_instance == null){ _instance = new MusicManager(hidden); }; if (_currentlyPlaying){ _channel.removeEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); _positions[_currentSoundIndex] = _channel.position; _channel.stop(); _currentlyPlaying = false; }; } public static function setRepeat(_arg1:Boolean):void{ if (_instance == null){ _instance = new MusicManager(hidden); }; _repeatSet = _arg1; } public static function playCurrent():void{ var _local1:URLRequest; if (_instance == null){ _instance = new MusicManager(hidden); }; if (_currentlyPlaying == false){ switch (_currentSoundIndex){ case COLD_FUNK: if (_coldFunk == null){ _local1 = new URLRequest("Cold Funk.mp3"); _coldFunk = new Sound(); _coldFunk.load(_local1); }; _channel = _coldFunk.play(_positions[COLD_FUNK]); _channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); _currentlyPlaying = true; break; case ROCKET: if (_rocket == null){ _local1 = new URLRequest("Rocket.mp3"); _rocket = new Sound(); _rocket.load(_local1); }; _channel = _rocket.play(_positions[ROCKET]); _channel.addEventListener(Event.SOUND_COMPLETE, soundCompleteHandler); _currentlyPlaying = true; break; }; setVolume(_volume); }; } private static function hidden():void{ } public static function toggleMusic():void{ if (_instance == null){ _instance = new MusicManager(hidden); }; if (_currentlyPlaying){ stopCurrent(); } else { playCurrent(); }; } public static function isRepeating():Boolean{ if (_instance == null){ _instance = new MusicManager(hidden); }; return (_repeatSet); } public static function setCurrent(_arg1:Number):void{ if (_instance == null){ _instance = new MusicManager(hidden); }; _currentSoundIndex = _arg1; } } }//package
Section 55
//MuteButton (MuteButton) package { import flash.display.*; public dynamic class MuteButton extends MovieClip { public function MuteButton(){ addFrameScript(0, frame1, 5, frame6); } function frame6(){ stop(); } function frame1(){ stop(); } } }//package
Section 56
//Notification (Notification) package { import flash.display.*; import flash.text.*; public class Notification extends MovieClip { private var _allDynamicAssets:Array; private var _ctr:Number; public var _stageLabel:TextField; public function Notification(_arg1:Stage, _arg2:String, _arg3:Array){ addFrameScript(0, frame1, 1, frame2); _allDynamicAssets = _arg3; _ctr = 0; if (_arg2 == "go"){ this.gotoAndStop("go"); this.x = ((_arg1.stageWidth - this.width) - 5); this.y = (((_arg1.stageHeight / 2) - (this.height / 2)) - 50); } else { this.gotoAndStop("stage"); this.x = ((_arg1.stageWidth / 2) - (this.width / 2)); this.y = (((_arg1.stageHeight / 2) - (this.height / 2)) - 50); _stageLabel.text = (("wave " + Number(_arg2)) + "\nget ready!"); }; } public function update():void{ if (_ctr < 70){ _ctr++; if ((Math.floor((_ctr / 10)) % 2) == 0){ this.visible = true; } else { this.visible = false; }; } else { _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); parent.removeChild(this); }; } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 57
//Player (Player) package { import flash.events.*; import flash.media.*; public class Player extends Unit { private var _clock:Clock; private var _spacePressed:Boolean; private var _autoAdrenalineDuration:Number; public var _rightFootSide:PlayerFootSide; private var _active:Boolean; public var _idleRightHand:Hand; private var _timeMeter:TimeMeter; private var _rightPressed:Boolean; private var _adrenalineFactor:Number; private var _allShurikens:Array; private var _downPressed:Boolean; private var _leftPressed:Boolean; private var _noThrow:Boolean; private var _autoAdrenaline:Boolean; private var _dyingSequenceCallback:Function; public var _body:PlayerBody; private var _upPressed:Boolean; private var _adrenalinePower:Number; public var _actionLeftHand:Hand; private var _frameFraction:Number; private var _mouseDownCtr:Number; private var _swordSwing:SwordSwing; private var _bubble:Bubble; private var _autoAdrenalineCtr:Number; public var _rightFootFront:PlayerFootFront; public var _head:PlayerHead; private var _maxAdrenaline:Number; private var _redMeter:RedMeter; public var _actionRightHand:Hand; private var _levitateSpeed:Number; private var _volumeControl:VolumeControl; private var _maxAdrenalineNumerator:Number; public var _idleLeftHand:Hand; private var _surikenThrow:SurikenThrow; public var _leftFootSide:PlayerFootSide; private var _transitionFlags:Array; public function Player():void{ addFrameScript(199, frame200, 309, frame310, 319, frame320, 631, frame632, 711, frame712, 733, frame734, 746, frame747, 753, frame754, 796, frame797, 817, frame818, 847, frame848, 862, frame863); _noThrow = false; _mouseDownCtr = 16; _head.gotoAndStop("sad"); _idleLeftHand.gotoAndStop("idle"); _idleRightHand.gotoAndStop("idle"); _rightFootFront.gotoAndStop("cat"); _leftFootSide.gotoAndStop("cat"); _body.gotoAndStop("cat"); _active = true; _autoAdrenalineDuration = 23; _autoAdrenalineCtr = 0; _swordSwing = new SwordSwing(); _surikenThrow = new SurikenThrow(); _virtualX = 0; _virtualY = 0; _status.set(["facingRight"]); _head._decorations.gotoAndStop("stripe"); _actionLeftHand.visible = false; _actionRightHand.visible = false; _adrenalineFactor = 1; _hitBounds = getAllHitBounds(this); _upPressed = false; _downPressed = false; _leftPressed = false; _rightPressed = false; _spacePressed = false; _adrenalinePower = 100; _frameFraction = 0; _maxAdrenalineNumerator = 2; _levitateSpeed = 20; _allShurikens = new Array(); _transitionFlags = ["jumping to falling", "begin levitating"]; this.initializeFrameData(); _autoAdrenaline = true; } private function throwShuriken():void{ var _local1:Number; var _local2:Number; var _local3:Number; var _local4:Shuriken; var _local5:Number; var _local6:Number; _stats.shurikensThrown++; _status.set(["beginThrowingShuriken"]); if (this.scaleX < 0){ _local5 = -(_actionLeftHand.x); _local6 = -(this.mouseX); } else { _local5 = _actionLeftHand.x; _local6 = this.mouseX; }; _local2 = (_local6 - _local5); _local3 = (this.mouseY - _actionLeftHand.y); _local1 = Math.sqrt(((_local2 * _local2) + (_local3 * _local3))); _local4 = new Shuriken((_local2 / _local1), (_local3 / _local1)); _local4.registerReferences({playerHitAssets:_playerHitAssets, player:this, stage:_stage, allDynamicAssets:_allDynamicAssets, scrollingAssets:_scrollingAssets, stats:_stats}); _local4.x = (this.x + _local5); _local4.y = (this.y + _actionLeftHand.y); parent.addChild(_local4); _scrollingAssets.push(_local4); _allDynamicAssets.push(_local4); _allShurikens.push(_local4); } function frame310(){ gotoAndPlay("running"); } function frame797(){ gotoAndStop("falling dead"); } public function mouseUpHandler(_arg1:MouseEvent):void{ _mouseDownCtr = 16; } function frame712(){ gotoAndPlay("levitating"); } private function processBoundaryCollisions():void{ var _local1:Boolean; if ((((((_vy >= 0)) && (!(_status.get(["beginJumping"]))))) || (_status.get(["levitating"])))){ if (_boundaries.hitTestPoint(this.x, this.y, true)){ _local1 = true; _status.set(["grounded"]); } else { if (_boundaries.hitTestPoint(this.x, (this.y + SLOPE_TOLERANCE), true)){ _local1 = false; _status.set(["grounded"]); } else { _local1 = false; _status.clear(["grounded"]); if (this.currentLabel == "running"){ this.gotoAndStop("jumping to falling"); }; }; }; if (_local1){ while (_local1) { this.y = (this.y - 1); _virtualY = (_virtualY - 1); _local1 = false; if (_boundaries.hitTestPoint(this.x, this.y, true)){ _local1 = true; }; }; _vy = 0; }; }; } function frame320(){ stop(); } public function get hitBounds():Array{ return (_hitBounds); } function frame200(){ gotoAndPlay("standing"); } function frame848(){ gotoAndStop("lying dead"); } private function processAndUpdateState():void{ var _local1:SoundChannel; var _local2:SoundChannel; if (((!(_status.get(["grounded"]))) && ((_vy > 0)))){ _status.set(["movingDown"]); }; if (((_status.get(["movingDown", "grounded"])) && (!(_status.get(["levitating"]))))){ _status.clear(["movingDown"]); if (_healthMeter.health <= 0){ this.gotoAndPlay("landing dead"); _dyingSequenceCallback(); } else { if (((_status.get(["movingRight"])) || (_status.get(["movingLeft"])))){ this.gotoAndStop("running"); } else { if (_downPressed){ _status.set(["beginSitting", "sitting"]); } else { this.gotoAndStop("standing"); }; }; }; }; if (((((((((((_status.get(["movingUp"])) && (!(_status.get(["beginJumping"]))))) && ((_vy > 0)))) && (!(_status.get(["levitating"]))))) && (!((this.currentLabel == "jumping to falling"))))) && (!((this.currentLabel == "falling"))))){ _status.clear(["movingUp"]); this.gotoAndStop("jumping to falling"); _status.set(["movingDown"]); }; if (_status.get(["beginLevitating"])){ _vx = 0; _vy = 0; _head.gotoAndStop("concentrate"); this.gotoAndStop("begin levitating"); _status.clear(["beginLevitating"]); }; if (_status.get(["stopLevitating"])){ _head.gotoAndStop("sad"); if (_status.get(["grounded"])){ this.gotoAndStop("standing"); } else { this.gotoAndStop("jumping to falling"); }; _status.clear(["stopLevitating"]); }; if (_status.get(["beginForcingAdrenaline"])){ _status.clear(["beginForcingAdrenaline"]); }; if (_status.get(["stopForcingAdrenaline"])){ _status.clear(["stopForcingAdrenaline"]); }; if (_status.get(["beginSitting"])){ _vx = 0; this.gotoAndStop("standing to sitting"); _status.clear(["beginSitting"]); }; if (_status.get(["stopSitting"])){ if ((((this.currentLabel == "sitting")) || ((this.currentLabel == "standing to sitting")))){ this.gotoAndStop("sitting to standing"); }; _status.clear(["stopSitting"]); }; if (_status.get(["beginLevitatingLeft"])){ _vx = -(_levitateSpeed); _status.clear(["beginLevitatingLeft"]); }; if (_status.get(["beginLevitatingRight"])){ _vx = _levitateSpeed; _status.clear(["beginLevitatingRight"]); }; if (_status.get(["beginLevitatingUp"])){ _vy = -(_levitateSpeed); _status.clear(["beginLevitatingUp"]); }; if (_status.get(["beginLevitatingDown"])){ _vy = _levitateSpeed; _status.clear(["beginLevitatingDown"]); }; if (_status.get(["stopLevitatingLeft"])){ _vx = 0; _status.clear(["stopLevitatingLeft"]); }; if (_status.get(["stopLevitatingRight"])){ _vx = 0; _status.clear(["stopLevitatingRight"]); }; if (_status.get(["stopLevitatingUp"])){ _vy = 0; _status.clear(["stopLevitatingUp"]); }; if (_status.get(["stopLevitatingDown"])){ _vy = 0; _status.clear(["stopLevitatingDown"]); }; if (_status.get(["beginAttacking1"])){ _local1 = _swordSwing.play(); _local1.soundTransform = new SoundTransform(MusicManager.getVolume(), 0); _idleRightHand.visible = false; _actionRightHand.visible = true; _actionRightHand.gotoAndStop("active right hand swing"); _status.clear(["beginAttacking1"]); }; if (_status.get(["stopAttacking1"])){ _actionRightHand.visible = false; _idleRightHand.visible = true; _actionRightHand.gotoAndStop("idle"); _status.clear(["stopAttacking1"]); }; if (_status.get(["beginThrowingShuriken"])){ _local2 = _surikenThrow.play(); _local2.soundTransform = new SoundTransform((MusicManager.getVolume() * 0.5), 0); _idleLeftHand.visible = false; _actionLeftHand.visible = true; _actionLeftHand.gotoAndStop("active left hand throw"); _status.clear(["beginThrowingShuriken"]); }; if (_status.get(["stopThrowingShuriken"])){ _actionLeftHand.visible = false; _idleLeftHand.visible = true; _actionLeftHand.gotoAndStop("idle"); _status.clear(["stopThrowingShuriken"]); }; if (_status.get(["beginFacingRight"])){ this.scaleX = 1; _status.clear(["beginFacingRight"]); }; if (_status.get(["beginFacingLeft"])){ this.scaleX = -1; _status.clear(["beginFacingLeft"]); }; if (_status.get(["beginMovingRight"])){ _vx = 10; if (_status.get(["grounded"])){ this.gotoAndStop("running"); }; _status.clear(["beginMovingRight"]); }; if (_status.get(["beginMovingLeft"])){ _vx = -10; if (_status.get(["grounded"])){ this.gotoAndStop("running"); }; _status.clear(["beginMovingLeft"]); }; if (_status.get(["beginJumping"])){ _vy = -30; this.gotoAndStop("jumping"); _status.clear(["beginJumping"]); }; if (_status.get(["stopMovingRight"])){ _vx = 0; if (((_status.get(["grounded"])) && ((this.currentLabel == "running")))){ this.gotoAndStop("standing"); }; _status.clear(["stopMovingRight"]); }; if (_status.get(["stopMovingLeft"])){ _vx = 0; if (((_status.get(["grounded"])) && ((this.currentLabel == "running")))){ this.gotoAndStop("standing"); }; _status.clear(["stopMovingLeft"]); }; if ((((this.currentLabel == "falling")) && (_status.get(["grounded"])))){ trace("fix"); if (((_status.get(["movingRight"])) || (_status.get(["movingLeft"])))){ this.gotoAndStop("running"); } else { this.gotoAndStop("standing"); }; }; } function frame734(){ gotoAndPlay("sitting"); } public function set virtualX(_arg1:Number):void{ _virtualX = _arg1; } public function set virtualY(_arg1:Number):void{ _virtualY = _arg1; } function frame863(){ gotoAndPlay("null space"); } public function keyDownHandler(_arg1:KeyboardEvent):void{ if (!_active){ return; }; switch (_arg1.keyCode){ case 32: if (((!(_status.get(["levitating"]))) && (!(_spacePressed)))){ _status.set(["beginLevitating", "levitating"]); if (((_status.get(["movingLeft"])) || (_status.get(["beginMovingLeft"])))){ _status.set(["beginLevitatingLeft", "levitatingLeft"]); }; if (((_status.get(["movingRight"])) || (_status.get(["beginMovingRight"])))){ _status.set(["beginLevitatingRight", "levitatingRight"]); }; if (_upPressed){ _status.set(["beginLevitatingUp", "levitatingUp"]); } else { if (_downPressed){ _status.set(["beginLevitatingDown", "levitatingDown"]); }; }; _status.clear(["movingLeft", "movingRight", "beginMovingLeft", "beginMovingRight"]); }; _spacePressed = true; break; case 65: _leftPressed = true; if (_status.get(["levitating"])){ if (!_status.get(["levitatingLeft"])){ _status.set(["beginLevitatingLeft", "beginFacingLeft", "levitatingLeft", "facingLeft"]); _status.clear(["beginLevitatingRight", "levitatingRight", "stopLevitatingRight", "facingRight", "beginFacingRight"]); }; } else { if (!_status.get(["movingLeft"])){ _status.set(["beginMovingLeft", "beginFacingLeft", "movingLeft", "facingLeft"]); _status.clear(["beginMovingRight", "beginFacingRight", "movingRight", "facingRight", "stopMovingRight"]); }; }; break; case 87: _upPressed = true; if (_status.get(["levitating"])){ if (!_status.get(["levitatingUp"])){ _status.set(["beginLevitatingUp", "levitatingUp"]); _status.clear(["beginLevitatingDown", "levitatingDown", "stopLevitatingDown"]); }; } else { if (_status.get(["grounded"])){ _status.set(["beginJumping", "movingUp"]); _status.clear(["grounded"]); }; }; break; case 68: _rightPressed = true; if (_status.get(["levitating"])){ if (!_status.get(["levitatingRight"])){ _status.set(["beginLevitatingRight", "beginFacingRight", "levitatingRight", "facingRight"]); _status.clear(["beginLevitatingLeft", "levitatingLeft", "stopLevitatingLeft", "facingLeft", "beginFacingLeft"]); }; } else { if (!_status.get(["movingRight"])){ _status.set(["beginMovingRight", "beginFacingRight", "movingRight", "facingRight"]); _status.clear(["beginMovingLeft", "beginFacingLeft", "movingLeft", "facingLeft", "stopMovingLeft"]); }; }; break; case 83: _downPressed = true; if (_status.get(["levitating"])){ if (!_status.get(["levitatingDown"])){ _status.set(["beginLevitatingDown", "levitatingDown"]); _status.clear(["beginLevitatingUp", "levitatingUp", "stopLevitatingUp"]); }; } else { if (((_status.get(["grounded"])) && (!(_status.get(["levitating"]))))){ if (((((!(_status.get(["sitting"]))) && (_status.get(["grounded"])))) && (!(_status.get(["levitating"]))))){ _status.set(["beginSitting", "sitting"]); _status.clear(["movingLeft", "beginMovingLeft", "beginMovingRight", "movingRight"]); }; }; }; break; case 70: break; case 16: if (!_status.get(["forcingAdrenaline"])){ _status.set(["beginForcingAdrenaline", "forcingAdrenaline"]); }; break; }; } public function mouseDownHandler(_arg1:MouseEvent):void{ if (!_active){ return; }; _mouseDownCtr = 1; if (((((((((!((_arg1.target.parent == _timeMeter))) && (!((_arg1.target.parent == _volumeControl))))) && (!((_arg1.target.parent == _clock))))) && (!((_arg1.target == _clock))))) && (!((_arg1.target.parent == _timeMeter._autoSlowMotionControl))))){ this.throwShuriken(); _noThrow = false; } else { if (_arg1.target == _timeMeter._autoSlowMotionControl){ this.throwShuriken(); _noThrow = false; } else { _noThrow = true; }; }; } function frame747(){ gotoAndPlay("standing"); } public function warpToVirtualCoordinates(_arg1:Number, _arg2:Number):void{ this.x = (this.x + (_arg1 - _virtualX)); this.y = (this.y + (_arg2 - _virtualY)); _virtualX = _arg1; _virtualY = _arg2; _vy = 0; } function frame632(){ gotoAndPlay("falling"); } public function keyUpHandler(_arg1:KeyboardEvent):void{ if (!_active){ return; }; switch (_arg1.keyCode){ case 16: if (_status.get(["forcingAdrenaline"])){ _status.set(["stopForcingAdrenaline"]); _status.clear(["forcingAdrenaline"]); }; break; case 32: _spacePressed = false; if (_status.get(["levitating"])){ if (_status.get(["levitatingLeft"])){ _status.set(["beginMovingLeft", "beginFacingLeft", "movingLeft", "facingLeft"]); } else { if (_status.get(["levitatingRight"])){ _status.set(["beginMovingRight", "beginFacingRight", "movingRight", "facingRight"]); } else { if (_status.get(["levitatingDown", "grounded"])){ _status.set(["beginSitting", "sitting"]); }; }; }; _status.set(["stopLevitating"]); _status.clear(["levitating", "beginLevitatingRight", "beginLevitatingLeft", "levitatingRight", "levitatingLeft", "beginLevitatingUp", "beginLevitatingDown", "levitatingUp", "levitatingDown"]); }; break; case 65: _leftPressed = false; if (_status.get(["levitating"])){ if (_status.get(["levitatingLeft"])){ _status.set(["stopLevitatingLeft"]); _status.clear(["levitatingLeft"]); }; if (((_rightPressed) && (!(_status.get(["levitatingRight"]))))){ _status.set(["beginLevitatingRight", "beginFacingRight", "levitatingRight", "facingRight"]); _status.clear(["beginLevitatingLeft", "levitatingLeft", "stopLevitatingLeft", "facingLeft", "beginFacingLeft"]); }; } else { if (_status.get(["movingLeft"])){ _status.set(["stopMovingLeft"]); _status.clear(["movingLeft"]); }; if (((_rightPressed) && (!(_status.get(["movingRight"]))))){ _status.set(["beginMovingRight", "beginFacingRight", "movingRight", "facingRight"]); _status.clear(["beginMovingLeft", "beginFacingLeft", "movingLeft", "facingLeft", "stopMovingLeft"]); }; }; break; case 87: _upPressed = false; if (_status.get(["levitating"])){ if (_status.get(["levitatingUp"])){ _status.set(["stopLevitatingUp"]); _status.clear(["levitatingUp"]); }; }; break; case 68: _rightPressed = false; if (_status.get(["levitating"])){ if (_status.get(["levitatingRight"])){ _status.set(["stopLevitatingRight"]); _status.clear(["levitatingRight"]); }; if (((_leftPressed) && (!(_status.get(["levitatingLeft"]))))){ _status.set(["beginLevitatingLeft", "beginFacingLeft", "levitatingLeft", "facingLeft"]); _status.clear(["beginLevitatingRight", "levitatingRight", "stopLevitatingRight", "facingRight", "beginFacingRight"]); }; } else { if (_status.get(["movingRight"])){ _status.set(["stopMovingRight"]); _status.clear(["movingRight"]); }; if (((_leftPressed) && (!(_status.get(["movingLeft"]))))){ _status.set(["beginMovingLeft", "beginFacingLeft", "movingLeft", "facingLeft"]); _status.clear(["beginMovingRight", "beginFacingRight", "movingRight", "facingRight", "stopMovingRight"]); }; }; break; case 83: _downPressed = false; if (_status.get(["levitating"])){ if (_status.get(["levitatingDown"])){ _status.set(["stopLevitatingDown"]); _status.clear(["levitatingDown"]); }; } else { if (_status.get(["sitting"])){ _status.set(["stopSitting"]); _status.clear(["sitting"]); if (((_rightPressed) && (!(_status.get(["movingRight"]))))){ _status.set(["beginMovingRight", "beginFacingRight", "movingRight", "facingRight"]); _status.clear(["beginMovingLeft", "beginFacingLeft", "movingLeft", "facingLeft", "stopMovingLeft"]); }; if (((_leftPressed) && (!(_status.get(["movingLeft"]))))){ _status.set(["beginMovingLeft", "beginFacingLeft", "movingLeft", "facingLeft"]); _status.clear(["beginMovingRight", "beginFacingRight", "movingRight", "facingRight", "stopMovingRight"]); }; }; }; break; }; } override public function registerReferences(_arg1:Object):void{ super.registerReferences(_arg1); if (_arg1.bubble != null){ _bubble = _arg1.bubble; }; if (_arg1.redMeter != null){ _redMeter = _arg1.redMeter; }; if (_arg1.timeMeter != null){ _timeMeter = _arg1.timeMeter; }; if (_arg1.volumeControl != null){ _volumeControl = _arg1.volumeControl; }; if (_arg1.clock != null){ _clock = _arg1.clock; }; if (_arg1.dyingSequenceCallback != null){ _dyingSequenceCallback = _arg1.dyingSequenceCallback; }; } public function set autoAdrenaline(_arg1:Boolean):void{ _autoAdrenaline = _arg1; } private function processUnitAndHitCollisions():void{ var _local2:Number; var _local5:Unit; if (!_active){ return; }; var _local1:Number = 0; var _local3:Boolean; var _local4:Boolean; while (_local1 < _enemyHitAssets.length) { if ((_enemyHitAssets[_local1].parent is Hatchet)){ _local5 = _enemyHitAssets[_local1].parent; } else { _local5 = _enemyHitAssets[_local1].parent.parent; }; if (((((((!(_local3)) && (_enemyHitAssets[_local1].hitTestObject(_bubble)))) && (_autoAdrenaline))) && ((_autoAdrenalineCtr >= 0)))){ if (Math.abs((_local5.vx - _vx)) > Math.abs((_local5.vy - _vy))){ if (((_local5.vx - _vx) * (_local5.x - this.x)) < 0){ _status.set(["adrenaline"]); _local3 = true; _maxAdrenaline = (_maxAdrenalineNumerator / Math.abs((_local5.vx - _vx))); if (_maxAdrenaline > 1){ _maxAdrenaline = 1; }; }; } else { if (((_local5.vy - _vy) * (_local5.y - this.y)) < 0){ _status.set(["adrenaline"]); _local3 = true; _maxAdrenaline = (_maxAdrenalineNumerator / Math.abs((_local5.vy - _vy))); if (_maxAdrenaline > 1){ _maxAdrenaline = 1; }; }; }; if (((_local3) && ((_autoAdrenalineCtr == 0)))){ _autoAdrenalineCtr = _autoAdrenalineDuration; }; }; _local2 = 0; while (_local2 < _hitBounds.length) { if (_enemyHitAssets[_local1].hitTestObject(_hitBounds[_local2])){ _local4 = true; break; }; _local2++; }; if (((((_local4) && (!(_status.get(["blinking"]))))) && (!(_status.get(["dying"]))))){ if (!_stats.beenHit){ _stats.beenHit = true; }; this.beginBlinking(); _status.set(["blinking"]); _healthMeter.adjustHealth(-0.5); if (_healthMeter.health == 0){ this.stopBlinking(); _active = false; _status = new Status(); _status.set(["dying"]); _vx = 0; _vy = -10; this.gotoAndPlay("tipping dead"); _head.gotoAndStop("dead"); }; }; _local1++; }; if (!_local3){ _status.clear(["adrenaline"]); }; } function frame754(){ gotoAndStop("falling dead"); } public function updateInput(_arg1:Object):void{ var _local2:KeyboardEvent; if (((!(_leftPressed)) && (_arg1.left))){ _local2 = new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false, 0, 65, 0, false, false, false); this.keyDownHandler(_local2); } else { if (((_leftPressed) && (!(_arg1.left)))){ _local2 = new KeyboardEvent(KeyboardEvent.KEY_UP, true, false, 0, 65, 0, false, false, false); this.keyUpHandler(_local2); }; }; if (((!(_upPressed)) && (_arg1.up))){ _local2 = new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false, 0, 87, 0, false, false, false); this.keyDownHandler(_local2); } else { if (((_upPressed) && (!(_arg1.up)))){ _local2 = new KeyboardEvent(KeyboardEvent.KEY_UP, true, false, 0, 87, 0, false, false, false); this.keyUpHandler(_local2); }; }; if (((!(_rightPressed)) && (_arg1.right))){ _local2 = new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false, 0, 68, 0, false, false, false); this.keyDownHandler(_local2); } else { if (((_rightPressed) && (!(_arg1.right)))){ _local2 = new KeyboardEvent(KeyboardEvent.KEY_UP, true, false, 0, 68, 0, false, false, false); this.keyUpHandler(_local2); }; }; if (((!(_downPressed)) && (_arg1.down))){ _local2 = new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false, 0, 83, 0, false, false, false); this.keyDownHandler(_local2); } else { if (((_downPressed) && (!(_arg1.down)))){ _local2 = new KeyboardEvent(KeyboardEvent.KEY_UP, true, false, 0, 83, 0, false, false, false); this.keyUpHandler(_local2); }; }; if (((!(_spacePressed)) && (_arg1.space))){ _local2 = new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false, 0, 32, 0, false, false, false); this.keyDownHandler(_local2); } else { if (((_spacePressed) && (!(_arg1.space)))){ _local2 = new KeyboardEvent(KeyboardEvent.KEY_UP, true, false, 0, 32, 0, false, false, false); this.keyUpHandler(_local2); }; }; } public function get virtualX():Number{ return (_virtualX); } override protected function doneBlinking():void{ _status.clear(["blinking"]); } public function set maxAdrenalineNumerator(_arg1:Number):void{ _maxAdrenalineNumerator = _arg1; } public function get virtualY():Number{ return (_virtualY); } public function get maxAdrenalineNumerator():Number{ return (_maxAdrenalineNumerator); } public function update():void{ var _local1:String; var _local2:Number; if (_autoAdrenalineCtr == 1){ if (!_status.get(["forcingAdrenaline"])){ _maxAdrenaline = 1; }; _autoAdrenalineCtr = -1; } else { if (_autoAdrenalineCtr > 1){ _autoAdrenalineCtr--; } else { if ((((_autoAdrenalineCtr < 0)) && ((_adrenalineFactor == 1)))){ _autoAdrenalineCtr = 0; }; }; }; if (_status.get(["adrenaline"])){ if (_adrenalineFactor > _maxAdrenaline){ _adrenalineFactor = _maxAdrenaline; }; } else { if (_status.get(["forcingAdrenaline"])){ _maxAdrenaline = (_timeMeter.getMaxAdrenalineNumerator() / 10); if (_maxAdrenaline > 1){ _maxAdrenaline = 1; }; _adrenalineFactor = _maxAdrenaline; } else { if (_adrenalineFactor < 1){ _adrenalineFactor = (_adrenalineFactor + 0.08); if (_adrenalineFactor > 1){ _adrenalineFactor = 1; _frameFraction = 0; }; }; }; }; _frameFraction = (_frameFraction + (5 * _adrenalineFactor)); if (_frameFraction >= 1){ _local1 = this.currentLabel; this.gotoAndStop((this.currentFrame + Math.floor(_frameFraction))); if (_transitionFlags.indexOf(_local1) == -1){ _local2 = 0; while (((!((this.currentLabel == _local1))) && ((_local2 < Math.ceil(_frameFraction))))) { this.gotoAndStop((this.currentFrame - 1)); _local2++; }; }; _local1 = _actionRightHand.currentLabel; _actionRightHand.gotoAndStop((_actionRightHand.currentFrame + Math.floor(_frameFraction))); while (_actionRightHand.currentLabel != _local1) { _actionRightHand.gotoAndStop((_actionRightHand.currentFrame - 1)); }; _local1 = _actionLeftHand.currentLabel; _actionLeftHand.gotoAndStop((_actionLeftHand.currentFrame + Math.floor(_frameFraction))); while (_actionLeftHand.currentLabel != _local1) { _actionLeftHand.gotoAndStop((_actionLeftHand.currentFrame - 1)); }; _frameFraction = (_frameFraction - Math.floor(_frameFraction)); }; if (_mouseDownCtr < 15){ if (((((_mouseDownCtr % 5) == 0)) && (!(_noThrow)))){ this.throwShuriken(); }; _mouseDownCtr++; }; if (!_status.get(["levitating"])){ _vy = (_vy + (2 * _adrenalineFactor)); }; this.x = (this.x + (_vx * _adrenalineFactor)); this.y = (this.y + (_vy * _adrenalineFactor)); _virtualX = (_virtualX + (_vx * _adrenalineFactor)); _virtualY = (_virtualY + (_vy * _adrenalineFactor)); _bubble.x = ((this.x + _body.x) + (_body.width / 2)); _bubble.y = (this.y + _body.y); if (_status.get(["levitating"])){ if ((_adrenalinePower - (5 * _adrenalineFactor)) <= 1){ if (_status.get(["levitatingLeft"])){ _status.set(["beginMovingLeft", "beginFacingLeft", "movingLeft", "facingLeft"]); } else { if (_status.get(["levitatingRight"])){ _status.set(["beginMovingRight", "beginFacingRight", "movingRight", "facingRight"]); }; }; _status.set(["stopLevitating"]); _status.clear(["levitating", "beginLevitatingRight", "beginLevitatingLeft", "levitatingRight", "levitatingLeft", "beginLevitatingUp", "beginLevitatingDown", "levitatingUp", "levitatingDown"]); _adrenalinePower = 1; _redMeter.gotoAndStop(1); } else { _adrenalinePower = (_adrenalinePower - (5 * _adrenalineFactor)); _redMeter.gotoAndStop(Math.floor(_adrenalinePower)); }; } else { if ((_adrenalinePower + (1 * _adrenalineFactor)) > 100){ _adrenalinePower = 100; _redMeter.gotoAndStop(100); } else { _adrenalinePower = (_adrenalinePower + (1 * _adrenalineFactor)); _redMeter.gotoAndStop(Math.floor(_adrenalinePower)); }; }; processBoundaryCollisions(); processAndUpdateState(); processUnitAndHitCollisions(); cleanupShurikens(); } private function cleanupShurikens():void{ var _local1:Number = 0; while (_local1 < _allShurikens.length) { if (_allShurikens[_local1].deactivated){ _allShurikens.splice(_local1, 1); } else { _local1++; }; }; } function frame818(){ stop(); } public function get adrenalineFactor():Number{ return (_adrenalineFactor); } } }//package
Section 58
//PlayerBody (PlayerBody) package { import flash.display.*; public dynamic class PlayerBody extends MovieClip { public var _beatingHeart:BeatingHeart; public function PlayerBody(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 59
//PlayerFootFront (PlayerFootFront) package { import flash.display.*; public dynamic class PlayerFootFront extends MovieClip { public function PlayerFootFront(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 60
//PlayerFootSide (PlayerFootSide) package { import flash.display.*; public dynamic class PlayerFootSide extends MovieClip { public function PlayerFootSide(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 61
//PlayerHead (PlayerHead) package { import flash.display.*; public dynamic class PlayerHead extends MovieClip { public var _hb:HitBound; public var _decorations:PlayerHeadDecorations; public function PlayerHead(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 72, frame73); } function frame73(){ stop(); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } } }//package
Section 62
//PlayerHeadDecorations (PlayerHeadDecorations) package { import flash.display.*; public dynamic class PlayerHeadDecorations extends MovieClip { } }//package
Section 63
//PreloadScreen (PreloadScreen) package { import flash.events.*; import flash.display.*; import flash.text.*; public class PreloadScreen extends MovieClip { public var _preloadText:TextField; private var _isActivated:Boolean; private var _isInitialized:Boolean; private var _callbacks:Object; public function PreloadScreen():void{ _isInitialized = false; _isActivated = false; } public function uninitialize():void{ if (!_isInitialized){ return; }; _isInitialized = false; deactivate(); _callbacks = null; } public function setCallbacks(_arg1:Object):void{ if (_arg1.preloadFinished != null){ _callbacks.preloadFinished = _arg1.preloadFinished; }; } public function deactivate():void{ if (!_isActivated){ return; }; _isActivated = false; parent.loaderInfo.removeEventListener(ProgressEvent.PROGRESS, loaderInfoProgressHandler); } public function initialize():void{ if (_isInitialized){ uninitialize(); }; _isInitialized = true; _callbacks = new Object(); } public function activate():void{ if (_isActivated){ return; }; _isActivated = true; parent.loaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderInfoProgressHandler); } private function loaderInfoProgressHandler(_arg1:ProgressEvent):void{ var _local2:Number; _local2 = ((_arg1.bytesLoaded / _arg1.bytesTotal) * 100); _preloadText.text = (Math.ceil(_local2) + "%"); if (_local2 == 100){ _callbacks.preloadFinished(); }; } } }//package
Section 64
//RadioButton (RadioButton) package { import flash.display.*; public dynamic class RadioButton extends MovieClip { public function RadioButton(){ addFrameScript(0, frame1, 1, frame2); } function frame1(){ stop(); } function frame2(){ stop(); } } }//package
Section 65
//RedMeter (RedMeter) package { import flash.display.*; public dynamic class RedMeter extends MovieClip { } }//package
Section 66
//SettingsWindow (SettingsWindow) package { import flash.events.*; import flash.display.*; import flash.text.*; public class SettingsWindow extends MovieClip { public var _high:RadioButton; public var _shurikensThrown:TextField; public var _resumeGameButton:SettingsWindowResumeGameButton; private var _toMenuScreenCallback:Function; private var _stage:Stage; public var _menuButton:ToMenuFromSettingsButton; private var _documentMain:DocumentMain; public var _medium:RadioButton; public var _low:RadioButton; private var _mouseListeningAssets:Array; private var _stats:Object; private var _keyListeningAssets:Array; public var _accuracy:TextField; public var _explanation:Explanation; private var _unpauseCallback:Function; public var _wavesSurvived:TextField; public var _totalKnockouts:TextField; public var _timeElapsed:TextField; public function SettingsWindow(_arg1:Array, _arg2:Array, _arg3:Stage, _arg4:Function, _arg5:DocumentMain, _arg6:Object, _arg7:Function):void{ if (_arg3.quality == StageQuality.LOW){ _low.gotoAndStop("on"); _medium.gotoAndStop("off"); _high.gotoAndStop("off"); } else { if (_arg3.quality == StageQuality.MEDIUM){ _low.gotoAndStop("off"); _medium.gotoAndStop("on"); _high.gotoAndStop("off"); } else { _low.gotoAndStop("off"); _medium.gotoAndStop("off"); _high.gotoAndStop("on"); }; }; _stats = _arg6; _toMenuScreenCallback = _arg7; _timeElapsed.text = String(Math.floor((_arg6.secondsElapsed / 60))); if ((_arg6.secondsElapsed % 60) < 10){ _timeElapsed.appendText(":0"); } else { _timeElapsed.appendText(":"); }; _timeElapsed.appendText(String((_arg6.secondsElapsed % 60))); _wavesSurvived.text = String(_arg6.wavesSurvived); _totalKnockouts.text = String(_arg6.totalKnockouts); _shurikensThrown.text = String(_arg6.shurikensThrown); if (_arg6.shurikensThrown == 0){ _accuracy.text = "n/a"; } else { _accuracy.text = (String((Math.floor((1000 * (_arg6.shurikensHit / _arg6.shurikensThrown))) / 10)) + "%"); }; if (_stats.shurikensHit > _stats.shurikensThrown){ _explanation.visible = true; } else { _explanation.visible = false; }; _menuButton.buttonMode = true; _resumeGameButton.buttonMode = true; _documentMain = _arg5; _mouseListeningAssets = _arg1; _keyListeningAssets = _arg2; _stage = _arg3; _unpauseCallback = _arg4; } public function update():void{ _timeElapsed.text = String(Math.floor((_stats.secondsElapsed / 60))); if ((_stats.secondsElapsed % 60) < 10){ _timeElapsed.appendText(":0"); } else { _timeElapsed.appendText(":"); }; _timeElapsed.appendText(String((_stats.secondsElapsed % 60))); _wavesSurvived.text = String(_stats.wavesSurvived); _totalKnockouts.text = String(_stats.totalKnockouts); _shurikensThrown.text = String(_stats.shurikensThrown); if (_stats.shurikensThrown == 0){ _accuracy.text = "n/a"; } else { _accuracy.text = (String((Math.floor((1000 * (_stats.shurikensHit / _stats.shurikensThrown))) / 10)) + "%"); }; if (_stats.shurikensHit > _stats.shurikensThrown){ _explanation.visible = true; } else { _explanation.visible = false; }; } public function mouseUpHandler(_arg1:MouseEvent):void{ } public function keyUpHandler(_arg1:KeyboardEvent):void{ } public function keyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == 81){ this.resumeGame(); }; } private function resumeGame():void{ _mouseListeningAssets.splice(_mouseListeningAssets.indexOf(this), 1); _keyListeningAssets.splice(_keyListeningAssets.indexOf(this), 1); parent.removeChild(this); _stage.focus = _stage; _unpauseCallback(); } public function mouseDownHandler(_arg1:MouseEvent):void{ if (_arg1.target == _resumeGameButton){ this.resumeGame(); } else { if (_arg1.target == _menuButton){ MusicManager.stopCurrent(); _toMenuScreenCallback(); }; }; if (_arg1.target == _low){ stage.quality = StageQuality.LOW; _low.gotoAndStop("on"); _medium.gotoAndStop("off"); _high.gotoAndStop("off"); } else { if (_arg1.target == _medium){ stage.quality = StageQuality.MEDIUM; _low.gotoAndStop("off"); _medium.gotoAndStop("on"); _high.gotoAndStop("off"); } else { stage.quality = StageQuality.HIGH; _low.gotoAndStop("off"); _medium.gotoAndStop("off"); _high.gotoAndStop("on"); }; }; } public function updateMenuScreenCallback(_arg1:Function):void{ _toMenuScreenCallback = _arg1; } } }//package
Section 67
//SettingsWindowResumeGameButton (SettingsWindowResumeGameButton) package { import flash.display.*; public dynamic class SettingsWindowResumeGameButton extends MovieClip { } }//package
Section 68
//ShieldSound (ShieldSound) package { import flash.media.*; public dynamic class ShieldSound extends Sound { } }//package
Section 69
//Shuriken (Shuriken) package { import flash.events.*; import flash.display.*; import flash.media.*; import flash.geom.*; public class Shuriken extends Unit { private var _stuckCtr:Number; private var _deflectedBy:Unit; private var _decelerateAndFall:Boolean; private var _vr:Number; public var _surikenImage:SurikenImage; private var _shieldSound:ShieldSound; public var _shurikenMask:ShurikenMask; private var _ctr:Number; private var _listenerAdded:Boolean; private var _deactivated:Boolean; public static const ROTATION_SPEED:Number = 40; public static const SPEED:Number = 40; public function Shuriken(_arg1:Number, _arg2:Number):void{ _shieldSound = new ShieldSound(); _listenerAdded = false; _ctr = 0; _vx = (_arg1 * SPEED); _vy = (_arg2 * SPEED); _deactivated = false; _stuckCtr = -1; _damage = 1; _decelerateAndFall = false; if (_vx > 0){ _vr = ((ROTATION_SPEED + (Math.random() * 6)) - 3); } else { _vr = -(((ROTATION_SPEED + (Math.random() * 6)) - 3)); }; _hitBounds = this.getAllHitBounds(this); } public function get deflectedBy():Unit{ return (_deflectedBy); } public function update():void{ var _local1:Number; if (_ctr > 60){ if (!_listenerAdded){ this.remove(); return; }; } else { _ctr = (_ctr + _player.adrenalineFactor); }; this.x = (this.x + (_vx * _player.adrenalineFactor)); this.y = (this.y + (_vy * _player.adrenalineFactor)); this._surikenImage.rotation = (this._surikenImage.rotation + (_vr * _player.adrenalineFactor)); if ((((((((this.x < -200)) || ((this.x > (stage.stageWidth + 200))))) || ((((this.y < -200)) && ((this.y < (_player.y - 100))))))) || ((((this.y > (stage.stageHeight + 200))) && ((this.y > _player.y)))))){ parent.removeChild(this); _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _scrollingAssets.splice(_scrollingAssets.indexOf(this), 1); _local1 = 0; while (_local1 < _hitBounds.length) { _playerHitAssets.splice(_playerHitAssets.indexOf(_hitBounds[_local1]), 1); _local1++; }; _deactivated = true; }; } override public function registerReferences(_arg1:Object):void{ super.registerReferences(_arg1); var _local2:Number = 0; while (_local2 < _hitBounds.length) { _playerHitAssets.push(_hitBounds[_local2]); _local2++; }; } public function remove():void{ parent.removeChild(this); if (_allDynamicAssets.indexOf(this) != -1){ _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); }; if (_scrollingAssets.indexOf(this) != -1){ _scrollingAssets.splice(_scrollingAssets.indexOf(this), 1); }; var _local1:Number = 0; while (_local1 < _hitBounds.length) { if (_playerHitAssets.indexOf(_hitBounds[_local1]) != -1){ _playerHitAssets.splice(_playerHitAssets.indexOf(_hitBounds[_local1]), 1); }; _local1++; }; _deactivated = true; } private function enterFrameHandler(_arg1:Event):void{ if (_stuckCtr > 0){ if (_stuckCtr < 100){ this.alpha = (_stuckCtr / 100); }; _stuckCtr--; this.scaleX = (1 / Math.abs(parent.parent.scaleX)); this.scaleX = (this.scaleX / parent.scaleX); this.scaleY = (1 / Math.abs(parent.parent.scaleY)); this.scaleY = (this.scaleY / parent.scaleY); if (parent.parent.scaleX < 0){ this.scaleX = (this.scaleX * -1); }; if (_decelerateAndFall){ this.x = (this.x + (_vx * _player.adrenalineFactor)); this.y = (this.y + (_vy * _player.adrenalineFactor)); this._surikenImage.rotation = (this._surikenImage.rotation + (_vr * _player.adrenalineFactor)); _vx = (_vx * (0.55 * _player.adrenalineFactor)); _vr = (_vr * (0.85 * _player.adrenalineFactor)); _vy = (_vy + 2); _stuckCtr = (_stuckCtr - 9); }; } else { if (_scrollingAssets.indexOf(this) != -1){ _scrollingAssets.splice(_scrollingAssets.indexOf(this), 1); }; this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler); parent.removeChild(this); }; } public function decelerateAndFall():void{ var _local1:Number; _decelerateAndFall = true; _deactivated = true; _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _local1 = 0; while (_local1 < _hitBounds.length) { _playerHitAssets.splice(_playerHitAssets.indexOf(_hitBounds[_local1]), 1); _local1++; }; _stuckCtr = 100; _listenerAdded = true; this.addEventListener(Event.ENTER_FRAME, enterFrameHandler); } public function stickTo(_arg1:MovieClip):void{ var _local2:Number; var _local3:Point; _stats.shurikensHit++; parent.removeChild(this); _arg1.addChild(this); _local3 = _arg1.globalToLocal(new Point(this.x, this.y)); this.x = _local3.x; this.y = _local3.y; this.scaleX = (1 / Math.abs(parent.parent.scaleX)); this.scaleX = (this.scaleX / parent.scaleX); this.scaleY = (1 / Math.abs(parent.parent.scaleY)); this.scaleY = (this.scaleY / parent.scaleY); if (_arg1.parent.scaleX < 0){ this.scaleX = (this.scaleX * -1); }; _deactivated = true; _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _scrollingAssets.splice(_scrollingAssets.indexOf(this), 1); _local2 = 0; while (_local2 < _hitBounds.length) { _playerHitAssets.splice(_playerHitAssets.indexOf(_hitBounds[_local2]), 1); _local2++; }; if ((_arg1.parent is Enemy)){ if (_decelerateAndFall){ this.transform.colorTransform = new ColorTransform((2 / 0.7), (0.5 / 0.7), (0.5 / 0.7), 1, 0, 0, 0, 0); } else { this.transform.colorTransform = new ColorTransform((1 / 0.7), (1 / 0.7), (1 / 0.7), 1, 0, 0, 0, 0); }; } else { if ((_arg1.parent is Enemy2)){ if (_decelerateAndFall){ this.transform.colorTransform = new ColorTransform((2 / 0.9), (0.5 / 0.7), (0.5 / 0.7), 1, 0, 0, 0, 0); } else { this.transform.colorTransform = new ColorTransform((1 / 0.9), (1 / 0.7), (1 / 0.7), 1, 0, 0, 0, 0); }; } else { if ((_arg1.parent is Enemy3)){ if (_decelerateAndFall){ this.transform.colorTransform = new ColorTransform((2 / 0.7), (0.5 / 0.7), (0.5 / 0.9), 1, 0, 0, 0, 0); } else { this.transform.colorTransform = new ColorTransform((1 / 0.7), (1 / 0.7), (1 / 0.9), 1, 0, 0, 0, 0); }; } else { if ((_arg1.parent is Enemy4)){ if (_decelerateAndFall){ this.transform.colorTransform = new ColorTransform((2 / 0.7), (0.5 / 0.7), (0.5 / 0.7), 1, 0, 0, 0, 0); } else { this.transform.colorTransform = new ColorTransform((1 / 0.7), (1 / 0.7), (1 / 0.7), 1, 0, 0, 0, 0); }; }; }; }; }; if (((((((((this.x - (this.width / 2)) > 0)) && (((this.x + (this.width / 2)) < _arg1.width)))) && (((this.y - (this.height / 2)) > 0)))) && (((this.y + (this.height / 2)) < _arg1.height)))){ if (Math.abs(_vx) > Math.abs(_vy)){ if (_vx > 0){ _shurikenMask.x = (_shurikenMask.x - (7 + (Math.random() * 3))); } else { _shurikenMask.x = (_shurikenMask.x + (7 + (Math.random() * 3))); }; } else { if (_vy > 0){ _shurikenMask.y = (_shurikenMask.y - (7 + (Math.random() * 3))); } else { _shurikenMask.y = (_shurikenMask.y + (7 + (Math.random() * 3))); }; }; }; _stuckCtr = 150; _listenerAdded = true; this.addEventListener(Event.ENTER_FRAME, enterFrameHandler); } public function deflect(_arg1:Unit):void{ var _local2:SoundChannel; if (_deflectedBy == null){ _stats.shurikensHit++; }; if (_deflectedBy != _arg1){ _local2 = _shieldSound.play(); _local2.soundTransform = new SoundTransform(MusicManager.getVolume(), 0); _vx = (_vx * (-1 + (Math.random() * 0.4))); _vy = (_vy * (-1 + (Math.random() * 0.4))); _deflectedBy = _arg1; }; } public function get deactivated():Boolean{ return (_deactivated); } public function set vr(_arg1:Number):void{ _vr = _arg1; } public function get vr():Number{ return (_vr); } } }//package
Section 70
//ShurikenMask (ShurikenMask) package { import flash.display.*; public dynamic class ShurikenMask extends MovieClip { } }//package
Section 71
//SignPost (SignPost) package { import flash.display.*; public dynamic class SignPost extends MovieClip { public function SignPost(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4, 4, frame5, 5, frame6); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } function frame5(){ stop(); } function frame6(){ stop(); } } }//package
Section 72
//SkipButton (SkipButton) package { import flash.display.*; public dynamic class SkipButton extends MovieClip { } }//package
Section 73
//SlideFillerMask (SlideFillerMask) package { import flash.display.*; public dynamic class SlideFillerMask extends MovieClip { } }//package
Section 74
//SliderBG (SliderBG) package { import flash.display.*; public dynamic class SliderBG extends MovieClip { } }//package
Section 75
//SpeechBubble (SpeechBubble) package { import flash.display.*; import flash.text.*; public dynamic class SpeechBubble extends MovieClip { public var _textField:TextField; } }//package
Section 76
//SpeechBubblePointer (SpeechBubblePointer) package { import flash.display.*; public dynamic class SpeechBubblePointer extends MovieClip { } }//package
Section 77
//SpeedMonitor (SpeedMonitor) package { import flash.utils.*; public class SpeedMonitor { private static var _times:Object; private static var _instantiated:Boolean; public function SpeedMonitor(_arg1:Function){ throw (new Error("SpeedMonitor is a singleton; access through static methods")); } public static function startTimer(_arg1:String):void{ if (!_instantiated){ SpeedMonitor.instantiate(); }; if (_times[(_arg1 + "Start")] == null){ _times[(_arg1 + "Ctr")] = 0; _times[(_arg1 + "Sum")] = 0; }; _times[(_arg1 + "Start")] = getTimer(); } public static function resetAverage(_arg1:String):void{ if (!_instantiated){ SpeedMonitor.instantiate(); }; if (_times[(_arg1 + "Start")] == null){ throw (new Error("resetAverage: id not recognized")); }; _times[(_arg1 + "Ctr")] = 0; _times[(_arg1 + "Sum")] = 0; } public static function getAverage(_arg1:String):Number{ if (!_instantiated){ SpeedMonitor.instantiate(); }; if (_times[(_arg1 + "Start")] == null){ throw (new Error("getAverage: id not recognized")); }; return ((_times[(_arg1 + "Sum")] / _times[(_arg1 + "Ctr")])); } public static function endTimer(_arg1:String):void{ if (!_instantiated){ SpeedMonitor.instantiate(); }; if (_times[(_arg1 + "Start")] == null){ throw (new Error("endTimer: id not recognized")); }; var _local2 = _times; var _local3 = (_arg1 + "Ctr"); var _local4 = (_local2[_local3] + 1); _local2[_local3] = _local4; _times[(_arg1 + "Sum")] = (_times[(_arg1 + "Sum")] + (getTimer() - _times[(_arg1 + "Start")])); } private static function instantiate():void{ _instantiated = true; _times = new Object(); } } }//package
Section 78
//SpiritSphere (SpiritSphere) package { public class SpiritSphere extends Unit { private var _targetX:Number; private var _targetY:Number; public function SpiritSphere(_arg1:Number, _arg2:Number, _arg3:Number, _arg4:Number){ _targetX = _arg3; _targetY = _arg4; this.x = _arg1; this.y = _arg2; this.scaleX = (0.4 + (Math.random() * 0.4)); this.scaleY = this.scaleX; this.alpha = 0.5; var _local5:Number = (_targetX - this.x); var _local6:Number = (_targetY - this.y); var _local7:Number = Math.sqrt(((_local5 * _local5) + (_local6 * _local6))); _vx = ((-(Math.random()) * 20) * (_local5 / _local7)); _vy = ((-(Math.random()) * 20) * (_local6 / _local7)); } public function update():void{ this.x = (this.x + (_player.adrenalineFactor * _vx)); this.y = (this.y + (_player.adrenalineFactor * _vy)); var _local1:Number = (_targetX - this.x); var _local2:Number = (_targetY - this.y); if ((((Math.abs(_local1) <= Math.abs((_vx * 1.2)))) && ((Math.abs(_local2) <= Math.abs((_vy * 1.2)))))){ this.remove(); }; var _local3:Number = Math.sqrt(((_local1 * _local1) + (_local2 * _local2))); if (_local3 < 100){ _vx = (_vx * (1 - (_player.adrenalineFactor * 0.35))); _vy = (_vy * (1 - (_player.adrenalineFactor * 0.35))); } else { _vx = (_vx * (1 - (_player.adrenalineFactor * 0.05))); _vy = (_vy * (1 - (_player.adrenalineFactor * 0.05))); }; _vx = (_vx + (((_player.adrenalineFactor * 4) * _local1) / _local3)); _vy = (_vy + (((_player.adrenalineFactor * 4) * _local2) / _local3)); } private function remove():void{ parent.removeChild(this); _allDynamicAssets.splice(_allDynamicAssets.indexOf(this), 1); _monsterMeter.adjustMeter(1); } } }//package
Section 79
//StartAnchor (StartAnchor) package { import flash.display.*; public dynamic class StartAnchor extends MovieClip { } }//package
Section 80
//StatsWindow (StatsWindow) package { import flash.events.*; import flash.display.*; import flash.text.*; public class StatsWindow extends MovieClip { private var _stage:Stage; private var _originalVolume:Number; public var _wavesSurvived:TextField; private var _toMenuScreenCallback:Function; public var _menuButton:ToMenuFromStatsButton; public var _timeElapsed:TextField; public var _accuracy:TextField; public var _explanation:Explanation; public var _totalKnockouts:TextField; public var _shurikensThrown:TextField; public function StatsWindow(_arg1:Stage, _arg2:Object, _arg3:Function):void{ _toMenuScreenCallback = _arg3; _timeElapsed.text = String(Math.floor((_arg2.secondsElapsed / 60))); if ((_arg2.secondsElapsed % 60) < 10){ _timeElapsed.appendText(":0"); } else { _timeElapsed.appendText(":"); }; _timeElapsed.appendText(String((_arg2.secondsElapsed % 60))); _wavesSurvived.text = String(_arg2.wavesSurvived); _totalKnockouts.text = String(_arg2.totalKnockouts); _shurikensThrown.text = String(_arg2.shurikensThrown); if (_arg2.shurikensThrown == 0){ _accuracy.text = "n/a"; } else { _accuracy.text = (String((Math.floor((1000 * (_arg2.shurikensHit / _arg2.shurikensThrown))) / 10)) + "%"); }; if (_arg2.shurikensHit > _arg2.shurikensThrown){ _explanation.visible = true; } else { _explanation.visible = false; }; _stage = _arg1; _menuButton.buttonMode = true; } public function keyDownHandler(_arg1:KeyboardEvent):void{ if (_arg1.keyCode == 13){ _toMenuScreenCallback(); _stage.focus = _stage; }; } public function mouseUpHandler(_arg1:MouseEvent):void{ } public function mouseDownHandler(_arg1:MouseEvent):void{ if (_arg1.target == _menuButton){ _toMenuScreenCallback(); _stage.focus = _stage; }; } public function keyUpHandler(_arg1:KeyboardEvent):void{ } } }//package
Section 81
//Status (Status) package { public class Status { private var _stopLevitating:Boolean; private var _beginLevitatingRight:Boolean; private var _beginLevitatingUp:Boolean; private var _levitatingLeft:Boolean; private var _beginLevitating:Boolean; private var _movingLeft:Boolean; private var _sitting:Boolean; private var _stopAttacking1:Boolean; private var _facingLeft:Boolean; private var _beginAttacking1:Boolean; private var _facingRight:Boolean; private var _beginThrowingShuriken:Boolean; private var _stopSitting:Boolean; private var _dying:Boolean; private var _movingRight:Boolean; private var _stopLevitatingLeft:Boolean; private var _levitatingDown:Boolean; private var _beginLevitatingLeft:Boolean; private var _levitatingUp:Boolean; private var _beginForcingAdrenaline:Boolean; private var _stopMovingLeft:Boolean; private var _movingDown:Boolean; private var _stopLevitatingUp:Boolean; private var _grounded:Boolean; private var _throwingShuriken:Boolean; private var _stopLevitatingDown:Boolean; private var _beginFacingLeft:Boolean; private var _stopMovingRight:Boolean; private var _beginMovingLeft:Boolean; private var _beginLevitatingDown:Boolean; private var _forcingAdrenaline:Boolean; private var _levitatingRight:Boolean; private var _beginFacingRight:Boolean; private var _beginSitting:Boolean; private var _stunned:Boolean; private var _adrenaline:Boolean; private var _beginMovingRight:Boolean; private var _levitating:Boolean; private var _stopThrowingShuriken:Boolean; private var _beginJumping:Boolean; private var _stopForcingAdrenaline:Boolean; private var _movingUp:Boolean; private var _stopLevitatingRight:Boolean; private var _attacking1:Boolean; private var _blinking:Boolean; public function Status():void{ _facingRight = false; _facingLeft = false; _movingRight = false; _movingLeft = false; _grounded = false; _movingUp = false; _movingDown = false; _beginMovingRight = false; _beginMovingLeft = false; _beginJumping = false; _stopMovingRight = false; _stopMovingLeft = false; _beginFacingRight = false; _beginFacingLeft = false; _beginAttacking1 = false; _attacking1 = false; _adrenaline = false; _beginLevitating = false; _levitating = false; _stopLevitating = false; _beginLevitatingLeft = false; _beginLevitatingRight = false; _stopLevitatingLeft = false; _stopLevitatingRight = false; _beginLevitatingUp = false; _beginLevitatingDown = false; _stopLevitatingUp = false; _stopLevitatingDown = false; _levitatingLeft = false; _levitatingRight = false; _levitatingUp = false; _levitatingDown = false; _stopAttacking1 = false; _blinking = false; _sitting = false; _beginSitting = false; _stopSitting = false; _beginForcingAdrenaline = false; _forcingAdrenaline = false; _stopForcingAdrenaline = false; _stunned = false; _dying = false; _beginThrowingShuriken = false; _throwingShuriken = false; _stopThrowingShuriken = false; } public function set(_arg1:Array):void{ var _local2:Number = 0; while (_local2 < _arg1.length) { if (this[("_" + _arg1[_local2])] == null){ trace(("state name not found: " + _arg1[_local2])); }; this[("_" + _arg1[_local2])] = true; _local2++; }; } public function get(_arg1:Array):Boolean{ var _local2:Number = 0; while (_local2 < _arg1.length) { if (this[("_" + _arg1[_local2])] == null){ trace(("state name not found: " + _arg1[_local2])); }; if (this[("_" + _arg1[_local2])] == false){ return (false); }; _local2++; }; return (true); } public function clear(_arg1:Array):void{ var _local2:Number = 0; while (_local2 < _arg1.length) { if (this[("_" + _arg1[_local2])] == null){ trace(("state name not found: " + _arg1[_local2])); }; this[("_" + _arg1[_local2])] = false; _local2++; }; } } }//package
Section 82
//Stick (Stick) package { public class Stick extends Unit { private var _activated:Boolean; public function Stick():void{ _hitBounds = this.getAllHitBounds(this); } public function get activated():Boolean{ return (_activated); } public function set activated(_arg1:Boolean):void{ this.activate(); } public function activate():void{ _hitBounds = this.getAllHitBounds(this); trace("activating stick"); } override public function registerReferences(_arg1:Object):void{ super.registerReferences(_arg1); var _local2:Number = 0; while (_local2 < _hitBounds.length) { _enemyHitAssets.push(_hitBounds[_local2]); _local2++; }; } } }//package
Section 83
//SurikenImage (SurikenImage) package { import flash.display.*; public dynamic class SurikenImage extends MovieClip { } }//package
Section 84
//SurikenThrow (SurikenThrow) package { import flash.media.*; public dynamic class SurikenThrow extends Sound { } }//package
Section 85
//SwingSound (SwingSound) package { import flash.media.*; public dynamic class SwingSound extends Sound { } }//package
Section 86
//SwordSwing (SwordSwing) package { import flash.media.*; public dynamic class SwordSwing extends Sound { } }//package
Section 87
//TimeMeter (TimeMeter) package { import flash.events.*; import flash.display.*; public class TimeMeter extends MovieClip { private const MAX:Number = 433.9; private const RANGE:Number = 417; private const MIN:Number = 16.9; private var _player:Player; private var _dragTarget:MovieClip; public var _marker2:TimeMeterMarker; private var _dragOffsetX:Number; public var _meterPointer:MeterPointer; public var _timeMeterBar:TimeMeterBar; public var _autoSlowMotionControl:AutoSlowMotionControl; public var _marker1:TimeMeterMarker; public var _marker3:TimeMeterMarker; public function TimeMeter(_arg1:Player):void{ _player = _arg1; _timeMeterBar.buttonMode = true; _dragTarget = null; _marker1.gotoAndStop(1); _marker1.x = MIN; _marker1.y = _timeMeterBar.y; _marker1.buttonMode = true; _marker2.gotoAndStop(2); _marker2.x = 58.6; _marker2.y = _timeMeterBar.y; _marker2.buttonMode = true; _marker3.gotoAndStop(3); _marker3.x = MAX; _marker3.y = _timeMeterBar.y; _marker3.buttonMode = true; _marker1.visible = false; _marker2.visible = false; _marker3.visible = false; _meterPointer.x = _marker2.x; _meterPointer.buttonMode = true; _player.maxAdrenalineNumerator = this.getMaxAdrenalineNumerator(); _autoSlowMotionControl._autoSlowMotionButton.buttonMode = true; _autoSlowMotionControl._autoSlowMotionButton.gotoAndStop("checked"); _player.autoAdrenaline = true; if ((_meterPointer.x - MIN) > (RANGE / 2)){ _autoSlowMotionControl.targetX = (_autoSlowMotionControl.x = (MIN + 10)); } else { _autoSlowMotionControl.targetX = (_autoSlowMotionControl.x = 244); }; } public function update():void{ var _local1:Number; if (_dragTarget != null){ _dragTarget.x = (this.mouseX + _dragOffsetX); if (_dragTarget.x < MIN){ _dragTarget.x = MIN; } else { if (_dragTarget.x > MAX){ _dragTarget.x = MAX; }; }; if (_dragTarget == _meterPointer){ _local1 = 10; if ((((((_dragTarget.x > (_marker1.x - 5))) && ((_dragTarget.x < (_marker1.x + 5))))) && ((Math.abs((_marker1.x - _dragTarget.x)) < _local1)))){ _dragTarget.x = _marker1.x; _local1 = Math.abs((_marker1.x - _dragTarget.x)); } else { if ((((((_dragTarget.x > (_marker2.x - 5))) && ((_dragTarget.x < (_marker2.x + 5))))) && ((Math.abs((_marker2.x - _dragTarget.x)) < _local1)))){ _dragTarget.x = _marker2.x; _local1 = Math.abs((_marker2.x - _dragTarget.x)); } else { if ((((((_dragTarget.x > (_marker3.x - 5))) && ((_dragTarget.x < (_marker3.x + 5))))) && ((Math.abs((_marker3.x - _dragTarget.x)) < _local1)))){ _dragTarget.x = _marker3.x; _local1 = Math.abs((_marker3.x - _dragTarget.x)); }; }; }; _player.maxAdrenalineNumerator = this.getMaxAdrenalineNumerator(); }; }; if ((_meterPointer.x - MIN) > (RANGE / 2)){ _autoSlowMotionControl.targetX = (MIN + 10); } else { _autoSlowMotionControl.targetX = 244; }; if (_autoSlowMotionControl.x != _autoSlowMotionControl.targetX){ _autoSlowMotionControl.x = (_autoSlowMotionControl.x + ((_autoSlowMotionControl.targetX - _autoSlowMotionControl.x) / 4)); if (Math.abs((_autoSlowMotionControl.x - _autoSlowMotionControl.targetX)) < 0.5){ _autoSlowMotionControl.x = _autoSlowMotionControl.targetX; }; }; } public function mouseUpHandler(_arg1:MouseEvent):void{ _dragTarget = null; } public function keyUpHandler(_arg1:KeyboardEvent):void{ } public function mouseDownHandler(_arg1:MouseEvent):void{ if (_arg1.target == _meterPointer){ _dragTarget = _meterPointer; _dragOffsetX = (_meterPointer.x - this.mouseX); } else { if (_arg1.target == _timeMeterBar){ _meterPointer.x = this.mouseX; if (_meterPointer.x < MIN){ _meterPointer.x = MIN; } else { if (_meterPointer.x > MAX){ _meterPointer.x = MAX; } else { if ((((_meterPointer.x > 104.7)) && ((_meterPointer.x < 114.7)))){ _meterPointer.x = 109.7; }; }; }; _player.maxAdrenalineNumerator = this.getMaxAdrenalineNumerator(); _dragTarget = _meterPointer; _dragOffsetX = (_meterPointer.x - this.mouseX); } else { if (_arg1.target == _autoSlowMotionControl._autoSlowMotionButton){ if (_autoSlowMotionControl._autoSlowMotionButton.currentLabel == "unchecked"){ _autoSlowMotionControl._autoSlowMotionButton.gotoAndStop("checked"); _player.autoAdrenaline = true; } else { _autoSlowMotionControl._autoSlowMotionButton.gotoAndStop("unchecked"); _player.autoAdrenaline = false; }; }; }; }; } public function keyDownHandler(_arg1:KeyboardEvent):void{ } public function getMaxAdrenalineNumerator():Number{ var _local1:Number; _local1 = ((10 * (_meterPointer.x - MIN)) / RANGE); if (_local1 < 0.1){ _local1 = 0.1; } else { if (_local1 > 9.9){ _local1 = 10000; }; }; return (_local1); } } }//package
Section 88
//TimeMeterBar (TimeMeterBar) package { import flash.display.*; public dynamic class TimeMeterBar extends MovieClip { } }//package
Section 89
//TimeMeterMarker (TimeMeterMarker) package { import flash.display.*; public dynamic class TimeMeterMarker extends MovieClip { public function TimeMeterMarker(){ addFrameScript(0, frame1, 1, frame2, 2, frame3, 3, frame4); } function frame1(){ stop(); } function frame2(){ stop(); } function frame3(){ stop(); } function frame4(){ stop(); } } }//package
Section 90
//ToMenuFromSettingsButton (ToMenuFromSettingsButton) package { import flash.display.*; public dynamic class ToMenuFromSettingsButton extends MovieClip { } }//package
Section 91
//ToMenuFromStatsButton (ToMenuFromStatsButton) package { import flash.display.*; public dynamic class ToMenuFromStatsButton extends MovieClip { } }//package
Section 92
//Trees (Trees) package { import flash.display.*; public dynamic class Trees extends MovieClip { } }//package
Section 93
//TVOff (TVOff) package { import flash.media.*; public dynamic class TVOff extends Sound { } }//package
Section 94
//TVOn (TVOn) package { import flash.media.*; public dynamic class TVOn extends Sound { } }//package
Section 95
//Unit (Unit) package { import flash.events.*; import flash.display.*; public class Unit extends MovieClip { protected const SLOPE_TOLERANCE:Number = 6; protected var _player:Player; private var _blinkCtr:Number; protected var _virtualX:Number; protected var _virtualY:Number; protected var _damage:Number; protected var _status:Status; protected var _scrollingAssets:Array; protected var _stats:Object; protected var _hitBounds:Array; protected var _currentStageData:Array; protected var _monsterMeter:MonsterMeter; protected var _frameData:Array; protected var _stageData:Array; protected var _healthMeter:HealthMeter; protected var _playerHitAssets:Array; protected var _allDynamicAssets:Array; protected var _vx:Number; protected var _vy:Number; protected var _allEnemies:Array; protected var _boundaries:MovieClip; protected var _enemyHitAssets:Array; protected var _isBlinking:Boolean; protected var _health:Number; protected var _stage:Stage; public function Unit():void{ _vx = 0; _vy = 0; _status = new Status(); _isBlinking = false; } public function getFrameData(_arg1:MovieClip):Array{ var _local2:Array = new Array(); var _local3:Array = _arg1.currentLabels; var _local4:Number = 0; while (_local3.length > 0) { if (_local4 < (_local3[0].frame - 1)){ _local2.push(((_local3[0].frame - _local4) - 1)); } else { _local2.push(0); _local3.shift(); }; _local4++; }; return (_local2); } public function set vy(_arg1:Number):void{ _vy = _arg1; } public function registerReferences(_arg1:Object):void{ if (_arg1.boundaries != null){ _boundaries = _arg1.boundaries; }; if (_arg1.playerHitAssets != null){ _playerHitAssets = _arg1.playerHitAssets; }; if (_arg1.enemyHitAssets != null){ _enemyHitAssets = _arg1.enemyHitAssets; }; if (_arg1.scrollingAssets != null){ _scrollingAssets = _arg1.scrollingAssets; }; if (_arg1.allDynamicAssets != null){ _allDynamicAssets = _arg1.allDynamicAssets; }; if (_arg1.stage != null){ _stage = _arg1.stage; }; if (_arg1.healthMeter != null){ _healthMeter = _arg1.healthMeter; }; if (_arg1.player != null){ _player = _arg1.player; }; if (_arg1.stageData != null){ _stageData = _arg1.stageData; }; if (_arg1.currentStageData != null){ _currentStageData = _arg1.currentStageData; }; if (_arg1.monsterMeter != null){ _monsterMeter = _arg1.monsterMeter; }; if (_arg1.allEnemies != null){ _allEnemies = _arg1.allEnemies; }; if (_arg1.stats != null){ _stats = _arg1.stats; }; } public function set vx(_arg1:Number):void{ _vx = _arg1; } public function initializeFrameData():void{ _frameData = this.getFrameData(this); } public function get damage():Number{ return (_damage); } public function stopBlinking():void{ if (_isBlinking){ _isBlinking = false; this.removeEventListener(Event.ENTER_FRAME, blink); this.visible = true; this.doneBlinking(); }; } protected function doneBlinking():void{ } public function get vy():Number{ return (_vy); } public function beginBlinking():void{ _isBlinking = true; _blinkCtr = 0; this.addEventListener(Event.ENTER_FRAME, blink); } public function get vx():Number{ return (_vx); } public function get health():Number{ return (_health); } private function blink(_arg1:Event):void{ if (_blinkCtr < 40){ if (this.visible == true){ this.visible = false; } else { this.visible = true; }; _blinkCtr = (_blinkCtr + _player.adrenalineFactor); } else { _isBlinking = false; this.visible = true; this.removeEventListener(Event.ENTER_FRAME, blink); this.doneBlinking(); }; } public function get status():Status{ return (_status); } protected function getAllHitBounds(_arg1:MovieClip):Array{ var _local2:Array = new Array(); var _local3:Number = 0; while (_local3 < _arg1.numChildren) { if ((_arg1.getChildAt(_local3) is HitBound)){ _local2.push(_arg1.getChildAt(_local3)); _arg1.getChildAt(_local3).visible = false; } else { if ((_arg1.getChildAt(_local3) is MovieClip)){ _local2 = _local2.concat(this.getAllHitBounds(MovieClip(_arg1.getChildAt(_local3)))); }; }; _local3++; }; return (_local2); } } }//package
Section 96
//WarningMessage (WarningMessage) package { import flash.display.*; public dynamic class WarningMessage extends MovieClip { } }//package
Section 97
//WeakSpotArrow (WeakSpotArrow) package { import flash.display.*; public dynamic class WeakSpotArrow extends MovieClip { } }//package
Section 98
//WeakSpotMessage (WeakSpotMessage) package { import flash.display.*; public dynamic class WeakSpotMessage extends MovieClip { } }//package
Section 99
//VolumeControl (VolumeControl) package { import flash.events.*; import flash.display.*; public class VolumeControl extends MovieClip { const MIN_X:Number = 37.2; const MAX_X:Number = 127.2; public var _sliderBG:SliderBG; public var _isActivated:Boolean; public var _muteButton:MuteButton; public var _slideFillerMask:SlideFillerMask; public var _volumeMarker:VolumeMarker; public var _muted:Boolean; public var _unmutedVolume:Number; public var _dragging:Boolean; public function VolumeControl():void{ _muted = false; _muteButton.gotoAndStop("on"); _isActivated = false; _dragging = false; _volumeMarker.buttonMode = true; _volumeMarker.x = (MIN_X + (MusicManager.getVolume() * (MAX_X - MIN_X))); _slideFillerMask.scaleX = ((_volumeMarker.x - MIN_X) / (MAX_X - MIN_X)); _muteButton.buttonMode = true; _sliderBG.buttonMode = true; } public function enterFrameHandler(_arg1:Event):void{ if (this.mouseX < 2){ _volumeMarker.x = MIN_X; mouseUpHandler(null); } else { if (this.mouseX > (this.width - 2)){ _volumeMarker.x = MAX_X; mouseUpHandler(null); } else { if ((((this.mouseY < 2)) || ((this.mouseY > (this.height - 2))))){ mouseUpHandler(null); } else { if (this.mouseX < MIN_X){ _volumeMarker.x = MIN_X; } else { if (this.mouseX > MAX_X){ _volumeMarker.x = MAX_X; } else { _volumeMarker.x = this.mouseX; }; }; }; }; }; MusicManager.setVolume(((_volumeMarker.x - MIN_X) / (MAX_X - MIN_X))); _slideFillerMask.scaleX = ((_volumeMarker.x - MIN_X) / (MAX_X - MIN_X)); } public function mouseUpHandler(_arg1:MouseEvent):void{ if (_dragging){ this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler); _dragging = false; }; } public function sliderBGMouseDownHandler(_arg1:MouseEvent):void{ volumeMarkerMouseDownHandler(_arg1); } public function activate():void{ if (!_isActivated){ _volumeMarker.addEventListener(MouseEvent.MOUSE_DOWN, volumeMarkerMouseDownHandler); this.addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); _muteButton.addEventListener(MouseEvent.CLICK, muteButtonClickHandler); _sliderBG.addEventListener(MouseEvent.MOUSE_DOWN, sliderBGMouseDownHandler); _isActivated = true; if (MusicManager.getVolume() == 0){ _muted = true; _unmutedVolume = 0.33; _volumeMarker.x = MIN_X; _slideFillerMask.scaleX = 0; _muteButton.gotoAndStop("off"); } else { _muted = false; _volumeMarker.x = (MIN_X + (MusicManager.getVolume() * (MAX_X - MIN_X))); _slideFillerMask.scaleX = ((_volumeMarker.x - MIN_X) / (MAX_X - MIN_X)); _muteButton.gotoAndStop("on"); }; }; } public function muteButtonClickHandler(_arg1:MouseEvent):void{ if (_muted){ _muted = false; MusicManager.setVolume(_unmutedVolume); _volumeMarker.x = (MIN_X + (MusicManager.getVolume() * (MAX_X - MIN_X))); _slideFillerMask.scaleX = ((_volumeMarker.x - MIN_X) / (MAX_X - MIN_X)); _muteButton.gotoAndStop("on"); } else { _muted = true; _unmutedVolume = MusicManager.getVolume(); MusicManager.setVolume(0); _volumeMarker.x = MIN_X; _slideFillerMask.scaleX = 0; _muteButton.gotoAndStop("off"); }; } public function volumeMarkerMouseDownHandler(_arg1:MouseEvent):void{ if (!_dragging){ this.addEventListener(Event.ENTER_FRAME, enterFrameHandler); _dragging = true; if (_muted){ _muted = false; _muteButton.gotoAndStop("on"); }; }; } public function deactivate():void{ if (_isActivated){ _volumeMarker.removeEventListener(MouseEvent.MOUSE_DOWN, volumeMarkerMouseDownHandler); this.removeEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); _muteButton.removeEventListener(MouseEvent.CLICK, muteButtonClickHandler); _sliderBG.removeEventListener(MouseEvent.MOUSE_DOWN, sliderBGMouseDownHandler); _isActivated = false; }; } } }//package
Section 100
//VolumeMarker (VolumeMarker) package { import flash.display.*; public dynamic class VolumeMarker extends MovieClip { } }//package

Library Items

Symbol 1 GraphicUsed by:5 251
Symbol 2 FontUsed by:3 4 40 52 250
Symbol 3 TextUses:2Used by:5
Symbol 4 EditableTextUses:2Used by:5
Symbol 5 MovieClip {PreloadScreen}Uses:1 3 4Used by:Timeline
Symbol 6 Sound {TVOff}
Symbol 7 Sound {TVOn}
Symbol 8 Sound {SwingSound}
Symbol 9 Sound {SurikenThrow}
Symbol 10 Sound {ShieldSound}
Symbol 11 Sound {MonsterMeterFull}
Symbol 12 Sound {LaserSound}
Symbol 13 Sound {BluntSound}Used by:248
Symbol 14 Sound {SwordSwing}Used by:Timeline
Symbol 15 GraphicUsed by:16
Symbol 16 MovieClip {VolumeMarker}Uses:15Used by:28
Symbol 17 GraphicUsed by:18
Symbol 18 MovieClip {SlideFillerMask}Uses:17Used by:28
Symbol 19 GraphicUsed by:20
Symbol 20 MovieClip {SliderBG}Uses:19Used by:28
Symbol 21 GraphicUsed by:28
Symbol 22 GraphicUsed by:28
Symbol 23 GraphicUsed by:26
Symbol 24 GraphicUsed by:26
Symbol 25 GraphicUsed by:26
Symbol 26 MovieClip {MuteButton}Uses:23 24 25Used by:28 55
Symbol 27 GraphicUsed by:28
Symbol 28 MovieClip {VolumeControl}Uses:21 22 26 20 18 27 16
Symbol 29 GraphicUsed by:32
Symbol 30 FontUsed by:31 34 35 131 132 133
Symbol 31 TextUses:30Used by:32
Symbol 32 MovieClip {SkipButton}Uses:29 31Used by:44
Symbol 33 GraphicUsed by:44
Symbol 34 TextUses:30Used by:36
Symbol 35 TextUses:30Used by:36
Symbol 36 MovieClip {WarningMessage}Uses:34 35Used by:44
Symbol 37 ShapeTweeningUsed by:44
Symbol 38 GraphicUsed by:44
Symbol 39 GraphicUsed by:44
Symbol 40 TextUses:2Used by:44
Symbol 41 ShapeTweeningUsed by:44
Symbol 42 ShapeTweeningUsed by:44
Symbol 43 GraphicUsed by:44
Symbol 44 MovieClip {LogoScreen}Uses:32 33 36 37 38 39 40 41 42 43
Symbol 45 GraphicUsed by:48
Symbol 46 FontUsed by:47
Symbol 47 TextUses:46Used by:48
Symbol 48 MovieClip {MenuBG}Uses:45 47Used by:55
Symbol 49 FontUsed by:50
Symbol 50 TextUses:49Used by:55
Symbol 51 GraphicUsed by:55
Symbol 52 TextUses:2Used by:55
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClip {AnyKey}Uses:53Used by:55
Symbol 55 MovieClip {MenuScreen}Uses:48 50 51 52 26 54
Symbol 56 GraphicUsed by:57
Symbol 57 MovieClip {Mountains}Uses:56
Symbol 58 GraphicUsed by:59
Symbol 59 MovieClip {Trees}Uses:58
Symbol 60 GraphicUsed by:61
Symbol 61 MovieClip {Backdrop}Uses:60
Symbol 62 GraphicUsed by:65
Symbol 63 GraphicUsed by:64
Symbol 64 MovieClip {StartAnchor}Uses:63Used by:65 244 246 248
Symbol 65 MovieClip {Boundaries1}Uses:62 64
Symbol 66 GraphicUsed by:71
Symbol 67 GraphicUsed by:70
Symbol 68 GraphicUsed by:69
Symbol 69 MovieClip {HitBound}Uses:68Used by:70 81 98 136 152
Symbol 70 MovieClip {Stick}Uses:67 69Used by:71
Symbol 71 MovieClip {Hand}Uses:66 70Used by:99 190
Symbol 72 GraphicUsed by:74
Symbol 73 GraphicUsed by:74
Symbol 74 MovieClip {PlayerFootSide}Uses:72 73Used by:99 105 141 142 190
Symbol 75 GraphicUsed by:81
Symbol 76 GraphicUsed by:81
Symbol 77 GraphicUsed by:78
Symbol 78 MovieClip {HeartImage}Uses:77Used by:79 180
Symbol 79 MovieClip {BeatingHeart}Uses:78Used by:81
Symbol 80 GraphicUsed by:81
Symbol 81 MovieClip {PlayerBody}Uses:75 69 76 79 80Used by:99 105 141 142 190
Symbol 82 GraphicUsed by:84
Symbol 83 GraphicUsed by:84
Symbol 84 MovieClip {PlayerFootFront}Uses:82 83Used by:99 105 141 142 190
Symbol 85 GraphicUsed by:98
Symbol 86 GraphicUsed by:88
Symbol 87 GraphicUsed by:88
Symbol 88 MovieClip {PlayerHeadDecorations}Uses:86 87Used by:98
Symbol 89 GraphicUsed by:98
Symbol 90 GraphicUsed by:98
Symbol 91 GraphicUsed by:98
Symbol 92 GraphicUsed by:98
Symbol 93 GraphicUsed by:98
Symbol 94 ShapeTweeningUsed by:98
Symbol 95 ShapeTweeningUsed by:98
Symbol 96 ShapeTweeningUsed by:98
Symbol 97 GraphicUsed by:98
Symbol 98 MovieClip {PlayerHead}Uses:85 88 89 69 90 91 92 93 94 95 96 97Used by:99 105 141 142 190 249
Symbol 99 MovieClip {Player}Uses:71 74 81 84 98
Symbol 100 GraphicUsed by:101
Symbol 101 MovieClip {SpeechBubblePointer}Uses:100Used by:105
Symbol 102 FontUsed by:103
Symbol 103 EditableTextUses:102Used by:104
Symbol 104 MovieClip {SpeechBubble}Uses:103Used by:105
Symbol 105 MovieClip {Enemy}Uses:74 81 84 98 101 104
Symbol 106 GraphicUsed by:107
Symbol 107 MovieClip {Bubble}Uses:106
Symbol 108 GraphicUsed by:113
Symbol 109 ShapeTweeningUsed by:113
Symbol 110 GraphicUsed by:113
Symbol 111 GraphicUsed by:113
Symbol 112 GraphicUsed by:113 144 149 158 251
Symbol 113 MovieClip {RedMeter}Uses:108 109 110 111 112
Symbol 114 GraphicUsed by:115
Symbol 115 MovieClip {Leaf}Uses:114
Symbol 116 GraphicUsed by:117
Symbol 117 MovieClip {TimeMeterBar}Uses:116Used by:134
Symbol 118 GraphicUsed by:123
Symbol 119 GraphicUsed by:123
Symbol 120 GraphicUsed by:123
Symbol 121 GraphicUsed by:123
Symbol 122 GraphicUsed by:123
Symbol 123 MovieClip {TimeMeterMarker}Uses:118 119 120 121 122Used by:134
Symbol 124 GraphicUsed by:125
Symbol 125 MovieClip {MeterPointer}Uses:124Used by:134
Symbol 126 GraphicUsed by:130
Symbol 127 GraphicUsed by:129
Symbol 128 GraphicUsed by:129
Symbol 129 MovieClip {AutoSlowMotionButton}Uses:127 128Used by:130
Symbol 130 MovieClip {AutoSlowMotionControl}Uses:126 129Used by:134
Symbol 131 TextUses:30Used by:134
Symbol 132 TextUses:30Used by:134
Symbol 133 TextUses:30Used by:134
Symbol 134 MovieClip {TimeMeter}Uses:117 123 125 130 131 132 133
Symbol 135 GraphicUsed by:136
Symbol 136 MovieClip {Hatchet}Uses:135 69
Symbol 137 GraphicUsed by:138
Symbol 138 MovieClip {WeakSpotArrow}Uses:137Used by:141
Symbol 139 GraphicUsed by:140
Symbol 140 MovieClip {WeakSpotMessage}Uses:139Used by:141
Symbol 141 MovieClip {Enemy2}Uses:74 81 84 98 138 140
Symbol 142 MovieClip {Enemy3}Uses:74 81 84 98
Symbol 143 GraphicUsed by:147
Symbol 144 MovieClip {HeartMask}Uses:112Used by:147
Symbol 145 GraphicUsed by:147
Symbol 146 GraphicUsed by:147
Symbol 147 MovieClip {Heart}Uses:143 144 145 146
Symbol 148 MovieClip {HealthMeter}
Symbol 149 MovieClip {ShurikenMask}Uses:112Used by:152
Symbol 150 GraphicUsed by:151
Symbol 151 MovieClip {SurikenImage}Uses:150Used by:152
Symbol 152 MovieClip {Shuriken}Uses:149 151 69
Symbol 153 GraphicUsed by:156
Symbol 154 GraphicUsed by:155
Symbol 155 MovieClip {ClockHand}Uses:154Used by:156
Symbol 156 MovieClip {Clock}Uses:153 155
Symbol 157 GraphicUsed by:171
Symbol 158 MovieClip {MonsterMeterFillerMask}Uses:112Used by:171
Symbol 159 GraphicUsed by:162
Symbol 160 GraphicUsed by:161
Symbol 161 MovieClip {MonsterMeterFillerImage}Uses:160Used by:162
Symbol 162 MovieClip {MonsterMeterFiller}Uses:159 161Used by:171
Symbol 163 GraphicUsed by:171
Symbol 164 GraphicUsed by:170
Symbol 165 GraphicUsed by:170
Symbol 166 GraphicUsed by:170
Symbol 167 GraphicUsed by:168
Symbol 168 MovieClip {MonsterMeterEyes}Uses:167Used by:170
Symbol 169 GraphicUsed by:170
Symbol 170 MovieClip {MonsterMeterFace}Uses:164 165 166 168 169Used by:171
Symbol 171 MovieClip {MonsterMeter}Uses:157 158 162 163 170
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClip {FogScreen}Uses:172
Symbol 174 FontUsed by:175 176 200 201 202 203 204 205 206 207 211 212 216 231 234 235 236 237 238 239
Symbol 175 EditableTextUses:174Used by:179
Symbol 176 EditableTextUses:174Used by:179
Symbol 177 GraphicUsed by:178
Symbol 178 MovieClip {Arrow}Uses:177Used by:179
Symbol 179 MovieClip {Notification}Uses:175 176 178
Symbol 180 MovieClip {HeartItem}Uses:78
Symbol 181 GraphicUsed by:182
Symbol 182 MovieClip {SpiritSphere}Uses:181
Symbol 183 GraphicUsed by:189
Symbol 184 GraphicUsed by:189
Symbol 185 GraphicUsed by:189
Symbol 186 GraphicUsed by:189
Symbol 187 GraphicUsed by:189
Symbol 188 GraphicUsed by:189
Symbol 189 MovieClip {SignPost}Uses:183 184 185 186 187 188
Symbol 190 MovieClip {Enemy4}Uses:71 74 81 84 98
Symbol 191 GraphicUsed by:195
Symbol 192 FontUsed by:193 194 198 209 232
Symbol 193 TextUses:192Used by:195
Symbol 194 TextUses:192Used by:195
Symbol 195 MovieClip {MessageWindow}Uses:191 193 194
Symbol 196 GraphicUsed by:223 240
Symbol 197 GraphicUsed by:199 233
Symbol 198 TextUses:192Used by:199
Symbol 199 MovieClip {SettingsWindowResumeGameButton}Uses:197 198Used by:223
Symbol 200 TextUses:174Used by:223 240
Symbol 201 TextUses:174Used by:223
Symbol 202 TextUses:174Used by:223 240
Symbol 203 EditableTextUses:174Used by:223
Symbol 204 EditableTextUses:174Used by:223
Symbol 205 EditableTextUses:174Used by:223
Symbol 206 TextUses:174Used by:223
Symbol 207 EditableTextUses:174Used by:223
Symbol 208 GraphicUsed by:210
Symbol 209 TextUses:192Used by:210
Symbol 210 MovieClip {ToMenuFromSettingsButton}Uses:208 209Used by:223
Symbol 211 TextUses:174Used by:223 240
Symbol 212 EditableTextUses:174Used by:223
Symbol 213 FontUsed by:214 217 218 219
Symbol 214 TextUses:213Used by:215
Symbol 215 MovieClip {Explanation}Uses:214Used by:223 240
Symbol 216 TextUses:174Used by:223
Symbol 217 TextUses:213Used by:223
Symbol 218 TextUses:213Used by:223
Symbol 219 TextUses:213Used by:223
Symbol 220 GraphicUsed by:222
Symbol 221 GraphicUsed by:222
Symbol 222 MovieClip {RadioButton}Uses:220 221Used by:223
Symbol 223 MovieClip {SettingsWindow}Uses:196 199 200 201 202 203 204 205 206 207 210 211 212 215 216 217 218 219 222
Symbol 224 GraphicUsed by:228
Symbol 225 GraphicUsed by:227
Symbol 226 GraphicUsed by:227
Symbol 227 MovieClip {LargeCheckBoxImage}Uses:225 226Used by:228
Symbol 228 MovieClip {LargeCheckBox}Uses:224 227
Symbol 229 GraphicUsed by:230
Symbol 230 MovieClip {DimScreen}Uses:229
Symbol 231 TextUses:174Used by:240
Symbol 232 TextUses:192Used by:233
Symbol 233 MovieClip {ToMenuFromStatsButton}Uses:197 232Used by:240
Symbol 234 TextUses:174Used by:240
Symbol 235 EditableTextUses:174Used by:240
Symbol 236 EditableTextUses:174Used by:240
Symbol 237 EditableTextUses:174Used by:240
Symbol 238 EditableTextUses:174Used by:240
Symbol 239 EditableTextUses:174Used by:240
Symbol 240 MovieClip {StatsWindow}Uses:196 231 200 233 234 202 235 236 237 238 211 239 215
Symbol 241 GraphicUsed by:242
Symbol 242 MovieClip {Dunes}Uses:241
Symbol 243 GraphicUsed by:244
Symbol 244 MovieClip {Boundaries0}Uses:243 64
Symbol 245 GraphicUsed by:246
Symbol 246 MovieClip {Boundaries2}Uses:245 64
Symbol 247 GraphicUsed by:248
Symbol 248 MovieClip {Boundaries3}Uses:64 247 13
Symbol 249 MovieClip {Enemy5}Uses:98
Symbol 250 TextUses:2Used by:251
Symbol 251 MovieClip {GameMain}Uses:1 250 112Used by:Timeline

Instance Names

"_preloadScreen"Frame 1Symbol 5 MovieClip {PreloadScreen}
"_preloadText"Symbol 5 MovieClip {PreloadScreen} Frame 1Symbol 4 EditableText
"_muteButton"Symbol 28 MovieClip {VolumeControl} Frame 1Symbol 26 MovieClip {MuteButton}
"_sliderBG"Symbol 28 MovieClip {VolumeControl} Frame 1Symbol 20 MovieClip {SliderBG}
"_slideFillerMask"Symbol 28 MovieClip {VolumeControl} Frame 1Symbol 18 MovieClip {SlideFillerMask}
"_volumeMarker"Symbol 28 MovieClip {VolumeControl} Frame 1Symbol 16 MovieClip {VolumeMarker}
"_skipButton"Symbol 44 MovieClip {LogoScreen} Frame 1Symbol 32 MovieClip {SkipButton}
"_menuBG"Symbol 55 MovieClip {MenuScreen} Frame 1Symbol 48 MovieClip {MenuBG}
"_muteButton"Symbol 55 MovieClip {MenuScreen} Frame 1Symbol 26 MovieClip {MuteButton}
"_anyKey"Symbol 55 MovieClip {MenuScreen} Frame 1Symbol 54 MovieClip {AnyKey}
"_startAnchor"Symbol 65 MovieClip {Boundaries1} Frame 1Symbol 64 MovieClip {StartAnchor}
"_beatingHeart"Symbol 81 MovieClip {PlayerBody} Frame 2Symbol 79 MovieClip {BeatingHeart}
"_decorations"Symbol 98 MovieClip {PlayerHead} Frame 1Symbol 88 MovieClip {PlayerHeadDecorations}
"_hb"Symbol 98 MovieClip {PlayerHead} Frame 5Symbol 69 MovieClip {HitBound}
"_idleLeftHand"Symbol 99 MovieClip {Player} Frame 1Symbol 71 MovieClip {Hand}
"_actionLeftHand"Symbol 99 MovieClip {Player} Frame 1Symbol 71 MovieClip {Hand}
"_leftFootSide"Symbol 99 MovieClip {Player} Frame 1Symbol 74 MovieClip {PlayerFootSide}
"_body"Symbol 99 MovieClip {Player} Frame 1Symbol 81 MovieClip {PlayerBody}
"_rightFootFront"Symbol 99 MovieClip {Player} Frame 1Symbol 84 MovieClip {PlayerFootFront}
"_actionRightHand"Symbol 99 MovieClip {Player} Frame 1Symbol 71 MovieClip {Hand}
"_idleRightHand"Symbol 99 MovieClip {Player} Frame 1Symbol 71 MovieClip {Hand}
"_head"Symbol 99 MovieClip {Player} Frame 1Symbol 98 MovieClip {PlayerHead}
"_rightFootSide"Symbol 99 MovieClip {Player} Frame 201Symbol 74 MovieClip {PlayerFootSide}
"_rightFootFront"Symbol 99 MovieClip {Player} Frame 713Symbol 84 MovieClip {PlayerFootFront}
"_rightFootSide"Symbol 99 MovieClip {Player} Frame 748Symbol 74 MovieClip {PlayerFootSide}
"_textField"Symbol 104 MovieClip {SpeechBubble} Frame 1Symbol 103 EditableText
"_body"Symbol 105 MovieClip {Enemy} Frame 1Symbol 81 MovieClip {PlayerBody}
"_head"Symbol 105 MovieClip {Enemy} Frame 1Symbol 98 MovieClip {PlayerHead}
"_speechBubblePointer"Symbol 105 MovieClip {Enemy} Frame 1Symbol 101 MovieClip {SpeechBubblePointer}
"_speechBubble"Symbol 105 MovieClip {Enemy} Frame 1Symbol 104 MovieClip {SpeechBubble}
"_autoSlowMotionButton"Symbol 130 MovieClip {AutoSlowMotionControl} Frame 1Symbol 129 MovieClip {AutoSlowMotionButton}
"_timeMeterBar"Symbol 134 MovieClip {TimeMeter} Frame 1Symbol 117 MovieClip {TimeMeterBar}
"_marker2"Symbol 134 MovieClip {TimeMeter} Frame 1Symbol 123 MovieClip {TimeMeterMarker}
"_marker1"Symbol 134 MovieClip {TimeMeter} Frame 1Symbol 123 MovieClip {TimeMeterMarker}
"_marker3"Symbol 134 MovieClip {TimeMeter} Frame 1Symbol 123 MovieClip {TimeMeterMarker}
"_meterPointer"Symbol 134 MovieClip {TimeMeter} Frame 1Symbol 125 MovieClip {MeterPointer}
"_autoSlowMotionControl"Symbol 134 MovieClip {TimeMeter} Frame 1Symbol 130 MovieClip {AutoSlowMotionControl}
"_body"Symbol 141 MovieClip {Enemy2} Frame 1Symbol 81 MovieClip {PlayerBody}
"_head"Symbol 141 MovieClip {Enemy2} Frame 1Symbol 98 MovieClip {PlayerHead}
"_weakSpotArrow"Symbol 141 MovieClip {Enemy2} Frame 1Symbol 138 MovieClip {WeakSpotArrow}
"_weakSpotMessage"Symbol 141 MovieClip {Enemy2} Frame 1Symbol 140 MovieClip {WeakSpotMessage}
"_body"Symbol 142 MovieClip {Enemy3} Frame 1Symbol 81 MovieClip {PlayerBody}
"_head"Symbol 142 MovieClip {Enemy3} Frame 1Symbol 98 MovieClip {PlayerHead}
"_heartMask"Symbol 147 MovieClip {Heart} Frame 1Symbol 144 MovieClip {HeartMask}
"_shurikenMask"Symbol 152 MovieClip {Shuriken} Frame 1Symbol 149 MovieClip {ShurikenMask}
"_surikenImage"Symbol 152 MovieClip {Shuriken} Frame 1Symbol 151 MovieClip {SurikenImage}
"_clockHand2"Symbol 156 MovieClip {Clock} Frame 1Symbol 155 MovieClip {ClockHand}
"_clockHand1"Symbol 156 MovieClip {Clock} Frame 1Symbol 155 MovieClip {ClockHand}
"_fillerImage"Symbol 162 MovieClip {MonsterMeterFiller} Frame 1Symbol 161 MovieClip {MonsterMeterFillerImage}
"_monsterMeterFillerMask"Symbol 171 MovieClip {MonsterMeter} Frame 1Symbol 158 MovieClip {MonsterMeterFillerMask}
"_monsterMeterFiller"Symbol 171 MovieClip {MonsterMeter} Frame 1Symbol 162 MovieClip {MonsterMeterFiller}
"_monsterMeterFace"Symbol 171 MovieClip {MonsterMeter} Frame 1Symbol 170 MovieClip {MonsterMeterFace}
"_stageLabel"Symbol 179 MovieClip {Notification} Frame 1Symbol 175 EditableText
"_stageLabel"Symbol 179 MovieClip {Notification} Frame 2Symbol 176 EditableText
"_leftFoot"Symbol 190 MovieClip {Enemy4} Frame 1Symbol 74 MovieClip {PlayerFootSide}
"_body"Symbol 190 MovieClip {Enemy4} Frame 1Symbol 81 MovieClip {PlayerBody}
"_rightFootSide"Symbol 190 MovieClip {Enemy4} Frame 1Symbol 74 MovieClip {PlayerFootSide}
"_rightFootFront"Symbol 190 MovieClip {Enemy4} Frame 1Symbol 84 MovieClip {PlayerFootFront}
"_head"Symbol 190 MovieClip {Enemy4} Frame 1Symbol 98 MovieClip {PlayerHead}
"_resumeGameButton"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 199 MovieClip {SettingsWindowResumeGameButton}
"_timeElapsed"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 203 EditableText
"_totalKnockouts"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 204 EditableText
"_shurikensThrown"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 205 EditableText
"_wavesSurvived"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 207 EditableText
"_menuButton"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 210 MovieClip {ToMenuFromSettingsButton}
"_accuracy"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 212 EditableText
"_explanation"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 215 MovieClip {Explanation}
"_medium"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 222 MovieClip {RadioButton}
"_low"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 222 MovieClip {RadioButton}
"_high"Symbol 223 MovieClip {SettingsWindow} Frame 1Symbol 222 MovieClip {RadioButton}
"_largeCheckBoxImage"Symbol 228 MovieClip {LargeCheckBox} Frame 1Symbol 227 MovieClip {LargeCheckBoxImage}
"_menuButton"Symbol 240 MovieClip {StatsWindow} Frame 1Symbol 233 MovieClip {ToMenuFromStatsButton}
"_wavesSurvived"Symbol 240 MovieClip {StatsWindow} Frame 1Symbol 235 EditableText
"_timeElapsed"Symbol 240 MovieClip {StatsWindow} Frame 1Symbol 236 EditableText
"_totalKnockouts"Symbol 240 MovieClip {StatsWindow} Frame 1Symbol 237 EditableText
"_shurikensThrown"Symbol 240 MovieClip {StatsWindow} Frame 1Symbol 238 EditableText
"_accuracy"Symbol 240 MovieClip {StatsWindow} Frame 1Symbol 239 EditableText
"_explanation"Symbol 240 MovieClip {StatsWindow} Frame 1Symbol 215 MovieClip {Explanation}
"_startAnchor"Symbol 244 MovieClip {Boundaries0} Frame 1Symbol 64 MovieClip {StartAnchor}
"_startAnchor"Symbol 246 MovieClip {Boundaries2} Frame 1Symbol 64 MovieClip {StartAnchor}
"_startAnchor"Symbol 248 MovieClip {Boundaries3} Frame 1Symbol 64 MovieClip {StartAnchor}
"_head"Symbol 249 MovieClip {Enemy5} Frame 1Symbol 98 MovieClip {PlayerHead}

Special Tags

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

Labels

"on"Symbol 26 MovieClip {MuteButton} Frame 1
"off"Symbol 26 MovieClip {MuteButton} Frame 6
"idle"Symbol 71 MovieClip {Hand} Frame 1
"active right hand swing"Symbol 71 MovieClip {Hand} Frame 2
"active left hand throw"Symbol 71 MovieClip {Hand} Frame 28
"null space"Symbol 71 MovieClip {Hand} Frame 34
"cat"Symbol 74 MovieClip {PlayerFootSide} Frame 1
"skeleton"Symbol 74 MovieClip {PlayerFootSide} Frame 2
"cat"Symbol 81 MovieClip {PlayerBody} Frame 1
"skeleton"Symbol 81 MovieClip {PlayerBody} Frame 2
"cat"Symbol 84 MovieClip {PlayerFootFront} Frame 1
"skeleton"Symbol 84 MovieClip {PlayerFootFront} Frame 2
"scar"Symbol 88 MovieClip {PlayerHeadDecorations} Frame 1
"stripe"Symbol 88 MovieClip {PlayerHeadDecorations} Frame 2
"sad"Symbol 98 MovieClip {PlayerHead} Frame 1
"concentrate"Symbol 98 MovieClip {PlayerHead} Frame 2
"hurt"Symbol 98 MovieClip {PlayerHead} Frame 3
"dead"Symbol 98 MovieClip {PlayerHead} Frame 4
"skeleton"Symbol 98 MovieClip {PlayerHead} Frame 5
"smile"Symbol 98 MovieClip {PlayerHead} Frame 6
"standing"Symbol 99 MovieClip {Player} Frame 1
"running"Symbol 99 MovieClip {Player} Frame 201
"jumping"Symbol 99 MovieClip {Player} Frame 311
"jumping to falling"Symbol 99 MovieClip {Player} Frame 321
"falling"Symbol 99 MovieClip {Player} Frame 382
"begin levitating"Symbol 99 MovieClip {Player} Frame 633
"levitating"Symbol 99 MovieClip {Player} Frame 648
"standing to sitting"Symbol 99 MovieClip {Player} Frame 713
"sitting"Symbol 99 MovieClip {Player} Frame 723
"sitting to standing"Symbol 99 MovieClip {Player} Frame 735
"tipping dead"Symbol 99 MovieClip {Player} Frame 748
"falling dead"Symbol 99 MovieClip {Player} Frame 798
"landing dead"Symbol 99 MovieClip {Player} Frame 819
"lying dead"Symbol 99 MovieClip {Player} Frame 832
"null space"Symbol 99 MovieClip {Player} Frame 849
"standing"Symbol 105 MovieClip {Enemy} Frame 1
"running"Symbol 105 MovieClip {Enemy} Frame 201
"jumping"Symbol 105 MovieClip {Enemy} Frame 311
"jumping to falling"Symbol 105 MovieClip {Enemy} Frame 321
"falling"Symbol 105 MovieClip {Enemy} Frame 382
"being stunned"Symbol 105 MovieClip {Enemy} Frame 633
"stunned"Symbol 105 MovieClip {Enemy} Frame 644
"tipping dead"Symbol 105 MovieClip {Enemy} Frame 655
"falling dead"Symbol 105 MovieClip {Enemy} Frame 705
"landing dead"Symbol 105 MovieClip {Enemy} Frame 726
"lying dead"Symbol 105 MovieClip {Enemy} Frame 739
"null space"Symbol 105 MovieClip {Enemy} Frame 756
"unchecked"Symbol 129 MovieClip {AutoSlowMotionButton} Frame 1
"checked"Symbol 129 MovieClip {AutoSlowMotionButton} Frame 6
"standing"Symbol 141 MovieClip {Enemy2} Frame 1
"running"Symbol 141 MovieClip {Enemy2} Frame 201
"jumping"Symbol 141 MovieClip {Enemy2} Frame 311
"jumping to falling"Symbol 141 MovieClip {Enemy2} Frame 321
"falling"Symbol 141 MovieClip {Enemy2} Frame 382
"being stunned"Symbol 141 MovieClip {Enemy2} Frame 633
"stunned"Symbol 141 MovieClip {Enemy2} Frame 644
"tipping dead"Symbol 141 MovieClip {Enemy2} Frame 655
"falling dead"Symbol 141 MovieClip {Enemy2} Frame 705
"landing dead"Symbol 141 MovieClip {Enemy2} Frame 726
"lying dead"Symbol 141 MovieClip {Enemy2} Frame 739
"null space"Symbol 141 MovieClip {Enemy2} Frame 756
"standing"Symbol 142 MovieClip {Enemy3} Frame 1
"running"Symbol 142 MovieClip {Enemy3} Frame 201
"jumping"Symbol 142 MovieClip {Enemy3} Frame 311
"jumping to falling"Symbol 142 MovieClip {Enemy3} Frame 321
"falling"Symbol 142 MovieClip {Enemy3} Frame 382
"null space"Symbol 142 MovieClip {Enemy3} Frame 633
"normal"Symbol 170 MovieClip {MonsterMeterFace} Frame 1
"sleeping"Symbol 170 MovieClip {MonsterMeterFace} Frame 2
"boss"Symbol 170 MovieClip {MonsterMeterFace} Frame 3
"boss continued"Symbol 170 MovieClip {MonsterMeterFace} Frame 13
"stage"Symbol 179 MovieClip {Notification} Frame 1
"go"Symbol 179 MovieClip {Notification} Frame 2
"how to move"Symbol 189 MovieClip {SignPost} Frame 1
"how to throw"Symbol 189 MovieClip {SignPost} Frame 2
"how to slow"Symbol 189 MovieClip {SignPost} Frame 3
"how to levitate"Symbol 189 MovieClip {SignPost} Frame 4
"survive"Symbol 189 MovieClip {SignPost} Frame 5
"standing"Symbol 190 MovieClip {Enemy4} Frame 1
"running"Symbol 190 MovieClip {Enemy4} Frame 201
"jumping"Symbol 190 MovieClip {Enemy4} Frame 311
"jumping to falling"Symbol 190 MovieClip {Enemy4} Frame 321
"falling"Symbol 190 MovieClip {Enemy4} Frame 382
"being stunned"Symbol 190 MovieClip {Enemy4} Frame 633
"stunned"Symbol 190 MovieClip {Enemy4} Frame 644
"tipping dead"Symbol 190 MovieClip {Enemy4} Frame 655
"falling dead"Symbol 190 MovieClip {Enemy4} Frame 705
"landing dead"Symbol 190 MovieClip {Enemy4} Frame 726
"lying dead"Symbol 190 MovieClip {Enemy4} Frame 739
"null space"Symbol 190 MovieClip {Enemy4} Frame 756
"off"Symbol 222 MovieClip {RadioButton} Frame 1
"on"Symbol 222 MovieClip {RadioButton} Frame 2
"unchecked"Symbol 227 MovieClip {LargeCheckBoxImage} Frame 1
"checked"Symbol 227 MovieClip {LargeCheckBoxImage} Frame 2




http://swfchan.com/23/114053/info.shtml
Created: 11/3 -2019 03:48:51 Last modified: 11/3 -2019 03:48:51 Server time: 12/05 -2024 08:16:37