diff options
| -rw-r--r-- | cmake/compiler/msvc/settings.cmake | 2 | ||||
| -rw-r--r-- | sql/updates/world/2013_07_21_05_world_spell_script_names_434.sql | 1 | ||||
| -rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 17 | ||||
| -rw-r--r-- | src/server/game/Spells/Auras/SpellAuraEffects.cpp | 1 | ||||
| -rw-r--r-- | src/server/scripts/Spells/spell_priest.cpp | 20 |
5 files changed, 21 insertions, 20 deletions
diff --git a/cmake/compiler/msvc/settings.cmake b/cmake/compiler/msvc/settings.cmake index baa5e66f9ce..423998f664c 100644 --- a/cmake/compiler/msvc/settings.cmake +++ b/cmake/compiler/msvc/settings.cmake @@ -62,4 +62,4 @@ endif() # Enable and treat as errors the following warnings to easily detect virtual function signature failures: # 'function' : member function does not override any base class virtual member function # 'virtual_function' : no override available for virtual member function from base 'class'; function is hidden -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /we4263 /we4264 /W4") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /we4263 /we4264") diff --git a/sql/updates/world/2013_07_21_05_world_spell_script_names_434.sql b/sql/updates/world/2013_07_21_05_world_spell_script_names_434.sql new file mode 100644 index 00000000000..d910444ae31 --- /dev/null +++ b/sql/updates/world/2013_07_21_05_world_spell_script_names_434.sql @@ -0,0 +1 @@ +UPDATE `spell_script_names` SET `spell_id`=34914 WHERE `ScriptName`='spell_pri_vampiric_touch'; diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 9d96b920ad8..af16f9bdb64 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -5538,23 +5538,6 @@ bool Unit::HandleDummyAuraProc(Unit* victim, uint32 damage, AuraEffect* triggere } case SPELLFAMILY_PRIEST: { - // Vampiric Touch - if (dummySpell->SpellFamilyFlags[1] & 0x00000400) - { - if (!victim || !victim->IsAlive()) - return false; - - if (effIndex != 0) - return false; - - // victim is caster of aura - if (triggeredByAura->GetCasterGUID() != victim->GetGUID()) - return false; - - // Energize 1% of max. mana - victim->CastSpell(victim, 57669, true, castItem, triggeredByAura); - return true; // no hidden cooldown - } // Body and Soul if (dummySpell->SpellIconID == 2218) { diff --git a/src/server/game/Spells/Auras/SpellAuraEffects.cpp b/src/server/game/Spells/Auras/SpellAuraEffects.cpp index 55484123e8e..697ce4e622d 100644 --- a/src/server/game/Spells/Auras/SpellAuraEffects.cpp +++ b/src/server/game/Spells/Auras/SpellAuraEffects.cpp @@ -1182,7 +1182,6 @@ void AuraEffect::HandleShapeshiftBoosts(Unit* target, bool apply) const break; case FORM_SHADOW: spellId = 49868; - spellId2 = 71167; break; case FORM_GHOSTWOLF: spellId = 67116; diff --git a/src/server/scripts/Spells/spell_priest.cpp b/src/server/scripts/Spells/spell_priest.cpp index a5ae42e13aa..f1b5630c096 100644 --- a/src/server/scripts/Spells/spell_priest.cpp +++ b/src/server/scripts/Spells/spell_priest.cpp @@ -66,6 +66,11 @@ enum PriestSpellIcons PRIEST_ICON_ID_PAIN_AND_SUFFERING = 2874, }; +enum MiscSpells +{ + SPELL_GEN_REPLENISHMENT = 57669 +}; + // 527 - Dispel magic class spell_pri_dispel_magic : public SpellScriptLoader { @@ -979,7 +984,8 @@ class spell_pri_vampiric_touch : public SpellScriptLoader bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE { - if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_VAMPIRIC_TOUCH_DISPEL)) + if (!sSpellMgr->GetSpellInfo(SPELL_PRIEST_VAMPIRIC_TOUCH_DISPEL) || + !sSpellMgr->GetSpellInfo(SPELL_GEN_REPLENISHMENT)) return false; return true; } @@ -996,9 +1002,21 @@ class spell_pri_vampiric_touch : public SpellScriptLoader } } + bool CheckProc(ProcEventInfo& eventInfo) + { + return eventInfo.GetProcTarget() == GetCaster(); + } + + void HandleEffectProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) + { + eventInfo.GetProcTarget()->CastSpell((Unit*)NULL, SPELL_GEN_REPLENISHMENT, true, NULL, aurEff); + } + void Register() OVERRIDE { AfterDispel += AuraDispelFn(spell_pri_vampiric_touch_AuraScript::HandleDispel); + DoCheckProc += AuraCheckProcFn(spell_pri_vampiric_touch_AuraScript::CheckProc); + OnEffectProc += AuraEffectProcFn(spell_pri_vampiric_touch_AuraScript::HandleEffectProc, EFFECT_2, SPELL_AURA_DUMMY); } }; |
