EvEmu
0.8.4
11 September 2021
|
#include "NPC.h"
Public Member Functions | |
NPC (InventoryItemRef self, PyServiceMgr &services, SystemManager *system, const FactionData &data, SpawnMgr *spawnMgr=nullptr) | |
virtual | ~NPC () |
virtual NPC * | GetNPCSE () |
virtual bool | IsNPCSE () |
virtual void | Process () |
virtual void | TargetLost (SystemEntity *who) |
virtual void | TargetedAdd (SystemEntity *who) |
virtual void | EncodeDestiny (Buffer &into) |
virtual void | Killed (Damage &fatal_blow) |
virtual bool | Load () |
virtual void | MissileLaunched (Missile *pMissile) |
void | SaveNPC () |
void | RemoveNPC () |
void | SetResists () |
void | UseHullRepairer () |
void | UseArmorRepairer () |
void | UseShieldRecharge () |
void | Orbit (SystemEntity *who) |
void | ForceSetSpawner (SpawnMgr *spawnMgr) |
float | GetThermal () |
float | GetEM () |
float | GetKinetic () |
float | GetExplosive () |
NPCAIMgr * | GetAIMgr () |
SpawnMgr * | GetSpawnMgr () |
void | CmdDropLoot () |
![]() | |
DynamicSystemEntity (InventoryItemRef self, PyServiceMgr &services, SystemManager *system) | |
virtual | ~DynamicSystemEntity () |
virtual DynamicSystemEntity * | GetDynamicSE () |
virtual bool | IsDynamicEntity () |
virtual void | UpdateDamage () |
virtual void | MakeDamageState (DoDestinyDamageState &into) |
virtual PyDict * | MakeSlimItem () |
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 DroneSE * | GetDroneSE () |
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 | IsDroneSE () |
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 () |
virtual void | Abandon () |
const bool | IsDead () |
const GVector & | GetVelocity () |
virtual bool | LoadExtras () |
virtual void | Delete () |
virtual void | SetPilot (Client *pClient) |
virtual bool | HasPilot () |
virtual Client * | GetPilot () |
Protected Attributes | |
NPCAIMgr * | m_AI |
SpawnMgr * | m_spawnMgr |
![]() | |
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 | |
uint32 | m_orbitingID |
float | m_emDamage |
float | m_expDamage |
float | m_kinDamage |
float | m_therDamage |
float | m_hullDamage |
float | m_armorDamage |
float | m_shieldCharge |
float | m_shieldCapacity |
NPC::NPC | ( | InventoryItemRef | self, |
PyServiceMgr & | services, | ||
SystemManager * | system, | ||
const FactionData & | data, | ||
SpawnMgr * | spawnMgr = nullptr |
||
) |
Definition at line 45 of file NPC.cpp.
References _log, FactionData::allianceID, AttrArmorDamage, AttrCapacitorCapacity, AttrCapacitorCharge, AttrCapacity, AttrDamage, AttrEmDamage, AttrExplosiveDamage, AttrInertia, AttrKineticDamage, AttrMass, AttrRadius, AttrShieldCapacity, AttrShieldCharge, AttrThermalDamage, AttrVolume, AttrWarpCapacitorNeed, ItemType::capacity(), FactionData::corporationID, EvilOne, EvilZero, FactionData::factionID, RefPtr< X >::get(), EvilNumber::get_float(), InventoryItem::GetAttribute(), InventoryItem::itemID(), SystemEntity::m_allyID, m_armorDamage, SystemEntity::m_corpID, m_emDamage, m_expDamage, m_hullDamage, m_kinDamage, SystemEntity::m_ownerID, SystemEntity::m_self, m_shieldCapacity, m_shieldCharge, m_therDamage, SystemEntity::m_warID, ItemType::mass(), InventoryItem::name(), FactionData::ownerID, ItemType::radius(), InventoryItem::SetAttribute(), InventoryItem::type(), and ItemType::volume().
|
virtual |
Definition at line 82 of file NPC.cpp.
References m_AI, and SafeDelete().
void NPC::CmdDropLoot | ( | ) |
Definition at line 391 of file NPC.cpp.
References SystemEntity::m_destiny, and DestinyManager::SendJettisonPacket().
|
virtual |
Reimplemented from DynamicSystemEntity.
Definition at line 127 of file NPC.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, DestinyManager::IsCloaked(), Destiny::Ball::Flag::IsFree, Destiny::Ball::Flag::IsMassive, 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 |
|
inline |
Definition at line 81 of file NPC.h.
References m_AI.
Referenced by DestinyManager::BeginMovement(), TurretFormulas::GetNPCToHit(), and DestinyManager::WarpStop().
|
inline |
Definition at line 77 of file NPC.h.
References m_emDamage.
Referenced by NPCAIMgr::AttackTarget().
|
inline |
Definition at line 79 of file NPC.h.
References m_expDamage.
Referenced by NPCAIMgr::AttackTarget().
|
inline |
Definition at line 78 of file NPC.h.
References m_kinDamage.
Referenced by NPCAIMgr::AttackTarget().
|
inlinevirtual |
|
inline |
Definition at line 82 of file NPC.h.
References m_spawnMgr.
Referenced by NPCAIMgr::Process(), NPCAIMgr::SetIdle(), NPCAIMgr::SetWander(), and NPCAIMgr::WarpOut().
|
inline |
Definition at line 76 of file NPC.h.
References m_therDamage.
Referenced by NPCAIMgr::AttackTarget().
|
inlinevirtual |
|
virtual |
Reimplemented from SystemEntity.
Definition at line 304 of file NPC.cpp.
References _log, MapDB::AddFactionKill(), MapDB::AddKill(), DBSystemDynamicEntity::allianceID, DynamicSystemEntity::AwardBounty(), SystemEntity::AwardSecurityStatus(), SystemManager::BuildDynamicEntity(), DBSystemDynamicEntity::categoryID, EVEDB::invCategories::Celestial, DBSystemDynamicEntity::corporationID, SystemEntity::DropLoot(), DBSystemDynamicEntity::factionID, factionRogueDrones, flagNone, RefPtr< X >::get(), SystemEntity::GetAllianceID(), Client::GetChar(), Client::GetCharacterID(), SystemEntity::GetCorporationID(), SystemEntity::GetID(), SystemEntity::GetLocationID(), SystemEntity::GetName(), SystemEntity::GetPilot(), DestinyManager::GetPosition(), SystemEntity::GetSelf(), SystemManager::GetSystemSecurityRating(), SystemEntity::GetWarFactionID(), InventoryItem::groupID(), DBSystemDynamicEntity::groupID, SystemEntity::HasPilot(), is_log_enabled, SystemEntity::IsDroneSE(), Ga::GaVec3::isNaN(), IsWreckTypeID, InventoryItem::itemID(), DBSystemDynamicEntity::itemID, InventoryItem::itemName(), DBSystemDynamicEntity::itemName, itoa(), SystemEntity::m_allyID, SystemEntity::m_bubble, SystemEntity::m_destiny, SystemEntity::m_self, m_spawnMgr, SystemEntity::m_system, SystemEntity::m_warID, MakeRandomFloat(), InventoryItem::name(), InventoryItem::ownerID(), DBSystemDynamicEntity::ownerID, DBSystemDynamicEntity::position, sConfig, sDataMgr, DestinyManager::SendJettisonPacket(), sEntityList, sItemFactory, sLog, SpawnMgr::SpawnKilled(), Damage::srcSE, InventoryItem::typeID(), DBSystemDynamicEntity::typeID, EVEDB::invGroups::Wreck, Ga::GaVec3::x, SystemEntity::x(), Ga::GaVec3::y, SystemEntity::y(), Ga::GaVec3::z, and SystemEntity::z().
Referenced by Command_kill().
|
virtual |
Reimplemented from DynamicSystemEntity.
Definition at line 86 of file NPC.cpp.
References DynamicSystemEntity::Load(), SystemEntity::m_destiny, SetResists(), and DestinyManager::UpdateShipVariables().
Referenced by DynamicEntityFactory::BuildEntity(), and SpawnMgr::ReSpawn().
|
virtual |
Reimplemented from SystemEntity.
Definition at line 269 of file NPC.cpp.
References m_AI, and NPCAIMgr::MissileLaunched().
void NPC::Orbit | ( | SystemEntity * | who | ) |
Definition at line 111 of file NPC.cpp.
References SystemEntity::GetID(), and m_orbitingID.
|
virtual |
Reimplemented from SystemEntity.
Definition at line 96 of file NPC.cpp.
References GetTimeUSeconds(), m_AI, SystemEntity::m_killed, Profile::npc, NPCAIMgr::Process(), SystemEntity::Process(), sConfig, and sProfiler.
void NPC::RemoveNPC | ( | ) |
Definition at line 279 of file NPC.cpp.
References InventoryItem::Delete(), and SystemEntity::m_self.
Referenced by SystemManager::RemoveNPC().
void NPC::SaveNPC | ( | ) |
Definition at line 274 of file NPC.cpp.
References SystemEntity::m_self, and InventoryItem::SaveItem().
void NPC::SetResists | ( | ) |
Definition at line 285 of file NPC.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 Load().
|
virtual |
Definition at line 123 of file NPC.cpp.
References m_AI, and NPCAIMgr::Targeted().
Referenced by TargetManager::TargetedAdd().
|
virtual |
Definition at line 119 of file NPC.cpp.
References m_AI, and NPCAIMgr::TargetLost().
Referenced by TargetManager::TargetLost().
void NPC::UseArmorRepairer | ( | ) |
Definition at line 238 of file NPC.cpp.
References AttrArmorDamage, AttrEntityArmorRepairAmount, NPCAIMgr::DisableRepTimers(), EvilNumber::get_float(), InventoryItem::GetAttribute(), m_AI, m_armorDamage, SystemEntity::m_self, InventoryItem::SetAttribute(), and DynamicSystemEntity::UpdateDamage().
Referenced by NPCAIMgr::Process().
void NPC::UseHullRepairer | ( | ) |
Definition at line 253 of file NPC.cpp.
References AttrDamage, NPCAIMgr::DisableRepTimers(), m_AI, m_hullDamage, SystemEntity::m_self, InventoryItem::SetAttribute(), and DynamicSystemEntity::UpdateDamage().
void NPC::UseShieldRecharge | ( | ) |
Definition at line 222 of file NPC.cpp.
References AttrEntityShieldBoostAmount, AttrShieldCapacity, AttrShieldCharge, NPCAIMgr::DisableRepTimers(), EvilNumber::get_float(), InventoryItem::GetAttribute(), m_AI, SystemEntity::m_self, m_shieldCharge, InventoryItem::SetAttribute(), and DynamicSystemEntity::UpdateDamage().
Referenced by NPCAIMgr::Process().
|
protected |
Definition at line 88 of file NPC.h.
Referenced by GetAIMgr(), MissileLaunched(), Process(), TargetedAdd(), TargetLost(), UseArmorRepairer(), UseHullRepairer(), UseShieldRecharge(), and ~NPC().
|
private |
Definition at line 99 of file NPC.h.
Referenced by NPC(), and UseArmorRepairer().
|
private |
|
private |
Definition at line 95 of file NPC.h.
Referenced by GetExplosive(), and NPC().
|
private |
Definition at line 98 of file NPC.h.
Referenced by NPC(), and UseHullRepairer().
|
private |
Definition at line 96 of file NPC.h.
Referenced by GetKinetic(), and NPC().
|
private |
Definition at line 100 of file NPC.h.
Referenced by NPC(), and UseShieldRecharge().
|
protected |
Definition at line 89 of file NPC.h.
Referenced by ForceSetSpawner(), GetSpawnMgr(), and Killed().
|
private |
Definition at line 97 of file NPC.h.
Referenced by GetThermal(), and NPC().