mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2024-11-26 04:05:53 +01:00
396 lines
19 KiB
C++
396 lines
19 KiB
C++
|
/*
|
||
|
* This file is generated by Entity Class Compiler, (c) CroTeam 1997-98
|
||
|
*/
|
||
|
|
||
|
#line 4 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
|
||
|
#include "StdH.h"
|
||
|
|
||
|
#include <EntitiesMP/Eruptor.h>
|
||
|
#include <EntitiesMP/Eruptor_tables.h>
|
||
|
void CEruptor::SetDefaultProperties(void) {
|
||
|
m_fStretchAll = 1.0f;
|
||
|
m_fStretchX = 1.0f;
|
||
|
m_fStretchY = 1.0f;
|
||
|
m_fStretchZ = 1.0f;
|
||
|
m_bRandomStretch = FALSE ;
|
||
|
m_fStretchHeight = 0.2f;
|
||
|
m_fStretchWidth = 0.2f;
|
||
|
m_fStretchDepth = 0.2f;
|
||
|
m_fAngle = 45.0f;
|
||
|
m_fMaxSpeed = 20.0f;
|
||
|
m_fMinSpeed = 10.0f;
|
||
|
m_fTime = 1.0f;
|
||
|
m_fRandomWait = 0.0f;
|
||
|
m_ptType = PRT_LAVA_COMET ;
|
||
|
m_bShootInArc = TRUE ;
|
||
|
m_fProjectileStretch = 1.0f;
|
||
|
CModelHolder2::SetDefaultProperties();
|
||
|
}
|
||
|
|
||
|
#line 44 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
void CEruptor::Precache(void) {
|
||
|
#line 45 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
PrecacheClass (CLASS_PROJECTILE , m_ptType );
|
||
|
#line 46 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
|
||
|
#line 49 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
void CEruptor::CalculateAngularLaunchParams(
|
||
|
#line 50 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
CMovableEntity * penTarget,
|
||
|
#line 51 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D vShooting,
|
||
|
#line 52 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D vTarget,FLOAT3D vSpeedDest,
|
||
|
#line 53 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
ANGLE aPitch,
|
||
|
#line 54 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
ANGLE & aHeading,
|
||
|
#line 55 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT & fLaunchSpeed)
|
||
|
#line 56 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
{
|
||
|
#line 57 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D vNewTarget = vTarget ;
|
||
|
#line 58 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D & vGravity = penTarget -> en_vGravityDir ;
|
||
|
#line 59 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT fa = TanFast (AngleDeg (aPitch ));
|
||
|
#line 60 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D vd , vyd0 ;
|
||
|
#line 61 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT fd , fyd0 ;
|
||
|
#line 62 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT fTime = 0.0f;
|
||
|
#line 63 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT fLastTime = 0.0f;
|
||
|
#line 65 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
INDEX iIterations = 0;
|
||
|
#line 67 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
do
|
||
|
#line 68 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
{
|
||
|
#line 69 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
iIterations ++;
|
||
|
#line 70 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D vDistance = vNewTarget - vShooting ;
|
||
|
#line 71 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
GetParallelAndNormalComponents (vDistance , vGravity , vyd0 , vd );
|
||
|
#line 72 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
fd = vd . Length ();
|
||
|
#line 73 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
fyd0 = vyd0 . Length ();
|
||
|
#line 74 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
fLastTime = fTime ;
|
||
|
#line 75 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
fTime = Sqrt (2.0f) * Sqrt ((fa * fd - fyd0 ) / penTarget -> en_fGravityA );
|
||
|
#line 76 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
vNewTarget = vTarget + vSpeedDest * fTime ;
|
||
|
#line 77 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
#line 78 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
while(Abs (fTime - fLastTime ) > _pTimer -> TickQuantum && iIterations < 10);
|
||
|
#line 81 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
fLaunchSpeed = 0.707108f * fd /
|
||
|
#line 82 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
(Cos (AngleDeg (aPitch )) * Sqrt ((fa * fd - fyd0 ) / penTarget -> en_fGravityA ));
|
||
|
#line 84 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D vDir = (vNewTarget - vShooting ) . Normalize ();
|
||
|
#line 85 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
ANGLE3D aAngles ;
|
||
|
#line 86 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
DirectionVectorToAngles (vDir , aAngles );
|
||
|
#line 87 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
aHeading = aAngles (1);
|
||
|
#line 88 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
|
||
|
#line 91 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
void CEruptor::SpawnShoot(CEntity * penTarget)
|
||
|
#line 92 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
{
|
||
|
#line 94 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(penTarget == NULL || ! (penTarget -> GetPhysicsFlags () & EPF_MOVABLE )){
|
||
|
#line 96 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
return ;
|
||
|
#line 97 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
#line 99 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
CPlacement3D plLava = GetPlacement ();
|
||
|
#line 101 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT fSpeed = (m_fMaxSpeed - m_fMinSpeed ) * FRnd () + m_fMinSpeed ;
|
||
|
#line 104 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_bShootInArc ){
|
||
|
#line 106 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT fPitch = GetPlacement () . pl_OrientationAngle (2);
|
||
|
#line 107 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT fHeading ;
|
||
|
#line 108 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
CalculateAngularLaunchParams ((CMovableEntity *) penTarget ,
|
||
|
#line 109 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
GetPlacement () . pl_PositionVector ,
|
||
|
#line 110 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
penTarget -> GetPlacement () . pl_PositionVector ,
|
||
|
#line 111 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
((CMovableEntity *) penTarget ) -> en_vCurrentTranslationAbsolute ,
|
||
|
#line 112 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
fPitch , fHeading , fSpeed );
|
||
|
#line 115 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(Abs (NormalizeAngle (GetPlacement () . pl_OrientationAngle (1) - fHeading )) > m_fAngle ){
|
||
|
#line 117 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
return ;
|
||
|
#line 118 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
#line 119 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
plLava . pl_OrientationAngle (1) = fHeading ;
|
||
|
#line 121 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}else {
|
||
|
#line 123 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D vTargetDir = (penTarget -> GetPlacement () . pl_PositionVector -
|
||
|
#line 124 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
GetPlacement () . pl_PositionVector ) . Normalize ();
|
||
|
#line 125 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D vShootDir ;
|
||
|
#line 126 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
AnglesToDirectionVector (GetPlacement () . pl_OrientationAngle , vShootDir );
|
||
|
#line 129 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(Abs (vTargetDir % vShootDir ) < Cos (m_fAngle )){
|
||
|
#line 131 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
return ;
|
||
|
#line 132 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
#line 134 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
DirectionVectorToAngles (vTargetDir , plLava . pl_OrientationAngle );
|
||
|
#line 135 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
#line 138 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
SpawnProjectile (plLava , fSpeed );
|
||
|
#line 139 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
|
||
|
#line 142 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
void CEruptor::SpawnRandom(void)
|
||
|
#line 143 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
{
|
||
|
#line 145 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT fSpeed = (m_fMaxSpeed - m_fMinSpeed ) * FRnd () + m_fMinSpeed ;
|
||
|
#line 146 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
ANGLE3D aAngle ((FRnd () * 2 - 1) * m_fAngle , (FRnd () * 2 - 1) * m_fAngle , 0);
|
||
|
#line 148 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
CPlacement3D plLava (FLOAT3D (0 , 0 , 0) , aAngle );
|
||
|
#line 149 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
plLava . RelativeToAbsolute (GetPlacement ());
|
||
|
#line 151 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
SpawnProjectile (plLava , fSpeed );
|
||
|
#line 152 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
|
||
|
#line 155 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
void CEruptor::SpawnProjectile(const CPlacement3D & pl,FLOAT fSpeed)
|
||
|
#line 156 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
{
|
||
|
#line 157 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
CEntityPointer penLava = CreateEntity (pl , CLASS_PROJECTILE );
|
||
|
#line 160 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
ELaunchProjectile eLaunch ;
|
||
|
#line 161 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
eLaunch . penLauncher = this ;
|
||
|
#line 162 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
eLaunch . prtType = m_ptType ;
|
||
|
#line 163 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
eLaunch . fSpeed = fSpeed ;
|
||
|
#line 164 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
eLaunch . fStretch = m_fProjectileStretch ;
|
||
|
#line 165 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
penLava -> Initialize (eLaunch );
|
||
|
#line 168 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(! (penLava -> GetFlags () & ENF_DELETED )){
|
||
|
#line 169 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D fStretchRandom (1 , 1 , 1);
|
||
|
#line 170 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_bRandomStretch ){
|
||
|
#line 171 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
fStretchRandom (1) = (FRnd () * m_fStretchWidth * 2 - m_fStretchWidth ) + 1;
|
||
|
#line 172 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
fStretchRandom (2) = (FRnd () * m_fStretchHeight * 2 - m_fStretchHeight ) + 1;
|
||
|
#line 173 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
fStretchRandom (3) = (FRnd () * m_fStretchDepth * 2 - m_fStretchDepth ) + 1;
|
||
|
#line 174 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
#line 175 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
FLOAT3D vOldStretch = penLava -> GetModelObject () -> mo_Stretch ;
|
||
|
#line 176 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
penLava -> GetModelObject () -> mo_Stretch = FLOAT3D (
|
||
|
#line 177 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
m_fStretchAll * m_fStretchX * fStretchRandom (1) * vOldStretch (1) ,
|
||
|
#line 178 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
m_fStretchAll * m_fStretchY * fStretchRandom (2) * vOldStretch (2) ,
|
||
|
#line 179 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
m_fStretchAll * m_fStretchZ * fStretchRandom (3) * vOldStretch (3));
|
||
|
#line 180 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
penLava -> ModelChangeNotify ();
|
||
|
#line 181 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
#line 182 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}
|
||
|
BOOL CEruptor::
|
||
|
#line 188 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
Active(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CEruptor_Active
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEruptor::Active expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 190 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
SetTimerAt(THINKTIME_NEVER);
|
||
|
Jump(STATE_CURRENT, 0x00d50001, FALSE, EBegin());return TRUE;}BOOL CEruptor::H0x00d50001_Active_01(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d50001
|
||
|
switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput;
|
||
|
Call(STATE_CURRENT, STATE_CEruptor_AutoSpawns, TRUE, EVoid());return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EEnvironmentStop):{const EEnvironmentStop&e= (EEnvironmentStop&)__eeInput;
|
||
|
Jump(STATE_CURRENT, STATE_CEruptor_Inactive, TRUE, EVoid());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break;
|
||
|
#line 193 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}return TRUE;}BOOL CEruptor::H0x00d50002_Active_02(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d50002
|
||
|
ASSERT(FALSE); return TRUE;};BOOL CEruptor::
|
||
|
#line 197 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
Inactive(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CEruptor_Inactive
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEruptor::Inactive expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 199 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
SetTimerAt(THINKTIME_NEVER);
|
||
|
Jump(STATE_CURRENT, 0x00d50004, FALSE, EBegin());return TRUE;}BOOL CEruptor::H0x00d50004_Inactive_01(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d50004
|
||
|
switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput;
|
||
|
return TRUE;}ASSERT(FALSE);break;case(EVENTCODE_EEnvironmentStart):{const EEnvironmentStart&e= (EEnvironmentStart&)__eeInput;
|
||
|
Jump(STATE_CURRENT, STATE_CEruptor_Active, TRUE, EVoid());return TRUE;}ASSERT(FALSE);break;default: return FALSE; break;
|
||
|
#line 202 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}return TRUE;}BOOL CEruptor::H0x00d50005_Inactive_02(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d50005
|
||
|
ASSERT(FALSE); return TRUE;};BOOL CEruptor::
|
||
|
#line 206 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
AutoSpawns(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CEruptor_AutoSpawns
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEruptor::AutoSpawns expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 208 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
Jump(STATE_CURRENT,0x00d5000c, FALSE, EInternal());return TRUE;}BOOL CEruptor::H0x00d5000c_AutoSpawns_06(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d5000c
|
||
|
if(!(TRUE )){ Jump(STATE_CURRENT,0x00d5000d, FALSE, EInternal());return TRUE;}
|
||
|
#line 210 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
SetTimerAfter(m_fTime );
|
||
|
Jump(STATE_CURRENT, 0x00d50007, FALSE, EBegin());return TRUE;}BOOL CEruptor::H0x00d50007_AutoSpawns_01(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d50007
|
||
|
switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x00d50008, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEruptor::H0x00d50008_AutoSpawns_02(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d50008
|
||
|
;
|
||
|
#line 213 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
SpawnRandom ();
|
||
|
#line 216 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(!(m_fRandomWait > 0.0f)){ Jump(STATE_CURRENT,0x00d5000b, FALSE, EInternal());return TRUE;}SetTimerAfter(m_fRandomWait );
|
||
|
Jump(STATE_CURRENT, 0x00d50009, FALSE, EBegin());return TRUE;}BOOL CEruptor::H0x00d50009_AutoSpawns_03(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d50009
|
||
|
switch(__eeInput.ee_slEvent) {case EVENTCODE_EBegin: return TRUE;case EVENTCODE_ETimer: Jump(STATE_CURRENT,0x00d5000a, FALSE, EInternal()); return TRUE;default: return FALSE; }}BOOL CEruptor::H0x00d5000a_AutoSpawns_04(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d5000a
|
||
|
;Jump(STATE_CURRENT,0x00d5000b, FALSE, EInternal());return TRUE;}BOOL CEruptor::H0x00d5000b_AutoSpawns_05(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d5000b
|
||
|
Jump(STATE_CURRENT,0x00d5000c, FALSE, EInternal());return TRUE;
|
||
|
#line 217 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}BOOL CEruptor::H0x00d5000d_AutoSpawns_07(const CEntityEvent &__eeInput) {
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d5000d
|
||
|
ASSERT(FALSE); return TRUE;};BOOL CEruptor::
|
||
|
#line 226 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
MainLoop(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CEruptor_MainLoop
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEruptor::MainLoop expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 227 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
SetTimerAt(THINKTIME_NEVER);
|
||
|
Jump(STATE_CURRENT, 0x00d5000f, FALSE, EBegin());return TRUE;}BOOL CEruptor::H0x00d5000f_MainLoop_01(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d5000f
|
||
|
switch(__eeInput.ee_slEvent){case(EVENTCODE_EBegin):{const EBegin&e= (EBegin&)__eeInput;
|
||
|
|
||
|
#line 229 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
Call(STATE_CURRENT, STATE_CEruptor_Inactive, TRUE, EVoid());return TRUE;
|
||
|
#line 230 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}ASSERT(FALSE);break;case(EVENTCODE_ETrigger):{const ETrigger&eTrigger= (ETrigger&)__eeInput;
|
||
|
|
||
|
#line 232 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
SpawnShoot (eTrigger . penCaused );
|
||
|
#line 233 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
return TRUE;
|
||
|
#line 234 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}ASSERT(FALSE);break;default:{return TRUE;}ASSERT(FALSE);break;
|
||
|
#line 236 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
}return TRUE;}BOOL CEruptor::H0x00d50010_MainLoop_02(const CEntityEvent &__eeInput){
|
||
|
ASSERT(__eeInput.ee_slEvent==EVENTCODE_EInternal);
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT 0x00d50010
|
||
|
|
||
|
#line 239 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
Destroy ();
|
||
|
#line 241 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
Return(STATE_CURRENT,EVoid());
|
||
|
#line 241 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
return TRUE; ASSERT(FALSE); return TRUE;};BOOL CEruptor::
|
||
|
#line 244 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
Main(const CEntityEvent &__eeInput) {
|
||
|
#undef STATE_CURRENT
|
||
|
#define STATE_CURRENT STATE_CEruptor_Main
|
||
|
ASSERTMSG(__eeInput.ee_slEvent==EVENTCODE_EVoid, "CEruptor::Main expects 'EVoid' as input!"); const EVoid &e = (const EVoid &)__eeInput;
|
||
|
#line 246 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
CModelHolder2 :: InitModelHolder ();
|
||
|
#line 249 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fTime <= 0.0f){m_fTime = 0.05f;}
|
||
|
#line 250 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fMaxSpeed < m_fMinSpeed ){m_fMaxSpeed = m_fMinSpeed ;}
|
||
|
#line 251 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fAngle < 0.0f){m_fAngle = 0.0f;}
|
||
|
#line 254 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(Abs (m_fStretchX ) < 0.01f){m_fStretchX = 0.01f;}
|
||
|
#line 255 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(Abs (m_fStretchY ) < 0.01f){m_fStretchY = 0.01f;}
|
||
|
#line 256 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(Abs (m_fStretchZ ) < 0.01f){m_fStretchZ = 0.01f;}
|
||
|
#line 257 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fStretchAll < 0.01f){m_fStretchAll = 0.01f;}
|
||
|
#line 259 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(Abs (m_fStretchX ) > 100.0f){m_fStretchX = 100.0f * Sgn (m_fStretchX );}
|
||
|
#line 260 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(Abs (m_fStretchY ) > 100.0f){m_fStretchY = 100.0f * Sgn (m_fStretchY );}
|
||
|
#line 261 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(Abs (m_fStretchZ ) > 100.0f){m_fStretchZ = 100.0f * Sgn (m_fStretchZ );}
|
||
|
#line 262 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fStretchAll > 100.0f){m_fStretchAll = 100.0f;}
|
||
|
#line 264 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fStretchWidth < 0.0f){m_fStretchWidth = 0.0f;};
|
||
|
#line 265 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fStretchHeight < 0.0f){m_fStretchHeight = 0.0f;};
|
||
|
#line 266 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fStretchDepth < 0.0f){m_fStretchDepth = 0.0f;};
|
||
|
#line 267 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fStretchWidth > 1.0f){m_fStretchWidth = 1.0f;};
|
||
|
#line 268 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fStretchHeight > 1.0f){m_fStretchHeight = 1.0f;};
|
||
|
#line 269 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
if(m_fStretchDepth > 1.0f){m_fStretchDepth = 1.0f;};
|
||
|
#line 271 "D:/SE1_GPL/Sources/EntitiesMP/Eruptor.es"
|
||
|
Jump(STATE_CURRENT, STATE_CEruptor_MainLoop, TRUE, EVoid());return TRUE; ASSERT(FALSE); return TRUE;};
|