From 2e02320302a9b502eab1aea352c2509111fb3c6d Mon Sep 17 00:00:00 2001 From: SnapperRy Date: Tue, 5 Jul 2016 15:19:30 +0200 Subject: [PATCH] Event/Midsummer: improve pole ribbon functionality (#17464) Event/Midsummer: improve pole ribbon functionality: - Bunny creature should hover, which puts it in the intended position. - Use correct visual and internal spells to handle cosmetics and timers. --- .../world/3.3.5/9999_99_99_99_world.sql | 22 +++++++++++++++++++ src/server/game/Spells/SpellMgr.cpp | 7 ++++++ 2 files changed, 29 insertions(+) create mode 100644 sql/updates/world/3.3.5/9999_99_99_99_world.sql diff --git a/sql/updates/world/3.3.5/9999_99_99_99_world.sql b/sql/updates/world/3.3.5/9999_99_99_99_world.sql new file mode 100644 index 0000000000..6a91e39c26 --- /dev/null +++ b/sql/updates/world/3.3.5/9999_99_99_99_world.sql @@ -0,0 +1,22 @@ +DELETE FROM `spell_linked_spell` WHERE `spell_trigger` IN (29531, 45390, 29726); +INSERT INTO `spell_linked_spell` (`spell_trigger`, `spell_effect`, `type`, `comment`) VALUES +(29726, 45406, 1, "Holiday - Midsummer, Ribbon Pole Periodic Visual"); + +DELETE FROM `spell_script_names` WHERE `spell_id` IN (45390, 45406); +INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES +(45406, "spell_gen_ribbon_pole_dancer_check"); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry`=29726; +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `ErrorType`, `ErrorTextId`, `ScriptName`, `Comment`) VALUES +(13, 1, 29726, 0, 0, 31, 0, 3, 17066, 0, 0, 0, 0, "", "Spell 'Test Ribbon Pole Channel' targets creature 'Ribbon Pole Debug Target'"); +UPDATE `gameobject_template` SET `ScriptName`="go_midsummer_ribbon_pole" WHERE `entry`=181605; + +DELETE FROM `disables` WHERE `sourceType`=0 AND `entry` IN (46836, 46842); +INSERT INTO `disables` (`sourceType`, `entry`, `flags`, `params_0`, `params_1`, `comment`) VALUES +(0, 46836, 64, 0, "", "Spell Flame Patch - Ignore LOS"), +(0, 46842, 64, 0, "", "Spell Flame Ring - Ignore LOS"); + +UPDATE `creature_template_addon` SET `bytes1`=33554688 WHERE `entry`=17066; +DELETE FROM `creature_addon` WHERE `guid` IN (SELECT `guid` FROM `creature` WHERE `id`=17066); +UPDATE `creature` SET `MovementType`=0, `spawndist`=0 WHERE `id`=17066; +UPDATE `creature_template` SET `ScriptName`="npc_midsummer_bunny_pole" WHERE `entry`=17066; diff --git a/src/server/game/Spells/SpellMgr.cpp b/src/server/game/Spells/SpellMgr.cpp index 254689d857..34762d7dd5 100644 --- a/src/server/game/Spells/SpellMgr.cpp +++ b/src/server/game/Spells/SpellMgr.cpp @@ -3367,6 +3367,13 @@ void SpellMgr::LoadSpellInfoCorrections() spellInfo->Effects[EFFECT_0].TargetA = SpellImplicitTargetInfo(TARGET_UNIT_SRC_AREA_ENTRY); break; case 46842: // Flame Ring + case 46836: // Flame Patch + spellInfo->Effects[EFFECT_0].TargetA = SpellImplicitTargetInfo(); + break; + case 29726: // Test Ribbon Pole Channel + spellInfo->InterruptFlags &= ~AURA_INTERRUPT_FLAG_CAST; + break; + case 46842: // Flame Ring case 46836: // Flame Patch spellInfo->Effects[EFFECT_0].TargetA = SpellImplicitTargetInfo(); break;