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
comm_ai.h
Go to the documentation of this file.
1 #ifndef __COMM_AI_H
2 #define __COMM_AI_H
3 
4 #include "order.h"
5 
6 #include <vector>
8 
9 class CommunicatingAI : public Order
10 {
11 protected:
12  float anger; //how easily he will target you if you taunt him enough (-.00001 is always -.4 is often -.6 is normal
13  float appease; //how easily he will switch from you if you silence his will to kill (-.5)
16  float mood;
20  void GetMadAt( Unit *which, int howMad );
21 protected:
22 public:
23  virtual void Destroy();
24  virtual float getMood()
25  {
26  return mood;
27  }
28  Unit * GetRandomUnit( float PlayerProbability, float TargetProbability );
29  void RandomInitiateCommunication( float PlayerProbability, float TargetProbability );
30  void TerminateContrabandSearch( bool foundcontraband );
31  void InitiateContrabandSearch( float PlayerProbability, float TargetProbability );
33  CommunicatingAI( int ttype,
34  int stype,
35  float mood = 0,
36  float anger = -666 /*-.5*/,
37  float appeasement = 666,
38  float moodswingyness = 666 /*.2*/,
39  float randomnessresponse = 666 /*.8*/ );
40  virtual void ProcessCommMessage( class CommunicationMessage&c );
41  virtual void AdjustRelationTo( Unit *un, float factor );
42  virtual ~CommunicatingAI();
45 };
46 
47 #endif
48