diff options
3 files changed, 298 insertions, 0 deletions
diff --git a/sql/updates/world/master/2024_12_29_01_world.sql b/sql/updates/world/master/2024_12_29_01_world.sql new file mode 100644 index 00000000000..65e06894e81 --- /dev/null +++ b/sql/updates/world/master/2024_12_29_01_world.sql @@ -0,0 +1,178 @@ +SET @CGUID := 10005011; +SET @NPCTEXTID := 600069; + +-- Creature +DELETE FROM `creature` WHERE `guid` BETWEEN @CGUID+0 AND @CGUID+1; +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, 223923, 2552, 14717, 14717, '0', 23673, 0, 0, 0, 568.5399169921875, -1205.8992919921875, 2.48101663589477539, 1.82973647117614746, 120, 0, 0, 0, NULL, NULL, NULL, NULL, 57689), -- Natalia Pearce (Area: Isle of Dorn - Difficulty: 0) CreateObject1 +(@CGUID+1, 223924, 2552, 14717, 14717, '0', 23674, 0, 0, 0, 606.951416015625, -1231.859375, -2.37935256958007812, 5.465282917022705078, 120, 0, 0, 0, NULL, NULL, NULL, NULL, 57689); -- Natalia Pearce (Area: Isle of Dorn - Difficulty: 0) CreateObject1 + +-- Template +UPDATE `creature_template` SET `faction`=35, `npcflag`=3, `BaseAttackTime`=2000, `unit_flags`=0x300, `unit_flags2`=0x800 WHERE `entry`=223923; -- Natalia Pearce +UPDATE `creature_template` SET `faction`=35, `npcflag`=2, `BaseAttackTime`=2000, `unit_flags`=0x300, `unit_flags2`=0x800 WHERE `entry`=223924; -- Natalia Pearce + +-- Conversation +DELETE FROM `conversation_template` WHERE `Id` IN (25586,25590); +INSERT INTO `conversation_template` (`Id`, `FirstLineID`, `TextureKitId`, `VerifiedBuild`) VALUES +(25586, 69573, 0, 57689), +(25590, 69579, 0, 57689); + +UPDATE `conversation_template` SET `ScriptName` = 'conversation_natalia_pearces_accept_precious_gems' WHERE `Id` = 25586; +UPDATE `conversation_template` SET `ScriptName` = 'conversation_natalia_pearces_complete_precious_gems' WHERE `Id` = 25590; + +DELETE FROM `conversation_actors` WHERE (`ConversationId`=25586 AND `Idx` = 0) OR (`ConversationId`=25590 AND `Idx` IN (0,1)); +INSERT INTO `conversation_actors` (`ConversationId`, `ConversationActorId`, `Idx`, `CreatureId`, `CreatureDisplayInfoId`, `NoActorObject`, `ActivePlayerObject`, `VerifiedBuild`) VALUES +(25586, 99047, 0, 0, 0, 0, 0, 57689), -- Full: 0x20197D3F00DA6540001389000050CAC8 Creature/0 R1631/S5001 Map: 2552 (Khaz Algar (Surface)) Entry: 223637 (Natalia Pearce) Low: 5294792 +(25590, 99215, 0, 0, 0, 0, 0, 57689), -- Full: 0x2042313F00DAAD000064D40000531CDF Creature/0 R4236/S25812 Map: 2552 (Khaz Algar (Surface)) Entry: 223924 (Natalia Pearce) Low: 5446879 +(25590, 0, 1, 0, 0, 0, 1, 57689); -- Full: 0x0800040000000000FFFFFFFFFFFFFFFF Player/0 R1/S16777215 Map: 0 (Eastern Kingdoms) Low: 1099511627775 + +DELETE FROM `conversation_line_template` WHERE `Id` IN (69573, 69584, 69583, 69581, 69580, 69579); +INSERT INTO `conversation_line_template` (`Id`, `UiCameraID`, `ActorIdx`, `Flags`, `ChatType`, `VerifiedBuild`) VALUES +(69573, 0, 0, 0, 0, 57689), +(69584, 0, 0, 0, 0, 57689), +(69583, 0, 1, 0, 0, 57689), +(69581, 0, 0, 0, 0, 57689), +(69580, 0, 1, 0, 0, 57689), +(69579, 0, 0, 0, 0, 57689); + +-- Phase +DELETE FROM `phase_name` WHERE `ID` = 23674; +INSERT INTO `phase_name` (`ID`, `Name`) VALUES +(23674, 'Cosmetic - See Natalia Pearces inside the Basalteous cave'); + +DELETE FROM `phase_area` WHERE `PhaseId` = 23674; +INSERT INTO `phase_area` (`AreaId`, `PhaseId`, `Comment`) VALUES +(14717, 23674, 'See Natalia Pearces inside the Basalteous cave'); + +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId`=26 AND `SourceGroup` IN (23673,23674) AND `SourceEntry` = 0); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `NegativeCondition`, `Comment`) VALUE +(26, 23673, 0, 0, 0, 47, 0, 82465, 8, 0, 0, 'Apply Phase 23673 if Quest 82465 is taken'), +(26, 23674, 0, 0, 0, 47, 0, 82465, 2|64, 0, 0, 'Apply Phase 23674 if Quest 82465 is complete | rewarded'); + +-- Gossip +DELETE FROM `creature_template_gossip` WHERE (`CreatureID`=223923 AND `MenuID`=34984); +INSERT INTO `creature_template_gossip` (`CreatureID`, `MenuID`, `VerifiedBuild`) VALUES +(223923, 34984, 57689); -- Natalia Pearce + +DELETE FROM `npc_text` WHERE `ID` BETWEEN @NPCTEXTID+0 AND @NPCTEXTID+0; +INSERT INTO `npc_text` (`ID`, `Probability0`, `Probability1`, `Probability2`, `Probability3`, `Probability4`, `Probability5`, `Probability6`, `Probability7`, `BroadcastTextId0`, `BroadcastTextId1`, `BroadcastTextId2`, `BroadcastTextId3`, `BroadcastTextId4`, `BroadcastTextId5`, `BroadcastTextId6`, `BroadcastTextId7`, `VerifiedBuild`) VALUES +(@NPCTEXTID+0, 1, 0, 0, 0, 0, 0, 0, 0, 264643, 0, 0, 0, 0, 0, 0, 0, 57689); -- 223923 (Natalia Pearce) + +DELETE FROM `gossip_menu` WHERE (`MenuID`=34984 AND `TextID`=@NPCTEXTID+0); +INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES +(34984, @NPCTEXTID+0, 57689); -- 223923 (Natalia Pearce) + +DELETE FROM `gossip_menu_option` WHERE (`MenuID`=34984 AND `OptionID`=0); +INSERT INTO `gossip_menu_option` (`MenuID`, `GossipOptionID`, `OptionID`, `OptionNpc`, `OptionText`, `OptionBroadcastTextID`, `Language`, `Flags`, `ActionMenuID`, `ActionPoiID`, `GossipNpcOptionID`, `BoxCoded`, `BoxMoney`, `BoxText`, `BoxBroadcastTextID`, `SpellID`, `OverrideIconID`, `VerifiedBuild`) VALUES +(34984, 122493, 0, 0, 'After you.', 0, 0, 1, 0, 0, NULL, 0, 0, NULL, 0, NULL, NULL, 57689); + +DELETE FROM `conditions` WHERE (`SourceTypeOrReferenceId` = 15) AND (`SourceGroup` IN (34984)); +INSERT INTO `conditions` (`SourceTypeOrReferenceId`, `SourceGroup`, `SourceEntry`, `SourceId`, `ElseGroup`, `ConditionTypeOrReference`, `ConditionTarget`, `ConditionValue1`, `ConditionValue2`, `ConditionValue3`, `ConditionStringValue1`, `NegativeCondition`, `Comment`) VALUES +(15, 34984, 0, 0, 0, 9, 0, 82465, 0, 0, '', 0, 'Player for which gossip text is shown has quest Precious Gems (82465) active'); + +-- Quest +DELETE FROM `creature_queststarter` WHERE (`id`=223924 AND `quest`=82466); +INSERT INTO `creature_queststarter` (`id`, `quest`, `VerifiedBuild`) VALUES +(223924, 82466, 57689); -- What We Do For Gems offered by Natalia Pearce + +DELETE FROM `creature_questender` WHERE (`id`=223924 AND `quest`=82465); +INSERT INTO `creature_questender` (`id`, `quest`, `VerifiedBuild`) VALUES +(223924, 82465, 57689); -- Precious Gems ended by Natalia Pearce + +DELETE FROM `quest_objectives_completion_effect` WHERE `ObjectiveID` = 450025; +INSERT INTO `quest_objectives_completion_effect` (`ObjectiveID`, `GameEventID`, `SpellID`, `ConversationID`, `UpdatePhaseShift`, `UpdateZoneAuras`) VALUES +(450025, NULL, NULL, NULL, 1, 0); + +DELETE FROM `quest_template_addon` WHERE `ID` = 82466; +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 +(82466, 0, 0, 0, 82465, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, ''); -- What We Do For Gems + +-- Difficulty +UPDATE `creature_template_difficulty` SET `ContentTuningID`=2797, `StaticFlags1`=0x10000000, `VerifiedBuild`=57689 WHERE (`Entry`=223924 AND `DifficultyID`=0); -- 223924 (Natalia Pearce) - CanSwim +UPDATE `creature_template_difficulty` SET `ContentTuningID`=2797, `StaticFlags1`=0x10000000, `VerifiedBuild`=57689 WHERE (`Entry`=223923 AND `DifficultyID`=0); -- 223923 (Natalia Pearce) - CanSwim + +-- Natalia Pearce smart ai +SET @ENTRY := 223637; +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, 82465, 0, 0, 0, 0, 143, 25586, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On player accepted quest Precious Gems (82465) - Player who accepted quest: Start conversation 25586', ''), +(@ENTRY, 0, 1, 0, 40, 0, 100, 0, 1, 22363700, 0, 0, 0, 41, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On wapoint 1 of path 22363700 reached - Self: Despawn in 2 s', ''); + +-- Natalia Pearce smart ai +SET @ENTRY := 223923; +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, 1, 62, 0, 100, 0, 34984, 0, 0, 0, 0, 33, 223923, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On gossip action 0 from menu 34984 selected - Gossip player: Give kill credit Natalia Pearce (223923)', ''), +(@ENTRY, 0, 1, 2, 61, 0, 100, 0, 0, 0, 0, 0, 0, 72, 0, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On gossip action 0 from menu 34984 selected - Gossip player: Close gossip', ''), +(@ENTRY, 0, 2, 0, 61, 0, 100, 0, 0, 0, 0, 0, 0, 143, 25590, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 'On gossip action 0 from menu 34984 selected - Gossip player: Start conversation (25590) Actors<> (first line 69579)', ''); + +-- Natalia Pearce smart ai +SET @ENTRY := 223924; +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, 19, 22392400, 0, 0, 0, 53, 0, 22392401, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On waypoint 19 of path 22392400 ended - Self: Start path #22392401, walk, do not repeat, Passive', ''), +(@ENTRY, 0, 1, 0, 58, 0, 100, 0, 0, 22392401, 0, 0, 0, 41, 2000, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 'On any waypoint of path 22392401 ended - Self: Despawn in 2 s', ''); + +-- Path for Natalia Pearce +SET @ENTRY := 223637; +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, 'Natalia Pearce - 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, 1161.875, -2005.408, 80.17253, NULL, 0), +(@PATH, 1, 1165.0295, -1991.0452, 80.59499, NULL, 0), +(@PATH, 2, 1165.3923, -1984.4323, 80.73431, NULL, 0), +(@PATH, 3, 1165.191, -1978.092, 80.491325, NULL, 0), +(@PATH, 4, 1165.7305, -1974.1309, 80.28405, NULL, 0), +(@PATH, 5, 1166.1348, -1971.1602, 80.06721, NULL, 0), +(@PATH, 6, 1166.1666, -1970.941, 80.04346, NULL, 0); + +-- Path for Natalia Pearce (run) +SET @ENTRY := 223924; +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, 'Natalia Pearce - 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, 573.13086, -1204.5195, 1.5434456, NULL, 0), +(@PATH, 1, 574.1289, -1204.4609, 1.3652716, NULL, 0), +(@PATH, 2, 574.8262, -1204.416, 1.3652716, NULL, 0), +(@PATH, 3, 575.1992, -1204.4395, 1.1621518, NULL, 0), +(@PATH, 4, 576.55914, -1203.9913, 1.2641888, NULL, 0), +(@PATH, 5, 577.2599, -1203.7604, 1.1122702, NULL, 0), +(@PATH, 6, 578.23956, -1203.4375, 1.4185454, NULL, 0), +(@PATH, 7, 578.4873, -1203.7229, 1.6263658, NULL, 0), +(@PATH, 8, 579.9707, -1205.432, 2.4789832, NULL, 0), +(@PATH, 9, 580.4241, -1205.9543, 2.5559785, NULL, 0), +(@PATH, 10, 581.66205, -1207.3807, 3.2729156, NULL, 0), +(@PATH, 11, 581.8108, -1207.5521, 3.2960181, NULL, 0), +(@PATH, 12, 582.42993, -1208.5288, 3.5478327, NULL, 0), +(@PATH, 13, 582.9775, -1209.3926, 3.8676937, NULL, 0), +(@PATH, 14, 583.25854, -1209.8359, 3.8548698, NULL, 0), +(@PATH, 15, 585.0303, -1212.6307, 4.1777277, NULL, 0), +(@PATH, 16, 585.8515, -1213.9263, 3.8800235, NULL, 0), +(@PATH, 17, 586.125, -1214.3577, 3.8656776, NULL, 0), +(@PATH, 18, 589.6389, -1221.2135, 1.5684685, NULL, 0), +(@PATH, 19, 594.40454, -1230.3663, -0.9916396, NULL, 0); + +-- Path for Natalia Pearce (walk) +SET @ENTRY := 223924; +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, 0, 0x0, NULL, 'Natalia Pearce - 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, 606.9514, -1231.8594, -2.349821, NULL, 0); diff --git a/src/server/scripts/KhazAlgar/IsleOfDorn/zone_isle_of_dorn.cpp b/src/server/scripts/KhazAlgar/IsleOfDorn/zone_isle_of_dorn.cpp new file mode 100644 index 00000000000..fd206d7fef8 --- /dev/null +++ b/src/server/scripts/KhazAlgar/IsleOfDorn/zone_isle_of_dorn.cpp @@ -0,0 +1,114 @@ +/* + * 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 "Containers.h" +#include "Conversation.h" +#include "ConversationAI.h" +#include "CreatureAIImpl.h" +#include "MotionMaster.h" +#include "ObjectAccessor.h" +#include "ScriptMgr.h" +#include "ScriptedCreature.h" +#include "TemporarySummon.h" + +enum PreciousGemsData +{ + NPC_NATALIA_PEARCES_FREYWOLD = 223637, + NPC_NATALIA_PEARCES_INSIDE_BASALTEOUS = 223924, + + CONVO_ACTOR_NATALIA_FREYWOLD = 99047, + CONVO_ACTOR_NATALIA_BASALTEOUS_CAVE = 99215, + + PATH_NATALIA_CLONE_FREYWOLD = 22363700, + PATH_NATALIA_CLONE_BASALTEOUS_CAVE = 22392400 +}; + +// 25586 - Conversation +class conversation_natalia_pearces_accept_precious_gems : public ConversationAI +{ +public: + conversation_natalia_pearces_accept_precious_gems(Conversation* conversation) : ConversationAI(conversation) { } + + enum ConversationPreciousGemsIntro + { + EVENT_NATALIA_START_INTRO_PATH = 1 + }; + + void OnCreate(Unit* creator) override + { + Creature* nataliaObject = GetClosestCreatureWithOptions(creator, 10.0f, { .CreatureId = NPC_NATALIA_PEARCES_FREYWOLD, .IgnorePhases = true }); + if (!nataliaObject) + return; + + TempSummon* nataliaClone = nataliaObject->SummonPersonalClone(nataliaObject->GetPosition(), TEMPSUMMON_MANUAL_DESPAWN, 0s, 0, 0, creator->ToPlayer()); + if (!nataliaClone) + return; + + nataliaClone->RemoveNpcFlag(NPCFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + + conversation->AddActor(CONVO_ACTOR_NATALIA_FREYWOLD, 0, nataliaClone->GetGUID()); + conversation->Start(); + } + + void OnStart() override + { + LocaleConstant privateOwnerLocale = conversation->GetPrivateObjectOwnerLocale(); + + conversation->m_Events.AddEvent([this]() + { + Creature* nataliaClone = conversation->GetActorCreature(0); + if (!nataliaClone) + return; + + nataliaClone->GetMotionMaster()->MovePath(PATH_NATALIA_CLONE_FREYWOLD, false); + }, conversation->GetLastLineEndTime(privateOwnerLocale)); + } +}; + +constexpr Position NataliaSpawnPos = { 568.539f, -1205.899f, 2.48101f, 1.82973f }; + +// 25590 - Conversation +class conversation_natalia_pearces_complete_precious_gems : public ConversationAI +{ +public: + conversation_natalia_pearces_complete_precious_gems(Conversation* conversation) : ConversationAI(conversation) { } + + void OnCreate(Unit* creator) override + { + Creature* nataliaObject = GetClosestCreatureWithOptions(creator, 60.0f, { .CreatureId = NPC_NATALIA_PEARCES_INSIDE_BASALTEOUS, .IgnorePhases = true }); + if (!nataliaObject) + return; + + TempSummon* nataliaClone = nataliaObject->SummonPersonalClone(NataliaSpawnPos, TEMPSUMMON_MANUAL_DESPAWN, 0s, 0, 0, creator->ToPlayer()); + if (!nataliaClone) + return; + + nataliaClone->RemoveNpcFlag(NPCFlags(UNIT_NPC_FLAG_GOSSIP | UNIT_NPC_FLAG_QUESTGIVER)); + nataliaClone->SetUnitFlag(UnitFlags(UNIT_FLAG_UNINTERACTIBLE)); + nataliaClone->GetMotionMaster()->MovePath(PATH_NATALIA_CLONE_BASALTEOUS_CAVE, false); + + conversation->AddActor(CONVO_ACTOR_NATALIA_BASALTEOUS_CAVE, 0, nataliaClone->GetGUID()); + conversation->Start(); + } +}; + +void AddSC_zone_isle_of_dorn() +{ + // Conversation + RegisterConversationAI(conversation_natalia_pearces_accept_precious_gems); + RegisterConversationAI(conversation_natalia_pearces_complete_precious_gems); +} diff --git a/src/server/scripts/KhazAlgar/khaz_algar_script_loader.cpp b/src/server/scripts/KhazAlgar/khaz_algar_script_loader.cpp index d67f17a6373..f1d0e6698c8 100644 --- a/src/server/scripts/KhazAlgar/khaz_algar_script_loader.cpp +++ b/src/server/scripts/KhazAlgar/khaz_algar_script_loader.cpp @@ -16,6 +16,9 @@ */ // This is where scripts' loading functions should be declared: +// Zone Isle Of Dorn +void AddSC_zone_isle_of_dorn(); + // Nerub'ar Palace void AddSC_instance_nerubar_palace(); void AddSC_boss_ulgrax_the_devourer(); @@ -24,6 +27,9 @@ void AddSC_boss_ulgrax_the_devourer(); // void Add${NameOfDirectory}Scripts() void AddKhazAlgarScripts() { + // Zone Isle of Dorn + AddSC_zone_isle_of_dorn(); + // Nerub'ar Palace AddSC_instance_nerubar_palace(); AddSC_boss_ulgrax_the_devourer(); |
