Scripts/Deadmines: moved faction related entrance spawns to spawn groups

This commit is contained in:
Ovahlord
2019-10-05 05:56:53 +02:00
parent adec9f98e0
commit 393664186a
3 changed files with 68 additions and 66 deletions

View File

@@ -0,0 +1,34 @@
-- Spawn Group
DELETE FROM `spawn_group_template` WHERE `groupId` IN (409, 410);
INSERT INTO `spawn_group_template` (`groupId`, `groupName`, `groupFlags`) VALUES
(409, 'The Deadmines - Alliance Entrance', 4),
(410, 'The Deadmines - Horde Entrance', 4);
DELETE FROM `spawn_group` WHERE `groupId` IN (409, 410);
INSERT INTO `spawn_group` (`groupId`, `spawnType`, `spawnId`) VALUES
(409, 0, 376219),
(409, 0, 376230),
(409, 0, 376222),
(409, 0, 376220),
(409, 0, 376228),
(409, 0, 376224),
(409, 0, 376231),
(409, 0, 376226),
(409, 0, 376223),
(409, 0, 376217),
(409, 0, 376229),
(409, 0, 376216),
(409, 0, 376227),
(409, 0, 376225),
(409, 0, 376221),
(409, 0, 376218),
(410, 0, 376071),
(410, 0, 376076),
(410, 0, 376074),
(410, 0, 376069),
(410, 0, 376070),
(410, 0, 376073),
(410, 0, 376075),
(410, 0, 376092),
(410, 0, 376072),
(410, 0, 376077);

View File

@@ -26,32 +26,31 @@ uint32 const EncounterCount = 6;
enum DMDataTypes
{
// Encounters
DATA_GLUBTOK = 0,
DATA_HELIX_GEARBREAKER = 1,
DATA_FOE_REAPER_5000 = 2,
DATA_ADMIRAL_RIPSNARL = 3,
DATA_CAPTAIN_COOKIE = 4,
DATA_VANESSA_VAN_CLEEF = 5,
DATA_GLUBTOK = 0,
DATA_HELIX_GEARBREAKER = 1,
DATA_FOE_REAPER_5000 = 2,
DATA_ADMIRAL_RIPSNARL = 3,
DATA_CAPTAIN_COOKIE = 4,
DATA_VANESSA_VAN_CLEEF = 5,
DATA_TEAM_IN_INSTANCE = 6,
DATA_FIREWALL_PLATTER = 7,
DATA_LUMBERING_OAF = 8,
DATA_FOE_REAPER_INTRO = 9,
DATA_FOE_REAPER_BUNNY = 10,
DATA_PROTOTYPE_REAPER = 11,
DATA_BROKEN_DOOR = 13,
DATA_IRON_CLAD_DOOR = 14,
DATA_RIPSNARL_FOG = 15,
DATA_VANESSA_VAN_CLEEF_ENCOUNTER = 16,
DATA_VANESSAS_TRAP_BUNNY = 17,
DATA_VANESSA_ANCHOR_BUNNY = 18,
DATA_ACTIVATED_VENT = 19,
DATA_FOUNDRY_DOOR = 20,
DATA_VANESSA_VAN_CLEEF_NIGHTMARE = 21,
DATA_EMME_HARRINGTON = 22,
DATA_ERIK_HARRINGTON = 23,
DATA_CALISSA_HARRINGTON = 24,
DATA_SUMMON_ROPES = 25
DATA_FIREWALL_PLATTER,
DATA_LUMBERING_OAF,
DATA_FOE_REAPER_INTRO,
DATA_FOE_REAPER_BUNNY,
DATA_PROTOTYPE_REAPER,
DATA_BROKEN_DOOR,
DATA_IRON_CLAD_DOOR,
DATA_RIPSNARL_FOG,
DATA_VANESSA_VAN_CLEEF_ENCOUNTER,
DATA_VANESSAS_TRAP_BUNNY,
DATA_VANESSA_ANCHOR_BUNNY,
DATA_ACTIVATED_VENT,
DATA_FOUNDRY_DOOR,
DATA_VANESSA_VAN_CLEEF_NIGHTMARE,
DATA_EMME_HARRINGTON,
DATA_ERIK_HARRINGTON,
DATA_CALISSA_HARRINGTON,
DATA_SUMMON_ROPES
};
enum DMCreatures
@@ -64,20 +63,6 @@ enum DMCreatures
BOSS_CAPTAIN_COOKIE = 47739,
BOSS_VANESSA_VAN_CLEEF = 49541,
// Horde Creatures
NPC_SLINKY_SHARPSHIV = 46906,
NPC_KAGTHA = 46889,
NPC_MISS_MAYHEM = 46902,
NPC_SHATTERED_HAND_ASSASSIN = 46890,
NPC_MAYHEM_REAPER_PROTOTYPE = 46903,
// Alliance Creatures
NPC_STORMWIND_INVESTIGATOR = 46614,
NPC_CRIME_SCENE_ALARM_O_BOT = 46613,
NPC_STORMWIND_DEFENDER = 50595,
NPC_LIEUTENANT_HORATIO_LAINE = 46612,
NPC_QUARTERMASTER_LEWIS = 491,
// Encounter Related
NPC_GENERAL_PURPOSE_DUMMY_JMF = 45979,
NPC_GLUBTOK_FIREWALL_PLATTER = 48974,

