TrinityCore
Loading...
Searching...
No Matches
ThreatReference Class Reference

#include <ThreatManager.h>

+ Inheritance diagram for ThreatReference:

Public Types

enum  TauntState : uint32 { TAUNT_STATE_DETAUNT = 0 , TAUNT_STATE_NONE = 1 , TAUNT_STATE_TAUNT = 2 }
 
enum  OnlineState { ONLINE_STATE_ONLINE = 2 , ONLINE_STATE_SUPPRESSED = 1 , ONLINE_STATE_OFFLINE = 0 }
 

Public Member Functions

Creature * GetOwner () const
 
Unit * GetVictim () const
 
float GetThreat () const
 
OnlineState GetOnlineState () const
 
bool IsOnline () const
 
bool IsAvailable () const
 
bool IsSuppressed () const
 
bool IsOffline () const
 
TauntState GetTauntState () const
 
bool IsTaunting () const
 
bool IsDetaunted () const
 
void AddThreat (float amount)
 
void ScaleThreat (float factor)
 
void ModifyThreatByPercent (int32 percent)
 
void UpdateOffline ()
 
void ClearThreat ()
 
 ThreatReference (ThreatReference const &)=delete
 
ThreatReference & operator= (ThreatReference const &)=delete
 

Protected Member Functions

 ThreatReference (ThreatManager *mgr, Unit *victim)
 
virtual ~ThreatReference ()=default
 
void UnregisterAndFree ()
 
bool ShouldBeOffline () const
 
bool ShouldBeSuppressed () const
 
void UpdateTauntState (TauntState state=TAUNT_STATE_NONE)
 
void HeapNotifyIncreased ()
 
void HeapNotifyDecreased ()
 

Static Protected Member Functions

static bool FlagsAllowFighting (Unit const *a, Unit const *b)
 

Protected Attributes

Creature *const _owner
 
ThreatManager & _mgr
 
Unit *const _victim
 
OnlineState _online
 
float _baseAmount
 
int32 _tempModifier
 
TauntState _taunted
 

Friends

class ThreatManager
 
struct CompareThreatLessThan
 

Detailed Description

Definition at line 269 of file ThreatManager.h.

Member Enumeration Documentation

◆ OnlineState

Enumerator
ONLINE_STATE_ONLINE 
ONLINE_STATE_SUPPRESSED 
ONLINE_STATE_OFFLINE 

Definition at line 273 of file ThreatManager.h.

◆ TauntState

Enumerator
TAUNT_STATE_DETAUNT 
TAUNT_STATE_NONE 
TAUNT_STATE_TAUNT 

Definition at line 272 of file ThreatManager.h.

Constructor & Destructor Documentation

◆ ThreatReference() [1/2]

ThreatReference::ThreatReference ( ThreatManager *  mgr,
Unit *  victim 
)
inlineexplicitprotected

Definition at line 297 of file ThreatManager.h.

◆ ~ThreatReference()

virtual ThreatReference::~ThreatReference ( )
protectedvirtualdefault

◆ ThreatReference() [2/2]

ThreatReference::ThreatReference ( ThreatReference const &  )
delete

Member Function Documentation

◆ AddThreat()

void ThreatReference::AddThreat ( float  amount)

◆ ClearThreat()

void ThreatReference::ClearThreat ( )

Definition at line 151 of file ThreatManager.cpp.

References _mgr, and ThreatManager::ClearThreat().

◆ FlagsAllowFighting()

bool ThreatReference::FlagsAllowFighting ( Unit const *  a,
Unit const *  b 
)
staticprotected

◆ GetOnlineState()

OnlineState ThreatReference::GetOnlineState ( ) const
inline

Definition at line 278 of file ThreatManager.h.

Referenced by ThreatManager::AddThreat().

◆ GetOwner()

Creature * ThreatReference::GetOwner ( ) const
inline

Definition at line 275 of file ThreatManager.h.

◆ GetTauntState()

TauntState ThreatReference::GetTauntState ( ) const
inline

Definition at line 283 of file ThreatManager.h.

◆ GetThreat()

float ThreatReference::GetThreat ( ) const
inline

◆ GetVictim()

◆ HeapNotifyDecreased()

void ThreatReference::HeapNotifyDecreased ( )
protected

Definition at line 176 of file ThreatManager.cpp.

References _mgr, and ThreatManager::_sortedThreatList.

Referenced by AddThreat(), ScaleThreat(), UpdateOffline(), and UpdateTauntState().

◆ HeapNotifyIncreased()

void ThreatReference::HeapNotifyIncreased ( )
protected

◆ IsAvailable()

bool ThreatReference::IsAvailable ( ) const
inline

◆ IsDetaunted()

bool ThreatReference::IsDetaunted ( ) const
inline

Definition at line 285 of file ThreatManager.h.

◆ IsOffline()

bool ThreatReference::IsOffline ( ) const
inline

Definition at line 282 of file ThreatManager.h.

Referenced by ThreatManager::ReselectVictim(), and UpdateOffline().

◆ IsOnline()

bool ThreatReference::IsOnline ( ) const
inline

Definition at line 279 of file ThreatManager.h.

Referenced by ThreatManager::AddThreat().

◆ IsSuppressed()

bool ThreatReference::IsSuppressed ( ) const
inline

Definition at line 281 of file ThreatManager.h.

◆ IsTaunting()

bool ThreatReference::IsTaunting ( ) const
inline

◆ ModifyThreatByPercent()

void ThreatReference::ModifyThreatByPercent ( int32  percent)
inline

Definition at line 289 of file ThreatManager.h.

◆ operator=()

ThreatReference & ThreatReference::operator= ( ThreatReference const &  )
delete

◆ ScaleThreat()

void ThreatReference::ScaleThreat ( float  factor)

◆ ShouldBeOffline()

◆ ShouldBeSuppressed()

◆ UnregisterAndFree()

void ThreatReference::UnregisterAndFree ( )
protected

◆ UpdateOffline()

◆ UpdateTauntState()

Friends And Related Symbol Documentation

◆ CompareThreatLessThan

friend struct CompareThreatLessThan
friend

Definition at line 326 of file ThreatManager.h.

◆ ThreatManager

friend class ThreatManager
friend

Definition at line 325 of file ThreatManager.h.

Member Data Documentation

◆ _baseAmount

float ThreatReference::_baseAmount
protected

Definition at line 317 of file ThreatManager.h.

Referenced by AddThreat(), and ScaleThreat().

◆ _mgr

ThreatManager& ThreatReference::_mgr
protected

◆ _online

OnlineState ThreatReference::_online
protected

◆ _owner

Creature* const ThreatReference::_owner
protected

◆ _taunted

TauntState ThreatReference::_taunted
protected

Definition at line 319 of file ThreatManager.h.

Referenced by ThreatManager::CompareReferencesLT(), and UpdateTauntState().

◆ _tempModifier

int32 ThreatReference::_tempModifier
protected

Definition at line 318 of file ThreatManager.h.

◆ _victim

Unit* const ThreatReference::_victim
protected

The documentation for this class was generated from the following files: