EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
TowerSE Class Reference

#include "Tower.h"

Inheritance diagram for TowerSE:
Collaboration diagram for TowerSE:

Public Member Functions

virtual ~TowerSE ()
 
virtual TowerSEGetTowerSE ()
 
virtual bool IsTowerSE ()
 
virtual void MissileLaunched (Missile *pMissile)
 
void SetStanding (float set)
 
void SetStatus (float set)
 
void SetStatusDrop (bool set)
 
void SetCorpWar (bool set)
 
void SetCorpAccess (bool set)
 
void SetAllyAccess (bool set)
 
void SetUseAllyStandings (bool set)
 
void SetStandingOwnerID (bool set)
 
void SetPassword (std::string pass)
 
bool HasForceField ()
 
bool GetStatusDrop ()
 
bool GetCorpWar ()
 
float GetStanding ()
 
uint32 GetStandingOwnerID ()
 
std::string GetPassword ()
 
bool ShowInCalendar ()
 
bool SendFuelNotifications ()
 
void SetShowInCalendar (bool set)
 
void SetSendFuelNotifications (bool set)
 
void GetTowerData (EVEPOS::TowerData &tData)
 
uint16 GetSOI ()
 
void AddModule (StructureSE *pSE)
 
void RemoveModule (StructureSE *pSE)
 
void UpdateAccess ()
 
void UpdateSentry ()
 
void UpdateNotify ()
 
void UpdatePermission ()
 
void ApplyResist (uint16 type, float amount)
 
void RemoveResist (uint16 type, float amount)
 
void OnlineModule (StructureSE *pSE)
 
void OfflineModule (StructureSE *pSE)
 
bool HasPG (float amount)
 
bool HasCPU (float amount)
 
float GetPGLoad ()
 
float GetCPULoad ()
 
- Public Member Functions inherited from StructureSE
virtual ~StructureSE ()
 
virtual StructureSEGetPOSSE ()
 
virtual StructureSEGetOutpostSE ()
 
virtual ArraySEGetArraySE ()
 
virtual BatterySEGetBatterySE ()
 
virtual WeaponSEGetWeaponSE ()
 
virtual ReactorSEGetReactorSE ()
 
virtual TCUSEGetTCUSE ()
 
virtual SBUSEGetSBUSE ()
 
virtual IHubSEGetIHubSE ()
 
virtual JumpBridgeSEGetJumpBridgeSE ()
 
virtual bool IsPOSSE ()
 
virtual bool IsTCUSE ()
 
virtual bool IsSBUSE ()
 
virtual bool IsIHubSE ()
 
virtual bool IsJammerSE ()
 
virtual bool IsCynoGeneratorSE ()
 
virtual bool IsMoonMiner ()
 
virtual bool IsOutpostSE ()
 
virtual bool IsJumpBridgeSE ()
 
virtual bool IsArraySE ()
 
virtual bool IsBatterySE ()
 
virtual bool IsWeaponSE ()
 
virtual bool IsReactorSE ()
 
uint8 GetState () const
 
int8 GetProcState ()
 
float GetStatus ()
 
MoonSEGetMoonSE ()
 
PlanetSEGetPlanetSE ()
 
StargateSEGetGateSE ()
 
void SetPOSState (uint8 state)
 
void SetTimer (uint32 time)
 
int8 CanUse ()
 
int8 CanView ()
 
int8 CanTake ()
 
void SetPlanet (uint32 planetID)
 
uint32 GetPlanetID ()
 
void UpdateTimeStamp ()
 
void UpdateUsageFlags ()
 
bool IsReinforced ()
 
 StructureSE (StructureItemRef structure, PyServiceMgr &services, SystemManager *system, const FactionData &data)
 
virtual void EncodeDestiny (Buffer &into)
 
virtual void Killed (Damage &fatal_blow)
 
virtual void SetInvulnerable ()
 
virtual void SetVulnerable ()
 
virtual void SetOperating ()
 
void Drop (SystemBubble *pBubble)
 
void Anchor ()
 
void Offline ()
 
void PullAnchor ()
 
void SetAnchor (Client *pClient, GPoint &pos)
 
void Activate (int32 effectID)
 
void Deactivate (int32 effectID)
 
void GetEffectState (PyList &into)
 
void SetUsageFlags (int8 view=0, int8 take=0, int8 use=0)
 
void SendSlimUpdate ()
 
