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

#include <ReputationMgr.h>

Public Member Functions

 ReputationMgr (Player *owner)
 
 ~ReputationMgr ()
 
void SaveToDB (CharacterDatabaseTransaction trans)
 
void LoadFromDB (PreparedQueryResult result)
 
uint8 GetVisibleFactionCount () const
 
uint8 GetHonoredFactionCount () const
 
uint8 GetReveredFactionCount () const
 
uint8 GetExaltedFactionCount () const
 
FactionStateList const & GetStateList () const
 
FactionState const * GetState (FactionEntry const *factionEntry) const
 
FactionState const * GetState (RepListID id) const
 
bool IsAtWar (uint32 faction_id) const
 
bool IsAtWar (FactionEntry const *factionEntry) const
 
bool IsReputationAllowedForTeam (TeamId team, uint32 factionId) const
 
int32 GetReputation (uint32 faction_id) const
 
int32 GetReputation (FactionEntry const *factionEntry) const
 
int32 GetBaseReputation (FactionEntry const *factionEntry) const
 
int32 GetMinReputation (FactionEntry const *factionEntry) const
 
int32 GetMaxReputation (FactionEntry const *factionEntry) const
 
ReputationRank GetRank (FactionEntry const *factionEntry) const
 
ReputationRank GetBaseRank (FactionEntry const *factionEntry) const
 
std::string GetReputationRankName (FactionEntry const *factionEntry) const
 
ReputationRank const * GetForcedRankIfAny (FactionTemplateEntry const *factionTemplateEntry) const
 
ReputationRank const * GetForcedRankIfAny (uint32 factionId) const
 
bool SetReputation (FactionEntry const *factionEntry, int32 standing)
 
bool ModifyReputation (FactionEntry const *factionEntry, int32 standing, bool spillOverOnly=false)
 
void SetVisible (FactionTemplateEntry const *factionTemplateEntry)
 
void SetVisible (FactionEntry const *factionEntry)
 
void SetAtWar (RepListID repListID, bool on)
 
void SetInactive (RepListID repListID, bool on)
 
void ApplyForceReaction (uint32 faction_id, ReputationRank rank, bool apply)
 
bool SetOneFactionReputation (FactionEntry const *factionEntry, int32 standing, bool incremental)
 Public for chat command needs.
 
void SendInitialReputations ()
 
void SendForceReactions ()
 
void SendState (FactionState const *faction)
 

Static Public Member Functions

static ReputationRank ReputationToRank (FactionEntry const *factionEntry, int32 standing)
 

Static Public Attributes

static std::set< int32 > const ReputationRankThresholds
 
static const int32 Reputation_Cap = 42999
 
static const int32 Reputation_Bottom = -42000
 

Private Member Functions

void Initialize ()
 
ReputationFlags GetDefaultStateFlags (FactionEntry const *factionEntry) const
 
bool SetReputation (FactionEntry const *factionEntry, int32 standing, bool incremental, bool spillOverOnly)
 
void SetVisible (FactionState *faction)
 
void SetAtWar (FactionState *faction, bool atWar) const
 
void SetInactive (FactionState *faction, bool inactive) const
 
void SendVisible (FactionState const *faction) const
 
void UpdateRankCounters (ReputationRank old_rank, ReputationRank new_rank)
 
int32 GetFactionDataIndexForRaceAndClass (FactionEntry const *factionEntry) const
 

Private Attributes

Player * _player
 
FactionStateList _factions
 
ForcedReactions _forcedReactions
 
uint8 _visibleFactionCount
 
uint8 _honoredFactionCount
 
uint8 _reveredFactionCount
 
uint8 _exaltedFactionCount
 
bool _sendFactionIncreased
 

Detailed Description

Definition at line 63 of file ReputationMgr.h.

Constructor & Destructor Documentation

◆ ReputationMgr()

ReputationMgr::ReputationMgr ( Player *  owner)
inlineexplicit

Definition at line 66 of file ReputationMgr.h.

◆ ~ReputationMgr()

ReputationMgr::~ReputationMgr ( )
inline

Definition at line 68 of file ReputationMgr.h.

Member Function Documentation

