18#ifndef __TRINITY_REPUTATION_MGR_H
19#define __TRINITY_REPUTATION_MGR_H
72 _visibleFactionCount(0), _honoredFactionCount(0), _reveredFactionCount(0), _exaltedFactionCount(0), _sendFactionIncreased(false) { }
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;;
116 ForcedReactions::const_iterator forceItr = _forcedReactions.find(factionId);
117 return forceItr != _forcedReactions.end() ? &forceItr->second :
nullptr;
120 bool IsParagonReputation(
FactionEntry const* factionEntry)
const;
121 int32 GetParagonLevel(
uint32 paragonFactionId)
const;
124 bool HasMaximumRenownReputation(
FactionEntry const* factionEntry)
const;
125 bool IsRenownReputation(
FactionEntry const* factionEntry)
const;
133 return SetReputation(factionEntry, standing,
false,
false,
false);
137 return SetReputation(factionEntry, standing,
true, spillOverOnly, noSpillover);
142 void SetAtWar(
RepListID repListID,
bool on);
143 void SetInactive(
RepListID repListID,
bool on);
148 bool SetOneFactionReputation(
FactionEntry const* factionEntry,
int32 standing,
bool incremental);
151 void SendInitialReputations();
152 void SendForceReactions();
158 bool SetReputation(
FactionEntry const* factionEntry,
int32 standing,
bool incremental,
bool spillOverOnly,
bool noSpillover);
161 void SetInactive(
FactionState* faction,
bool inactive)
const;
162 void SendVisible(
FactionState const* faction,
bool visible =
true)
const;
164 int32 GetFactionDataIndexForRaceAndClass(
FactionEntry const* factionEntry)
const;
165 bool CanGainParagonReputationForFaction(
FactionEntry const* factionEntry)
const;
SQLTransaction< CharacterDatabaseConnection > CharacterDatabaseTransaction
std::shared_ptr< PreparedResultSet > PreparedQueryResult
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_ENUM_FLAG(ReputationFlags)
#define MAX_REPUTATION_RANK
uint8 _honoredFactionCount
ReputationRank const * GetForcedRankIfAny(uint32 factionId) const
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 std::set< int32 > const ReputationRankThresholds
static const int32 Reputation_Cap
uint8 GetExaltedFactionCount() const
uint8 GetVisibleFactionCount() const
RepListID ReputationListID
EnumFlag< ReputationFlags > Flags
int32 VisualStandingIncrease