mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-20 20:50:58 +02:00
Initial Prey Game integration support.
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
#ifndef __PREY_AI_GASBAG_SIMPLE_H__
|
||||
#define __PREY_AI_GASBAG_SIMPLE_H__
|
||||
|
||||
extern const idEventDef EV_NewPod;
|
||||
|
||||
class hhPod;
|
||||
|
||||
class hhGasbagSimple : public hhMonsterAI {
|
||||
public:
|
||||
CLASS_PROTOTYPE(hhGasbagSimple);
|
||||
|
||||
#ifdef ID_DEMO_BUILD //HUMANHEAD jsh PCF 5/26/06: code removed for demo build
|
||||
void Event_AcidBlast(void) {};
|
||||
void Event_AcidDrip(void) {};
|
||||
void Event_DeathCloud(void) {};
|
||||
void Event_NewPod(hhPod *pod) {};
|
||||
void Event_LaunchPod(void) {};
|
||||
void Event_SpawnBlastDebris(void) {};
|
||||
void Event_ChargeEnemy(void) {};
|
||||
void Event_GrabEnemy(void) {};
|
||||
void Event_BiteEnemy(void) {};
|
||||
void Event_DirectMoveToPosition(const idVec3 &pos) {};
|
||||
void Event_BindUnfroze(idEntity *unfrozenBind) {};
|
||||
virtual void Event_EnemyIsSpirit( hhPlayer *player, hhSpiritProxy *proxy ) {};
|
||||
virtual void Event_EnemyIsPhysical( hhPlayer *player, hhSpiritProxy *proxy ) {};
|
||||
void Event_GrabCheck(void) {};
|
||||
void Event_MoveToGrabPosition(void) {};
|
||||
void Event_CheckRange(void) {};
|
||||
void Event_EnemyRangeZ(void) {};
|
||||
#else
|
||||
virtual ~hhGasbagSimple(void);
|
||||
|
||||
void Spawn(void);
|
||||
void Save(idSaveGame *savefile) const;
|
||||
void Restore(idRestoreGame *savefile);
|
||||
|
||||
virtual void FlyTurn(void);
|
||||
|
||||
virtual void Gib(const idVec3 &dir, const char *damageDefName);
|
||||
int ReactionTo( const idEntity *ent );
|
||||
|
||||
protected:
|
||||
void Event_AcidBlast(void);
|
||||
void Event_AcidDrip(void);
|
||||
void Event_DeathCloud(void);
|
||||
void Event_NewPod(hhPod *pod);
|
||||
void Event_LaunchPod(void);
|
||||
void Event_SpawnBlastDebris(void);
|
||||
void Event_ChargeEnemy(void);
|
||||
void Event_GrabEnemy(void);
|
||||
void Event_BiteEnemy(void);
|
||||
void Event_DirectMoveToPosition(const idVec3 &pos);
|
||||
void Event_BindUnfroze(idEntity *unfrozenBind);
|
||||
virtual void Event_EnemyIsSpirit( hhPlayer *player, hhSpiritProxy *proxy );
|
||||
virtual void Event_EnemyIsPhysical( hhPlayer *player, hhSpiritProxy *proxy );
|
||||
void Event_GrabCheck(void);
|
||||
void Event_MoveToGrabPosition(void);
|
||||
void Event_CheckRange(void);
|
||||
void Event_EnemyRangeZ(void);
|
||||
|
||||
bool GrabEnemy(void);
|
||||
|
||||
virtual void LinkScriptVariables(void);
|
||||
|
||||
virtual void Ticker(void);
|
||||
virtual idProjectile *LaunchProjectileAtVec(const char *jointname, const idVec3 &target, bool clampToAttackCone, const idDict* desiredProjectileDef);
|
||||
virtual idProjectile *LaunchProjectileAtVec(const idVec3 &startOrigin, const idMat3 &startAxis, const idVec3 &target, bool clampToAttackCone, const idDict* desiredProjectileDef);
|
||||
virtual void Killed(idEntity *inflictor, idEntity *attacker, int damage, const idVec3 &dir, int location);
|
||||
virtual void Damage(idEntity *inflictor, idEntity *attacker, const idVec3 &dir, const char *damageDefName, const float damageScale, const int location);
|
||||
virtual void SetEnemy(idActor *newEnemy);
|
||||
|
||||
idVec3 podOffset;
|
||||
float podRange;
|
||||
int dripCount;
|
||||
|
||||
idList< idEntityPtr<hhPod> > podList;
|
||||
|
||||
idScriptInt AI_PODCOUNT;
|
||||
idScriptBool AI_CHARGEDONE;
|
||||
idScriptBool AI_SWOOP;
|
||||
idScriptInt AI_DODGEDAMAGE;
|
||||
|
||||
int nextWoundTime;
|
||||
|
||||
idEntityPtr<hhBindController> bindController; // Bind controller for tractor beam
|
||||
#endif //HUMANHEAD jsh PCF 5/26/06: code removed for demo build
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user