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:
Treeston
2018-01-25 13:45:11 +01:00
committed by Shauren
parent 7c0ac5b959
commit 7db3f7ca96
6 changed files with 376 additions and 7 deletions

View File

@@ -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`;

View File

@@ -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`;

View File

@@ -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();

View File

@@ -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;

View File

@@ -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)

View File

@@ -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;
}