Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
aggressive.h
Go to the documentation of this file.
1 #ifndef __AGGRESSIVE_AI_H
2 #define __AGGRESSIVE_AI_H
3 #include "fire.h"
4 
5 class Flightgroup;
6 namespace Orders
7 {
8 class AggressiveAI : public FireAt
9 {
10  bool obedient; //am I currently obedient
11  bool last_time_insys;
12  char jump_time_check;
13  float last_jump_distance;
14  float last_jump_time;
15  float currentpriority;
16  float creationtime;
17 protected:
18  void SignalChosenTarget();
20  float logiccurtime;
25  bool ProcessLogicItem( const AIEvents::AIEvresult &item );
26  bool ExecuteLogicItem( const AIEvents::AIEvresult &item );
27  bool ProcessLogic( AIEvents::ElemAttrMap &logic, bool inter ); //returns if found anything
28  std::string last_directive;
29  void ReCommandWing( Flightgroup *fg );
31 public:
32  virtual void SetParent( Unit *parent1 );
33  enum types
34  {
40  };
41  AggressiveAI( const char *file, Unit *target = NULL );
42  void ExecuteNoEnemies();
43  void Execute();
44  virtual std::string getOrderDescription()
45  {
46  return "aggressive";
47  }
48  void AfterburnerJumpTurnTowards( Unit *target );
49  float Fshield_prev;
52  float Bshield_prev;
55  float Lshield_prev;
58  float Rshield_prev;
61  float Farmour_prev;
64  float Barmour_prev;
67  float Larmour_prev;
70  float Rarmour_prev;
73  float Hull_prev;
77 };
78 }
79 
80 #endif
81