View File

@@ -107,6 +107,12 @@ DoorData const doorData[] =
{ 0, 0, DOOR_TYPE_ROOM } // END
};
enum SpawnGroups
{
SPAWN_GROUP_ALLIANCE_ENTRANCE = 409,
SPAWN_GROUP_HORDE_ENTRANCE = 410
};
class instance_deadmines : public InstanceMapScript
{
public:
@@ -136,7 +142,10 @@ class instance_deadmines : public InstanceMapScript
{
instance->LoadGrid(-205.75f, -579.09f);
if (!_teamInInstance)
{
_teamInInstance = player->GetTeam();
instance->SpawnGroupSpawn(_teamInInstance == ALLIANCE ? SPAWN_GROUP_ALLIANCE_ENTRANCE : SPAWN_GROUP_HORDE_ENTRANCE);
}
if (!_cookieSpawnChecked)
{
@@ -168,24 +177,6 @@ class instance_deadmines : public InstanceMapScript
switch (creature->GetEntry())
{
// Horde restricted creatures
case NPC_SLINKY_SHARPSHIV:
case NPC_KAGTHA:
case NPC_MISS_MAYHEM:
case NPC_SHATTERED_HAND_ASSASSIN:
case NPC_MAYHEM_REAPER_PROTOTYPE:
if (_teamInInstance != HORDE)
creature->SetVisible(false);
break;
// Alliance restricted creatures
case NPC_STORMWIND_INVESTIGATOR:
case NPC_CRIME_SCENE_ALARM_O_BOT:
case NPC_STORMWIND_DEFENDER:
case NPC_LIEUTENANT_HORATIO_LAINE:
case NPC_QUARTERMASTER_LEWIS:
if (_teamInInstance != ALLIANCE)
creature->SetVisible(false);
break;
case NPC_FIREWALL_PLATTER_1A:
case NPC_FIREWALL_PLATTER_1B:
case NPC_FIREWALL_PLATTER_1C:
@@ -462,10 +453,6 @@ class instance_deadmines : public InstanceMapScript
{
switch (type)
{
case DATA_TEAM_IN_INSTANCE:
_teamInInstance = data;
SaveToDB();
break;
case DATA_FOE_REAPER_INTRO:
if (data == DONE)
{
@@ -611,8 +598,6 @@ class instance_deadmines : public InstanceMapScript
{
switch (type)
{
case DATA_TEAM_IN_INSTANCE:
return _teamInInstance;
case DATA_FOE_REAPER_INTRO:
return _foeReaper5000Intro;
case DATA_BROKEN_DOOR:
@@ -890,14 +875,12 @@ class instance_deadmines : public InstanceMapScript
void WriteSaveDataMore(std::ostringstream& data) override
{
data << _teamInInstance << ' '
<< _foeReaper5000Intro << ' '
data << _foeReaper5000Intro << ' '
<< _ironCladDoorState;
}
void ReadSaveDataMore(std::istringstream& data) override
{
data >> _teamInInstance;
data >> _foeReaper5000Intro;
data >> _ironCladDoorState;
}