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
 
float _tempModifier
 
TauntState _taunted
 

Friends

class ThreatManager
 
struct CompareThreatLessThan
 

Detailed Description

Definition at line 264 of file ThreatManager.h.

Member Enumeration Documentation

◆ OnlineState

Enumerator
ONLINE_STATE_ONLINE 
ONLINE_STATE_SUPPRESSED 
ONLINE_STATE_OFFLINE 

Definition at line 268 of file ThreatManager.h.

◆ TauntState

Enumerator
TAUNT_STATE_DETAUNT 
TAUNT_STATE_NONE 
TAUNT_STATE_TAUNT 

Definition at line 267 of file ThreatManager.h.

Constructor & Destructor Documentation

◆ ThreatReference() [1/2]

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

Definition at line 292 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 142 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 273 of file ThreatManager.h.

Referenced by ThreatManager::AddThreat().

◆ GetOwner()

Creature * ThreatReference::GetOwner ( ) const
inline

Definition at line 270 of file ThreatManager.h.

◆ GetTauntState()

TauntState ThreatReference::GetTauntState ( ) const
inline

Definition at line 278 of file ThreatManager.h.

◆ GetThreat()

float ThreatReference::GetThreat ( ) const
inline

◆ GetVictim()

◆ HeapNotifyDecreased()

void ThreatReference::HeapNotifyDecreased ( )
protected

Definition at line 167 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 280 of file ThreatManager.h.

◆ IsOffline()

bool ThreatReference::IsOffline ( ) const
inline

Definition at line 277 of file ThreatManager.h.

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

◆ IsOnline()

bool ThreatReference::IsOnline ( ) const
inline

Definition at line 274 of file ThreatManager.h.

Referenced by ThreatManager::AddThreat().

◆ IsSuppressed()

bool ThreatReference::IsSuppressed ( ) const
inline

Definition at line 276 of file ThreatManager.h.

◆ IsTaunting()

bool ThreatReference::IsTaunting ( ) const
inline

◆ ModifyThreatByPercent()

void ThreatReference::ModifyThreatByPercent ( int32  percent)
inline

Definition at line 284 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 321 of file ThreatManager.h.

◆ ThreatManager

friend class ThreatManager
friend

Definition at line 320 of file ThreatManager.h.

Member Data Documentation

◆ _baseAmount

float ThreatReference::_baseAmount
protected

Definition at line 312 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 314 of file ThreatManager.h.

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

◆ _tempModifier

float ThreatReference::_tempModifier
protected

Definition at line 313 of file ThreatManager.h.

◆ _victim

Unit* const ThreatReference::_victim
protected

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