## XIDMaps
Class SSH101a

source: C:\XIII\XIDMaps\Classes\SSH101a.uc

    Core.Object
       |
       +--Engine.Actor
          |
          +--Engine.Info
             |
             +--XIII.MapInfo
                |
                +--XIDMaps.Map16_SSH1
                   |
                   +--XIDMaps.SSH101a

Direct Known Subclasses:None

class SSH101a
extends XIDMaps.Map16_SSH1

    //-----------------------------------------------------------
    //
    //-----------------------------------------------------------

Variables
`int` | `eNbVivants`

States
STA_TestMortSoldats

Function Summary
`void` | `FirstFrame()`

State STA_TestMortSoldats Function Summary

Source Code

    00001	//-----------------------------------------------------------
    00002	//
    00003	//-----------------------------------------------------------
    00004	class SSH101a extends Map16_SSH1;
    00005
    00006	// 0 - Trouver un accès au centre de commandes de SSH1
    00007	// 1*- Ne pas se faire repérer par les GI
    00008	// 2*- Neutraliser les GI sans les tuer
    00009	// 3*- Ne pas utiliser d'armes à feu
    00010
    00011	//VAR(SSH101a) float DelayAlarm;
    00012	VAR(SSH101a) XIIIPawn CoffeeMachineSoldier;
    00013	//VAR Pawn Soldier;
    00014	VAR(SSH101a) Array<Pawn> PatrolSoldiers;
    00015	VAR int eNbVivants;
    00016
    00017	//_____________________________________________________________________________
    00018	event ParseDynamicLoading(LevelInfo MyLI)
    00019	{
    00020	    Super.ParseDynamicLoading(MyLI);
    00021	    MyLI.ForcedMeshes[MyLI.ForcedMeshes.Length] = Mesh( DynamicLoadObject("XIIIPersos.XIIIGalM",class'Mesh') );
    00022	}
    00023
    00024	FUNCTION FirstFrame()
    00025	{
    00026		Super.FirstFrame();
    00027
    00028		// changement du skin du perso principal
    00029		XIIIPawn.Mesh = Mesh( DynamicLoadObject("XIIIPersos.XIIIGalM",class'Mesh') );
    00030
    00031		eNbVivants = PatrolSoldiers.Length;
    00032		log(self@"---> NOMBRE DE SOLDATS :"@eNbVivants);
    00033		GotoState('STA_TestMortSoldats');
    00034	}
    00035
    00036	State STA_TestMortSoldats
    00037	{
    00038		event Tick (float dt)
    00039		{
    00040			// on teste si les soldats sont morts ou simplement assommes
    00041
    00042			local int i;
    00043
    00044			i = 0;
    00045			while (i<eNbVivants)
    00046			{
    00047				if ( PatrolSoldiers[i]!=none && PatrolSoldiers[i].bIsDead )
    00048				{
    00049					if ( PatrolSoldiers[i].HitDamageType.default.bCanKillStunnedCorspes )
    00050					{
    00051						TriggerEvent(Event,self,PatrolSoldiers[i]);
    00052						SetGoalComplete( 2 );
    00053					}
    00054					// on retire le soldat du tableau
    00055					PatrolSoldiers[i] = PatrolSoldiers[eNbVivants-1];
    00056					eNbVivants --;
    00057					if (eNbVivants < 1)
    00058					{
    00059						GotoState('');
    00060					}
    00061				}
    00062				else
    00063				{
    00064					i ++;
    00065				}
    00066			}
    00067		}
    00068	}
    00069
    00070
    00071	//_____________________________________________________________________________
    00072	//	DelayAlarm=2.0
    00073
    00074
    00075	defaultproperties
    00076	{
    00077	     iLoadSpecificValue=130
    00078	}

End Source Code