- Public Member Functions inherited from DynamicSystemEntity
 DynamicSystemEntity (InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
 
virtual ~DynamicSystemEntity ()
 
virtual DynamicSystemEntityGetDynamicSE ()
 
virtual bool IsDynamicEntity ()
 
virtual void UpdateDamage ()
 
virtual void MakeDamageState (DoDestinyDamageState &into)
 
virtual bool Load ()
 
virtual bool IsInvul ()
 
virtual bool IsFrozen ()
 
void AwardBounty (Client *pClient)
 
void SetInvul (bool invul=false)
 
void SetFrozen (bool frozen=false)
 
- Public Member Functions inherited from SystemEntity
 SystemEntity (InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
 
virtual ~SystemEntity ()
 
virtual bool ProcessTic ()
 
virtual SystemEntityGetSE ()
 
virtual StaticSystemEntityGetStaticSE ()
 
virtual StationSEGetStationSE ()
 
virtual BeltSEGetBeltSE ()
 
virtual ItemSystemEntityGetItemSE ()
 
virtual ContainerSEGetContSE ()
 
virtual WreckSEGetWreckSE ()
 
virtual AnomalySEGetAnomalySE ()
 
virtual WormholeSEGetWormholeSE ()
 
virtual FieldSEGetFieldSE ()
 
virtual ProbeSEGetProbeSE ()
 
virtual ObjectSystemEntityGetObjectSE ()
 
virtual AsteroidSEGetAsteroidSE ()
 
virtual StructureSEGetJammerSE ()
 
virtual DeployableSEGetDeployableSE ()
 
virtual SentryGetSentrySE ()
 
virtual ModuleSEGetModuleSE ()
 
virtual CustomsSEGetCOSE ()
 
virtual NPCGetNPCSE ()
 
virtual DroneSEGetDroneSE ()
 
virtual MissileGetMissileSE ()
 
virtual ShipSEGetShipSE ()
 
virtual ConcordGetConcordSE ()
 
virtual bool isGlobal ()
 
virtual bool IsSystemEntity ()
 
virtual bool IsInanimateSE ()
 
virtual bool IsStaticEntity ()
 
virtual bool IsBeltSE ()
 
virtual bool IsGateSE ()
 
virtual bool IsPlanetSE ()
 
virtual bool IsMoonSE ()
 
virtual bool IsStationSE ()
 
virtual bool IsItemEntity ()
 
virtual bool IsAnomalySE ()
 
virtual bool IsWormholeSE ()
 
virtual bool IsCelestialSE ()
 
virtual bool IsContainerSE ()
 
virtual bool IsFieldSE ()
 
virtual bool IsProbeSE ()
 
virtual bool IsObjectEntity ()
 
virtual bool IsSentrySE ()
 
virtual bool IsCOSE ()
 
virtual bool IsModuleSE ()
 
virtual bool IsAsteroidSE ()
 
virtual bool IsDeployableSE ()
 
virtual bool IsOperSE ()
 
virtual bool IsLogin ()
 
virtual bool IsNPCSE ()
 
virtual bool IsDroneSE ()
 
virtual bool IsWreckSE ()
 
virtual bool IsMissileSE ()
 
virtual bool IsShipSE ()
 
virtual bool IsConcord ()
 
PyServiceMgrGetServices ()
 
SystemBubbleSysBubble ()
 
SystemManagerSystemMgr ()
 
TargetManagerTargetMgr ()
 
DestinyManagerDestinyMgr ()
 
InventoryItemRef GetSelf ()
 
uint16 GetTypeID ()
 
uint32 GetGroupID ()
 
uint8 GetCategoryID ()
 
EVEItemFlags GetFlag ()
 
uint32 GetID ()
 
double GetRadius ()
 
uint32 GetLocationID ()
 
const char * GetName () const
 
const GPointGetPosition () const
 
void SetPosition (const GPoint &pos)
 
double x ()
 
double y ()
 
double z ()
 
int32 GetAllianceID ()
 
int32 GetWarFactionID ()
 
uint32 GetCorporationID ()
 
uint32 GetOwnerID ()
 
uint32 GetFleetID ()
 
void SetFleetID (uint32 set)
 
int8 GetHarmonic ()
 
void SetHarmonic (int8 set)
 
void DropLoot (WreckContainerRef wreckRef, uint32 groupID, uint32 owner)
 
void AwardSecurityStatus (InventoryItemRef iRef, Character *pChar)
 
void SendDamageStateChanged ()
 
bool ApplyDamage (Damage &d)
 
double DistanceTo2 (const SystemEntity *other)
 
PyTupleMakeDamageState ()
 
virtual void Abandon ()
 
const bool IsDead ()
 
const GVectorGetVelocity ()
 
virtual bool LoadExtras ()
 
virtual void Delete ()
 
virtual void SetPilot (Client *pClient)
 
virtual bool HasPilot ()
 
virtual ClientGetPilot ()
 

Protected Attributes

EVEPOS::TowerData m_tdata
 
SystemEntitym_pShieldSE
 
- Protected Attributes inherited from StructureSE
PosMgrDB m_db
 
MoonSEm_moonSE
 
PlanetSEm_planetSE
 
TowerSEm_towerSE
 
TCUSEm_tcuSE
 
SBUSEm_sbuSE
 
IHubSEm_ihubSE
 
JumpBridgeSEm_bridgeSE
 
StargateSEm_gateSE
 
EVEPOS::StructureData m_data
 
int8 m_procState
 
uint32 m_delayTime
 
GVector m_rotation
 
uint32 m_anchorPointID
 
- Protected Attributes inherited from SystemEntity
SystemBubblem_bubble
 
SystemManagerm_system
 
TargetManagerm_targMgr
 
DestinyManagerm_destiny
 
PyServiceMgrm_services
 
InventoryItemRef m_self
 
bool m_killed
 
double m_radius
 
int32 m_harmonic
 
int32 m_warID
 
int32 m_allyID
 
uint32 m_corpID
 
uint32 m_fleetID
 
uint32 m_ownerID
 

Private Attributes

bool m_hasShield
 
int8 m_tsize
 
float m_pg
 
float m_cpu
 
uint16 m_soi
 
std::map< uint32, StructureSE * > m_structs
 

Tower.cpp

Class for POS Towers.

: Allan

Date
: 28 December 17
 TowerSE (StructureItemRef structure, PyServiceMgr &services, SystemManager *system, const FactionData &fData)
 
virtual void Process ()
 
virtual PyDictMakeSlimItem ()
 
virtual void Init ()
 
virtual void InitData ()
 
virtual void SetOnline ()
 
virtual void SetOffline ()
 
virtual void Online ()
 
virtual void Operating ()
 
virtual void Reinforced ()
 
virtual void Scoop ()
 
void ReinforceTower ()
 
PyRepGetDeployFlags ()
 
PyRepGetUsageFlagList ()
 
PyRepGetProcessInfo ()
 
void UpdatePassword ()
 
void SetDeployFlags (int8 anchor=0, int8 unanchor=0, int8 online=0, int8 offline=0)
 
void SetUseFlags (uint32 itemID, int8 view=0, int8 take=0, int8 use=0)
 
void CreateForceField ()
 

Additional Inherited Members

- Protected Member Functions inherited from StructureSE
void SendEffectUpdate (int16 effectID, bool active)
 

Detailed Description

Definition at line 19 of file Tower.h.

Constructor & Destructor Documentation

TowerSE::TowerSE ( StructureItemRef  structure,
PyServiceMgr services,
SystemManager system,
const FactionData fData 
)
Todo:
(Allan) this class needs more research to finish see pics in ::GamePC/G/games/EvE/misc/POS flagStructureActive = 144, flagStructureInactive = 145, AttrOperationConsumptionRate = 687, AttrReinforcedConsumptionRate = 688, AttrResourceReinforced1Type = 694, AttrResourceReinforced2Type = 695, AttrResourceReinforced3Type = 696, AttrResourceReinforced4Type = 697, AttrResourceReinforced5Type = 698, AttrResourceReinforced1Quantity = 699, AttrResourceReinforced2Quantity = 700, AttrResourceReinforced3Quantity = 701, AttrResourceReinforced4Quantity = 703, AttrResourceReinforced5Quantity = 704, AttrResourceOnline1Type = 705, AttrResourceOnline2Type = 706, AttrResourceOnline3Type = 707, AttrResourceOnline4Type = 708, many other attributes for towers and their modules..... AttrControlTowerMissileVelocityBonus = 792, AttrControlTowerSize = 1031, AttrAnchoringSecurityLevelMax = 1032, AttrAnchoringRequiresSovereignty = 1033, AttrControlTowerMinimumDistance = 1165, AttrPosPlayerControlStructure = 1167, AttrIsIncapacitated = 1168, AttrPosStructureControlAmount = 1174, AttrOnliningRequiresSovereigntyLevel = 1185, AttrPosAnchoredPerSolarSystemAmount = 1195, AttrPosStructureControlDistanceMax = 1214, AttrAnchoringRequiresSovereigntyLevel = 1215, AttrHarvesterType = 709, AttrHarvesterQuality = 710, AttrMoonAnchorDistance = 711, AttrUsageDamagePercent = 712, AttrConsumptionType = 713, AttrConsumptionQuantity = 714, AttrMaxOperationalDistance = 715, for sma, hangar, etc AttrMaxOperationalUsers = 716, for sma, hangar, etc AttrRefiningYieldMultiplier = 717, AttrOperationalDuration = 719, AttrRefineryCapacity = 720, AttrRefiningDelayMultiplier = 721, AttrPosControlTowerPeriod = 722, AttrMoonMiningAmount = 726, AttrControlTowerLaserDamageBonus = 728, AttrControlTowerLaserOptimalBonus = 750, AttrControlTowerHybridOptimalBonus = 751, AttrControlTowerProjectileOptimalBonus = 752, AttrControlTowerProjectileFallOffBonus = 753, AttrControlTowerProjectileROFBonus = 754, AttrControlTowerMissileROFBonus = 755, AttrControlTowerMoonHarvesterCPUBonus = 756, AttrControlTowerSiloCapacityBonus = 757, AttrControlTowerLaserProximityRangeBonus = 760, AttrControlTowerProjectileProximityRangeBonus = 761, AttrControlTowerHybridProximityRangeBonus = 762, AttrMaxGroupActive = 763, AttrControlTowerEwRofBonus = 764, AttrScanRange = 765, AttrControlTowerHybridDamageBonus = 766, AttrTrackingSpeedBonus = 767, AttrMaxRangeBonus2 = 769, AttrControlTowerEwTargetSwitchDelayBonus = 770, AttrAmmoCapacity = 771, AttrActivationBlocked = 1349, AttrActivationBlockedStrenght = 1350, AttrPosCargobayAcceptType = 1351, AttrPosCargobayAcceptGroup = 1352,
Note
these are defined, but i dunno what they are AttrControlTowerMinimumDistance

Definition at line 105 of file Tower.cpp.

References AttrControlTowerSize, AttrCpuOutput, AttrPosStructureControlDistanceMax, AttrPowerOutput, EvilNumber::get_int(), InventoryItem::GetAttribute(), m_cpu, m_hasShield, m_pg, SystemEntity::m_self, m_soi, m_structs, m_tdata, and m_tsize.

106 : StructureSE(structure, services, system, fData),
107 m_pShieldSE(nullptr)
108 {
109  m_hasShield = false;
110  m_structs.clear();
111 
112  // create AI object for tower here....not written yet.
113  //m_ai = new POS_AI(this);
114 
117 
119  if ((m_tsize < 1) or (m_tsize > 3))
120  m_tsize = 1; // do something constructive here cause size is wrong
122 
123 
125 
134 }
float m_cpu
Definition: Tower.h:131
uint16 m_soi
Definition: Tower.h:133
StructureSE(StructureItemRef structure, PyServiceMgr &services, SystemManager *system, const FactionData &data)
Definition: Structure.cpp:193
std::map< uint32, StructureSE * > m_structs
Definition: Tower.h:135
InventoryItemRef m_self
Definition: SystemEntity.h:269
int64 get_int()
Definition: EvilNumber.cpp:166
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
EvilNumber GetAttribute(const uint16 attrID) const
bool m_hasShield
Definition: Tower.h:126
float m_pg
Definition: Tower.h:130
SystemEntity * m_pShieldSE
Definition: Tower.h:120
int8 m_tsize
Definition: Tower.h:128

Here is the call graph for this function:

virtual TowerSE::~TowerSE ( )
inlinevirtual

Definition at line 24 of file Tower.h.

24 { /* do nothing here */ }

Member Function Documentation

void TowerSE::AddModule ( StructureSE pSE)
inline

Definition at line 92 of file Tower.h.

References SystemEntity::GetID(), and m_structs.

Referenced by StructureSE::Init().

92 { m_structs.emplace(pSE->GetID(), pSE); }
std::map< uint32, StructureSE * > m_structs
Definition: Tower.h:135
uint32 GetID()
Definition: SystemEntity.h:207

Here is the call graph for this function:

Here is the caller graph for this function:

void TowerSE::ApplyResist ( uint16  type,
float  amount 
)
inline

Definition at line 102 of file Tower.h.

102 { /* do nothing here */ }
void TowerSE::CreateForceField ( )
private

Definition at line 491 of file Tower.cpp.

References SystemManager::AddEntity(), FactionData::allianceID, AttrRadius, AttrShieldRadius, FactionData::corporationID, FactionData::factionID, flagNone, EVEDB::invTypes::ForceField, InventoryItem::GetAttribute(), SystemManager::GetID(), SystemEntity::GetPosition(), SystemEntity::m_allyID, SystemEntity::m_corpID, SystemEntity::m_harmonic, m_hasShield, SystemEntity::m_ownerID, m_pShieldSE, SystemEntity::m_self, SystemEntity::m_services, SystemEntity::m_system, SystemEntity::m_warID, FactionData::ownerID, SystemEntity::SetHarmonic(), and sItemFactory.

Referenced by Init(), SetOnline(), and UpdatePassword().

492 {
493  if (m_hasShield)
494  return;
495  // create and add force field to tower
497  InventoryItemRef ifRef = sItemFactory.SpawnItem(idata);
498  if (ifRef.get() == nullptr)
499  return; // we'll get over it
500  ifRef->SetPosition(GetPosition());
501  ifRef->SetAttribute(AttrRadius, m_self->GetAttribute(AttrShieldRadius));
502  FactionData data = FactionData();
503  data.allianceID = m_allyID;
504  data.corporationID = m_corpID;
505  data.factionID = m_warID;
506  data.ownerID = m_ownerID;
507  FieldSE* iSE = new FieldSE(ifRef, m_services, m_system, data);
508  // set shield harmonic to tower harmonic
509  iSE->SetHarmonic(m_harmonic);
510  m_system->AddEntity(iSE);
511  m_pShieldSE = iSE;
512  m_hasShield = true;
513 }
void AddEntity(SystemEntity *pSE, bool addSignal=true)
uint32 m_ownerID
Definition: SystemEntity.h:283
PyServiceMgr & m_services
Definition: SystemEntity.h:267
uint32 GetID() const
Definition: SystemManager.h:80
int32 m_harmonic
Definition: SystemEntity.h:276
const GPoint & GetPosition() const
Definition: SystemEntity.h:211
InventoryItemRef m_self
Definition: SystemEntity.h:269
uint32 m_corpID
Definition: SystemEntity.h:281
SystemManager * m_system
Definition: SystemEntity.h:263
uint32 corporationID
EvilNumber GetAttribute(const uint16 attrID) const
bool m_hasShield
Definition: Tower.h:126
#define sItemFactory
Definition: ItemFactory.h:165
SystemEntity * m_pShieldSE
Definition: Tower.h:120
void SetHarmonic(int8 set)
Definition: SystemEntity.h:224

Here is the call graph for this function:

Here is the caller graph for this function:

bool TowerSE::GetCorpWar ( )
inline

Definition at line 78 of file Tower.h.

References EVEPOS::TowerData::corpWar, and m_tdata.

78 { return m_tdata.corpWar; }
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
float TowerSE::GetCPULoad ( )
inline

Definition at line 115 of file Tower.h.

References m_cpu.

Referenced by StructureSE::Activate().

115 { return m_cpu; }
float m_cpu
Definition: Tower.h:131

Here is the caller graph for this function:

PyRep * TowerSE::GetDeployFlags ( )

Definition at line 355 of file Tower.cpp.

References EVEPOS::TowerData::anchor, m_tdata, EVEPOS::TowerData::offline, EVEPOS::TowerData::online, PyList::SetItem(), PyList::SetItemString(), PyDict::SetItemString(), and EVEPOS::TowerData::unanchor.

356 {
357  PyList* header = new PyList(4);
358  header->SetItemString(0, "anchor");
359  header->SetItemString(1, "unanchor");
360  header->SetItemString(2, "online");
361  header->SetItemString(3, "offline");
362  PyList* line = new PyList(4); // these are structure permissions for this tower
363  line->SetItem(0, new PyInt(m_tdata.anchor));
364  line->SetItem(1, new PyInt(m_tdata.unanchor));
365  line->SetItem(2, new PyInt(m_tdata.online));
366  line->SetItem(3, new PyInt(m_tdata.offline));
367 
368  PyDict* dict = new PyDict();
369  dict->SetItemString("header", header);
370  dict->SetItemString("line", line);
371 
372  return new PyObject("util.Row", dict);
373 }
Python's dictionary.
Definition: PyRep.h:719
void SetItemString(size_t index, const char *str)
Stores Python string.
Definition: PyRep.h:699
Python object.
Definition: PyRep.h:826
Python integer.
Definition: PyRep.h:231
void SetItem(size_t index, PyRep *object)
Stores Python object.
Definition: PyRep.h:682
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
Python list.
Definition: PyRep.h:639
void SetItemString(const char *key, PyRep *value)
SetItemString adds or sets a database entry.
Definition: PyRep.h:812

Here is the call graph for this function:

std::string TowerSE::GetPassword ( )
inline

Definition at line 81 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::password.

81 { return m_tdata.password; }
std::string password
Definition: EVE_POS.h:56
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
float TowerSE::GetPGLoad ( )
inline

Definition at line 114 of file Tower.h.

References m_pg.

Referenced by StructureSE::Activate().

114 { return m_pg; }
float m_pg
Definition: Tower.h:130

Here is the caller graph for this function:

PyRep * TowerSE::GetProcessInfo ( )

Definition at line 429 of file Tower.cpp.

References PyList::AddItem(), PyRep::Dump(), is_log_enabled, m_structs, EVEDB::invGroups::Mobile_Reactor, EVEDB::invGroups::Moon_Mining, PyStatic, PyTuple::SetItem(), and EVEDB::invGroups::Silo.

430 {
431  /*
432  info = self.posMgr.GetMoonProcessInfoForTower(self.slimItem.itemID)
433  itemID, active, reaction, connections, demands, supplies in info:
434 
435  if reaction and rec.groupID == const.groupMobileReactor and not demands and not supplies:
436  demands = [ (row.typeID, row.quantity) for row in cfg.invtypereactions[reaction[1]] if row.input == 1 ]
437  supplies = [ (row.typeID, row.quantity) for row in cfg.invtypereactions[reaction[1]] if row.input == 0 ]
438  demand = {}
439  demands = demands or []
440  for tID, quant in demands:
441  demand[tID] = quant
442 
443  supply = {}
444  supplies = supplies or []
445  for tID, quant in supplies:
446  supply[tID] = quant
447 
448  for sourceID, tID in connections:
449  self.sr.structureConnections[tID, sourceID] = itemID
450 
451  [PyList 2 items]
452  [PyTuple 6 items]
453  [PyIntegerVar 1002332982210]
454  [PyBool False]
455  [PyNone]
456  [PyList 0 items]
457  [PyList 0 items]
458  [PyList 0 items]
459  [PyTuple 6 items]
460  [PyIntegerVar 1002331680835]
461  [PyBool False]
462  [PyNone]
463  [PyList 0 items]
464  [PyList 0 items]
465  [PyList 0 items]
466  */
467 
468  PyList* list = new PyList();
469  for (auto cur : m_structs) {
470  switch (cur.second->GetSelf()->groupID()) {
474  PyTuple* tuple = new PyTuple(6);
475  tuple->SetItem(0, new PyInt(cur.first));
476  tuple->SetItem(1, new PyBool(false));
477  tuple->SetItem(2, PyStatic.NewNone());
478  tuple->SetItem(3, new PyList());
479  tuple->SetItem(4, new PyList());
480  tuple->SetItem(5, new PyList());
481  list->AddItem(tuple);
482  }
483  }
484  }
485 
486  if (is_log_enabled(POS__RSP_DUMP))
487  list->Dump(POS__RSP_DUMP, " ");
488  return list;
489 }
Python tuple.
Definition: PyRep.h:567
void Dump(FILE *into, const char *pfx) const
Dumps object to file.
Definition: PyRep.cpp:84
void AddItem(PyRep *i)
Definition: PyRep.h:701
Python boolean.
Definition: PyRep.h:323
#define is_log_enabled(type)
Definition: logsys.h:78
std::map< uint32, StructureSE * > m_structs
Definition: Tower.h:135
void SetItem(size_t index, PyRep *object)
Stores Python object.
Definition: PyRep.h:610
Python integer.
Definition: PyRep.h:231
#define PyStatic
Definition: PyRep.h:1209
Python list.
Definition: PyRep.h:639

Here is the call graph for this function:

uint16 TowerSE::GetSOI ( )
inline

Definition at line 90 of file Tower.h.

References m_soi.

Referenced by Client::Board(), CynoModule::CanActivate(), and Client::Eject().

90 { return m_soi; }
uint16 m_soi
Definition: Tower.h:133

Here is the caller graph for this function:

float TowerSE::GetStanding ( )
inline

Definition at line 79 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::standing.

79 { return m_tdata.standing; }
float standing
Definition: EVE_POS.h:55
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
uint32 TowerSE::GetStandingOwnerID ( )
inline

Definition at line 80 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::standingOwnerID.

80 { return m_tdata.standingOwnerID; }
int32 standingOwnerID
Definition: EVE_POS.h:53
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
bool TowerSE::GetStatusDrop ( )
inline

Definition at line 77 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::statusDrop.

77 { return m_tdata.statusDrop; }
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::GetTowerData ( EVEPOS::TowerData tData)
inline

Definition at line 88 of file Tower.h.

References m_tdata.

88 { tData = m_tdata; }
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
virtual TowerSE* TowerSE::GetTowerSE ( )
inlinevirtual

Reimplemented from StructureSE.

Definition at line 27 of file Tower.h.

27 { return this; }
PyRep * TowerSE::GetUsageFlagList ( )

Definition at line 384 of file Tower.cpp.

References PyList::AddItem(), m_structs, PyList::SetItem(), PyList::SetItemString(), and PyDict::SetItemString().

385 {
386  /*
387  [PyObject Name: eve.common.script.sys.rowset.Rowset]
388  [PyDict 3 kvp]
389  Key:[PyString "header"]
390  ==Value:[PyList 4 items]
391  [PyString "structureID"]
392  [PyString "viewput"]
393  [PyString "viewputtake"]
394  [PyString "use"]
395  Key:[PyString "RowClass"]
396  ==Value:[PyToken carbon.common.script.sys.row.Row]
397  Key:[PyString "lines"]
398  ==Value:[PyList 1 items]
399  [PyList 4 items]
400  [PyIntegerVar 1010759458081]
401  [PyInt 3]
402  [PyInt 0]
403  [PyInt 0]
404  */
405 
406  PyList* header = new PyList(4);
407  header->SetItemString(0, "structureID");
408  header->SetItemString(1, "viewput");
409  header->SetItemString(2, "viewputtake");
410  header->SetItemString(3, "use");
411  PyList* lines = new PyList();
412  for (auto cur : m_structs) {
413  PyList* line = new PyList(4);
414  line->SetItem(0, new PyInt(cur.first));
415  line->SetItem(1, new PyInt(cur.second->CanView()));
416  line->SetItem(2, new PyInt(cur.second->CanTake()));
417  line->SetItem(3, new PyInt(cur.second->CanUse()));
418  lines->AddItem(line);
419  }
420 
421  PyDict* dict = new PyDict();
422  dict->SetItemString("header", header);
423  dict->SetItemString("RowClass", new PyToken("util.Row"));
424  dict->SetItemString("lines", lines);
425 
426  return new PyObject("util.Rowset", dict);
427 }
Python's dictionary.
Definition: PyRep.h:719
void SetItemString(size_t index, const char *str)
Stores Python string.
Definition: PyRep.h:699
void AddItem(PyRep *i)
Definition: PyRep.h:701
std::map< uint32, StructureSE * > m_structs
Definition: Tower.h:135
Python object.
Definition: PyRep.h:826
Python integer.
Definition: PyRep.h:231
void SetItem(size_t index, PyRep *object)
Stores Python object.
Definition: PyRep.h:682
Python token (eg. class name).
Definition: PyRep.h:522
Python list.
Definition: PyRep.h:639
void SetItemString(const char *key, PyRep *value)
SetItemString adds or sets a database entry.
Definition: PyRep.h:812

Here is the call graph for this function:

bool TowerSE::HasCPU ( float  amount)
inline

Definition at line 112 of file Tower.h.

Referenced by StructureSE::Activate().

112 { return true; }

Here is the caller graph for this function:

bool TowerSE::HasForceField ( )
inline

Definition at line 76 of file Tower.h.

References m_hasShield.

Referenced by Client::Board(), CynoModule::CanActivate(), and Client::Eject().

76 { return (m_hasShield? true : false); }
bool m_hasShield
Definition: Tower.h:126

Here is the caller graph for this function:

bool TowerSE::HasPG ( float  amount)
inline

Definition at line 110 of file Tower.h.

Referenced by StructureSE::Activate().

110 { return true; }

Here is the caller graph for this function:

void TowerSE::Init ( )
virtual
Todo:
will have to check if Online or Operating in these two cases, remove resources based on time running. if resources run out, reset state and set timer accordingly. if reinforced, remove resources and continue until timer runs out.

timer is in base StructureSE code.

Reimplemented from StructureSE.

Definition at line 136 of file Tower.cpp.

References _log, EVEPOS::StructureState::Anchored, CreateForceField(), PosMgrDB::GetTowerData(), EVEPOS::TowerData::harmonic, StructureSE::Init(), InitData(), InventoryItem::itemID(), SystemEntity::m_bubble, StructureSE::m_data, StructureSE::m_db, SystemEntity::m_harmonic, StructureSE::m_moonSE, SystemEntity::m_self, m_tdata, InventoryItem::name(), EVEPOS::Harmonic::Offline, EVEPOS::TowerData::password, MoonSE::SetTower(), SystemBubble::SetTowerSE(), EVEPOS::StructureData::state, and EVEPOS::StructureState::Unanchored.

137 {
139 
140  if (!m_db.GetTowerData(m_tdata, m_data)) {
141  _log(SE__TRACE, "TowerSE %s(%u) has no saved data. Initializing default set.", m_self->name(), m_self->itemID());
142  // invalid data....init to 0 as this will only hit for currently-launching items (or errors)
143  InitData();
144  }
145 
146  // if password is already set and tower online, then we can online (create) the forcefield
149  and (!m_tdata.password.empty())
152 
153  // if tower anchored, tell moon this is its tower
155  m_moonSE->SetTower(this);
156 
157  // set tower in bubble
158  if (m_bubble == nullptr)
159  assert(0);
160  m_bubble->SetTowerSE(this);
161 
171  // take resources, move items, process reactions or whatever needs to be done (follow PI proc code)
172 
173 }
virtual void InitData()
Definition: Tower.cpp:175
#define _log(type, fmt,...)
Definition: logsys.h:124
int32 harmonic
Definition: EVE_POS.h:52
SystemBubble * m_bubble
Definition: SystemEntity.h:262
void CreateForceField()
Definition: Tower.cpp:491
const char * name()
int32 m_harmonic
Definition: SystemEntity.h:276
std::string password
Definition: EVE_POS.h:56
InventoryItemRef m_self
Definition: SystemEntity.h:269
bool GetTowerData(EVEPOS::TowerData &tData, EVEPOS::StructureData &sData)
Definition: PosMgrDB.cpp:140
EVEPOS::StructureData m_data
Definition: Structure.h:212
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void SetTowerSE(TowerSE *pTower)
Definition: SystemBubble.h:143
MoonSE * m_moonSE
Definition: Structure.h:203
void SetTower(StructureSE *pSE)
Definition: Moon.h:47
PosMgrDB m_db
Definition: Structure.h:201
virtual void Init()
Definition: Structure.cpp:275
uint32 itemID() const
Definition: InventoryItem.h:98

Here is the call graph for this function:

void TowerSE::InitData ( )
virtual
Todo:
get sov holder here.

Reimplemented from StructureSE.

Definition at line 175 of file Tower.cpp.

References EVEPOS::TowerData::harmonic, StructureSE::InitData(), StructureSE::m_data, StructureSE::m_db, SystemEntity::m_harmonic, m_tdata, PosMgrDB::SaveTowerData(), and EVEPOS::TowerData::standingOwnerID.

Referenced by Init().

175  {
176  // init base data first
178  m_tdata.harmonic = m_harmonic; // set during base SE creation
182 }
int32 standingOwnerID
Definition: EVE_POS.h:53
int32 harmonic
Definition: EVE_POS.h:52
int32 m_harmonic
Definition: SystemEntity.h:276
void SaveTowerData(EVEPOS::TowerData &tData, EVEPOS::StructureData &sData)
Definition: PosMgrDB.cpp:178
virtual void InitData()
Definition: Structure.cpp:240
EVEPOS::StructureData m_data
Definition: Structure.h:212
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
PosMgrDB m_db
Definition: Structure.h:201

Here is the call graph for this function:

Here is the caller graph for this function:

virtual bool TowerSE::IsTowerSE ( )
inlinevirtual

Reimplemented from StructureSE.

Definition at line 30 of file Tower.h.

30 { return true; }
PyDict * TowerSE::MakeSlimItem ( )
virtual

Reimplemented from StructureSE.

Definition at line 515 of file Tower.cpp.

References _log, SystemEntity::GetID(), SystemEntity::GetName(), EVEPOS::StructureState::Incapacitated, is_log_enabled, IsAlliance, IsCorp, IsFaction, InventoryItem::itemID(), InventoryItem::itemName(), SystemEntity::m_allyID, SystemEntity::m_corpID, StructureSE::m_data, StructureSE::m_delayTime, SystemEntity::m_ownerID, SystemEntity::m_self, SystemEntity::m_warID, PyStatic, EVEPOS::StructureData::state, EVEPOS::StructureData::timestamp, and InventoryItem::typeID().

516 {
517  _log(SE__SLIMITEM, "MakeSlimItem for TowerSE %u", m_self->itemID());
518  _log(POS__SLIMITEM, "MakeSlimItem for TowerSE %u", m_self->itemID());
519 
520  PyDict *slim = new PyDict();
521  slim->SetItemString("name", new PyString(m_self->itemName()));
522  slim->SetItemString("itemID", new PyLong(m_self->itemID()));
523  slim->SetItemString("typeID", new PyInt(m_self->typeID()));
524  slim->SetItemString("ownerID", new PyInt(m_ownerID));
525  slim->SetItemString("corpID", IsCorp(m_corpID) ? new PyInt(m_corpID) : PyStatic.NewNone());
526  slim->SetItemString("allianceID", IsAlliance(m_allyID) ? new PyInt(m_allyID) : PyStatic.NewNone());
527  slim->SetItemString("warFactionID", IsFaction(m_warID) ? new PyInt(m_warID) : PyStatic.NewNone());
528  slim->SetItemString("posTimestamp", new PyLong(m_data.timestamp));
529  slim->SetItemString("posState", new PyInt(m_data.state));
530  slim->SetItemString("incapacitated", new PyInt((m_data.state == EVEPOS::StructureState::Incapacitated) ? 1 : 0));
531  slim->SetItemString("posDelayTime", new PyInt(m_delayTime));
532 
533  if (is_log_enabled(POS__SLIMITEM)) {
534  _log( POS__SLIMITEM, "TowerSE::MakeSlimItem() - %s(%u)", GetName(), GetID());
535  slim->Dump(POS__SLIMITEM, " ");
536  }
537  return slim;
538 }
#define _log(type, fmt,...)
Definition: logsys.h:124
Python string.
Definition: PyRep.h:430
Python's dictionary.
Definition: PyRep.h:719
uint32 m_ownerID
Definition: SystemEntity.h:283
uint32 m_delayTime
Definition: Structure.h:217
#define is_log_enabled(type)
Definition: logsys.h:78
InventoryItemRef m_self
Definition: SystemEntity.h:269
uint32 m_corpID
Definition: SystemEntity.h:281
Python integer.
Definition: PyRep.h:231
uint32 GetID()
Definition: SystemEntity.h:207
#define PyStatic
Definition: PyRep.h:1209
const char * GetName() const
Definition: SystemEntity.h:210
EVEPOS::StructureData m_data
Definition: Structure.h:212
#define IsCorp(itemID)
Definition: EVE_Defines.h:234
const std::string & itemName() const
#define IsFaction(itemID)
Definition: EVE_Defines.h:250
#define IsAlliance(itemID)
Definition: EVE_Defines.h:244
uint16 typeID() const
uint32 itemID() const
Definition: InventoryItem.h:98
Python long integer.
Definition: PyRep.h:261

Here is the call graph for this function:

virtual void TowerSE::MissileLaunched ( Missile pMissile)
inlinevirtual

Reimplemented from StructureSE.

Definition at line 41 of file Tower.h.

41 { /* Do nothing here */ }
void TowerSE::OfflineModule ( StructureSE pSE)
inline

Definition at line 107 of file Tower.h.

Referenced by StructureSE::SetOffline().

107 { /* do nothing here */ }

Here is the caller graph for this function:

void TowerSE::Online ( )
virtual

Reimplemented from StructureSE.

Definition at line 262 of file Tower.cpp.

References StructureSE::Online().

263 {
264  // structure online, but not operating
265  // take resources or whatever needs to be done
266  /*
267  * 1031 controlTowerSize 3 NULL
268  *
269  * POS fuel usage per hour
270  * Fuel blocks s:10 m:20 l:40
271  */
272 
273  // if fuel has run out, start reinforced mode.
274 
275 
276  // reset timers
278 
279 }
virtual void Online()
Definition: Structure.cpp:918

Here is the call graph for this function:

void TowerSE::OnlineModule ( StructureSE pSE)
inline

Definition at line 106 of file Tower.h.

Referenced by StructureSE::Activate().

106 { /* do nothing here */ }

Here is the caller graph for this function:

void TowerSE::Operating ( )
virtual

Reimplemented from StructureSE.

Definition at line 281 of file Tower.cpp.

References StructureSE::Operating().

282 {
283  // structure operating
284  // take resources or whatever needs to be done
285 
286  //1031 controlTowerSize 3
287 
288  // if fuel has run out, start reinforced mode.
289 
290  // reset timers
292 
293 }
virtual void Operating()
Definition: Structure.cpp:945

Here is the call graph for this function:

void TowerSE::Process ( )
virtual

Reimplemented from StructureSE.

Definition at line 192 of file Tower.cpp.

References StructureSE::Process().

193 {
194  /* called by EntityList::Process on every loop */
195 
196  // starbase charter checks for empire space
197 
198  // tower-specific tests here
199 
200  /* Enable base call to Process Anchoring, Targeting and Movement */
202 }
virtual void Process()
Definition: Structure.cpp:458

Here is the call graph for this function:

void TowerSE::Reinforced ( )
virtual

Reimplemented from StructureSE.

Definition at line 302 of file Tower.cpp.

303 {
304  // dunno what to do here yet.
305 
306 }
void TowerSE::ReinforceTower ( )

Definition at line 295 of file Tower.cpp.

296 {
297  // see how many stront is in tower and set timer accordingly
298  // Strontium Clathrates s:100 m:200 l:400
299 
300 }
void TowerSE::RemoveModule ( StructureSE pSE)
inline

Definition at line 93 of file Tower.h.

References SystemEntity::GetID(), and m_structs.

93 { m_structs.erase(pSE->GetID()); }
std::map< uint32, StructureSE * > m_structs
Definition: Tower.h:135
uint32 GetID()
Definition: SystemEntity.h:207

Here is the call graph for this function:

void TowerSE::RemoveResist ( uint16  type,
float  amount 
)
inline

Definition at line 103 of file Tower.h.

103 { /* do nothing here */ }
void TowerSE::Scoop ( )
virtual

Reimplemented from StructureSE.

Definition at line 184 of file Tower.cpp.

References InventoryItem::ChangeSingleton(), StructureSE::m_moonSE, SystemEntity::m_self, m_tdata, InventoryItem::SaveItem(), StructureSE::Scoop(), and MoonSE::SetTower().

184  {
186  m_moonSE->SetTower(nullptr);
188  m_self->ChangeSingleton(false);
189  m_self->SaveItem();
190 }
InventoryItemRef m_self
Definition: SystemEntity.h:269
bool ChangeSingleton(bool singleton, bool notify=false)
virtual void Scoop()
Definition: Structure.cpp:449
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
MoonSE * m_moonSE
Definition: Structure.h:203
void SetTower(StructureSE *pSE)
Definition: Moon.h:47

Here is the call graph for this function:

bool TowerSE::SendFuelNotifications ( )
inline

Definition at line 84 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::sendFuelNotifications.

bool sendFuelNotifications
Definition: EVE_POS.h:46
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::SetAllyAccess ( bool  set)
inline

Definition at line 71 of file Tower.h.

References EVEPOS::TowerData::allowAlliance, and m_tdata.

71 { m_tdata.allowAlliance = set; }
bool allowAlliance
Definition: EVE_POS.h:41
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::SetCorpAccess ( bool  set)
inline

Definition at line 70 of file Tower.h.

References EVEPOS::TowerData::allowCorp, and m_tdata.

70 { m_tdata.allowCorp = set; }
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::SetCorpWar ( bool  set)
inline

Definition at line 69 of file Tower.h.

References EVEPOS::TowerData::corpWar, and m_tdata.

69 { m_tdata.corpWar = set; } // shoot if we are at war with them
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::SetDeployFlags ( int8  anchor = 0,
int8  unanchor = 0,
int8  online = 0,
int8  offline = 0 
)

Definition at line 345 of file Tower.cpp.

References EVEPOS::TowerData::anchor, EVEPOS::StructureData::itemID, StructureSE::m_data, StructureSE::m_db, m_tdata, EVEPOS::TowerData::offline, EVEPOS::TowerData::online, EVEPOS::TowerData::unanchor, and PosMgrDB::UpdateDeployFlags().

346 {
347  m_tdata.anchor = anchor;
348  m_tdata.unanchor = unanchor;
349  m_tdata.online = online;
350  m_tdata.offline = offline;
351 
353 }
void UpdateDeployFlags(int32 itemID, EVEPOS::TowerData &data)
Definition: PosMgrDB.cpp:456
EVEPOS::StructureData m_data
Definition: Structure.h:212
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
PosMgrDB m_db
Definition: Structure.h:201

Here is the call graph for this function:

void TowerSE::SetOffline ( )
virtual

Reimplemented from StructureSE.

Definition at line 250 of file Tower.cpp.

References SystemEntity::Delete(), m_hasShield, m_pShieldSE, SafeDelete(), and StructureSE::SetOffline().

251 {
252  if (m_hasShield) {
253  m_pShieldSE->Delete();
255  m_hasShield = false;
256  }
257 
259 }
void SafeDelete(T *&p)
Deletes and nullifies a pointer.
Definition: SafeMem.h:83
virtual void Delete()
virtual void SetOffline()
Definition: Structure.cpp:888
bool m_hasShield
Definition: Tower.h:126
SystemEntity * m_pShieldSE
Definition: Tower.h:120

Here is the call graph for this function:

void TowerSE::SetOnline ( )
virtual
Todo:
determine fuel supply and make calendar event for expiration

std::string title = "Expiration of Tower fuel";

std::string description = "The Control Tower "; description += ** get tower name here **; description += " in "; description += ** get tower location name here **; description += " will exhaust it's current fuel supply at this time."; // change this to eve datetime? CalendarDB::SaveSystemEvent(call.client->GetCorporationID(), [towerID here?], expiryTime, Calendar::AutoEvent::PosFuel, title, description, true);

Reimplemented from StructureSE.

Definition at line 215 of file Tower.cpp.

References AttrOnliningDelay, CreateForceField(), flagStructureActive, EvilNumber::get_int(), InventoryItem::GetAttribute(), GetFileTimeNow(), EVEPOS::TowerData::harmonic, InventoryItem::itemID(), StructureSE::m_data, StructureSE::m_db, SystemEntity::m_destiny, SystemEntity::m_harmonic, StructureSE::m_procState, SystemEntity::m_self, m_tdata, EVEPOS::Harmonic::Offline, EVEPOS::Harmonic::Online, EVEPOS::ProcState::Online, EVEPOS::StructureState::Online, EVEPOS::TowerData::password, StructureSE::SendSlimUpdate(), DestinyManager::SendSpecialEffect(), InventoryItem::SetFlag(), StructureSE::SetTimer(), EVEPOS::StructureData::state, EVEPOS::StructureData::timestamp, InventoryItem::typeID(), and PosMgrDB::UpdateBaseData().

216 {
217  //StructureSE::SetOnline();
218 
226 
228  and (!m_tdata.password.empty()))
230 
231  SendSlimUpdate();
232  m_destiny->SendSpecialEffect(m_self->itemID(),m_self->itemID(),m_self->typeID(),0,0,"effects.StructureOnline",0,1,1,-1,0);
233 
235 
248 }
void SetTimer(uint32 time)
Definition: Structure.h:178
int32 harmonic
Definition: EVE_POS.h:52
DestinyManager * m_destiny
Definition: SystemEntity.h:265
bool SetFlag(EVEItemFlags flag, bool notify=false)
void UpdateBaseData(EVEPOS::StructureData &data)
Definition: PosMgrDB.cpp:132
int8 m_procState
Definition: Structure.h:214
void CreateForceField()
Definition: Tower.cpp:491
int32 m_harmonic
Definition: SystemEntity.h:276
void SendSpecialEffect(uint32 entityID, uint32 moduleID, uint32 moduleTypeID, uint32 targetID, uint32 chargeTypeID, std::string guid, bool isOffensive, bool start, bool isActive, int32 duration, uint32 repeat, int32 graphicInfo=0) const
std::string password
Definition: EVE_POS.h:56
InventoryItemRef m_self
Definition: SystemEntity.h:269
int64 get_int()
Definition: EvilNumber.cpp:166
EVEPOS::StructureData m_data
Definition: Structure.h:212
double GetFileTimeNow()
Definition: utils_time.cpp:84
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void SendSlimUpdate()
Definition: Structure.cpp:966
EvilNumber GetAttribute(const uint16 attrID) const
PosMgrDB m_db
Definition: Structure.h:201
uint16 typeID() const
uint32 itemID() const
Definition: InventoryItem.h:98

