diff options
| author | Nay <dnpd.dd@gmail.com> | 2012-09-15 13:57:29 -0700 |
|---|---|---|
| committer | Nay <dnpd.dd@gmail.com> | 2012-09-15 13:57:29 -0700 |
| commit | e7155144dfece5ace6626a1dd131428ec5255c5a (patch) | |
| tree | 5e6035b5e306e6460d9ee2754e42fbd02c6683b9 /src/server | |
| parent | a95511f35e4c4a11f0d99d837bed1d91a829c6d7 (diff) | |
| parent | 6c7961ad9caaf583dbf4f09aaac1c1969a2c705a (diff) | |
Merge pull request #7781 from Sovak/resists
Core/Auras: Fix some spells with effect
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index cf58a51dad8..6004e6d36d1 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -718,6 +718,37 @@ int32 AuraEffect::CalculateAmount(Unit* caster) if (MountCapabilityEntry const* mountCapability = GetBase()->GetUnitOwner()->GetMountCapability(uint32(GetMiscValueB()))) amount = mountCapability->Id; break; + case SPELL_AURA_MOD_RESISTANCE_EXCLUSIVE: + { + if (caster) + { + // if Level <= 70 resist = player level + int32 resist = caster->getLevel(); + + if (resist > 70 && resist < 81) + resist += (resist - 70) * 5; + else if (resist > 80) + resist += ((resist-70) * 5 + (resist - 80) * 7); + + switch (GetId()) + { + case 20043: // Aspect of the Wild + case 8185: // Elemental Resistance + case 19891: // Resistance Aura + case 79106: // Shadow Protection + case 79107: // Shadow Protection + amount = resist; + break; + case 79060: // Mark of the Wild + case 79061: // Mark of the Wild + case 79062: // Blessing of Kings + case 79063: // Blessing of Kings + case 90363: // Embrace of the Shale Spider + amount = resist / 2; + break; + } + break; + } default: break; } |