◆ ApplyForceReaction()

void ReputationMgr::ApplyForceReaction ( uint32  faction_id,
ReputationRank  rank,
bool  apply 
)

Definition at line 190 of file ReputationMgr.cpp.

References _forcedReactions.

Referenced by AuraEffect::HandleForceReaction().

◆ GetBaseRank()

ReputationRank ReputationMgr::GetBaseRank ( FactionEntry const *  factionEntry) const

Definition at line 168 of file ReputationMgr.cpp.

References GetBaseReputation(), and ReputationToRank().

Referenced by Initialize().

◆ GetBaseReputation()

int32 ReputationMgr::GetBaseReputation ( FactionEntry const *  factionEntry) const

◆ GetDefaultStateFlags()

ReputationFlags ReputationMgr::GetDefaultStateFlags ( FactionEntry const *  factionEntry) const
private

Definition at line 198 of file ReputationMgr.cpp.

References GetFactionDataIndexForRaceAndClass(), None, and FactionEntry::ReputationFlags.

Referenced by Initialize().

◆ GetExaltedFactionCount()

uint8 ReputationMgr::GetExaltedFactionCount ( ) const
inline

Definition at line 82 of file ReputationMgr.h.

◆ GetFactionDataIndexForRaceAndClass()

int32 ReputationMgr::GetFactionDataIndexForRaceAndClass ( FactionEntry const *  factionEntry) const
private

◆ GetForcedRankIfAny() [1/2]

ReputationRank const * ReputationMgr::GetForcedRankIfAny ( FactionTemplateEntry const *  factionTemplateEntry) const

◆ GetForcedRankIfAny() [2/2]

ReputationRank const * ReputationMgr::GetForcedRankIfAny ( uint32  factionId) const

Definition at line 185 of file ReputationMgr.cpp.

References _forcedReactions, and Trinity::Containers::MapGetValuePtr().

◆ GetHonoredFactionCount()

uint8 ReputationMgr::GetHonoredFactionCount ( ) const
inline

Definition at line 80 of file ReputationMgr.h.

◆ GetMaxReputation()

int32 ReputationMgr::GetMaxReputation ( FactionEntry const *  factionEntry) const

Definition at line 145 of file ReputationMgr.cpp.

References Reputation_Cap.

Referenced by SetOneFactionReputation().

◆ GetMinReputation()

int32 ReputationMgr::GetMinReputation ( FactionEntry const *  factionEntry) const

Definition at line 140 of file ReputationMgr.cpp.

References Reputation_Bottom.

Referenced by SetOneFactionReputation().

◆ GetRank()

ReputationRank ReputationMgr::GetRank ( FactionEntry const *  factionEntry) const

◆ GetReputation() [1/2]

int32 ReputationMgr::GetReputation ( FactionEntry const *  factionEntry) const

Definition at line 150 of file ReputationMgr.cpp.

References GetBaseReputation(), and GetState().

◆ GetReputation() [2/2]

◆ GetReputationRankName()

◆ GetReveredFactionCount()

uint8 ReputationMgr::GetReveredFactionCount ( ) const
inline

Definition at line 81 of file ReputationMgr.h.

◆ GetState() [1/2]

◆ GetState() [2/2]

FactionState const * ReputationMgr::GetState ( RepListID  id) const
inline

Definition at line 88 of file ReputationMgr.h.

◆ GetStateList()

FactionStateList const & ReputationMgr::GetStateList ( ) const
inline

◆ GetVisibleFactionCount()

uint8 ReputationMgr::GetVisibleFactionCount ( ) const
inline

Definition at line 79 of file ReputationMgr.h.

◆ Initialize()

◆ IsAtWar() [1/2]

bool ReputationMgr::IsAtWar ( FactionEntry const *  factionEntry) const

Definition at line 93 of file ReputationMgr.cpp.

References AtWar, and GetState().

◆ IsAtWar() [2/2]

bool ReputationMgr::IsAtWar ( uint32  faction_id) const

◆ IsReputationAllowedForTeam()

bool ReputationMgr::IsReputationAllowedForTeam ( TeamId  team,
uint32  factionId 
) const

