|
Project SkyFire Core
SkyFire 5.4.8 server core API documentation
|
#include <ThreatManager.h>
Private Member Functions | |
| void | _addThreat (Unit *victim, float threat) |
Private Attributes | |
| HostileReference * | iCurrentVictim |
| Unit * | iOwner |
| ThreatContainer | iThreatContainer |
| ThreatContainer | iThreatOfflineContainer |
| uint32 | iUpdateTimer |
Friends | |
| class | HostileReference |
Definition at line 179 of file ThreatManager.h.
|
explicit |
Definition at line 393 of file ThreatManager.cpp.
References iCurrentVictim, iOwner, iUpdateTimer, and THREAT_UPDATE_INTERVAL.
|
inline |
Definition at line 186 of file ThreatManager.h.
References clearReferences().
|
private |
Definition at line 433 of file ThreatManager.cpp.
References HostileReference::addThreat(), Object::GetTypeId(), HostileReference, Player::IsGameMaster(), iThreatContainer, iThreatOfflineContainer, HostileReference::setOnlineOfflineState(), Object::ToPlayer(), and TYPEID_PLAYER.
Referenced by doAddThreat().
| void ThreatManager::addThreat | ( | Unit * | victim, |
| float | threat, | ||
| SpellSchoolMask | schoolMask = SPELL_SCHOOL_MASK_NORMAL, | ||
| SpellInfo const * | threatSpell = NULL ) |
Definition at line 407 of file ThreatManager.cpp.
References ThreatCalcHelper::calcThreat(), doAddThreat(), GetOwner(), iOwner, and ThreatCalcHelper::isValidProcess().
Referenced by HostileReference::addThreat(), and spell_alysrazor_aggro_closest::spell_alysrazor_aggro_closest_SpellScript::HandleEffect().
| void ThreatManager::clearReferences | ( | ) |
Definition at line 397 of file ThreatManager.cpp.
References iCurrentVictim, iThreatContainer, iThreatOfflineContainer, iUpdateTimer, and THREAT_UPDATE_INTERVAL.
Referenced by LuaUnit::ClearThreatList(), and ~ThreatManager().
| void ThreatManager::doAddThreat | ( | Unit * | victim, |
| float | threat ) |
Definition at line 415 of file ThreatManager.cpp.
References _addThreat(), CalculatePct(), Unit::GetRedirectThreatPercent(), and Unit::GetRedirectThreatTarget().
Referenced by addThreat(), and HostileRefManager::threatAssist().
|
inline |
Definition at line 204 of file ThreatManager.h.
References HostileReference, and iCurrentVictim.
Referenced by getHostilTarget(), processThreatEvent(), and tauntApply().
| Unit * ThreatManager::getHostilTarget | ( | ) |
Definition at line 460 of file ThreatManager.cpp.
References getCurrentVictim(), GetOwner(), Reference< TO, FROM >::getTarget(), HostileReference, iThreatContainer, and setCurrentVictim().
Referenced by CreatureAI::DoZoneInCombat().
|
inline |
Definition at line 244 of file ThreatManager.h.
References iThreatOfflineContainer.
|
inline |
Definition at line 242 of file ThreatManager.h.
References iThreatOfflineContainer.
Referenced by Unit::SetPhased(), and Unit::SetPhaseMask().
|
inline |
Definition at line 243 of file ThreatManager.h.
References iThreatContainer.
|
inline |
Definition at line 206 of file ThreatManager.h.
References iOwner.
Referenced by addThreat(), HostileRefManager::deleteReference(), HostileRefManager::deleteReferencesForFaction(), getHostilTarget(), debug_commandscript::HandleDebugHostileRefListCommand(), HostileRefManager::setOnlineOfflineState(), Unit::SetPhased(), Unit::SetPhaseMask(), HostileRefManager::threatAssist(), and HostileRefManager::UpdateVisibility().
| float ThreatManager::getThreat | ( | Unit * | victim, |
| bool | alsoSearchOfflineList = false ) |
Definition at line 470 of file ThreatManager.cpp.
References HostileReference::getThreat(), HostileReference, iThreatContainer, and iThreatOfflineContainer.
Referenced by spell_alysrazor_aggro_closest::spell_alysrazor_aggro_closest_SpellScript::HandleEffect(), boss_reliquary_of_souls::boss_reliquary_of_soulsAI::MergeThreatList(), processThreatEvent(), boss_headless_horseman::boss_headless_horsemanAI::SpellHit(), and tauntApply().
|
inline |
Definition at line 241 of file ThreatManager.h.
References iThreatContainer.
Referenced by LuaCreature::GetAITargetsCount(), debug_commandscript::HandleDebugThreatListCommand(), boss_reliquary_of_souls::boss_reliquary_of_soulsAI::MergeThreatList(), Unit::SendChangeCurrentVictimOpcode(), Unit::SendThreatListUpdate(), Unit::SetPhased(), and Unit::SetPhaseMask().
| bool ThreatManager::isNeedUpdateToClient | ( | uint32 | time | ) |
Definition at line 565 of file ThreatManager.cpp.
References isThreatListEmpty(), iUpdateTimer, and THREAT_UPDATE_INTERVAL.
|
inline |
Definition at line 198 of file ThreatManager.h.
References iThreatContainer.
Referenced by isNeedUpdateToClient().
Definition at line 453 of file ThreatManager.cpp.
References iThreatContainer.
Referenced by spell_sha_nature_guardian::spell_sha_nature_guardian_AuraScript::OnProc().
| void ThreatManager::processThreatEvent | ( | ThreatRefStatusChangeEvent * | threatRefStatusChangeEvent | ) |
Definition at line 517 of file ThreatManager.cpp.
References getCurrentVictim(), ThreatRefStatusChangeEvent::getFValue(), ThreatRefStatusChangeEvent::getReference(), HostileReference::getThreat(), getThreat(), UnitBaseEvent::getType(), HostileReference, iOwner, HostileReference::isOnline(), iThreatContainer, iThreatOfflineContainer, setCurrentVictim(), setDirty(), ThreatRefStatusChangeEvent::setThreatManager(), UEV_THREAT_REF_ONLINE_STATUS, UEV_THREAT_REF_REMOVE_FROM_LIST, and UEV_THREAT_REF_THREAT_CHANGE.
Referenced by HostileReference::fireStatusChanged().
|
inline |
Definition at line 221 of file ThreatManager.h.
References Reference< TO, FROM >::getTarget(), HostileReference, iThreatContainer, setDirty(), and HostileReference::setThreat().
| void ThreatManager::resetAllAggro | ( | ) |
Definition at line 580 of file ThreatManager.cpp.
References iThreatContainer, and setDirty().
| void ThreatManager::setCurrentVictim | ( | HostileReference * | hostileRef | ) |
Definition at line 504 of file ThreatManager.cpp.
References HostileReference, iCurrentVictim, and iOwner.
Referenced by getHostilTarget(), and processThreatEvent().
|
inline |
Definition at line 215 of file ThreatManager.h.
References iThreatContainer.
Referenced by processThreatEvent(), resetAggro(), and resetAllAggro().
| void ThreatManager::tauntApply | ( | Unit * | taunter | ) |
Definition at line 483 of file ThreatManager.cpp.
References getCurrentVictim(), HostileReference::getTempThreatModifier(), HostileReference::getThreat(), getThreat(), HostileReference, iThreatContainer, and HostileReference::setTempThreat().
| void ThreatManager::tauntFadeOut | ( | Unit * | taunter | ) |
Definition at line 495 of file ThreatManager.cpp.
References HostileReference, iThreatContainer, and HostileReference::resetTempThreat().
|
friend |
Definition at line 182 of file ThreatManager.h.
References HostileReference.
Referenced by _addThreat(), getCurrentVictim(), getHostilTarget(), getThreat(), HostileReference, processThreatEvent(), resetAggro(), setCurrentVictim(), tauntApply(), and tauntFadeOut().
|
private |
Definition at line 248 of file ThreatManager.h.
Referenced by clearReferences(), getCurrentVictim(), setCurrentVictim(), and ThreatManager().
|
private |
Definition at line 249 of file ThreatManager.h.
Referenced by addThreat(), GetOwner(), processThreatEvent(), setCurrentVictim(), and ThreatManager().
|
private |
Definition at line 251 of file ThreatManager.h.
Referenced by _addThreat(), clearReferences(), getHostilTarget(), getOnlineContainer(), getThreat(), getThreatList(), isThreatListEmpty(), modifyThreatPercent(), processThreatEvent(), resetAggro(), resetAllAggro(), setDirty(), tauntApply(), and tauntFadeOut().
|
private |
Definition at line 252 of file ThreatManager.h.
Referenced by _addThreat(), clearReferences(), getOfflineContainer(), getOfflineThreatList(), getThreat(), and processThreatEvent().
|
private |
Definition at line 250 of file ThreatManager.h.
Referenced by clearReferences(), isNeedUpdateToClient(), and ThreatManager().