48 strcpy(str,
"AI state unknown");
90 eDockGetDataStart = 0,
95 eInvalidDockingStage = 5
102 EDockingStates m_state;
105 void IncrementState()
108 case eDockGetDataStart: m_state = eDockFlyToStart;
break;
109 case eDockFlyToStart: m_state = eDockGetDataEnd;
break;
110 case eDockGetDataEnd: m_state = eDockFlyToEnd;
break;
111 case eDockFlyToEnd: m_state = eDockingComplete;
break;
112 case eDockingComplete: m_state = eInvalidDockingStage;
break;
113 case eInvalidDockingStage:
break;
143 bool m_suicideRecovery;
168 void Setup(
Body *obstructor,
double alt,
double vel,
int mode);
169 double MaxVel(
double targdist,
double targalt);
173 int m_obstructorIndex;
198 double m_leadTime, m_evadeTime, m_closeTime;
199 vector3d m_leadOffset, m_leadDrift, m_lastVel;
nlohmann::json Json
Definition Json.h:8
Definition ShipAICmd.h:76
virtual void SaveToJson(Json &jsonObj)
Definition ShipAICmd.cpp:1306
virtual bool TimeStepUpdate()
Definition ShipAICmd.cpp:1325
virtual void PostLoadFixup(Space *space)
Definition ShipAICmd.cpp:1248
virtual void GetStatusText(char *str)
Definition ShipAICmd.cpp:1240
virtual void OnDeleted(const Body *body)
Definition ShipAICmd.cpp:1234
Definition ShipAICmd.h:146
double MaxVel(double targdist, double targalt)
Definition ShipAICmd.cpp:1564
virtual void OnDeleted(const Body *body)
Definition ShipAICmd.h:156
virtual void PostLoadFixup(Space *space)
Definition ShipAICmd.cpp:1481
virtual bool TimeStepUpdate()
Definition ShipAICmd.cpp:1577
virtual void SaveToJson(Json &jsonObj)
Definition ShipAICmd.cpp:1550
virtual void GetStatusText(char *str)
Definition ShipAICmd.cpp:1472
void Setup(Body *obstructor, double alt, double vel, int mode)
Definition ShipAICmd.cpp:1490
void SetTargPos(const vector3d &targpos)
Definition ShipAICmd.h:161
Definition ShipAICmd.h:118
virtual void GetStatusText(char *str)
Definition ShipAICmd.cpp:894
virtual void SaveToJson(Json &jsonObj)
Definition ShipAICmd.cpp:983
virtual void OnDeleted(const Body *body)
Definition ShipAICmd.cpp:888
virtual void PostLoadFixup(Space *space)
Definition ShipAICmd.cpp:906
virtual bool TimeStepUpdate()
Definition ShipAICmd.cpp:1001
Definition ShipAICmd.h:220
virtual bool TimeStepUpdate()
Definition ShipAICmd.cpp:1465
Definition ShipAICmd.h:203
virtual void PostLoadFixup(Space *space)
Definition ShipAICmd.cpp:256
const Body * GetTarget() const
Definition ShipAICmd.h:214
virtual void OnDeleted(const Body *body)
Definition ShipAICmd.cpp:226
virtual bool TimeStepUpdate()
Definition ShipAICmd.cpp:265
virtual void SaveToJson(Json &jsonObj)
Definition ShipAICmd.cpp:247
Definition ShipAICmd.h:179
virtual bool TimeStepUpdate()
Definition ShipAICmd.cpp:367
void PostLoadFixup(Space *space)
Definition ShipAICmd.cpp:354
const Ship * GetTarget() const
Definition ShipAICmd.h:193
virtual void SaveToJson(Json &jsonObj)
Definition ShipAICmd.cpp:340
~AICmdKill()
Definition ShipAICmd.cpp:349
virtual void OnDeleted(const Body *body)
Definition ShipAICmd.cpp:316
Definition ShipAICmd.h:19
std::unique_ptr< AICommand > m_child
Definition ShipAICmd.h:69
virtual void GetStatusText(char *str)
Definition ShipAICmd.h:43
DynamicBody * m_dBody
Definition ShipAICmd.h:66
virtual void PostLoadFixup(Space *space)
Definition ShipAICmd.cpp:76
static AICommand * LoadFromJson(const Json &jsonObj)
Definition ShipAICmd.cpp:19
virtual void OnDeleted(const Body *body)
Definition ShipAICmd.h:58
int m_dBodyIndex
Definition ShipAICmd.h:73
bool ProcessChild()
Definition ShipAICmd.cpp:83
CmdName m_cmdName
Definition ShipAICmd.h:71
AICommand(DynamicBody *dBody, CmdName name)
Definition ShipAICmd.h:33
CmdName
Definition ShipAICmd.h:22
@ CMD_KILL
Definition ShipAICmd.h:27
@ CMD_HOLDPOSITION
Definition ShipAICmd.h:29
@ CMD_FLYTO
Definition ShipAICmd.h:25
@ CMD_FORMATION
Definition ShipAICmd.h:30
@ CMD_NONE
Definition ShipAICmd.h:23
@ CMD_KAMIKAZE
Definition ShipAICmd.h:28
@ CMD_FLYAROUND
Definition ShipAICmd.h:26
@ CMD_DOCK
Definition ShipAICmd.h:24
bool m_is_flyto
Definition ShipAICmd.h:70
virtual ~AICommand()
Definition ShipAICmd.h:39
virtual void SaveToJson(Json &jsonObj)
Definition ShipAICmd.cpp:44
virtual bool TimeStepUpdate()=0
Propulsion * m_prop
Definition ShipAICmd.h:67
CmdName GetType() const
Definition ShipAICmd.h:63
Definition DynamicBody.h:15
AIError AIMessage(AIError msg=AIERROR_NONE)
Definition DynamicBody.h:73
@ AIERROR_NONE
Definition DynamicBody.h:67
Definition FixedGuns.h:21
Definition Propulsion.h:25
Definition SpaceStation.h:30