mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-16 07:30:42 +01:00
DB/SpawnGroup: Instance spawn group data for Tempest Keep: The Eye and Hellfire Citadel: Ramparts.
(also some minor adjustments to command output for convenience)
(cherry picked from commit 51e28ae76a)
This commit is contained in:
@@ -0,0 +1,226 @@
|
||||
-- SpawnGroupMapper auto-generated SQL for map 550 (Tempest Keep)
|
||||
|
||||
-- Constant setter section - adjust this
|
||||
-- spawn_group_template (4 entries)
|
||||
SET @FIRSTGROUPID := 44;
|
||||
-- Boss state associations
|
||||
SET @ALAR := 1; -- boss state that controls group "Al'ar"
|
||||
SET @VOIDREAVER := 3; -- boss state that controls group "Void Reaver"
|
||||
SET @SOLARIAN := 2; -- boss state that controls group "Solarian"
|
||||
SET @KAELTHAS := 0; -- boss state that controls group "Kael'thas"
|
||||
|
||||
-- DB modification section - you shouldn't need to touch this
|
||||
-- Insert spawn group templates
|
||||
DELETE FROM `spawn_group_template` WHERE `groupId` BETWEEN @FIRSTGROUPID+0 AND @FIRSTGROUPID+3;
|
||||
INSERT INTO `spawn_group_template` (`groupId`,`groupName`,`groupFlags`) VALUES
|
||||
(@FIRSTGROUPID+0, "Tempest Keep - Al'ar", 0x04),
|
||||
(@FIRSTGROUPID+1, "Tempest Keep - Void Reaver", 0x04),
|
||||
(@FIRSTGROUPID+2, "Tempest Keep - Solarian", 0x04),
|
||||
(@FIRSTGROUPID+3, "Tempest Keep - Kael'thas", 0x04);
|
||||
|
||||
-- Insert spawn group data
|
||||
DELETE FROM `spawn_group` WHERE `groupId` BETWEEN @FIRSTGROUPID+0 AND @FIRSTGROUPID+3;
|
||||
INSERT INTO `spawn_group` (`groupId`,`spawnType`,`spawnId`) VALUES
|
||||
(@FIRSTGROUPID+2, 0, 12524),
|
||||
(@FIRSTGROUPID+3, 0, 86952),
|
||||
(@FIRSTGROUPID+2, 0, 12532),
|
||||
(@FIRSTGROUPID+2, 0, 12534),
|
||||
(@FIRSTGROUPID+2, 0, 12536),
|
||||
(@FIRSTGROUPID+2, 0, 12538),
|
||||
(@FIRSTGROUPID+2, 0, 12540),
|
||||
(@FIRSTGROUPID+2, 0, 12542),
|
||||
(@FIRSTGROUPID+1, 0, 12550),
|
||||
(@FIRSTGROUPID+1, 0, 12552),
|
||||
(@FIRSTGROUPID+1, 0, 12554),
|
||||
(@FIRSTGROUPID+1, 0, 12556),
|
||||
(@FIRSTGROUPID+1, 0, 12558),
|
||||
(@FIRSTGROUPID+1, 0, 12564),
|
||||
(@FIRSTGROUPID+1, 0, 12566),
|
||||
(@FIRSTGROUPID+3, 0, 12568),
|
||||
(@FIRSTGROUPID+3, 0, 12570),
|
||||
(@FIRSTGROUPID+0, 0, 554),
|
||||
(@FIRSTGROUPID+3, 0, 144136),
|
||||
(@FIRSTGROUPID+3, 0, 144105),
|
||||
(@FIRSTGROUPID+3, 0, 144137),
|
||||
(@FIRSTGROUPID+3, 0, 86939),
|
||||
(@FIRSTGROUPID+3, 0, 144106),
|
||||
(@FIRSTGROUPID+3, 0, 144138),
|
||||
(@FIRSTGROUPID+3, 0, 7987),
|
||||
(@FIRSTGROUPID+3, 0, 144107),
|
||||
(@FIRSTGROUPID+3, 0, 144139),
|
||||
(@FIRSTGROUPID+3, 0, 86941),
|
||||
(@FIRSTGROUPID+3, 0, 86940),
|
||||
(@FIRSTGROUPID+3, 0, 144110),
|
||||
(@FIRSTGROUPID+3, 0, 144108),
|
||||
(@FIRSTGROUPID+3, 0, 144140),
|
||||
(@FIRSTGROUPID+2, 0, 12467),
|
||||
(@FIRSTGROUPID+3, 0, 144146),
|
||||
(@FIRSTGROUPID+2, 0, 12411),
|
||||
(@FIRSTGROUPID+2, 0, 12413),
|
||||
(@FIRSTGROUPID+2, 0, 12415),
|
||||
(@FIRSTGROUPID+3, 0, 144109),
|
||||
(@FIRSTGROUPID+2, 0, 12419),
|
||||
(@FIRSTGROUPID+2, 0, 12421),
|
||||
(@FIRSTGROUPID+2, 0, 12423),
|
||||
(@FIRSTGROUPID+2, 0, 12425),
|
||||
(@FIRSTGROUPID+2, 0, 12427),
|
||||
(@FIRSTGROUPID+2, 0, 12429),
|
||||
(@FIRSTGROUPID+2, 0, 12431),
|
||||
(@FIRSTGROUPID+0, 0, 12433),
|
||||
(@FIRSTGROUPID+0, 0, 12435),
|
||||
(@FIRSTGROUPID+0, 0, 12437),
|
||||
(@FIRSTGROUPID+0, 0, 12439),
|
||||
(@FIRSTGROUPID+0, 0, 12441),
|
||||
(@FIRSTGROUPID+0, 0, 12443),
|
||||
(@FIRSTGROUPID+0, 0, 12445),
|
||||
(@FIRSTGROUPID+0, 0, 12447),
|
||||
(@FIRSTGROUPID+0, 0, 12449),
|
||||
(@FIRSTGROUPID+0, 0, 12451),
|
||||
(@FIRSTGROUPID+0, 0, 12453),
|
||||
(@FIRSTGROUPID+0, 0, 12455),
|
||||
(@FIRSTGROUPID+1, 0, 12461),
|
||||
(@FIRSTGROUPID+3, 0, 12463),
|
||||
(@FIRSTGROUPID+3, 0, 144144),
|
||||
(@FIRSTGROUPID+2, 0, 12469),
|
||||
(@FIRSTGROUPID+2, 0, 12471),
|
||||
(@FIRSTGROUPID+2, 0, 12473),
|
||||
(@FIRSTGROUPID+0, 0, 12475),
|
||||
(@FIRSTGROUPID+2, 0, 12477),
|
||||
(@FIRSTGROUPID+0, 0, 12479),
|
||||
(@FIRSTGROUPID+3, 0, 144145),
|
||||
(@FIRSTGROUPID+0, 0, 12485),
|
||||
(@FIRSTGROUPID+0, 0, 12487),
|
||||
(@FIRSTGROUPID+2, 0, 12489),
|
||||
(@FIRSTGROUPID+2, 0, 12491),
|
||||
(@FIRSTGROUPID+3, 0, 86943),
|
||||
(@FIRSTGROUPID+2, 0, 12495),
|
||||
(@FIRSTGROUPID+2, 0, 12497),
|
||||
(@FIRSTGROUPID+2, 0, 12499),
|
||||
(@FIRSTGROUPID+2, 0, 12501),
|
||||
(@FIRSTGROUPID+2, 0, 12503),
|
||||
(@FIRSTGROUPID+2, 0, 12505),
|
||||
(@FIRSTGROUPID+2, 0, 12507),
|
||||
(@FIRSTGROUPID+2, 0, 12509),
|
||||
(@FIRSTGROUPID+2, 0, 12511),
|
||||
(@FIRSTGROUPID+3, 0, 144147),
|
||||
(@FIRSTGROUPID+2, 0, 12517),
|
||||
(@FIRSTGROUPID+2, 0, 12519),
|
||||
(@FIRSTGROUPID+2, 0, 12521),
|
||||
(@FIRSTGROUPID+2, 0, 12523),
|
||||
(@FIRSTGROUPID+3, 0, 86944),
|
||||
(@FIRSTGROUPID+2, 0, 12527),
|
||||
(@FIRSTGROUPID+3, 0, 144148),
|
||||
(@FIRSTGROUPID+2, 0, 12533),
|
||||
(@FIRSTGROUPID+2, 0, 12535),
|
||||
(@FIRSTGROUPID+2, 0, 12537),
|
||||
(@FIRSTGROUPID+2, 0, 12539),
|
||||
(@FIRSTGROUPID+2, 0, 12541),
|
||||
(@FIRSTGROUPID+3, 0, 12543),
|
||||
(@FIRSTGROUPID+3, 0, 144149),
|
||||
(@FIRSTGROUPID+1, 0, 12549),
|
||||
(@FIRSTGROUPID+1, 0, 12551),
|
||||
(@FIRSTGROUPID+1, 0, 12553),
|
||||
(@FIRSTGROUPID+1, 0, 12555),
|
||||
(@FIRSTGROUPID+1, 0, 12557),
|
||||
(@FIRSTGROUPID+1, 0, 12559),
|
||||
(@FIRSTGROUPID+3, 0, 144150),
|
||||
(@FIRSTGROUPID+1, 0, 12565),
|
||||
(@FIRSTGROUPID+3, 0, 12567),
|
||||
(@FIRSTGROUPID+3, 0, 12569),
|
||||
(@FIRSTGROUPID+3, 0, 144141),
|
||||
(@FIRSTGROUPID+2, 0, 12513),
|
||||
(@FIRSTGROUPID+3, 0, 144151),
|
||||
(@FIRSTGROUPID+2, 0, 12515),
|
||||
(@FIRSTGROUPID+2, 0, 12529),
|
||||
(@FIRSTGROUPID+2, 0, 12526),
|
||||
(@FIRSTGROUPID+3, 0, 86946),
|
||||
(@FIRSTGROUPID+3, 0, 144152),
|
||||
(@FIRSTGROUPID+3, 0, 86951),
|
||||
(@FIRSTGROUPID+2, 0, 12531),
|
||||
(@FIRSTGROUPID+2, 0, 12530),
|
||||
(@FIRSTGROUPID+2, 0, 12528),
|
||||
(@FIRSTGROUPID+2, 0, 12525),
|
||||
(@FIRSTGROUPID+3, 0, 144153),
|
||||
(@FIRSTGROUPID+3, 0, 144142),
|
||||
(@FIRSTGROUPID+0, 0, 12480),
|
||||
(@FIRSTGROUPID+3, 0, 12465),
|
||||
(@FIRSTGROUPID+3, 0, 86947),
|
||||
(@FIRSTGROUPID+2, 0, 12493),
|
||||
(@FIRSTGROUPID+3, 0, 12544),
|
||||
(@FIRSTGROUPID+3, 0, 86945),
|
||||
(@FIRSTGROUPID+3, 0, 86953),
|
||||
(@FIRSTGROUPID+3, 0, 86942),
|
||||
(@FIRSTGROUPID+1, 0, 12462),
|
||||
(@FIRSTGROUPID+1, 0, 12562),
|
||||
(@FIRSTGROUPID+1, 0, 12561),
|
||||
(@FIRSTGROUPID+1, 0, 12563),
|
||||
(@FIRSTGROUPID+1, 0, 12560),
|
||||
(@FIRSTGROUPID+3, 0, 86948),
|
||||
(@FIRSTGROUPID+0, 0, 12450),
|
||||
(@FIRSTGROUPID+2, 0, 12430),
|
||||
(@FIRSTGROUPID+0, 0, 12434),
|
||||
(@FIRSTGROUPID+2, 0, 12410),
|
||||
(@FIRSTGROUPID+2, 0, 12412),
|
||||
(@FIRSTGROUPID+2, 0, 12414),
|
||||
(@FIRSTGROUPID+2, 0, 12416),
|
||||
(@FIRSTGROUPID+2, 0, 12418),
|
||||
(@FIRSTGROUPID+2, 0, 12420),
|
||||
(@FIRSTGROUPID+2, 0, 12422),
|
||||
(@FIRSTGROUPID+2, 0, 12424),
|
||||
(@FIRSTGROUPID+2, 0, 12426),
|
||||
(@FIRSTGROUPID+2, 0, 12428),
|
||||
(@FIRSTGROUPID+3, 0, 86949),
|
||||
(@FIRSTGROUPID+2, 0, 12432),
|
||||
(@FIRSTGROUPID+0, 0, 12436),
|
||||
(@FIRSTGROUPID+0, 0, 12438),
|
||||
(@FIRSTGROUPID+0, 0, 12440),
|
||||
(@FIRSTGROUPID+0, 0, 12442),
|
||||
(@FIRSTGROUPID+0, 0, 12444),
|
||||
(@FIRSTGROUPID+0, 0, 12446),
|
||||
(@FIRSTGROUPID+0, 0, 12448),
|
||||
(@FIRSTGROUPID+0, 0, 12452),
|
||||
(@FIRSTGROUPID+0, 0, 12454),
|
||||
(@FIRSTGROUPID+0, 0, 12456),
|
||||
(@FIRSTGROUPID+1, 0, 12458),
|
||||
(@FIRSTGROUPID+3, 0, 144143),
|
||||
(@FIRSTGROUPID+3, 0, 86950),
|
||||
(@FIRSTGROUPID+3, 0, 12464),
|
||||
(@FIRSTGROUPID+3, 0, 12466),
|
||||
(@FIRSTGROUPID+3, 0, 12468),
|
||||
(@FIRSTGROUPID+2, 0, 12470),
|
||||
(@FIRSTGROUPID+2, 0, 12472),
|
||||
(@FIRSTGROUPID+2, 0, 12474),
|
||||
(@FIRSTGROUPID+0, 0, 12476),
|
||||
(@FIRSTGROUPID+1, 0, 12478),
|
||||
(@FIRSTGROUPID+0, 0, 12484),
|
||||
(@FIRSTGROUPID+0, 0, 12486),
|
||||
(@FIRSTGROUPID+2, 0, 12488),
|
||||
(@FIRSTGROUPID+2, 0, 12490),
|
||||
(@FIRSTGROUPID+2, 0, 12492),
|
||||
(@FIRSTGROUPID+2, 0, 12494),
|
||||
(@FIRSTGROUPID+2, 0, 12496),
|
||||
(@FIRSTGROUPID+2, 0, 12498),
|
||||
(@FIRSTGROUPID+2, 0, 12500),
|
||||
(@FIRSTGROUPID+2, 0, 12502),
|
||||
(@FIRSTGROUPID+2, 0, 12504),
|
||||
(@FIRSTGROUPID+2, 0, 12506),
|
||||
(@FIRSTGROUPID+2, 0, 12508),
|
||||
(@FIRSTGROUPID+2, 0, 12510),
|
||||
(@FIRSTGROUPID+2, 0, 12512),
|
||||
(@FIRSTGROUPID+2, 0, 12514),
|
||||
(@FIRSTGROUPID+2, 0, 12516),
|
||||
(@FIRSTGROUPID+2, 0, 12518),
|
||||
(@FIRSTGROUPID+2, 0, 12520),
|
||||
(@FIRSTGROUPID+2, 0, 12522),
|
||||
(@FIRSTGROUPID+2, 0, 12417);
|
||||
|
||||
-- Link information for instance script
|
||||
DELETE FROM `instance_spawn_groups` WHERE `instanceMapId` = 550;
|
||||
INSERT INTO `instance_spawn_groups` (`instanceMapId`, `bossStateId`, `bossStates`, `spawnGroupId`, `flags`) VALUES
|
||||
(550,@ALAR,0x17,@FIRSTGROUPID+0,0x1), -- Spawn Al'ar if state is not DONE
|
||||
(550,@VOIDREAVER,0x17,@FIRSTGROUPID+1,0x1), -- Spawn Void Reaver if state is not DONE
|
||||
(550,@SOLARIAN,0x17,@FIRSTGROUPID+2,0x1), -- Spawn Solarian if state is not DONE
|
||||
(550,@KAELTHAS,0x17,@FIRSTGROUPID+3,0x1); -- Spawn Kael'thas if state is not DONE
|
||||
|
||||
-- Remove legacy linked_respawn entries
|
||||
DELETE lr FROM `linked_respawn` lr INNER JOIN `spawn_group` sg ON sg.`groupId` BETWEEN @FIRSTGROUPID+0 AND @FIRSTGROUPID+3 AND sg.`spawnType` = (lr.linkType >> 1) AND sg.`spawnId`=lr.`guid`;
|
||||
@@ -0,0 +1,137 @@
|
||||
-- SpawnGroupMapper auto-generated SQL for map 543 (Hellfire Citadel: Ramparts)
|
||||
|
||||
-- Constant setter section - adjust this
|
||||
-- spawn_group_template (4 entries)
|
||||
SET @FIRSTGROUPID := 48;
|
||||
-- Boss state associations
|
||||
SET @WATCHKEEPERGARGOLMAR := 0; -- boss state that controls group "Watchkeeper Gargolmar"
|
||||
SET @OMORTHEUNSCARRED := 1; -- boss state that controls group "Omor the Unscarred"
|
||||
SET @VAZRUDEN := 2; -- boss state that controls group "Vazruden & Nazan"
|
||||
SET @NAZAN := 3; -- boss state that controls group "Vazruden & Nazan"
|
||||
|
||||
-- DB modification section - you shouldn't need to touch this
|
||||
-- Insert spawn group templates
|
||||
DELETE FROM `spawn_group_template` WHERE `groupId` BETWEEN @FIRSTGROUPID+0 AND @FIRSTGROUPID+3;
|
||||
INSERT INTO `spawn_group_template` (`groupId`,`groupName`,`groupFlags`) VALUES
|
||||
(@FIRSTGROUPID+0, "Hellfire Citadel: Ramparts - Watchkeeper Gargolmar", 0x04),
|
||||
(@FIRSTGROUPID+1, "Hellfire Citadel: Ramparts - Final boss trash", 0x04),
|
||||
(@FIRSTGROUPID+2, "Hellfire Citadel: Ramparts - Omor the Unscarred", 0x04),
|
||||
(@FIRSTGROUPID+3, "Hellfire Citadel: Ramparts - Vazruden & Nazan", 0x04);
|
||||
|
||||
-- Insert spawn group data
|
||||
DELETE FROM `spawn_group` WHERE `groupId` BETWEEN @FIRSTGROUPID+0 AND @FIRSTGROUPID+3;
|
||||
INSERT INTO `spawn_group` (`groupId`,`spawnType`,`spawnId`) VALUES
|
||||
(@FIRSTGROUPID+0, 0, 202634),
|
||||
(@FIRSTGROUPID+1, 0, 202650),
|
||||
(@FIRSTGROUPID+1, 0, 202666),
|
||||
(@FIRSTGROUPID+0, 0, 202682),
|
||||
(@FIRSTGROUPID+1, 0, 202698),
|
||||
(@FIRSTGROUPID+0, 0, 202619),
|
||||
(@FIRSTGROUPID+0, 0, 202635),
|
||||
(@FIRSTGROUPID+1, 0, 202651),
|
||||
(@FIRSTGROUPID+0, 0, 202667),
|
||||
(@FIRSTGROUPID+1, 0, 202683),
|
||||
(@FIRSTGROUPID+1, 0, 202699),
|
||||
(@FIRSTGROUPID+1, 0, 202620),
|
||||
(@FIRSTGROUPID+0, 0, 202636),
|
||||
(@FIRSTGROUPID+1, 0, 202652),
|
||||
(@FIRSTGROUPID+1, 0, 202668),
|
||||
(@FIRSTGROUPID+0, 0, 202684),
|
||||
(@FIRSTGROUPID+1, 0, 202700),
|
||||
(@FIRSTGROUPID+0, 0, 202621),
|
||||
(@FIRSTGROUPID+0, 0, 202637),
|
||||
(@FIRSTGROUPID+1, 0, 202653),
|
||||
(@FIRSTGROUPID+1, 0, 202669),
|
||||
(@FIRSTGROUPID+1, 0, 202685),
|
||||
(@FIRSTGROUPID+1, 0, 202701),
|
||||
(@FIRSTGROUPID+0, 0, 202622),
|
||||
(@FIRSTGROUPID+0, 0, 202638),
|
||||
(@FIRSTGROUPID+0, 0, 202654),
|
||||
(@FIRSTGROUPID+0, 0, 202670),
|
||||
(@FIRSTGROUPID+1, 0, 202686),
|
||||
(@FIRSTGROUPID+0, 0, 202702),
|
||||
(@FIRSTGROUPID+0, 0, 202607),
|
||||
(@FIRSTGROUPID+1, 0, 202623),
|
||||
(@FIRSTGROUPID+0, 0, 202639),
|
||||
(@FIRSTGROUPID+0, 0, 202655),
|
||||
(@FIRSTGROUPID+0, 0, 202671),
|
||||
(@FIRSTGROUPID+1, 0, 202687),
|
||||
(@FIRSTGROUPID+0, 0, 202703),
|
||||
(@FIRSTGROUPID+1, 0, 202608),
|
||||
(@FIRSTGROUPID+1, 0, 202624),
|
||||
(@FIRSTGROUPID+0, 0, 202640),
|
||||
(@FIRSTGROUPID+0, 0, 202656),
|
||||
(@FIRSTGROUPID+0, 0, 202672),
|
||||
(@FIRSTGROUPID+1, 0, 202688),
|
||||
(@FIRSTGROUPID+0, 0, 202704),
|
||||
(@FIRSTGROUPID+1, 0, 202609),
|
||||
(@FIRSTGROUPID+0, 0, 202625),
|
||||
(@FIRSTGROUPID+0, 0, 202641),
|
||||
(@FIRSTGROUPID+0, 0, 202657),
|
||||
(@FIRSTGROUPID+0, 0, 202673),
|
||||
(@FIRSTGROUPID+1, 0, 202689),
|
||||
(@FIRSTGROUPID+3, 0, 202705),
|
||||
(@FIRSTGROUPID+0, 0, 202610),
|
||||
(@FIRSTGROUPID+0, 0, 202626),
|
||||
(@FIRSTGROUPID+1, 0, 202642),
|
||||
(@FIRSTGROUPID+0, 0, 202658),
|
||||
(@FIRSTGROUPID+0, 0, 202674),
|
||||
(@FIRSTGROUPID+1, 0, 202690),
|
||||
(@FIRSTGROUPID+3, 0, 202706),
|
||||
(@FIRSTGROUPID+0, 0, 202611),
|
||||
(@FIRSTGROUPID+0, 0, 202627),
|
||||
(@FIRSTGROUPID+1, 0, 202643),
|
||||
(@FIRSTGROUPID+0, 0, 202659),
|
||||
(@FIRSTGROUPID+0, 0, 202675),
|
||||
(@FIRSTGROUPID+0, 0, 202691),
|
||||
(@FIRSTGROUPID+0, 0, 202612),
|
||||
(@FIRSTGROUPID+0, 0, 202628),
|
||||
(@FIRSTGROUPID+1, 0, 202644),
|
||||
(@FIRSTGROUPID+0, 0, 202660),
|
||||
(@FIRSTGROUPID+0, 0, 202676),
|
||||
(@FIRSTGROUPID+0, 0, 202692),
|
||||
(@FIRSTGROUPID+0, 0, 202613),
|
||||
(@FIRSTGROUPID+0, 0, 202629),
|
||||
(@FIRSTGROUPID+0, 0, 202645),
|
||||
(@FIRSTGROUPID+1, 0, 202661),
|
||||
(@FIRSTGROUPID+0, 0, 202677),
|
||||
(@FIRSTGROUPID+3, 0, 202693),
|
||||
(@FIRSTGROUPID+1, 0, 202614),
|
||||
(@FIRSTGROUPID+1, 0, 202630),
|
||||
(@FIRSTGROUPID+0, 0, 202646),
|
||||
(@FIRSTGROUPID+1, 0, 202662),
|
||||
(@FIRSTGROUPID+0, 0, 202678),
|
||||
(@FIRSTGROUPID+2, 0, 202694),
|
||||
(@FIRSTGROUPID+1, 0, 202615),
|
||||
(@FIRSTGROUPID+0, 0, 202631),
|
||||
(@FIRSTGROUPID+0, 0, 202647),
|
||||
(@FIRSTGROUPID+0, 0, 202663),
|
||||
(@FIRSTGROUPID+0, 0, 202679),
|
||||
(@FIRSTGROUPID+0, 0, 202695),
|
||||
(@FIRSTGROUPID+1, 0, 202616),
|
||||
(@FIRSTGROUPID+2, 0, 202632),
|
||||
(@FIRSTGROUPID+0, 0, 202648),
|
||||
(@FIRSTGROUPID+0, 0, 202664),
|
||||
(@FIRSTGROUPID+0, 0, 202680),
|
||||
(@FIRSTGROUPID+0, 0, 202696),
|
||||
(@FIRSTGROUPID+0, 0, 202617),
|
||||
(@FIRSTGROUPID+2, 0, 202633),
|
||||
(@FIRSTGROUPID+0, 0, 202649),
|
||||
(@FIRSTGROUPID+0, 0, 202665),
|
||||
(@FIRSTGROUPID+0, 0, 202681),
|
||||
(@FIRSTGROUPID+0, 0, 202697),
|
||||
(@FIRSTGROUPID+0, 0, 202618);
|
||||
|
||||
-- Link information for instance script
|
||||
DELETE FROM `instance_spawn_groups` WHERE `instanceMapId` = 543;
|
||||
INSERT INTO `instance_spawn_groups` (`instanceMapId`, `bossStateId`, `bossStates`, `spawnGroupId`, `flags`) VALUES
|
||||
(543,@WATCHKEEPERGARGOLMAR,0x17,@FIRSTGROUPID+0,0x1), -- Spawn Watchkeeper Gargolmar if state is not DONE
|
||||
(543,@OMORTHEUNSCARRED,0x17,@FIRSTGROUPID+1,0x1), -- Spawn Final boss trash if state is not DONE
|
||||
(543,@VAZRUDEN,0x08,@FIRSTGROUPID+1,0x2), -- Do not spawn Final boss trash if state is DONE
|
||||
(543,@NAZAN,0x08,@FIRSTGROUPID+1,0x2), -- Do not spawn Final boss trash if state is DONE
|
||||
(543,@OMORTHEUNSCARRED,0x17,@FIRSTGROUPID+2,0x1), -- Spawn Omor the Unscarred if state is not DONE
|
||||
(543,@VAZRUDEN,0x17,@FIRSTGROUPID+3,0x1), -- Spawn Vazruden & Nazan if state is not DONE
|
||||
(543,@NAZAN,0x08,@FIRSTGROUPID+3,0x2); -- Do not spawn Vazruden & Nazan if state is DONE
|
||||
|
||||
-- Remove legacy linked_respawn entries
|
||||
DELETE lr FROM `linked_respawn` lr INNER JOIN `spawn_group` sg ON sg.`groupId` BETWEEN @FIRSTGROUPID+0 AND @FIRSTGROUPID+3 AND sg.`spawnType` = (lr.linkType >> 1) AND sg.`spawnId`=lr.`guid`;
|
||||
@@ -3461,7 +3461,7 @@ bool Map::SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn, bool force, std::v
|
||||
return true;
|
||||
}
|
||||
|
||||
bool Map::SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes)
|
||||
bool Map::SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes, size_t* count)
|
||||
{
|
||||
SpawnGroupTemplateData const* groupData = GetSpawnGroupData(groupId);
|
||||
if (!groupData || groupData->flags & SPAWNGROUP_FLAG_SYSTEM)
|
||||
@@ -3498,6 +3498,10 @@ bool Map::SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes)
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (count)
|
||||
*count = toUnload.size();
|
||||
|
||||
// now do the actual despawning
|
||||
for (WorldObject* obj : toUnload)
|
||||
obj->AddObjectToRemoveList();
|
||||
|
||||
@@ -761,7 +761,7 @@ class TC_GAME_API Map : public GridRefManager<NGridType>
|
||||
|
||||
SpawnGroupTemplateData const* GetSpawnGroupData(uint32 groupId) const;
|
||||
bool SpawnGroupSpawn(uint32 groupId, bool ignoreRespawn = false, bool force = false, std::vector<WorldObject*>* spawnedObjects = nullptr);
|
||||
bool SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes = false);
|
||||
bool SpawnGroupDespawn(uint32 groupId, bool deleteRespawnTimes = false, size_t* count = nullptr);
|
||||
void SetSpawnGroupActive(uint32 groupId, bool state);
|
||||
bool IsSpawnGroupActive(uint32 groupId) const;
|
||||
|
||||
|
||||
@@ -50,6 +50,8 @@ EndScriptData */
|
||||
#include "WorldSession.h"
|
||||
#include <fstream>
|
||||
#include <limits>
|
||||
#include <map>
|
||||
#include <set>
|
||||
#include <sstream>
|
||||
|
||||
class debug_commandscript : public CommandScript
|
||||
@@ -1522,7 +1524,7 @@ public:
|
||||
return false;
|
||||
}
|
||||
auto const& spawnGroups = *instance->_instanceSpawnGroups;
|
||||
std::unordered_map<uint32, std::set<std::tuple<bool, uint8, uint8>>> store;
|
||||
std::map<uint32, std::set<std::tuple<bool, uint8, uint8>>> store;
|
||||
for (InstanceSpawnGroupInfo const& info : spawnGroups)
|
||||
{
|
||||
if (groupID && info.SpawnGroupId != groupID)
|
||||
@@ -1579,7 +1581,7 @@ public:
|
||||
}
|
||||
}
|
||||
else
|
||||
handler->PSendSysMessage(" | |-- '%s' could've been %s if boss state %u matched mask %u; but it is %s -> %u, which does not match.",
|
||||
handler->PSendSysMessage(" | |-- '%s' could've been %s if boss state %u matched mask 0x%02x; but it is %s -> 0x%02x, which does not match.",
|
||||
groupData->name, isSpawn ? "allowed to spawn" : "blocked from spawning", bossStateId, std::get<2>(tuple), InstanceScript::GetBossStateName(actualState), (1 << actualState));
|
||||
}
|
||||
if (isBlocked)
|
||||
|
||||
@@ -246,8 +246,6 @@ bool HandleNpcSpawnGroup(ChatHandler* handler, char const* args)
|
||||
}
|
||||
|
||||
handler->PSendSysMessage(LANG_SPAWNGROUP_SPAWNCOUNT, creatureList.size());
|
||||
for (WorldObject* obj : creatureList)
|
||||
handler->PSendSysMessage("%s (%s)", obj->GetName(), obj->GetGUID().ToString().c_str());
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -278,12 +276,14 @@ bool HandleNpcDespawnGroup(ChatHandler* handler, char const* args)
|
||||
|
||||
Player* player = handler->GetSession()->GetPlayer();
|
||||
|
||||
if (!player->GetMap()->SpawnGroupDespawn(groupId, deleteRespawnTimes))
|
||||
size_t n = 0;
|
||||
if (!player->GetMap()->SpawnGroupDespawn(groupId, deleteRespawnTimes, &n))
|
||||
{
|
||||
handler->PSendSysMessage(LANG_SPAWNGROUP_BADGROUP, groupId);
|
||||
handler->SetSentErrorMessage(true);
|
||||
return false;
|
||||
}
|
||||
handler->PSendSysMessage("Despawned a total of %zu objects.", n);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user