aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sql/updates/world/master/2025_04_14_02_world.sql205
-rw-r--r--src/server/scripts/KulTiras/Drustvar/drustvar_chapter_2_the_burden_of_proof.cpp109
-rw-r--r--src/server/scripts/KulTiras/kultiras_script_loader.cpp2
3 files changed, 316 insertions, 0 deletions
diff --git a/sql/updates/world/master/2025_04_14_02_world.sql b/sql/updates/world/master/2025_04_14_02_world.sql
new file mode 100644
index 00000000000..5a99faefbce
--- /dev/null
+++ b/sql/updates/world/master/2025_04_14_02_world.sql
@@ -0,0 +1,205 @@
+SET @CGUID := 7002090;
+
+-- Creature
+DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+5;
+INSERT INTO `creature` (`guid`, `id`, `map`, `zoneId`, `areaId`, `spawnDifficulties`, `PhaseId`, `PhaseGroup`, `modelid`, `equipment_id`, `position_x`, `position_y`, `position_z`, `orientation`, `spawntimesecs`, `wander_distance`, `currentwaypoint`, `MovementType`, `npcflag`, `unit_flags`, `unit_flags2`, `unit_flags3`, `VerifiedBuild`) VALUES
+(@CGUID+0, 125385, 1643, 8721, 9130, '0', 9183, 0, 0, 1, -387.09722900390625, 1306.9305419921875, 20.7083740234375, 5.338231086730957031, 120, 0, 0, 0, NULL, NULL, NULL, NULL, 60257), -- Marshal Everit Reade (Area: Hangman's Point - Difficulty: 0) CreateObject1
+(@CGUID+1, 127714, 1643, 8721, 9130, '0', 9183, 0, 0, 0, -384.12847900390625, 1309.282958984375, 20.59227752685546875, 5.26045846939086914, 120, 0, 0, 0, NULL, NULL, NULL, NULL, 60257), -- Bella (Area: Hangman's Point - Difficulty: 0) CreateObject1
+(@CGUID+2, 125391, 1643, 8721, 9130, '0', 9183, 0, 0, 1, -386.890625, 1310.4132080078125, 20.34149932861328125, 5.303452491760253906, 120, 0, 0, 0, NULL, NULL, NULL, NULL, 60257), -- Waycrest Guard (Area: Hangman's Point - Difficulty: 0) CreateObject1
+(@CGUID+3, 125391, 1643, 8721, 9130, '0', 9183, 0, 0, 1, -392.416656494140625, 1307.126708984375, 21.0209808349609375, 5.303452491760253906, 120, 0, 0, 0, NULL, NULL, NULL, NULL, 60257), -- Waycrest Guard (Area: Hangman's Point - Difficulty: 0) CreateObject1
+(@CGUID+4, 125391, 1643, 8721, 9130, '0', 9183, 0, 0, 1, -389.8194580078125, 1308.6285400390625, 20.56307792663574218, 5.303452491760253906, 120, 0, 0, 0, NULL, NULL, NULL, NULL, 60257), -- Waycrest Guard (Area: Hangman's Point - Difficulty: 0) CreateObject1
+(@CGUID+5, 125391, 1643, 8721, 9130, '0', 9183, 0, 0, 1, -384.35589599609375, 1311.796875, 20.17281532287597656, 5.303452491760253906, 120, 0, 0, 0, NULL, NULL, NULL, NULL, 60257); -- Waycrest Guard (Area: Hangman's Point - Difficulty: 0) CreateObject1
+
+UPDATE `creature` SET `PhaseId` = 9191 WHERE `guid` = 7002084;
+
+UPDATE `creature` SET `StringId` = 'GuardOne' WHERE `guid` = @CGUID+3;
+UPDATE `creature` SET `StringId` = 'GuardTwo' WHERE `guid` = @CGUID+4;
+UPDATE `creature` SET `StringId` = 'GuardThree' WHERE `guid` = @CGUID+2;
+UPDATE `creature` SET `StringId` = 'GuardFour' WHERE `guid` = @CGUID+5;
+
+-- Template Addon
+DELETE FROM `creature_template_addon` WHERE `entry` IN (127714,125385,125391);
+INSERT INTO `creature_template_addon` (`entry`, `PathId`, `mount`, `StandState`, `AnimTier`, `VisFlags`, `SheathState`, `PvpFlags`, `emote`, `aiAnimKit`, `movementAnimKit`, `meleeAnimKit`, `visibilityDistanceType`, `auras`) VALUES
+(127714, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''), -- 127714 (Bella)
+(125385, 0, 76864, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''), -- 125385 (Marshal Everit Reade)
+(125391, 0, 76855, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''); -- 125391 (Waycrest Guard)
+
+-- Difficulty
+DELETE FROM `creature_template_difficulty` WHERE (`Entry` IN (144339,125394,125492,125385,125391,125380) AND `DifficultyID`=1);
+UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=60257 WHERE (`Entry`=144339 AND `DifficultyID`=0); -- 144339 (Fletcher's Hollow Villager) - CanSwim
+UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=60257 WHERE (`Entry`=125394 AND `DifficultyID`=0); -- 125394 (Constable Henry Framer) - CanSwim
+UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=60257 WHERE (`Entry`=125492 AND `DifficultyID`=0); -- 125492 (Executioner) - CanSwim
+UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=60257 WHERE (`Entry`=125385 AND `DifficultyID`=0); -- 125385 (Marshal Everit Reade) - CanSwim
+UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=60257 WHERE (`Entry`=125391 AND `DifficultyID`=0); -- 125391 (Waycrest Guard) - CanSwim
+UPDATE `creature_template_difficulty` SET `StaticFlags1`=0x10000000, `VerifiedBuild`=60257 WHERE (`Entry`=125380 AND `DifficultyID`=0); -- 125380 (Lucille Waycrest) - CanSwim
+
+-- Conversation
+DELETE FROM `conversation_template` WHERE `Id`=5665;
+INSERT INTO `conversation_template` (`Id`, `FirstLineID`, `TextureKitId`, `VerifiedBuild`) VALUES
+(5665, 12676, 0, 60257);
+
+UPDATE `conversation_template` SET `ScriptName` = 'conversation_guards_intro_standing_accused' WHERE `Id` = 5665;
+
+DELETE FROM `conversation_actors` WHERE (`ConversationId`=5665 AND `Idx` IN (3,2,1,0));
+INSERT INTO `conversation_actors` (`ConversationId`, `ConversationActorId`, `ConversationActorGuid`, `Idx`, `CreatureId`, `CreatureDisplayInfoId`, `NoActorObject`, `ActivePlayerObject`, `VerifiedBuild`) VALUES
+(5665, 59850, 7002084, 3, 0, 0, 0, 0, 60257), -- Full: 0x20313CCD607A7100004AC500007CED42 Creature/0 R3151/S19141 Map: 1643 (Kul Tiras) Entry: 125380 (Lucille Waycrest) Low: 8187202
+(5665, 61576, 0, 2, 0, 0, 0, 0, 60257), -- Full: 0x20313CCD607A7240004AC500007CED42 Creature/0 R3151/S19141 Map: 1643 (Kul Tiras) Entry: 125385 (Marshal Everit Reade) Low: 8187202
+(5665, 59853, 7002088, 1, 0, 0, 0, 0, 60257), -- Full: 0x20313CCD607A7480004AC500007CED43 Creature/0 R3151/S19141 Map: 1643 (Kul Tiras) Entry: 125394 (Constable Henry Framer) Low: 8187203
+(5665, 60047, 7002087, 0, 0, 0, 0, 0, 60257); -- Full: 0x20313CCD608CF3C0004AC500007CED41 Creature/0 R3151/S19141 Map: 1643 (Kul Tiras) Entry: 144335 (Fletcher's Hollow Villager) Low: 8187201
+
+DELETE FROM `conversation_line_template` WHERE `Id` IN (12681, 12680, 12679, 12678, 12677, 12676);
+INSERT INTO `conversation_line_template` (`Id`, `UiCameraID`, `ActorIdx`, `Flags`, `ChatType`, `VerifiedBuild`) VALUES
+(12681, 0, 3, 0, 1, 60257),
+(12680, 0, 2, 0, 1, 60257),
+(12679, 0, 1, 0, 1, 60257),
+(12678, 0, 2, 0, 1, 60257),
+(12677, 0, 1, 0, 0, 60257),
+(12676, 0, 0, 0, 0, 60257);
+
+-- Phase
+DELETE FROM `phase_name` WHERE `ID` IN (9183,9191);
+INSERT INTO `phase_name` (`ID`, `Name`) VALUES
+(9183, 'Cosmetic - See Marshal Everit and Waycrest Guards at Hangmans Point'),
+(9191, 'Cosmetic - See Lucille Waycrest tied up at Hangmans Point');
+
+DELETE FROM `phase_area` WHERE `PhaseId` IN (9183,9191);
+INSERT INTO `phase_area` (`AreaId`, `PhaseId`, `Comment`) VALUES
+(8721, 9183, 'See Marshal Everit and Waycrest Guards at Hangmans Point'),
+(8721, 9191, 'See Lucille Waycrest tied up at Hangmans Point');
+
+DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId`=26 AND `SourceGroup` = 9183 AND `SourceEntry` = 0);
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `Comment`) VALUE
+(26, 9183, 0, 0, 0, 47, 0, 48283, 2|8|64, 0, 0, 'Apply Phase 9183 if Quest 48283 is in progress | complete | rewarded');
+
+-- Gossip
+DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 15) AND (`SourceGroup` IN (21395));
+INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ConditionStringValue1`, `NegativeCondition`, `Comment`) VALUES
+(15, 21395, 0, 0, 0, 47, 0, 48283, 8, 0, '', 0, 'Player for which gossip text is shown has Standing Accused (48283) in state incomplete');
+
+UPDATE `gossip_menu_option` SET `GossipOptionID`=47697, `OptionBroadcastTextID`=38986, `ActionMenuID`=21394, `VerifiedBuild`=60257 WHERE (`MenuID`=21395 AND `OptionID`=0); -- OptionBroadcastTextID: 38986 - 135341
+
+-- Quest
+DELETE FROM `quest_details` WHERE `ID` IN (48283, 48110, 48109);
+INSERT INTO `quest_details` (`ID`, `Emote1`, `Emote2`, `Emote3`, `Emote4`, `EmoteDelay1`, `EmoteDelay2`, `EmoteDelay3`, `EmoteDelay4`, `VerifiedBuild`) VALUES
+(48283, 604, 0, 0, 0, 0, 0, 0, 0, 60257), -- Standing Accused
+(48110, 1, 0, 0, 0, 0, 0, 0, 0, 60257), -- In Case of Ambush
+(48109, 1, 0, 0, 0, 0, 0, 0, 0, 60257); -- The Woods Have Eyes
+
+DELETE FROM `creature_queststarter` WHERE (`id`=125385 AND `quest` IN (48110,48109));
+INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES
+(125385, 48110, 60257), -- In Case of Ambush offered by Marshal Everit Reade
+(125385, 48109, 60257); -- The Woods Have Eyes offered by Marshal Everit Reade
+
+DELETE FROM `creature_questender` WHERE (`id`=125385 AND `quest` IN (48109,48110));
+INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES
+(125385, 48109, 60257), -- The Woods Have Eyes ended by Marshal Everit Reade
+(125385, 48110, 60257); -- In Case of Ambush ended by Marshal Everit Reade
+
+DELETE FROM `quest_template_addon` WHERE `ID` IN (48109, 48110);
+INSERT INTO `quest_template_addon` (`ID`, `MaxLevel`, `AllowableClasses`, `SourceSpellID`, `PrevQuestID`, `NextQuestID`, `ExclusiveGroup`, `BreadcrumbForQuestId`, `RewardMailTemplateID`, `RewardMailDelay`, `RequiredSkillID`, `RequiredSkillPoints`, `RequiredMinRepFaction`, `RequiredMaxRepFaction`, `RequiredMinRepValue`, `RequiredMaxRepValue`, `ProvidedItemCount`, `SpecialFlags`, `ScriptName`) VALUES
+(48109, 0, 0, 0, 48283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''), -- The Woods Have Eyes
+(48110, 0, 0, 0, 48283, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''); -- In Case of Ambush
+
+-- Lucille Waycrest smart ai
+SET @ENTRY := 125380;
+UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = @ENTRY;
+DELETE FROM `smart_scripts` WHERE `source_type` = 0 AND `entryOrGuid` = @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`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `action_param7`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`, `Difficulties`) VALUES
+(@ENTRY, 0, 0, 0, 62, 0, 100, 0, 21395, 0, 0, 0, 0, 85, 250087, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On gossip action 0 from menu 21395 selected - Gossip player: Cast spell 250087 on self', '');
+
+-- Constable Henry Framer smart ai
+SET @ENTRY := 125394;
+UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = @ENTRY;
+DELETE FROM `smart_scripts` WHERE `source_type` = 0 AND `entryOrGuid` = @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`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `action_param7`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`, `Difficulties`) VALUES
+(@ENTRY, 0, 0, 0, 19, 0, 100, 0, 48283, 0, 0, 0, 0, 143, 5665, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On player accepted quest Standing Accused (48283) - Player who accepted quest: Start conversation (5665) Actors<> (first line 12676)', '');
+
+-- Bella smart ai
+SET @ENTRY := 127714;
+UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = @ENTRY;
+DELETE FROM `smart_scripts` WHERE `source_type` = 0 AND `entryOrGuid` = @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`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `action_param7`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`, `Difficulties`) VALUES
+(@ENTRY, 0, 0, 0, 58, 0, 100, 0, 0, 12771400, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On point 0 of path 12771400 ended - Self: Despawn instantly', '');
+
+-- Waycrest Guard smart ai
+SET @ENTRY := 125391;
+UPDATE `creature_template` SET `AIName` = 'SmartAI', `ScriptName` = '' WHERE `entry` = @ENTRY;
+DELETE FROM `smart_scripts` WHERE `source_type` = 0 AND `entryOrGuid` = @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`, `event_param5`, `action_type`, `action_param1`, `action_param2`, `action_param3`, `action_param4`, `action_param5`, `action_param6`, `action_param7`, `target_type`, `target_param1`, `target_param2`, `target_param3`, `target_x`, `target_y`, `target_z`, `target_o`, `comment`, `Difficulties`) VALUES
+(@ENTRY, 0, 0, 0, 58, 0, 100, 0, 0, 12539100, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On point 0 of path 12539100 ended - Self: Despawn instantly', ''),
+(@ENTRY, 0, 1, 0, 58, 0, 100, 0, 0, 12539101, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On point 0 of path 12539101 ended - Self: Despawn instantly', ''),
+(@ENTRY, 0, 2, 0, 58, 0, 100, 0, 0, 12539102, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On point 0 of path 12539102 ended - Self: Despawn instantly', ''),
+(@ENTRY, 0, 3, 0, 58, 0, 100, 0, 0, 12539103, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On point 0 of path 12539103 ended - Self: Despawn instantly', '');
+
+-- Path for Marshal Everit Reade
+SET @ENTRY := 125385;
+SET @PATHOFFSET := 0;
+SET @PATH := @ENTRY * 100 + @PATHOFFSET;
+DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
+(@PATH, 1, 0x0, NULL, 'Marshal Everit Reade - Scripted Path');
+
+DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
+(@PATH, 0, -387.0918, 1306.9834, 20.69838, NULL, 0),
+(@PATH, 1, -387.09723, 1306.9305, 20.669914, 5.33823, 0);
+
+-- Path for Bella
+SET @ENTRY := 127714;
+SET @PATHOFFSET := 0;
+SET @PATH := @ENTRY * 100 + @PATHOFFSET;
+DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
+(@PATH, 1, 0x0, NULL, 'Bella - Scripted Path');
+
+DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
+(@PATH, 0, -384.12848, 1309.283, 20.508945, 5.26045, 0);
+
+-- Path for Waycrest Guard
+SET @ENTRY := 125391;
+SET @PATHOFFSET := 0;
+SET @PATH := @ENTRY * 100 + @PATHOFFSET;
+DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
+(@PATH, 1, 0x0, NULL, 'Waycrest Guard - Scripted Path - GuardThree');
+
+DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
+(@PATH, 0, -386.89062, 1310.4132, 20.258175, 5.30345, 0);
+
+-- Path for Waycrest Guard
+SET @ENTRY := 125391;
+SET @PATHOFFSET := 1;
+SET @PATH := @ENTRY * 100 + @PATHOFFSET;
+DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
+(@PATH, 1, 0x0, NULL, 'Waycrest Guard - Scripted Path - GuardFour');
+
+DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
+(@PATH, 0, -384.3559, 1311.7969, 20.089373, 5.30345, 0);
+
+-- Path for Waycrest Guard
+SET @ENTRY := 125391;
+SET @PATHOFFSET := 2;
+SET @PATH := @ENTRY * 100 + @PATHOFFSET;
+DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
+(@PATH, 1, 0x0, NULL, 'Waycrest Guard - Scripted Path - GuardTwo');
+
+DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
+(@PATH, 0, -389.81946, 1308.6285, 20.479637, 5.30345, 0);
+
+-- Path for Waycrest Guard
+SET @ENTRY := 125391;
+SET @PATHOFFSET := 3;
+SET @PATH := @ENTRY * 100 + @PATHOFFSET;
+DELETE FROM `waypoint_path` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path` (`PathId`, `MoveType`, `Flags`, `Velocity`, `Comment`) VALUES
+(@PATH, 1, 0x0, NULL, 'Waycrest Guard - Scripted Path - GuardOne');
+
+DELETE FROM `waypoint_path_node` WHERE `PathId`= @PATH;
+INSERT INTO `waypoint_path_node` (`PathId`, `NodeId`, `PositionX`, `PositionY`, `PositionZ`, `Orientation`, `Delay`) VALUES
+(@PATH, 0, -392.41666, 1307.1267, 20.937431, 5.30345, 0);
diff --git a/src/server/scripts/KulTiras/Drustvar/drustvar_chapter_2_the_burden_of_proof.cpp b/src/server/scripts/KulTiras/Drustvar/drustvar_chapter_2_the_burden_of_proof.cpp
new file mode 100644
index 00000000000..60a9c5d3a76
--- /dev/null
+++ b/src/server/scripts/KulTiras/Drustvar/drustvar_chapter_2_the_burden_of_proof.cpp
@@ -0,0 +1,109 @@
+/*
+ * This file is part of the TrinityCore Project. See AUTHORS file for Copyright information
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "Conversation.h"
+#include "ConversationAI.h"
+#include "CreatureAIImpl.h"
+#include "MotionMaster.h"
+#include "PhasingHandler.h"
+#include "ScriptMgr.h"
+#include "ScriptedCreature.h"
+#include "TemporarySummon.h"
+
+enum StandingAccusedData
+{
+ NPC_STANDING_ACCUESED_BELLA = 127714,
+ NPC_STANDING_ACCUSED_GUARD = 125391,
+ NPC_STANDING_ACCUSED_MARSHAL = 125385,
+
+ PATH_MARSHAL_EVERITE_READE_INTRO = 12538500,
+ PATH_BELLA_INTRO = 12771400,
+ PATH_WAYCREST_GUARD_ONE_INTRO = 12539103,
+ PATH_WAYCREST_GUARD_TWO_INTRO = 12539102,
+ PATH_WAYCREST_GUARD_THREE_INTRO = 12539100,
+ PATH_WAYCREST_GUARD_FOUR_INTRO = 12539101
+};
+
+// 5665 - Conversation
+class conversation_guards_intro_standing_accused : public ConversationAI
+{
+public:
+ using ConversationAI::ConversationAI;
+
+ static constexpr Position BellaIntroSpawnPos = { -390.261f, 1360.479f, 21.509799f, 5.260458f };
+ static constexpr Position MarshalIntroSpawnPos = { -392.267f, 1356.739f, 22.34238f, 5.33823f };
+ static constexpr Position GuardOneIntroSpawnPos = { -402.040f, 1362.930f, 23.69840f, 5.30345f };
+ static constexpr Position GuardTwoIntroSpawnPos = { -398.108f, 1363.3499f, 22.9922f, 5.30345f };
+ static constexpr Position GuardThreeIntroSpawnPos = { -390.244f, 1365.810f, 22.76930f, 5.30345f };
+ static constexpr Position GuardFourIntroSpawnPos = { -386.5169f, 1368.359f, 22.89900f, 5.30345f };
+
+ enum ConversationStandingAccusedIntroData
+ {
+ CONVO_ACTOR_MARSHAL_EVERIT_READE = 61576
+ };
+
+ static TempSummon* SummonPersonalCloneFromClosestCreatureWithOptions(Unit* creator, FindCreatureOptions const& options, Position const& position)
+ {
+ if (Creature* creature = GetClosestCreatureWithOptions(creator, 50.0f, options))
+ return creature->SummonPersonalClone(position, TEMPSUMMON_MANUAL_DESPAWN, 0s, 0, 0, creator->ToPlayer());
+ return nullptr;
+ }
+
+ void OnCreate(Unit* creator) override
+ {
+ if (TempSummon* marshalClone = SummonPersonalCloneFromClosestCreatureWithOptions(creator, { .CreatureId = NPC_STANDING_ACCUSED_MARSHAL, .IgnorePhases = true }, MarshalIntroSpawnPos))
+ {
+ marshalClone->GetMotionMaster()->MovePath(PATH_MARSHAL_EVERITE_READE_INTRO, false);
+
+ conversation->AddActor(CONVO_ACTOR_MARSHAL_EVERIT_READE, 2, marshalClone->GetGUID());
+ conversation->Start();
+ }
+
+ if (TempSummon* bellaClone = SummonPersonalCloneFromClosestCreatureWithOptions(creator, { .CreatureId = NPC_STANDING_ACCUESED_BELLA, .IgnorePhases = true }, BellaIntroSpawnPos))
+ bellaClone->GetMotionMaster()->MovePath(PATH_BELLA_INTRO, false);
+
+ if (TempSummon* guardClone = SummonPersonalCloneFromClosestCreatureWithOptions(creator, { .CreatureId = NPC_STANDING_ACCUSED_GUARD, .StringId = "GuardOne", .IgnorePhases = true }, GuardOneIntroSpawnPos))
+ guardClone->GetMotionMaster()->MovePath(PATH_WAYCREST_GUARD_ONE_INTRO, false);
+
+ if (TempSummon* guardClone = SummonPersonalCloneFromClosestCreatureWithOptions(creator, { .CreatureId = NPC_STANDING_ACCUSED_GUARD, .StringId = "GuardTwo", .IgnorePhases = true }, GuardTwoIntroSpawnPos))
+ guardClone->GetMotionMaster()->MovePath(PATH_WAYCREST_GUARD_TWO_INTRO, false);
+
+ if (TempSummon* guardClone = SummonPersonalCloneFromClosestCreatureWithOptions(creator, { .CreatureId = NPC_STANDING_ACCUSED_GUARD, .StringId = "GuardThree", .IgnorePhases = true }, GuardThreeIntroSpawnPos))
+ guardClone->GetMotionMaster()->MovePath(PATH_WAYCREST_GUARD_THREE_INTRO, false);
+
+ if (TempSummon* guardClone = SummonPersonalCloneFromClosestCreatureWithOptions(creator, { .CreatureId = NPC_STANDING_ACCUSED_GUARD, .StringId = "GuardFour", .IgnorePhases = true }, GuardFourIntroSpawnPos))
+ guardClone->GetMotionMaster()->MovePath(PATH_WAYCREST_GUARD_FOUR_INTRO, false);
+
+ PhasingHandler::OnConditionChange(creator);
+ }
+
+ void OnStart() override
+ {
+ conversation->m_Events.AddEvent([conversation = conversation]()
+ {
+ if (Creature* marshalClone = conversation->GetActorCreature(2))
+ marshalClone->DespawnOrUnsummon();
+
+ }, conversation->GetLastLineEndTime(conversation->GetPrivateObjectOwnerLocale()));
+ }
+};
+
+void AddSC_drustvar_chapter_2_the_burden_of_proof()
+{
+ // Conversation
+ RegisterConversationAI(conversation_guards_intro_standing_accused);
+}
diff --git a/src/server/scripts/KulTiras/kultiras_script_loader.cpp b/src/server/scripts/KulTiras/kultiras_script_loader.cpp
index a59e05d6ccb..05b6a43fc2d 100644
--- a/src/server/scripts/KulTiras/kultiras_script_loader.cpp
+++ b/src/server/scripts/KulTiras/kultiras_script_loader.cpp
@@ -21,6 +21,7 @@ void AddSC_zone_boralus();
// Drustvar
void AddSC_drustvar_chapter_1_the_final_effigy();
+void AddSC_drustvar_chapter_2_the_burden_of_proof();
// Shrine of the Storm
void AddSC_boss_aqusirr();
@@ -41,6 +42,7 @@ void AddKulTirasScripts()
// Drustvar
AddSC_drustvar_chapter_1_the_final_effigy();
+ AddSC_drustvar_chapter_2_the_burden_of_proof();
// Shrine of the Storm
AddSC_boss_aqusirr();