diff options
Diffstat (limited to 'src/server/game/Reputation/ReputationMgr.h')
-rw-r--r-- | src/server/game/Reputation/ReputationMgr.h | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/src/server/game/Reputation/ReputationMgr.h b/src/server/game/Reputation/ReputationMgr.h index d665a3ef556..d2490dae1ba 100644 --- a/src/server/game/Reputation/ReputationMgr.h +++ b/src/server/game/Reputation/ReputationMgr.h @@ -70,11 +70,11 @@ class TC_GAME_API ReputationMgr void SaveToDB(CharacterDatabaseTransaction trans); void LoadFromDB(PreparedQueryResult result); public: // statics - static const int32 PointsInRank[MAX_REPUTATION_RANK]; + static std::set<int32> const ReputationRankThresholds; static const int32 Reputation_Cap; static const int32 Reputation_Bottom; - static ReputationRank ReputationToRank(int32 standing); + static ReputationRank ReputationToRank(FactionEntry const* factionEntry, int32 standing); public: // accessors uint8 GetVisibleFactionCount() const { return _visibleFactionCount; } uint8 GetHonoredFactionCount() const { return _honoredFactionCount; } @@ -83,10 +83,7 @@ class TC_GAME_API ReputationMgr FactionStateList const& GetStateList() const { return _factions; } - FactionState const* GetState(FactionEntry const* factionEntry) const - { - return factionEntry->CanHaveReputation() ? GetState(factionEntry->ReputationIndex) : nullptr; - } + FactionState const* GetState(FactionEntry const* factionEntry) const; FactionState const* GetState(RepListID id) const { @@ -101,19 +98,15 @@ class TC_GAME_API ReputationMgr 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; - uint32 GetReputationRankStrIndex(FactionEntry const* factionEntry) const - { - return ReputationRankStrIndex[GetRank(factionEntry)]; - }; + std::string GetReputationRankName(FactionEntry const* factionEntry) const;; - ReputationRank const* GetForcedRankIfAny(FactionTemplateEntry const* factionTemplateEntry) const - { - ForcedReactions::const_iterator forceItr = _forcedReactions.find(factionTemplateEntry->Faction); - return forceItr != _forcedReactions.end() ? &forceItr->second : nullptr; - } + ReputationRank const* GetForcedRankIfAny(FactionTemplateEntry const* factionTemplateEntry) const; + ReputationRank const* GetForcedRankIfAny(uint32 factionId) const; public: // modifiers bool SetReputation(FactionEntry const* factionEntry, int32 standing) @@ -149,6 +142,8 @@ class TC_GAME_API ReputationMgr 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: Player* _player; FactionStateList _factions; |