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

#include "TCU.h"

Inheritance diagram for TCUSE:
Collaboration diagram for TCUSE:

Public Member Functions

virtual ~TCUSE ()
 
virtual TCUSEGetTCUSE ()
 
virtual bool isGlobal ()
 
virtual bool IsTCUSE ()
 
virtual bool IsOperSE ()
 
TCU.cpp

Class for Territorial Claim Units.

: James

Date
: 8 April 2021
 TCUSE (StructureItemRef structure, PyServiceMgr &services, SystemManager *system, const FactionData &fData)
 
virtual void Process ()
 
virtual void SetOnline ()
 
virtual void SetOffline ()
 
virtual void Init ()
 
- Public Member Functions inherited from StructureSE
virtual ~StructureSE ()
 
virtual StructureSEGetPOSSE ()
 
virtual StructureSEGetOutpostSE ()
 
virtual TowerSEGetTowerSE ()
 
virtual ArraySEGetArraySE ()
 
virtual BatterySEGetBatterySE ()
 
virtual WeaponSEGetWeaponSE ()
 
virtual ReactorSEGetReactorSE ()
 
virtual SBUSEGetSBUSE ()
 
virtual IHubSEGetIHubSE ()
 
virtual JumpBridgeSEGetJumpBridgeSE ()
 
virtual bool IsPOSSE ()
 
virtual bool IsSBUSE ()
 
virtual bool IsIHubSE ()
 
virtual bool IsJammerSE ()
 
virtual bool IsCynoGeneratorSE ()
 
virtual bool IsMoonMiner ()
 
virtual bool IsOutpostSE ()
 
virtual bool IsJumpBridgeSE ()
 
virtual bool IsTowerSE ()
 
virtual bool IsArraySE ()
 
virtual bool IsBatterySE ()
 
virtual bool IsWeaponSE ()
 
virtual bool IsReactorSE ()
 
virtual void MissileLaunched (Missile *pMissile)
 
virtual void Reinforced ()
 
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 PyDictMakeSlimItem ()
 
virtual void Killed (Damage &fatal_blow)
 
virtual void InitData ()
 
virtual void Scoop ()
 
virtual void SetInvulnerable ()
 
virtual void SetVulnerable ()
 
virtual void Online ()
 
virtual void SetOperating ()
 
virtual void Operating ()
 
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 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 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 ()
 

Additional Inherited Members

- Protected Member Functions inherited from StructureSE
void SendEffectUpdate (int16 effectID, bool active)
 
- 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
 

Detailed Description

Definition at line 15 of file TCU.h.

Constructor & Destructor Documentation

TCUSE::TCUSE ( StructureItemRef  structure,
PyServiceMgr services,
SystemManager system,
const FactionData fData 
)

Definition at line 33 of file TCU.cpp.

34  : StructureSE(structure, services, system, fData)
35 {
36 }
StructureSE(StructureItemRef structure, PyServiceMgr &services, SystemManager *system, const FactionData &data)
Definition: Structure.cpp:193
virtual TCUSE::~TCUSE ( )
inlinevirtual

Definition at line 20 of file TCU.h.

20 { /* do nothing here */ }

Member Function Documentation

virtual TCUSE* TCUSE::GetTCUSE ( )
inlinevirtual

Reimplemented from StructureSE.

Definition at line 23 of file TCU.h.

23 { return this; }
void TCUSE::Init ( )
virtual

Reimplemented from StructureSE.

Definition at line 38 of file TCU.cpp.

References _log, AttrIsGlobal, EvilOne, StructureSE::Init(), InventoryItem::itemID(), SystemEntity::m_bubble, SystemEntity::m_self, InventoryItem::name(), InventoryItem::SetAttribute(), and SystemBubble::SetTCUSE().

39 {
40  _log(SE__TRACE, "TCUSE %s(%u) is being initialized", m_self->name(), m_self->itemID());
42 
43  // check for valid bubble
44  if (m_bubble == nullptr)
45  assert(0);
46  m_bubble->SetTCUSE(this);
47 
48  // set global attribute
50 }
#define _log(type, fmt,...)
Definition: logsys.h:124
SystemBubble * m_bubble
Definition: SystemEntity.h:262
const char * name()
InventoryItemRef m_self
Definition: SystemEntity.h:269
void SetAttribute(uint16 attrID, int num, bool notify=true)
void SetTCUSE(TCUSE *pTCU)
Definition: SystemBubble.h:148
EvilNumber EvilOne
Definition: EvilNumber.cpp:34
virtual void Init()
Definition: Structure.cpp:275
uint32 itemID() const
Definition: InventoryItem.h:98

Here is the call graph for this function:

virtual bool TCUSE::isGlobal ( )
inlinevirtual

Reimplemented from SystemEntity.

Definition at line 27 of file TCU.h.

27 { return true; }
virtual bool TCUSE::IsOperSE ( )
inlinevirtual

Reimplemented from SystemEntity.

Definition at line 29 of file TCU.h.

29 { return true; }
virtual bool TCUSE::IsTCUSE ( )
inlinevirtual

Reimplemented from StructureSE.

Definition at line 28 of file TCU.h.

28 { return true; }
void TCUSE::Process ( )
virtual

Reimplemented from StructureSE.

Definition at line 122 of file TCU.cpp.

References StructureSE::Process().

123 {
125 }
virtual void Process()
Definition: Structure.cpp:458

Here is the call graph for this function:

void TCUSE::SetOffline ( )
virtual

Reimplemented from StructureSE.

Definition at line 96 of file TCU.cpp.

