Files
DoomRTX/neo/doom3/game/ai/AI_alphalabs2_scientist1.h
T
2026-05-23 14:30:21 -07:00

68 lines
3.6 KiB
C++

// AI_alphalabs2_scientist1.h
// Native state-machine replacement for ai_alphalabs2_scientist1.script.
#pragma once
class rvmAIAlphaLabs2Scientist1 : public rvmAIObject {
public:
CLASS_PROTOTYPE( rvmAIAlphaLabs2Scientist1 );
virtual void Init( idAI* aiOwner ) override;
virtual void Destroy() override;
virtual stateResult_t RunStateByName( const char* stateName, stateParms_t* parms ) override;
protected:
virtual stateResult_t Head_Idle( stateParms_t* parms );
virtual stateResult_t Head_Death( stateParms_t* parms );
virtual stateResult_t Head_DeathScene( stateParms_t* parms );
virtual stateResult_t Head_Greeting( stateParms_t* parms );
virtual stateResult_t Head_Speech( stateParms_t* parms );
virtual stateResult_t Head_Hurry( stateParms_t* parms );
virtual stateResult_t Head_StayClose( stateParms_t* parms );
virtual stateResult_t Head_Electro_Pulses( stateParms_t* parms );
virtual stateResult_t Head_Pulse1( stateParms_t* parms );
virtual stateResult_t Head_Pulse2( stateParms_t* parms );
virtual stateResult_t Head_WatchIt( stateParms_t* parms );
virtual stateResult_t Head_Spooked( stateParms_t* parms );
virtual stateResult_t Head_Exit( stateParms_t* parms );
virtual stateResult_t Head_SayStuff( stateParms_t* parms );
virtual stateResult_t Head_Attacked( stateParms_t* parms );
virtual stateResult_t Head_AttackDone( stateParms_t* parms );
virtual stateResult_t Torso_Work( stateParms_t* parms );
virtual stateResult_t Torso_DeathScene( stateParms_t* parms );
virtual stateResult_t Torso_Death( stateParms_t* parms );
virtual stateResult_t Torso_Idle( stateParms_t* parms );
virtual stateResult_t Torso_Pain( stateParms_t* parms );
virtual stateResult_t Legs_Death( stateParms_t* parms );
virtual stateResult_t Legs_Idle( stateParms_t* parms );
virtual stateResult_t Legs_Walk( stateParms_t* parms );
virtual stateResult_t Legs_TurnLeft( stateParms_t* parms );
virtual stateResult_t Legs_TurnRight( stateParms_t* parms );
virtual stateResult_t Legs_Cower( stateParms_t* parms );
virtual stateResult_t light_fade1( stateParms_t* parms );
virtual stateResult_t light_fade2( stateParms_t* parms );
virtual stateResult_t doEvent( stateParms_t* parms );
virtual stateResult_t sayStuff( stateParms_t* parms );
virtual stateResult_t hurry_up( stateParms_t* parms );
virtual stateResult_t updatePlayerPositionThread( stateParms_t* parms );
virtual stateResult_t checkBlocked( stateParms_t* parms );
virtual stateResult_t state_Killed( stateParms_t* parms );
virtual stateResult_t state_DeathScene( stateParms_t* parms );
virtual stateResult_t state_WorkingOnStuff( stateParms_t* parms );
virtual stateResult_t state_NoticePlayer( stateParms_t* parms );
virtual stateResult_t state_Wait( stateParms_t* parms );
virtual stateResult_t state_GetCloser( stateParms_t* parms );
virtual stateResult_t state_CantReachPlayer( stateParms_t* parms );
virtual stateResult_t state_Spooked( stateParms_t* parms );
virtual stateResult_t state_Lead( stateParms_t* parms );
virtual stateResult_t state_FindPlayer( stateParms_t* parms );
virtual stateResult_t state_Cower( stateParms_t* parms );
virtual void faceTowardsEntity( idEntity* target, float duration );
virtual void light_fade_out( float fadeTime );
virtual void light_fade_in( float fadeTime );
virtual void light_fade( float stay_off );
virtual float checkDestinationDistance( );
};