Here is the call graph for this function:

void TowerSE::SetPassword ( std::string  pass)
inline

Definition at line 74 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::password.

74 { m_tdata.password = pass; }
std::string password
Definition: EVE_POS.h:56
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::SetSendFuelNotifications ( bool  set)
inline

Definition at line 86 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::sendFuelNotifications.

bool sendFuelNotifications
Definition: EVE_POS.h:46
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::SetShowInCalendar ( bool  set)
inline

Definition at line 85 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::showInCalendar.

85 { m_tdata.showInCalendar = set; }
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
bool showInCalendar
Definition: EVE_POS.h:45
void TowerSE::SetStanding ( float  set)
inline

Definition at line 66 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::standing.

66 { m_tdata.standing = set; }
float standing
Definition: EVE_POS.h:55
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::SetStandingOwnerID ( bool  set)
inline

Definition at line 73 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::standingOwnerID.

73 { m_tdata.standingOwnerID = set; }
int32 standingOwnerID
Definition: EVE_POS.h:53
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::SetStatus ( float  set)
inline

Definition at line 67 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::status.

67 { m_tdata.status = set; }
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::SetStatusDrop ( bool  set)
inline

Definition at line 68 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::statusDrop.

68 { m_tdata.statusDrop = set; } // shoot if their status is dropping
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void TowerSE::SetUseAllyStandings ( bool  set)
inline

