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

#include "Drone.h"

Inheritance diagram for DroneSE:
Collaboration diagram for DroneSE:

Public Member Functions

 DroneSE (InventoryItemRef drone, PyServiceMgr &services, SystemManager *pSystem, const FactionData &data)
 
virtual ~DroneSE ()
 
virtual DroneSEGetDroneSE ()
 
virtual bool IsDroneSE ()
 
virtual void Process ()
 
virtual void EncodeDestiny (Buffer &into)
 
virtual void MakeDamageState (DoDestinyDamageState &into)
 
virtual PyDictMakeSlimItem ()
 
virtual void Killed (Damage &fatal_blow)
 
virtual void Abandon ()
 
virtual void TargetAdded (SystemEntity *who)
 
virtual void TargetLost (SystemEntity *who)
 
virtual void TargetedAdd (SystemEntity *who)
 
virtual void TargetedLost (SystemEntity *who)
 
ClientGetOwner ()
 
DroneAIMgrGetAI ()
 
void Launch (ShipSE *pShipSE)
 
void Online (ShipSE *pShipSE=nullptr)
 
void Offline ()
 
void StateChange ()
 
void IdleOrbit (ShipSE *pShipSE=nullptr)
 
void SaveDrone ()
 
void RemoveDrone ()
 
void SetResists ()
 
void SetOwner (Client *pClient)
 
uint32 GetBounty () const
 
float GetThermal ()
 
float GetEM ()
 
float GetKinetic ()
 
float GetExplosive ()
 
float GetSecurityRating () const
 
double GetOrbitRange ()
 
uint8 GetState ()
 
uint32 GetControllerID ()
 
uint32 GetControllerOwnerID ()
 
uint32 GetTargetID ()
 
void Enable ()
 
void Disable ()
 
bool IsEnabled ()
 
void AssignShip (ShipSE *pSE)
 
void SetTarget (SystemEntity *pSE=nullptr)
 
ShipSEGetHomeShip ()
 
- Public Member Functions inherited from DynamicSystemEntity
 DynamicSystemEntity (InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
 
virtual ~DynamicSystemEntity ()
 
virtual DynamicSystemEntityGetDynamicSE ()
 
virtual bool IsDynamicEntity ()
 
virtual void UpdateDamage ()
 
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 PlanetSEGetPlanetSE ()
 
virtual MoonSEGetMoonSE ()
 
virtual StargateSEGetGateSE ()
 
virtual BeltSEGetBeltSE ()
 
virtual ItemSystemEntityGetItemSE ()
 
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 NPCGetNPCSE ()
 
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 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 IsLogin ()
 
virtual bool IsNPCSE ()
 
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 ()
 
const bool IsDead ()
 
const GVectorGetVelocity ()
 
virtual void MissileLaunched (Missile *pMissile)
 
virtual bool LoadExtras ()
 
virtual void Delete ()
 
virtual void SetPilot (Client *pClient)
 
virtual bool HasPilot ()
 
virtual ClientGetPilot ()
 

Protected Attributes

Clientm_pClient
 
DroneAIMgrm_AI
 
ShipSEm_pShipSE
 
SystemManagerm_system
 
- 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_online
 
uint32 m_targetID
 
uint32 m_controllerID
 
uint32 m_controllerOwnerID
 
double m_orbitRange
 
double m_emDamage
 
double m_expDamage
 
double m_kinDamage
 
double m_therDamage
 
double m_hullDamage
 
double m_armorDamage
 
double m_shieldCharge
 
double m_shieldCapacity
 

Detailed Description

Definition at line 46 of file Drone.h.

Constructor & Destructor Documentation

DroneSE::DroneSE ( InventoryItemRef  drone,
PyServiceMgr services,
SystemManager pSystem,
const FactionData data 
)
Todo:
update attribs from char skills here....it's not done by Fx system

Definition at line 40 of file Drone.cpp.

References _log, FactionData::allianceID, AttrArmorDamage, AttrCapacitorCapacity, AttrCapacitorCharge, AttrCapacity, AttrDamage, AttrEmDamage, AttrExplosiveDamage, AttrFalloff, AttrInertia, AttrKineticDamage, AttrMass, AttrMaxRange, AttrOrbitRange, AttrRadius, AttrShieldCapacity, AttrShieldCharge, AttrThermalDamage, AttrVolume, AttrWarpCapacitorNeed, ItemType::capacity(), FactionData::corporationID, EvilOne, EvilZero, FactionData::factionID, RefPtr< X >::get(), EvilNumber::get_float(), InventoryItem::GetAttribute(), InventoryItem::itemID(), m_AI, SystemEntity::m_allyID, m_armorDamage, m_controllerID, m_controllerOwnerID, SystemEntity::m_corpID, SystemEntity::m_destiny, m_emDamage, m_expDamage, m_hullDamage, m_kinDamage, m_online, m_orbitRange, SystemEntity::m_ownerID, m_pClient, SystemEntity::m_self, m_shieldCapacity, m_shieldCharge, m_system, m_targetID, m_therDamage, SystemEntity::m_warID, ItemType::mass(), InventoryItem::name(), FactionData::ownerID, ItemType::radius(), sEntityList, InventoryItem::SetAttribute(), SetResists(), InventoryItem::type(), DestinyManager::UpdateShipVariables(), and ItemType::volume().

41 : DynamicSystemEntity(drone, services, pSystem),
42  m_AI(new DroneAIMgr(this)),
43  m_system(pSystem)
44  {
45  assert (m_AI != nullptr);
46  assert (m_system != nullptr);
47 
48  m_online = false;
49 
50  m_warID = data.factionID;
51  m_allyID = data.allianceID;
52  m_corpID = data.corporationID;
53  m_ownerID = data.ownerID;
54  m_pClient = sEntityList.FindClientByCharID(data.ownerID);
55  m_targetID = 0;
56  m_controllerID = 0;
58 
60  if (m_orbitRange < 1) {
63  } else {
65  }
66  }
67 
68  // Create default dynamic attributes in the AttributeMap:
72  m_self->SetAttribute(AttrWarpCapacitorNeed, 0.00001, false);
74  m_self->SetAttribute(AttrMass, m_self->type().mass(), false);
80 
84 
85  SetResists();
86 
87  /* Gets the value from the Drone and put on our own vars */
96 
97  _log(DRONE__TRACE, "Created Drone object for %s (%u)", drone.get()->name(), drone.get()->itemID());
98 }
uint32 m_controllerOwnerID
Definition: Drone.h:125
#define _log(type, fmt,...)
Definition: logsys.h:124
DestinyManager * m_destiny
Definition: SystemEntity.h:265
double m_orbitRange
Definition: Drone.h:127
uint32 m_ownerID
Definition: SystemEntity.h:283
double m_expDamage
Definition: Drone.h:129
#define sEntityList
Definition: EntityList.h:208
bool m_online
Definition: Drone.h:122
const char * name()
float capacity() const
Definition: ItemType.h:71
EvilNumber EvilZero
Definition: EvilNumber.cpp:32
const ItemType & type() const
SystemManager * m_system
Definition: Drone.h:119
InventoryItemRef m_self
Definition: SystemEntity.h:269
uint32 m_corpID
Definition: SystemEntity.h:281
double m_shieldCapacity
Definition: Drone.h:135
float mass() const
Definition: ItemType.h:69
void SetAttribute(uint16 attrID, int num, bool notify=true)
X * get() const
Definition: RefPtr.h:213
Client * m_pClient
Definition: Drone.h:116
uint32 corporationID
uint32 m_controllerID
Definition: Drone.h:124
double m_shieldCharge
Definition: Drone.h:134
double m_armorDamage
Definition: Drone.h:133
double m_emDamage
Definition: Drone.h:128
EvilNumber GetAttribute(const uint16 attrID) const
DroneAIMgr * m_AI
Definition: Drone.h:117
double m_hullDamage
Definition: Drone.h:132
void SetResists()
Definition: Drone.cpp:355
float radius() const
Definition: ItemType.h:68
float volume() const
Definition: ItemType.h:70
EvilNumber EvilOne
Definition: EvilNumber.cpp:34
float get_float()
Definition: EvilNumber.cpp:184
DynamicSystemEntity(InventoryItemRef self, PyServiceMgr &services, SystemManager *system)
uint32 m_targetID
Definition: Drone.h:123
uint32 itemID() const
Definition: InventoryItem.h:98
double m_kinDamage
Definition: Drone.h:130
double m_therDamage
Definition: Drone.h:131

