Missing file from previous checkin.

This commit is contained in:
Justin Marshall
2026-05-23 14:30:21 -07:00
parent 027067a122
commit df82170a67
68 changed files with 15720 additions and 0 deletions
@@ -0,0 +1,52 @@
// AI_monster_demon_mancubus.h
// Native state-machine replacement for ai_monster_demon_mancubus.script.
#pragma once
#ifndef MANC_WALKTURN
#define MANC_WALKTURN 65
#endif
#ifndef MANC_ATTACK_RATE
#define MANC_ATTACK_RATE 1
#endif
#ifndef MANC_MAX_SHOTS
#define MANC_MAX_SHOTS 5
#endif
#ifndef MANC_MIN_SHOTS
#define MANC_MIN_SHOTS 1
#endif
#ifndef MANC_NOFOVTIME
#define MANC_NOFOVTIME 8
#endif
class rvmMonsterDemonMancubus : public rvmMonsterBase {
public:
CLASS_PROTOTYPE( rvmMonsterDemonMancubus );
rvmMonsterDemonMancubus();
virtual void Init( idAI* aiOwner ) override;
virtual stateResult_t RunStateByName( const char* stateName, stateParms_t* parms ) override;
protected:
float nextAttack;
float nextNoFOVAttack;
float fire;
float painNextTime;
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 Legs_Idle( stateParms_t* parms );
virtual stateResult_t Legs_Walk( 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 int check_attacks() override;
virtual bool do_attack( int attack_flags ) override;
};