aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoroffl <offl@users.noreply.github.com>2020-06-14 17:52:12 +0200
committerKillyana <morphone1@gmail.com>2020-06-14 17:52:12 +0200
commite47f302fc95d4e3f4d16b19950ce6172b549b166 (patch)
tree8ab2787e5be72028a34efcc19604453b732018f7
parent7b11610fb7f4e54bb1a54b15d9ff2ac2c648b2c7 (diff)
DB/Quest: Convert & update support for 'Escape from the Catacombs' to SAI
Closes #24728
-rw-r--r--sql/updates/world/3.3.5/2020_06_14_03_world.sql122
-rw-r--r--src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp4
-rw-r--r--src/server/scripts/EasternKingdoms/zone_ghostlands.cpp149
3 files changed, 124 insertions, 151 deletions
diff --git a/sql/updates/world/3.3.5/2020_06_14_03_world.sql b/sql/updates/world/3.3.5/2020_06_14_03_world.sql
new file mode 100644
index 00000000000..b0c8f7515d4
--- /dev/null
+++ b/sql/updates/world/3.3.5/2020_06_14_03_world.sql
@@ -0,0 +1,122 @@
+-- Ranger Lilatha SAI (Source: CMaNGOS & nHRPUGtQ23s)
+SET @ID := 16295;
+UPDATE `creature_template` SET `AIName` = "SmartAI", `ScriptName` = "", `gossip_menu_id`=7197, `npcflag`=3 WHERE `entry` = @ID;
+DELETE FROM `gossip_menu` WHERE `MenuID`=7197;
+INSERT INTO `gossip_menu` (`MenuID`, `TextID`, `VerifiedBuild`) VALUES
+(7197, 8478, 0);
+DELETE FROM `smart_scripts` WHERE `entryorguid` = @ID 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`,`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
+(@ID,0,0,1,11,0,100,0,0,0,0,0,0,90,8,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Respawn - Set Flag Standstate Kneel"),
+(@ID,0,1,0,61,0,100,0,0,0,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Link - Set Event Phase 1"),
+(@ID,0,2,0,19,0,100,0,9212,0,0,0,0,80,@ID*100+0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Quest 'Escape from the Catacombs' Taken - Run Script"),
+(@ID,0,3,0,40,0,100,0,6,0,0,0,0,80,@ID*100+1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Waypoint 6 Reached - Run Script"),
+(@ID,0,4,0,40,0,100,0,12,0,0,0,0,80,@ID*100+2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Waypoint 12 Reached - Run Script"),
+(@ID,0,5,0,40,0,100,0,20,0,0,0,0,80,@ID*100+3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Waypoint 20 Reached - Run Script"),
+(@ID,0,6,0,40,0,100,0,25,0,0,0,0,80,@ID*100+4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Waypoint 25 Reached - Run Script"),
+(@ID,0,7,0,40,0,100,0,31,0,0,0,0,80,@ID*100+5,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Waypoint 31 Reached - Run Script"),
+-- Seems like a rare case or should be tested in retail
+-- Or I wasn't able to find more info about it because the AT is huge and the say range is small
+-- so player simply can't see the text in 90% of cases
+(@ID,0,8,0,38,1,100,0,0,1,60000,60000,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Data Set 0 1 - Say Line 6 (Phase 1)"),
+(@ID,0,9,0,6,0,100,0,0,0,0,0,0,6,9212,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Ranger Lilatha - On Death - Fail Quest 'Escape from the Catacombs'");
+
+-- Actionlist SAI
+DELETE FROM `smart_scripts` WHERE `entryorguid` BETWEEN @ID*100+0 AND @ID*100+5 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
+(@ID*100+0,9,0,0,0,0,100,0,0,0,0,0,0,64,1,0,0,0,0,0,16,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Store Targetlist"),
+(@ID*100+0,9,1,0,0,0,100,0,0,0,0,0,0,22,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Set Event Phase 0"),
+(@ID*100+0,9,2,0,0,0,100,0,0,0,0,0,0,83,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Remove NPC Flags Gossip & Questgiver"),
+(@ID*100+0,9,3,0,0,0,100,0,0,0,0,0,0,2,1603,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Set Faction 1603"),
+(@ID*100+0,9,4,0,0,0,100,0,0,0,0,0,0,19,768,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Remove Flags Immune To Players & Immune To NPC's"),
+(@ID*100+0,9,5,0,0,0,100,0,2000,2000,0,0,0,91,8,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Remove Flag Standstate Kneel"),
+(@ID*100+0,9,6,0,0,0,100,0,0,0,0,0,0,9,0,0,0,0,0,0,20,181152,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Activate Closest Gameobject (Cage)"),
+(@ID*100+0,9,7,0,0,0,100,0,0,0,0,0,0,1,0,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Say Line 0"),
+(@ID*100+0,9,8,0,0,0,100,0,2000,2000,0,0,0,53,0,16295,0,0,0,2,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Start Waypoint"),
+
+(@ID*100+1,9,0,0,0,0,100,0,0,0,0,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Pause Waypoint"),
+(@ID*100+1,9,1,0,0,0,100,0,0,0,0,0,0,1,1,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Say Line 1"),
+
+(@ID*100+2,9,0,0,0,0,100,0,0,0,0,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Pause Waypoint"),
+(@ID*100+2,9,1,0,0,0,100,0,0,0,0,0,0,66,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4.762841,"Ranger Lilatha - On Script - Set Orientation"),
+(@ID*100+2,9,2,0,0,0,100,0,0,0,0,0,0,1,2,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Say Line 2"),
+
+(@ID*100+3,9,0,0,0,0,100,0,0,0,0,0,0,54,4000,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Pause Waypoint"),
+(@ID*100+3,9,1,0,0,0,100,0,0,0,0,0,0,1,3,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Say Line 3"),
+(@ID*100+3,9,2,0,0,0,100,0,0,0,0,0,0,59,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Set Run On"),
+(@ID*100+3,9,3,0,0,0,100,0,0,0,0,0,0,107,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Summon Group 0"),
+
+(@ID*100+4,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,"Ranger Lilatha - On Script - Set Run Off"),
+
+(@ID*100+5,9,0,0,0,0,100,0,0,0,0,0,0,54,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Pause Waypoint"),
+(@ID*100+5,9,1,0,0,0,100,0,0,0,0,0,0,1,4,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Say Line 4"),
+(@ID*100+5,9,2,0,0,0,100,0,0,0,0,0,0,66,0,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Set Orientation Stored Target 1"),
+(@ID*100+5,9,3,0,0,0,100,0,5000,5000,0,0,0,1,5,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Say Line 5"),
+(@ID*100+5,9,4,0,0,0,100,0,0,0,0,0,0,66,0,0,0,0,0,0,19,16220,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Set Orientation Closest Creature (Captain Helios)"),
+(@ID*100+5,9,5,0,0,0,100,0,0,0,0,0,0,15,9212,0,0,0,0,0,12,1,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Quest Credit 'Escape from the Catacombs'"),
+(@ID*100+5,9,6,0,0,0,100,0,2000,2000,0,0,0,1,0,0,0,0,0,0,19,16220,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Say Line 0 (Captain Helios)"),
+(@ID*100+5,9,7,0,0,0,100,0,3000,3000,0,0,0,1,1,0,0,0,0,0,19,16220,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Say Line 1 (Captain Helios)"),
+(@ID*100+5,9,8,0,0,0,100,0,8000,8000,0,0,0,41,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,"Ranger Lilatha - On Script - Despawn (0)");
+
+DELETE FROM `smart_scripts` WHERE `entryorguid` = 4071 AND `source_type` = 2;
+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
+(4071,2,0,0,46,0,100,0,4071,0,0,0,0,45,0,1,0,0,0,0,10,82071,16295,0,0,0,0,0,0,"Areatrigger - On Trigger - Set Data 0 1 (Ranger Lilatha)");
+
+DELETE FROM `areatrigger_scripts` WHERE `entry` = 4071;
+INSERT INTO `areatrigger_scripts` (`entry`,`ScriptName`) VALUES
+(4071,"SmartTrigger");
+
+UPDATE `creature_text` SET `BroadcastTextId` = 12393, `Language` = 1 WHERE `CreatureID` = 16295 AND `GroupID` = 0;
+UPDATE `creature_text` SET `comment` = "Ranger Lilatha" WHERE `CreatureID` = 16295;
+DELETE FROM `creature_text` WHERE `CreatureID` = 16295 AND `GroupID` = 6;
+DELETE FROM `creature_text` WHERE `CreatureID` = 16220;
+INSERT INTO `creature_text` (`CreatureID`,`GroupID`,`ID`,`Text`,`Type`,`Language`,`Probability`,`Emote`,`Duration`,`Sound`,`BroadcastTextId`,`TextRange`,`comment`) VALUES
+(@ID,6,0,"Hey! Could you come over and get me out of this cage?",12,1,100,0,0,0,13382,0,"Ranger Lilatha"),
+(@ID,6,1,"HELP!!!",12,1,100,0,0,0,13383,0,"Ranger Lilatha"),
+(@ID,6,2,"Get me out of here and I guarantee there'll be a reward in it for you!",12,1,100,0,0,0,13384,0,"Ranger Lilatha"),
+(@ID,6,3,"Quick, kill all of these trolls and then let me out of this thing!",12,1,100,0,0,0,13385,0,"Ranger Lilatha"),
+(@ID,6,4,"If you let me out I promise that you won't regret it!",12,1,100,0,0,0,13386,0,"Ranger Lilatha"),
+(@ID,6,5,"If you don't mind hurrying it up? I think they're getting ready to sacrifice me!",12,1,100,0,0,0,13387,0,"Ranger Lilatha"),
+(16220,0,0,"%s nods in relief to Ranger Lilatha and her escort.",16,0,100,0,0,0,12192,0,"Captain Helios"),
+(16220,1,0,"Lilatha, get someone to look at those injuries. Thank you for bringing her back safely.",12,1,100,0,0,0,12193,0,"Captain Helios");
+
+DELETE FROM `creature_summon_groups` WHERE `summonerId` = @ID;
+INSERT INTO `creature_summon_groups` (`summonerId`,`summonerType`,`groupId`,`entry`,`position_x`,`position_y`,`position_z`,`orientation`,`summonType`,`summonTime`) VALUES
+(@ID,0,0,16342,7627.083984,-7532.538086,152.128616,1.082733,6,60000),
+(@ID,0,0,16343,7620.432129,-7532.550293,152.454865,0.827478,6,60000);
+
+UPDATE `creature_template_addon` SET `bytes1` = 0 WHERE `entry` = 16295;
+
+DELETE FROM `script_waypoint` WHERE `entry` = 16295;
+DELETE FROM `waypoints` WHERE `entry` = 16295;
+INSERT INTO `waypoints` (`entry`,`pointid`,`position_x`,`position_y`,`position_z`,`point_comment`) VALUES
+(16295,1,7545.07,-7359.87,162.354,"Ranger Lilatha"),
+(16295,2,7550.05,-7362.24,162.236,"Ranger Lilatha"),
+(16295,3,7566.98,-7364.32,161.739,"Ranger Lilatha"),
+(16295,4,7578.83,-7361.68,161.739,"Ranger Lilatha"),
+(16295,5,7590.97,-7359.05,162.258,"Ranger Lilatha"),
+(16295,6,7598.35,-7362.82,162.257,"Ranger Lilatha"),
+(16295,7,7605.86,-7380.42,161.937,"Ranger Lilatha"),
+(16295,8,7605.30,-7387.38,157.254,"Ranger Lilatha"),
+(16295,9,7606.13,-7393.89,156.942,"Ranger Lilatha"),
+(16295,10,7615.21,-7400.19,157.143,"Ranger Lilatha"),
+(16295,11,7618.96,-7402.65,158.202,"Ranger Lilatha"),
+(16295,12,7636.85,-7401.76,162.145,"Ranger Lilatha"),
+(16295,13,7637.06,-7404.94,162.207,"Ranger Lilatha"),
+(16295,14,7636.91,-7412.59,162.366,"Ranger Lilatha"),
+(16295,15,7637.61,-7425.59,162.631,"Ranger Lilatha"),
+(16295,16,7637.82,-7459.06,163.303,"Ranger Lilatha"),
+(16295,17,7638.86,-7470.90,162.517,"Ranger Lilatha"),
+(16295,18,7641.40,-7488.22,157.381,"Ranger Lilatha"),
+(16295,19,7634.46,-7505.45,154.682,"Ranger Lilatha"),
+(16295,20,7631.91,-7516.95,153.597,"Ranger Lilatha"),
+(16295,21,7622.23,-7537.04,151.587,"Ranger Lilatha"),
+(16295,22,7610.92,-7550.67,149.639,"Ranger Lilatha"),
+(16295,23,7598.23,-7562.55,145.954,"Ranger Lilatha"),
+(16295,24,7588.51,-7577.76,148.294,"Ranger Lilatha"),
+(16295,25,7567.34,-7608.46,146.006,"Ranger Lilatha"),
+(16295,26,7562.55,-7617.42,148.098,"Ranger Lilatha"),
+(16295,27,7561.51,-7645.06,151.245,"Ranger Lilatha"),
+(16295,28,7563.34,-7654.65,151.227,"Ranger Lilatha"),
+(16295,29,7565.53,-7658.30,151.249,"Ranger Lilatha"),
+(16295,30,7579.12,-7662.21,151.652,"Ranger Lilatha"),
+(16295,31,7603.77,-7667.00,153.998,"Ranger Lilatha");
diff --git a/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp b/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
index 670ac48b006..27b7ec7e428 100644
--- a/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
+++ b/src/server/scripts/EasternKingdoms/eastern_kingdoms_script_loader.cpp
@@ -178,7 +178,7 @@ void AddSC_instance_zulgurub();
void AddSC_blasted_lands();
void AddSC_duskwood();
//void AddSC_eastern_plaguelands();
-void AddSC_ghostlands();
+//void AddSC_ghostlands();
void AddSC_goldshire();
void AddSC_hinterlands();
void AddSC_isle_of_queldanas();
@@ -356,7 +356,7 @@ void AddEasternKingdomsScripts()
AddSC_blasted_lands();
AddSC_duskwood();
//AddSC_eastern_plaguelands();
- AddSC_ghostlands();
+ //AddSC_ghostlands();
AddSC_goldshire();
AddSC_hinterlands();
AddSC_isle_of_queldanas();
diff --git a/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp b/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
deleted file mode 100644
index d6ee00654b3..00000000000
--- a/src/server/scripts/EasternKingdoms/zone_ghostlands.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * 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/>.
- */
-
-/* ScriptData
-SDName: Ghostlands
-SD%Complete: 100
-SDComment: Quest support: 9212.
-SDCategory: Ghostlands
-EndScriptData */
-
-/* ContentData
-npc_ranger_lilatha
-EndContentData */
-
-#include "ScriptMgr.h"
-#include "GameObject.h"
-#include "Player.h"
-#include "ScriptedEscortAI.h"
-#include "ScriptedGossip.h"
-#include "TemporarySummon.h"
-#include "WorldSession.h"
-
-/*######
-## npc_ranger_lilatha
-######*/
-
-enum RangerLilatha
-{
- SAY_START = 0,
- SAY_PROGRESS1 = 1,
- SAY_PROGRESS2 = 2,
- SAY_PROGRESS3 = 3,
- SAY_END1 = 4,
- SAY_END2 = 5,
- SAY_CAPTAIN_ANSWER = 0,
- QUEST_ESCAPE_FROM_THE_CATACOMBS = 9212,
- GO_CAGE = 181152,
- NPC_CAPTAIN_HELIOS = 16220,
- NPC_MUMMIFIED_HEADHUNTER = 16342,
- NPC_SHADOWPINE_ORACLE = 16343
-};
-
-class npc_ranger_lilatha : public CreatureScript
-{
-public:
- npc_ranger_lilatha() : CreatureScript("npc_ranger_lilatha") { }
-
- struct npc_ranger_lilathaAI : public EscortAI
- {
- npc_ranger_lilathaAI(Creature* creature) : EscortAI(creature) { }
-
- void WaypointReached(uint32 waypointId, uint32 /*pathId*/) override
- {
- Player* player = GetPlayerForEscort();
- if (!player)
- return;
-
- switch (waypointId)
- {
- case 0:
- me->SetUInt32Value(UNIT_FIELD_BYTES_1, 0);
- if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 20))
- Cage->SetGoState(GO_STATE_ACTIVE);
- Talk(SAY_START, player);
- break;
- case 5:
- Talk(SAY_PROGRESS1, player);
- break;
- case 11:
- Talk(SAY_PROGRESS2, player);
- me->SetFacingTo(4.762841f);
- break;
- case 18:
- {
- Talk(SAY_PROGRESS3, player);
- Creature* Summ1 = me->SummonCreature(NPC_MUMMIFIED_HEADHUNTER, 7627.083984f, -7532.538086f, 152.128616f, 1.082733f, TEMPSUMMON_DEAD_DESPAWN, 0);
- Creature* Summ2 = me->SummonCreature(NPC_SHADOWPINE_ORACLE, 7620.432129f, -7532.550293f, 152.454865f, 0.827478f, TEMPSUMMON_DEAD_DESPAWN, 0);
- if (Summ1 && Summ2)
- {
- Summ1->Attack(me, true);
- Summ2->Attack(player, true);
- }
- AttackStart(Summ1);
- }
- break;
- case 19:
- me->SetWalk(false);
- break;
- case 25:
- me->SetWalk(true);
- break;
- case 30:
- player->GroupEventHappens(QUEST_ESCAPE_FROM_THE_CATACOMBS, me);
- break;
- case 32:
- me->SetFacingTo(2.978281f);
- Talk(SAY_END1, player);
- break;
- case 33:
- me->SetFacingTo(5.858011f);
- Talk(SAY_END2, player);
- Creature* CaptainHelios = me->FindNearestCreature(NPC_CAPTAIN_HELIOS, 50);
- if (CaptainHelios)
- CaptainHelios->AI()->Talk(SAY_CAPTAIN_ANSWER, player);
- break;
- }
- }
-
- void Reset() override
- {
- if (GameObject* Cage = me->FindNearestGameObject(GO_CAGE, 20))
- Cage->SetGoState(GO_STATE_READY);
- }
-
- void QuestAccept(Player* player, Quest const* quest) override
- {
- if (quest->GetQuestId() == QUEST_ESCAPE_FROM_THE_CATACOMBS)
- {
- me->SetFaction(FACTION_ESCORTEE_N_NEUTRAL_PASSIVE);
- Start(true, false, player->GetGUID());
- }
- }
- };
-
- CreatureAI* GetAI(Creature* creature) const override
- {
- return new npc_ranger_lilathaAI(creature);
- }
-
-};
-
-void AddSC_ghostlands()
-{
- new npc_ranger_lilatha();
-}