diff options
-rw-r--r-- | sql/updates/2793_world_spell_proc_event.sql | 3 | ||||
-rw-r--r-- | src/game/SpellAuras.cpp | 8 | ||||
-rw-r--r-- | src/game/Unit.cpp | 11 |
3 files changed, 17 insertions, 5 deletions
diff --git a/sql/updates/2793_world_spell_proc_event.sql b/sql/updates/2793_world_spell_proc_event.sql new file mode 100644 index 00000000000..ac52b418d85 --- /dev/null +++ b/sql/updates/2793_world_spell_proc_event.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_proc_event` WHERE `entry` IN (54754); +INSERT INTO `spell_proc_event` VALUES +(54754, 0x00, 7, 0x00000010, 0x00000000, 0x00000000, 0x00000000, 0x0000000, 0.000000, 0.000000, 0); diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 8664988d03e..5e0da2f9e35 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -4048,7 +4048,7 @@ void AuraEffect::HandleModStateImmunityMask(bool apply, bool Real) immunity_list.push_back(SPELL_AURA_MOD_DECREASE_SPEED); if (GetMiscValue() & (1<<0)) immunity_list.push_back(SPELL_AURA_MOD_ROOT); - if (GetMiscValue() & (1<<3)) + if (GetMiscValue() & (1<<2)) immunity_list.push_back(SPELL_AURA_MOD_CONFUSE); if (GetMiscValue() & (1<<9)) immunity_list.push_back(SPELL_AURA_MOD_FEAR); @@ -5920,10 +5920,10 @@ void AuraEffect::PeriodicTick() } uint32 procAttacker = PROC_FLAG_ON_DO_PERIODIC;// | PROC_FLAG_SUCCESSFUL_HEAL; - uint32 procVictim = 0;//ROC_FLAG_ON_TAKE_PERIODIC | PROC_FLAG_TAKEN_HEAL; + uint32 procVictim = PROC_FLAG_ON_TAKE_PERIODIC; //| PROC_FLAG_TAKEN_HEAL; // ignore item heals -// if(procSpell && !haveCastItem) -// pCaster->ProcDamageAndSpell(target, procAttacker, procVictim, PROC_EX_NORMAL_HIT, pdamage, BASE_ATTACK, spellProto); + if(procSpell && !haveCastItem) + pCaster->ProcDamageAndSpell(target, procAttacker, procVictim, PROC_EX_NORMAL_HIT, pdamage, BASE_ATTACK, spellProto); break; } case SPELL_AURA_PERIODIC_MANA_LEECH: diff --git a/src/game/Unit.cpp b/src/game/Unit.cpp index e554883ad9c..bcc96c972bc 100644 --- a/src/game/Unit.cpp +++ b/src/game/Unit.cpp @@ -5615,6 +5615,15 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger triggered_spell_id = 28742; break; } + // Glyph of Rejuvenation + case 54754: + { + if (pVictim->GetHealth() >= triggerAmount * pVictim->GetMaxHealth()/100) + return false; + basepoints0 = int32(triggerAmount * damage / 100); + triggered_spell_id = 54755; + break; + } // Healing Touch Refund (Idol of Longevity trinket) case 28847: { @@ -5735,7 +5744,7 @@ bool Unit::HandleDummyAuraProc(Unit *pVictim, uint32 damage, AuraEffect* trigger // Deadly Brew else if( dummySpell->SpellIconID == 2963 ) { - triggered_spell_id = 25809; + triggered_spell_id = 3409; break; } // Quick Recovery |