EvEmu
0.8.4
11 September 2021
|
#include "Drone.h"
Public Member Functions | |
DroneSE (InventoryItemRef drone, PyServiceMgr &services, SystemManager *pSystem, const FactionData &data) | |
virtual | ~DroneSE () |
virtual DroneSE * | GetDroneSE () |
virtual bool | IsDroneSE () |
virtual void | Process () |
virtual void | EncodeDestiny (Buffer &into) |
virtual void | MakeDamageState (DoDestinyDamageState &into) |
virtual PyDict * | MakeSlimItem () |
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) |
Client * | GetOwner () |
DroneAIMgr * | GetAI () |
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) |
ShipSE * | GetHomeShip () |
![]() | |
DynamicSystemEntity (InventoryItemRef self, PyServiceMgr &services, SystemManager *system) | |
virtual | ~DynamicSystemEntity () |
virtual DynamicSystemEntity * | GetDynamicSE () |
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) |
![]() | |
SystemEntity (InventoryItemRef self, PyServiceMgr &services, SystemManager *system) | |
virtual | ~SystemEntity () |
virtual bool | ProcessTic () |
virtual SystemEntity * | GetSE () |
virtual StaticSystemEntity * | GetStaticSE () |
virtual StationSE * | GetStationSE () |
virtual PlanetSE * | GetPlanetSE () |
virtual MoonSE * | GetMoonSE () |
virtual StargateSE * | GetGateSE () |
virtual BeltSE * | GetBeltSE () |
virtual ItemSystemEntity * | GetItemSE () |
virtual ContainerSE * | GetContSE () |
virtual WreckSE * | GetWreckSE () |
virtual AnomalySE * | GetAnomalySE () |
virtual WormholeSE * | GetWormholeSE () |
virtual FieldSE * | GetFieldSE () |
virtual ProbeSE * | GetProbeSE () |
virtual ObjectSystemEntity * | GetObjectSE () |
virtual AsteroidSE * | GetAsteroidSE () |
virtual StructureSE * | GetPOSSE () |
virtual StructureSE * | GetJammerSE () |
virtual JumpBridgeSE * | GetJumpBridgeSE () |
virtual StructureSE * | GetOutpostSE () |
virtual TowerSE * | GetTowerSE () |
virtual ArraySE * | GetArraySE () |
virtual WeaponSE * | GetWeaponSE () |
virtual BatterySE * | GetBatterySE () |
virtual DeployableSE * | GetDeployableSE () |
virtual Sentry * | GetSentrySE () |
virtual ModuleSE * | GetModuleSE () |
virtual ReactorSE * | GetReactorSE () |
virtual CustomsSE * | GetCOSE () |
virtual TCUSE * | GetTCUSE () |
virtual SBUSE * | GetSBUSE () |
virtual IHubSE * | GetIHubSE () |
virtual NPC * | GetNPCSE () |
virtual Missile * | GetMissileSE () |
virtual ShipSE * | GetShipSE () |
virtual Concord * | GetConcordSE () |
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 () |
PyServiceMgr & | GetServices () |
SystemBubble * | SysBubble () |
SystemManager * | SystemMgr () |
TargetManager * | TargetMgr () |
DestinyManager * | DestinyMgr () |
InventoryItemRef | GetSelf () |
uint16 | GetTypeID () |
uint32 | GetGroupID () |
uint8 | GetCategoryID () |
EVEItemFlags | GetFlag () |
uint32 | GetID () |
double | GetRadius () |
uint32 | GetLocationID () |
const char * | GetName () const |
const GPoint & | GetPosition () 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) |
PyTuple * | MakeDamageState () |
const bool | IsDead () |
const GVector & | GetVelocity () |
virtual void | MissileLaunched (Missile *pMissile) |
virtual bool | LoadExtras () |
virtual void | Delete () |
virtual void | SetPilot (Client *pClient) |
virtual bool | HasPilot () |
virtual Client * | GetPilot () |
Protected Attributes | |
Client * | m_pClient |
DroneAIMgr * | m_AI |
ShipSE * | m_pShipSE |
SystemManager * | m_system |
![]() | |
SystemBubble * | m_bubble |
SystemManager * | m_system |
TargetManager * | m_targMgr |
DestinyManager * | m_destiny |
PyServiceMgr & | m_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 |
DroneSE::DroneSE | ( | InventoryItemRef | drone, |
PyServiceMgr & | services, | ||
SystemManager * | pSystem, | ||
const FactionData & | data | ||
) |
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().
|
virtual |
Definition at line 100 of file Drone.cpp.
References m_AI, and SafeDelete().
|
virtual |
Reimplemented from SystemEntity.
Definition at line 185 of file Drone.cpp.
References SystemEntity::Abandon(), and Offline().
Referenced by ShipSE::AbandonDrones().
|
inline |
Definition at line 110 of file Drone.h.
References DroneAIMgr::AssignShip(), and m_AI.
|
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().
|
inline |
Definition at line 75 of file Drone.h.
References m_AI.
Referenced by ShipSE::LaunchDrone().
|
inline |
Definition at line 89 of file Drone.h.
References Character::bounty(), Client::GetChar(), and m_pClient.
Referenced by MakeSlimItem().
|
inline |
|
inline |
|
inlinevirtual |
|
inline |
Definition at line 92 of file Drone.h.
References m_emDamage.
Referenced by DroneAIMgr::AttackTarget().
|
inline |
Definition at line 94 of file Drone.h.
References m_expDamage.
Referenced by DroneAIMgr::AttackTarget().
|
inline |
Definition at line 113 of file Drone.h.
References m_pShipSE.
Referenced by DroneAIMgr::Return().
|
inline |
Definition at line 93 of file Drone.h.
References m_kinDamage.
Referenced by DroneAIMgr::AttackTarget().
|
inline |
|
inline |
Definition at line 74 of file Drone.h.
References m_pClient.
Referenced by SystemEntity::ApplyDamage(), and ShipSE::Killed().
|
inline |
Definition at line 95 of file Drone.h.
References Client::GetChar(), Character::GetSecurityRating(), and m_pClient.
Referenced by MakeSlimItem().
|
inline |
Definition at line 100 of file Drone.h.
References DroneAIMgr::GetState(), and m_AI.
|
inline |
|
inline |
Definition at line 91 of file Drone.h.
References m_therDamage.
Referenced by DroneAIMgr::AttackTarget().
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().
|
inlinevirtual |
|
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().
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().
|
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.
|
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().
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().
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().
|
virtual |
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.
void DroneSE::RemoveDrone | ( | ) |
Definition at line 136 of file Drone.cpp.
References InventoryItem::Delete(), and SystemEntity::m_self.
void DroneSE::SaveDrone | ( | ) |
Definition at line 132 of file Drone.cpp.
References SystemEntity::m_self, and InventoryItem::SaveItem().
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.
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().
|
inline |
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().
|
virtual |
|
virtual |
Definition at line 243 of file Drone.cpp.
References m_AI, and DroneAIMgr::Targeted().
|
virtual |
|
virtual |
Definition at line 239 of file Drone.cpp.
References m_AI, and DroneAIMgr::TargetLost().
|
protected |
Definition at line 117 of file Drone.h.
Referenced by AssignShip(), DroneSE(), GetAI(), GetState(), Offline(), Online(), Process(), StateChange(), TargetedAdd(), TargetLost(), and ~DroneSE().
|
private |
|
private |
Definition at line 124 of file Drone.h.
Referenced by DroneSE(), GetControllerID(), Launch(), SetOwner(), and StateChange().
|
private |
Definition at line 125 of file Drone.h.
Referenced by DroneSE(), GetControllerOwnerID(), Launch(), SetOwner(), and StateChange().
|
private |
|
private |
Definition at line 129 of file Drone.h.
Referenced by DroneSE(), and GetExplosive().
|
private |
|
private |
Definition at line 130 of file Drone.h.
Referenced by DroneSE(), and GetKinetic().
|
private |
Definition at line 122 of file Drone.h.
Referenced by Disable(), DroneSE(), Enable(), IdleOrbit(), IsEnabled(), Offline(), Online(), Process(), and StateChange().
|
private |
Definition at line 127 of file Drone.h.
Referenced by DroneSE(), GetOrbitRange(), and IdleOrbit().
|
protected |
Definition at line 116 of file Drone.h.
Referenced by DroneSE(), GetBounty(), GetOwner(), GetSecurityRating(), and SetOwner().
|
protected |
Definition at line 118 of file Drone.h.
Referenced by GetHomeShip(), IdleOrbit(), Launch(), Online(), and SetOwner().
|
private |
|
private |
|
protected |
|
private |
Definition at line 123 of file Drone.h.
Referenced by DroneSE(), GetTargetID(), SetTarget(), and StateChange().
|
private |
Definition at line 131 of file Drone.h.
Referenced by DroneSE(), and GetThermal().