Blackfathom Deeps: Implemented Morridune event.
--HG-- branch : trunk
This commit is contained in:
@@ -469,9 +469,10 @@ INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1`
|
|||||||
(4508,-1047010,'Many thanks for your help.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'Willix'),
|
(4508,-1047010,'Many thanks for your help.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'Willix'),
|
||||||
|
|
||||||
-- -1 048 000 BLACKFATHOM DEEPS
|
-- -1 048 000 BLACKFATHOM DEEPS
|
||||||
(4832,-1048000,'Just...Dust...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,5803,1,0,0,''),
|
(4832,-1048000,'Just...Dust...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,5803,1,0,0,''), (4832,-1048001,'Sleep...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,5804,1,0,0,''),
|
||||||
(4832,-1048001,'Sleep...',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,5804,1,0,0,''),
|
(4832,-1048002,'Who dares disturb my meditation!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,5805,1,0,0,''),
|
||||||
(4832,-1048002,'Who dares disturb my meditation!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,5805,1,0,0,''),
|
(6729,-1048003,'Aku''mai is dead! At last, I can leave this wretched place.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,1,0,0,''),
|
||||||
|
(6729,-1048004,'Speak with me to hear my tale',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,''),
|
||||||
|
|
||||||
-- -1 060 000 863_world_scripts.sql
|
-- -1 060 000 863_world_scripts.sql
|
||||||
(0,-1060005,'REUSE',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'REUSE'),
|
(0,-1060005,'REUSE',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'REUSE'),
|
||||||
|
|||||||
@@ -1963,3 +1963,11 @@ INSERT INTO `script_waypoint` VALUES
|
|||||||
(349,113,-9264.73,-2292.92,70.0089,0,''),
|
(349,113,-9264.73,-2292.92,70.0089,0,''),
|
||||||
(349,114,-9272.24,-2293.79,68.6096,0,''),
|
(349,114,-9272.24,-2293.79,68.6096,0,''),
|
||||||
(349,115,-9277.03,-2295.98,68.1135,10000,'');
|
(349,115,-9277.03,-2295.98,68.1135,10000,'');
|
||||||
|
|
||||||
|
DELETE FROM `script_waypoint` WHERE `entry`=6729;
|
||||||
|
INSERT INTO `script_waypoint` VALUES
|
||||||
|
(6729,1,-861.803,-460.36,-33.8918,0,''),
|
||||||
|
(6729,2,-856.168,-464.425,-33.9223,0,''),
|
||||||
|
(6729,3,-849.964,-469.231,-34.0381,0,''),
|
||||||
|
(6729,4,-839.838,-473.654,-34.0535,0,''),
|
||||||
|
(6729,5,-837.417,-473.105,-34.0288,0,'');
|
||||||
|
|||||||
@@ -290,7 +290,7 @@ UPDATE `creature_template` SET `ScriptName`='boss_gelihast' WHERE `entry`=6243;
|
|||||||
UPDATE `creature_template` SET `ScriptName`='boss_kelris' WHERE `entry`=4832;
|
UPDATE `creature_template` SET `ScriptName`='boss_kelris' WHERE `entry`=4832;
|
||||||
UPDATE `creature_template` SET `ScriptName`='boss_aku_mai' WHERE `entry`=4829;
|
UPDATE `creature_template` SET `ScriptName`='boss_aku_mai' WHERE `entry`=4829;
|
||||||
UPDATE `creature_template` SET `ScriptName`='npc_blackfathom_deeps_event' WHERE `entry` IN (4823,4825,4977,4978);
|
UPDATE `creature_template` SET `ScriptName`='npc_blackfathom_deeps_event' WHERE `entry` IN (4823,4825,4977,4978);
|
||||||
|
UPDATE `creature_template` SET `ScriptName`='npc_morridune' WHERE `entry`=6729;
|
||||||
|
|
||||||
/* BLACKROCK DEPTHS */
|
/* BLACKROCK DEPTHS */
|
||||||
UPDATE `instance_template` SET `script`='instance_blackrock_depths' WHERE `map`=230;
|
UPDATE `instance_template` SET `script`='instance_blackrock_depths' WHERE `map`=230;
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
DELETE FROM `script_texts` WHERE `entry` IN (-1048003,-1048004);
|
||||||
|
INSERT INTO `script_texts` (`npc_entry`,`entry`,`content_default`,`content_loc1`,`content_loc2`,`content_loc3`,`content_loc4`,`content_loc5`,`content_loc6`,`content_loc7`,`content_loc8`,`sound`,`type`,`language`,`emote`,`comment`) VALUES
|
||||||
|
(6729,-1048003,'Aku''mai is dead! At last, I can leave this wretched place.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,1,0,0,''),
|
||||||
|
(6729,-1048004,'Speak with me to hear my tale',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,'');
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
DELETE FROM `script_waypoint` WHERE `entry`=6729;
|
||||||
|
INSERT INTO `script_waypoint` VALUES
|
||||||
|
(6729,1,-861.803,-460.36,-33.8918,0,''),
|
||||||
|
(6729,2,-856.168,-464.425,-33.9223,0,''),
|
||||||
|
(6729,3,-849.964,-469.231,-34.0381,0,''),
|
||||||
|
(6729,4,-839.838,-473.654,-34.0535,0,''),
|
||||||
|
(6729,5,-837.417,-473.105,-34.0288,0,'');
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UPDATE `creature_template` SET `ScriptName`='npc_morridune' WHERE `entry`=6729;
|
||||||
@@ -18,15 +18,19 @@
|
|||||||
|
|
||||||
#include "precompiled.h"
|
#include "precompiled.h"
|
||||||
#include "blackfathom_deeps.h"
|
#include "blackfathom_deeps.h"
|
||||||
|
#include "escort_ai.h"
|
||||||
|
|
||||||
enum eSpells
|
enum eSpells
|
||||||
{
|
{
|
||||||
SPELL_BLESSING_OF_BLACKFATHOM = 8733,
|
SPELL_BLESSING_OF_BLACKFATHOM = 8733,
|
||||||
SPELL_RAVAGE = 8391,
|
SPELL_RAVAGE = 8391,
|
||||||
SPELL_FROST_NOVA = 865,
|
SPELL_FROST_NOVA = 865,
|
||||||
SPELL_FROST_BOLT_VOLLEY = 8398
|
SPELL_FROST_BOLT_VOLLEY = 8398,
|
||||||
|
SPELL_TELEPORT_DARNASSUS = 9268
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define GOSSIP_ITEM_MORRIDUNE "Please port me to Darnassus"
|
||||||
|
|
||||||
const Position HomePosition = {-815.817,-145.299,-25.870, 0};
|
const Position HomePosition = {-815.817,-145.299,-25.870, 0};
|
||||||
|
|
||||||
bool GoHello_blackfathom_altar(Player *pPlayer, GameObject* pGo)
|
bool GoHello_blackfathom_altar(Player *pPlayer, GameObject* pGo)
|
||||||
@@ -166,6 +170,61 @@ CreatureAI* GetAI_npc_blackfathom_deeps_event(Creature* pCreature)
|
|||||||
return new npc_blackfathom_deeps_eventAI (pCreature);
|
return new npc_blackfathom_deeps_eventAI (pCreature);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum eMorridune
|
||||||
|
{
|
||||||
|
SAY_MORRIDUNE_1 = -1048003,
|
||||||
|
SAY_MORRIDUNE_2 = -1048004
|
||||||
|
};
|
||||||
|
|
||||||
|
struct TRINITY_DLL_DECL npc_morriduneAI : public npc_escortAI
|
||||||
|
{
|
||||||
|
npc_morriduneAI(Creature* pCreature) : npc_escortAI(pCreature)
|
||||||
|
{
|
||||||
|
DoScriptText(SAY_MORRIDUNE_1,pCreature);
|
||||||
|
m_creature->RemoveFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||||
|
Start(false,false,NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
void WaypointReached(uint32 uiPoint)
|
||||||
|
{
|
||||||
|
switch(uiPoint)
|
||||||
|
{
|
||||||
|
case 4:
|
||||||
|
SetEscortPaused(true);
|
||||||
|
m_creature->SetOrientation(1.775791);
|
||||||
|
m_creature->SendMovementFlagUpdate();
|
||||||
|
m_creature->SetFlag(UNIT_NPC_FLAGS, UNIT_NPC_FLAG_GOSSIP);
|
||||||
|
DoScriptText(SAY_MORRIDUNE_2,m_creature);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
CreatureAI* GetAI_npc_morridune(Creature* pCreature)
|
||||||
|
{
|
||||||
|
return new npc_morriduneAI (pCreature);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GossipHello_npc_morridune(Player* pPlayer, Creature* pCreature)
|
||||||
|
{
|
||||||
|
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GOSSIP_ITEM_MORRIDUNE, GOSSIP_SENDER_MAIN, GOSSIP_ACTION_INFO_DEF+1);
|
||||||
|
|
||||||
|
pPlayer->SEND_GOSSIP_MENU(pPlayer->GetGossipTextId(pCreature), pCreature->GetGUID());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool GossipSelect_npc_morridune(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
|
||||||
|
{
|
||||||
|
switch(uiAction)
|
||||||
|
{
|
||||||
|
case GOSSIP_ACTION_INFO_DEF+1:
|
||||||
|
pPlayer->TeleportTo(1,9952.239,2284.277,1341.394,1.595);
|
||||||
|
pPlayer->CLOSE_GOSSIP_MENU();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
void AddSC_blackfathom_deeps()
|
void AddSC_blackfathom_deeps()
|
||||||
{
|
{
|
||||||
Script *newscript;
|
Script *newscript;
|
||||||
@@ -183,4 +242,11 @@ void AddSC_blackfathom_deeps()
|
|||||||
newscript->Name = "npc_blackfathom_deeps_event";
|
newscript->Name = "npc_blackfathom_deeps_event";
|
||||||
newscript->GetAI = &GetAI_npc_blackfathom_deeps_event;
|
newscript->GetAI = &GetAI_npc_blackfathom_deeps_event;
|
||||||
newscript->RegisterSelf();
|
newscript->RegisterSelf();
|
||||||
|
|
||||||
|
newscript = new Script;
|
||||||
|
newscript->Name = "npc_morridune";
|
||||||
|
newscript->GetAI = &GetAI_npc_morridune;
|
||||||
|
newscript->pGossipHello = &GossipHello_npc_morridune;
|
||||||
|
newscript->pGossipSelect = &GossipSelect_npc_morridune;
|
||||||
|
newscript->RegisterSelf();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,7 +35,9 @@ enum Creatures
|
|||||||
NPC_AKU_MAI_SNAPJAW = 4825,
|
NPC_AKU_MAI_SNAPJAW = 4825,
|
||||||
NPC_MURKSHALLOW_SOFTSHELL = 4977,
|
NPC_MURKSHALLOW_SOFTSHELL = 4977,
|
||||||
NPC_AKU_MAI_SERVANT = 4978,
|
NPC_AKU_MAI_SERVANT = 4978,
|
||||||
NPC_BARBED_CRUSTACEAN = 4823
|
NPC_BARBED_CRUSTACEAN = 4823,
|
||||||
|
|
||||||
|
NPC_MORRIDUNE = 6729
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GameObjects
|
enum GameObjects
|
||||||
|
|||||||
+4
@@ -46,6 +46,7 @@ const Position SpawnsLocation[] =
|
|||||||
{-775.404, -174.132, -25.871, 3.185},
|
{-775.404, -174.132, -25.871, 3.185},
|
||||||
{-862.430, -154.937, -25.871, 0.060},
|
{-862.430, -154.937, -25.871, 0.060},
|
||||||
{-862.193, -174.251, -25.871, 6.182},
|
{-862.193, -174.251, -25.871, 6.182},
|
||||||
|
{-863.895, -458.899, -33.891, 5.637}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance
|
struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance
|
||||||
@@ -142,7 +143,10 @@ struct TRINITY_DLL_DECL instance_blackfathom_deeps : public ScriptedInstance
|
|||||||
m_auiEncounter[3] = uiData;
|
m_auiEncounter[3] = uiData;
|
||||||
if (uiData == DONE)
|
if (uiData == DONE)
|
||||||
if (GameObject *pGo = instance->GetGameObject(m_uiAltarOfTheDeepsGUID))
|
if (GameObject *pGo = instance->GetGameObject(m_uiAltarOfTheDeepsGUID))
|
||||||
|
{
|
||||||
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
pGo->RemoveFlag(GAMEOBJECT_FLAGS, GO_FLAG_UNK1);
|
||||||
|
pGo->SummonCreature(NPC_MORRIDUNE,SpawnsLocation[4], TEMPSUMMON_CORPSE_TIMED_DESPAWN, 300000);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case DATA_FIRE:
|
case DATA_FIRE:
|
||||||
m_uiCountFires = uiData;
|
m_uiCountFires = uiData;
|
||||||
|
|||||||
Reference in New Issue
Block a user