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

#include "SystemEntity.h"

Inheritance diagram for ItemSystemEntity:
Collaboration diagram for ItemSystemEntity:

Public Member Functions

 ItemSystemEntity (InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
 
virtual ~ItemSystemEntity ()
 
virtual ItemSystemEntityGetItemSE ()
 
virtual bool IsInanimateSE ()
 
virtual bool IsItemEntity ()
 
virtual void EncodeDestiny (Buffer &into)
 
virtual void MakeDamageState (DoDestinyDamageState &into)
 
virtual PyDictMakeSlimItem ()
 
- Public Member Functions inherited from SystemEntity
 SystemEntity (InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
 
virtual ~SystemEntity ()
 
virtual void Process ()
 
virtual bool ProcessTic ()
 
virtual SystemEntityGetSE ()
 
virtual StaticSystemEntityGetStaticSE ()
 
virtual StationSEGetStationSE ()
 
virtual PlanetSEGetPlanetSE ()
 
virtual MoonSEGetMoonSE ()
 
virtual StargateSEGetGateSE ()
 
virtual BeltSEGetBeltSE ()
 
virtual ContainerSEGetContSE ()
 
virtual WreckSEGetWreckSE ()
 
virtual AnomalySEGetAnomalySE ()
 
virtual WormholeSEGetWormholeSE ()
 
virtual FieldSEGetFieldSE ()
 
virtual ProbeSEGetProbeSE ()
 
virtual ObjectSystemEntityGetObjectSE ()
 
virtual AsteroidSEGetAsteroidSE ()
 
virtual StructureSEGetPOSSE ()
 
virtual StructureSEGetJammerSE ()
 
virtual JumpBridgeSEGetJumpBridgeSE ()
 
virtual StructureSEGetOutpostSE ()
 
virtual TowerSEGetTowerSE ()
 
virtual ArraySEGetArraySE ()
 
virtual WeaponSEGetWeaponSE ()
 
virtual BatterySEGetBatterySE ()
 
virtual DeployableSEGetDeployableSE ()
 
virtual SentryGetSentrySE ()
 
virtual ModuleSEGetModuleSE ()
 
virtual ReactorSEGetReactorSE ()
 
virtual CustomsSEGetCOSE ()
 
virtual TCUSEGetTCUSE ()
 
virtual SBUSEGetSBUSE ()
 
virtual IHubSEGetIHubSE ()
 
virtual DynamicSystemEntityGetDynamicSE ()
 
virtual NPCGetNPCSE ()
 
virtual DroneSEGetDroneSE ()
 
virtual MissileGetMissileSE ()
 
virtual ShipSEGetShipSE ()
 
virtual ConcordGetConcordSE ()
 
virtual bool isGlobal ()
 
virtual bool IsSystemEntity ()
 
virtual bool IsStaticEntity ()
 
virtual bool IsBeltSE ()
 
virtual bool IsGateSE ()
 
virtual bool IsPlanetSE ()
 
virtual bool IsMoonSE ()
 
virtual bool IsStationSE ()
 
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 IsPOSSE ()
 
virtual bool IsCOSE ()
 
virtual bool IsTCUSE ()
 
virtual bool IsSBUSE ()
 
virtual bool IsIHubSE ()
 
virtual bool IsTowerSE ()
 
virtual bool IsArraySE ()
 
virtual bool IsJammerSE ()
 
virtual bool IsWeaponSE ()
 
virtual bool IsBatterySE ()
 
virtual bool IsModuleSE ()
 
virtual bool IsMoonMiner ()
 
virtual bool IsOutpostSE ()
 
virtual bool IsAsteroidSE ()
 
virtual bool IsDeployableSE ()
 
virtual bool IsJumpBridgeSE ()
 
virtual bool IsReactorSE ()
 
virtual bool IsOperSE ()
 
virtual bool IsDynamicEntity ()
 
virtual bool IsLogin ()
 
virtual bool IsInvul ()
 
virtual bool IsFrozen ()
 
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 void Killed (Damage &fatal_blow)
 
virtual void MissileLaunched (Missile *pMissile)
 
virtual void UpdateDamage ()
 
virtual bool LoadExtras ()
 
virtual void Delete ()
 
virtual void SetPilot (Client *pClient)
 
virtual bool HasPilot ()
 
virtual ClientGetPilot ()
 

Private Attributes

uint16 m_keyType
 

Additional Inherited Members

- 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 373 of file SystemEntity.h.

Constructor & Destructor Documentation

ItemSystemEntity::ItemSystemEntity ( InventoryItemRef  self,
PyServiceMgr services,
SystemManager system 
)

Definition at line 358 of file SystemEntity.cpp.

References m_keyType.

359 : SystemEntity(self, services, system)
360 {
361  m_keyType = 0;
362 }
SystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
virtual ItemSystemEntity::~ItemSystemEntity ( )
inlinevirtual

Definition at line 376 of file SystemEntity.h.

376 { /* Do nothing here */ }

Member Function Documentation

void ItemSystemEntity::EncodeDestiny ( Buffer into)
virtual

Reimplemented from SystemEntity.

Reimplemented in FieldSE, WormholeSE, ContainerSE, and AnomalySE.

Definition at line 414 of file SystemEntity.cpp.

References _log, Buffer::Append(), Destiny::BallHeader::entityID, Destiny::BallHeader::flags, Destiny::RIGID_Struct::formationID, SystemEntity::GetName(), InventoryItem::itemID(), SystemEntity::m_radius, SystemEntity::m_self, main(), Destiny::BallHeader::mode, Destiny::BallHeader::posX, Destiny::BallHeader::posY, Destiny::BallHeader::posZ, Destiny::BallHeader::radius, Destiny::Ball::Mode::RIGID, SystemEntity::x(), SystemEntity::y(), and SystemEntity::z().

415 {
416  using namespace Destiny;
417  BallHeader head = BallHeader();
418  head.entityID = m_self->itemID();
419  head.mode = Ball::Mode::RIGID;
420  head.radius = m_radius;
421  head.posX = x();
422  head.posY = y();
423  head.posZ = z();
424  head.flags = 0;
425  into.Append( head );
427  main.formationID = 0xFF;
428  into.Append( main );
429 
430  _log(SE__DESTINY, "ISE::EncodeDestiny(): %s - id:%li, mode:%u, flags:0x%X", GetName(), head.entityID, head.mode, head.flags);
431 }
void Append(const T &value)
Appends a single value to buffer.
Definition: Buffer.h:437
#define _log(type, fmt,...)
Definition: logsys.h:124
double y()
Definition: SystemEntity.h:214
InventoryItemRef m_self
Definition: SystemEntity.h:269
double z()
Definition: SystemEntity.h:215
const char * GetName() const
Definition: SystemEntity.h:210
double x()
Definition: SystemEntity.h:213
int main(int argc, char *argv[])
double m_radius
Definition: SystemEntity.h:273
uint32 itemID() const
Definition: InventoryItem.h:98

Here is the call graph for this function:

virtual ItemSystemEntity* ItemSystemEntity::GetItemSE ( )
inlinevirtual

Reimplemented from SystemEntity.

Definition at line 379 of file SystemEntity.h.

379 { return this; }
virtual bool ItemSystemEntity::IsInanimateSE ( )
inlinevirtual

Reimplemented from SystemEntity.

Definition at line 383 of file SystemEntity.h.

383 { return true; }
virtual bool ItemSystemEntity::IsItemEntity ( )
inlinevirtual

Reimplemented from SystemEntity.

Definition at line 385 of file SystemEntity.h.

385 { return true; }
void ItemSystemEntity::MakeDamageState ( DoDestinyDamageState &  into)
virtual

Reimplemented from SystemEntity.

Reimplemented in ContainerSE, and CelestialSE.

Definition at line 433 of file SystemEntity.cpp.

References AttrArmorDamage, AttrArmorHP, AttrDamage, AttrHP, AttrShieldCapacity, AttrShieldCharge, AttrShieldRechargeRate, EVEDB::invGroups::Force_Field, EvilNumber::get_double(), InventoryItem::GetAttribute(), GetFileTimeNow(), InventoryItem::groupID(), SystemEntity::m_self, and SystemEntity::MakeDamageState().

433  {
436  } else {
439  into.timestamp = GetFileTimeNow();
441  into.structure = 1.0 - (m_self->GetAttribute(AttrDamage).get_double() / m_self->GetAttribute(AttrHP).get_double());
442  }
443 }
uint16 groupID() const
InventoryItemRef m_self
Definition: SystemEntity.h:269
PyTuple * MakeDamageState()
double GetFileTimeNow()
Definition: utils_time.cpp:84
EvilNumber GetAttribute(const uint16 attrID) const
double get_double()
Definition: EvilNumber.cpp:191

Here is the call graph for this function:

PyDict * ItemSystemEntity::MakeSlimItem ( )
virtual
Todo:
finish rotation data Large_Collidable_Structure Large_Collidable_Ship Large_Collidable_Object PyTuple* rotation = new PyTuple(3); rotation->SetItem(0, new PyFloat(0)); rotation->SetItem(1, new PyFloat(0)); rotation->SetItem(2, new PyFloat(0)); slim->SetItemString("dunRotation", rotation);

Reimplemented from SystemEntity.

Reimplemented in FieldSE, WormholeSE, ContainerSE, and AnomalySE.

Definition at line 364 of file SystemEntity.cpp.

References _log, PyList::AddItem(), SystemEntity::GetName(), InventoryItem::groupID(), EvE::Time::Hour, InventoryItem::itemID(), m_keyType, SystemEntity::m_ownerID, SystemEntity::m_self, PyStatic, InventoryItem::typeID(), EVEDB::invGroups::Warp_Gate, and Win32TimeNow().

364  {
365  _log(SE__SLIMITEM, "MakeSlimItem for ISE %s(%u)", GetName(), m_self->itemID());
366  PyDict *slim = new PyDict();
367  slim->SetItemString("itemID", new PyLong(m_self->itemID()));
368  slim->SetItemString("typeID", new PyInt(m_self->typeID()));
369  slim->SetItemString("ownerID", new PyInt(m_ownerID));
371  // this is incomplete........
372  slim->SetItemString("dunSkillLevel", PyStatic.NewNone()); //?
373  slim->SetItemString("dunSkillTypeID", PyStatic.NewNone()); //?
374  slim->SetItemString("dunObjectID", new PyInt(160449)); //? 902139
375  slim->SetItemString("dunToGateID", new PyInt(160484)); //? 902140
376  slim->SetItemString("dunCloaked", new PyBool(0)); //?
377  slim->SetItemString("dunScenarioID", new PyInt(23)); //? 3347
378  slim->SetItemString("dunSpawnID", new PyInt(1572)); //?
379  slim->SetItemString("dunAmount", new PyFloat(0.0)); //?
380  PyList* classList = new PyList();
381  classList->AddItem( new PyInt(324));
382  classList->AddItem( new PyInt(420));
383  classList->AddItem( new PyInt(541));
384  classList->AddItem( new PyInt(834));
385  classList->AddItem( new PyInt(25));
386  classList->AddItem( new PyInt(830));
387  slim->SetItemString("dunShipClasses", classList); //?
388  PyList* dirList = new PyList();
389  dirList->AddItem(new PyInt(5)); //234
390  dirList->AddItem(new PyInt(-1));
391  dirList->AddItem(PyStatic.NewZero());
392  slim->SetItemString("dunDirection", dirList);
393  slim->SetItemString("dunKeyLock", PyStatic.NewNone()); //?
394  slim->SetItemString("dunWipeNPC", new PyBool(0)); //?
395  slim->SetItemString("dunKeyQuantity", PyStatic.NewOne()); //?
396  slim->SetItemString("dunKeyTypeID", new PyInt(m_keyType)); //Training Complex Passkey group Acceleration_Gate_Keys
397  slim->SetItemString("dunOpenUntil", new PyInt(Win32TimeNow()+EvE::Time::Hour)); //?
398  slim->SetItemString("dunRoomName", new PyString("Lobby")); //?
399  slim->SetItemString("dunMusicUrl", new PyString("res:/Sound/Music/Ambient031combat.ogg"));
400  }
411  return slim;
412 }
#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
Python floating point number.
Definition: PyRep.h:292
void AddItem(PyRep *i)
Definition: PyRep.h:701
uint16 groupID() const
Python boolean.
Definition: PyRep.h:323
InventoryItemRef m_self
Definition: SystemEntity.h:269
Python integer.
Definition: PyRep.h:231
#define PyStatic
Definition: PyRep.h:1209
int64 Win32TimeNow()
Definition: utils_time.cpp:70
const char * GetName() const
Definition: SystemEntity.h:210
uint16 typeID() const
Python list.
Definition: PyRep.h:639
uint32 itemID() const
Definition: InventoryItem.h:98
Python long integer.
Definition: PyRep.h:261

Here is the call graph for this function:

Member Data Documentation

uint16 ItemSystemEntity::m_keyType
private

Definition at line 394 of file SystemEntity.h.

Referenced by ItemSystemEntity(), and MakeSlimItem().


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