References _log, SystemManager::GetID(), SystemEntity::m_system, PyStatic, sEntityList, StructureSE::SetOffline(), and svDataMgr.

97 {
98  _log(SOV__DEBUG, "Offlining TCU... Removing claim.");
99  svDataMgr.RemoveSovClaim(m_system->GetID());
100 
101  //Send ProcessSovStatusChanged Notification
102  _log(SOV__DEBUG, "Sending ProcessSovStatusChanged (removing sov claim) %u", m_system->GetID());
103 
104  PyTuple* data = new PyTuple(2);
105  data->SetItem(0, new PyInt(m_system->GetID()));
106  data->SetItem(1, PyStatic.NewNone());
107 
108  std::vector<Client*> list;
109  sEntityList.GetClients(list);
110  for (auto cur : list)
111  {
112  if (cur != nullptr)
113  {
114  cur->SendNotification("ProcessSovStatusChanged", "clientID", &data);
115  _log(SOV__DEBUG, "ProcessSovStatusChanged sent to %s (%u)", cur->GetName(), cur->GetCharID());
116  }
117  }
118 
120 }
#define _log(type, fmt,...)
Definition: logsys.h:124
#define sEntityList
Definition: EntityList.h:208
uint32 GetID() const
Definition: SystemManager.h:80
Python tuple.
Definition: PyRep.h:567
Python integer.
Definition: PyRep.h:231
SystemManager * m_system
Definition: SystemEntity.h:263
#define PyStatic
Definition: PyRep.h:1209
virtual void SetOffline()
Definition: Structure.cpp:888
#define svDataMgr

Here is the call graph for this function:

void TCUSE::SetOnline ( )
virtual

Reimplemented from StructureSE.

Definition at line 52 of file TCU.cpp.

References _log, SovereigntyData::allianceID, args, SovereigntyData::claimStructureID, SovereigntyData::claimTime, SovereigntyData::constellationID, SovereigntyData::contested, SovereigntyData::corporationID, SystemManager::GetConstellationID(), GetFileTimeNow(), SystemManager::GetID(), SystemManager::GetRegionID(), SovereigntyData::hubID, EVEPOS::StructureData::itemID, SystemEntity::m_allyID, SystemEntity::m_corpID, StructureSE::m_data, SystemEntity::m_system, SovereigntyData::regionID, sEntityList, PyTuple::SetItem(), PyDict::SetItemString(), StructureSE::SetOnline(), SovereigntyData::solarSystemID, and svDataMgr.

53 {
54  _log(SOV__DEBUG, "Onlining TCU... Creating a new claim.");
55 
57 
58  SovereigntyData sovData = SovereigntyData();
59  sovData.solarSystemID = m_system->GetID();
60  sovData.regionID = m_system->GetRegionID();
62  sovData.corporationID = m_corpID;
63  sovData.allianceID = m_allyID;
64  sovData.claimStructureID = m_data.itemID;
65  sovData.claimTime = GetFileTimeNow();
66  svDataMgr.AddSovClaim(sovData);
67 
68  //Send ProcessSovStatusChanged Notification
69  PyDict *args = new PyDict;
70  _log(SOV__DEBUG, "Sending ProcessSovStatusChanged for %u:%u", sovData.solarSystemID, sovData.allianceID);
71 
72  args->SetItemString("contested", new PyInt(sovData.contested));
73  args->SetItemString("corporationID", new PyInt(sovData.corporationID));
74  args->SetItemString("claimTime", new PyLong(sovData.claimTime));
75  args->SetItemString("claimStructureID", new PyInt(sovData.claimStructureID));
76  args->SetItemString("hubID", new PyInt(sovData.hubID));
77  args->SetItemString("allianceID", new PyInt(sovData.allianceID));
78  args->SetItemString("solarSystemID", new PyInt(sovData.solarSystemID));
79 
80  PyTuple* data = new PyTuple(2);
81  data->SetItem(0, new PyInt(sovData.solarSystemID));
82  data->SetItem(1, new PyObject("util.KeyVal", args));
83 
84  std::vector<Client*> list;
85  sEntityList.GetClients(list);
86  for (auto cur : list)
87  {
88  if (cur != nullptr)
89  {
90  cur->SendNotification("ProcessSovStatusChanged", "clientID", &data);
91  _log(SOV__DEBUG, "ProcessSovStatusChanged sent to %s (%u)", cur->GetName(), cur->GetCharID());
92  }
93  }
94 }
#define _log(type, fmt,...)
Definition: logsys.h:124
Python's dictionary.
Definition: PyRep.h:719
#define sEntityList
Definition: EntityList.h:208
uint32 GetID() const
Definition: SystemManager.h:80
virtual void SetOnline()
Definition: Structure.cpp:869
Python tuple.
Definition: PyRep.h:567
* args
Python object.
Definition: PyRep.h:826
uint32 m_corpID
Definition: SystemEntity.h:281
void SetItem(size_t index, PyRep *object)
Stores Python object.
Definition: PyRep.h:610
Python integer.
Definition: PyRep.h:231
SystemManager * m_system
Definition: SystemEntity.h:263
EVEPOS::StructureData m_data
Definition: Structure.h:212
double GetFileTimeNow()
Definition: utils_time.cpp:84
uint32 GetRegionID()
Definition: SystemManager.h:81
#define svDataMgr
uint32 GetConstellationID()
Definition: SystemManager.h:82
void SetItemString(const char *key, PyRep *value)
SetItemString adds or sets a database entry.
Definition: PyRep.h:812
Python long integer.
Definition: PyRep.h:261

Here is the call graph for this function:


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