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,128 @@
|
||||
// AI_monster_demon_wraith.h
|
||||
// Native state-machine replacement for ai_monster_demon_wraith.script.
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#ifndef WRAITH_ATTACK_RATE
|
||||
#define WRAITH_ATTACK_RATE 1.5f
|
||||
#endif
|
||||
#ifndef WRAITH_DODGE_RATE
|
||||
#define WRAITH_DODGE_RATE 5
|
||||
#endif
|
||||
#ifndef WRAITH_PAIN_DELAY
|
||||
#define WRAITH_PAIN_DELAY 0.25f
|
||||
#endif
|
||||
#ifndef WRAITH_RUNDISTANCE
|
||||
#define WRAITH_RUNDISTANCE 192
|
||||
#endif
|
||||
#ifndef WRAITH_WALKTURN
|
||||
#define WRAITH_WALKTURN 65
|
||||
#endif
|
||||
#ifndef WRAITH_INVISIBLE_DIST_MIN
|
||||
#define WRAITH_INVISIBLE_DIST_MIN 140
|
||||
#endif
|
||||
#ifndef WRAITH_INVISIBLE_DIST_MAX
|
||||
#define WRAITH_INVISIBLE_DIST_MAX 256
|
||||
#endif
|
||||
#ifndef WRAITH_INVISIBLE_DELAY_MIN
|
||||
#define WRAITH_INVISIBLE_DELAY_MIN 0.6f
|
||||
#endif
|
||||
#ifndef WRAITH_INVISIBLE_DELAY_MAX
|
||||
#define WRAITH_INVISIBLE_DELAY_MAX 1.5f
|
||||
#endif
|
||||
#ifndef WRAITH_VISIBLE_DELAY_MIN
|
||||
#define WRAITH_VISIBLE_DELAY_MIN 1.3f
|
||||
#endif
|
||||
#ifndef WRAITH_VISIBLE_DELAY_MAX
|
||||
#define WRAITH_VISIBLE_DELAY_MAX 2.2f
|
||||
#endif
|
||||
#ifndef WRAITH_PAIN_TO_IDLE
|
||||
#define WRAITH_PAIN_TO_IDLE 2
|
||||
#endif
|
||||
#ifndef WRAITH_PAIN_TO_PAIN
|
||||
#define WRAITH_PAIN_TO_PAIN 0
|
||||
#endif
|
||||
#ifndef WRAITH_MELEE_TO_IDLE
|
||||
#define WRAITH_MELEE_TO_IDLE 4
|
||||
#endif
|
||||
#ifndef WRAITH_DODGE_LEFT_TO_IDLE
|
||||
#define WRAITH_DODGE_LEFT_TO_IDLE 4
|
||||
#endif
|
||||
#ifndef WRAITH_DODGE_RIGHT_TO_IDLE
|
||||
#define WRAITH_DODGE_RIGHT_TO_IDLE 4
|
||||
#endif
|
||||
#ifndef WRAITH_IDLE_TO_PAIN
|
||||
#define WRAITH_IDLE_TO_PAIN 0
|
||||
#endif
|
||||
#ifndef WRAITH_IDLE_TO_WALK
|
||||
#define WRAITH_IDLE_TO_WALK 4
|
||||
#endif
|
||||
#ifndef WRAITH_WALK_TO_IDLE
|
||||
#define WRAITH_WALK_TO_IDLE 4
|
||||
#endif
|
||||
#ifndef WRAITH_IDLE_TO_RUN
|
||||
#define WRAITH_IDLE_TO_RUN 4
|
||||
#endif
|
||||
#ifndef WRAITH_WALK_TO_RUN
|
||||
#define WRAITH_WALK_TO_RUN 4
|
||||
#endif
|
||||
#ifndef WRAITH_RUN_TO_WALK
|
||||
#define WRAITH_RUN_TO_WALK 4
|
||||
#endif
|
||||
#ifndef WRAITH_RUN_TO_IDLE
|
||||
#define WRAITH_RUN_TO_IDLE 4
|
||||
#endif
|
||||
#ifndef WRAITH_WALK_TO_MELEE
|
||||
#define WRAITH_WALK_TO_MELEE 4
|
||||
#endif
|
||||
#ifndef WRAITH_WALK_TO_DODGE_LEFT
|
||||
#define WRAITH_WALK_TO_DODGE_LEFT 4
|
||||
#endif
|
||||
#ifndef WRAITH_WALK_TO_DODGE_RIGHT
|
||||
#define WRAITH_WALK_TO_DODGE_RIGHT 4
|
||||
#endif
|
||||
#ifndef ATTACK_BECOME_INVISIBLE
|
||||
#define ATTACK_BECOME_INVISIBLE ATTACK_SPECIAL1
|
||||
#endif
|
||||
#ifndef ATTACK_BECOME_VISIBLE
|
||||
#define ATTACK_BECOME_VISIBLE ATTACK_SPECIAL2
|
||||
#endif
|
||||
|
||||
class rvmMonsterDemonWraith : public rvmMonsterBase {
|
||||
public:
|
||||
CLASS_PROTOTYPE( rvmMonsterDemonWraith );
|
||||
|
||||
rvmMonsterDemonWraith();
|
||||
virtual void Init( idAI* aiOwner ) override;
|
||||
virtual stateResult_t RunStateByName( const char* stateName, stateParms_t* parms ) override;
|
||||
|
||||
protected:
|
||||
bool invisible;
|
||||
float nextDodge;
|
||||
float nextInvisible;
|
||||
float painNextTime;
|
||||
idEntityPtr<idEntity> combat_node;
|
||||
idEntityPtr<idEntity> spawn_effect;
|
||||
|
||||
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 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 state_LostCombat( stateParms_t* parms );
|
||||
virtual stateResult_t combat_melee( stateParms_t* parms );
|
||||
virtual stateResult_t combat_dodge_left( stateParms_t* parms );
|
||||
virtual stateResult_t combat_dodge_right( stateParms_t* parms );
|
||||
virtual stateResult_t combat_become_visible( stateParms_t* parms );
|
||||
virtual stateResult_t combat_become_invisible( stateParms_t* parms );
|
||||
virtual stateResult_t spawn_fx( stateParms_t* parms );
|
||||
virtual int check_attacks() override;
|
||||
virtual bool do_attack( int attack_flags ) override;
|
||||
|
||||
};
|
||||
Reference in New Issue
Block a user