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
 
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 IsParagonReputation (FactionEntry const *factionEntry) const
 
int32 GetParagonLevel (uint32 paragonFactionId) const
 
int32 GetParagonLevel (FactionEntry const *paragonFactionEntry) const
 
bool HasMaximumRenownReputation (FactionEntry const *factionEntry) const
 
bool IsRenownReputation (FactionEntry const *factionEntry) const
 
int32 GetRenownLevel (FactionEntry const *renownFactionEntry) const
 
int32 GetRenownLevelThreshold (FactionEntry const *renownFactionEntry) const
 
int32 GetRenownMaxLevel (FactionEntry const *renownFactionEntry) const
 
bool SetReputation (FactionEntry const *factionEntry, int32 standing)
 
bool ModifyReputation (FactionEntry const *factionEntry, int32 standing, bool spillOverOnly=false, bool noSpillover=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 SendState (FactionState const *faction)
 

Static Public Member Functions

static ReputationRank ReputationToRank (FactionEntry const *factionEntry, int32 standing)
 
static int32 GetBaseReputation (FactionEntry const *factionEntry, uint8 race, uint8 playerClass)
 

Static Public Attributes

static std::set< int32 > const ReputationRankThresholds
 
static const int32 Reputation_Cap = 42000
 
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, bool noSpillover)
 
void SetVisible (FactionState *faction)
 
void SetAtWar (FactionState *faction, bool atWar) const
 
void SetInactive (FactionState *faction, bool inactive) const
 
void SendVisible (FactionState const *faction, bool visible=true) const
 
void UpdateRankCounters (ReputationRank old_rank, ReputationRank new_rank)
 
int32 GetFactionDataIndexForRaceAndClass (FactionEntry const *factionEntry) const
 
bool CanGainParagonReputationForFaction (FactionEntry const *factionEntry) const
 

Static Private Member Functions

static int32 GetFactionDataIndexForRaceAndClass (FactionEntry const *factionEntry, uint8 race, uint8 playerClass)
 

Private Attributes

Player * _player
 
FactionStateList _factions
 
ForcedReactions _forcedReactions
 
uint8 _visibleFactionCount:8
 
uint8 _honoredFactionCount:8
 
uint8 _reveredFactionCount:8
 
uint8 _exaltedFactionCount:8
 
bool _sendFactionIncreased
 Play visual effect on next SMSG_SET_FACTION_STANDING sent.
 

Detailed Description

Definition at line 68 of file ReputationMgr.h.

Constructor & Destructor Documentation

◆ ReputationMgr()

ReputationMgr::ReputationMgr ( Player *  owner)
inlineexplicit

Definition at line 71 of file ReputationMgr.h.

◆ ~ReputationMgr()

ReputationMgr::~ReputationMgr ( )
inline

Definition at line 73 of file ReputationMgr.h.

Member Function Documentation

◆ ApplyForceReaction()

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

◆ CanGainParagonReputationForFaction()

bool ReputationMgr::CanGainParagonReputationForFaction ( FactionEntry const *  factionEntry) const
private

◆ GetBaseRank()

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

Definition at line 206 of file ReputationMgr.cpp.

References GetBaseReputation(), and ReputationToRank().

Referenced by Initialize().

◆ GetBaseReputation() [1/2]

◆ GetBaseReputation() [2/2]

int32 ReputationMgr::GetBaseReputation ( FactionEntry const *  factionEntry,
uint8  race,
uint8  playerClass 
)
static

◆ GetDefaultStateFlags()

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

◆ GetExaltedFactionCount()

uint8 ReputationMgr::GetExaltedFactionCount ( ) const
inline

Definition at line 87 of file ReputationMgr.h.

Referenced by CriteriaHandler::UpdateCriteria().

◆ GetFactionDataIndexForRaceAndClass() [1/2]

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

◆ GetFactionDataIndexForRaceAndClass() [2/2]

int32 ReputationMgr::GetFactionDataIndexForRaceAndClass ( FactionEntry const *  factionEntry,
uint8  race,
uint8  playerClass 
)
staticprivate

◆ GetForcedRankIfAny() [1/2]

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

◆ GetForcedRankIfAny() [2/2]

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

Definition at line 233 of file ReputationMgr.cpp.

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

◆ GetHonoredFactionCount()

uint8 ReputationMgr::GetHonoredFactionCount ( ) const
inline

Definition at line 85 of file ReputationMgr.h.

Referenced by CriteriaHandler::UpdateCriteria().

