|
EvEmu
0.8.4
11 September 2021
|
#include "Concord.h"

Public Member Functions | |
| virtual | ~ConcordAI () |
Protected Types | |
| enum | State { Idle, Chasing, Following, Engaged, Fleeing, Signaling } |
Protected Attributes | |
| State | m_state |
Private Attributes | |
| double | m_sigRadius |
| double | m_attackSpeed |
| double | m_entityFlyRange |
| double | m_entityOrbitRange |
| double | m_entityChaseRange |
| double | m_entityAttackRange |
| double | m_armorRepairChance |
| double | m_shieldBoosterChance |
| uint16 | m_chaseSpeed |
| uint16 | m_cruiseSpeed |
| uint16 | m_armorRepairDuration |
| uint16 | m_shieldBoosterDuration |
| uint32 | m_targetRange |
| Concord * | m_npc |
| TurretFormulas | m_formula |
| Timer | m_processTimer |
| Timer | m_mainAttackTimer |
| Timer | m_shieldBoosterTimer |
| Timer | m_armorRepairTimer |
| Timer | m_beginFindTarget |
| Timer | m_warpScramblerTimer |
| Timer | m_webifierTimer |
Concord.cpp | |
this file is for Concord AI and other concord-specific code as it is written. : Allan
| |
| ConcordAI (Concord *who) | |
| void | Process () |
| void | Target (SystemEntity *by_who) |
| void | Targeted (SystemEntity *by_who) |
| void | TargetLost (SystemEntity *by_who) |
| void | ClearTargets () |
| void | ClearAllTargets () |
| void | DisableRepTimers () |
| void | Attack (SystemEntity *pTarget) |
| void | AttackTarget (SystemEntity *pTarget) |
| void | SetIdle () |
| void | SetChasing (SystemEntity *pTarget) |
| void | SetFollowing (SystemEntity *pTarget) |
| void | SetEngaged (SystemEntity *pTarget) |
| void | SetFleeing (SystemEntity *pTarget) |
| void | SetSignaling (SystemEntity *pTarget) |
| void | CheckDistance (SystemEntity *pTarget) |
| double | GetTargetTime () |
|
protected |
| Enumerator | |
|---|---|
| Idle | |
| Chasing | |
| Following | |
| Engaged | |
| Fleeing | |
| Signaling | |
Definition at line 128 of file Concord.h.
| ConcordAI::ConcordAI | ( | Concord * | who | ) |
Definition at line 266 of file Concord.cpp.
References AttrEntityArmorRepairDelayChanceLarge, AttrEntityArmorRepairDelayChanceSmall, AttrEntityShieldBoostDelayChanceLarge, AttrEntityShieldBoostDelayChanceSmall, Timer::Disable(), EvilNumber::get_float(), InventoryItem::GetAttribute(), SystemEntity::GetSelf(), m_armorRepairChance, m_armorRepairTimer, m_beginFindTarget, m_entityAttackRange, m_mainAttackTimer, m_processTimer, m_shieldBoosterChance, m_shieldBoosterTimer, m_warpScramblerTimer, m_webifierTimer, and Timer::Start().

|
inlinevirtual |
|
protected |
Definition at line 602 of file Concord.cpp.
References _log, AttackTarget(), TargetManager::CanAttack(), Timer::Check(), TargetManager::ClearTarget(), SystemEntity::DestinyMgr(), SystemEntity::GetID(), SystemEntity::GetName(), SystemEntity::GetPosition(), SystemBubble::InBubble(), DestinyManager::IsCloaked(), m_mainAttackTimer, m_npc, SystemEntity::SysBubble(), and SystemEntity::TargetMgr().
Referenced by CheckDistance().


|
protected |
Definition at line 641 of file Concord.cpp.
References SystemEntity::ApplyDamage(), AttrDamageMultiplier, SystemEntity::DestinyMgr(), EvilNumber::get_float(), InventoryItem::GetAttribute(), Concord::GetEM(), Concord::GetExplosive(), SystemEntity::GetID(), Concord::GetKinetic(), TurretFormulas::GetNPCToHit(), SystemEntity::GetSelf(), Concord::GetThermal(), InventoryItem::itemID(), m_attackSpeed, m_formula, m_npc, DestinyManager::SendSpecialEffect(), targetAttack, and InventoryItem::typeID().
Referenced by Attack().