Here is the call graph for this function:

DroneSE::~DroneSE ( )
virtual

Definition at line 100 of file Drone.cpp.

References m_AI, and SafeDelete().

100  {
101  SafeDelete(m_AI);
102 }
void SafeDelete(T *&p)
Deletes and nullifies a pointer.
Definition: SafeMem.h:83
DroneAIMgr * m_AI
Definition: Drone.h:117

Here is the call graph for this function:

Member Function Documentation

void DroneSE::Abandon ( )
virtual

Reimplemented from SystemEntity.

Definition at line 185 of file Drone.cpp.

References SystemEntity::Abandon(), and Offline().

Referenced by ShipSE::AbandonDrones().

185  {
187  Offline();
188 }
void Offline()
Definition: Drone.cpp:163
virtual void Abandon()

Here is the call graph for this function:

Here is the caller graph for this function:

void DroneSE::AssignShip ( ShipSE pSE)
inline

Definition at line 110 of file Drone.h.

References DroneAIMgr::AssignShip(), and m_AI.

110 { m_AI->AssignShip(pSE); }
void AssignShip(ShipSE *pSE)
Definition: DroneAI.h:62
DroneAIMgr * m_AI
Definition: Drone.h:117

Here is the call graph for this function:

void DroneSE::Disable ( )
inline

Definition at line 107 of file Drone.h.

References m_online.

107 { m_online = false; }
bool m_online
Definition: Drone.h:122
void DroneSE::Enable ( )
inline

Definition at line 106 of file Drone.h.

References m_online.

106 { m_online = true; }
bool m_online
Definition: Drone.h:122
void DroneSE::EncodeDestiny ( Buffer into)
virtual

Reimplemented from DynamicSystemEntity.

Definition at line 268 of file Drone.cpp.

References _log, Destiny::MassSector::allianceID, Buffer::Append(), Destiny::MassSector::cloak, Destiny::MassSector::corporationID, Destiny::WARP_Struct::effectStamp, Destiny::BallHeader::entityID, Destiny::BallHeader::flags, Destiny::Ball::Mode::FOLLOW, Destiny::FOLLOW_Struct::followID, Destiny::WARP_Struct::followID, Destiny::FOLLOW_Struct::followRange, Destiny::WARP_Struct::followRange, Destiny::ORBIT_Struct::followRange, Destiny::GOTO_Struct::formationID, Destiny::FOLLOW_Struct::formationID, Destiny::STOP_Struct::formationID, Destiny::WARP_Struct::formationID, Destiny::ORBIT_Struct::formationID, DestinyManager::GetFollowDistance(), SystemEntity::GetID(), DestinyManager::GetInertia(), DestinyManager::GetMass(), DestinyManager::GetMaxVelocity(), SystemEntity::GetName(), SystemEntity::GetRadius(), DestinyManager::GetSpeedFraction(), DestinyManager::GetState(), DestinyManager::GetTargetID(), DestinyManager::GetTargetPoint(), DestinyManager::GetVelocity(), DestinyManager::GetWarpSpeed(), Destiny::Ball::Mode::GOTO, Destiny::MassSector::harmonic, Destiny::DataSector::inertia, IsAlliance, Destiny::Ball::Flag::IsFree, SystemEntity::m_allyID, SystemEntity::m_corpID, SystemEntity::m_destiny, SystemEntity::m_harmonic, main(), Destiny::MassSector::mass, Destiny::DataSector::maxSpeed, Destiny::BallHeader::mode, Destiny::Ball::Mode::ORBIT, Destiny::BallHeader::posX, Destiny::BallHeader::posY, Destiny::BallHeader::posZ, Destiny::BallHeader::radius, Destiny::WARP_Struct::speed, Destiny::DataSector::speedfraction, Destiny::ORBIT_Struct::targetID, Destiny::WARP_Struct::targX, Destiny::WARP_Struct::targY, Destiny::WARP_Struct::targZ, Destiny::DataSector::velX, Destiny::DataSector::velY, Destiny::DataSector::velZ, Destiny::Ball::Mode::WARP, Destiny::GOTO_Struct::x, Ga::GaVec3::x, SystemEntity::x(), Destiny::GOTO_Struct::y, Ga::GaVec3::y, SystemEntity::y(), Destiny::GOTO_Struct::z, Ga::GaVec3::z, and SystemEntity::z().

