Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions conf/AutoBalance.conf.dist
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,8 @@ AutoBalance.Disable.PerInstance = ""
# Default: 1
AutoBalance.MinPlayers = 1
AutoBalance.MinPlayers.Heroic = 1
AutoBalance.MinPlayers.Raid = 1
AutoBalance.MinPlayers.RaidHeroic = 1

#
# AutoBalance.MinPlayers.PerInstance
Expand Down
2 changes: 2 additions & 0 deletions src/ABConfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ std::list<uint32> disabledDungeonIds;

uint32 minPlayersNormal;
uint32 minPlayersHeroic;
uint32 minPlayersRaid;
uint32 minPlayersRaidHeroic;
std::map<uint32, uint8> minPlayersPerDungeonIdMap;
std::map<uint32, uint8> minPlayersPerHeroicDungeonIdMap;

Expand Down
2 changes: 2 additions & 0 deletions src/ABConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ extern std::list<uint32> disabledDun

extern uint32 minPlayersNormal;
extern uint32 minPlayersHeroic;
extern uint32 minPlayersRaid;
extern uint32 minPlayersRaidHeroic;
extern std::map<uint32, uint8> minPlayersPerDungeonIdMap;
extern std::map<uint32, uint8> minPlayersPerHeroicDungeonIdMap;

Expand Down
8 changes: 6 additions & 2 deletions src/ABUtils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2059,10 +2059,14 @@ void LoadMapSettings(Map* map)

if (isDungeonInMinPlayerMap(map->GetId(), instanceMap->IsHeroic()))
mapABInfo->minPlayers = instanceMap->IsHeroic() ? minPlayersPerHeroicDungeonIdMap[map->GetId()] : minPlayersPerDungeonIdMap[map->GetId()];
else if (instanceMap->IsHeroic())
if (instanceMap->GetMaxPlayers() <= 5 && !instanceMap->IsHeroic())
mapABInfo->minPlayers = minPlayersNormal;
else if (instanceMap->GetMaxPlayers() <= 5 && instanceMap->IsHeroic())
mapABInfo->minPlayers = minPlayersHeroic;
else if (instanceMap->GetMaxPlayers() > 5 && !instanceMap->IsHeroic())
mapABInfo->minPlayers = minPlayersRaid;
else
mapABInfo->minPlayers = minPlayersNormal;
mapABInfo->minPlayers = minPlayersRaidHeroic;

//
// If the minPlayers value we determined is less than the max number of players in this map, adjust down
Expand Down
2 changes: 2 additions & 0 deletions src/ABWorldScript.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ void AutoBalance_WorldScript::SetInitialWorldSettings()

minPlayersNormal = sConfigMgr->GetOption<int>("AutoBalance.MinPlayers", 1);
minPlayersHeroic = sConfigMgr->GetOption<int>("AutoBalance.MinPlayers.Heroic", 1);
minPlayersRaid = sConfigMgr->GetOption<int>("AutoBalance.MinPlayers.Raid", minPlayersNormal);
minPlayersRaidHeroic = sConfigMgr->GetOption<int>("AutoBalance.MinPlayers.RaidHeroic", minPlayersHeroic);

if (sConfigMgr->GetOption<float>("AutoBalance.PerDungeonPlayerCounts", false, false))
LOG_WARN("server.loading", "mod-autobalance: deprecated value `AutoBalance.PerDungeonPlayerCounts` defined in `AutoBalance.conf`. This variable will be removed in a future release. Please see `AutoBalance.conf.dist` for more details.");
Expand Down