|
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 () |
Public Member Functions inherited from DynamicSystemEntity | |
| 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) |
Public Member Functions inherited from SystemEntity | |
| 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 |
Protected Attributes inherited from SystemEntity | |
| 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().