|
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 () |
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 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) |
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 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 |
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 | |
| 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().