/* * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98 */ #ifndef _EntitiesMP_ExotechLarva_INCLUDED #define _EntitiesMP_ExotechLarva_INCLUDED 1 #include #include #include #include #include #include #include extern DECL_DLL CEntityPropertyEnumType LarvaTarget_enum; enum LarvaTarget { LT_NONE = 0, LT_ENEMY = 1, LT_RECHARGER = 2, }; DECL_DLL inline void ClearToDefault(LarvaTarget &e) { e = (LarvaTarget)0; } ; #define EVENTCODE_ELarvaArmDestroyed 0x015a0000 class DECL_DLL ELarvaArmDestroyed : public CEntityEvent { public: ELarvaArmDestroyed(); CEntityEvent *MakeCopy(void); INDEX iArm; }; DECL_DLL inline void ClearToDefault(ELarvaArmDestroyed &e) { e = ELarvaArmDestroyed(); } ; #define EVENTCODE_ELarvaRechargePose 0x015a0001 class DECL_DLL ELarvaRechargePose : public CEntityEvent { public: ELarvaRechargePose(); CEntityEvent *MakeCopy(void); BOOL bStart; }; DECL_DLL inline void ClearToDefault(ELarvaRechargePose &e) { e = ELarvaRechargePose(); } ; extern "C" DECL_DLL CDLLEntityClass CExotechLarva_DLLClass; class CExotechLarva : public CEnemyBase { public: DECL_DLL virtual void SetDefaultProperties(void); CEntityPointer m_penMarkerNew; CEntityPointer m_penMarkerOld; FLOAT m_fStopRadius; FLOAT m_fStretch; FLOAT m_fLarvaHealth; FLOAT m_fRechargePerSecond; enum LarvaTarget m_ltTarget; CEntityPointer m_penFirstRechargeTarget; BOOL m_bRechargedAtLeastOnce; FLOAT3D m_vFirePosLeftPlasmaRel; FLOAT3D m_vFirePosRightPlasmaRel; FLOAT3D m_vFirePosTailRel; FLOAT3D m_vFirePosLeftLaserAbs; FLOAT3D m_vFirePosRightLaserAbs; BOOL m_bLeftArmActive; BOOL m_bRightArmActive; INDEX m_iExplodingArm; FLOAT m_fMaxRechargedHealth; BOOL m_bExploding; BOOL m_bActive; BOOL m_bRechargePose; BOOL m_bLaserActive; BOOL m_bInitialMove; CEntityPointer m_penRecharger; FLOAT m_tmLastTargateChange; CPlacement3D m_plExpArmPos; FLOAT3D m_aExpArmRot; CPlacement3D m_plExpGunPos; FLOAT3D m_aExpGunRot; FLOAT3D m_vExpDamage; INDEX m_iExplosions; INDEX m_iRnd; BOOL m_bRecharging; CEntityPointer m_penDeathInflictor; FLOAT m_tmDontFireLaserBefore; FLOAT m_fMinimumLaserWait; BOOL m_bRenderLeftLaser; BOOL m_bRenderRightLaser; FLOAT3D m_vLeftLaserTarget; FLOAT3D m_vRightLaserTarget; BOOL m_bInvulnerable; CEntityPointer m_penLeftArmDestroyTarget; CEntityPointer m_penRightArmDestroyTarget; CEntityPointer m_penDeathTarget; CSoundObject m_soFire1; CSoundObject m_soFire2; CSoundObject m_soFire3; CSoundObject m_soVoice; CSoundObject m_soChirp; CSoundObject m_soLaser; #line 192 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" BOOL IsTargetValid(SLONG slPropertyOffset,CEntity * penTarget); #line 207 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" BOOL DoSafetyChecks(void); #line 219 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void FindNewTarget(); #line 244 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" BOOL AnyPlayerCloserThen(FLOAT fDistance); #line 266 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void PerhapsChangeTarget(); #line 276 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" class CWorldSettingsController * GetWSC(void); #line 289 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void ShakeItBaby(FLOAT tmShaketime,FLOAT fPower,BOOL bFadeIn); #line 309 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void ShootTailProjectile(void); #line 327 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" BOOL IsOnMarker(CEntity * penMarker); #line 335 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" FLOAT DistanceXZ(CEntity * E1,CEntity * E2); #line 344 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void SpawnWingDebris(); #line 357 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void ReceiveDamage(CEntity * penInflictor,enum DamageType dmtType, #line 358 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" FLOAT fDamageAmmount,const FLOAT3D & vHitPoint,const FLOAT3D & vDirection); #line 500 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" virtual CTString GetPlayerKillDescription(const CTString & strPlayerName,const EDeath & eDeath); #line 507 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void * GetEntityInfo(void); #line 511 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" virtual const CTFileName & GetComputerMessageName(void)const; #line 516 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void Precache(void); #line 563 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" CModelObject * PlasmaLeftModel(void); #line 568 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" CModelObject * PlasmaRightModel(void); #line 574 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" BOOL RechargerActive(); #line 641 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void RemoveWing(INDEX iArm); #line 652 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" ANGLE GetArmsPitch(void); #line 660 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" ULONG SetDesiredMovement(void); #line 696 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void MoveToMarker(CEntity * penMarker); #line 708 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void PreMoving(); #line 746 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void RenderParticles(void); #line 771 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void SizeModel(void); #line 776 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void UpdateFiringPos(); #line 781 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void BlowUp(void); #line 787 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void EnemyPostInit(void); #line 797 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void FireLaser(void); #line 867 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" void ExplodeLaser(void); #define STATE_CExotechLarva_BeWounded 0x015a0002 BOOL #line 928 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" BeWounded(const CEntityEvent &__eeInput); #define STATE_CExotechLarva_ArmExplosion 0x015a0003 BOOL #line 932 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" ArmExplosion(const CEntityEvent &__eeInput); BOOL H0x015a0004_ArmExplosion_01(const CEntityEvent &__eeInput); BOOL H0x015a0005_ArmExplosion_02(const CEntityEvent &__eeInput); BOOL H0x015a0006_ArmExplosion_03(const CEntityEvent &__eeInput); BOOL H0x015a0007_ArmExplosion_04(const CEntityEvent &__eeInput); BOOL H0x015a0008_ArmExplosion_05(const CEntityEvent &__eeInput); BOOL H0x015a0009_ArmExplosion_06(const CEntityEvent &__eeInput); #define STATE_CExotechLarva_Die 0x015a000a BOOL #line 1035 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" Die(const CEntityEvent &__eeInput); BOOL H0x015a000b_Die_01(const CEntityEvent &__eeInput); BOOL H0x015a000c_Die_02(const CEntityEvent &__eeInput); BOOL H0x015a000d_Die_03(const CEntityEvent &__eeInput); BOOL H0x015a000e_Die_04(const CEntityEvent &__eeInput); #define STATE_CExotechLarva_Fire 0x015a000f BOOL #line 1132 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" Fire(const CEntityEvent &__eeInput); BOOL H0x015a0010_Fire_01(const CEntityEvent &__eeInput); BOOL H0x015a0011_Fire_02(const CEntityEvent &__eeInput); BOOL H0x015a0012_Fire_03(const CEntityEvent &__eeInput); BOOL H0x015a0013_Fire_04(const CEntityEvent &__eeInput); BOOL H0x015a0014_Fire_05(const CEntityEvent &__eeInput); BOOL H0x015a0015_Fire_06(const CEntityEvent &__eeInput); BOOL H0x015a0016_Fire_07(const CEntityEvent &__eeInput); BOOL H0x015a0017_Fire_08(const CEntityEvent &__eeInput); BOOL H0x015a0018_Fire_09(const CEntityEvent &__eeInput); BOOL H0x015a0019_Fire_10(const CEntityEvent &__eeInput); BOOL H0x015a001a_Fire_11(const CEntityEvent &__eeInput); BOOL H0x015a001b_Fire_12(const CEntityEvent &__eeInput); BOOL H0x015a001c_Fire_13(const CEntityEvent &__eeInput); BOOL H0x015a001d_Fire_14(const CEntityEvent &__eeInput); #define STATE_CExotechLarva_Hit 0x015a001e BOOL #line 1194 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" Hit(const CEntityEvent &__eeInput); #define STATE_CExotechLarva_BeIdle 0x015a001f BOOL #line 1198 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" BeIdle(const CEntityEvent &__eeInput); BOOL H0x015a0020_BeIdle_01(const CEntityEvent &__eeInput); BOOL H0x015a0021_BeIdle_02(const CEntityEvent &__eeInput); BOOL H0x015a0022_BeIdle_03(const CEntityEvent &__eeInput); BOOL H0x015a0023_BeIdle_04(const CEntityEvent &__eeInput); BOOL H0x015a0024_BeIdle_05(const CEntityEvent &__eeInput); BOOL H0x015a0025_BeIdle_06(const CEntityEvent &__eeInput); #define STATE_CExotechLarva_LarvaLoop 0x015a0026 BOOL #line 1212 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" LarvaLoop(const CEntityEvent &__eeInput); BOOL H0x015a0027_LarvaLoop_01(const CEntityEvent &__eeInput); BOOL H0x015a0028_LarvaLoop_02(const CEntityEvent &__eeInput); #define STATE_CExotechLarva_Main 1 BOOL #line 1369 "D:/SE1_GPL/Sources/EntitiesMP/ExotechLarva.es" Main(const CEntityEvent &__eeInput); BOOL H0x015a0029_Main_01(const CEntityEvent &__eeInput); BOOL H0x015a002a_Main_02(const CEntityEvent &__eeInput); BOOL H0x015a002b_Main_03(const CEntityEvent &__eeInput); BOOL H0x015a002c_Main_04(const CEntityEvent &__eeInput); BOOL H0x015a002d_Main_05(const CEntityEvent &__eeInput); BOOL H0x015a002e_Main_06(const CEntityEvent &__eeInput); BOOL H0x015a002f_Main_07(const CEntityEvent &__eeInput); BOOL H0x015a0030_Main_08(const CEntityEvent &__eeInput); }; #endif // _EntitiesMP_ExotechLarva_INCLUDED