aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Spells/Auras/SpellAuraEffects.cpp31
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;
}