/* * This file is generated by Entity Class Compiler, (c) CroTeam 1997-98 */ #ifndef _EntitiesMP_Projectile_INCLUDED #define _EntitiesMP_Projectile_INCLUDED 1 #include #include #include extern DECL_DLL CEntityPropertyEnumType ProjectileType_enum; enum ProjectileType { PRT_ROCKET = 0, PRT_GRENADE = 1, PRT_FLAME = 2, PRT_LASER_RAY = 3, PRT_WALKER_ROCKET = 4, PRT_CATMAN_FIRE = 10, PRT_HEADMAN_FIRECRACKER = 11, PRT_HEADMAN_ROCKETMAN = 12, PRT_HEADMAN_BOMBERMAN = 13, PRT_BONEMAN_FIRE = 14, PRT_WOMAN_FIRE = 15, PRT_DRAGONMAN_FIRE = 16, PRT_DRAGONMAN_STRONG_FIRE = 17, PRT_STONEMAN_FIRE = 18, PRT_STONEMAN_BIG_FIRE = 19, PRT_STONEMAN_LARGE_FIRE = 20, PRT_LAVAMAN_BIG_BOMB = 21, PRT_LAVAMAN_BOMB = 22, PRT_LAVAMAN_STONE = 23, PRT_ICEMAN_FIRE = 27, PRT_ICEMAN_BIG_FIRE = 28, PRT_ICEMAN_LARGE_FIRE = 29, PRT_HUANMAN_FIRE = 41, PRT_FISHMAN_FIRE = 42, PRT_MANTAMAN_FIRE = 43, PRT_CYBORG_LASER = 44, PRT_CYBORG_BOMB = 45, PRT_LAVA_COMET = 50, PRT_BEAST_PROJECTILE = 51, PRT_BEAST_BIG_PROJECTILE = 52, PRT_BEAST_DEBRIS = 53, PRT_BEAST_BIG_DEBRIS = 54, PRT_DEVIL_LASER = 55, PRT_DEVIL_ROCKET = 56, PRT_DEVIL_GUIDED_PROJECTILE = 57, PRT_GRUNT_PROJECTILE_SOL = 60, PRT_GRUNT_PROJECTILE_COM = 64, PRT_GUFFY_PROJECTILE = 61, PRT_DEMON_FIREBALL = 62, PRT_DEMON_FIREBALL_DEBRIS = 63, PRT_SHOOTER_WOODEN_DART = 70, PRT_SHOOTER_FIREBALL = 71, PRT_SHOOTER_FLAME = 72, PRT_LARVA_PLASMA = 73, PRT_LARVA_TAIL_PROJECTILE = 74, PRT_AIRELEMENTAL_WIND = 75, PRT_AFTERBURNER_DEBRIS = 76, PRT_METEOR = 77, }; DECL_DLL inline void ClearToDefault(ProjectileType &e) { e = (ProjectileType)0; } ; extern DECL_DLL CEntityPropertyEnumType ProjectileMovingType_enum; enum ProjectileMovingType { PMT_FLYING = 0, PMT_SLIDING = 1, PMT_GUIDED = 2, PMT_GUIDED_FAST = 3, PMT_FLYING_REBOUNDING = 4, PMT_GUIDED_SLIDING = 5, }; DECL_DLL inline void ClearToDefault(ProjectileMovingType &e) { e = (ProjectileMovingType)0; } ; #define EVENTCODE_ELaunchProjectile 0x01f50000 class DECL_DLL ELaunchProjectile : public CEntityEvent { public: ELaunchProjectile(); CEntityEvent *MakeCopy(void); CEntityPointer penLauncher; enum ProjectileType prtType; FLOAT fSpeed; FLOAT fStretch; }; DECL_DLL inline void ClearToDefault(ELaunchProjectile &e) { e = ELaunchProjectile(); } ; extern "C" DECL_DLL CDLLEntityClass CProjectile_DLLClass; class DECL_DLL CProjectile : public CMovableModelEntity { public: virtual CEntity *GetPredictionPair(void) { return m_penPrediction; }; virtual void SetPredictionPair(CEntity *penPair) { m_penPrediction = penPair; }; virtual void SetDefaultProperties(void); CEntityPointer m_penLauncher; enum ProjectileType m_prtType; enum ProjectileMovingType m_pmtMove; CEntityPointer m_penParticles; CEntityPointer m_penTarget; CEntityPointer m_penLastDamaged; FLOAT m_fSpeed; FLOAT m_fIgnoreTime; FLOAT m_fFlyTime; FLOAT m_fStartTime; FLOAT m_fDamageAmount; FLOAT m_fRangeDamageAmount; FLOAT m_fDamageHotSpotRange; FLOAT m_fDamageFallOffRange; FLOAT m_fSoundRange; BOOL m_bExplode; BOOL m_bLightSource; BOOL m_bCanHitHimself; BOOL m_bCanBeDestroyed; FLOAT m_fWaitAfterDeath; FLOAT m_aRotateSpeed; FLOAT m_tmExpandBox; FLOAT m_tmInvisibility; INDEX m_iRebounds; FLOAT m_fStretch; CSoundObject m_soEffect; CSoundObject m_soExplosion; FLOAT m_fGuidedMaxSpeedFactor; BOOL bLockedOn; BOOL m_bLeftFlame; CEntityPointer m_penPrediction; CLightSource m_lsLightSource; #line 587 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void PreMoving(void); #line 598 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void PostMoving(void); #line 613 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void Read_t(CTStream * istr); void DumpSync_t(CTStream & strm,INDEX iExtensiveSyncCheck); #line 641 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" CLightSource * GetLightSource(void); void Copy(CEntity & enOther,ULONG ulFlags); #line 661 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" BOOL AdjustShadingParameters(FLOAT3D & vLightDirection,COLOR & colLight,COLOR & colAmbient); #line 679 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void SetupLightSource(BOOL bLive); #line 811 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void RenderParticles(void); #line 951 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void PlayerRocket(void); #line 989 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void WalkerRocket(void); #line 1024 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void WalkerRocketExplosion(void); #line 1028 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void PlayerRocketExplosion(void); #line 1072 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void PlayerGrenade(void); #line 1105 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void PlayerGrenadeExplosion(void); #line 1145 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void PlayerFlame(void); #line 1181 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void PlayerLaserRay(void); #line 1211 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void PlayerLaserWave(void); #line 1234 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void CatmanProjectile(void); #line 1261 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void HeadmanFirecracker(void); #line 1285 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void HeadmanRocketman(void); #line 1315 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void HeadmanBomberman(void); #line 1341 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void HeadmanBombermanExplosion(void); #line 1366 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void CyborgBombExplosion(void); #line 1395 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void BonemanProjectile(void); #line 1422 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void WomanProjectile(void); #line 1449 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void DragonmanProjectile(INDEX iType); #line 1485 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void ElementalRock(INDEX iSize,INDEX iType); #line 1543 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void LavaManBomb(void); #line 1605 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void LavamanBombExplosion(void); #line 1679 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void LavamanBombDebrisExplosion(void); #line 1721 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void HuanmanProjectile(void); #line 1750 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void BeastProjectile(void); #line 1785 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void BeastBigProjectile(void); #line 1820 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void BeastDebris(void); #line 1849 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void BeastBigDebris(void); #line 1878 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void BeastDebrisExplosion(void); #line 1901 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void BeastBigDebrisExplosion(void); #line 1924 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void BeastProjectileExplosion(void); #line 1982 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void BeastBigProjectileExplosion(void); #line 2041 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void FishmanProjectile(void); #line 2068 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void MantamanProjectile(void); #line 2094 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void DevilLaser(void); #line 2117 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void DevilRocket(void); #line 2149 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void DevilRocketExplosion(void); #line 2187 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void DevilGuidedProjectile(void); #line 2221 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void DevilGuidedProjectileExplosion(void); #line 2280 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void CyborgLaser(void); #line 2302 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void CyborgBomb(void); #line 2334 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void LavaBall(void); #line 2360 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void LavaBallExplosion(void); #line 2380 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void GruntSoldierLaser(void); #line 2410 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void GruntCommanderLaser(void); #line 2445 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void GuffyProjectile(void); #line 2483 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void GuffyProjectileExplosion(void); #line 2492 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void DemonFireball(void); #line 2527 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void DemonFireballExplosion(void); #line 2554 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void LarvaPlasma(void); #line 2599 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void LarvaPlasmaExplosion(void); #line 2621 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void LarvaTail(void); #line 2656 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void LarvaTailExplosion(void); #line 2665 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void WindBlast(void); #line 2693 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void Meteor(); #line 2732 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void MeteorExplosion(); #line 2797 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void ShooterWoodenDart(void); #line 2828 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void ShooterWoodenDartExplosion(); #line 2843 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void ShooterFireball(void); #line 2876 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void ShooterFireballExplosion(); #line 2891 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void ShooterFlame(void); #line 2912 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void AfterburnerDebris(void); #line 2944 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void ProjectileTouch(CEntityPointer penHit); #line 3015 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void ProjectileHit(void); #line 3035 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void SpawnEffect(const CPlacement3D & plEffect,const ESpawnEffect & eSpawnEffect); #line 3045 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void BounceSound(void); #line 3059 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" ANGLE GetRotationSpeed(ANGLE aWantedAngle,ANGLE aRotateSpeed,FLOAT fWaitFrequency); #line 3084 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" void ReceiveDamage(CEntity * penInflictor,enum DamageType dmtType, #line 3085 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" FLOAT fDamageAmmount,const FLOAT3D & vHitPoint,const FLOAT3D & vDirection); #define STATE_CProjectile_ProjectileFly 0x01f50001 BOOL #line 3107 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" ProjectileFly(const CEntityEvent &__eeInput); BOOL H0x01f50002_ProjectileFly_01(const CEntityEvent &__eeInput); BOOL H0x01f50003_ProjectileFly_02(const CEntityEvent &__eeInput); #define STATE_CProjectile_ProjectileGuidedFly 0x01f50004 BOOL #line 3169 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" ProjectileGuidedFly(const CEntityEvent &__eeInput); BOOL H0x01f50005_ProjectileGuidedFly_01(const CEntityEvent &__eeInput); BOOL H0x01f50006_ProjectileGuidedFly_02(const CEntityEvent &__eeInput); BOOL H0x01f50007_ProjectileGuidedFly_03(const CEntityEvent &__eeInput); BOOL H0x01f50008_ProjectileGuidedFly_04(const CEntityEvent &__eeInput); #define STATE_CProjectile_ProjectileGuidedFastFly 0x01f50009 BOOL #line 3275 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" ProjectileGuidedFastFly(const CEntityEvent &__eeInput); BOOL H0x01f5000a_ProjectileGuidedFastFly_01(const CEntityEvent &__eeInput); BOOL H0x01f5000b_ProjectileGuidedFastFly_02(const CEntityEvent &__eeInput); BOOL H0x01f5000c_ProjectileGuidedFastFly_03(const CEntityEvent &__eeInput); BOOL H0x01f5000d_ProjectileGuidedFastFly_04(const CEntityEvent &__eeInput); #define STATE_CProjectile_ProjectileGuidedSlide 0x01f5000e BOOL #line 3408 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" ProjectileGuidedSlide(const CEntityEvent &__eeInput); BOOL H0x01f5000f_ProjectileGuidedSlide_01(const CEntityEvent &__eeInput); BOOL H0x01f50010_ProjectileGuidedSlide_02(const CEntityEvent &__eeInput); BOOL H0x01f50011_ProjectileGuidedSlide_03(const CEntityEvent &__eeInput); BOOL H0x01f50012_ProjectileGuidedSlide_04(const CEntityEvent &__eeInput); #define STATE_CProjectile_ProjectileSlide 0x01f50013 BOOL #line 3500 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" ProjectileSlide(const CEntityEvent &__eeInput); BOOL H0x01f50014_ProjectileSlide_01(const CEntityEvent &__eeInput); BOOL H0x01f50015_ProjectileSlide_02(const CEntityEvent &__eeInput); #define STATE_CProjectile_ProjectileFlyRebounding 0x01f50016 BOOL #line 3580 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" ProjectileFlyRebounding(const CEntityEvent &__eeInput); BOOL H0x01f50017_ProjectileFlyRebounding_01(const CEntityEvent &__eeInput); BOOL H0x01f50018_ProjectileFlyRebounding_02(const CEntityEvent &__eeInput); #define STATE_CProjectile_Main 1 BOOL #line 3648 "D:/SE1_GPL/Sources/EntitiesMP/Projectile.es" Main(const CEntityEvent &__eeInput); BOOL H0x01f50019_Main_01(const CEntityEvent &__eeInput); BOOL H0x01f5001a_Main_02(const CEntityEvent &__eeInput); BOOL H0x01f5001b_Main_03(const CEntityEvent &__eeInput); BOOL H0x01f5001c_Main_04(const CEntityEvent &__eeInput); BOOL H0x01f5001d_Main_05(const CEntityEvent &__eeInput); BOOL H0x01f5001e_Main_06(const CEntityEvent &__eeInput); BOOL H0x01f5001f_Main_07(const CEntityEvent &__eeInput); BOOL H0x01f50020_Main_08(const CEntityEvent &__eeInput); BOOL H0x01f50021_Main_09(const CEntityEvent &__eeInput); BOOL H0x01f50022_Main_10(const CEntityEvent &__eeInput); BOOL H0x01f50023_Main_11(const CEntityEvent &__eeInput); BOOL H0x01f50024_Main_12(const CEntityEvent &__eeInput); BOOL H0x01f50025_Main_13(const CEntityEvent &__eeInput); BOOL H0x01f50026_Main_14(const CEntityEvent &__eeInput); BOOL H0x01f50027_Main_15(const CEntityEvent &__eeInput); BOOL H0x01f50028_Main_16(const CEntityEvent &__eeInput); BOOL H0x01f50029_Main_17(const CEntityEvent &__eeInput); BOOL H0x01f5002a_Main_18(const CEntityEvent &__eeInput); BOOL H0x01f5002b_Main_19(const CEntityEvent &__eeInput); BOOL H0x01f5002c_Main_20(const CEntityEvent &__eeInput); BOOL H0x01f5002d_Main_21(const CEntityEvent &__eeInput); BOOL H0x01f5002e_Main_22(const CEntityEvent &__eeInput); BOOL H0x01f5002f_Main_23(const CEntityEvent &__eeInput); BOOL H0x01f50030_Main_24(const CEntityEvent &__eeInput); BOOL H0x01f50031_Main_25(const CEntityEvent &__eeInput); BOOL H0x01f50032_Main_26(const CEntityEvent &__eeInput); }; #endif // _EntitiesMP_Projectile_INCLUDED