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