From d5db24c3d8848487387894107ff76bcbe8728641 Mon Sep 17 00:00:00 2001 From: Ovahlord Date: Sat, 1 Jan 2022 23:11:54 +0100 Subject: [PATCH] Scripts/Tol Barad: fixed quest 'Magnets, how do they work?' * fixed some visuals at the alliance baradin base camp --- .../world/4.3.4/2022_01_01_02_world.sql | 28 +++++++++++++++++++ .../EasternKingdoms/zone_tol_barad.cpp | 25 +++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 sql/updates/world/4.3.4/2022_01_01_02_world.sql diff --git a/sql/updates/world/4.3.4/2022_01_01_02_world.sql b/sql/updates/world/4.3.4/2022_01_01_02_world.sql new file mode 100644 index 00000000000..31af5b53b79 --- /dev/null +++ b/sql/updates/world/4.3.4/2022_01_01_02_world.sql @@ -0,0 +1,28 @@ +DELETE FROM `conditions` WHERE `SourceEntry` IN (88434) AND `SourceTypeOrReferenceId`= 13; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ScriptName`, `Comment`) VALUES +(13, 1, 88434, 0, 0, 31, 0, 3, 47402, 0, 0, 0, '', 'Magnetized Scrap Collector - Target Tol Barad - The Restless Front - Quest Bunny'); + + -- Tol Barad - The Restless Front - Quest Bunny +SET @ENTRY := 47402; +DELETE FROM `smart_scripts` WHERE `entryOrGuid` = @ENTRY AND `source_type` = 0; +UPDATE `creature_template` SET `AIName` = "SmartAI", `ScriptName` = "" WHERE `entry` = @ENTRY; +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, 1, 8, 0, 100, 1, 88434, 0, 0, 0, 11, 88443, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Magnetized Scrap Collector (88434) hit - Self: Cast spell Scrap Master Summon (88443) on Self"), +(@ENTRY, 0, 1, 0, 61, 0, 100, 0, 0, 0, 0, 0, 41, 2000, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "On spell Magnetized Scrap Collector (88434) hit - Self: Despawn in 2 s"); + +DELETE FROM `spell_script_names` WHERE `ScriptName`= 'spell_tb_scrap_master_summon'; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(88443, 'spell_tb_scrap_master_summon'); + +DELETE FROM `creature_equip_template` WHERE `CreatureID`= 48251; +INSERT INTO `creature_equip_template` (`CreatureID`, `ID`, `ItemID1`, `ItemID2`, `ItemID3`, `VerifiedBuild`) VALUES# +(48251, 1, 5956, 0, 0, 15595); + +UPDATE `creature` SET `equipment_id`= 1 WHERE `guid`= 291442; + + -- Dar Rummond +SET @ENTRY := 50161; +DELETE FROM `smart_scripts` WHERE `entryOrGuid` = @ENTRY AND `source_type` = 0; +UPDATE `creature_template` SET `AIName` = "SmartAI", `ScriptName` = "" WHERE `entry` = @ENTRY; +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, 63, 0, 100, 0, 0, 0, 0, 0, 11, 32783, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, "When just created - Self: Cast spell Arcane Channeling (32783) on Self"); diff --git a/src/server/scripts/EasternKingdoms/zone_tol_barad.cpp b/src/server/scripts/EasternKingdoms/zone_tol_barad.cpp index acfd607f906..0ffcce57fe5 100644 --- a/src/server/scripts/EasternKingdoms/zone_tol_barad.cpp +++ b/src/server/scripts/EasternKingdoms/zone_tol_barad.cpp @@ -121,8 +121,33 @@ public: } }; +enum MagnestsHowDoTheyWork +{ + SPELL_SCRAPS = 88440 +}; + +// 88443 - Scrap Master Summon +class spell_tb_scrap_master_summon : public SpellScript +{ + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_SCRAPS }); + } + + void HandleScriptEffect(SpellEffIndex /*effIndex*/) + { + GetHitUnit()->CastSpell(nullptr, SPELL_SCRAPS); + } + + void Register() override + { + OnEffectHitTarget.Register(&spell_tb_scrap_master_summon::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); + } +}; + void AddSC_tol_barad() { new npc_tb_spirit_guide(); new spell_siege_cannon(); + RegisterSpellScript(spell_tb_scrap_master_summon); }