aboutsummaryrefslogtreecommitdiff
path: root/src/server/game
diff options
context:
space:
mode:
authorMachiavelli <machiavelli.trinity@gmail.com>2011-08-07 21:19:27 +0200
committerMachiavelli <machiavelli.trinity@gmail.com>2011-08-07 21:19:27 +0200
commit2d3f51e6e561c95836638ac9779c88f6e9849708 (patch)
tree1783cedd7f2554a6f63c23502ee89c0b2f170400 /src/server/game
parente6eb85c5861af4f68836362efa2d29915401909b (diff)
Core/Spells: Fix Shaman talent Nature's Guardian and rewrite fix for fc52f08. Fixes some spells not triggering.
Diffstat (limited to 'src/server/game')
-rwxr-xr-xsrc/server/game/Entities/Unit/Unit.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp
index f1f552ef045..e14fd4e81ed 100755
--- a/src/server/game/Entities/Unit/Unit.cpp
+++ b/src/server/game/Entities/Unit/Unit.cpp
@@ -8470,6 +8470,27 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg
target = victim;
break;
}
+ // Soul Preserver Trinket
+ case 60510:
+ {
+ switch (GetClass())
+ {
+ case CLASS_DRUID:
+ trigger_spell_id = 60512;
+ break;
+ case CLASS_PALADIN:
+ trigger_spell_id = 60513;
+ break;
+ case CLASS_PRIEST:
+ trigger_spell_id = 60514;
+ break;
+ case CLASS_SHAMAN:
+ trigger_spell_id = 60515;
+ break;
+ }
+
+ target = this;
+ }
default:
// Illumination
if (auraSpellInfo->SpellIconID == 241)
@@ -8538,6 +8559,23 @@ bool Unit::HandleProcTriggerSpell(Unit* victim, uint32 damage, AuraEffect* trigg
target = this;
break;
}
+ case 30881: // Nature's Guardian Rank 1
+ case 30883: // Nature's Guardian Rank 2
+ case 30884: // Nature's Guardian Rank 3
+ case 30885: // Nature's Guardian Rank 4
+ case 30886: // Nature's Guardian Rank 5
+ {
+ if (GetHealthPct() < 30)
+ {
+ basepoints0 = int32(auraSpellInfo->Effects[EFFECT_0].CalcValue() * GetMaxHealth() / 100.0f);
+ target = this;
+ trigger_spell_id = 31616;
+ // TODO: Threat part
+ }
+ else
+ return false;
+ break;
+ }
default:
{
// Lightning Shield (overwrite non existing triggered spell call in spell.dbc