diff options
-rw-r--r-- | sql/updates/world/2013_05_26_00_world_sai.sql | 207 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_quest.cpp | 32 |
2 files changed, 136 insertions, 103 deletions
diff --git a/sql/updates/world/2013_05_26_00_world_sai.sql b/sql/updates/world/2013_05_26_00_world_sai.sql index 90e207fb78d..14879241a25 100644 --- a/sql/updates/world/2013_05_26_00_world_sai.sql +++ b/sql/updates/world/2013_05_26_00_world_sai.sql @@ -1,114 +1,115 @@ -SET @ETHEREAL_TELEPORT := 34427; -- Arete Teleport Animation -SET @ARETE := 29560; -- LC Arete -SET @SUMMON_AERTE := 18280; -- LC Arete Summon Spell -SET @LANDGREN := 29542; -- Landgren -SET @LANDGRENS_SOUL := 29572; -- Landgren's Soul -SET @SOUL_TARGET_BUNNY := 29577; -- Target Bunny for the Soul -SET @CORPSE_SFOCUS := 22965; -- Spell focus for the corpse -SET @SOUL_COAX := 22966; -- Soul Coax Spell -SET @SOUL_MOVE := 12601; -- Sould Move position -SET @SUMMON_SOUL := 12600; -- Summon Landgren's Soul -SET @SOUL_WRACK := 54723; -- Soul Wrack Spell -SET @ARCANE_EXP := 35426; -- Arcane Explosion Visual -SET @SUMMON_GATE := 26560; -- Summon Arete Gateway spell -SET @ARETE_GATE := 191579; -- Arete Gateway Object -SET @LANDGREN_CORPSE := 191578; -- Landgrens Corpse Object - -UPDATE `gameobject_template` SET `faction`=114, `AIName`='SmartGameObjectAI' WHERE `entry`=@ARETE_GATE; -DELETE FROM `gameobject_template` WHERE `entry`=@LANDGREN_CORPSE; -INSERT INTO `gameobject_template` (`entry`,`type`,`displayId`,`name`,`data0`,`data1`,`data6`) VALUES -(@LANDGREN_CORPSE,8,0,'Archbishop Landgren''s Corpse',1566,20,0); - -UPDATE `creature_template` SET `npcflag`=2, `unit_flags`=33280 WHERE `entry`=@ARETE; -UPDATE `creature_template` SET `faction_A`=14, `faction_H`=14, `speed_walk`=0.4, `unit_flags`=256, `dynamicflags`=32 WHERE `entry`=@LANDGRENS_SOUL; -UPDATE `creature_template` SET `unit_flags`=33555200, `flags_extra`=`flags_extra`|128 WHERE `entry`=@SOUL_TARGET_BUNNY; +SET @NPC_LANDGREN := 29542; +SET @NPC_ARETE := 29560; +SET @NPC_SOUL := 29572; +SET @NPC_SOUL_TARGET := 29577; +SET @GO_FOCUS := 191578; +SET @GO_GATE := 191579; + +UPDATE `gameobject_template` SET `faction`=114, `AIName`='SmartGameObjectAI' WHERE `entry`=@GO_GATE; +DELETE FROM `gameobject_template` WHERE `entry`=@GO_FOCUS; +INSERT INTO `gameobject_template` (`entry`,`type`,`displayId`,`name`,`data0`,`data1`,`data6`,`AIName`) VALUES +(@GO_FOCUS,8,0,'Archbishop Landgren''s Corpse',1566,20,0,'SmartGameObjectAI'); + +UPDATE `creature_template` SET `npcflag`=2, `unit_flags`=33280 WHERE `entry`=@NPC_ARETE; +UPDATE `creature_template` SET `faction_A`=14, `faction_H`=14, `speed_walk`=0.4, `unit_flags`=256, `dynamicflags`=0, `InhabitType`=4 WHERE `entry`=@NPC_SOUL; +UPDATE `creature_template` SET `unit_flags`=33555200, `InhabitType`=4 WHERE `entry`=@NPC_SOUL_TARGET; UPDATE `creature_model_info` SET `bounding_radius`=0.5745, `combat_reach`=2.25 WHERE `modelid`=26197; UPDATE `creature_model_info` SET `bounding_radius`=0.3825, `combat_reach`=1.875 WHERE `modelid`=26346; -DELETE FROM `creature_template_addon` WHERE `entry`=@LANDGRENS_SOUL; +DELETE FROM `creature_template_addon` WHERE `entry`=@NPC_SOUL; INSERT INTO `creature_template_addon` (`entry`,`bytes2`,`emote`,`auras`) VALUES -(@LANDGRENS_SOUL,1,0,'36545 36550'); -- Float Aura for Landgren's Soul +(@NPC_SOUL,1,0,'36545'); -DELETE FROM `creature_text` WHERE `entry` IN (@ARETE,@LANDGRENS_SOUL); +DELETE FROM `creature_equip_template` WHERE `entry`=@NPC_ARETE; +INSERT INTO `creature_equip_template` (`entry`,`id`,`itemEntry1`,`itemEntry2`,`itemEntry3`) VALUES +(@NPC_ARETE,1,40276,0,0); + +DELETE FROM `creature_text` WHERE `entry` IN (@NPC_LANDGREN,@NPC_ARETE,@NPC_SOUL); INSERT INTO `creature_text` (`entry`,`groupid`,`id`,`text`,`type`,`language`,`probability`,`emote`,`duration`,`sound`,`comment`) VALUES -(@ARETE,0,0,'Well done. Let''s get this over with.',12,0,100,1,0,0,''), -(@ARETE,1,0,'Come, Landgren, cough up your soul so that I can ask you a very important question.',12,0,100,0,0,0,''), -(@ARETE,2,0,'YOU WILL TELL ME WHERE WESTWIND IS OR I WILL DESTROY YOUR SOUL!',14,0,100,25,0,0,''), -(@ARETE,3,0,'Then you leave me no choice. I won''t say that I won''t enjoy this.',12,0,100,1,0,0,''), -(@ARETE,4,0,'Very well. Tell me!',12,0,100,0,0,0,''), -(@ARETE,5,0,'A hidden hollow? How very interesting. You''ve served your purpose, Landgren, but I''m afraid there''ll be no resurrection for you this time!',12,0,100,6,0,0,''), -(@ARETE,6,0,'Now that the unpleasantness is finished with, let''s talk about you dealing with Grand Admiral Westwind.',12,0,100,11,0,0,''), - -(@LANDGRENS_SOUL,0,0,'You''ll get nothing out of me, monster. I am beyond your ability to influence.',12,0,100,0,0,0,''), -(@LANDGRENS_SOUL,1,0,'No.',12,0,100,0,0,0,''), -(@LANDGRENS_SOUL,2,0,'STOP! It isn''t worth it. I''ll tell you where he is.',12,0,100,0,0,0,''), -(@LANDGRENS_SOUL,3,0,'On the south end of the island is a cave -- a hidden hollow. The grand admiral has holed himself up in there, preparing for the final battle against the Lich King.',12,0,100,0,0,0,''), -(@LANDGRENS_SOUL,4,0,'AAAEEEEIIIiiiiiiiiiiiiiiiiiiiiiiiiiiii........................................',14,0,100,0,0,0,''); - -DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (@SOUL_COAX,@SUMMON_GATE); +(@NPC_LANDGREN,0,0,'I will not die so quickly this time!',14,0,100,0,0,0,''), + +(@NPC_ARETE,0,0,'Well done. Let''s get this over with.',12,0,100,1,0,0,''), +(@NPC_ARETE,1,0,'Come, Landgren, cough up your soul so that I can ask you a very important question.',12,0,100,0,0,0,''), +(@NPC_ARETE,2,0,'YOU WILL TELL ME WHERE WESTWIND IS OR I WILL DESTROY YOUR SOUL!',14,0,100,25,0,0,''), +(@NPC_ARETE,3,0,'Then you leave me no choice. I won''t say that I won''t enjoy this.',12,0,100,1,0,0,''), +(@NPC_ARETE,4,0,'Very well. Tell me!',12,0,100,0,0,0,''), +(@NPC_ARETE,5,0,'A hidden hollow? How very interesting. You''ve served your purpose, Landgren, but I''m afraid there''ll be no resurrection for you this time!',12,0,100,6,0,0,''), +(@NPC_ARETE,6,0,'Now that the unpleasantness is finished with, let''s talk about you dealing with Grand Admiral Westwind.',12,0,100,11,0,0,''), + +(@NPC_SOUL,0,0,'You''ll get nothing out of me, monster. I am beyond your ability to influence.',12,0,100,0,0,0,''), +(@NPC_SOUL,1,0,'No.',12,0,100,0,0,0,''), +(@NPC_SOUL,2,0,'STOP! It isn''t worth it. I''ll tell you where he is.',12,0,100,0,0,0,''), +(@NPC_SOUL,3,0,'On the south end of the island is a cave -- a hidden hollow. The grand admiral has holed himself up in there, preparing for the final battle against the Lich King.',12,0,100,0,0,0,''), +(@NPC_SOUL,4,0,'AAAEEEEIIIiiiiiiiiiiiiiiiiiiiiiiiiiiii........................................',14,0,100,0,0,0,''); + +DELETE FROM `conditions` WHERE `SourceTypeOrReferenceId`=13 AND `SourceEntry` IN (22966,26560); INSERT INTO `conditions` (`SourceTypeOrReferenceId`,`SourceGroup`,`SourceEntry`,`SourceId`,`ElseGroup`,`ConditionTypeOrReference`,`ConditionTarget`,`ConditionValue1`,`ConditionValue2`,`ConditionValue3`,`NegativeCondition`,`ErrorTextId`,`ScriptName`,`Comment`) VALUES -(13,1,@SOUL_COAX,0,0,31,0,3,@LANDGREN,0,0,0,'','Spell Soul Coax targets Archbishop Landgren'), -(13,2,@SUMMON_GATE,0,0,31,0,3,@LANDGREN,0,0,0,'','Spell Summon Arete''s Gate effect1 targets Archbishop Landgren'); - -UPDATE `creature_template` SET AIName='SmartAI' WHERE entry=@SOUL_TARGET_BUNNY; -DELETE FROM `smart_scripts` WHERE `entryorguid`=@SOUL_TARGET_BUNNY 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 -(@SOUL_TARGET_BUNNY,0,0,0,54,0,100,0,0,0,0,0,69,0,0,0,0,0,0,19,@LANDGREN,20,0,0,0,59.057,0,'Spell Focus Bunny - Just summoned - Move to position'); +(13,1,22966,0,0,31,0,3,@NPC_LANDGREN,0,0,0,'','Spell Soul Coax targets Archbishop Landgren'), +(13,2,26560,0,0,31,0,3,@NPC_LANDGREN,0,0,0,'','Spell Summon Arete''s Gate effect1 targets Archbishop Landgren'); +DELETE FROM `spell_script_names` WHERE `spell_id`=12601; +INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES +(12601,'spell_q12847_summon_soul_moveto_bunny'); -UPDATE `creature_template` SET AIName='SmartAI' WHERE entry IN (@LANDGREN,@ARETE,@LANDGRENS_SOUL); -DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@LANDGREN,@ARETE,@LANDGRENS_SOUL) AND `source_type`=0; -DELETE FROM `smart_scripts` WHERE `entryorguid`=@ARETE_GATE AND `source_type`=1; -DELETE FROM `smart_scripts` WHERE `entryorguid`=@ARETE_GATE*100 AND `source_type`=9; -DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@ARETE*100,@LANDGRENS_SOUL*100) AND `source_type`=9; +UPDATE `creature_template` SET `AIName`='SmartAI' WHERE `entry` IN (@NPC_LANDGREN,@NPC_ARETE,@NPC_SOUL); +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_LANDGREN,@NPC_ARETE,@NPC_SOUL) AND `source_type`=0; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@GO_FOCUS,@GO_GATE) AND `source_type`=1; +DELETE FROM `smart_scripts` WHERE `entryorguid` IN (@NPC_LANDGREN*100,@NPC_ARETE*100,@NPC_SOUL*100,@GO_GATE*100) AND `source_type`=9; 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 -(@LANDGREN,0,0,0,4,0,100,0,0,0,0,0,42,0,1,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On Aggro - Set invincibility 1HP'), -(@LANDGREN,0,1,2,2,0,100,1,0,1,0,0,11,@CORPSE_SFOCUS,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On health below 0.1% - Spellcast Summon Archbishop Landgren''s Corpse Spell Focus'), -(@LANDGREN,0,2,3,61,0,100,0,0,0,0,0,90,7,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On health below 0.1% - Add unit field byte1 Death'), -(@LANDGREN,0,3,0,61,0,100,0,0,0,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On Link - Forbid Attack'), -(@LANDGREN,0,4,0,8,0,100,0,@SUMMON_GATE,0,0,0,45,0,1,0,0,0,0,20,@ARETE_GATE,20,0,0,0,0,0,'Archbishop Landgren - On spellhit Summon Arete''s Gate - Set data 0 1 Arete''s Gate'), -(@LANDGREN,0,5,0,8,0,100,0,@SOUL_COAX,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On spellhit Soul Coax - Set event phase 1'), -(@LANDGREN,0,6,7,23,1,100,1,@SOUL_COAX,0,0,0,11,@SOUL_MOVE,2,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On spellfade Soul Coax (phase 1) - Spellcast Summon Landgren''s Soul Moveto Target Bunny'), -(@LANDGREN,0,7,8,61,1,100,0,0,0,0,0,11,@SUMMON_SOUL,2,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On spellfade Soul Coax (phase 1) - Spellcast Summon Landgren''s Soul'), -(@LANDGREN,0,8,0,61,1,100,0,0,0,0,0,37,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On Link - Die'), -(@LANDGREN,0,9,10,11,0,100,0,0,0,0,0,91,7,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On Respawn - Remove unit field byte1 Death'), -(@LANDGREN,0,10,0,61,0,100,0,0,0,0,0,20,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On Respawn - Allow Attack'), - - -(@ARETE,0,0,1,54,0,100,0,0,0,0,0,11,@ETHEREAL_TELEPORT,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete - Just summoned - Spellcast Ethereal Teleport'), -(@ARETE,0,1,2,61,0,100,0,0,0,0,0,66,0,0,0,0,0,0,19,@LANDGREN,20,0,0,0,0,0,'Lord-Commander Arete - Just summoned - Turn to Archbishop Landgren'), -(@ARETE,0,2,3,61,0,100,0,0,0,0,0,41,300000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete - On Link - Despawn after timer'), -(@ARETE,0,3,0,61,0,100,0,0,0,0,0,80,@ARETE*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete - Just summoned - Run script'), - -(@LANDGRENS_SOUL,0,0,0,54,0,100,0,0,0,0,0,80,@LANDGRENS_SOUL*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul - Just summoned - Run script'), - - -(@ARETE_GATE,1,0,1,38,0,100,0,0,1,0,0,80,@ARETE_GATE*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Arete''s Gateway - On Data Set - Start Action Script'), -(@ARETE_GATE,1,1,0,61,0,100,0,0,0,0,0,41,300000,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arete''s Gateway - On Link - Despawn after timer'), -(@ARETE_GATE*100,9,0,0,0,0,100,0,4000,4000,0,0,11,@SUMMON_ARETE,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arete''s Gateway - On Script - Spellcast Summon Arete'), - -(@ARETE*100,9,0,0,0,0,100,0,500,500,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), -(@ARETE*100,9,1,0,0,0,100,0,4000,4000,0,0,66,0,0,0,0,0,0,19,@LANDGREN,20,0,0,0,0,0,'Lord-Commander Arete script - Turn to Archbishop Landgren'), -(@ARETE*100,9,2,0,0,0,100,0,1000,1000,0,0,11,@SOUL_COAX,0,0,0,0,0,19,@LANDGREN,20,0,0,0,0,0,'Lord-Commander Arete script - Spellcast Soul Coax'), -(@ARETE*100,9,3,0,0,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), -(@ARETE*100,9,4,0,0,0,100,0,20000,20000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), -(@ARETE*100,9,5,0,0,0,100,0,7000,7000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), -(@ARETE*100,9,6,0,0,0,100,0,4000,4000,0,0,11,27765,0,0,0,0,0,19,@LANDGRENS_SOUL,20,0,0,0,0,0,'Lord-Commander Arete script - Spellcast Soul Wrack'), -(@ARETE*100,9,7,0,0,0,100,0,15000,15000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), -(@ARETE*100,9,8,0,0,0,100,0,0,0,0,0,92,0,27765,1,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Interrupt spellcast'), -(@ARETE*100,9,9,0,0,0,100,0,10000,10000,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), -(@ARETE*100,9,10,0,0,0,100,0,4000,4000,0,0,5,25,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Play emote'), -(@ARETE*100,9,11,0,0,0,100,0,4000,4000,0,0,11,@SOUL_WRACK,0,0,0,0,0,19,@LANDGRENS_SOUL,20,0,0,0,0,0,'Lord-Commander Arete script - Spellcast Soul Wrack'), -- 18 -(@ARETE*100,9,12,0,0,0,100,0,8000,8000,0,0,92,0,@SOUL_WRACK,1,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Interrupt spellcast'), -(@ARETE*100,9,13,0,0,0,100,0,0,0,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), -(@ARETE*100,9,14,0,0,0,100,0,0,0,0,0,81,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Set npcflag questgiver'), - -(@LANDGRENS_SOUL*100,9,0,0,0,0,100,0,500,500,0,0,66,0,0,0,0,0,0,19,@ARETE,20,0,0,0,0,0,'Landgren''s Soul script - Turn to Lord-Commander Arete'), -(@LANDGRENS_SOUL*100,9,1,0,0,0,100,0,6000,6000,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Say line'), -(@LANDGRENS_SOUL*100,9,2,0,0,0,100,0,10000,10000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Say line'), -(@LANDGRENS_SOUL*100,9,3,0,0,0,100,0,15000,15000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Say line'), -(@LANDGRENS_SOUL*100,9,4,0,0,0,100,0,10000,10000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Say line'), -(@LANDGRENS_SOUL*100,9,5,0,0,0,100,0,16000,16000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Say line'), -(@LANDGRENS_SOUL*100,9,6,0,0,0,100,0,5000,5000,0,0,11,@ARCANE_EXP,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Spellcast Arcane Explosion Visual'), -(@LANDGRENS_SOUL*100,9,7,0,0,0,100,0,1000,1000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Despawn'); +(@NPC_LANDGREN,0,0,0,25,0,100,0,0,0,0,0,28,60449,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On reset - Remove aura Shadowform'), +(@NPC_LANDGREN,0,1,0,0,0,100,0,10000,12000,9000,10000,11,60453,0,0,0,0,0,2,0,0,0,0,0,0,0,'Archbishop Landgren - On update IC - Spellcast Mind Blast'), +(@NPC_LANDGREN,0,2,0,0,0,100,0,15000,16000,18000,20000,11,60446,0,0,0,0,0,2,0,0,0,0,0,0,0,'Archbishop Landgren - On update IC - Spellcast Shadow Word: Pain'), +(@NPC_LANDGREN,0,3,0,0,0,100,0,30000,35000,35000,40000,11,60440,0,0,0,0,0,2,0,0,0,0,0,0,0,'Archbishop Landgren - On update IC - Spellcast Mind Sear'), +(@NPC_LANDGREN,0,4,5,2,0,100,1,0,50,0,0,11,60449,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On health below 50% - Spellcast Shadowform'), +(@NPC_LANDGREN,0,5,0,61,0,100,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On health below 50% - Say line'), +(@NPC_LANDGREN,0,6,0,6,0,100,0,0,0,0,0,11,22965,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On death - Spellcast Summon Archbishop Landgren''s Corpse Spell Focus'), +(@NPC_LANDGREN,0,7,8,8,0,100,0,26560,0,0,0,45,0,1,0,0,0,0,20,@GO_GATE,50,0,0,0,0,0,'Archbishop Landgren - On spellhit Summon Arete''s Gate - Set data 0 1 Arete''s Gate'), +(@NPC_LANDGREN,0,8,0,61,0,100,0,0,0,0,0,45,0,1,0,0,0,0,20,@GO_FOCUS,5,0,0,0,0,0,'Archbishop Landgren - On spellhit Summon Arete''s Gate - Set data 0 1 Arete''s Gate'), +(@NPC_LANDGREN,0,9,10,38,0,100,0,0,1,0,0,11,12601,2,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On data 0 1 set - Spellcast Summon Landgren''s Soul Moveto Target Bunny'), +(@NPC_LANDGREN,0,10,0,61,0,100,0,0,0,0,0,11,12600,2,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren - On data 0 1 set - Spellcast Summon Landgren''s Soul'), + +(@NPC_ARETE,0,0,1,1,0,100,1,0,0,0,0,11,34427,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete - Just summoned - Spellcast Ethereal Teleport'), +(@NPC_ARETE,0,1,2,61,0,100,0,0,0,0,0,83,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete - Just summoned - Remove npcflag questgiver'), +(@NPC_ARETE,0,2,3,61,0,100,0,0,0,0,0,66,0,0,0,0,0,0,19,@NPC_LANDGREN,20,0,0,0,0,0,'Lord-Commander Arete - Just summoned - Turn to Archbishop Landgren'), +(@NPC_ARETE,0,3,0,61,0,100,0,0,0,0,0,80,@NPC_ARETE*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete - Just summoned - Run script'), + +(@NPC_SOUL,0,0,0,54,0,100,0,0,0,0,0,80,@NPC_SOUL*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul - Just summoned - Run script'), + +(@GO_FOCUS,1,0,0,38,0,100,0,0,1,0,0,44,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Archbishop Landgren''s Corpse Spell Focus - On data 0 1 set - Set phase 2'), + +(@GO_GATE,1,0,0,38,0,100,0,0,1,0,0,80,@GO_GATE*100,2,0,0,0,0,1,0,0,0,0,0,0,0,'Arete''s Gateway - On data 0 1 set - Run script'), + +(@GO_GATE*100,9,0,0,0,0,100,0,4000,4000,0,0,11,18280,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arete''s Gateway script - Spellcast Summon Arete'), +(@GO_GATE*100,9,1,0,0,0,100,0,180000,180000,0,0,44,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Arete''s Gateway script - Set phase 2'), + +(@NPC_ARETE*100,9,0,0,0,0,100,0,500,500,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), +(@NPC_ARETE*100,9,1,0,0,0,100,0,0,0,0,0,46,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Move forward'), +(@NPC_ARETE*100,9,2,0,0,0,100,0,4000,4000,0,0,66,0,0,0,0,0,0,19,@NPC_LANDGREN,20,0,0,0,0,0,'Lord-Commander Arete script - Turn to Archbishop Landgren'), +(@NPC_ARETE*100,9,3,0,0,0,100,0,1000,1000,0,0,11,22966,0,0,0,0,0,19,@NPC_LANDGREN,20,1,0,0,0,0,'Lord-Commander Arete script - Spellcast Soul Coax'), +(@NPC_ARETE*100,9,4,0,0,0,100,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), +(@NPC_ARETE*100,9,5,0,0,0,100,0,8000,8000,0,0,45,0,1,0,0,0,0,19,@NPC_LANDGREN,20,1,0,0,0,0,'Lord-Commander Arete script - Set data 0 1 Archbishop Landgren'), +(@NPC_ARETE*100,9,6,0,0,0,100,0,12000,12000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), +(@NPC_ARETE*100,9,7,0,0,0,100,0,7000,7000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), +(@NPC_ARETE*100,9,8,0,0,0,100,0,4000,4000,0,0,11,27765,0,0,0,0,0,19,@NPC_SOUL,20,0,0,0,0,0,'Lord-Commander Arete script - Spellcast Soul Wrack'), +(@NPC_ARETE*100,9,9,0,0,0,100,0,15000,15000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), +(@NPC_ARETE*100,9,10,0,0,0,100,0,0,0,0,0,92,0,27765,1,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Interrupt spellcast'), +(@NPC_ARETE*100,9,11,0,0,0,100,0,10000,10000,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), +(@NPC_ARETE*100,9,12,0,0,0,100,0,4000,4000,0,0,5,25,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Play emote'), +(@NPC_ARETE*100,9,13,0,0,0,100,0,4000,4000,0,0,11,54723,0,0,0,0,0,19,@NPC_SOUL,20,0,0,0,0,0,'Lord-Commander Arete script - Spellcast Soul Wrack'), +(@NPC_ARETE*100,9,14,0,0,0,100,0,8000,8000,0,0,92,0,54723,1,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Interrupt spellcast'), +(@NPC_ARETE*100,9,15,0,0,0,100,0,0,0,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Say line'), +(@NPC_ARETE*100,9,16,0,0,0,100,0,0,0,0,0,82,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Set npcflag questgiver'), +(@NPC_ARETE*100,9,17,0,0,0,100,0,98000,98000,0,0,69,0,0,0,0,0,0,20,@GO_GATE,10,0,0,0,0,0,'Lord-Commander Arete script - Move to position'), +(@NPC_ARETE*100,9,18,0,0,0,100,0,2000,2000,0,0,11,34427,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Spellcast Ethereal Teleport'), +(@NPC_ARETE*100,9,19,0,0,0,100,0,500,500,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Lord-Commander Arete script - Despawn'), + +(@NPC_SOUL*100,9,0,0,0,0,100,0,0,0,0,0,66,0,0,0,0,0,0,19,@NPC_ARETE,20,0,0,0,0,0,'Landgren''s Soul script - Turn to Lord-Commander Arete'), +(@NPC_SOUL*100,9,1,0,0,0,100,0,500,500,0,0,11,36545,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Spellcast Floating Drowned'), +(@NPC_SOUL*100,9,2,0,0,0,100,0,6500,6500,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Say line'), +(@NPC_SOUL*100,9,3,0,0,0,100,0,10000,10000,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Say line'), +(@NPC_SOUL*100,9,4,0,0,0,100,0,15000,15000,0,0,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Say line'), +(@NPC_SOUL*100,9,5,0,0,0,100,0,10000,10000,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Say line'), +(@NPC_SOUL*100,9,6,0,0,0,100,0,16000,16000,0,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Say line'), +(@NPC_SOUL*100,9,7,0,0,0,100,0,5000,5000,0,0,11,35426,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Spellcast Arcane Explosion Visual'), +(@NPC_SOUL*100,9,8,0,0,0,100,0,1000,1000,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,'Landgren''s Soul script - Despawn'); diff --git a/src/server/scripts/Spells/spell_quest.cpp b/src/server/scripts/Spells/spell_quest.cpp index 3036c52876d..4cc464af9ab 100644 --- a/src/server/scripts/Spells/spell_quest.cpp +++ b/src/server/scripts/Spells/spell_quest.cpp @@ -1640,6 +1640,37 @@ class spell_q13291_q13292_q13239_q13261_armored_decoy_summon_skytalon : public S } }; +class spell_q12847_summon_soul_moveto_bunny : public SpellScriptLoader +{ + public: + spell_q12847_summon_soul_moveto_bunny() : SpellScriptLoader("spell_q12847_summon_soul_moveto_bunny") { } + + class spell_q12847_summon_soul_moveto_bunny_SpellScript : public SpellScript + { + PrepareSpellScript(spell_q12847_summon_soul_moveto_bunny_SpellScript); + + void ChangeSummonPos(SpellEffIndex /*effIndex*/) + { + // Adjust effect summon position + WorldLocation summonPos = *GetExplTargetDest(); + Position offset = { 0.0f, 0.0f, 2.5f, 0.0f }; + summonPos.RelocateOffset(offset); + SetExplTargetDest(summonPos); + GetHitDest()->RelocateOffset(offset); + } + + void Register() + { + OnEffectHit += SpellEffectFn(spell_q12847_summon_soul_moveto_bunny_SpellScript::ChangeSummonPos, EFFECT_0, SPELL_EFFECT_SUMMON); + } + }; + + SpellScript *GetSpellScript() const + { + return new spell_q12847_summon_soul_moveto_bunny_SpellScript(); + } +}; + void AddSC_quest_spell_scripts() { new spell_q55_sacred_cleansing(); @@ -1680,4 +1711,5 @@ void AddSC_quest_spell_scripts() new spell_q12527_zuldrak_rat(); new spell_q13291_q13292_q13239_q13261_frostbrood_skytalon_grab_decoy(); new spell_q13291_q13292_q13239_q13261_armored_decoy_summon_skytalon(); + new spell_q12847_summon_soul_moveto_bunny(); } |