mirror of
https://github.com/jmarshall23/DoomRTX.git
synced 2026-08-19 12:14:35 +02:00
41 lines
1.5 KiB
C++
41 lines
1.5 KiB
C++
// AI_monster_zombie_sawyer.h
|
|
// Native state-machine replacement for ai_monster_zombie_sawyer.script.
|
|
|
|
#pragma once
|
|
|
|
|
|
#ifndef SAWYER_SMOKE_PARTICLES
|
|
#define SAWYER_SMOKE_PARTICLES 0
|
|
#define SAWYER_BLOOD_PARTICLES 1
|
|
#endif
|
|
|
|
class rvmMonsterZombieSawyer : public rvmMonsterZombieBase {
|
|
public:
|
|
CLASS_PROTOTYPE( rvmMonsterZombieSawyer );
|
|
|
|
rvmMonsterZombieSawyer();
|
|
virtual void Init( idAI* aiOwner ) override;
|
|
virtual stateResult_t RunStateByName( const char* stateName, stateParms_t* parms ) override;
|
|
|
|
protected:
|
|
bool attack;
|
|
float painNextTime;
|
|
float nextHitTime;
|
|
int bloodSmokeFrames;
|
|
|
|
virtual stateResult_t Torso_Idle( stateParms_t* parms ) override;
|
|
virtual stateResult_t Torso_Pain( stateParms_t* parms );
|
|
virtual stateResult_t Torso_MeleeAttack( stateParms_t* parms );
|
|
virtual stateResult_t Legs_Idle( stateParms_t* parms ) override;
|
|
virtual stateResult_t Legs_Run( stateParms_t* parms );
|
|
virtual stateResult_t state_Begin( stateParms_t* parms ) override;
|
|
virtual stateResult_t state_Idle( stateParms_t* parms );
|
|
virtual stateResult_t combat_melee( stateParms_t* parms );
|
|
|
|
virtual int check_attacks() override;
|
|
virtual bool do_attack( int attack_flags ) override;
|
|
virtual void start_smoke();
|
|
virtual void start_attack();
|
|
virtual void end_attack();
|
|
};
|