|
protected |
Definition at line 478 of file Concord.cpp.
References _log, Attack(), TargetManager::ClearTarget(), Timer::Enabled(), SystemEntity::GetID(), SystemEntity::GetName(), SystemEntity::GetPosition(), TargetManager::HasNoTargets(), Idle, Ga::GaVec3::length(), m_armorRepairDuration, m_armorRepairTimer, m_attackSpeed, m_entityAttackRange, m_entityChaseRange, m_entityFlyRange, m_mainAttackTimer, m_npc, m_shieldBoosterDuration, m_shieldBoosterTimer, m_state, SetChasing(), SetEngaged(), SetFollowing(), SetIdle(), Timer::Start(), and SystemEntity::TargetMgr().
Referenced by Process(), Target(), and Targeted().


| void ConcordAI::ClearAllTargets | ( | ) |
Definition at line 520 of file Concord.cpp.
References TargMgr::Mode::Clear, TargMgr::Msg::ClientReq, m_npc, and SystemEntity::TargetMgr().
Referenced by Target().


| void ConcordAI::ClearTargets | ( | ) |
Definition at line 516 of file Concord.cpp.
References TargetManager::ClearTargets(), m_npc, and SystemEntity::TargetMgr().

| void ConcordAI::DisableRepTimers | ( | ) |
Definition at line 684 of file Concord.cpp.
References Timer::Disable(), m_armorRepairTimer, and m_shieldBoosterTimer.
Referenced by Concord::UseArmorRepairer(), and Concord::UseShieldRecharge().


|
protected |
Definition at line 663 of file Concord.cpp.
References AttrRadius, AttrScanSpeed, EvilNumber::get_float(), EvilNumber::get_int(), InventoryItem::GetAttribute(), SystemEntity::GetSelf(), and m_npc.
Referenced by Target(), and Targeted().


| void ConcordAI::Process | ( | ) |
Definition at line 310 of file Concord.cpp.
References Chasing, Timer::Check(), CheckDistance(), TargetManager::ClearTarget(), SystemEntity::DestinyMgr(), Timer::Enabled(), Engaged, Fleeing, Following, TargetManager::GetFirstTarget(), TargetManager::HasNoTargets(), SystemBubble::HasPlayers(), Idle, DestinyManager::IsWarping(), m_armorRepairChance, m_armorRepairTimer, m_npc, m_processTimer, m_shieldBoosterChance, m_shieldBoosterTimer, m_state, MakeRandomFloat(), SetIdle(), Signaling, SystemEntity::SysBubble(), SystemEntity::TargetMgr(), Concord::UseArmorRepairer(), and Concord::UseShieldRecharge().
Referenced by Concord::Process().


|
protected |
Definition at line 422 of file Concord.cpp.
References Chasing, SystemEntity::DestinyMgr(), DestinyManager::Follow(), SystemEntity::GetID(), SystemEntity::GetName(), m_chaseSpeed, m_entityOrbitRange, m_npc, m_state, and DestinyManager::SetMaxVelocity().
Referenced by CheckDistance(), and Targeted().


|
protected |
Definition at line 442 of file Concord.cpp.
References SystemEntity::DestinyMgr(), Engaged, SystemEntity::GetID(), SystemEntity::GetName(), m_chaseSpeed, m_cruiseSpeed, m_entityOrbitRange, m_npc, m_state, MakeRandomFloat(), DestinyManager::Orbit(), and DestinyManager::SetMaxVelocity().
Referenced by CheckDistance().


|
protected |
Definition at line 455 of file Concord.cpp.
References SystemEntity::DestinyMgr(), Fleeing, SystemEntity::GetID(), SystemEntity::GetName(), m_chaseSpeed, m_npc, m_state, and DestinyManager::SetMaxVelocity().

|
protected |
Definition at line 432 of file Concord.cpp.
References SystemEntity::DestinyMgr(), DestinyManager::Follow(), Following, SystemEntity::GetID(), SystemEntity::GetName(), m_chaseSpeed, m_entityOrbitRange, m_npc, m_state, and DestinyManager::SetMaxVelocity().
Referenced by CheckDistance().


|
protected |
Definition at line 402 of file Concord.cpp.
References SystemEntity::DestinyMgr(), Timer::Disable(), SystemEntity::GetID(), SystemEntity::GetName(), Idle, m_armorRepairTimer, m_beginFindTarget, m_cruiseSpeed, m_mainAttackTimer, m_npc, m_shieldBoosterTimer, m_state, m_warpScramblerTimer, m_webifierTimer, DestinyManager::SetMaxVelocity(), and DestinyManager::Stop().
Referenced by CheckDistance(), Process(), Target(), Targeted(), and TargetLost().


|
protected |
Definition at line 466 of file Concord.cpp.
References SystemEntity::DestinyMgr(), SystemEntity::GetID(), SystemEntity::GetName(), m_chaseSpeed, m_cruiseSpeed, m_entityOrbitRange, m_npc, m_state, MakeRandomFloat(), DestinyManager::Orbit(), DestinyManager::SetMaxVelocity(), and Signaling.