◆ GetMaxReputation()

◆ GetMinReputation()

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

◆ GetParagonLevel() [1/2]

int32 ReputationMgr::GetParagonLevel ( FactionEntry const *  paragonFactionEntry) const

Definition at line 251 of file ReputationMgr.cpp.

References GetReputation(), FactionEntry::ID, and sDB2Manager.

◆ GetParagonLevel() [2/2]

int32 ReputationMgr::GetParagonLevel ( uint32  paragonFactionId) const

Definition at line 246 of file ReputationMgr.cpp.

References GetParagonLevel(), and sFactionStore.

Referenced by GetParagonLevel(), and CriteriaHandler::ModifierSatisfied().

◆ GetRank()

◆ GetRenownLevel()

int32 ReputationMgr::GetRenownLevel ( FactionEntry const *  renownFactionEntry) const

◆ GetRenownLevelThreshold()

int32 ReputationMgr::GetRenownLevelThreshold ( FactionEntry const *  renownFactionEntry) const

◆ GetRenownMaxLevel()

int32 ReputationMgr::GetRenownMaxLevel ( FactionEntry const *  renownFactionEntry) const

◆ GetReputation() [1/2]

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

Definition at line 188 of file ReputationMgr.cpp.

References GetBaseReputation(), and GetState().

◆ GetReputation() [2/2]

◆ GetReputationRankName()

◆ GetReveredFactionCount()

uint8 ReputationMgr::GetReveredFactionCount ( ) const
inline

Definition at line 86 of file ReputationMgr.h.

Referenced by CriteriaHandler::UpdateCriteria().

◆ GetState() [1/2]

◆ GetState() [2/2]

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

Definition at line 93 of file ReputationMgr.h.

◆ GetStateList()

FactionStateList const & ReputationMgr::GetStateList ( ) const
inline

◆ GetVisibleFactionCount()

uint8 ReputationMgr::GetVisibleFactionCount ( ) const
inline

Definition at line 84 of file ReputationMgr.h.

Referenced by CriteriaHandler::UpdateCriteria().

◆ HasMaximumRenownReputation()

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

◆ Initialize()

◆ IsAtWar() [1/2]

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

Definition at line 105 of file ReputationMgr.cpp.

References AtWar, and GetState().

◆ IsAtWar() [2/2]

bool ReputationMgr::IsAtWar ( uint32  faction_id) const

◆ IsParagonReputation()

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

Definition at line 238 of file ReputationMgr.cpp.

References FactionEntry::ID, and sDB2Manager.

Referenced by SetOneFactionReputation().

◆ IsRenownReputation()

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

◆ LoadFromDB()

◆ ModifyReputation()

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

◆ ReputationToRank()

◆ SaveToDB()

◆ SendInitialReputations()

◆ SendState()

◆ SendVisible()

◆ 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 170 of file ReputationMgr.h.

Referenced by Initialize(), and UpdateRankCounters().

◆ _factions

◆ _forcedReactions

ForcedReactions ReputationMgr::_forcedReactions
private

Definition at line 166 of file ReputationMgr.h.

Referenced by ApplyForceReaction(), and GetForcedRankIfAny().

◆ _honoredFactionCount

uint8 ReputationMgr::_honoredFactionCount
private

Definition at line 168 of file ReputationMgr.h.

Referenced by Initialize(), and UpdateRankCounters().

◆ _player

◆ _reveredFactionCount

uint8 ReputationMgr::_reveredFactionCount
private

Definition at line 169 of file ReputationMgr.h.

Referenced by Initialize(), and UpdateRankCounters().

◆ _sendFactionIncreased

bool ReputationMgr::_sendFactionIncreased
private

Play visual effect on next SMSG_SET_FACTION_STANDING sent.

Definition at line 171 of file ReputationMgr.h.

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

◆ _visibleFactionCount

uint8 ReputationMgr::_visibleFactionCount
private

Definition at line 167 of file ReputationMgr.h.

Referenced by Initialize(), and SetVisible().

◆ Reputation_Bottom

const int32 ReputationMgr::Reputation_Bottom = -42000
static

Definition at line 80 of file ReputationMgr.h.

Referenced by SetVisible().

◆ Reputation_Cap

const int32 ReputationMgr::Reputation_Cap = 42000
static

Definition at line 79 of file ReputationMgr.h.

Referenced by ObjectMgr::LoadQuests().

◆ ReputationRankThresholds

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

Definition at line 38 of file ReputationMgr.h.

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


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