diff options
Diffstat (limited to 'src/server/game/Reputation/ReputationMgr.h')
-rw-r--r-- | src/server/game/Reputation/ReputationMgr.h | 192 |
1 files changed, 96 insertions, 96 deletions
diff --git a/src/server/game/Reputation/ReputationMgr.h b/src/server/game/Reputation/ReputationMgr.h index 718b2669fc..fd623bd37e 100644 --- a/src/server/game/Reputation/ReputationMgr.h +++ b/src/server/game/Reputation/ReputationMgr.h @@ -51,102 +51,102 @@ class Player; class ReputationMgr { - public: // constructors and global modifiers - explicit ReputationMgr(Player* owner) : _player(owner), - _visibleFactionCount(0), _honoredFactionCount(0), _reveredFactionCount(0), _exaltedFactionCount(0), _sendFactionIncreased(false) {} - ~ReputationMgr() {} - - void SaveToDB(SQLTransaction& trans); - void LoadFromDB(PreparedQueryResult result); - public: // statics - static const int32 PointsInRank[MAX_REPUTATION_RANK]; - static const int32 Reputation_Cap = 42999; - static const int32 Reputation_Bottom = -42000; - - static ReputationRank ReputationToRank(int32 standing); - public: // accessors - uint8 GetVisibleFactionCount() const { return _visibleFactionCount; } - uint8 GetHonoredFactionCount() const { return _honoredFactionCount; } - uint8 GetReveredFactionCount() const { return _reveredFactionCount; } - uint8 GetExaltedFactionCount() const { return _exaltedFactionCount; } - - FactionStateList const& GetStateList() const { return _factions; } - - FactionState const* GetState(FactionEntry const* factionEntry) const - { - return factionEntry->CanHaveReputation() ? GetState(factionEntry->reputationListID) : nullptr; - } - - FactionState const* GetState(RepListID id) const - { - FactionStateList::const_iterator repItr = _factions.find (id); - return repItr != _factions.end() ? &repItr->second : nullptr; - } - - 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; - - ReputationRank GetRank(FactionEntry const* factionEntry) const; - ReputationRank GetBaseRank(FactionEntry const* factionEntry) const; - uint32 GetReputationRankStrIndex(FactionEntry const* factionEntry) const - { - return ReputationRankStrIndex[GetRank(factionEntry)]; - }; - - ReputationRank const* GetForcedRankIfAny(FactionTemplateEntry const* factionTemplateEntry) const - { - ForcedReactions::const_iterator forceItr = _forcedReactions.find(factionTemplateEntry->faction); - return forceItr != _forcedReactions.end() ? &forceItr->second : nullptr; - } - - public: // modifiers - bool SetReputation(FactionEntry const* factionEntry, int32 standing) - { - return SetReputation(factionEntry, standing, false, false); - } - bool ModifyReputation(FactionEntry const* factionEntry, int32 standing, bool spillOverOnly = false) - { - return SetReputation(factionEntry, standing, true, spillOverOnly); - } - - 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); - - //! Public for chat command needs - bool SetOneFactionReputation(FactionEntry const* factionEntry, int32 standing, bool incremental); - - public: // senders - void SendInitialReputations(); - void SendForceReactions(); - void SendState(FactionState const* faction); - void SendStates(); - - private: // internal helper functions - void Initialize(); - uint32 GetDefaultStateFlags(FactionEntry const* factionEntry) const; - bool SetReputation(FactionEntry const* factionEntry, int32 standing, bool incremental, bool spillOverOnly); - void SetVisible(FactionState* faction); - void SetAtWar(FactionState* faction, bool atWar) const; - void SetInactive(FactionState* faction, bool inactive) const; - void SendVisible(FactionState const* faction) const; - void UpdateRankCounters(ReputationRank old_rank, ReputationRank new_rank); - private: - 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 +public: // constructors and global modifiers + explicit ReputationMgr(Player* owner) : _player(owner), + _visibleFactionCount(0), _honoredFactionCount(0), _reveredFactionCount(0), _exaltedFactionCount(0), _sendFactionIncreased(false) {} + ~ReputationMgr() {} + + void SaveToDB(SQLTransaction& trans); + void LoadFromDB(PreparedQueryResult result); +public: // statics + static const int32 PointsInRank[MAX_REPUTATION_RANK]; + static const int32 Reputation_Cap = 42999; + static const int32 Reputation_Bottom = -42000; + + static ReputationRank ReputationToRank(int32 standing); +public: // accessors + uint8 GetVisibleFactionCount() const { return _visibleFactionCount; } + uint8 GetHonoredFactionCount() const { return _honoredFactionCount; } + uint8 GetReveredFactionCount() const { return _reveredFactionCount; } + uint8 GetExaltedFactionCount() const { return _exaltedFactionCount; } + + FactionStateList const& GetStateList() const { return _factions; } + + FactionState const* GetState(FactionEntry const* factionEntry) const + { + return factionEntry->CanHaveReputation() ? GetState(factionEntry->reputationListID) : nullptr; + } + + FactionState const* GetState(RepListID id) const + { + FactionStateList::const_iterator repItr = _factions.find (id); + return repItr != _factions.end() ? &repItr->second : nullptr; + } + + 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; + + ReputationRank GetRank(FactionEntry const* factionEntry) const; + ReputationRank GetBaseRank(FactionEntry const* factionEntry) const; + uint32 GetReputationRankStrIndex(FactionEntry const* factionEntry) const + { + return ReputationRankStrIndex[GetRank(factionEntry)]; + }; + + ReputationRank const* GetForcedRankIfAny(FactionTemplateEntry const* factionTemplateEntry) const + { + ForcedReactions::const_iterator forceItr = _forcedReactions.find(factionTemplateEntry->faction); + return forceItr != _forcedReactions.end() ? &forceItr->second : nullptr; + } + +public: // modifiers + bool SetReputation(FactionEntry const* factionEntry, int32 standing) + { + return SetReputation(factionEntry, standing, false, false); + } + bool ModifyReputation(FactionEntry const* factionEntry, int32 standing, bool spillOverOnly = false) + { + return SetReputation(factionEntry, standing, true, spillOverOnly); + } + + 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); + + //! Public for chat command needs + bool SetOneFactionReputation(FactionEntry const* factionEntry, int32 standing, bool incremental); + +public: // senders + void SendInitialReputations(); + void SendForceReactions(); + void SendState(FactionState const* faction); + void SendStates(); + +private: // internal helper functions + void Initialize(); + uint32 GetDefaultStateFlags(FactionEntry const* factionEntry) const; + bool SetReputation(FactionEntry const* factionEntry, int32 standing, bool incremental, bool spillOverOnly); + void SetVisible(FactionState* faction); + void SetAtWar(FactionState* faction, bool atWar) const; + void SetInactive(FactionState* faction, bool inactive) const; + void SendVisible(FactionState const* faction) const; + void UpdateRankCounters(ReputationRank old_rank, ReputationRank new_rank); +private: + 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 }; #endif |