33 m_chargeLoaded(false),
59 _log(MODULE__DEBUG,
"Created GenericModule %p for item %s (%u).",
this, mRef->
name(), mRef->
itemID());
78 _log(MODULE__ERROR,
"GenericModule::Online() called for unfitted module %u(%s).",
itemID(),
m_modRef->
name());
82 _log(MODULE__MESSAGE,
"GenericModule::Online() called for non-offline module %u(%s). State is %s", \
97 _log(MODULE__TRACE,
"GenericModule::Online() %u(%s) - not enough CPU. (%.1f/%.1f)", \
104 std::string str =
"To bring " +
m_modRef->
itemName() +
" online requires %.2f cpu units, ";
105 str +=
"but only %.2f of the %.2f units that your computer produces are still available.";
112 _log(MODULE__TRACE,
"GenericModule::Online() %u(%s) - not enough PG. (%.1f/%.1f)", \
119 std::string str =
"To bring " +
m_modRef->
itemName() +
" online requires %.2f power units, ";
120 str +=
"but only %.2f of the %.2f units that your power core produces are still available.";
128 _log(MODULE__MESSAGE,
"GenericModule::Online() - %u(%s) cpu: %.2f, pg: %.2f, loaded: %s", \
135 _log(MODULE__ERROR,
"GenericModule::Online() - module %u(%s) has ChargeState(CHG_LOADED) but m_chargeLoaded = false.", \
138 _log(MODULE__ERROR,
"GenericModule::Online() - module %u(%s) has ChargeState(CHG_LOADED) but m_chargeRef = NULL.", \
172 _log(MODULE__WARNING,
"GenericModule::Offline() called for unfitted module %u(%s).",
itemID(),
m_modRef->
name());
177 _log(MODULE__WARNING,
"GenericModule::Offline() called for offline module %u(%s).",
itemID(),
m_modRef->
name());
182 _log(MODULE__MESSAGE,
"GenericModule::Offline() called for deactivating module %u(%s).",
itemID(),
m_modRef->
name());
187 _log(MODULE__MESSAGE,
"GenericModule::Offline() called for active module %u(%s).",
itemID(),
m_modRef->
name());
201 _log(MODULE__MESSAGE,
"GenericModule::Offline() - %u(%s) cpu: %.2f, pg: %.2f",
itemID(),
m_modRef->
name(), cpuNeed.get_float(), pgNeed.get_float());
205 _log(MODULE__ERROR,
"GenericModule::Offline() - module %u(%s) has ChargeState(CHG_LOADED) but m_chargeRef = NULL.", \
242 std::map<uint16, Effect> effectMap;
244 _log(EFFECTS__TRACE,
"GenericModule::ProcessEffects() called for %s. effects: %u, state: %s, online: %s", \
245 m_modRef->
name(), effectMap.size(),
sFxProc.GetStateName(state), (active ?
"true" :
"false"));
246 for (
auto it : effectMap) {
288 default:
return "Invalid";
void GetEffectMap(const int8 state, std::map< uint16, Effect > &effectMap) const
#define _log(type, fmt,...)
void ProcessEffects(int8 state, bool active=false)
virtual void DeOverload()
void SetOnline(bool online=false, bool isRig=false)
bool HasEffect(uint16 effectID) const
this is a class that kinda mimics how python polymorph's numbers.
void SendNotifyMsg(const char *fmt,...)
CharacterRef GetChar() const
void SetAttribute(uint32 attrID, EvilNumber val, bool update=true)
std::unordered_multimap< int8, Effect > m_stateFxMap
const ItemType & type() const
InventoryItemRef m_chargeRef
void SetAttribute(uint16 attrID, int num, bool notify=true)
virtual void AbortCycle()
const char * GetModuleStateName(int8 state)
int8 GetModulePowerLevel()
const std::string & itemName() const
virtual Client * GetPilot()
GenericModule(ModuleItemRef mRef, ShipItemRef sRef)
EvilNumber GetAttribute(const uint16 attrID) const
virtual ActiveModule * GetActiveModule()
entityID heal the character with the entityID note giving you detailed ship status information gives a list of all dynamic entities and players and their destinyState in this bubble shows some current destiny variables save all kick all and halt server immediate command list all items in current location s gives list of cargo contents and volumes in all holds list current session values show current ship DNA show current objects in their destiny state
EvilNumber GetAttribute(uint32 attrID)
virtual bool IsActiveModule() const