Implement reputation rates and aura effects for Spell::EffectReputation() (thanks Lynx3d)

--HG--
branch : trunk
This commit is contained in:
azazel
2010-08-09 23:22:31 +06:00
parent 5643dee52f
commit f5399618d9
3 changed files with 75 additions and 42 deletions
+8 -1
View File
@@ -800,6 +800,13 @@ enum PlayerDelayedOperations
DELAYED_END
};
enum ReputationSource
{
REPUTATION_SOURCE_KILL,
REPUTATION_SOURCE_QUEST,
REPUTATION_SOURCE_SPELL
};
// Player summoning auto-decline time (in secs)
#define MAX_PLAYER_SUMMON_DELAY (2*MINUTE)
#define MAX_MONEY_AMOUNT (0x7FFFFFFF-1)
@@ -1923,6 +1930,7 @@ class Player : public Unit, public GridObject<Player>
ReputationRank GetReputationRank(uint32 faction_id) const;
void RewardReputation(Unit *pVictim, float rate);
void RewardReputation(Quest const *pQuest);
int32 CalculateReputationGain(ReputationSource source, int32 rep, int32 faction, uint32 creatureOrQuestLevel = 0, bool noAuraBonus = false);
void UpdateSkillsForLevel();
void UpdateSkillsToMaxSkillsForLevel(); // for .levelup
@@ -2597,7 +2605,6 @@ class Player : public Unit, public GridObject<Player>
void RefundItem(Item* item);
void UpdateKnownCurrencies(uint32 itemId, bool apply);
int32 CalculateReputationGain(uint32 creatureOrQuestLevel, int32 rep, int32 faction, bool for_quest, bool noQuestBonus = false);
void AdjustQuestReqItemCount(Quest const* pQuest, QuestStatusData& questStatusData);
bool IsCanDelayTeleport() const { return m_bCanDelayTeleport; }