home *** CD-ROM | disk | FTP | other *** search
- class FullmetalGame extends LRG.LRGMovieClip
- {
- var m_kFireBeam;
- var m_pBonusClips;
- var m_kPlayer;
- var m_kEnemyHolder;
- var m_kScrim;
- var m_bSmartBomb;
- var m_kBarrier1;
- var m_kBarrier2;
- var m_kBarrier3;
- var m_kBarrier4;
- var m_kBarrier5;
- var m_kBarrier6;
- var m_kBarrier7;
- var m_kBarrier8;
- var m_fRoundStartTime;
- var m_kBackground;
- var m_kAlchemySymbol;
- var m_kSymbolTargetHolder;
- var m_kFireHolder;
- var m_kLineToSymbolTarget1;
- var m_kLineToSymbolTarget2;
- var m_kLineToSymbolTarget3;
- var m_kLineToSymbolTarget4;
- var m_kLineToSymbolTarget5;
- var m_kLineToSymbolTarget6;
- function FullmetalGame()
- {
- super();
- }
- function init()
- {
- super.init();
- this.m_kFireBeam = null;
- this.m_pBonusClips = new Array();
- }
- function startGame()
- {
- var _loc3_ = new Date().getTime();
- loadMovieNum("tracker.swf?" + _loc3_,10000);
- _global.getApplicationState().setState(_global.getApplicationState().AS_GAME_RUNNING);
- _global.getApplicationState().setPaused(false);
- if(!Settings(_global.getSettings()).getSetting("HIDE_BOUNDARIES"))
- {
- }
- PlayerState(_global.getPlayerState()).onStartGame();
- this.m_kPlayer.setController(new HumanPlayerController());
- this.m_kPlayer.onStartGame();
- this.m_kEnemyHolder.onStartGame();
- this.startRound();
- }
- function endGame()
- {
- _global.getApplicationState().setPaused(true);
- _global.getApplicationState().setState(_global.getApplicationState().AS_GAME_OVER);
- _global.playSound("fma_game_summary.wav",1,this);
- GameSummaryPanel(_global.g_kApplication.m_kGui.m_kGameSummaryPanel).gotoAndStop("Show");
- GameSummaryPanel(_global.g_kApplication.m_kGui.m_kGameSummaryPanel)._visible = true;
- GameSummaryPanel(_global.g_kApplication.m_kGui.m_kGameSummaryPanel).onShow();
- }
- function startRound()
- {
- _global.getApplicationState().setPaused(false);
- _global.LRG.LRGMusic.stopMusic();
- _global.LRG.LRGMusic.m_sPlayListStyle = "LINEAR";
- _global.LRG.LRGMusic.startMusic(["fma_game_music1.wav","fma_game_music2.wav","fma_game_music3.wav","fma_game_music4.wav"]);
- PlayerState(_global.getPlayerState()).onStartRound();
- this.m_kScrim.gotoAndStop("Hide");
- PlayGui(_global.g_kApplication.m_kGui.m_kPlayGui).gotoAndStop("Show");
- PlayGui(_global.g_kApplication.m_kGui.m_kPlayGui)._visible = true;
- PlayGui(_global.g_kApplication.m_kGui.m_kPlayGui).onShow();
- this.m_bSmartBomb = false;
- this.m_kPlayer.onStartRound();
- this.m_kEnemyHolder.onStartRound();
- this.m_kBarrier1.onStartRound();
- this.m_kBarrier2.onStartRound();
- this.m_kBarrier3.onStartRound();
- this.m_kBarrier4.onStartRound();
- this.m_kBarrier5.onStartRound();
- this.m_kBarrier6.onStartRound();
- this.m_kBarrier7.onStartRound();
- this.m_kBarrier8.onStartRound();
- this.setupAlchemySymbol();
- this.m_fRoundStartTime = this.getClipTime();
- }
- function endRound(bGameOver)
- {
- _global.getApplicationState().setPaused(true);
- PlayerState(_global.getPlayerState()).setTimeThisRound(this.getClipTime() - this.m_fRoundStartTime);
- PlayerState(_global.getPlayerState()).setTimeTotal(PlayerState(_global.getPlayerState()).getTimeThisRound() + PlayerState(_global.getPlayerState()).getTimeTotal());
- _global.LRG.LRGMusic.endMusic();
- this.m_kPlayer.onEndRound();
- this.m_kEnemyHolder.onEndRound();
- this.onRequestRemoveFireBeam();
- var _loc3_ = 0;
- while(_loc3_ < this.m_pBonusClips.length)
- {
- this.m_pBonusClips[_loc3_].removeMovieClip();
- _loc3_ = _loc3_ + 1;
- }
- this.m_pBonusClips.splice(0);
- if(!bGameOver)
- {
- PlayerState(_global.getPlayerState()).setLevel(PlayerState(_global.getPlayerState()).getLevel() + 1);
- _global.playSound("fma_new_level.wav",1,this);
- RoundSummaryPanel(_global.g_kApplication.m_kGui.m_kRoundSummaryPanel).gotoAndStop("Show");
- RoundSummaryPanel(_global.g_kApplication.m_kGui.m_kRoundSummaryPanel)._visible = true;
- RoundSummaryPanel(_global.g_kApplication.m_kGui.m_kRoundSummaryPanel).onShow();
- }
- else
- {
- this.endGame();
- }
- }
- function onPlayerDied()
- {
- _global.playSound("fma_roy_dies.wav",1,this);
- this.m_kScrim.playAnimation("DEATH_FADE",60,11,120,false,1);
- _global.getApplicationState().setPaused(true);
- _global.LRG.LRGMusic.endMusic();
- }
- function onEnemyDied()
- {
- PlayerState(_global.getPlayerState()).setKillsThisRound(PlayerState(_global.getPlayerState()).getKillsThisRound() + 1);
- PlayerState(_global.getPlayerState()).setKillsTotal(PlayerState(_global.getPlayerState()).getKillsTotal() + 1);
- if(this.getEnemyManager().isNoMoreEnemies())
- {
- if(this.getEnemyManager().isNoMoreEnemiesToCome())
- {
- this.endRound(false);
- }
- }
- }
- function isSmartBomb()
- {
- return this.m_bSmartBomb;
- }
- function getPlayer()
- {
- return this.m_kPlayer;
- }
- function getFireBeam()
- {
- return this.m_kFireBeam;
- }
- function getEnemyManager()
- {
- return this.m_kEnemyHolder;
- }
- function onFullCloseUp()
- {
- this.m_kBackground.gotoAndStop("Scorched");
- this.m_kAlchemySymbol.gotoAndStop("Scorched");
- var _loc2_ = 1;
- while(_loc2_ <= 8)
- {
- var _loc3_ = this["m_kBarrier" + _loc2_];
- if(_loc3_.isExplodable())
- {
- _loc3_.setState(Barrier.BS_CRITICAL);
- }
- _loc2_ = _loc2_ + 1;
- }
- this.m_kSymbolTargetHolder.m_kSymbolTarget1._visible = false;
- this.m_kSymbolTargetHolder.m_kSymbolTarget2._visible = false;
- this.m_kSymbolTargetHolder.m_kSymbolTarget3._visible = false;
- this.m_kSymbolTargetHolder.m_kSymbolTarget4._visible = false;
- this.m_kSymbolTargetHolder.m_kSymbolTarget5._visible = false;
- this.m_kSymbolTargetHolder.m_kSymbolTarget6._visible = false;
- }
- function smartBomb()
- {
- PlayerState(_global.getPlayerState()).setHydrogenTotal(PlayerState(_global.getPlayerState()).getHydrogenTotal() + 1);
- _global.playSound("fma_smart_bomb.wav",1,this);
- this.m_kAlchemySymbol.playAnimation("EXPLODE",60,80,110,false,1);
- this.m_kAlchemySymbol.m_kCollision._visible = false;
- this.m_bSmartBomb = true;
- }
- function shootFireBeam(fPosX, fPosY, fAngle, fSpeed)
- {
- this.m_kFireBeam = FireBeam(this.m_kFireHolder.attachMovie("s_FireBeam","m_kFireBeam",this.m_kFireHolder.getNextHighestDepth()));
- var _loc2_ = {x:fPosX,y:fPosY};
- this.m_kFireHolder.globalToLocal(_loc2_);
- this.m_kFireBeam._x = _loc2_.x;
- this.m_kFireBeam._y = _loc2_.y;
- this.m_kFireBeam._rotation = fAngle;
- this.m_kFireBeam.setSpeed(fSpeed);
- this.m_kFireBeam.onAdd();
- }
- function onRequestRemoveFireBeam()
- {
- if(this.m_kFireBeam.isHitSomething())
- {
- PlayerState(_global.getPlayerState()).setHitsThisRound(PlayerState(_global.getPlayerState()).getHitsThisRound() + 1);
- PlayerState(_global.getPlayerState()).setHitsTotal(PlayerState(_global.getPlayerState()).getHitsTotal() + 1);
- }
- this.m_kFireBeam.onRemove();
- this.m_kFireBeam.removeMovieClip();
- this.m_kFireBeam = null;
- }
- function setupAlchemySymbol()
- {
- this.m_bSmartBomb = false;
- this.stopAction("EXPLODE",false);
- this.stopAction("EXPLODE2",false);
- this.stopAction("END_SMART_BOMB",false);
- this.m_kAlchemySymbol.stopAction("SYMBOL_PULSATE",false);
- this.m_kAlchemySymbol.gotoAndStop("Off");
- this.m_kBackground.gotoAndStop("Normal");
- this.m_kAlchemySymbol.m_kCollision.gotoAndStop("Hide");
- if(Settings(_global.getSettings()).getSetting("HIDE_BOUNDARIES"))
- {
- this.m_kAlchemySymbol.m_kCollision._visible = false;
- }
- this.m_kSymbolTargetHolder.m_kSymbolTarget1.setLineToTarget(this.m_kLineToSymbolTarget1);
- this.m_kSymbolTargetHolder.m_kSymbolTarget2.setLineToTarget(this.m_kLineToSymbolTarget2);
- this.m_kSymbolTargetHolder.m_kSymbolTarget3.setLineToTarget(this.m_kLineToSymbolTarget3);
- this.m_kSymbolTargetHolder.m_kSymbolTarget4.setLineToTarget(this.m_kLineToSymbolTarget4);
- this.m_kSymbolTargetHolder.m_kSymbolTarget5.setLineToTarget(this.m_kLineToSymbolTarget5);
- this.m_kSymbolTargetHolder.m_kSymbolTarget6.setLineToTarget(this.m_kLineToSymbolTarget6);
- this.m_kSymbolTargetHolder.m_kSymbolTarget1.onStartRound();
- this.m_kSymbolTargetHolder.m_kSymbolTarget2.onStartRound();
- this.m_kSymbolTargetHolder.m_kSymbolTarget3.onStartRound();
- this.m_kSymbolTargetHolder.m_kSymbolTarget4.onStartRound();
- this.m_kSymbolTargetHolder.m_kSymbolTarget5.onStartRound();
- this.m_kSymbolTargetHolder.m_kSymbolTarget6.onStartRound();
- }
- function onSymbolTargetActivated(kTarget)
- {
- if(this.m_kSymbolTargetHolder.m_kSymbolTarget1.isActive() && this.m_kSymbolTargetHolder.m_kSymbolTarget2.isActive() && this.m_kSymbolTargetHolder.m_kSymbolTarget3.isActive() && this.m_kSymbolTargetHolder.m_kSymbolTarget4.isActive() && this.m_kSymbolTargetHolder.m_kSymbolTarget5.isActive() && this.m_kSymbolTargetHolder.m_kSymbolTarget6.isActive())
- {
- _global.getApplicationState().setPaused(true);
- this.m_bSmartBomb = true;
- this.m_kAlchemySymbol.m_kCollision._visible = false;
- this.m_kAlchemySymbol.playAnimation("SYMBOL_ACTIVATE",30,11,40,false,1);
- }
- }
- function addBonusAnimation(fX, fY)
- {
- var _loc2_ = LRG.LRGMovieClip(this.attachMovie("s_MultiKillBonus","m_kMultiKillBonus" + this.getNextHighestDepth(),this.getNextHighestDepth()));
- _loc2_._x = fX;
- _loc2_._y = fY;
- _loc2_.playAnimation("BONUS_ANIMATION",30,1,30,false,1);
- this.m_pBonusClips.push(_loc2_);
- }
- function onActionCompleted(sActionKey)
- {
- if(sActionKey == "SYMBOL_ACTIVATE")
- {
- _global.getApplicationState().setPaused(true);
- PlayGui(_global.g_kApplication.m_kGui.m_kPlayGui).showCloseup();
- _global.playSound("fma_popup.wav",1,this);
- }
- else if(sActionKey == "DEATH_FADE")
- {
- this.endRound(true);
- }
- else if(sActionKey == "BONUS_ANIMATION")
- {
- this.m_pBonusClips.shift().removeMovieClip();
- }
- else if(sActionKey == "EXPLODE")
- {
- this.m_kAlchemySymbol.playAnimation("EXPLODE2",60,111,244,false,1);
- _global.getApplicationState().setPaused(false);
- this.m_kAlchemySymbol.m_kCollision.gotoAndStop("Show");
- this.getEnemyManager().explodeAll();
- var _loc3_ = 1;
- while(_loc3_ <= 8)
- {
- var _loc4_ = this["m_kBarrier" + _loc3_];
- if(_loc4_.isExplodable())
- {
- _loc4_.explode();
- }
- _loc3_ = _loc3_ + 1;
- }
- }
- else if(sActionKey == "EXPLODE2")
- {
- this.m_kAlchemySymbol.m_kCollision.gotoAndStop("Hide");
- this.m_bSmartBomb = false;
- this.m_kBackground.gotoAndStop("Scorched");
- this.m_kAlchemySymbol.gotoAndStop("Scorched");
- }
- }
- }
-