269 {
270  using namespace Destiny;
271 
272  uint8 mode = m_destiny->GetState(); //Ball::Mode::STOP;
273 
274  // drone id's begin at 500m
275  BallHeader head = BallHeader();
276  head.entityID = GetID();
277  head.mode = mode;
278  head.radius = GetRadius();
279  head.posX = x();
280  head.posY = y();
281  head.posZ = z();
282  head.flags = Ball::Flag::IsFree;
283  into.Append( head );
284  MassSector mass = MassSector();
285  mass.mass = m_destiny->GetMass();
286  mass.cloak = 0;
287  mass.harmonic = m_harmonic;
288  mass.corporationID = m_corpID;
289  mass.allianceID = (IsAlliance(m_allyID) ? m_allyID : -1);
290  into.Append( mass );
291  DataSector data = DataSector();
293  data.velX = m_destiny->GetVelocity().x;
294  data.velY = m_destiny->GetVelocity().y;
295  data.velZ = m_destiny->GetVelocity().z;
296  data.inertia = m_destiny->GetInertia();
298  into.Append( data );
299  switch (mode) {
300  case Ball::Mode::WARP: {
301  GPoint target = m_destiny->GetTargetPoint();
302  WARP_Struct warp;
303  warp.formationID = 0xFF;
304  warp.targX = target.x;
305  warp.targY = target.y;
306  warp.targZ = target.z;
307  warp.speed = m_destiny->GetWarpSpeed(); //ship warp speed x10 (dont ask...this is what it is...more dumb ccp shit)
308  // warp timing. see Ship::EncodeDestiny() for notes/updates
309  warp.effectStamp = -1; //m_destiny->GetStateStamp(); //timestamp when warp started
310  warp.followRange = 0; //this isnt right
311  warp.followID = 0; //this isnt right
312  into.Append( warp );
313  } break;
314  case Ball::Mode::FOLLOW: {
315  FOLLOW_Struct follow;
316  follow.followID = m_destiny->GetTargetID();
318  follow.formationID = 0xFF;
319  into.Append( follow );
320  } break;
321  case Ball::Mode::ORBIT: {
322  ORBIT_Struct orbit;
323  orbit.targetID = m_destiny->GetTargetID();
325  orbit.formationID = 0xFF;
326  into.Append( orbit );
327  } break;
328  case Ball::Mode::GOTO: {
329  GPoint target = m_destiny->GetTargetPoint();
330  GOTO_Struct go;
331  go.formationID = 0xFF;
332  go.x = target.x;
333  go.y = target.y;
334  go.z = target.z;
335  into.Append( go );
336  } break;
337  default: {
339  main.formationID = 0xFF;
340  into.Append( main );
341  } break;
342  }
343  _log(SE__DESTINY, "DroneSE::EncodeDestiny(): %s - id:%li, mode:%u, flags:0x%X", GetName(), head.entityID, head.mode, head.flags);
344 }
void Append(const T &value)
Appends a single value to buffer.
Definition: Buffer.h:437
unsigned __int8 uint8
Definition: eve-compat.h:46
double GetFollowDistance()
#define _log(type, fmt,...)
Definition: logsys.h:124
DestinyManager * m_destiny
Definition: SystemEntity.h:265
double GetRadius()
Definition: SystemEntity.h:208
double y()
Definition: SystemEntity.h:214
const GVector & GetVelocity() const
GaFloat x
Definition: GaTypes.h:207
int32 m_harmonic
Definition: SystemEntity.h:276
uint32 GetTargetID()
float GetSpeedFraction()
Definition: gpoint.h:33
int32 GetWarpSpeed()
uint32 m_corpID
Definition: SystemEntity.h:281
double GetMaxVelocity()
double GetInertia()
double z()
Definition: SystemEntity.h:215
uint32 GetID()
Definition: SystemEntity.h:207
const char * GetName() const
Definition: SystemEntity.h:210
double x()
Definition: SystemEntity.h:213
GaFloat y
Definition: GaTypes.h:207
GPoint GetTargetPoint()
int main(int argc, char *argv[])
#define IsAlliance(itemID)
Definition: EVE_Defines.h:244
GaFloat z
Definition: GaTypes.h:207

Here is the call graph for this function:

DroneAIMgr* DroneSE::GetAI ( )
inline

Definition at line 75 of file Drone.h.

References m_AI.

Referenced by ShipSE::LaunchDrone().

75 { return m_AI; }
DroneAIMgr * m_AI
Definition: Drone.h:117

Here is the caller graph for this function:

uint32 DroneSE::GetBounty ( ) const
inline

Definition at line 89 of file Drone.h.

References Character::bounty(), Client::GetChar(), and m_pClient.

Referenced by MakeSlimItem().

89 { return (m_pClient == nullptr ? 0 : m_pClient->GetChar()->bounty()); }
float bounty() const
Definition: Character.h:287
CharacterRef GetChar() const
Definition: Client.h:164
Client * m_pClient
Definition: Drone.h:116

Here is the call graph for this function:

Here is the caller graph for this function:

uint32 DroneSE::GetControllerID ( )
inline

Definition at line 101 of file Drone.h.

References m_controllerID.

101 { return m_controllerID; }
uint32 m_controllerID
Definition: Drone.h:124
uint32 DroneSE::GetControllerOwnerID ( )
inline

Definition at line 102 of file Drone.h.

References m_controllerOwnerID.

102 { return m_controllerOwnerID; }
uint32 m_controllerOwnerID
Definition: Drone.h:125
virtual DroneSE* DroneSE::GetDroneSE ( )
inlinevirtual

Reimplemented from SystemEntity.

