diff --git a/sql/updates/world/custom/custom_2019_10_05_00_world.sql b/sql/updates/world/custom/custom_2019_10_05_00_world.sql new file mode 100644 index 00000000000..39fce3246e6 --- /dev/null +++ b/sql/updates/world/custom/custom_2019_10_05_00_world.sql @@ -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); diff --git a/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h b/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h index 55a5ca968c6..76f74d168ad 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h +++ b/src/server/scripts/EasternKingdoms/Deadmines/deadmines.h @@ -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, diff --git a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp index 83dc2e95aa0..754ee9ebc62 100644 --- a/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp +++ b/src/server/scripts/EasternKingdoms/Deadmines/instance_deadmines.cpp @@ -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; }