From b0101ecb67928364cf31d89e8551ede89f8d3b02 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Thu, 25 Feb 2021 13:30:16 +0100 Subject: [PATCH] Scripts/Quest: * fixed a typo that was preventing Paladins from receiving kill credits for practicing Judgement on training dummys * added spell script to Wounded spell for wounded healing targets and fixed quest 'Healing the Wounded' in Northshire --- sql/updates/world/4.3.4/2021_02_25_00_world.sql | 12 ++++++++++++ src/server/scripts/Spells/spell_generic.cpp | 17 +++++++++++++++++ src/server/scripts/World/npcs_special.cpp | 2 +- 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 sql/updates/world/4.3.4/2021_02_25_00_world.sql diff --git a/sql/updates/world/4.3.4/2021_02_25_00_world.sql b/sql/updates/world/4.3.4/2021_02_25_00_world.sql new file mode 100644 index 0000000000..e537cb5d95 --- /dev/null +++ b/sql/updates/world/4.3.4/2021_02_25_00_world.sql @@ -0,0 +1,12 @@ +UPDATE `creature_template` SET `RegenHealth`= 0 WHERE `entry`= 44564; +DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_gen_wounded'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(46577, 'spell_gen_wounded'); + +-- Creature Wounded Trainee 44564 SAI +SET @ENTRY := 44564; +UPDATE `creature_template` SET `AIName`="SmartAI" WHERE `entry`= @ENTRY; +DELETE FROM `smart_scripts` WHERE `entryorguid`=@ENTRY AND `source_type`=0; +INSERT INTO `smart_scripts` (`entryorguid`, `source_type`, `id`, `link`, `event_type`, `event_phase_mask`, `event_chance`, `event_flags`, `event_param1`, `event_param2`, `event_param3`, `event_param4`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`) VALUES +(@ENTRY, 0, 0, 0, 1, 0, 100, 0, 1000, 1000, 65000, 65000, 11, 46577, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "Update (OOC) 1000 min and 1000 max ms (repeat 65000 min 65000 max ms) - Self: Cast spell Wounded (46577) on Self // "), +(@ENTRY, 0, 1, 0, 8, 0, 100, 0, 2061, 0, 0, 0, 33, 44175, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, "On spell Flash Heal (2061) hit - Action invoker: Give kill credit Spell Practice Credit (44175) // "); diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index 804102716b..2bf45010c5 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -5333,6 +5333,22 @@ class spell_gen_launch_quest_aura : public AuraScript } }; +// 46577 - Wounded +class spell_gen_wounded : public SpellScript +{ + void HandleScriptEffect(SpellEffIndex /*effIndex*/) + { + Unit* target = GetHitUnit(); + if (target->GetHealthPct() > 55.f) + target->SetHealth(CalculatePct(target->GetMaxHealth(), frand(15.f, 55.f))); + } + + void Register() override + { + OnEffectHitTarget.Register(&spell_gen_wounded::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_generic_spell_scripts() { new spell_gen_absorb0_hitlimit1(); @@ -5464,4 +5480,5 @@ void AddSC_generic_spell_scripts() RegisterSpellScript(spell_gen_flask_of_battle); RegisterSpellScript(spell_gen_ghost); RegisterSpellScript(spell_gen_zero_energy_zero_regen); + RegisterSpellScript(spell_gen_wounded); } diff --git a/src/server/scripts/World/npcs_special.cpp b/src/server/scripts/World/npcs_special.cpp index 8529eb85f0..39f036b50a 100644 --- a/src/server/scripts/World/npcs_special.cpp +++ b/src/server/scripts/World/npcs_special.cpp @@ -1716,7 +1716,7 @@ enum TrainingDummy NPC_TARGET_DUMMY = 2673, NPC_SPELL_PRACTICE_CREDIT = 44175, SPELL_CHARGE = 100, - SPELL_JUDGEMENT = 29271, + SPELL_JUDGEMENT = 20271, SPELL_STEADY_SHOT = 56641, SPELL_EVISCERATE = 2098, SPELL_PRIMAL_STRIKE = 73899,