Definition at line 54 of file Drone.h.

54 { return this; }
float DroneSE::GetEM ( )
inline

Definition at line 92 of file Drone.h.

References m_emDamage.

Referenced by DroneAIMgr::AttackTarget().

92 { return m_emDamage; }
double m_emDamage
Definition: Drone.h:128

Here is the caller graph for this function:

float DroneSE::GetExplosive ( )
inline

Definition at line 94 of file Drone.h.

References m_expDamage.

Referenced by DroneAIMgr::AttackTarget().

94 { return m_expDamage; }
double m_expDamage
Definition: Drone.h:129

Here is the caller graph for this function:

ShipSE* DroneSE::GetHomeShip ( )
inline

Definition at line 113 of file Drone.h.

References m_pShipSE.

Referenced by DroneAIMgr::Return().

113 { return m_pShipSE; }
ShipSE * m_pShipSE
Definition: Drone.h:118

Here is the caller graph for this function:

float DroneSE::GetKinetic ( )
inline

Definition at line 93 of file Drone.h.

References m_kinDamage.

Referenced by DroneAIMgr::AttackTarget().

93 { return m_kinDamage; }
double m_kinDamage
Definition: Drone.h:130

Here is the caller graph for this function:

double DroneSE::GetOrbitRange ( )
inline

Definition at line 97 of file Drone.h.

References m_orbitRange.

97 { return m_orbitRange; }
double m_orbitRange
Definition: Drone.h:127
Client* DroneSE::GetOwner ( )
inline

Definition at line 74 of file Drone.h.

References m_pClient.

Referenced by SystemEntity::ApplyDamage(), and ShipSE::Killed().

74 { return m_pClient; }
Client * m_pClient
Definition: Drone.h:116

Here is the caller graph for this function:

float DroneSE::GetSecurityRating ( ) const
inline

Definition at line 95 of file Drone.h.

References Client::GetChar(), Character::GetSecurityRating(), and m_pClient.

Referenced by MakeSlimItem().

95 { return (m_pClient == nullptr ? 0.0 : m_pClient->GetChar()->GetSecurityRating()); }
float GetSecurityRating() const
Definition: Character.h:289
CharacterRef GetChar() const
Definition: Client.h:164
Client * m_pClient
Definition: Drone.h:116

Here is the call graph for this function:

Here is the caller graph for this function:

uint8 DroneSE::GetState ( )
inline

Definition at line 100 of file Drone.h.

References DroneAIMgr::GetState(), and m_AI.

100 { return m_AI->GetState(); }
int8 GetState()
Definition: DroneAI.cpp:121
DroneAIMgr * m_AI
Definition: Drone.h:117

Here is the call graph for this function:

uint32 DroneSE::GetTargetID ( )
inline

Definition at line 103 of file Drone.h.

References m_targetID.

103 { return m_targetID/*m_targMgr->GetFirstTarget()->GetID()*/; }
uint32 m_targetID
Definition: Drone.h:123
float DroneSE::GetThermal ( )
inline

Definition at line 91 of file Drone.h.

References m_therDamage.

Referenced by DroneAIMgr::AttackTarget().

91 { return m_therDamage; }
double m_therDamage
Definition: Drone.h:131

Here is the caller graph for this function:

void DroneSE::IdleOrbit ( ShipSE pShipSE = nullptr)

Definition at line 171 of file Drone.cpp.

References SystemEntity::m_destiny, m_online, m_orbitRange, m_pShipSE, DestinyManager::Orbit(), DestinyManager::SetMaxVelocity(), and DestinyManager::SetSpeedFraction().

Referenced by DroneAIMgr::SetIdle().

171  {
172  if (pShipSE == nullptr)
173  pShipSE = m_pShipSE;
174 
175  if (!m_online)
176  return; // error here?
177 
178  // TODO: fix these speeds
179  // set speed and begin orbit
182  m_destiny->Orbit(pShipSE, m_orbitRange);
183 }
DestinyManager * m_destiny
Definition: SystemEntity.h:265
double m_orbitRange
Definition: Drone.h:127
void SetMaxVelocity(float maxVelocity)
bool m_online
Definition: Drone.h:122
void SetSpeedFraction(float fraction=1.0f, bool startMovement=false)
void Orbit(SystemEntity *pSE, uint32 distance=0)
ShipSE * m_pShipSE
Definition: Drone.h:118

Here is the call graph for this function:

Here is the caller graph for this function:

virtual bool DroneSE::IsDroneSE ( )
inlinevirtual

Reimplemented from SystemEntity.

Definition at line 56 of file Drone.h.

56 { return true; }
bool DroneSE::IsEnabled ( )
inline

Definition at line 108 of file Drone.h.

References m_online.

108 { return m_online; }
bool m_online
Definition: Drone.h:122
void DroneSE::Killed ( Damage fatal_blow)
virtual

Reimplemented from SystemEntity.

Definition at line 371 of file Drone.cpp.

References _log, DBSystemDynamicEntity::allianceID, DynamicSystemEntity::AwardBounty(), SystemEntity::AwardSecurityStatus(), SystemManager::BuildDynamicEntity(), DBSystemDynamicEntity::categoryID, EVEDB::invCategories::Celestial, DBSystemDynamicEntity::corporationID, DBSystemDynamicEntity::factionID, flagNone, RefPtr< X >::get(), SystemEntity::GetAllianceID(), Client::GetChar(), Client::GetCharacterID(), SystemEntity::GetCorporationID(), SystemManager::GetID(), SystemEntity::GetID(), SystemEntity::GetName(), SystemEntity::GetPilot(), DestinyManager::GetPosition(), SystemEntity::GetSelf(), SystemManager::GetSystemSecurityRating(), SystemEntity::GetWarFactionID(), DBSystemDynamicEntity::groupID, SystemEntity::HasPilot(), is_log_enabled, SystemEntity::IsDroneSE(), Ga::GaVec3::isNaN(), InventoryItem::itemID(), DBSystemDynamicEntity::itemID, InventoryItem::itemName(), DBSystemDynamicEntity::itemName, itoa(), SystemEntity::m_allyID, SystemEntity::m_bubble, SystemEntity::m_destiny, SystemEntity::m_self, m_system, SystemEntity::m_warID, InventoryItem::ownerID(), DBSystemDynamicEntity::ownerID, DBSystemDynamicEntity::position, DestinyManager::SendJettisonPacket(), sEntityList, sItemFactory, sLog, Damage::srcSE, DBSystemDynamicEntity::typeID, EVEDB::invGroups::Wreck, Ga::GaVec3::x, SystemEntity::x(), Ga::GaVec3::y, SystemEntity::y(), Ga::GaVec3::z, and SystemEntity::z().

