18#ifndef __TRINITY_REPUTATION_MGR_H
19#define __TRINITY_REPUTATION_MGR_H
72 _visibleFactionCount(0), _honoredFactionCount(0), _reveredFactionCount(0), _exaltedFactionCount(0), _sendFactionIncreased(false) { }
78 static std::set<int32>
const ReputationRankThresholds;
95 FactionStateList::const_iterator repItr = _factions.find (
id);
96 return repItr != _factions.end() ? &repItr->second :
nullptr;
99 bool IsAtWar(
uint32 faction_id)
const;
110 std::string GetReputationRankName(
FactionEntry const* factionEntry)
const;
115 bool IsParagonReputation(
FactionEntry const* factionEntry)
const;
116 int32 GetParagonLevel(
uint32 paragonFactionId)
const;
119 bool HasMaximumRenownReputation(
FactionEntry const* factionEntry)
const;
120 bool IsRenownReputation(
FactionEntry const* factionEntry)
const;
128 return SetReputation(factionEntry, standing,
false,
false,
false);
132 return SetReputation(factionEntry, standing,
true, spillOverOnly, noSpillover);
137 void SetAtWar(
RepListID repListID,
bool on);
138 void SetInactive(
RepListID repListID,
bool on);
143 bool SetOneFactionReputation(
FactionEntry const* factionEntry,
int32 standing,
bool incremental);
146 void SendInitialReputations();
152 bool SetReputation(
FactionEntry const* factionEntry,
int32 standing,
bool incremental,
bool spillOverOnly,
bool noSpillover);
155 void SetInactive(
FactionState* faction,
bool inactive)
const;
156 void SendVisible(
FactionState const* faction,
bool visible =
true)
const;
158 int32 GetFactionDataIndexForRaceAndClass(
FactionEntry const* factionEntry)
const;
159 bool CanGainParagonReputationForFaction(
FactionEntry const* factionEntry)
const;
SQLTransaction< CharacterDatabaseConnection > CharacterDatabaseTransaction
std::shared_ptr< PreparedResultSet > PreparedQueryResult
#define DEFINE_ENUM_FLAG(enumType)
static void SaveToDB(QuestPool const &pool, CharacterDatabaseTransaction trans)
std::map< uint32, ReputationRank > ForcedReactions
@ CapitalCityForRaceChange
TC_GAME_API uint32 const ReputationRankStrIndex[MAX_REPUTATION_RANK]
std::map< RepListID, FactionState > FactionStateList
#define MAX_REPUTATION_RANK
uint8 _honoredFactionCount
FactionStateList const & GetStateList() const
uint8 _visibleFactionCount
bool ModifyReputation(FactionEntry const *factionEntry, int32 standing, bool spillOverOnly=false, bool noSpillover=false)
uint8 GetHonoredFactionCount() const
uint8 GetReveredFactionCount() const
FactionState const * GetState(RepListID id) const
bool SetReputation(FactionEntry const *factionEntry, int32 standing)
uint8 _exaltedFactionCount
uint8 _reveredFactionCount
FactionStateList _factions
ForcedReactions _forcedReactions
static const int32 Reputation_Bottom
ReputationMgr(Player *owner)
bool _sendFactionIncreased
Play visual effect on next SMSG_SET_FACTION_STANDING sent.
static const int32 Reputation_Cap
uint8 GetExaltedFactionCount() const
uint8 GetVisibleFactionCount() const
RepListID ReputationListID
EnumFlag< ReputationFlags > Flags
int32 VisualStandingIncrease