| void ConcordAI::Target | ( | SystemEntity * | by_who | ) |
Definition at line 526 of file Concord.cpp.
References AttrMaxAttackTargets, CheckDistance(), ClearAllTargets(), Timer::Disable(), EvilNumber::get_int(), InventoryItem::GetAttribute(), SystemEntity::GetSelf(), GetTargetTime(), m_beginFindTarget, m_entityAttackRange, m_npc, SetIdle(), TargetManager::StartTargeting(), and SystemEntity::TargetMgr().

| void ConcordAI::Targeted | ( | SystemEntity * | by_who | ) |
Definition at line 540 of file Concord.cpp.
References _log, AttrMaxAttackTargets, Chasing, CheckDistance(), Timer::Disable(), Engaged, Fleeing, Following, EvilNumber::get_int(), InventoryItem::GetAttribute(), SystemEntity::GetID(), SystemEntity::GetName(), SystemEntity::GetSelf(), GetTargetTime(), Idle, m_beginFindTarget, m_entityAttackRange, m_npc, m_state, SetChasing(), SetIdle(), Signaling, TargetManager::StartTargeting(), and SystemEntity::TargetMgr().
Referenced by Concord::TargetedAdd().


| void ConcordAI::TargetLost | ( | SystemEntity * | by_who | ) |
Definition at line 581 of file Concord.cpp.
References _log, Chasing, Engaged, Following, SystemEntity::GetID(), SystemEntity::GetName(), TargetManager::HasNoTargets(), m_npc, m_state, SetIdle(), and SystemEntity::TargetMgr().
Referenced by Concord::TargetLost().


|
private |
Definition at line 146 of file Concord.h.
Referenced by ConcordAI(), and Process().
|
private |
Definition at line 151 of file Concord.h.
Referenced by CheckDistance().
|
private |
Definition at line 163 of file Concord.h.
Referenced by CheckDistance(), ConcordAI(), DisableRepTimers(), Process(), and SetIdle().
|
private |
Definition at line 141 of file Concord.h.
Referenced by AttackTarget(), and CheckDistance().
|
private |
Definition at line 164 of file Concord.h.
Referenced by ConcordAI(), SetIdle(), Target(), and Targeted().
|
private |
Definition at line 149 of file Concord.h.
Referenced by SetChasing(), SetEngaged(), SetFleeing(), SetFollowing(), and SetSignaling().
|
private |
Definition at line 150 of file Concord.h.
Referenced by SetEngaged(), SetIdle(), and SetSignaling().
|
private |
Definition at line 145 of file Concord.h.
Referenced by CheckDistance(), ConcordAI(), Target(), and Targeted().
|
private |
Definition at line 144 of file Concord.h.
Referenced by CheckDistance().
|
private |
Definition at line 142 of file Concord.h.
Referenced by CheckDistance().
|
private |
Definition at line 143 of file Concord.h.
Referenced by SetChasing(), SetEngaged(), SetFollowing(), and SetSignaling().
|
private |
Definition at line 158 of file Concord.h.
Referenced by AttackTarget().
|
private |
Definition at line 161 of file Concord.h.
Referenced by Attack(), CheckDistance(), ConcordAI(), and SetIdle().
|
private |
Definition at line 156 of file Concord.h.
Referenced by Attack(), AttackTarget(), CheckDistance(), ClearAllTargets(), ClearTargets(), GetTargetTime(), Process(), SetChasing(), SetEngaged(), SetFleeing(), SetFollowing(), SetIdle(), SetSignaling(), Target(), Targeted(), and TargetLost().
|
private |
Definition at line 160 of file Concord.h.
Referenced by ConcordAI(), and Process().
|
private |
Definition at line 147 of file Concord.h.
Referenced by ConcordAI(), and Process().
|
private |
Definition at line 152 of file Concord.h.
Referenced by CheckDistance().
|
private |
Definition at line 162 of file Concord.h.
Referenced by CheckDistance(), ConcordAI(), DisableRepTimers(), Process(), and SetIdle().
|
protected |
Definition at line 136 of file Concord.h.
Referenced by CheckDistance(), Process(), SetChasing(), SetEngaged(), SetFleeing(), SetFollowing(), SetIdle(), SetSignaling(), Targeted(), and TargetLost().
|
private |
Definition at line 165 of file Concord.h.
Referenced by ConcordAI(), and SetIdle().
|
private |
Definition at line 166 of file Concord.h.
Referenced by ConcordAI(), and SetIdle().