18#ifndef __TRINITY_REPUTATION_MGR_H
19#define __TRINITY_REPUTATION_MGR_H
67 _visibleFactionCount(0), _honoredFactionCount(0), _reveredFactionCount(0), _exaltedFactionCount(0), _sendFactionIncreased(false) { }
73 static std::set<int32>
const ReputationRankThresholds;
90 FactionStateList::const_iterator repItr = _factions.find (
id);
91 return repItr != _factions.end() ? &repItr->second :
nullptr;
94 bool IsAtWar(
uint32 faction_id)
const;
96 bool IsReputationAllowedForTeam(
TeamId team,
uint32 factionId)
const;
106 std::string GetReputationRankName(
FactionEntry const* factionEntry)
const;;
114 return SetReputation(factionEntry, standing,
false,
false);
118 return SetReputation(factionEntry, standing,
true, spillOverOnly);
123 void SetAtWar(
RepListID repListID,
bool on);
124 void SetInactive(
RepListID repListID,
bool on);
129 bool SetOneFactionReputation(
FactionEntry const* factionEntry,
int32 standing,
bool incremental);
132 void SendInitialReputations();
133 void SendForceReactions();
139 bool SetReputation(
FactionEntry const* factionEntry,
int32 standing,
bool incremental,
bool spillOverOnly);
142 void SetInactive(
FactionState* faction,
bool inactive)
const;
145 int32 GetFactionDataIndexForRaceAndClass(
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
TC_GAME_API uint32 const ReputationRankStrIndex[MAX_REPUTATION_RANK]
std::map< RepListID, FactionState > FactionStateList
#define MAX_REPUTATION_RANK
uint8 _honoredFactionCount
bool ModifyReputation(FactionEntry const *factionEntry, int32 standing, bool spillOverOnly=false)
FactionStateList const & GetStateList() const
uint8 _visibleFactionCount
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
static const int32 Reputation_Cap
uint8 GetExaltedFactionCount() const
uint8 GetVisibleFactionCount() const
RepListID ReputationListID
EnumFlag< ReputationFlags > Flags