diff options
author | Shauren <shauren.trinity@gmail.com> | 2015-06-09 17:13:25 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2015-06-09 17:13:25 +0200 |
commit | 5456444da302af3979af2c549b80646cf145bd05 (patch) | |
tree | 918e5f35b71aabff9ef1070c8f2232716b55c56d | |
parent | 7c51b227a454845f58025650924b283c2b0f2742 (diff) |
Core/Auras: Implemented aura 419 - SPELL_AURA_MOD_BASE_MANA_PCT
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraDefines.h | 6 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 17 | ||||
-rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.h | 1 |
3 files changed, 16 insertions, 8 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraDefines.h b/src/server/game/Spells/Auras/SpellAuraDefines.h index 669b90e6392..497b416ded1 100644 --- a/src/server/game/Spells/Auras/SpellAuraDefines.h +++ b/src/server/game/Spells/Auras/SpellAuraDefines.h @@ -461,7 +461,7 @@ enum AuraType SPELL_AURA_401 = 401, SPELL_AURA_402 = 402, SPELL_AURA_403 = 403, - SPELL_AURA_404 = 404, + SPELL_AURA_OVERRIDE_ATTACK_POWER_BY_SP_PCT = 404, SPELL_AURA_405 = 405, SPELL_AURA_406 = 406, SPELL_AURA_MOD_FEAR_2 = 407, // NYI @@ -476,7 +476,7 @@ enum AuraType SPELL_AURA_416 = 416, SPELL_AURA_417 = 417, SPELL_AURA_418 = 418, - SPELL_AURA_419 = 419, + SPELL_AURA_MOD_BASE_MANA_PCT = 419, SPELL_AURA_MOD_BATTLE_PET_XP_PCT = 420, // NYI SPELL_AURA_421 = 421, SPELL_AURA_422 = 422, @@ -523,7 +523,7 @@ enum AuraType SPELL_AURA_CONVER_CRIT_RATING_PCT_TO_PARRY_RATING = 463, // NYI SPELL_AURA_464 = 464, SPELL_AURA_465 = 465, - SPELL_AURA_466 = 466, + SPELL_AURA_MOD_BONUS_ARMOR_PCT = 466, // Affects bonus armor gain from all sources except base stats SPELL_AURA_MOD_STAT_BONUS_PCT = 467, // Affects stat gain from all sources except base stats SPELL_AURA_468 = 468, SPELL_AURA_469 = 469, diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 5abf9d10375..64bd6c63bcc 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -464,7 +464,7 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS]= &AuraEffect::HandleNULL, //401 &AuraEffect::HandleNULL, //402 &AuraEffect::HandleNULL, //403 - &AuraEffect::HandleNULL, //404 + &AuraEffect::HandleNULL, //404 SPELL_AURA_OVERRIDE_ATTACK_POWER_BY_SP_PCT &AuraEffect::HandleNULL, //405 &AuraEffect::HandleNULL, //406 &AuraEffect::HandleNULL, //407 SPELL_AURA_MOD_FEAR_2 @@ -479,7 +479,7 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS]= &AuraEffect::HandleNULL, //416 &AuraEffect::HandleNULL, //417 &AuraEffect::HandleNULL, //418 - &AuraEffect::HandleNULL, //419 + &AuraEffect::HandleAuraModIncreaseBaseManaPercent, //419 SPELL_AURA_MOD_BASE_MANA_PCT &AuraEffect::HandleNULL, //420 SPELL_AURA_MOD_BATTLE_PET_XP_PCT &AuraEffect::HandleNULL, //421 &AuraEffect::HandleNULL, //422 @@ -526,7 +526,7 @@ pAuraEffectHandler AuraEffectHandler[TOTAL_AURAS]= &AuraEffect::HandleNULL, //463 SPELL_AURA_CRIT_RATING_AFFECTS_PARRY used by Riposte &AuraEffect::HandleNULL, //464 &AuraEffect::HandleNULL, //465 - &AuraEffect::HandleNULL, //466 + &AuraEffect::HandleNULL, //466 SPELL_AURA_MOD_BONUS_ARMOR_PCT &AuraEffect::HandleModStatBonusPercent, //467 SPELL_AURA_MOD_STAT_BONUS_PCT &AuraEffect::HandleNULL, //468 &AuraEffect::HandleNULL, //469 @@ -4004,8 +4004,7 @@ void AuraEffect::HandleModStatBonusPercent(AuraApplication const* aurApp, uint8 if (GetMiscValue() == i || GetMiscValue() == -1) { target->HandleStatModifier(UnitMods(UNIT_MOD_STAT_START + i), BASE_PCT_EXCLUDE_CREATE, float(m_amount), apply); - if (target->GetTypeId() == TYPEID_PLAYER || target->ToCreature()->IsPet()) - target->ApplyStatPercentBuffMod(Stats(i), float(m_amount), apply); + target->ApplyStatPercentBuffMod(Stats(i), float(m_amount), apply); } } } @@ -4169,6 +4168,14 @@ void AuraEffect::HandleAuraIncreaseBaseHealthPercent(AuraApplication const* aurA target->HandleStatModifier(UNIT_MOD_HEALTH, BASE_PCT, float(GetAmount()), apply); } +void AuraEffect::HandleAuraModIncreaseBaseManaPercent(AuraApplication const* aurApp, uint8 mode, bool apply) const +{ + if (!(mode & (AURA_EFFECT_HANDLE_CHANGE_AMOUNT_MASK | AURA_EFFECT_HANDLE_STAT))) + return; + + aurApp->GetTarget()->HandleStatModifier(UNIT_MOD_MANA, BASE_PCT, float(GetAmount()), apply); +} + /********************************/ /*** FIGHT ***/ /********************************/ diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.h b/src/server/game/Spells/Auras/SpellAuraEffects.h index b2519b4b78a..8a2816eb2c3 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.h +++ b/src/server/game/Spells/Auras/SpellAuraEffects.h @@ -245,6 +245,7 @@ class AuraEffect void HandleAuraModIncreaseEnergyPercent(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraModIncreaseHealthPercent(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraIncreaseBaseHealthPercent(AuraApplication const* aurApp, uint8 mode, bool apply) const; + void HandleAuraModIncreaseBaseManaPercent(AuraApplication const* aurApp, uint8 mode, bool apply) const; // fight void HandleAuraModParryPercent(AuraApplication const* aurApp, uint8 mode, bool apply) const; void HandleAuraModDodgePercent(AuraApplication const* aurApp, uint8 mode, bool apply) const; |