mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-20 12:40:25 +02:00
Missing file from previous checkin.
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
// AI_monster_demon_imp.h
|
||||
// Native state-machine replacement for ai_monster_demon_imp.script.
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#ifndef IMP_RUNDISTANCE
|
||||
#define IMP_RUNDISTANCE 192
|
||||
#endif
|
||||
#ifndef IMP_WALKTURN
|
||||
#define IMP_WALKTURN 65
|
||||
#endif
|
||||
#ifndef IMP_ATTACK_RATE
|
||||
#define IMP_ATTACK_RATE 1
|
||||
#endif
|
||||
#ifndef IMP_LEAP_RATE
|
||||
#define IMP_LEAP_RATE 7
|
||||
#endif
|
||||
#ifndef IMP_LEAP_SPEED
|
||||
#define IMP_LEAP_SPEED 650
|
||||
#endif
|
||||
#ifndef IMP_LEAP_MAXHEIGHT
|
||||
#define IMP_LEAP_MAXHEIGHT 48
|
||||
#endif
|
||||
#ifndef IMP_DODGE_RATE
|
||||
#define IMP_DODGE_RATE 8
|
||||
#endif
|
||||
#ifndef IMP_LEAP_RANGE_MIN
|
||||
#define IMP_LEAP_RANGE_MIN 200
|
||||
#endif
|
||||
#ifndef IMP_LEAP_RANGE_MAX
|
||||
#define IMP_LEAP_RANGE_MAX 480
|
||||
#endif
|
||||
#ifndef IMP_NOFOVTIME
|
||||
#define IMP_NOFOVTIME 4
|
||||
#endif
|
||||
|
||||
class rvmMonsterDemonImp : public rvmMonsterBase {
|
||||
public:
|
||||
CLASS_PROTOTYPE( rvmMonsterDemonImp );
|
||||
|
||||
rvmMonsterDemonImp();
|
||||
virtual void Init( idAI* aiOwner ) override;
|
||||
virtual stateResult_t RunStateByName( const char* stateName, stateParms_t* parms ) override;
|
||||
|
||||
protected:
|
||||
float nextDodge;
|
||||
float nextAttack;
|
||||
float nextNoFOVAttack;
|
||||
float nextLeap;
|
||||
float painNextTime;
|
||||
idVec3 jumpVelocity;
|
||||
idStr range_attack_anim;
|
||||
idEntityPtr<idEntity> combat_node;
|
||||
|
||||
virtual stateResult_t Torso_Idle( stateParms_t* parms );
|
||||
virtual stateResult_t Torso_Pain( stateParms_t* parms );
|
||||
virtual stateResult_t Torso_MeleeAttack( stateParms_t* parms );
|
||||
virtual stateResult_t Torso_RangeAttack( stateParms_t* parms );
|
||||
virtual stateResult_t Torso_TurretAttack( stateParms_t* parms );
|
||||
virtual stateResult_t Torso_TurretAttackIdle( stateParms_t* parms );
|
||||
virtual stateResult_t Torso_LeapAttack( stateParms_t* parms );
|
||||
virtual stateResult_t Legs_Idle( stateParms_t* parms );
|
||||
virtual stateResult_t Legs_Walk( stateParms_t* parms );
|
||||
virtual stateResult_t Legs_Run( stateParms_t* parms );
|
||||
virtual stateResult_t Legs_DodgeLeft( stateParms_t* parms );
|
||||
virtual stateResult_t Legs_DodgeRight( stateParms_t* parms );
|
||||
virtual stateResult_t state_Begin( stateParms_t* parms );
|
||||
virtual stateResult_t state_Idle( stateParms_t* parms );
|
||||
virtual stateResult_t combat_range( stateParms_t* parms );
|
||||
virtual stateResult_t combat_melee( stateParms_t* parms );
|
||||
virtual stateResult_t combat_leap( stateParms_t* parms );
|
||||
virtual stateResult_t path_jump( stateParms_t* parms );
|
||||
virtual stateResult_t combat_dodge_left( stateParms_t* parms );
|
||||
virtual stateResult_t combat_dodge_right( stateParms_t* parms );
|
||||
virtual int check_attacks() override;
|
||||
virtual bool do_attack( int attack_flags ) override;
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user