XIDMaps
Class USA02HelicoBoss

source: C:\XIII\XIDMaps\Classes\USA02HelicoBoss.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Pawn
         |
         +--XIDMaps.USA02HelicoBoss
Direct Known Subclasses:None

class USA02HelicoBoss
extends Engine.Pawn

//----------------------------------------------------------- // //-----------------------------------------------------------
Variables
 USA02HelicoHSEmitter Emit
           to avoid 2 takedamages from same rocket
 float MemTime
           to avoid 2 takedamages from same rocket
 USA02HelicoRotorAbove RotorA
           to avoid 2 takedamages from same rocket
 USA02HelicoRotorBack RotorR
           to avoid 2 takedamages from same rocket
 sound hBeginFightSound
           to avoid 2 takedamages from same rocket
 sound hCrashSound
           to avoid 2 takedamages from same rocket
 sound hVictorySound
           to avoid 2 takedamages from same rocket

States
Initialize

Function Summary
 void Notify()
     
//_____________________________________________________________________________


State Initialize Function Summary



Source Code


00001	//-----------------------------------------------------------
00002	//
00003	//-----------------------------------------------------------
00004	class USA02HelicoBoss extends Pawn;
00005	
00006	var float MemTime; // to avoid 2 takedamages from same rocket
00007	var USA02HelicoRotorAbove RotorA;
00008	var USA02HelicoRotorBack RotorR;
00009	var USA02HelicoHSEmitter Emit;
00010	
00011	var sound hBeginFightSound;
00012	var sound hCrashSound;
00013	var sound hVictorySound;
00014	
00015	//_____________________________________________________________________________
00016	event PostBeginPlay()
00017	{
00018	    Super.PostBeginPlay();
00019		PlaySound(hBeginFightSound);
00020	    RotorA = Spawn(class'USA02HelicoRotorAbove', self);
00021	    if ( RotorA != none )
00022	    {
00023	      RotorA.SetBase(self);
00024	      RotorA.SetRelativeLocation(vect(155,0,20)*DrawScale);
00025	      RotorA.SetRelativeRotation(rot(0,0,0));
00026	      RotorA.SetDrawScale(DrawScale);
00027	    }
00028	    RotorR = Spawn(class'USA02HelicoRotorBack', self);
00029	    if ( RotorR != none )
00030	    {
00031	      RotorR.SetBase(self);
00032	      RotorR.SetRelativeLocation(vect(-720,-25,95)*DrawScale);
00033	      RotorR.SetRelativeRotation(rot(0,0,0));
00034	      RotorR.SetDrawScale(DrawScale);
00035	    }
00036	}
00037	
00038	//_____________________________________________________________________________
00039	event Destroyed()
00040	{
00041	    RotorA.Destroy();
00042	    RotorR.Destroy();
00043	    Emit.Destroy();
00044	}
00045	
00046	//_____________________________________________________________________________
00047	function Notify()
00048	{
00049		//gestion du son en crash
00050		PlaySound(hCrashSound);
00051	}
00052	
00053	//_____________________________________________________________________________
00054	// Special Boss damages, need 3 rockets to blow up.
00055	function TakeDamage( int Damage, Pawn instigatedBy, Vector hitlocation, Vector momentum, class<DamageType> damageType)
00056	{
00057	    if ( (DamageType != class'DTRocketed') || (Level.TimeSeconds <= MemTime+0.3) || (Damage<200) )
00058	      return;
00059		USA02HelicoBossController(Controller).NotifyTakeDamage();
00060	    MemTime = Level.TimeSeconds;
00061	    Health -= 1;
00062	    DebugLog("\ HelicoBoss -- LOSING ONE LIFE, Damages="$Damage);
00063	    if ( Health <= 0 )
00064	    {
00065	      PlaySound(hVictorySound);
00066		  Controller.GotoState('EndOfMe');
00067	      Emit = Spawn(class'USA02HelicoHSEmitter', none);
00068	      Emit.SetBase(self);
00069	      Emit.SetRelativeLocation(vect(155,0,20)*DrawScale);
00070	      Emit.SetRelativeRotation(rot(0,0,0));
00071		  XIIIBaseHud(XIIIGameInfo(Level.Game).MapInfo.XIIIController.MyHud).AddBossBar( none );
00072	
00073	    }
00074	}
00075	
00076	/*
00077	//_____________________________________________________________________________
00078	auto state Initialize
00079	{
00080	}
00081	*/
00082	
00083	//    hFlightSound=Sound'XIIIsound.Vehicles__USABossHelico.USABossHelico__hBeginFight'
00084	
00085	
00086	defaultproperties
00087	{
00088	     hBeginFightSound=Sound'XIIIsound.Vehicles__USABossHelico.USABossHelico__hBeginFight'
00089	     hCrashSound=Sound'XIIIsound.Vehicles__USABossHelico.USABossHelico__hCrash'
00090	     hVictorySound=Sound'XIIIsound.Vehicles__USABossHelico.USABossHelico__hVictory'
00091	     bCanStrafe=True
00092	     bBoss=True
00093	     PawnName="Chopper"
00094	     Health=3
00095	     bProjTarget=False
00096	     Physics=PHYS_Flying
00097	     DrawType=DT_StaticMesh
00098	     StaticMesh=StaticMesh'Meshes_Vehicules.apacheBoss'
00099	     DrawScale=1.200000
00100	     StabilisationDistance=15000.000000
00101	     StabilisationVolume=-25.000000
00102	}

End Source Code