371  {
372  if ((m_bubble == nullptr) or (m_destiny == nullptr) or (m_system == nullptr))
373  return; // make error here?
374 
375  uint32 killerID = 0;
376  Client* pClient(nullptr);
377  SystemEntity *killer(fatal_blow.srcSE);
378 
379  if (killer->HasPilot()) {
380  pClient = killer->GetPilot();
381  killerID = pClient->GetCharacterID();
382  } else if (killer->IsDroneSE()) {
383  pClient = sEntityList.FindClientByCharID( killer->GetSelf()->ownerID() );
384  if (pClient == nullptr) {
385  sLog.Error("DroneSE::Killed()", "killer == IsDrone and pPlayer == nullptr");
386  } else {
387  killerID = pClient->GetCharacterID();
388  }
389  } else {
390  killerID = killer->GetID();
391  }
392 
393  if (pClient != nullptr) {
394  //award kill bounty.
395  AwardBounty( pClient );
397  AwardSecurityStatus(m_self, pClient->GetChar().get()); // this awards secStatusChange for npcs in empire space
398  }
399 
400  GPoint wreckPosition = m_destiny->GetPosition();
401  if (wreckPosition.isNaN()) {
402  sLog.Error("DroneSE::Killed()", "Wreck Position is NaN");
403  return;
404  }
405 
406  uint32 wreckTypeID = 26972; //Faction Drone Wreck -- best i can find.
407 
408  std::string wreck_name = m_self->itemName();
409  wreck_name += " Wreck";
410  ItemData wreckItemData(wreckTypeID, killerID, m_system->GetID(), flagNone, wreck_name.c_str(), wreckPosition, itoa(m_allyID));
411  WreckContainerRef wreckItemRef = sItemFactory.SpawnWreckContainer( wreckItemData );
412  if (wreckItemRef.get() == nullptr) {
413  sLog.Error("DroneSE::Killed()", "Creating Wreck Item Failed for %s of type %u", wreck_name.c_str(), wreckTypeID);
414  return;
415  }
416 
417  if (is_log_enabled(PHYSICS__TRACE))
418  _log(PHYSICS__TRACE, "DroneSE::Killed() - Drone %s(%u) Position: %.2f,%.2f,%.2f. Wreck %s(%u) Position: %.2f,%.2f,%.2f.", \
419  GetName(), GetID(), x(), y(), z(), wreckItemRef->name(), wreckItemRef->itemID(), wreckPosition.x, wreckPosition.y, wreckPosition.z);
420 
422  wreckEntity.allianceID = (killer->GetAllianceID() == 0 ? m_allyID : killer->GetAllianceID());
424  wreckEntity.corporationID = killer->GetCorporationID();
425  wreckEntity.factionID = (killer->GetWarFactionID() == 0 ? m_warID : killer->GetWarFactionID());
426  wreckEntity.groupID = EVEDB::invGroups::Wreck;
427  wreckEntity.itemID = wreckItemRef->itemID();
428  wreckEntity.itemName = wreck_name;
429  wreckEntity.ownerID = killerID;
430  wreckEntity.typeID = wreckTypeID;
431  wreckEntity.position = wreckPosition;
432 
433  if (!m_system->BuildDynamicEntity(wreckEntity, m_self->itemID())) {
434  sLog.Error("DroneSE::Killed()", "Spawning Wreck Failed for typeID %u", wreckTypeID);
435  wreckItemRef->Delete();
436  return;
437  }
439 }
#define _log(type, fmt,...)
Definition: logsys.h:124
DestinyManager * m_destiny
Definition: SystemEntity.h:265
void SendJettisonPacket() const
double y()
Definition: SystemEntity.h:214
GaExpInl bool isNaN() const
Definition: GaTypes.h:194
SystemBubble * m_bubble
Definition: SystemEntity.h:262
SystemEntity * srcSE
Definition: Damage.h:84
#define sEntityList
Definition: EntityList.h:208
const float GetSystemSecurityRating()
Definition: SystemManager.h:86
uint32 GetID() const
Definition: SystemManager.h:80
GaFloat x
Definition: GaTypes.h:207
bool BuildDynamicEntity(const DBSystemDynamicEntity &entity, uint32 launcherID=0)
#define is_log_enabled(type)
Definition: logsys.h:78
#define sLog
Evaluates to a NewLog instance.
Definition: LogNew.h:250
SystemManager * m_system
Definition: Drone.h:119
Definition: gpoint.h:33
InventoryItemRef m_self
Definition: SystemEntity.h:269
double z()
Definition: SystemEntity.h:215
uint32 GetID()
Definition: SystemEntity.h:207
const char * GetName() const
Definition: SystemEntity.h:210
double x()
Definition: SystemEntity.h:213
Definition: Client.h:66
unsigned __int32 uint32
Definition: eve-compat.h:50
void AwardBounty(Client *pClient)
GaFloat y
Definition: GaTypes.h:207
const std::string & itemName() const
void AwardSecurityStatus(InventoryItemRef iRef, Character *pChar)
const GPoint & GetPosition() const
#define sItemFactory
Definition: ItemFactory.h:165
GaFloat z
Definition: GaTypes.h:207
const char * itoa(int64 num)
Convers num to string.
uint32 itemID() const
Definition: InventoryItem.h:98

Here is the call graph for this function:

void DroneSE::Launch ( ShipSE pShipSE)

Definition at line 142 of file Drone.cpp.

References SystemManager::AddEntity(), SystemEntity::GetID(), SystemEntity::GetOwnerID(), SystemEntity::m_bubble, m_controllerID, m_controllerOwnerID, m_pShipSE, and m_system.

