EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Prospector.h
Go to the documentation of this file.
1 
9 #ifndef _EVE_SHIP_MODULES_PROSPECTOR_MODULE_H_
10 #define _EVE_SHIP_MODULES_PROSPECTOR_MODULE_H_
11 
13 
14 
15 class Prospector: public ActiveModule
16 {
17 public:
19  virtual ~Prospector() { /* do nothing here */ }
20 
21  virtual Prospector* GetProspectModule() { return this; }
22  virtual bool IsProspectModule() const { return true; }
23 
24  /* functions to be handled in derived classes as needed */
25  virtual void Update(); // this is used to set char mods on active modules created before pilot entered ship
26 
27  /* ActiveModule overrides */
28  virtual void Activate(uint16 effectID, uint32 targetID=0, int16 repeat=0);
29  uint32 DoCycle();
30  // this is a check for those active modules that need it (mining, weapons) and overridden as needed
31  virtual bool CanActivate();
32 
33  virtual bool IsSuccess() { return m_success; }
34 
35  // this is to avoid problems when module timer hits after target destroyed. may need to do more here.
36  void TargetDestroyed() { m_success = false; }
37 
38 protected:
39  void SendFailure();
40  void CheckSuccess();
41  void DropSalvage();
42  void DropItems();
43 
44  bool m_success :1;
45  bool m_firstRun :1;
46  bool m_salvager :1;
47  bool m_dataMiner :1;
48 
49  int8 m_accessChance; // target chance (base chance)
50 
51 private:
53 
55 };
56 
57 #endif //_EVE_SHIP_MODULES_PROSPECTOR_MODULE_H_
58 
59 
60 /*
61 {'messageKey': 'SalvageTooMuchLoot', 'dataID': 17879586, 'suppressable': False, 'bodyID': 258062, 'messageType': 'info', 'urlAudio': '', 'urlIcon': '', 'titleID': 258061, 'messageID': 2311}
62  u'SalvageTooMuchLootBody'}(u'You cannot salvage this wreck because it contains too much loot to fit into a single cargo container. <br>\r\nThe wreck contains <b>{[numeric]volume, useGrouping} m3</b> but can contain no more than <b>{[numeric]maxvolume, useGrouping} m3</b> to be salvageable.', None, {u'{[numeric]maxvolume, useGrouping}': {'conditionalValues': [], 'variableType': 9, 'propertyName': None, 'args': 32, 'kwargs': {}, 'variableName': 'maxvolume'}, u'{[numeric]volume, useGrouping}': {'conditionalValues': [], 'variableType': 9, 'propertyName': None, 'args': 32, 'kwargs': {}, 'variableName': 'volume'}})
63 {'messageKey': 'SalvagingFailure', 'dataID': 17879772, 'suppressable': False, 'bodyID': 258135, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2114}
64  u'SalvagingFailureBody'}(u'Your salvaging attempt failed this time.'
65 {'messageKey': 'SalvagingPointless', 'dataID': 17880311, 'suppressable': False, 'bodyID': 258344, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2118}
66  u'SalvagingPointlessBody'}(u'You cannot salvage the {type} as there is nothing that can be salvaged from it.', None, {u'{type}': {'conditionalValues': [], 'variableType': 10, 'propertyName': None, 'args': 0, 'kwargs': {}, 'variableName': 'type'}})
67 {'messageKey': 'SalvagingPointlessLoot', 'dataID': 17880317, 'suppressable': False, 'bodyID': 258346, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2121}
68  u'SalvagingPointlessLootBody'}(u'You fail to salvage from the {type} because your salvaging equipment cannot be engaged until all loot has been removed from it.', None, {u'{type}': {'conditionalValues': [], 'variableType': 10, 'propertyName': None, 'args': 0, 'kwargs': {}, 'variableName': 'type'}})
69 {'messageKey': 'SalvagingPointlessOverload', 'dataID': 17880291, 'suppressable': False, 'bodyID': 258337, 'messageType': 'info', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2119}
70  u'SalvagingPointlessOverloadBody'}(u'You cannot salvage the {type} as you do not have the cargo space to store all the resources which might be recovered under ideal circumstances. Clear out at least {[numeric]units, decimalPlaces=1} m3 of cargo space and try again.', None, {u'{type}': {'conditionalValues': [], 'variableType': 10, 'propertyName': None, 'args': 0, 'kwargs': {}, 'variableName': 'type'}, u'{[numeric]units, decimalPlaces=1}': {'conditionalValues': [], 'variableType': 9, 'propertyName': None, 'args': 512, 'kwargs': {'decimalPlaces': 1}, 'variableName': 'units'}})
71 {'messageKey': 'SalvagingSuccess', 'dataID': 17880302, 'suppressable': False, 'bodyID': 258341, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2115}
72  u'SalvagingSuccessBody'}(u'You successfully salvage from the {type}.', None, {u'{type}': {'conditionalValues': [], 'variableType': 10, 'propertyName': None, 'args': 0, 'kwargs': {}, 'variableName': 'type'}})
73 {'messageKey': 'SalvagingSuccessHollow', 'dataID': 17880214, 'suppressable': False, 'bodyID': 258307, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2125}
74  u'SalvagingSuccessHollowBody'}(u'Your salvager successfully completes its cycle. Unfortunately the {type} contains nothing of value.', None, {u'{type}': {'conditionalValues': [], 'variableType': 10, 'propertyName': None, 'args': 0, 'kwargs': {}, 'variableName': 'type'}})
75 {'messageKey': 'SalvagingSuccessOverloaded', 'dataID': 17880294, 'suppressable': False, 'bodyID': 258338, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2117}
76  u'SalvagingSuccessOverloadedBody'}(u'You successfully salvage from the {type}. However due to your lack of cargo space, some or all of the salvaged resources may have been destroyed in the process.', None, {u'{type}': {'conditionalValues': [], 'variableType': 10, 'propertyName': None, 'args': 0, 'kwargs': {}, 'variableName': 'type'}})
77 {'messageKey': 'SalvagingTooComplex', 'dataID': 17880308, 'suppressable': False, 'bodyID': 258343, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2116}
78  u'SalvagingTooComplexBody'}(u'Salvaging the {type} is too difficult for you to be able to do.', None, {u'{type}': {'conditionalValues': [], 'variableType': 10, 'propertyName': None, 'args': 0, 'kwargs': {}, 'variableName': 'type'}})
79 {'messageKey': 'SalvagingTooLate', 'dataID': 17880314, 'suppressable': False, 'bodyID': 258345, 'messageType': 'notify', 'urlAudio': '', 'urlIcon': '', 'titleID': None, 'messageID': 2120}
80  u'SalvagingTooLateBody'}(u'Your salvaging attempt failed because the {type} was already salvaged.', None, {u'{type}': {'conditionalValues': [], 'variableType': 10, 'propertyName': None, 'args': 0, 'kwargs': {}, 'variableName': 'type'}})
81 */
virtual void Update()
Definition: Prospector.cpp:49
Character * pChar
Definition: Prospector.h:52
virtual bool IsProspectModule() const
Definition: Prospector.h:22
EVEItemFlags
Definition: EVE_Flags.h:13
bool m_dataMiner
Definition: Prospector.h:47
void CheckSuccess()
Definition: Prospector.cpp:148
Prospector(ModuleItemRef mRef, ShipItemRef sRef)
Definition: Prospector.cpp:18
signed __int8 int8
Definition: eve-compat.h:45
virtual bool CanActivate()
Definition: Prospector.cpp:81
void DropSalvage()
Definition: Prospector.cpp:160
bool m_salvager
Definition: Prospector.h:46
void DropItems()
Definition: Prospector.cpp:243
bool m_firstRun
Definition: Prospector.h:45
uint32 DoCycle()
Definition: Prospector.cpp:93
unsigned __int32 uint32
Definition: eve-compat.h:50
EVEItemFlags m_holdFlag
Definition: Prospector.h:54
void SendFailure()
Definition: Prospector.cpp:129
virtual void Activate(uint16 effectID, uint32 targetID=0, int16 repeat=0)
Definition: Prospector.cpp:64
void TargetDestroyed()
Definition: Prospector.h:36
virtual ~Prospector()
Definition: Prospector.h:19
virtual Prospector * GetProspectModule()
Definition: Prospector.h:21
signed __int16 int16
Definition: eve-compat.h:47
virtual bool IsSuccess()
Definition: Prospector.h:33
unsigned __int16 uint16
Definition: eve-compat.h:48
int8 m_accessChance
Definition: Prospector.h:49
bool m_success
Definition: Prospector.h:44