EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
SystemEntity.h
Go to the documentation of this file.
1 /*
2  ------------------------------------------------------------------------------------
3  LICENSE:
4  ------------------------------------------------------------------------------------
5  This file is part of EVEmu: EVE Online Server Emulator
6  Copyright 2006 - 2021 The EVEmu Team
7  For the latest information visit https://evemu.dev
8  ------------------------------------------------------------------------------------
9  This program is free software; you can redistribute it and/or modify it under
10  the terms of the GNU Lesser General Public License as published by the Free Software
11  Foundation; either version 2 of the License, or (at your option) any later
12  version.
13 
14  This program is distributed in the hope that it will be useful, but WITHOUT
15  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
17 
18  You should have received a copy of the GNU Lesser General Public License along with
19  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
20  Place - Suite 330, Boston, MA 02111-1307, USA, or go to
21  http://www.gnu.org/copyleft/lesser.txt.
22  ------------------------------------------------------------------------------------
23  Author: Zhur
24  Rewrite: Allan
25 */
26 
27 #ifndef __SYSTEMENTITY_H_INCL__
28 #define __SYSTEMENTITY_H_INCL__
29 
30 #include "SystemDB.h"
32 #include "pos/PosMgrDB.h"
33 #include "system/DestinyManager.h"
34 #include "system/TargetManager.h"
35 
36 class BeltMgr;
37 class Character;
38 class Client;
39 class Concord;
40 class ContainerSE;
41 class Damage;
42 class DroneSE;
43 class NPC;
44 class Sentry;
45 class SystemBubble;
46 class SystemManager;
47 class WreckSE;
48 class FieldSE;
49 class ProbeSE;
50 
51 class StationSE;
52 class StaticSystemEntity;
53 class PlanetSE;
54 class MoonSE;
55 class StargateSE;
56 class BeltSE;
58 class ItemSystemEntity;
59 class ObjectSystemEntity;
60 class WormholeSE;
61 class AnomalySE;
62 class StructureSE;
63 class CustomsSE;
64 class DeployableSE;
65 class AsteroidSE;
66 class ShipSE;
67 class DungeonSE;
68 
69 class TowerSE;
70 class TCUSE;
71 class SBUSE;
72 class IHubSE;
73 class ArraySE;
74 class BatterySE;
75 class ModuleSE;
76 class WeaponSE;
77 class ReactorSE;
78 class JumpBridgeSE;
79 
80 /*
81  * base class for all SystemEntities - no TargetMgr or DestinyMgr
82  * complete rewrite of entity class system - allan 9 January 2016
83  */
84 class SystemEntity {
85  friend class SystemBubble; /* only to update m_bubble */
86 public:
88  virtual ~SystemEntity() { /* do nothing here */ }
89 
90  /* Process Calls - Overridden as needed in derived classes */
91  virtual void Process();
92  virtual bool ProcessTic() { return true; } // not used yet
93 
94  /* (Allan) the next two sections eliminate the overhead of RTTI static casting. */
95  /* class type pointer querys, grouped by base class. public for anyone to access. */
96  /* Base */
97  virtual SystemEntity* GetSE() { return this; }
98  /* Static */
99  virtual StaticSystemEntity* GetStaticSE() { return nullptr; }
100  virtual StationSE* GetStationSE() { return nullptr; }
101  virtual PlanetSE* GetPlanetSE() { return nullptr; }
102  virtual MoonSE* GetMoonSE() { return nullptr; }
103  virtual StargateSE* GetGateSE() { return nullptr; }
104  virtual BeltSE* GetBeltSE() { return nullptr; }
105  /* Item */
106  virtual ItemSystemEntity* GetItemSE() { return nullptr; }
107  virtual ContainerSE* GetContSE() { return nullptr; }
108  virtual WreckSE* GetWreckSE() { return nullptr; }
109  virtual AnomalySE* GetAnomalySE() { return nullptr; }
110  virtual WormholeSE* GetWormholeSE() { return nullptr; }
111  virtual FieldSE* GetFieldSE() { return nullptr; }
112  virtual ProbeSE* GetProbeSE() { return nullptr; }
113  /* Object */
114  virtual ObjectSystemEntity* GetObjectSE() { return nullptr; }
115  virtual AsteroidSE* GetAsteroidSE() { return nullptr; }
116  virtual StructureSE* GetPOSSE() { return nullptr; }
117  virtual StructureSE* GetJammerSE() { return nullptr; }
118  virtual JumpBridgeSE* GetJumpBridgeSE() { return nullptr; }
119  virtual StructureSE* GetOutpostSE() { return nullptr; }
120  virtual TowerSE* GetTowerSE() { return nullptr; }
121  virtual ArraySE* GetArraySE() { return nullptr; }
122  virtual WeaponSE* GetWeaponSE() { return nullptr; }
123  virtual BatterySE* GetBatterySE() { return nullptr; }
124  virtual DeployableSE* GetDeployableSE() { return nullptr; }
125  virtual Sentry* GetSentrySE() { return nullptr; }
126  virtual ModuleSE* GetModuleSE() { return nullptr; }
127  virtual ReactorSE* GetReactorSE() { return nullptr; }
128  virtual CustomsSE* GetCOSE() { return nullptr; }
129  virtual TCUSE* GetTCUSE() { return nullptr; }
130  virtual SBUSE* GetSBUSE() { return nullptr; }
131  virtual IHubSE* GetIHubSE() { return nullptr; }
132  /* Dynamic */
133  virtual DynamicSystemEntity* GetDynamicSE() { return nullptr; }
134  virtual NPC* GetNPCSE() { return nullptr; }
135  virtual DroneSE* GetDroneSE() { return nullptr; }
136  virtual Missile* GetMissileSE() { return nullptr; }
137  virtual ShipSE* GetShipSE() { return nullptr; }
138  virtual Concord* GetConcordSE() { return nullptr; }
139 
140  /* class type tests, grouped by base class. public for anyone to access. */
141  /* Base */
142  virtual bool isGlobal() { return m_self->isGlobal(); } // not all items have this attribute set
143  virtual bool IsSystemEntity() { return true; }
144  virtual bool IsInanimateSE() { return false; }
145  /* Static */
146  virtual bool IsStaticEntity() { return false; }
147  virtual bool IsBeltSE() { return false; }
148  virtual bool IsGateSE() { return false; }
149  virtual bool IsPlanetSE() { return false; }
150  virtual bool IsMoonSE() { return false; }
151  virtual bool IsStationSE() { return false; }
152  /* Item */
153  virtual bool IsItemEntity() { return false; }
154  virtual bool IsAnomalySE() { return false; }
155  virtual bool IsWormholeSE() { return false; }
156  virtual bool IsCelestialSE() { return false; }
157  virtual bool IsContainerSE() { return false; }
158  virtual bool IsFieldSE() { return false; }
159  virtual bool IsProbeSE() { return false; }
160  /* Object */
161  virtual bool IsObjectEntity() { return false; }
162  virtual bool IsSentrySE() { return false; }
163  virtual bool IsPOSSE() { return false; }
164  virtual bool IsCOSE() { return false; }
165  virtual bool IsTCUSE() { return false; }
166  virtual bool IsSBUSE() { return false; }
167  virtual bool IsIHubSE() { return false; }
168  virtual bool IsTowerSE() { return false; }
169  virtual bool IsArraySE() { return false; }
170  virtual bool IsJammerSE() { return false; }
171  virtual bool IsWeaponSE() { return false; }
172  virtual bool IsBatterySE() { return false; }
173  virtual bool IsModuleSE() { return false; }
174  virtual bool IsMoonMiner() { return false; }
175  virtual bool IsOutpostSE() { return false; }
176  virtual bool IsAsteroidSE() { return false; }
177  virtual bool IsDeployableSE() { return false; }
178  virtual bool IsJumpBridgeSE() { return false; }
179  virtual bool IsReactorSE() { return false; }
180  virtual bool IsOperSE() { return false; }
181  /* Dynamic */
182  virtual bool IsDynamicEntity() { return false; }
183  virtual bool IsLogin() { return false; }
184  virtual bool IsInvul() { return false; }
185  virtual bool IsFrozen() { return false; }
186  virtual bool IsNPCSE() { return false; }
187  virtual bool IsDroneSE() { return false; }
188  virtual bool IsWreckSE() { return false; }
189  virtual bool IsMissileSE() { return false; }
190  virtual bool IsShipSE() { return false; }
191  virtual bool IsConcord() { return false; }
192 
193  /* generic functions handled here */
199 
200  /* common functions for all entities handled here */
201  /* public data queries */
203  uint16 GetTypeID() { return m_self->typeID(); }
204  uint32 GetGroupID() { return m_self->groupID(); }
206  EVEItemFlags GetFlag() { return m_self->flag(); }
207  uint32 GetID() { return m_self->itemID(); }
208  double GetRadius() { return m_radius; }
210  const char* GetName() const { return m_self->name(); }
211  const GPoint& GetPosition() const { return m_self->position(); }
212  void SetPosition(const GPoint &pos){ m_self->SetPosition(pos); }
213  inline double x() { return m_self->position().x; }
214  inline double y() { return m_self->position().y; }
215  inline double z() { return m_self->position().z; }
221  void SetFleetID(uint32 set) { m_fleetID = set; }
222 
224  void SetHarmonic(int8 set) { m_harmonic = set; }
225 
226 
227  /* public generic functions handled in base class. */
228  void DropLoot(WreckContainerRef wreckRef, uint32 groupID, uint32 owner);
230  void SendDamageStateChanged(); /* this uses targetMgr update to send to all interested parties */
231  bool ApplyDamage(Damage &d); /* This method is defined in Damage.cpp */
232  double DistanceTo2(const SystemEntity* other);
234 
235  /* public specific functions handled in base class. */
236  virtual void Abandon();
237 
238  /* generic functions handled here, but set elsewhere */
239  const bool IsDead() { return m_killed; }
240  const GVector& GetVelocity() { return (m_destiny != nullptr ? m_destiny->GetVelocity() : NULL_ORIGIN_V); }
241 
242  /* virtual functions default to base class and overridden as needed */
243  virtual void Killed(Damage &fatal_blow);
244  virtual void EncodeDestiny(Buffer& into);
245  virtual void MakeDamageState(DoDestinyDamageState &into);
246  virtual PyDict* MakeSlimItem();
247 
248  /* virtual functions to be overridden in derived classes */
249  virtual void MissileLaunched(Missile* pMissile) { /* Do nothing here */ }
250  virtual void UpdateDamage() { /* Do nothing here */ }
251  virtual bool LoadExtras() { return true; }
252  // this will remove SE* from system and call Delete() on it's itemRef for non-containers.
253  //caller MUST call SafeDelete() on SE after this returns.
254  virtual void Delete();
255 
256  /* virtual functions in base to allow common interface calls specific to ship entities */
257  virtual void SetPilot(Client* pClient) { /* Do nothing here */ }
258  virtual bool HasPilot() { return false; }
259  virtual Client* GetPilot() { return nullptr; }
260 
261 protected:
262  SystemBubble* m_bubble; /* we do not own this. never NULL in space */
263  SystemManager* m_system; /* we do not own this never NULL in space */
264  TargetManager* m_targMgr; /* we do not own this. only Destructible items will have it */
265  DestinyManager* m_destiny; /* we do not own this. only mobile items will have it */
266 
268 
270 
271  bool m_killed;
272 
273  double m_radius;
274 
275  /* this is POS ForceField status */
277 
278  /* ease of access to common data for ownable objects */
280  int32 m_allyID; // this is salvage factionID for npc wrecks
284 
285 };
286 
287 
288 /* Static / Non-Mobile / Non-Destructable / Celestial Objects
289  * - Suns, Planets, Moons, Belts, Gates, Static NPC Stations
290  *- no TargetMgr or DestinyMgr*/
292 public:
294  virtual ~StaticSystemEntity() { /* Do nothing here */ }
295 
296  /* class type pointer querys. */
297  virtual StaticSystemEntity* GetStaticSE() { return this; }
298  /* class type tests. */
299  /* Base */
300  virtual bool isGlobal() { return true; } // just in case item->isGlobal() fails here...which it may
301  virtual bool IsInanimateSE() { return true; }
302  /* Static */
303  virtual bool IsStaticEntity() { return true; }
304 
305  /* SystemEntity interface */
306  virtual void EncodeDestiny( Buffer& into );
307  virtual PyDict* MakeSlimItem();
308 
309  /* virtual functions to be overridden in derived classes */
310  virtual bool LoadExtras();
311 
312 };
313 
314 class BeltSE
315 : public StaticSystemEntity
316 {
317 public:
319  virtual ~BeltSE() { /* Do nothing here */ }
320 
321  /* class type pointer querys. */
322  virtual BeltSE* GetBeltSE() { return this; }
323  /* class type tests. */
324  virtual bool IsBeltSE() { return true; }
325 
326  /* virtual functions to be overridden in derived classes */
327  virtual bool LoadExtras();
328 
329  /* generic access functions handled here */
330  BeltMgr* GetBeltMgr() { return m_beltMgr; }
331 
332  /* specific functions handled in this class. */
333  void SetBeltMgr(BeltMgr* beltMgr) { m_beltMgr = beltMgr; }
334 
335 protected:
337 
338 };
339 
341 : public StaticSystemEntity
342 {
343 public:
345  virtual ~StargateSE() { /* Do nothing here */ }
346 
347  /* class type pointer querys. */
348  virtual StargateSE* GetGateSE() { return this; }
349  /* class type tests. */
350  virtual bool IsGateSE() { return true; }
351 
352  /* SystemEntity interface */
353  virtual PyDict* MakeSlimItem();
354 
355  /* virtual functions to be overridden in derived classes */
356  virtual bool LoadExtras();
357 
358  /* specific functions handled in this class. */
359  StructureSE* GetMySBU() { return m_sbuSE; }
360  bool HasSBU() { return (m_sbuSE != nullptr); }
361  void SetSBU(StructureSE* pSE) { m_sbuSE = pSE; }
362 
363 protected:
366 
367 };
368 
369 
370 /* Non-Static / Non-Mobile / Non-Destructible / Celestial Objects
371  * - Containers, DeadSpace, ForceFields, ScanProbes
372  *- no TargetMgr or DestinyMgr*/
374 public:
376  virtual ~ItemSystemEntity() { /* Do nothing here */ }
377 
378  /* class type pointer querys. */
379  virtual ItemSystemEntity* GetItemSE() { return this; }
380  /* class type tests. */
381  /* Base */
382  //virtual bool isGlobal() { return false; }
383  virtual bool IsInanimateSE() { return true; }
384  /* Item */
385  virtual bool IsItemEntity() { return true; }
386 
387  /* SystemEntity interface */
388  virtual void EncodeDestiny( Buffer& into );
389  virtual void MakeDamageState(DoDestinyDamageState &into);
390 
391  virtual PyDict* MakeSlimItem();
392 
393 private:
394  uint16 m_keyType; //Training Complex Passkey (group - Acceleration_Gate_Keys)
395 };
396 
397 /* POS ForceField */
398 class FieldSE
399 : public ItemSystemEntity
400 {
401 public:
402  FieldSE(InventoryItemRef self, PyServiceMgr& services, SystemManager* system, const FactionData& data);
403  virtual ~FieldSE() { /* Do nothing here */ }
404 
405  /* class type pointer querys. */
406  virtual FieldSE* GetFieldSE() { return this; }
407  /* class type tests. */
408  virtual bool IsFieldSE() { return true; }
409 
410  /* SystemEntity interface */
411  virtual void EncodeDestiny( Buffer& into );
412 
413  virtual PyDict* MakeSlimItem();
414 
415 };
416 
417 /* Non-Static / Non-Mobile / Destructible / Celestial Objects
418  * - POS Structures, Outposts, Deployables, empty Ships, Asteroids
419  *- has TargetMgr has DestinyMgr*/
421 public:
423  virtual ~ObjectSystemEntity();
424 
425  /* class type pointer querys. */
426  virtual ObjectSystemEntity* GetObjectSE() { return this; }
427  /* class type tests. */
428  /* Base */
429  //virtual bool isGlobal() { return false; }
430  virtual bool IsInanimateSE() { return true; }
431  /* Object */
432  virtual bool IsObjectEntity() { return true; }
433 
434  /* SystemEntity interface */
435  virtual void UpdateDamage();
436  virtual void EncodeDestiny( Buffer& into );
437  virtual void MakeDamageState(DoDestinyDamageState &into);
438 
439  virtual PyDict* MakeSlimItem();
440 
441  /* virtual functions default to base class and overridden as needed */
442  virtual void Killed(Damage &fatal_blow);
443  virtual bool IsInvul() { return m_invul; }
444 
445  /* specific functions handled here. */
446  void SetInvul(bool invul=false) { m_invul = invul; }
447 
448 private:
449  bool m_invul;
450 };
451 
452 /* Mobile Warp Disruptors */
454 : public ObjectSystemEntity
455 {
456 public:
458  virtual ~DeployableSE() { /* Do nothing here */ }
459 
460  /* class type pointer querys. */
461  virtual DeployableSE* GetDeployableSE() { return this; }
462  /* class type tests. */
463  virtual bool IsDeployableSE() { return true; }
464 };
465 
466 
467 
468 /* Non-Static / Mobile / Destructible / Celestial Objects
469  *- Drones, Ships, Missiles, Wrecks
470  * - has TargetMgr and DestinyMgr*/
472 public:
474  virtual ~DynamicSystemEntity();
475 
476  /* class type pointer querys. */
477  virtual DynamicSystemEntity* GetDynamicSE() { return this; }
478  /* class type tests. */
479  /* Base */
480  //virtual bool isGlobal() { return false; }
481  /* Dynamic */
482  virtual bool IsDynamicEntity() { return true; }
483 
484  /* SystemEntity interface */
485  virtual void UpdateDamage();
486  virtual void EncodeDestiny( Buffer& into );
487  virtual void MakeDamageState(DoDestinyDamageState &into);
488 
489  virtual PyDict* MakeSlimItem();
490 
491  /* virtual functions default to base class and overridden as needed */
492  virtual bool Load() { return true; }
493  virtual bool IsInvul() { return m_invul; }
494  virtual bool IsFrozen() { return m_frozen; }
495 
496 
497  /* specific functions handled here. */
498  void AwardBounty(Client* pClient);
499  void SetInvul(bool invul=false) { m_invul = invul; }
500  void SetFrozen(bool frozen=false) { m_frozen = frozen; }
501 
502 private:
503  bool m_invul;
504  bool m_frozen;
505 
506 };
507 
508 
509 #endif
Definition: IHub.h:15
Base Python wire object.
Definition: PyRep.h:66
virtual StationSE * GetStationSE()
Definition: SystemEntity.h:100
unsigned __int8 uint8
Definition: eve-compat.h:46
void SetPosition(const GPoint &pos)
Definition: SystemEntity.h:212
virtual void Process()
virtual DroneSE * GetDroneSE()
Definition: SystemEntity.h:135
virtual ArraySE * GetArraySE()
Definition: SystemEntity.h:121
BeltMgr * GetBeltMgr()
Definition: SystemEntity.h:330
virtual bool IsItemEntity()
Definition: SystemEntity.h:385
virtual bool IsInvul()
Definition: SystemEntity.h:493
virtual ProbeSE * GetProbeSE()
Definition: SystemEntity.h:112
StaticSystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
Definition: SBU.h:15
DestinyManager * m_destiny
Definition: SystemEntity.h:265
virtual bool IsNPCSE()
Definition: SystemEntity.h:186
double GetRadius()
Definition: SystemEntity.h:208
virtual MoonSE * GetMoonSE()
Definition: SystemEntity.h:102
virtual void EncodeDestiny(Buffer &into)
virtual bool IsConcord()
Definition: SystemEntity.h:191
virtual bool IsSBUSE()
Definition: SystemEntity.h:166
virtual void Killed(Damage &fatal_blow)
Python's dictionary.
Definition: PyRep.h:719
virtual ObjectSystemEntity * GetObjectSE()
Definition: SystemEntity.h:114
uint32 m_ownerID
Definition: SystemEntity.h:283
virtual BeltSE * GetBeltSE()
Definition: SystemEntity.h:322
virtual void SetPilot(Client *pClient)
Definition: SystemEntity.h:257
virtual AnomalySE * GetAnomalySE()
Definition: SystemEntity.h:109
virtual bool IsShipSE()
Definition: SystemEntity.h:190
virtual bool IsObjectEntity()
Definition: SystemEntity.h:432
virtual ~SystemEntity()
Definition: SystemEntity.h:88
virtual PlanetSE * GetPlanetSE()
Definition: SystemEntity.h:101
virtual ~FieldSE()
Definition: SystemEntity.h:403
const GPoint & position() const
virtual bool IsFieldSE()
Definition: SystemEntity.h:408
virtual bool Load()
Definition: SystemEntity.h:492
virtual bool IsWeaponSE()
Definition: SystemEntity.h:171
virtual NPC * GetNPCSE()
Definition: SystemEntity.h:134
SystemBubble * SysBubble()
Definition: SystemEntity.h:195
virtual ShipSE * GetShipSE()
Definition: SystemEntity.h:137
virtual ~ObjectSystemEntity()
EVEItemFlags
Definition: EVE_Flags.h:13
virtual bool IsModuleSE()
Definition: SystemEntity.h:173
virtual void EncodeDestiny(Buffer &into)
double y()
Definition: SystemEntity.h:214
uint32 GetOwnerID()
Definition: SystemEntity.h:219
virtual StaticSystemEntity * GetStaticSE()
Definition: SystemEntity.h:297
virtual bool HasPilot()
Definition: SystemEntity.h:258
virtual bool IsProbeSE()
Definition: SystemEntity.h:159
bool isGlobal() const
BeltMgr * m_beltMgr
Definition: SystemEntity.h:336
virtual Client * GetPilot()
Definition: SystemEntity.h:259
const GVector & GetVelocity() const
SystemBubble * m_bubble
Definition: SystemEntity.h:262
virtual bool IsOperSE()
Definition: SystemEntity.h:180
virtual CustomsSE * GetCOSE()
Definition: SystemEntity.h:128
virtual StructureSE * GetOutpostSE()
Definition: SystemEntity.h:119
virtual bool IsArraySE()
Definition: SystemEntity.h:169
virtual DeployableSE * GetDeployableSE()
Definition: SystemEntity.h:124
EVEItemFlags GetFlag()
Definition: SystemEntity.h:206
virtual PyDict * MakeSlimItem()
PyServiceMgr & m_services
Definition: SystemEntity.h:267
void SetPosition(const GPoint &pos)
virtual bool IsMoonSE()
Definition: SystemEntity.h:150
const char * name()
void SetFleetID(uint32 set)
Definition: SystemEntity.h:221
virtual bool LoadExtras()
TargetManager * TargetMgr()
Definition: SystemEntity.h:197
virtual bool IsWormholeSE()
Definition: SystemEntity.h:155
Python tuple.
Definition: PyRep.h:567
Definition: Sentry.h:20
GaFloat x
Definition: GaTypes.h:207
Definition: Ship.h:301
int32 m_harmonic
Definition: SystemEntity.h:276
virtual WreckSE * GetWreckSE()
Definition: SystemEntity.h:108
virtual bool IsPlanetSE()
Definition: SystemEntity.h:149
void SetInvul(bool invul=false)
Definition: SystemEntity.h:499
signed __int8 int8
Definition: eve-compat.h:45
virtual bool IsIHubSE()
Definition: SystemEntity.h:167
bool HasSBU()
Definition: SystemEntity.h:360
const GPoint & GetPosition() const
Definition: SystemEntity.h:211
virtual StargateSE * GetGateSE()
Definition: SystemEntity.h:348
virtual bool IsGateSE()
Definition: SystemEntity.h:148
virtual ItemSystemEntity * GetItemSE()
Definition: SystemEntity.h:379
const GVector & GetVelocity()
Definition: SystemEntity.h:240
virtual void Delete()
uint16 groupID() const
signed __int32 int32
Definition: eve-compat.h:49
virtual void Killed(Damage &fatal_blow)
virtual BatterySE * GetBatterySE()
Definition: SystemEntity.h:123
TargetManager * m_targMgr
Definition: SystemEntity.h:264
virtual PyDict * MakeSlimItem()
virtual ModuleSE * GetModuleSE()
Definition: SystemEntity.h:126
virtual WeaponSE * GetWeaponSE()
Definition: SystemEntity.h:122
virtual PyDict * MakeSlimItem()
virtual bool IsTowerSE()
Definition: SystemEntity.h:168
virtual AsteroidSE * GetAsteroidSE()
Definition: SystemEntity.h:115
uint32 m_fleetID
Definition: SystemEntity.h:282
virtual bool IsCelestialSE()
Definition: SystemEntity.h:156
virtual PyDict * MakeSlimItem()
virtual ~BeltSE()
Definition: SystemEntity.h:319
virtual ObjectSystemEntity * GetObjectSE()
Definition: SystemEntity.h:426
void SetFrozen(bool frozen=false)
Definition: SystemEntity.h:500
Definition: gpoint.h:33
virtual bool IsCOSE()
Definition: SystemEntity.h:164
InventoryItemRef m_self
Definition: SystemEntity.h:269
DestinyManager * DestinyMgr()
Definition: SystemEntity.h:198
SystemManager * SystemMgr()
Definition: SystemEntity.h:196
virtual ~DeployableSE()
Definition: SystemEntity.h:458
virtual void EncodeDestiny(Buffer &into)
Generic class for buffers.
Definition: Buffer.h:40
InventoryItemRef GetSelf()
Definition: SystemEntity.h:202
uint32 m_corpID
Definition: SystemEntity.h:281
virtual DeployableSE * GetDeployableSE()
Definition: SystemEntity.h:461
uint32 GetLocationID()
Definition: SystemEntity.h:209
virtual bool IsStationSE()
Definition: SystemEntity.h:151
PyTuple * MakeDamageState()
virtual ~DynamicSystemEntity()
virtual ~ItemSystemEntity()
Definition: SystemEntity.h:376
PyRep * m_jumps
Definition: SystemEntity.h:364
virtual void EncodeDestiny(Buffer &into)
virtual bool IsItemEntity()
Definition: SystemEntity.h:153
virtual BeltSE * GetBeltSE()
Definition: SystemEntity.h:104
virtual bool IsContainerSE()
Definition: SystemEntity.h:157
Definition: Probes.h:71
virtual bool IsMissileSE()
Definition: SystemEntity.h:189
Definition: Damage.h:33
virtual bool IsBeltSE()
Definition: SystemEntity.h:324
virtual Sentry * GetSentrySE()
Definition: SystemEntity.h:125
uint32 locationID() const
virtual bool IsMoonMiner()
Definition: SystemEntity.h:174
virtual SystemEntity * GetSE()
Definition: SystemEntity.h:97
virtual bool IsFieldSE()
Definition: SystemEntity.h:158
SystemManager * m_system
Definition: SystemEntity.h:263
virtual bool IsReactorSE()
Definition: SystemEntity.h:179
void SetBeltMgr(BeltMgr *beltMgr)
Definition: SystemEntity.h:333
virtual void UpdateDamage()
Definition: SystemEntity.h:250
uint8 GetCategoryID()
Definition: SystemEntity.h:205
double z()
Definition: SystemEntity.h:215
virtual StaticSystemEntity * GetStaticSE()
Definition: SystemEntity.h:99
int32 GetAllianceID()
Definition: SystemEntity.h:216
virtual bool IsInvul()
Definition: SystemEntity.h:443
uint32 GetID()
Definition: SystemEntity.h:207
void SetInvul(bool invul=false)
Definition: SystemEntity.h:446
Definition: Array.h:18
BeltSE(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
SystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
Definition: NPC.h:41
StructureSE * GetMySBU()
Definition: SystemEntity.h:359
virtual DynamicSystemEntity * GetDynamicSE()
Definition: SystemEntity.h:133
const char * GetName() const
Definition: SystemEntity.h:210
virtual SBUSE * GetSBUSE()
Definition: SystemEntity.h:130
virtual PyDict * MakeSlimItem()
virtual bool IsObjectEntity()
Definition: SystemEntity.h:161
double x()
Definition: SystemEntity.h:213
static const GVector NULL_ORIGIN_V(0, 0, 0)
Definition: Client.h:66
virtual bool IsInanimateSE()
Definition: SystemEntity.h:301
Definition: Drone.h:46
int8 GetHarmonic()
Definition: SystemEntity.h:223
unsigned __int32 uint32
Definition: eve-compat.h:50
virtual bool isGlobal()
Definition: SystemEntity.h:142
virtual bool IsAsteroidSE()
Definition: SystemEntity.h:176
virtual StructureSE * GetPOSSE()
Definition: SystemEntity.h:116
EVEItemFlags flag() const
virtual bool IsAnomalySE()
Definition: SystemEntity.h:154
virtual bool IsPOSSE()
Definition: SystemEntity.h:163
virtual bool IsFrozen()
Definition: SystemEntity.h:185
virtual void UpdateDamage()
virtual JumpBridgeSE * GetJumpBridgeSE()
Definition: SystemEntity.h:118
virtual bool IsWreckSE()
Definition: SystemEntity.h:188
virtual void EncodeDestiny(Buffer &into)
virtual void EncodeDestiny(Buffer &into)
virtual bool IsInanimateSE()
Definition: SystemEntity.h:383
virtual ~StaticSystemEntity()
Definition: SystemEntity.h:294
uint32 GetGroupID()
Definition: SystemEntity.h:204
void AwardBounty(Client *pClient)
GaFloat y
Definition: GaTypes.h:207
void SetSBU(StructureSE *pSE)
Definition: SystemEntity.h:361
virtual bool IsInanimateSE()
Definition: SystemEntity.h:430
virtual TowerSE * GetTowerSE()
Definition: SystemEntity.h:120
virtual bool isGlobal()
Definition: SystemEntity.h:300
virtual bool IsGateSE()
Definition: SystemEntity.h:350
PyServiceMgr & GetServices()
Definition: SystemEntity.h:194
uint32 GetCorporationID()
Definition: SystemEntity.h:218
virtual bool IsTCUSE()
Definition: SystemEntity.h:165
virtual bool IsDeployableSE()
Definition: SystemEntity.h:177
virtual PyDict * MakeSlimItem()
virtual StructureSE * GetJammerSE()
Definition: SystemEntity.h:117
virtual bool IsJumpBridgeSE()
Definition: SystemEntity.h:178
virtual Missile * GetMissileSE()
Definition: SystemEntity.h:136
void SendDamageStateChanged()
virtual bool ProcessTic()
Definition: SystemEntity.h:92
virtual bool IsLogin()
Definition: SystemEntity.h:183
void DropLoot(WreckContainerRef wreckRef, uint32 groupID, uint32 owner)
virtual void UpdateDamage()
StructureSE * m_sbuSE
Definition: SystemEntity.h:365
virtual bool IsDynamicEntity()
Definition: SystemEntity.h:482
virtual bool IsJammerSE()
Definition: SystemEntity.h:170
void AwardSecurityStatus(InventoryItemRef iRef, Character *pChar)
Definition: TCU.h:15
Definition: Moon.h:28
virtual bool IsInvul()
Definition: SystemEntity.h:184
virtual bool IsDynamicEntity()
Definition: SystemEntity.h:182
virtual bool IsBeltSE()
Definition: SystemEntity.h:147
const bool IsDead()
Definition: SystemEntity.h:239
virtual Concord * GetConcordSE()
Definition: SystemEntity.h:138
virtual ~StargateSE()
Definition: SystemEntity.h:345
Definition: Tower.h:19
virtual bool LoadExtras()
virtual ContainerSE * GetContSE()
Definition: SystemEntity.h:107
virtual FieldSE * GetFieldSE()
Definition: SystemEntity.h:406
virtual StargateSE * GetGateSE()
Definition: SystemEntity.h:103
virtual DynamicSystemEntity * GetDynamicSE()
Definition: SystemEntity.h:477
virtual bool IsInanimateSE()
Definition: SystemEntity.h:144
virtual ItemSystemEntity * GetItemSE()
Definition: SystemEntity.h:106
Definition: gpoint.h:70
virtual bool IsStaticEntity()
Definition: SystemEntity.h:303
DynamicSystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
StargateSE(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
virtual TCUSE * GetTCUSE()
Definition: SystemEntity.h:129
virtual void MissileLaunched(Missile *pMissile)
Definition: SystemEntity.h:249
uint16 GetTypeID()
Definition: SystemEntity.h:203
virtual bool IsStaticEntity()
Definition: SystemEntity.h:146
virtual bool LoadExtras()
virtual bool IsSentrySE()
Definition: SystemEntity.h:162
virtual IHubSE * GetIHubSE()
Definition: SystemEntity.h:131
void SetHarmonic(int8 set)
Definition: SystemEntity.h:224
virtual ReactorSE * GetReactorSE()
Definition: SystemEntity.h:127
bool ApplyDamage(Damage &d)
Definition: Damage.cpp:108
ItemSystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
virtual bool IsDeployableSE()
Definition: SystemEntity.h:463
unsigned __int16 uint16
Definition: eve-compat.h:48
virtual bool IsFrozen()
Definition: SystemEntity.h:494
virtual bool IsBatterySE()
Definition: SystemEntity.h:172
virtual bool IsDroneSE()
Definition: SystemEntity.h:187
virtual void Abandon()
uint32 GetFleetID()
Definition: SystemEntity.h:220
uint16 typeID() const
uint8 categoryID() const
double m_radius
Definition: SystemEntity.h:273
GaFloat z
Definition: GaTypes.h:207
virtual bool LoadExtras()
Definition: SystemEntity.h:251
ObjectSystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
virtual bool IsSystemEntity()
Definition: SystemEntity.h:143
uint32 itemID() const
Definition: InventoryItem.h:98
virtual PyDict * MakeSlimItem()
virtual FieldSE * GetFieldSE()
Definition: SystemEntity.h:111
virtual WormholeSE * GetWormholeSE()
Definition: SystemEntity.h:110
int32 GetWarFactionID()
Definition: SystemEntity.h:217
double DistanceTo2(const SystemEntity *other)
virtual bool IsOutpostSE()
Definition: SystemEntity.h:175
FieldSE(InventoryItemRef self, PyServiceMgr &services, SystemManager *system, const FactionData &data)
DeployableSE(InventoryItemRef self, PyServiceMgr &services, SystemManager *system, const FactionData &data)