Referenced by ShipSE::LaunchDrone().

142  {
143  m_pShipSE = pShipSE;
144 
145  m_controllerID = pShipSE->GetID();
146  m_controllerOwnerID = pShipSE->GetOwnerID();
147 
148  m_system->AddEntity(this);
149 
150  assert (m_bubble != nullptr);
151 }
uint32 m_controllerOwnerID
Definition: Drone.h:125
void AddEntity(SystemEntity *pSE, bool addSignal=true)
uint32 GetOwnerID()
Definition: SystemEntity.h:219
SystemBubble * m_bubble
Definition: SystemEntity.h:262
SystemManager * m_system
Definition: Drone.h:119
uint32 GetID()
Definition: SystemEntity.h:207
uint32 m_controllerID
Definition: Drone.h:124
ShipSE * m_pShipSE
Definition: Drone.h:118

Here is the call graph for this function:

Here is the caller graph for this function:

void DroneSE::MakeDamageState ( DoDestinyDamageState &  into)
virtual

Reimplemented from DynamicSystemEntity.

Definition at line 346 of file Drone.cpp.

References AttrArmorDamage, AttrArmorHP, AttrDamage, AttrHP, AttrShieldCapacity, AttrShieldCharge, AttrShieldRechargeRate, EvilNumber::get_float(), InventoryItem::GetAttribute(), GetFileTimeNow(), and SystemEntity::m_self.

347 {
349  into.recharge = m_self->GetAttribute(AttrShieldRechargeRate).get_float() + 5;
350  into.timestamp = GetFileTimeNow();
352  into.structure = 1.0 - (m_self->GetAttribute(AttrDamage).get_float() / m_self->GetAttribute(AttrHP).get_float());
353 }
InventoryItemRef m_self
Definition: SystemEntity.h:269
double GetFileTimeNow()
Definition: utils_time.cpp:84
EvilNumber GetAttribute(const uint16 attrID) const
float get_float()
Definition: EvilNumber.cpp:184

Here is the call graph for this function:

PyDict * DroneSE::MakeSlimItem ( )
virtual

Reimplemented from DynamicSystemEntity.

Definition at line 251 of file Drone.cpp.

References _log, InventoryItem::categoryID(), GetBounty(), GetSecurityRating(), InventoryItem::groupID(), IsAlliance, IsCorp, IsFaction, InventoryItem::itemID(), InventoryItem::itemName(), SystemEntity::m_allyID, SystemEntity::m_corpID, SystemEntity::m_ownerID, SystemEntity::m_self, SystemEntity::m_warID, PyStatic, and InventoryItem::typeID().

251  {
252  _log(SE__SLIMITEM, "MakeSlimItem for Drone %u ", m_self->itemID());
253  PyDict *slim = new PyDict();
254  slim->SetItemString("itemID", new PyLong(m_self->itemID()));
255  slim->SetItemString("typeID", new PyInt(m_self->typeID()));
256  slim->SetItemString("categoryID", new PyInt(m_self->categoryID()));
257  slim->SetItemString("groupID", new PyInt(m_self->groupID()));
258  slim->SetItemString("name", new PyString(m_self->itemName()));
259  slim->SetItemString("ownerID", new PyInt(m_ownerID));
260  slim->SetItemString("corpID", IsCorp(m_corpID) ? new PyInt(m_corpID) : PyStatic.NewNone());
261  slim->SetItemString("allianceID", IsAlliance(m_allyID) ? new PyInt(m_allyID) : PyStatic.NewNone());
262  slim->SetItemString("warFactionID", IsFaction(m_warID) ? new PyInt(m_warID) : PyStatic.NewNone());
263  slim->SetItemString("bounty", new PyFloat(GetBounty()));
264  slim->SetItemString("securityStatus", new PyFloat(GetSecurityRating()));
265  return slim;
266 }
#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
float GetSecurityRating() const
Definition: Drone.h:95
uint16 groupID() const
InventoryItemRef m_self
Definition: SystemEntity.h:269
uint32 m_corpID
Definition: SystemEntity.h:281
Python integer.
Definition: PyRep.h:231
#define PyStatic
Definition: PyRep.h:1209
#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
uint32 GetBounty() const
Definition: Drone.h:89
uint16 typeID() const
uint8 categoryID() const
uint32 itemID() const
Definition: InventoryItem.h:98
Python long integer.
Definition: PyRep.h:261

Here is the call graph for this function:

void DroneSE::Offline ( )

Definition at line 163 of file Drone.cpp.

References DroneAIMgr::AssignShip(), m_AI, SystemEntity::m_destiny, m_online, StateChange(), and DestinyManager::Stop().

Referenced by Abandon(), and ShipSE::ScoopDrone().

163  {
164  // this is called by abandon also
165  m_destiny->Stop();
166  m_AI->AssignShip(nullptr);
167  m_online = false;
168  StateChange();
169 }
void AssignShip(ShipSE *pSE)
Definition: DroneAI.h:62
DestinyManager * m_destiny
Definition: SystemEntity.h:265
void StateChange()
Definition: Drone.cpp:204
bool m_online
Definition: Drone.h:122
DroneAIMgr * m_AI
Definition: Drone.h:117

Here is the call graph for this function:

Here is the caller graph for this function:

void DroneSE::Online ( ShipSE pShipSE = nullptr)

Definition at line 153 of file Drone.cpp.

References DroneAIMgr::AssignShip(), m_AI, m_online, m_pShipSE, and StateChange().

Referenced by ShipSE::LaunchDrone().

153  {
154  m_online = true;
155  StateChange();
156 
157  if (pShipSE == nullptr)
158  pShipSE = m_pShipSE;
159 
160  m_AI->AssignShip(pShipSE);
161 }
void AssignShip(ShipSE *pSE)
Definition: DroneAI.h:62
void StateChange()
Definition: Drone.cpp:204
bool m_online
Definition: Drone.h:122
ShipSE * m_pShipSE
Definition: Drone.h:118
DroneAIMgr * m_AI
Definition: Drone.h:117

Here is the call graph for this function:

Here is the caller graph for this function:

