1#ifndef TT_INCLUDE__DB_Innate_Soldier_H
2#define TT_INCLUDE__DB_Innate_Soldier_H
6#include "ReferencerClass.h"
7#include "engine_string.h"
8#include "SoldierGameObj.h"
27class DB_Innate_Soldier :
36 ReferencerClass Target;
38 float ConversationTimer;
41 float TakeCoverProbability;
50 bool Save(ChunkSaveClass &csave);
51 bool Load(ChunkLoadClass &cload);
52 virtual const char *Get_Name()
54 return "DB_Innate_Soldier";
56 virtual void Created(GameObject *obj);
57 virtual void Destroyed(GameObject *obj);
58 virtual void Killed(GameObject *obj,GameObject *killer);
59 virtual void Damaged(GameObject *obj,GameObject *damager,
float amount);
60 virtual void Custom(GameObject *obj,
int type,
int param,GameObject *sender);
61 virtual void Sound_Heard(GameObject *obj,
const CombatSound & sound);
62 virtual void Enemy_Seen(GameObject *obj,GameObject *enemy);
63 virtual void Action_Complete(GameObject *obj,
int action_id,ActionCompleteReason complete_reason);
64 virtual void Timer_Expired(GameObject *obj,
int number);
65 virtual void Animation_Complete(GameObject *obj,
const char *animation_name)
68 virtual void Poked(GameObject *obj,GameObject *poker);
69 virtual void Entered(GameObject *obj,GameObject *enterer)
72 virtual void Exited(GameObject *obj,GameObject *exiter)
75 void Action_Attack_Object(SoldierGameObj *, PhysicalGameObj *,
float,
bool, Vector3
const&,
float);
76 void Action_Dive(SoldierGameObj *, Vector3
const&);
77 void Action_Face_Location(SoldierGameObj *, Vector3
const&, SoldierAIState,
bool);
78 void Action_Goto_Location(SoldierGameObj *, Vector3
const&, SoldierAIState,
float,
float,
bool);
79 void Action_Goto_Location_Facing(SoldierGameObj *, Vector3
const&, SoldierAIState, Vector3
const&,
float,
float,
bool);
80 void Action_Reset(SoldierGameObj *);
81 void Get_Information(StringClass &);
82 void Notify_Neighbors_Sound(SoldierGameObj *, CombatSound
const&);
83 void Notify_Neighbors_Enemy(SoldierGameObj *, ScriptableGameObj *);
84 void Reset_Conversation_Timer();
85 bool Set_State(SoldierGameObj *,
int, Vector3
const&, ScriptableGameObj *);
86 void State_Act(SoldierGameObj *,
bool);
87 void State_Act_Idle(SoldierGameObj *);
88 void State_Act_Footsteps_Heard(SoldierGameObj *);
89 void State_Act_Bullet_Heard(SoldierGameObj *,
bool);
90 void State_Act_Gunshot_Heard(SoldierGameObj *);
91 void State_Act_Attack(SoldierGameObj *);
92 void State_Changed(SoldierGameObj *);
93 void Stay_Within_Home(SoldierGameObj *, Vector3 *,
float *);
94 void Think_Function(SoldierGameObj *,
bool);
95 void Set_Home_Location(Vector3
const &pos,
float facing)
100 void Set_Aggressiveness(
float f)
104 void Set_Take_Cover_Probability(
float f)
106 TakeCoverProbability = f;
108 void Set_Is_Stationary(
bool b)