EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Agent.h
Go to the documentation of this file.
1 
12 #ifndef _EVE_SERVER_AGENT_H
13 #define _EVE_SERVER_AGENT_H
14 
15 
16 #include "agents/AgentDB.h"
18 
19 class Client;
20 
21 class Agent {
22 public:
23  Agent(uint32 id);
24  ~Agent() { /* do nothing here */ }
25 
26  bool Load();
27 
30 
31  bool IsLocator() { return m_agentData.locator; }
32  bool IsResearch() { return m_agentData.research; }
33 
36 
37  uint32 GetID() { return m_agentID; }
43  uint32 MakeButtonID() { return ++m_buttonID; }
44 
45  bool HasMission(uint32 charID);
46  bool HasMission(uint32 charID, MissionOffer& offer);
47 
48  void MakeOffer(uint32 charID, MissionOffer& offer);
49  void GetOffer(uint32 charID, MissionOffer& offer);
50  void UpdateOffer(uint32 charID, MissionOffer& offer);
51  void DeleteOffer(uint32 charID); // completely deletes offer from agent data, missionMgr data, and db
52  void RemoveOffer(uint32 charID); // removes offer from agent data
53 
54  uint32 GetQuitRsp(uint32 charID);
55  uint32 GetAcceptRsp(uint32 charID);
56  uint32 GetDeclineRsp(uint32 charID);
59 
60  void SendMissionUpdate(Client* pClient, std::string action);
61 
62  bool CanUseAgent(Client* pClient);
63 
64  // standing/quality/level/reward methods...
65  void UpdateStandings(Client* pClient, uint8 eventID, bool important=false);
66 
67 protected:
68  std::string GetMinReqStanding(uint8 level);
71 
72  std::map<uint16, uint8> m_skills; // skillID/level
73  std::map<uint32, MissionOffer> m_offers; // charID/data -- shouldnt this be in mission data??
74  std::map<uint16, AgentActions> m_actions; // buttonID/data
75 
76 private:
78 
80 
81 };
82 
83 #endif // _EVE_SERVER_AGENT_H
84 
85 /*
86 (235998, `Your instructors have been telling me great things about you, {[character]charID.name, linkify}.<br><br>I've talked it over with my superiors, and we've decided to invite you to participate in {corpName} tutorial agent program for further instruction.<br><br>I'll be awaiting you at {[location]stationID.name, linkify}. You can find me there in the station's Agent listing in the lower right hand corner of your display.<br><br>With regards,<br> {[character]agentID.name, linkify},<br> {corpName}<br>`)
87 (235999, `You have failed the mission I gave you. I am disappointed in you. I was hoping for a little more competence.`)
88 (236000, `Insurance Contract Issued`)
89 (236001, `Report: Starbase low on resources in {[location]solarSystemID.name}`)
90 (236002, `Authentication code for {[character]charID.name}`)
91 (236003, `Report: "{[item]typeID.name, linkify}" at "{[location]stationID.name, linkify}" has been disabled`)
92 (236004, `Demotion`)
93 (236005, `Bill issued`)
94 (236006, `{[character]newCeoID.name} is the new CEO of {corporationName}`)
95 (236007, `Welcome to {corporationName}`)
96 (236008, `Rejected application to join {corporationName}`)
97 (236009, `Report: "{[item]typeID.name, linkify}" at "{[location]stationID.name, linkify}" has been reenabled`)
98 (236010, `Bounty payment`)
99 (236011, `Time's up, {[character]notification_receiverID.name , linkify}`)
100 (236012, `Tutorial Program Started`)
101 (236013, `Pend Insurance Inc.`)
102 (236014, `Report: Infrastructure hub %22{name}%22 has been conquered`)
103 (236015, `Jump clone destruction`)
104 (236016, `Contraband Confiscation`)
105 (236017, `CEO roles revoked`)
106 (236018, `Report: Starbase in {[location]solarSystemID.name, linkify} is under attack`)
107 (236019, `Report: Station '{[location]stationID.name}' has been conquered`)
108 (236020, `I've encountered a problem.`)
109 (236021, `Our research has been fruitful, but I've encountered a snag and our research has been halted. Please contact me as soon as possible.`)
110 (236023, `Dread Guristas Irregular`)
111 (236024, `Dark Blood Alpha`)
112 (236025, `Sorry mate you don't have enough research points to buy any datacores. <br>Each {[item]datacoreTypeID.name} costs {[numeric]rpAmount} research points.`)
113 (236026, `{[item]datacoreTypeID.name}: {[numeric]rpAmount} RP`)
114 */
uint16 m_buttonID
Definition: Agent.h:79
uint16 locationTypeID
Definition: EVE_Agent.h:21
uint32 GetFactionID()
Definition: Agent.h:42
unsigned __int8 uint8
Definition: eve-compat.h:46
bool m_important
Definition: Agent.h:77
void RemoveOffer(uint32 charID)
Definition: Agent.cpp:207
std::string GetMinReqStanding(uint8 level)
Definition: Agent.cpp:447
~Agent()
Definition: Agent.h:24
Python's dictionary.
Definition: PyRep.h:719
uint32 GetSystemID()
Definition: Agent.h:39
uint32 GetStandingsRsp(uint32 charID)
Definition: Agent.cpp:547
PyObject * GetInfoServiceDetails()
Definition: Agent.cpp:290
uint32 GetDeclineRsp(uint32 charID)
Definition: Agent.cpp:490
std::map< uint32, MissionOffer > m_offers
Definition: Agent.h:73
std::map< uint16, AgentActions > m_actions
Definition: Agent.h:74
bool IsLocator()
Definition: Agent.h:31
uint32 stationID
Definition: EVE_Agent.h:24
int8 quality
Definition: EVE_Agent.h:15
uint8 level
Definition: EVE_Agent.h:16
uint32 GetStationID()
Definition: Agent.h:40
void MakeOffer(uint32 charID, MissionOffer &offer)
Definition: Agent.cpp:63
bool HasMission(uint32 charID)
Definition: Agent.cpp:149
signed __int8 int8
Definition: eve-compat.h:45
uint32 MakeButtonID()
Definition: Agent.h:43
bool locator
Definition: EVE_Agent.h:13
bool IsResearch()
Definition: Agent.h:32
Python object.
Definition: PyRep.h:826
bool research
Definition: EVE_Agent.h:14
Definition: Agent.h:21
uint32 GetID()
Definition: Agent.h:37
uint32 factionID
Definition: EVE_Agent.h:28
void UpdateStandings(Client *pClient, uint8 eventID, bool important=false)
Definition: Agent.cpp:562
uint32 corporationID
Definition: EVE_Agent.h:22
Definition: Client.h:66
bool CanUseAgent(Client *pClient)
Definition: Agent.cpp:743
uint32 GetCompleteRsp(uint32 charID)
Definition: Agent.cpp:512
unsigned __int32 uint32
Definition: eve-compat.h:50
void GetOffer(uint32 charID, MissionOffer &offer)
Definition: Agent.cpp:167
PyDict * GetLocationWrap()
Definition: Agent.cpp:231
void DeleteOffer(uint32 charID)
Definition: Agent.cpp:217
uint32 GetQuitRsp(uint32 charID)
Definition: Agent.cpp:541
int8 GetQuality()
Definition: Agent.h:35
uint32 solarSystemID
Definition: EVE_Agent.h:23
bool Load()
Definition: Agent.cpp:51
uint32 GetAcceptRsp(uint32 charID)
Definition: Agent.cpp:468
uint8 GetLevel()
Definition: Agent.h:34
Agent(uint32 id)
Definition: Agent.cpp:38
void SendMissionUpdate(Client *pClient, std::string action)
Definition: Agent.cpp:696
uint32 GetLocTypeID()
Definition: Agent.h:41
void UpdateOffer(uint32 charID, MissionOffer &offer)
Definition: Agent.cpp:195
unsigned __int16 uint16
Definition: eve-compat.h:48
uint32 GetCorpID()
Definition: Agent.h:38
std::map< uint16, uint8 > m_skills
Definition: Agent.h:72
AgentData m_agentData
Definition: Agent.h:70
const uint32 m_agentID
Definition: Agent.h:69