diff options
author | Sorikoff <46191832+Sorikoff@users.noreply.github.com> | 2019-08-08 12:12:49 +0000 |
---|---|---|
committer | Giacomo Pozzoni <giacomopoz@gmail.com> | 2019-08-08 14:12:49 +0200 |
commit | 382f563571d39f9ec02a0df899dbdaaf1745af83 (patch) | |
tree | 105a70e02e49e58dddf8914a9751f6470366cfdf | |
parent | 996d4f7cc49041d57ab6152961dd645784b909a7 (diff) |
Scripts/Spells: Runic Healing Injector (#23690)
* Scripts/Spells: Runic Healing Injector
* Rename 9999_99_99_99_world.sql to 2019_08_08_00_world.sql
-rw-r--r-- | sql/updates/world/3.3.5/2019_08_08_00_world.sql | 3 | ||||
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 7 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_item.cpp | 23 |
3 files changed, 26 insertions, 7 deletions
diff --git a/sql/updates/world/3.3.5/2019_08_08_00_world.sql b/sql/updates/world/3.3.5/2019_08_08_00_world.sql new file mode 100644 index 00000000000..aaaca865404 --- /dev/null +++ b/sql/updates/world/3.3.5/2019_08_08_00_world.sql @@ -0,0 +1,3 @@ +DELETE FROM `spell_script_names` WHERE `ScriptName`='spell_item_runic_healing_injector'; +INSERT INTO `spell_script_names` VALUES +(67489,'spell_item_runic_healing_injector'); diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 6c43f195f94..86882d5714f 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -1242,13 +1242,6 @@ void Spell::EffectHeal(SpellEffIndex effIndex) addhealth += damageAmount; } - // Runic Healing Injector (heal increased by 25% for engineers - 3.2.0 patch change) - else if (m_spellInfo->Id == 67489) - { - if (Player* player = unitCaster->ToPlayer()) - if (player->HasSkill(SKILL_ENGINEERING)) - AddPct(addhealth, 25); - } // Swiftmend - consumes Regrowth or Rejuvenation else if (m_spellInfo->TargetAuraState == AURA_STATE_SWIFTMEND && unitTarget->HasAuraState(AURA_STATE_SWIFTMEND, m_spellInfo, unitCaster)) { diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index cf399468795..ddfa1d0ea6a 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -3209,6 +3209,28 @@ class spell_item_rocket_boots : public SpellScript } }; +class spell_item_runic_healing_injector : public SpellScript +{ + PrepareSpellScript(spell_item_runic_healing_injector); + + bool Load() override + { + return GetCaster()->GetTypeId() == TYPEID_PLAYER; + } + + void HandleHeal(SpellEffIndex /*effIndex*/) + { + if (Player* caster = GetCaster()->ToPlayer()) + if (caster->HasSkill(SKILL_ENGINEERING)) + SetHitHeal(GetHitHeal() * 1.25f); + } + + void Register() override + { + OnEffectHitTarget += SpellEffectFn(spell_item_runic_healing_injector::HandleHeal, EFFECT_0, SPELL_EFFECT_HEAL); + } +}; + enum PygmyOil { SPELL_PYGMY_OIL_PYGMY_AURA = 53806, @@ -4332,6 +4354,7 @@ void AddSC_item_spell_scripts() RegisterAuraScript(spell_item_nitro_boosts_backfire); RegisterSpellScript(spell_item_teach_language); RegisterSpellScript(spell_item_rocket_boots); + RegisterSpellScript(spell_item_runic_healing_injector); RegisterSpellScript(spell_item_pygmy_oil); RegisterSpellScript(spell_item_unusual_compass); RegisterSpellScript(spell_item_chicken_cover); |