/* * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98 */ #line 4 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" #include "StdH.h" #include #include void CEnemySpawner::SetDefaultProperties(void) { m_penTarget = NULL; m_strDescription = ""; m_strName = "Enemy spawner"; m_fInnerCircle = 0.0f; m_fOuterCircle = 0.0f; m_tmDelay = 0.0f; m_tmSingleWait = 0.1f; m_tmGroupWait = 0.1f; m_ctGroupSize = 1; m_ctTotal = 1; m_penPatrol = NULL; m_estType = EST_SIMPLE ; m_bTelefrag = FALSE ; m_bSpawnEffect = TRUE ; m_bDoubleInSerious = FALSE ; m_penSeriousTarget = NULL; m_bFirstPass = TRUE ; m_soSpawn.SetOwner(this); m_soSpawn.Stop_internal(); m_iInGroup = 0; m_iEnemiesTriggered = 0; m_penTacticsHolder = NULL; m_bTacticsAutostart = TRUE ; CRationalEntity::SetDefaultProperties(); } #line 68 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" void CEnemySpawner::Precache(void) #line 69 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 70 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" PrecacheClass (CLASS_BASIC_EFFECT , BET_TELEPORT ); #line 71 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 74 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" const CTString & CEnemySpawner::GetDescription(void)const #line 75 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 76 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" ((CTString &) m_strDescription ) . PrintF ("->"); #line 77 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_penTarget != NULL ){ #line 78 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" ((CTString &) m_strDescription ) . PrintF ("->%s" , m_penTarget -> GetName ()); #line 79 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_penSeriousTarget != NULL ){ #line 80 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" ((CTString &) m_strDescription ) . PrintF ("->%s, %s" , #line 81 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_penTarget -> GetName () , m_penSeriousTarget -> GetName ()); #line 82 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 83 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 84 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" ((CTString &) m_strDescription ) = EnemySpawnerType_enum . NameForValue (INDEX (m_estType )) #line 85 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" + m_strDescription ; #line 86 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return m_strDescription ; #line 87 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 91 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" BOOL CEnemySpawner::CheckTemplateValid(CEntity * pen) #line 92 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 93 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(pen == NULL || ! IsDerivedFromClass (pen , "Enemy Base")){ #line 94 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return FALSE ; #line 95 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 96 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_estType == EST_TELEPORTER ){ #line 97 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return ! (((CEnemyBase &) * pen ) . m_bTemplate ); #line 98 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }else { #line 99 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return ((CEnemyBase &) * pen ) . m_bTemplate ; #line 100 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 101 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 103 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" BOOL CEnemySpawner::IsTargetValid(SLONG slPropertyOffset,CEntity * penTarget) #line 104 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 105 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(slPropertyOffset == offsetof (CEnemySpawner , m_penTarget )) #line 106 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 107 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return CheckTemplateValid (penTarget ); #line 108 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 109 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" else if(slPropertyOffset == offsetof (CEnemySpawner , m_penPatrol )) #line 110 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 111 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return (penTarget != NULL && IsDerivedFromClass (penTarget , "Enemy Marker")); #line 112 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 113 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" else if(slPropertyOffset == offsetof (CEnemySpawner , m_penSeriousTarget )) #line 114 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 115 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return CheckTemplateValid (penTarget ); #line 116 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 117 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" else if(slPropertyOffset == offsetof (CEnemySpawner , m_penTacticsHolder )) #line 118 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 119 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(IsOfClass (penTarget , "TacticsHolder")){return TRUE ;} #line 120 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" else {return FALSE ;} #line 121 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 122 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return CEntity :: IsTargetValid (slPropertyOffset , penTarget ); #line 123 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 127 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" BOOL CEnemySpawner::FillEntityStatistics(EntityStats * pes) #line 128 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 129 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_penTarget == NULL ){return FALSE ;} #line 130 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_penTarget -> FillEntityStatistics (pes ); #line 131 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" pes -> es_ctCount = m_ctTotal ; #line 132 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" pes -> es_strName += " (spawned)"; #line 133 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_penSeriousTarget != NULL ){ #line 134 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" pes -> es_strName += " (has serious)"; #line 135 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 136 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return TRUE ; #line 137 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 140 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" void CEnemySpawner::SpawnEntity(BOOL bCopy) { #line 142 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(CheckTemplateValid (m_penTarget )){ #line 144 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" CEntity * pen = NULL ; #line 145 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(bCopy ){ #line 147 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" pen = GetWorld () -> CopyEntityInWorld (* m_penTarget , #line 148 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" CPlacement3D (FLOAT3D (- 32000.0f + FRnd () * 200.0f , - 32000.0f + FRnd () * 200.0f , 0) , ANGLE3D (0 , 0 , 0))); #line 151 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" pen -> End (); #line 152 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" CEnemyBase * peb = ((CEnemyBase *) pen ); #line 153 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" peb -> m_bTemplate = FALSE ; #line 154 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_estType == EST_RESPAWNER #line 155 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" || m_estType == EST_MAINTAINGROUP || m_estType == EST_RESPAWNGROUP ){ #line 156 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" peb -> m_penSpawnerTarget = this ; #line 157 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 158 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_penPatrol != NULL ){ #line 159 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" peb -> m_penMarker = m_penPatrol ; #line 160 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 161 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" pen -> Initialize (); #line 162 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }else { #line 163 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" pen = m_penTarget ; #line 164 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_penTarget = NULL ; #line 165 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 168 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" FLOAT fEntityR = 0; #line 169 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(pen -> en_pciCollisionInfo != NULL ){ #line 170 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" fEntityR = pen -> en_pciCollisionInfo -> GetMaxFloorRadius (); #line 171 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 172 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" FLOAT fOuterCircle = ClampDn (m_fOuterCircle - fEntityR , 0.0f); #line 173 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" FLOAT fInnerCircle = ClampUp (m_fInnerCircle + fEntityR , fOuterCircle ); #line 175 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" FLOAT fR = fInnerCircle + FRnd () * (fOuterCircle - fInnerCircle ); #line 176 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" FLOAT fA = FRnd () * 360.0f; #line 177 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" CPlacement3D pl (FLOAT3D (CosFast (fA ) * fR , 0.05f , SinFast (fA ) * fR ) , ANGLE3D (0 , 0 , 0)); #line 178 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" pl . RelativeToAbsolute (GetPlacement ()); #line 181 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" pen -> Teleport (pl , m_bTelefrag ); #line 184 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_bSpawnEffect ){ #line 185 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" ESpawnEffect ese ; #line 186 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" ese . colMuliplier = C_WHITE | CT_OPAQUE ; #line 187 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" ese . betType = BET_TELEPORT ; #line 188 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" ese . vNormal = FLOAT3D (0 , 1 , 0); #line 189 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" FLOATaabbox3D box ; #line 190 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" pen -> GetBoundingBox (box ); #line 191 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" FLOAT fEntitySize = box . Size () . MaxNorm () * 2; #line 192 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" ese . vStretch = FLOAT3D (fEntitySize , fEntitySize , fEntitySize ); #line 193 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" CEntityPointer penEffect = CreateEntity (pl , CLASS_BASIC_EFFECT ); #line 194 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" penEffect -> Initialize (ese ); #line 195 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 198 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_penTacticsHolder != NULL ){ #line 199 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(IsOfClass (m_penTacticsHolder , "TacticsHolder")){ #line 200 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" CEnemyBase * peb = ((CEnemyBase *) pen ); #line 201 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" peb -> m_penTacticsHolder = m_penTacticsHolder ; #line 202 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_bTacticsAutostart ){ #line 204 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" peb -> StartTacticsNow (); #line 205 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 206 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 207 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 209 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 210 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 213 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" BOOL CEnemySpawner::HandleEvent(const CEntityEvent & ee) #line 214 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 215 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(ee . ee_slEvent == EVENTCODE_ETrigger ) #line 216 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 217 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" ETrigger eTrigger = ((ETrigger &) ee ); #line 218 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(IsDerivedFromClass (eTrigger . penCaused , "Enemy Base") #line 219 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" && (m_estType == EST_MAINTAINGROUP || m_estType == EST_RESPAWNGROUP )){ #line 220 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_iEnemiesTriggered ++; #line 221 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 222 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 223 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return CRationalEntity :: HandleEvent (ee ); #line 224 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 228 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SLONG CEnemySpawner::GetUsedMemory(void) #line 229 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" { #line 231 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SLONG slUsedMemory = sizeof (CEnemySpawner ) - sizeof (CRationalEntity ) + CRationalEntity :: GetUsedMemory (); #line 233 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" slUsedMemory += m_strDescription . Length (); #line 234 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" slUsedMemory += m_strName . Length (); #line 235 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" slUsedMemory += 1 * sizeof (CSoundObject); #line 236 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return slUsedMemory ; #line 237 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } BOOL CEnemySpawner:: #line 242 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SpawnGroup(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEnemySpawner_SpawnGroup ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEnemySpawner::SpawnGroup expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 245 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_iInGroup = 0; #line 247 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Jump(STATE_CURRENT,0x01300003, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x01300003_SpawnGroup_03(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300003 if(!(TRUE )){ Jump(STATE_CURRENT,0x01300004, FALSE, EInternal());return TRUE;} #line 250 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SpawnEntity (TRUE ); #line 253 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_ctTotal --; #line 255 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_ctTotal <= 0){ #line 257 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Return(STATE_CURRENT,EEnd ()); #line 257 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return TRUE; #line 258 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 261 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_iInGroup ++; #line 263 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_iEnemiesTriggered > 0 && m_estType == EST_RESPAWNGROUP ){ #line 264 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(! m_bFirstPass ){ #line 265 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_iEnemiesTriggered --; #line 266 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 267 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }else if(m_iEnemiesTriggered > 0){ #line 268 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_iEnemiesTriggered --; #line 269 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 272 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_iInGroup >= m_ctGroupSize ){ #line 273 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(! (m_estType == EST_MAINTAINGROUP && m_iEnemiesTriggered > 0)){ #line 275 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Return(STATE_CURRENT,EReturn ()); #line 275 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return TRUE; #line 276 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 277 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 280 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAfter(m_tmSingleWait ); Jump(STATE_CURRENT, 0x01300001, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300001_SpawnGroup_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300001 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ETimer):{const ETimer&e= (ETimer&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x01300002, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default:{return FALSE;}ASSERT(FALSE);break; #line 284 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }return TRUE;}BOOL CEnemySpawner::H0x01300002_SpawnGroup_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300002 Jump(STATE_CURRENT,0x01300003, FALSE, EInternal());return TRUE; #line 285 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }BOOL CEnemySpawner::H0x01300004_SpawnGroup_04(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300004 ASSERT(FALSE); return TRUE;};BOOL CEnemySpawner:: #line 289 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Simple(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEnemySpawner_Simple ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEnemySpawner::Simple expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 292 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x01300006, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300006_Simple_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300006 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ETrigger):{const ETrigger&e= (ETrigger&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x01300007, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EStart):{const EStart&e= (EStart&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x01300007, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default:{return FALSE;}ASSERT(FALSE);break; #line 297 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }return TRUE;}BOOL CEnemySpawner::H0x01300007_Simple_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300007 #line 300 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(!(m_tmDelay > 0)){ Jump(STATE_CURRENT,0x0130000a, FALSE, EInternal());return TRUE;} #line 302 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAfter(m_tmDelay ); Jump(STATE_CURRENT, 0x01300008, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300008_Simple_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300008 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01300009, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x01300009_Simple_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300009 ;Jump(STATE_CURRENT,0x0130000a, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x0130000a_Simple_05(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130000a #line 306 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Jump(STATE_CURRENT,0x0130000f, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x0130000f_Simple_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130000f if(!(TRUE )){ Jump(STATE_CURRENT,0x01300010, FALSE, EInternal());return TRUE;} #line 308 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" STATE_CEnemySpawner_SpawnGroup, TRUE; Jump(STATE_CURRENT, 0x0130000b, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x0130000b_Simple_06(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0130000b switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CEnemySpawner_SpawnGroup, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x0130000c, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x0130000c_Simple_07(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x0130000c const EReturn&__e= (EReturn&)__eeInput; ; #line 310 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAfter(m_tmGroupWait ); Jump(STATE_CURRENT, 0x0130000d, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x0130000d_Simple_08(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0130000d switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0130000e, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x0130000e_Simple_09(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130000e ;Jump(STATE_CURRENT,0x0130000f, FALSE, EInternal());return TRUE; #line 311 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }BOOL CEnemySpawner::H0x01300010_Simple_11(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300010 ASSERT(FALSE); return TRUE;};BOOL CEnemySpawner:: #line 315 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Teleporter(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEnemySpawner_Teleporter ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEnemySpawner::Teleporter expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 318 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x01300012, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300012_Teleporter_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300012 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_ETrigger):{const ETrigger&e= (ETrigger&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x01300013, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EStart):{const EStart&e= (EStart&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x01300013, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default:{return FALSE;}ASSERT(FALSE);break; #line 323 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }return TRUE;}BOOL CEnemySpawner::H0x01300013_Teleporter_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300013 #line 326 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(!(m_tmDelay > 0)){ Jump(STATE_CURRENT,0x01300016, FALSE, EInternal());return TRUE;} #line 328 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAfter(m_tmDelay ); Jump(STATE_CURRENT, 0x01300014, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300014_Teleporter_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300014 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01300015, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x01300015_Teleporter_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300015 ;Jump(STATE_CURRENT,0x01300016, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x01300016_Teleporter_05(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300016 #line 332 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SpawnEntity (FALSE ); #line 335 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Return(STATE_CURRENT,EEnd ()); #line 335 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CEnemySpawner:: #line 339 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Respawner(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEnemySpawner_Respawner ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEnemySpawner::Respawner expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 342 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Jump(STATE_CURRENT,0x01300031, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x01300031_Respawner_26(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300031 if(!(TRUE )){ Jump(STATE_CURRENT,0x01300032, FALSE, EInternal());return TRUE;} #line 344 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x01300018, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300018_Respawner_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300018 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; #line 346 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(! m_bFirstPass && m_iEnemiesTriggered > 0){ #line 347 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" UnsetTimer();Jump(STATE_CURRENT,0x01300019, FALSE, EInternal());return TRUE; #line 348 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 349 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return TRUE; #line 350 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }ASSERT(FALSE);break;case(EVENTCODE_ETrigger):{const ETrigger&e= (ETrigger&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x01300019, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EStart):{const EStart&e= (EStart&)__eeInput; UnsetTimer();Jump(STATE_CURRENT,0x01300019, FALSE, EInternal());return TRUE;}ASSERT(FALSE);break;default:{return FALSE;}ASSERT(FALSE);break; #line 354 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }return TRUE;}BOOL CEnemySpawner::H0x01300019_Respawner_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300019 #line 357 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(!(m_tmDelay > 0 && m_bFirstPass )){ Jump(STATE_CURRENT,0x0130001c, FALSE, EInternal());return TRUE;} #line 359 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAfter(m_tmDelay ); Jump(STATE_CURRENT, 0x0130001a, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x0130001a_Respawner_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0130001a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0130001b, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x0130001b_Respawner_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130001b ;Jump(STATE_CURRENT,0x0130001c, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x0130001c_Respawner_05(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130001c #line 362 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(!(m_estType == EST_RESPAWNGROUP )){ Jump(STATE_CURRENT,0x0130002e, FALSE, EInternal());return TRUE;} #line 363 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(!(m_bFirstPass )){ Jump(STATE_CURRENT,0x01300026, FALSE, EInternal());return TRUE;} #line 364 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" STATE_CEnemySpawner_SpawnGroup, TRUE; Jump(STATE_CURRENT, 0x0130001d, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x0130001d_Respawner_06(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0130001d switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CEnemySpawner_SpawnGroup, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x0130001e, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x0130001e_Respawner_07(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x0130001e const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x01300025, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x01300026_Respawner_15(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300026 if(!(m_iEnemiesTriggered >= m_ctGroupSize )){ Jump(STATE_CURRENT,0x01300024, FALSE, EInternal());return TRUE;} #line 366 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(!(m_tmGroupWait > 0)){ Jump(STATE_CURRENT,0x01300021, FALSE, EInternal());return TRUE;}SetTimerAfter(m_tmGroupWait ); Jump(STATE_CURRENT, 0x0130001f, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x0130001f_Respawner_08(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0130001f switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01300020, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x01300020_Respawner_09(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300020 ;Jump(STATE_CURRENT,0x01300021, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x01300021_Respawner_10(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300021 #line 367 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" STATE_CEnemySpawner_SpawnGroup, TRUE; Jump(STATE_CURRENT, 0x01300022, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300022_Respawner_11(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300022 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CEnemySpawner_SpawnGroup, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01300023, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x01300023_Respawner_12(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01300023 const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x01300024, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x01300024_Respawner_13(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300024 Jump(STATE_CURRENT,0x01300025, FALSE, EInternal());return TRUE;} BOOL CEnemySpawner::H0x01300025_Respawner_14(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300025 Jump(STATE_CURRENT,0x0130002d, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x0130002e_Respawner_23(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130002e if(!(TRUE )){ Jump(STATE_CURRENT,0x0130002c, FALSE, EInternal());return TRUE;} #line 371 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(!(m_tmGroupWait > 0 && ! m_bFirstPass )){ Jump(STATE_CURRENT,0x01300029, FALSE, EInternal());return TRUE;}SetTimerAfter(m_tmGroupWait ); Jump(STATE_CURRENT, 0x01300027, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300027_Respawner_16(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300027 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01300028, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x01300028_Respawner_17(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300028 ;Jump(STATE_CURRENT,0x01300029, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x01300029_Respawner_18(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300029 #line 372 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" STATE_CEnemySpawner_SpawnGroup, TRUE; Jump(STATE_CURRENT, 0x0130002a, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x0130002a_Respawner_19(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0130002a switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CEnemySpawner_SpawnGroup, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x0130002b, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x0130002b_Respawner_20(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x0130002b const EReturn&__e= (EReturn&)__eeInput; ;Jump(STATE_CURRENT,0x0130002c, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x0130002c_Respawner_21(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130002c Jump(STATE_CURRENT,0x0130002d, FALSE, EInternal());return TRUE;} BOOL CEnemySpawner::H0x0130002d_Respawner_22(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130002d #line 383 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_estType == EST_MAINTAINGROUP ){ #line 385 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_ctGroupSize = 1; #line 386 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 389 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_bFirstPass = FALSE ; #line 392 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAfter(0.1f); Jump(STATE_CURRENT, 0x0130002f, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x0130002f_Respawner_24(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0130002f switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01300030, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x01300030_Respawner_25(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300030 ;Jump(STATE_CURRENT,0x01300031, FALSE, EInternal());return TRUE; #line 393 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }BOOL CEnemySpawner::H0x01300032_Respawner_27(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300032 ASSERT(FALSE); return TRUE;};BOOL CEnemySpawner:: #line 396 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" DestroyableInactive(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEnemySpawner_DestroyableInactive ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEnemySpawner::DestroyableInactive expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 398 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x01300034, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300034_DestroyableInactive_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300034 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_EActivate: Jump(STATE_CURRENT,0x01300035, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x01300035_DestroyableInactive_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01300035 const EActivate&__e= (EActivate&)__eeInput; ; #line 399 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Jump(STATE_CURRENT, STATE_CEnemySpawner_DestroyableActive, TRUE, EVoid());return TRUE; ASSERT(FALSE); return TRUE;};BOOL CEnemySpawner:: #line 402 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" DestroyableActiveSpawning(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEnemySpawner_DestroyableActiveSpawning ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEnemySpawner::DestroyableActiveSpawning expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 405 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Jump(STATE_CURRENT,0x0130003b, FALSE, EInternal());return TRUE;}BOOL CEnemySpawner::H0x0130003b_DestroyableActiveSpawning_05(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130003b if(!(TRUE )){ Jump(STATE_CURRENT,0x0130003c, FALSE, EInternal());return TRUE;} #line 407 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" STATE_CEnemySpawner_SpawnGroup, TRUE; Jump(STATE_CURRENT, 0x01300037, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300037_DestroyableActiveSpawning_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300037 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CEnemySpawner_SpawnGroup, TRUE, EVoid());return TRUE;case EVENTCODE_EReturn: Jump(STATE_CURRENT,0x01300038, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x01300038_DestroyableActiveSpawning_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01300038 const EReturn&__e= (EReturn&)__eeInput; ; #line 409 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAfter(m_tmGroupWait ); Jump(STATE_CURRENT, 0x01300039, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300039_DestroyableActiveSpawning_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300039 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x0130003a, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x0130003a_DestroyableActiveSpawning_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130003a ;Jump(STATE_CURRENT,0x0130003b, FALSE, EInternal());return TRUE; #line 410 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }BOOL CEnemySpawner::H0x0130003c_DestroyableActiveSpawning_06(const CEntityEvent &__eeInput) { ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x0130003c ASSERT(FALSE); return TRUE;};BOOL CEnemySpawner:: #line 412 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" DestroyableActive(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEnemySpawner_DestroyableActive ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEnemySpawner::DestroyableActive expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 414 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" STATE_CEnemySpawner_DestroyableActiveSpawning, TRUE; Jump(STATE_CURRENT, 0x0130003e, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x0130003e_DestroyableActive_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x0130003e switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CEnemySpawner_DestroyableActiveSpawning, TRUE, EVoid());return TRUE;case EVENTCODE_EDeactivate: Jump(STATE_CURRENT,0x0130003f, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x0130003f_DestroyableActive_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x0130003f const EDeactivate&__e= (EDeactivate&)__eeInput; ; #line 415 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Jump(STATE_CURRENT, STATE_CEnemySpawner_DestroyableInactive, TRUE, EVoid());return TRUE; ASSERT(FALSE); return TRUE;};BOOL CEnemySpawner:: #line 419 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Destroyable(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEnemySpawner_Destroyable ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEnemySpawner::Destroyable expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 422 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" STATE_CEnemySpawner_DestroyableInactive, TRUE; Jump(STATE_CURRENT, 0x01300041, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300041_Destroyable_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300041 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: Call(STATE_CURRENT, STATE_CEnemySpawner_DestroyableInactive, TRUE, EVoid());return TRUE;case EVENTCODE_EStop: Jump(STATE_CURRENT,0x01300042, FALSE, __eeInput); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x01300042_Destroyable_02(const CEntityEvent &__eeInput){ #undef STATE_CURRENT #define STATE_CURRENT 0x01300042 const EStop&__e= (EStop&)__eeInput; ; #line 424 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Return(STATE_CURRENT,EEnd ()); #line 424 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return TRUE; ASSERT(FALSE); return TRUE;};BOOL CEnemySpawner:: #line 427 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Main(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT STATE_CEnemySpawner_Main ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEnemySpawner::Main expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput; #line 429 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" InitAsEditorModel (); #line 430 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetPhysicsFlags (EPF_MODEL_IMMATERIAL ); #line 431 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetCollisionFlags (ECF_IMMATERIAL ); #line 434 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetModel (MODEL_ENEMYSPAWNER ); #line 435 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetModelMainTexture (TEXTURE_ENEMYSPAWNER ); #line 437 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_tmSingleWait <= 0.0f){m_tmSingleWait = 0.05f;} #line 438 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_tmGroupWait <= 0.0f){m_tmGroupWait = 0.05f;} #line 441 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_fInnerCircle > m_fOuterCircle ){ #line 442 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_fInnerCircle = m_fOuterCircle ; #line 443 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 445 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_estType == EST_RESPAWNERBYONE ){ #line 446 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_estType = EST_MAINTAINGROUP ; #line 447 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 450 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_penTarget != NULL ){ #line 451 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(! IsDerivedFromClass (m_penTarget , "Enemy Base")){ #line 452 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" WarningMessage ("Target '%s' is of wrong class!" , m_penTarget -> GetName ()); #line 453 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_penTarget = NULL ; #line 454 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 455 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 456 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_penSeriousTarget != NULL ){ #line 457 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(! IsDerivedFromClass (m_penSeriousTarget , "Enemy Base")){ #line 458 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" WarningMessage ("Target '%s' is of wrong class!" , m_penSeriousTarget -> GetName ()); #line 459 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_penSeriousTarget = NULL ; #line 460 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 461 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 464 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAfter(_pTimer -> TickQuantum ); Jump(STATE_CURRENT, 0x01300043, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300043_Main_01(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300043 switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x01300044, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEnemySpawner::H0x01300044_Main_02(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300044 ; #line 467 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(! GetSP () -> sp_bUseExtraEnemies && ! GetSP () -> sp_bSinglePlayer #line 468 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" && ! (GetSpawnFlags () & SPF_SINGLEPLAYER )){ #line 469 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Destroy (); #line 470 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Return(STATE_CURRENT,EVoid()); #line 470 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return TRUE; #line 471 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 473 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_bDoubleInSerious && GetSP () -> sp_gdGameDifficulty == CSessionProperties :: GD_EXTREME ){ #line 474 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_ctGroupSize *= 2; #line 475 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_ctTotal *= 2; #line 476 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 477 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_penSeriousTarget != NULL && GetSP () -> sp_gdGameDifficulty == CSessionProperties :: GD_EXTREME ){ #line 478 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_penTarget = m_penSeriousTarget ; #line 479 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 481 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_estType == EST_MAINTAINGROUP ){ #line 482 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_iEnemiesTriggered = m_ctGroupSize ; #line 483 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 485 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_bFirstPass = TRUE ; #line 487 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" SetTimerAt(THINKTIME_NEVER); Jump(STATE_CURRENT, 0x01300045, FALSE, EBegin());return TRUE;}BOOL CEnemySpawner::H0x01300045_Main_03(const CEntityEvent &__eeInput) { #undef STATE_CURRENT #define STATE_CURRENT 0x01300045 switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput; #line 489 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" if(m_estType == EST_SIMPLE ){ #line 490 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Call(STATE_CURRENT, STATE_CEnemySpawner_Simple, TRUE, EVoid());return TRUE; #line 491 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }else if(m_estType == EST_TELEPORTER ){ #line 492 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Call(STATE_CURRENT, STATE_CEnemySpawner_Teleporter, TRUE, EVoid());return TRUE; #line 493 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }else if(m_estType == EST_RESPAWNER #line 494 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" || m_estType == EST_TRIGGERED || m_estType == EST_RESPAWNGROUP ){ #line 495 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Call(STATE_CURRENT, STATE_CEnemySpawner_Respawner, TRUE, EVoid());return TRUE; #line 496 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }else if(m_estType == EST_MAINTAINGROUP ){ #line 497 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" m_ctGroupSize = 1; #line 498 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Call(STATE_CURRENT, STATE_CEnemySpawner_Respawner, TRUE, EVoid());return TRUE; #line 499 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 500 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" else if(m_estType == EST_DESTROYABLE ){ #line 501 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Call(STATE_CURRENT, STATE_CEnemySpawner_Destroyable, TRUE, EVoid());return TRUE; #line 502 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" } #line 503 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }ASSERT(FALSE);break;case(EVENTCODE_EDeactivate):{const EDeactivate&e= (EDeactivate&)__eeInput; #line 505 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" UnsetTimer();Jump(STATE_CURRENT,0x01300046, FALSE, EInternal());return TRUE; #line 506 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }ASSERT(FALSE);break;case(EVENTCODE_EStop):{const EStop&e= (EStop&)__eeInput; #line 508 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" UnsetTimer();Jump(STATE_CURRENT,0x01300046, FALSE, EInternal());return TRUE; #line 509 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }ASSERT(FALSE);break;case(EVENTCODE_EEnd):{const EEnd&e= (EEnd&)__eeInput; #line 511 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" UnsetTimer();Jump(STATE_CURRENT,0x01300046, FALSE, EInternal());return TRUE; #line 512 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }ASSERT(FALSE);break;default: return FALSE; break; #line 513 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" }return TRUE;}BOOL CEnemySpawner::H0x01300046_Main_04(const CEntityEvent &__eeInput){ ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal); #undef STATE_CURRENT #define STATE_CURRENT 0x01300046 #line 515 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Destroy (); #line 517 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" Return(STATE_CURRENT,EVoid()); #line 517 "D:/SE1_GPL/Sources/EntitiesMP/EnemySpawner.es" return TRUE; ASSERT(FALSE); return TRUE;};