Definition at line 72 of file Tower.h.

References EVEPOS::TowerData::allyStandings, and m_tdata.

72 { m_tdata.allyStandings = set; } // use alliance standings
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
bool allyStandings
Definition: EVE_POS.h:42
void TowerSE::SetUseFlags ( uint32  itemID,
int8  view = 0,
int8  take = 0,
int8  use = 0 
)

Definition at line 375 of file Tower.cpp.

References m_structs.

376 {
377  std::map<uint32, StructureSE*>::iterator itr = m_structs.find(itemID);
378  if (itr != m_structs.end()) {
379  itr->second->SetUsageFlags(view, take, use);
380  itr->second->UpdateUsageFlags();
381  }
382 }
std::map< uint32, StructureSE * > m_structs
Definition: Tower.h:135
typeID Spawn an NPC with the specified type text Search for items matching the specified query() type()() itemID() copy() materialLevel()() itemID(attributeID)-Retrieves attribute value." ) COMMAND( setattr
bool TowerSE::ShowInCalendar ( )
inline

Definition at line 83 of file Tower.h.

References m_tdata, and EVEPOS::TowerData::showInCalendar.

83 { return m_tdata.showInCalendar; }
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
bool showInCalendar
Definition: EVE_POS.h:45
void TowerSE::UpdateAccess ( )
inline