void DroneSE::Process ( )
virtual
Todo:
(allan) finish drone AI and processing

Reimplemented from SystemEntity.

Definition at line 116 of file Drone.cpp.

References Profile::drone, GetTimeUSeconds(), m_AI, SystemEntity::m_killed, m_online, DroneAIMgr::Process(), SystemEntity::Process(), sConfig, and sProfiler.

116  {
117  if (m_killed)
118  return;
119  double profileStartTime = GetTimeUSeconds();
120 
121  /* Enable base call to Process Targeting and Movement */
123 
125  if (m_online)
126  m_AI->Process();
127 
128  if (sConfig.debug.UseProfiling)
129  sProfiler.AddTime(Profile::drone, GetTimeUSeconds() - profileStartTime);
130 }
#define sConfig
A macro for easier access to the singleton.
virtual void Process()
#define sProfiler
Definition: dbcore.cpp:39
bool m_online
Definition: Drone.h:122
double GetTimeUSeconds()
Definition: utils_time.cpp:116
DroneAIMgr * m_AI
Definition: Drone.h:117
void Process()
Definition: DroneAI.cpp:48

Here is the call graph for this function:

void DroneSE::RemoveDrone ( )

Definition at line 136 of file Drone.cpp.

References InventoryItem::Delete(), and SystemEntity::m_self.

136  {
137  // this seems to work properly
138  m_self->Delete();
139  delete this;
140 }
InventoryItemRef m_self
Definition: SystemEntity.h:269
virtual void Delete()

Here is the call graph for this function:

void DroneSE::SaveDrone ( )

Definition at line 132 of file Drone.cpp.

References SystemEntity::m_self, and InventoryItem::SaveItem().

132  {
133  m_self->SaveItem();
134 }
InventoryItemRef m_self
Definition: SystemEntity.h:269

Here is the call graph for this function:

void DroneSE::SetOwner ( Client pClient)

Definition at line 104 of file Drone.cpp.

References InventoryItem::ChangeOwner(), Client::GetAllianceID(), Client::GetCharacterID(), Client::GetCorporationID(), SystemEntity::GetOwnerID(), Client::GetShipID(), Client::GetShipSE(), Client::GetWarFactionID(), SystemEntity::m_allyID, m_controllerID, m_controllerOwnerID, SystemEntity::m_corpID, SystemEntity::m_ownerID, m_pClient, m_pShipSE, SystemEntity::m_self, and SystemEntity::m_warID.

104  {
105  m_self->ChangeOwner(pClient->GetCharacterID());
106  m_pClient = pClient;
107  m_ownerID = pClient->GetCharacterID();
108  m_corpID = pClient->GetCorporationID();
109  m_allyID = pClient->GetAllianceID();
110  m_warID = pClient->GetWarFactionID();
111  m_pShipSE = pClient->GetShipSE();
112  m_controllerID = pClient->GetShipID();
114 }
uint32 GetShipID() const
Definition: Client.h:150
uint32 m_controllerOwnerID
Definition: Drone.h:125
uint32 m_ownerID
Definition: SystemEntity.h:283
uint32 GetOwnerID()
Definition: SystemEntity.h:219
int32 GetCharacterID() const
Definition: Client.h:113
int32 GetWarFactionID() const
Definition: Client.h:126
int32 GetCorporationID() const
Definition: Client.h:123
int32 GetAllianceID() const
Definition: Client.h:125
InventoryItemRef m_self
Definition: SystemEntity.h:269
uint32 m_corpID
Definition: SystemEntity.h:281
void ChangeOwner(uint32 new_owner, bool notify=false)
Client * m_pClient
Definition: Drone.h:116
uint32 m_controllerID
Definition: Drone.h:124
ShipSE * GetShipSE()
Definition: Client.h:168
ShipSE * m_pShipSE
Definition: Drone.h:118

Here is the call graph for this function:

void DroneSE::SetResists ( )

Definition at line 355 of file Drone.cpp.

References AttrArmorEmDamageResonance, AttrArmorExplosiveDamageResonance, AttrArmorKineticDamageResonance, AttrArmorThermalDamageResonance, AttrEmDamageResonance, AttrExplosiveDamageResonance, AttrKineticDamageResonance, AttrShieldEmDamageResonance, AttrShieldExplosiveDamageResonance, AttrShieldKineticDamageResonance, AttrShieldThermalDamageResonance, AttrThermalDamageResonance, EvilOne, InventoryItem::HasAttribute(), SystemEntity::m_self, and InventoryItem::SetAttribute().

Referenced by DroneSE().

355  {
356  /* fix for missing resist attribs -allan 18April16 */
369 }
bool HasAttribute(const uint16 attrID) const
InventoryItemRef m_self
Definition: SystemEntity.h:269
void SetAttribute(uint16 attrID, int num, bool notify=true)
EvilNumber EvilOne
Definition: EvilNumber.cpp:34

Here is the call graph for this function:

Here is the caller graph for this function:

void DroneSE::SetTarget ( SystemEntity pSE = nullptr)
inline

Definition at line 111 of file Drone.h.

References m_targetID.

111 { (pSE == nullptr ? 0 : m_targetID = pSE->GetID()); }
uint32 GetID()
Definition: SystemEntity.h:207
uint32 m_targetID
Definition: Drone.h:123
void DroneSE::StateChange ( )

Definition at line 204 of file Drone.cpp.

References PyList::AddItem(), PyList::AddItemInt(), SystemBubble::BubblecastDestinyUpdate(), DroneAIMgr::GetState(), InventoryItem::itemID(), m_AI, SystemEntity::m_bubble, m_controllerID, m_controllerOwnerID, m_online, SystemEntity::m_ownerID, SystemEntity::m_self, m_targetID, PyStatic, PyTuple::SetItem(), and InventoryItem::typeID().

Referenced by Offline(), and Online().