Definition at line 103 of file ReputationMgr.cpp.

References TEAM_ALLIANCE, and TEAM_HORDE.

◆ LoadFromDB()

◆ ModifyReputation()

bool ReputationMgr::ModifyReputation ( FactionEntry const *  factionEntry,
int32  standing,
bool  spillOverOnly = false 
)
inline

◆ ReputationToRank()

ReputationRank ReputationMgr::ReputationToRank ( FactionEntry const *  factionEntry,
int32  standing 
)
static

Definition at line 61 of file ReputationMgr.cpp.

References ReputationRankThresholds.

Referenced by GetBaseRank(), GetRank(), LoadFromDB(), and SetOneFactionReputation().

◆ SaveToDB()

◆ SendForceReactions()

◆ SendInitialReputations()

◆ SendState()

◆ SendVisible()

void ReputationMgr::SendVisible ( FactionState const *  faction) const
private

◆ SetAtWar() [1/2]

void ReputationMgr::SetAtWar ( FactionState *  faction,
bool  atWar 
) const
private

◆ SetAtWar() [2/2]

void ReputationMgr::SetAtWar ( RepListID  repListID,
bool  on 
)

◆ SetInactive() [1/2]

void ReputationMgr::SetInactive ( FactionState *  faction,
bool  inactive 
) const
private

◆ SetInactive() [2/2]

void ReputationMgr::SetInactive ( RepListID  repListID,
bool  on 
)

◆ SetOneFactionReputation()

◆ SetReputation() [1/2]

bool ReputationMgr::SetReputation ( FactionEntry const *  factionEntry,
int32  standing 
)
inline

◆ SetReputation() [2/2]

◆ SetVisible() [1/3]

void ReputationMgr::SetVisible ( FactionEntry const *  factionEntry)

◆ SetVisible() [2/3]

◆ SetVisible() [3/3]

◆ UpdateRankCounters()

void ReputationMgr::UpdateRankCounters ( ReputationRank  old_rank,
ReputationRank  new_rank 
)
private

Member Data Documentation

◆ _exaltedFactionCount

uint8 ReputationMgr::_exaltedFactionCount
private

Definition at line 154 of file ReputationMgr.h.

Referenced by Initialize(), and UpdateRankCounters().

◆ _factions

◆ _forcedReactions

ForcedReactions ReputationMgr::_forcedReactions
private

Definition at line 150 of file ReputationMgr.h.

Referenced by ApplyForceReaction(), GetForcedRankIfAny(), and SendForceReactions().

◆ _honoredFactionCount

uint8 ReputationMgr::_honoredFactionCount
private

Definition at line 152 of file ReputationMgr.h.

Referenced by Initialize(), and UpdateRankCounters().

◆ _player

◆ _reveredFactionCount

uint8 ReputationMgr::_reveredFactionCount
private

Definition at line 153 of file ReputationMgr.h.

Referenced by Initialize(), and UpdateRankCounters().

◆ _sendFactionIncreased

bool ReputationMgr::_sendFactionIncreased
private

Definition at line 155 of file ReputationMgr.h.

Referenced by Initialize(), SendState(), and SetOneFactionReputation().

◆ _visibleFactionCount

uint8 ReputationMgr::_visibleFactionCount
private

Definition at line 151 of file ReputationMgr.h.

Referenced by Initialize(), and SetVisible().

◆ Reputation_Bottom

const int32 ReputationMgr::Reputation_Bottom = -42000
static

Definition at line 75 of file ReputationMgr.h.

Referenced by GetMinReputation(), and SetVisible().

◆ Reputation_Cap

const int32 ReputationMgr::Reputation_Cap = 42999
static

Definition at line 74 of file ReputationMgr.h.

Referenced by GetMaxReputation(), and ObjectMgr::LoadQuests().

◆ ReputationRankThresholds

std::set< int32 > const ReputationMgr::ReputationRankThresholds
static
Initial value:
=
{
-42000,
-6000,
-3000,
0,
3000,
9000,
21000,
42000,
43000
}

Definition at line 37 of file ReputationMgr.h.

Referenced by modify_commandscript::HandleModifyRepCommand(), and ReputationToRank().


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