Definition at line 96 of file Tower.h.

References EVEPOS::StructureData::itemID, StructureSE::m_data, StructureSE::m_db, m_tdata, and PosMgrDB::UpdateAccess().

void UpdateAccess(int32 itemID, EVEPOS::TowerData &data)
Definition: PosMgrDB.cpp:393
EVEPOS::StructureData m_data
Definition: Structure.h:212
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
PosMgrDB m_db
Definition: Structure.h:201

Here is the call graph for this function:

void TowerSE::UpdateNotify ( )
inline

Definition at line 98 of file Tower.h.

References EVEPOS::StructureData::itemID, StructureSE::m_data, StructureSE::m_db, m_tdata, and PosMgrDB::UpdateNotify().

void UpdateNotify(int32 itemID, EVEPOS::TowerData &data)
Definition: PosMgrDB.cpp:412
EVEPOS::StructureData m_data
Definition: Structure.h:212
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
PosMgrDB m_db
Definition: Structure.h:201

Here is the call graph for this function:

void TowerSE::UpdatePassword ( )

Definition at line 308 of file Tower.cpp.

References EVEPOS::StructureState::Anchored, CreateForceField(), SystemEntity::GetSelf(), EVEPOS::TowerData::harmonic, EVEPOS::StructureData::itemID, InventoryItem::itemID(), SystemEntity::m_allyID, SystemEntity::m_corpID, StructureSE::m_data, StructureSE::m_db, SystemEntity::m_destiny, SystemEntity::m_harmonic, m_pShieldSE, m_tdata, EVEPOS::Harmonic::Offline, EVEPOS::Harmonic::Online, EVEPOS::TowerData::password, DestinyManager::SendDestinyUpdate(), SystemEntity::SetHarmonic(), EVEPOS::StructureData::state, and PosMgrDB::UpdateHarmonicAndPassword().