204  {
205  //OnDroneStateChange(droneID, ownerID, controllerID, activityState, droneTypeID, controllerOwnerID, targetID)
206  if (m_online) {
207  OnDroneStateChange du;
208  du.droneID = m_self->itemID();
209  du.ownerID = m_ownerID;
210  du.droneTypeID = m_self->typeID();
211  du.controllerID = m_controllerID;
212  du.controllerOwnerID = m_controllerOwnerID;
213  du.activityState = m_AI->GetState();
214  du.targetID = m_targetID;
215  PyTuple* up = du.Encode();
216  // bubblecast is faster than destiny::update
217  m_bubble->BubblecastDestinyUpdate(&up, "destiny");
218  //pShipSE->DestinyMgr()->SendSingleDestinyUpdate(&up);
219  } else {
220  PyList* list = new PyList();
221  list->AddItemInt(m_self->itemID());
222  list->AddItem(PyStatic.NewNone());
223  list->AddItem(PyStatic.NewNone());
224  list->AddItem(PyStatic.NewNone());
225  list->AddItem(PyStatic.NewNone());
226  list->AddItem(PyStatic.NewNone());
227  list->AddItem(PyStatic.NewNone());
228  PyTuple* tuple = new PyTuple(2);
229  tuple->SetItem(0, new PyString("OnDroneStateChange"));
230  tuple->SetItem(1, list);
231  m_bubble->BubblecastDestinyUpdate(&tuple, "destiny");
232  }
233 }
uint32 m_controllerOwnerID
Definition: Drone.h:125
Python string.
Definition: PyRep.h:430
uint32 m_ownerID
Definition: SystemEntity.h:283
int8 GetState()
Definition: DroneAI.cpp:121
SystemBubble * m_bubble
Definition: SystemEntity.h:262
bool m_online
Definition: Drone.h:122
Python tuple.
Definition: PyRep.h:567
void AddItem(PyRep *i)
Definition: PyRep.h:701
InventoryItemRef m_self
Definition: SystemEntity.h:269
void SetItem(size_t index, PyRep *object)
Stores Python object.
Definition: PyRep.h:610
#define PyStatic
Definition: PyRep.h:1209
void AddItemInt(int32 intval)
Definition: PyRep.h:702
uint32 m_controllerID
Definition: Drone.h:124
DroneAIMgr * m_AI
Definition: Drone.h:117
void BubblecastDestinyUpdate(std::vector< PyTuple * > &updates, const char *desc) const
uint32 m_targetID
Definition: Drone.h:123
uint16 typeID() const
Python list.
Definition: PyRep.h:639
uint32 itemID() const
Definition: InventoryItem.h:98

Here is the call graph for this function:

Here is the caller graph for this function:

void DroneSE::TargetAdded ( SystemEntity who)
virtual
Todo:
(Allan) will need code once drones are implemented

Definition at line 235 of file Drone.cpp.

235  {
237 }
void DroneSE::TargetedAdd ( SystemEntity who)
virtual

Definition at line 243 of file Drone.cpp.

References m_AI, and DroneAIMgr::Targeted().

243  {
244  m_AI->Targeted(who);
245 }
void Targeted(SystemEntity *by_who)
Definition: DroneAI.cpp:231
DroneAIMgr * m_AI
Definition: Drone.h:117

Here is the call graph for this function:

void DroneSE::TargetedLost ( SystemEntity who)
virtual
Todo:
(Allan) will need code once drones are implemented

Definition at line 247 of file Drone.cpp.

247  {
249 }
void DroneSE::TargetLost ( SystemEntity who)
virtual

Definition at line 239 of file Drone.cpp.

References m_AI, and DroneAIMgr::TargetLost().

239  {
240  m_AI->TargetLost(who);
241 }
void TargetLost(SystemEntity *by_who)
Definition: DroneAI.cpp:266
DroneAIMgr * m_AI
Definition: Drone.h:117

Here is the call graph for this function:

Member Data Documentation

DroneAIMgr* DroneSE::m_AI
protected
double DroneSE::m_armorDamage
private

Definition at line 133 of file Drone.h.

Referenced by DroneSE().

uint32 DroneSE::m_controllerID
private

Definition at line 124 of file Drone.h.

Referenced by DroneSE(), GetControllerID(), Launch(), SetOwner(), and StateChange().

uint32 DroneSE::m_controllerOwnerID
private

Definition at line 125 of file Drone.h.

Referenced by DroneSE(), GetControllerOwnerID(), Launch(), SetOwner(), and StateChange().

double DroneSE::m_emDamage
private

Definition at line 128 of file Drone.h.

Referenced by DroneSE(), and GetEM().

double DroneSE::m_expDamage
private

Definition at line 129 of file Drone.h.

Referenced by DroneSE(), and GetExplosive().

double DroneSE::m_hullDamage
private

Definition at line 132 of file Drone.h.

Referenced by DroneSE().

double DroneSE::m_kinDamage
private

Definition at line 130 of file Drone.h.

Referenced by DroneSE(), and GetKinetic().

bool DroneSE::m_online
private

Definition at line 122 of file Drone.h.

Referenced by Disable(), DroneSE(), Enable(), IdleOrbit(), IsEnabled(), Offline(), Online(), Process(), and StateChange().

double DroneSE::m_orbitRange
private

Definition at line 127 of file Drone.h.

Referenced by DroneSE(), GetOrbitRange(), and IdleOrbit().

Client* DroneSE::m_pClient
protected

Definition at line 116 of file Drone.h.

Referenced by DroneSE(), GetBounty(), GetOwner(), GetSecurityRating(), and SetOwner().

ShipSE* DroneSE::m_pShipSE
protected

Definition at line 118 of file Drone.h.

Referenced by GetHomeShip(), IdleOrbit(), Launch(), Online(), and SetOwner().

double DroneSE::m_shieldCapacity
private

Definition at line 135 of file Drone.h.

Referenced by DroneSE().

double DroneSE::m_shieldCharge
private

Definition at line 134 of file Drone.h.

Referenced by DroneSE().

SystemManager* DroneSE::m_system
protected

Definition at line 119 of file Drone.h.

Referenced by DroneSE(), Killed(), and Launch().

uint32 DroneSE::m_targetID
private

Definition at line 123 of file Drone.h.

Referenced by DroneSE(), GetTargetID(), SetTarget(), and StateChange().

double DroneSE::m_therDamage
private

Definition at line 131 of file Drone.h.

Referenced by DroneSE(), and GetThermal().


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