mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 17:27:36 +01:00
*Merge SD2.
*r988: Remove obsolete code for first boss in BT. - Just use enums. *r989: Added summons for misc ethereum gameobjects *r990: Added gossip options to learn engineering "teleport trinket" schematics (misc npc's) *r991: Correcting a few waypoints, added more texts and visuals to shadowfang prisoners - Skip: Its already merged. *r992: Added GO summons related to quest 10990, 10991 and 10992 *Register 2 missing scripts. --HG-- branch : trunk
This commit is contained in:
6
sql/updates/3649_world.sql
Normal file
6
sql/updates/3649_world.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
UPDATE `gameobject_template` SET `ScriptName` = 'go_ethereum_prison' WHERE `entry` BETWEEN 184418 AND 184431;
|
||||
UPDATE `gameobject_template` SET `ScriptName` = 'go_ethereum_stasis' WHERE `entry` BETWEEN 185465 AND 185467;
|
||||
UPDATE `gameobject_template` SET `ScriptName` = 'go_ethereum_stasis' WHERE `entry` = 184595;
|
||||
UPDATE `gameobject_template` SET `ScriptName` = 'go_ethereum_stasis' WHERE `entry` BETWEEN 185461 AND 185464;
|
||||
|
||||
UPDATE `creature_template` SET `ScriptName` = 'npc_engineering_tele_trinket' WHERE `entry` IN (14742, 14743, 21493, 21494);
|
||||
@@ -25,7 +25,10 @@ UPDATE `gameobject_template` SET `ScriptName`='go_mausoleum_door' WHERE `entry`=
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_crystal_prison' WHERE `entry`=185126;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_legion_obelisk' WHERE `entry` IN (185193,185195,185196,185197,185198);
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_jump_a_tron' WHERE `entry`=183146;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_ethereum_prison' WHERE `entry` IN (184418,184419,184420,184421,184422,184423,184424,184425,184426,184427,184428,184429,184430,184431);
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_ethereum_prison' WHERE `entry` BETWEEN 184418 AND 184431;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_ethereum_stasis' WHERE `entry` BETWEEN 185465 AND 185467;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_ethereum_stasis' WHERE `entry` = 184595;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_ethereum_stasis' WHERE `entry` BETWEEN 185461 AND 185464;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_sacred_fire_of_life' WHERE `entry`=175944;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_skull_pile' WHERE `entry`=185913;
|
||||
UPDATE `gameobject_template` SET `ScriptName`='go_tele_to_dalaran_crystal' WHERE `entry`=191230;
|
||||
@@ -89,6 +92,7 @@ UPDATE `creature_template` SET `ScriptName`='npc_doctor' WHERE `entry` IN (12939
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_injured_patient' WHERE `entry` IN (12936,12937,12938,12923,12924,12925);
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_prof_alchemy' WHERE `entry` IN (17909,19052,22427);
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_prof_blacksmith' WHERE `entry` IN (5164,11145,11146,11176,11177,11178,11191,11192,11193);
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_engineering_tele_trinket' WHERE `entry` IN (14742, 14743, 21493, 21494);
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_prof_leather' WHERE `entry` IN (7866,7867,7868,7869,7870,7871);
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_prof_tailor' WHERE `entry` IN (22208,22212,22213);
|
||||
UPDATE `creature_template` SET `ScriptName`='npc_rogue_trainer' WHERE `entry` IN (918,4163,3328,4583,5165,5167,13283,16684);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
/* ScriptData
|
||||
SDName: GO_Scripts
|
||||
SD%Complete: 100
|
||||
SDComment: Quest support: 4285,4287,4288(crystal pylons), 4296. Field_Repair_Bot->Teaches spell 22704. Barov_journal->Teaches spell 26089
|
||||
SDComment: Quest support: 4285,4287,4288(crystal pylons), 4296, 10990, 10991, 10992, Field_Repair_Bot->Teaches spell 22704. Barov_journal->Teaches spell 26089
|
||||
SDCategory: Game Objects
|
||||
EndScriptData */
|
||||
|
||||
@@ -27,10 +27,16 @@ go_northern_crystal_pylon
|
||||
go_eastern_crystal_pylon
|
||||
go_western_crystal_pylon
|
||||
go_barov_journal
|
||||
go_ethereum_prison
|
||||
go_ethereum_stasis
|
||||
go_sacred_fire_of_life
|
||||
go_shrine_of_the_birds
|
||||
go_field_repair_bot_74A
|
||||
go_orb_of_command
|
||||
go_tablet_of_madness
|
||||
go_tablet_of_the_seven
|
||||
go_tele_to_dalaran_crystal
|
||||
go_tele_to_violet_stand
|
||||
EndContentData */
|
||||
|
||||
#include "precompiled.h"
|
||||
@@ -199,24 +205,73 @@ bool GOHello_go_jump_a_tron(Player *player, GameObject* _GO)
|
||||
## go_ethereum_prison
|
||||
######*/
|
||||
|
||||
float ethereum_NPC[2][7] =
|
||||
enum
|
||||
{
|
||||
{20785,20790,20789,20784,20786,20783,20788}, // hostile npc
|
||||
{22810,22811,22812,22813,22814,22815,0} // fiendly npc (need script in acid ? only to cast spell reputation reward)
|
||||
SPELL_REP_LC = 39456,
|
||||
SPELL_REP_SHAT = 39457,
|
||||
SPELL_REP_CE = 39460,
|
||||
SPELL_REP_CON = 39474,
|
||||
SPELL_REP_KT = 39475,
|
||||
SPELL_REP_SPOR = 39476
|
||||
};
|
||||
|
||||
bool GOHello_go_ethereum_prison(Player *player, GameObject* _GO)
|
||||
const uint32 NpcPrisonEntry[] =
|
||||
{
|
||||
_GO->SetGoState(GO_STATE_ACTIVE);
|
||||
switch(rand()%2){
|
||||
case 0:
|
||||
_GO->SummonCreature(ethereum_NPC[0][rand()%6],_GO->GetPositionX(),_GO->GetPositionY(),_GO->GetPositionZ()+0.3, 0,TEMPSUMMON_CORPSE_TIMED_DESPAWN,10000);
|
||||
break;
|
||||
case 1:
|
||||
_GO->SummonCreature(ethereum_NPC[1][rand()%5],_GO->GetPositionX(),_GO->GetPositionY(),_GO->GetPositionZ()+0.3, 0,TEMPSUMMON_TIMED_DESPAWN,10000);
|
||||
break;
|
||||
22810, 22811, 22812, 22813, 22814, 22815, //good guys
|
||||
20783, 20784, 20785, 20786, 20788, 20789, 20790 //bad guys
|
||||
};
|
||||
|
||||
bool GOHello_go_ethereum_prison(Player* pPlayer, GameObject* pGo)
|
||||
{
|
||||
int Random = rand() % (sizeof(NpcPrisonEntry) / sizeof(uint32));
|
||||
|
||||
if(Creature* pCreature = pPlayer->SummonCreature(NpcPrisonEntry[Random],
|
||||
pGo->GetPositionX(), pGo->GetPositionY(), pGo->GetPositionZ(), pGo->GetAngle(pPlayer),
|
||||
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000))
|
||||
{
|
||||
if(!pCreature->IsHostileTo(pPlayer))
|
||||
{
|
||||
uint32 Spell = 0;
|
||||
FactionTemplateEntry const* pFaction = pCreature->getFactionTemplateEntry();
|
||||
|
||||
switch(pFaction->faction)
|
||||
{
|
||||
case 1011: Spell = SPELL_REP_LC; break;
|
||||
case 935: Spell = SPELL_REP_SHAT; break;
|
||||
case 942: Spell = SPELL_REP_CE; break;
|
||||
case 933: Spell = SPELL_REP_CON; break;
|
||||
case 989: Spell = SPELL_REP_KT; break;
|
||||
case 970: Spell = SPELL_REP_SPOR; break;
|
||||
}
|
||||
|
||||
if(Spell)
|
||||
pCreature->CastSpell(pPlayer, Spell, false);
|
||||
else
|
||||
error_log("TSCR: go_ethereum_prison summoned creature (entry %u) but faction (%u) are not expected by script.", pCreature->GetEntry(), pCreature->getFaction());
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
/*######
|
||||
## go_ethereum_stasis
|
||||
######*/
|
||||
|
||||
const uint32 NpcStasisEntry[] =
|
||||
{
|
||||
22825, 20888, 22827, 22826, 22828
|
||||
};
|
||||
|
||||
bool GOHello_go_ethereum_stasis(Player* pPlayer, GameObject* pGo)
|
||||
{
|
||||
int Random = rand() % (sizeof(NpcStasisEntry) / sizeof(uint32));
|
||||
|
||||
pPlayer->SummonCreature(NpcStasisEntry[Random],
|
||||
pGo->GetPositionX(), pGo->GetPositionY(), pGo->GetPositionZ(), pGo->GetAngle(pPlayer),
|
||||
TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 30000);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*######
|
||||
@@ -233,6 +288,46 @@ bool GOHello_go_sacred_fire_of_life(Player* pPlayer, GameObject* pGO)
|
||||
return true;
|
||||
}
|
||||
|
||||
/*######
|
||||
## go_shrine_of_the_birds
|
||||
######*/
|
||||
|
||||
enum
|
||||
{
|
||||
NPC_HAWK_GUARD = 22992,
|
||||
NPC_EAGLE_GUARD = 22993,
|
||||
NPC_FALCON_GUARD = 22994,
|
||||
GO_SHRINE_HAWK = 185551,
|
||||
GO_SHRINE_EAGLE = 185547,
|
||||
GO_SHRINE_FALCON = 185553
|
||||
};
|
||||
|
||||
bool GOHello_go_shrine_of_the_birds(Player* pPlayer, GameObject* pGo)
|
||||
{
|
||||
uint32 BirdEntry = 0;
|
||||
|
||||
float fX, fY, fZ;
|
||||
pGo->GetClosePoint(fX, fY, fZ, pGo->GetObjectSize(), INTERACTION_DISTANCE);
|
||||
|
||||
switch(pGo->GetEntry())
|
||||
{
|
||||
case GO_SHRINE_HAWK:
|
||||
BirdEntry = NPC_HAWK_GUARD;
|
||||
break;
|
||||
case GO_SHRINE_EAGLE:
|
||||
BirdEntry = NPC_EAGLE_GUARD;
|
||||
break;
|
||||
case GO_SHRINE_FALCON:
|
||||
BirdEntry = NPC_FALCON_GUARD;
|
||||
break;
|
||||
}
|
||||
|
||||
if(BirdEntry)
|
||||
pPlayer->SummonCreature(BirdEntry, fX, fY, fZ, pGo->GetOrientation(), TEMPSUMMON_TIMED_DESPAWN_OUT_OF_COMBAT, 60000);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/*######
|
||||
## go_tele_to_dalaran_crystal
|
||||
######*/
|
||||
@@ -308,6 +403,11 @@ void AddSC_go_scripts()
|
||||
newscript->pGOHello = &GOHello_go_orb_of_command;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "go_shrine_of_the_birds";
|
||||
newscript->pGOHello = &GOHello_go_shrine_of_the_birds;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="go_tablet_of_madness";
|
||||
newscript->pGOHello = &GOHello_go_tablet_of_madness;
|
||||
@@ -328,10 +428,24 @@ void AddSC_go_scripts()
|
||||
newscript->pGOHello = &GOHello_go_ethereum_prison;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "go_ethereum_stasis";
|
||||
newscript->pGOHello = &GOHello_go_ethereum_stasis;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "go_sacred_fire_of_life";
|
||||
newscript->pGOHello = &GOHello_go_sacred_fire_of_life;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "go_tele_to_dalaran_crystal";
|
||||
newscript->pGOHello = &GOHello_go_tele_to_dalaran_crystal;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "go_tele_to_violet_stand";
|
||||
newscript->pGOHello = &GOHello_go_tele_to_violet_stand;
|
||||
newscript->RegisterSelf();
|
||||
}
|
||||
|
||||
|
||||
@@ -811,6 +811,138 @@ bool GossipSelect_npc_prof_blacksmith(Player *player, Creature *_Creature, uint3
|
||||
return true;
|
||||
}*/
|
||||
|
||||
/*###
|
||||
# engineering trinkets
|
||||
###*/
|
||||
|
||||
enum
|
||||
{
|
||||
NPC_ZAP = 14742,
|
||||
NPC_JHORDY = 14743,
|
||||
NPC_KABLAM = 21493,
|
||||
NPC_SMILES = 21494,
|
||||
|
||||
SPELL_LEARN_TO_EVERLOOK = 23490,
|
||||
SPELL_LEARN_TO_GADGET = 23491,
|
||||
SPELL_LEARN_TO_AREA52 = 36956,
|
||||
SPELL_LEARN_TO_TOSHLEY = 36957,
|
||||
|
||||
SPELL_TO_EVERLOOK = 23486,
|
||||
SPELL_TO_GADGET = 23489,
|
||||
SPELL_TO_AREA52 = 36954,
|
||||
SPELL_TO_TOSHLEY = 36955,
|
||||
|
||||
ITEM_GNOMISH_CARD = 10790,
|
||||
ITEM_GOBLIN_CARD = 10791
|
||||
};
|
||||
|
||||
#define GOSSIP_ITEM_ZAP "[PH] Unknown"
|
||||
#define GOSSIP_ITEM_JHORDY "I must build a beacon for this marvelous device!"
|
||||
#define GOSSIP_ITEM_KABLAM "[PH] Unknown"
|
||||
#define GOSSIP_ITEM_SMILES "[PH] Unknown"
|
||||
|
||||
bool GossipHello_npc_engineering_tele_trinket(Player* pPlayer, Creature* pCreature)
|
||||
{
|
||||
uint32 NpcTextId = 0;
|
||||
std::string GossipItem;
|
||||
bool CanLearn = false;
|
||||
|
||||
if(pPlayer->HasSkill(SKILL_ENGINERING))
|
||||
{
|
||||
switch(pCreature->GetEntry())
|
||||
{
|
||||
case NPC_ZAP:
|
||||
NpcTextId = 7249;
|
||||
if(pPlayer->GetBaseSkillValue(SKILL_ENGINERING) >= 260 && pPlayer->HasSpell(S_GOBLIN))
|
||||
{
|
||||
if(!pPlayer->HasSpell(SPELL_TO_EVERLOOK))
|
||||
{
|
||||
CanLearn = true;
|
||||
GossipItem = GOSSIP_ITEM_ZAP;
|
||||
}
|
||||
else if(pPlayer->HasSpell(SPELL_TO_EVERLOOK))
|
||||
NpcTextId = 0;
|
||||
}
|
||||
break;
|
||||
case NPC_JHORDY:
|
||||
NpcTextId = 7251;
|
||||
if(pPlayer->GetBaseSkillValue(SKILL_ENGINERING) >= 260 && pPlayer->HasSpell(S_GNOMISH))
|
||||
{
|
||||
if(!pPlayer->HasSpell(SPELL_TO_GADGET))
|
||||
{
|
||||
CanLearn = true;
|
||||
GossipItem = GOSSIP_ITEM_JHORDY;
|
||||
}
|
||||
else if(pPlayer->HasSpell(SPELL_TO_GADGET))
|
||||
NpcTextId = 7252;
|
||||
}
|
||||
break;
|
||||
case NPC_KABLAM:
|
||||
NpcTextId = 10365;
|
||||
if(pPlayer->GetBaseSkillValue(SKILL_ENGINERING) >= 350 && pPlayer->HasSpell(S_GOBLIN))
|
||||
{
|
||||
if(!pPlayer->HasSpell(SPELL_TO_AREA52))
|
||||
{
|
||||
CanLearn = true;
|
||||
GossipItem = GOSSIP_ITEM_KABLAM;
|
||||
}
|
||||
else if(pPlayer->HasSpell(SPELL_TO_AREA52))
|
||||
NpcTextId = 0;
|
||||
}
|
||||
break;
|
||||
case NPC_SMILES:
|
||||
NpcTextId = 10363;
|
||||
if(pPlayer->GetBaseSkillValue(SKILL_ENGINERING) >= 350 && pPlayer->HasSpell(S_GNOMISH))
|
||||
{
|
||||
if(!pPlayer->HasSpell(SPELL_TO_TOSHLEY))
|
||||
{
|
||||
CanLearn = true;
|
||||
GossipItem = GOSSIP_ITEM_SMILES;
|
||||
}
|
||||
else if(pPlayer->HasSpell(SPELL_TO_TOSHLEY))
|
||||
NpcTextId = 0;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(CanLearn)
|
||||
{
|
||||
if(pPlayer->HasItemCount(ITEM_GOBLIN_CARD,1) || pPlayer->HasItemCount(ITEM_GNOMISH_CARD,1))
|
||||
pPlayer->ADD_GOSSIP_ITEM(GOSSIP_ICON_CHAT, GossipItem, pCreature->GetEntry(), GOSSIP_ACTION_INFO_DEF+1);
|
||||
}
|
||||
|
||||
pPlayer->SEND_GOSSIP_MENU(NpcTextId ? NpcTextId : pCreature->GetNpcTextId(), pCreature->GetGUID());
|
||||
return true;
|
||||
}
|
||||
|
||||
bool GossipSelect_npc_engineering_tele_trinket(Player* pPlayer, Creature* pCreature, uint32 Sender, uint32 Action)
|
||||
{
|
||||
if(Action == GOSSIP_ACTION_INFO_DEF+1)
|
||||
pPlayer->CLOSE_GOSSIP_MENU();
|
||||
|
||||
if(Sender != pCreature->GetEntry())
|
||||
return true;
|
||||
|
||||
switch(Sender)
|
||||
{
|
||||
case NPC_ZAP:
|
||||
pPlayer->CastSpell(pPlayer, SPELL_LEARN_TO_EVERLOOK, false);
|
||||
break;
|
||||
case NPC_JHORDY:
|
||||
pPlayer->CastSpell(pPlayer, SPELL_LEARN_TO_GADGET, false);
|
||||
break;
|
||||
case NPC_KABLAM:
|
||||
pPlayer->CastSpell(pPlayer, SPELL_LEARN_TO_AREA52, false);
|
||||
break;
|
||||
case NPC_SMILES:
|
||||
pPlayer->CastSpell(pPlayer, SPELL_LEARN_TO_TOSHLEY, false);
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/*###
|
||||
# start menues leatherworking
|
||||
###*/
|
||||
@@ -1183,6 +1315,12 @@ void AddSC_npc_professions()
|
||||
newscript->pGossipSelect = &GossipSelect_npc_prof_blacksmith;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name = "npc_engineering_tele_trinket";
|
||||
newscript->pGossipHello = &GossipHello_npc_engineering_tele_trinket;
|
||||
newscript->pGossipSelect = &GossipSelect_npc_engineering_tele_trinket;
|
||||
newscript->RegisterSelf();
|
||||
|
||||
newscript = new Script;
|
||||
newscript->Name="npc_prof_leather";
|
||||
newscript->pGossipHello = &GossipHello_npc_prof_leather;
|
||||
|
||||
@@ -24,36 +24,39 @@ EndScriptData */
|
||||
#include "precompiled.h"
|
||||
#include "def_black_temple.h"
|
||||
|
||||
#define SAY_AGGRO -1564000
|
||||
#define SAY_NEEDLE1 -1564001
|
||||
#define SAY_NEEDLE2 -1564002
|
||||
#define SAY_SLAY1 -1564003
|
||||
#define SAY_SLAY2 -1564004
|
||||
#define SAY_SPECIAL1 -1564005
|
||||
#define SAY_SPECIAL2 -1564006
|
||||
#define SAY_ENRAGE1 -1564007 //is this text actually in use?
|
||||
#define SAY_ENRAGE2 -1564008
|
||||
#define SAY_DEATH -1564009
|
||||
enum
|
||||
{
|
||||
SAY_AGGRO = -1564000,
|
||||
SAY_NEEDLE1 = -1564001,
|
||||
SAY_NEEDLE2 = -1564002,
|
||||
SAY_SLAY1 = -1564003,
|
||||
SAY_SLAY2 = -1564004,
|
||||
SAY_SPECIAL1 = -1564005,
|
||||
SAY_SPECIAL2 = -1564006,
|
||||
SAY_ENRAGE1 = -1564007, //is this text actually in use?
|
||||
SAY_ENRAGE2 = -1564008,
|
||||
SAY_DEATH = -1564009,
|
||||
|
||||
//Spells
|
||||
#define SPELL_NEEDLE_SPINE 39992
|
||||
#define SPELL_TIDAL_BURST 39878
|
||||
#define SPELL_TIDAL_SHIELD 39872
|
||||
#define SPELL_IMPALING_SPINE 39837
|
||||
#define SPELL_CREATE_NAJENTUS_SPINE 39956
|
||||
#define SPELL_HURL_SPINE 39948
|
||||
#define SPELL_BERSERK 45078
|
||||
//Spells
|
||||
SPELL_NEEDLE_SPINE = 39992,
|
||||
SPELL_TIDAL_BURST = 39878,
|
||||
SPELL_TIDAL_SHIELD = 39872,
|
||||
SPELL_IMPALING_SPINE = 39837,
|
||||
SPELL_CREATE_NAJENTUS_SPINE = 39956,
|
||||
SPELL_HURL_SPINE = 39948,
|
||||
SPELL_BERSERK = 45078,
|
||||
|
||||
#define GOBJECT_SPINE 185584
|
||||
GOBJECT_SPINE = 185584,
|
||||
|
||||
#define EVENT_BERSERK 1
|
||||
#define EVENT_YELL 2
|
||||
#define EVENT_NEEDLE 3
|
||||
#define EVENT_SPINE 4
|
||||
#define EVENT_SHIELD 5
|
||||
EVENT_BERSERK = 1,
|
||||
EVENT_YELL = 2,
|
||||
EVENT_NEEDLE = 3,
|
||||
EVENT_SPINE = 4,
|
||||
EVENT_SHIELD = 5,
|
||||
|
||||
#define GCD_CAST 1
|
||||
#define GCD_YELL 2
|
||||
GCD_CAST = 1,
|
||||
GCD_YELL = 2
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL boss_najentusAI : public ScriptedAI
|
||||
{
|
||||
|
||||
@@ -5,31 +5,35 @@
|
||||
#ifndef DEF_BLACK_TEMPLE_H
|
||||
#define DEF_BLACK_TEMPLE_H
|
||||
|
||||
#define DATA_AKAMA 1
|
||||
#define DATA_AKAMA_SHADE 2
|
||||
#define DATA_GURTOGGBLOODBOILEVENT 3
|
||||
#define DATA_HIGHWARLORDNAJENTUS 4
|
||||
#define DATA_HIGHWARLORDNAJENTUSEVENT 5
|
||||
#define DATA_ILLIDANSTORMRAGE 6
|
||||
#define DATA_ILLIDANSTORMRAGEEVENT 7
|
||||
#define DATA_ILLIDARICOUNCILEVENT 8
|
||||
#define DATA_ILLIDARICOUNCIL 9
|
||||
#define DATA_LADYMALANDE 10
|
||||
#define DATA_HIGHNETHERMANCERZEREVOR 11
|
||||
#define DATA_GATHIOSTHESHATTERER 12
|
||||
#define DATA_VERASDARKSHADOW 13
|
||||
#define DATA_MOTHERSHAHRAZEVENT 14
|
||||
#define DATA_RELIQUARYOFSOULSEVENT 15
|
||||
#define DATA_SHADEOFAKAMA 16
|
||||
#define DATA_SHADEOFAKAMAEVENT 17
|
||||
#define DATA_SUPREMUS 18
|
||||
#define DATA_SUPREMUSEVENT 19
|
||||
#define DATA_TERONGOREFIENDEVENT 20
|
||||
#define DATA_GAMEOBJECT_NAJENTUS_GATE 21
|
||||
#define DATA_GAMEOBJECT_ILLIDAN_GATE 22
|
||||
#define DATA_GAMEOBJECT_ILLIDAN_DOOR_R 23
|
||||
#define DATA_GAMEOBJECT_ILLIDAN_DOOR_L 24
|
||||
#define DATA_GAMEOBJECT_SUPREMUS_DOORS 25
|
||||
#define DATA_BLOOD_ELF_COUNCIL_VOICE 26
|
||||
enum
|
||||
{
|
||||
DATA_AKAMA = 1,
|
||||
DATA_AKAMA_SHADE = 2,
|
||||
DATA_GURTOGGBLOODBOILEVENT = 3,
|
||||
DATA_HIGHWARLORDNAJENTUS = 4,
|
||||
DATA_HIGHWARLORDNAJENTUSEVENT = 5,
|
||||
DATA_ILLIDANSTORMRAGE = 6,
|
||||
DATA_ILLIDANSTORMRAGEEVENT = 7,
|
||||
DATA_ILLIDARICOUNCILEVENT = 8,
|
||||
DATA_ILLIDARICOUNCIL = 9,
|
||||
DATA_LADYMALANDE = 10,
|
||||
DATA_HIGHNETHERMANCERZEREVOR = 11,
|
||||
DATA_GATHIOSTHESHATTERER = 12,
|
||||
DATA_VERASDARKSHADOW = 13,
|
||||
DATA_MOTHERSHAHRAZEVENT = 14,
|
||||
DATA_RELIQUARYOFSOULSEVENT = 15,
|
||||
DATA_SHADEOFAKAMA = 16,
|
||||
DATA_SHADEOFAKAMAEVENT = 17,
|
||||
DATA_SUPREMUS = 18,
|
||||
DATA_SUPREMUSEVENT = 19,
|
||||
DATA_TERONGOREFIENDEVENT = 20,
|
||||
DATA_GAMEOBJECT_NAJENTUS_GATE = 21,
|
||||
DATA_GAMEOBJECT_ILLIDAN_GATE = 22,
|
||||
DATA_GAMEOBJECT_ILLIDAN_DOOR_R = 23,
|
||||
DATA_GAMEOBJECT_ILLIDAN_DOOR_L = 24,
|
||||
DATA_GAMEOBJECT_SUPREMUS_DOORS = 25,
|
||||
DATA_BLOOD_ELF_COUNCIL_VOICE = 26
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@ EndScriptData */
|
||||
#include "precompiled.h"
|
||||
#include "def_black_temple.h"
|
||||
|
||||
#define ENCOUNTERS 9
|
||||
#define ENCOUNTERS 9
|
||||
|
||||
/* Black Temple encounters:
|
||||
0 - High Warlord Naj'entus event
|
||||
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
/* ScriptData
|
||||
SDName: Instance_Shadowfang_Keep
|
||||
SD%Complete: 75
|
||||
SDComment: TODO: check what other parts would require additional code (ex: make sure door are in open state if boss dead)
|
||||
SD%Complete: 90
|
||||
SDComment:
|
||||
SDCategory: Shadowfang Keep
|
||||
EndScriptData */
|
||||
|
||||
@@ -38,6 +38,7 @@ enum
|
||||
GO_SORCERER_DOOR = 18972, //door to open when Fenrus the Devourer
|
||||
GO_ARUGAL_DOOR = 18971 //door to open when Wolf Master Nandos
|
||||
};
|
||||
|
||||
struct TRINITY_DLL_DECL instance_shadowfang_keep : public ScriptedInstance
|
||||
{
|
||||
instance_shadowfang_keep(Map *map) : ScriptedInstance(map) {Initialize();};
|
||||
|
||||
Reference in New Issue
Block a user