309 {
310  if (m_tdata.password.empty()) {
313  if (m_pShieldSE == nullptr)
314  return;
315 
317 
318  // this is for UPDATING forcefield ONLY...do not send on creation.
319  std::vector<PyTuple*> updates;
320  // 'massive' enables client-side bounce
321  SetBallMassive sbm;
322  sbm.entityID = m_pShieldSE->GetSelf()->itemID();
323  sbm.is_massive = false; // disable client-side bump checks
324  updates.push_back(sbm.Encode());
325  // harmonic for ForceField
326  SetBallHarmonic sbh;
327  sbh.itemID = m_pShieldSE->GetSelf()->itemID();
328  sbh.corpID = m_corpID;
329  sbh.allianceID = m_allyID;
330  sbh.mass = -1; // always -1
331  sbh.harmonic = m_harmonic;
332  updates.push_back(sbh.Encode());
333  m_destiny->SendDestinyUpdate(updates); //consumed
334  } else {
337 
340  }
341 
343 }
int32 harmonic
Definition: EVE_POS.h:52
DestinyManager * m_destiny
Definition: SystemEntity.h:265
void SendDestinyUpdate(std::vector< PyTuple * > &updates, bool self_only=false) const
void CreateForceField()
Definition: Tower.cpp:491
int32 m_harmonic
Definition: SystemEntity.h:276
std::string password
Definition: EVE_POS.h:56
InventoryItemRef GetSelf()
Definition: SystemEntity.h:202
uint32 m_corpID
Definition: SystemEntity.h:281
EVEPOS::StructureData m_data
Definition: Structure.h:212
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
void UpdateHarmonicAndPassword(int32 itemID, EVEPOS::TowerData &data)
Definition: PosMgrDB.cpp:430
SystemEntity * m_pShieldSE
Definition: Tower.h:120
PosMgrDB m_db
Definition: Structure.h:201
void SetHarmonic(int8 set)
Definition: SystemEntity.h:224
uint32 itemID() const
Definition: InventoryItem.h:98

