aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroffl <11556157+offl@users.noreply.github.com>2022-01-22 19:02:39 +0200
committerGitHub <noreply@github.com>2022-01-22 19:02:39 +0200
commit7964636ea5d78ada4bb8db3e01e1bad19ca64257 (patch)
tree1bcdb3c8e1a7f703990e6e586750c9dfbd0f163f
parent78327500d816d923ece63a940fb82bde16d8f8e9 (diff)
Scripts/Quest: Update 'The Light's Mercy' (#27633)
-rw-r--r--sql/updates/world/3.3.5/2022_01_22_09_world.sql36
-rw-r--r--src/server/scripts/Northrend/zone_icecrown.cpp27
2 files changed, 63 insertions, 0 deletions
diff --git a/sql/updates/world/3.3.5/2022_01_22_09_world.sql b/sql/updates/world/3.3.5/2022_01_22_09_world.sql
new file mode 100644
index 00000000000..2226055c4eb
--- /dev/null
+++ b/sql/updates/world/3.3.5/2022_01_22_09_world.sql
@@ -0,0 +1,36 @@
+--
+UPDATE `creature_template` SET `unit_flags` = 33554432 WHERE `entry` = 34879;
+
+DELETE FROM `creature_template_addon` WHERE `entry` = 34888;
+INSERT INTO `creature_template_addon` (`entry`, `path_id`, `mount`, `MountCreatureID`, `bytes1`, `bytes2`, `emote`, `visibilityDistanceType`, `auras`) VALUES
+(34888,0,0,0,0,1,0,0,'37119 66419');
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (34852,34888) AND `source_type` = 0;
+DELETE FROM `smart_scripts` WHERE `entryorguid` IN (3485200,3488800,3488801) 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`,`event_param5`,`action_type`,`action_param1`,`action_param2`,`action_param3`,`action_param4`,`action_param5`,`action_param6`,`target_type`,`target_param1`,`target_param2`,`target_param3`,`target_param4`,`target_x`,`target_y`,`target_z`,`target_o`,`comment`) VALUES
+(34852,0,0,0,8,0,100,0,66390,0,0,0,0,80,3485200,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Slain Tualiq Villager - On Spellhit 'Read Last Rites' - Run Script"),
+
+(3485200,9,0,0,0,0,100,0,0,0,0,0,0,33,34852,0,0,0,0,0,7,0,0,0,0,0,0,0,0,"Slain Tualiq Villager - On Script - Quest Credit 'The Light's Mercy'"),
+(3485200,9,1,0,0,0,100,0,0,0,0,0,0,11,66411,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Slain Tualiq Villager - On Script - Cast 'Summon Tualiq Proxy'"),
+(3485200,9,2,0,0,0,100,0,1000,1000,0,0,0,11,66412,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Slain Tualiq Villager - On Script - Cast 'Summon Tualiq Spirit'"),
+(3485200,9,3,0,0,0,100,0,2000,2000,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Slain Tualiq Villager - On Script - Despawn"),
+
+/* Something weird happens here
+Position: X: 10100.81 Y: 1227.5642 Z: 79.187256 Summoner
+Position: X: 10100.81 Y: 1227.5642 Z: 109.27059 Proxy (30.083334 from summoner)
+Position: X: 10100.81 Y: 1227.5642 Z: 80.27059 Spirit hover to (1.083334 from summoner)
+Waypoint: X: 10100.81 Y: 1227.5642 Z: 105.27059 Spirit move to (25 from hover to, 4 from proxy)
+Position: X: 10100.8125 Y: 1227.564 Z: 104.06733 Spirit stops */
+
+(34888,0,0,0,11,0,100,0,0,0,0,0,0,80,3488800,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Tualiq Spirit - On Spawn - Run Script"),
+(34888,0,1,0,34,0,100,0,8,0,0,0,0,80,3488801,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Tualiq Spirit - On Reached Point 0 - Run Script"),
+
+(3488800,9,0,0,0,0,100,0,0,0,0,0,0,59,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Tualiq Spirit - On Script - Set Run Off"),
+(3488800,9,1,0,0,0,100,0,1000,1000,0,0,0,114,0,0,0,0,0,0,1,0,0,0,0,0,0,25,0,"Tualiq Spirit - On Script - Rise Up"),
+
+(3488801,9,0,0,0,0,100,0,1000,1000,0,0,0,11,57771,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Tualiq Spirit - On Script - Cast 'Holy Nova'"),
+(3488801,9,1,0,0,0,100,0,1000,1000,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Tualiq Spirit - On Script - Despawn");
+
+DELETE FROM `spell_script_names` WHERE `spell_id` = 66411 AND `ScriptName` = 'spell_summon_tualiq_proxy';
+INSERT INTO `spell_script_names` (`spell_id`,`ScriptName`) VALUES
+(66411,'spell_summon_tualiq_proxy');
diff --git a/src/server/scripts/Northrend/zone_icecrown.cpp b/src/server/scripts/Northrend/zone_icecrown.cpp
index a83f34cacd7..d0ffb6f7e11 100644
--- a/src/server/scripts/Northrend/zone_icecrown.cpp
+++ b/src/server/scripts/Northrend/zone_icecrown.cpp
@@ -22,6 +22,7 @@
#include "Player.h"
#include "ScriptedCreature.h"
#include "ScriptedGossip.h"
+#include "Spell.h"
#include "SpellAuras.h"
#include "SpellScript.h"
#include "TemporarySummon.h"
@@ -781,6 +782,10 @@ class npc_frostbrood_skytalon : public CreatureScript
}
};
+/*######
+## Quest 12887, 12892: It's All Fun and Games
+######*/
+
// 55288 - It's All Fun and Games: The Ocular On Death
class spell_the_ocular_on_death : public SpellScript
{
@@ -803,6 +808,27 @@ class spell_the_ocular_on_death : public SpellScript
}
};
+/*######
+## Quest 14077, 14144: The Light's Mercy
+######*/
+
+// 66411 - Summon Tualiq Proxy
+class spell_summon_tualiq_proxy : public SpellScript
+{
+ PrepareSpellScript(spell_summon_tualiq_proxy);
+
+ void SetDest(SpellDestination& dest)
+ {
+ Position const offset = { 0.0f, 0.0f, 30.0f, 0.0f };
+ dest.RelocateOffset(offset);
+ }
+
+ void Register() override
+ {
+ OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_summon_tualiq_proxy::SetDest, EFFECT_0, TARGET_DEST_CASTER);
+ }
+};
+
void AddSC_icecrown()
{
new npc_argent_valiant;
@@ -811,4 +837,5 @@ void AddSC_icecrown()
new npc_blessed_banner();
new npc_frostbrood_skytalon();
RegisterSpellScript(spell_the_ocular_on_death);
+ RegisterSpellScript(spell_summon_tualiq_proxy);
}