Here is the call graph for this function:

void TowerSE::UpdatePermission ( )
inline

Definition at line 99 of file Tower.h.

References EVEPOS::StructureData::itemID, StructureSE::m_data, StructureSE::m_db, m_tdata, and PosMgrDB::UpdatePermission().

void UpdatePermission(int32 itemID, EVEPOS::TowerData &data)
Definition: PosMgrDB.cpp:438
EVEPOS::StructureData m_data
Definition: Structure.h:212
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
PosMgrDB m_db
Definition: Structure.h:201

Here is the call graph for this function:

void TowerSE::UpdateSentry ( )
inline

Definition at line 97 of file Tower.h.

References EVEPOS::StructureData::itemID, StructureSE::m_data, StructureSE::m_db, m_tdata, and PosMgrDB::UpdateSentry().

void UpdateSentry(int32 itemID, EVEPOS::TowerData &data)
Definition: PosMgrDB.cpp:421
EVEPOS::StructureData m_data
Definition: Structure.h:212
EVEPOS::TowerData m_tdata
Definition: Tower.h:118
PosMgrDB m_db
Definition: Structure.h:201

Here is the call graph for this function:

Member Data Documentation

float TowerSE::m_cpu
private

Definition at line 131 of file Tower.h.

Referenced by GetCPULoad(), and TowerSE().

bool TowerSE::m_hasShield
private

Definition at line 126 of file Tower.h.

Referenced by CreateForceField(), HasForceField(), SetOffline(), and TowerSE().

float TowerSE::m_pg
private

Definition at line 130 of file Tower.h.

Referenced by GetPGLoad(), and TowerSE().

SystemEntity* TowerSE::m_pShieldSE
protected

Definition at line 120 of file Tower.h.

Referenced by CreateForceField(), SetOffline(), and UpdatePassword().

uint16 TowerSE::m_soi
private

Definition at line 133 of file Tower.h.

Referenced by GetSOI(), and TowerSE().

std::map<uint32, StructureSE*> TowerSE::m_structs
private

Definition at line 135 of file Tower.h.

Referenced by AddModule(), GetProcessInfo(), GetUsageFlagList(), RemoveModule(), SetUseFlags(), and TowerSE().

int8 TowerSE::m_tsize
private

Definition at line 128 of file Tower.h.

Referenced by TowerSE().


The documentation for this class was generated from the following files: