mirror of
https://github.com/kadeshar/mod-player-bot-level-brackets.git
synced 2026-01-13 01:08:36 +00:00
Adding some fixes
This commit is contained in:
@@ -79,8 +79,8 @@ BotLevelBrackets.LiteDebugMode | Enables lite debug logging for th
|
|||||||
BotLevelBrackets.CheckFrequency | Frequency (in seconds) at which the bot level distribution check is performed. | 300 | Positive Integer
|
BotLevelBrackets.CheckFrequency | Frequency (in seconds) at which the bot level distribution check is performed. | 300 | Positive Integer
|
||||||
BotLevelBrackets.CheckFlaggedFrequency | Frequency (in seconds) at which the bot level reset is performed for flagged bots that initially failed safety checks. | 15 | Positive Integer
|
BotLevelBrackets.CheckFlaggedFrequency | Frequency (in seconds) at which the bot level reset is performed for flagged bots that initially failed safety checks. | 15 | Positive Integer
|
||||||
BotLevelBrackets.FlaggedProcessLimit | Maximum number of flagged bots to process per pending level change step. | 5 | Positive Integer
|
BotLevelBrackets.FlaggedProcessLimit | Maximum number of flagged bots to process per pending level change step. | 5 | Positive Integer
|
||||||
BotLevelBrackets.Dynamic.UseDynamicDistribution | Enables dynamic bot distribution: when on, brackets with more real players get a higher share of bots, based on the weight below. | 0 | 0 (off) / 1 (on)
|
BotLevelBrackets.Dynamic.UseDynamicDistribution | Enables dynamic bot distribution: when on, brackets with more real players get a higher share of bots in their level bracket, based on the weight below. | 0 | 0 (off) / 1 (on)
|
||||||
BotLevelBrackets.Dynamic.RealPlayerWeight | Controls how much bots "follow" real player activity when dynamic distribution is enabled. 0.0 = bots always spread evenly; 1.0 = mild effect; higher values = more bots go where players are, but the effect is scaled. | 1.0 | ≥ 0.0 (float)
|
BotLevelBrackets.Dynamic.RealPlayerWeight | Controls how much bots "follow" real player activity when dynamic distribution is enabled. 0.0 = bots always spread evenly; 1.0 = minimal effect; 10.0 = heavy effect; higher values = more bots go where players are, but the effect is scaled. | 10.0 | ≥ 0.0 (float)
|
||||||
BotLevelBrackets.Dynamic.SyncFactions | Enables synchronized brackets and weighting between Alliance and Horde factions when Dynamic Distribution is also enabled. | 0 | 0 (off) / 1 (on)
|
BotLevelBrackets.Dynamic.SyncFactions | Enables synchronized brackets and weighting between Alliance and Horde factions when Dynamic Distribution is also enabled. | 0 | 0 (off) / 1 (on)
|
||||||
BotLevelBrackets.IgnoreFriendListed | Ignores bots that are on real players' friend lists from any bracket calculations. | 1 | 0 (off) / 1 (on)
|
BotLevelBrackets.IgnoreFriendListed | Ignores bots that are on real players' friend lists from any bracket calculations. | 1 | 0 (off) / 1 (on)
|
||||||
BotLevelBrackets.IgnoreGuildBotsWithRealPlayers | Excludes bots in a guild with at least one real (non-bot) player from adjustments. Uses persistent database tracking for both online and offline real players. | 1 | 0 (disabled) / 1 (enabled)
|
BotLevelBrackets.IgnoreGuildBotsWithRealPlayers | Excludes bots in a guild with at least one real (non-bot) player from adjustments. Uses persistent database tracking for both online and offline real players. | 1 | 0 (disabled) / 1 (enabled)
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ BotLevelBrackets.NumRanges = 9
|
|||||||
#
|
#
|
||||||
# BotLevelBrackets.Dynamic.UseDynamicDistribution
|
# BotLevelBrackets.Dynamic.UseDynamicDistribution
|
||||||
# Description: Enables dynamic recalculation of bot distribution percentages based on the number of non-bot players
|
# Description: Enables dynamic recalculation of bot distribution percentages based on the number of non-bot players
|
||||||
# present in each level bracket.
|
# present in each level bracket. This overrides any custom brackets in the conf.
|
||||||
# Default: 0 (disabled)
|
# Default: 0 (disabled)
|
||||||
# Valid values: 0 (off) / 1 (on)
|
# Valid values: 0 (off) / 1 (on)
|
||||||
BotLevelBrackets.Dynamic.UseDynamicDistribution = 0
|
BotLevelBrackets.Dynamic.UseDynamicDistribution = 0
|
||||||
@@ -95,7 +95,7 @@ BotLevelBrackets.Dynamic.UseDynamicDistribution = 0
|
|||||||
# The higher you set this value, the more bots will move to the same level brackets where real players are found, but the effect is *gentle*, not extreme.
|
# The higher you set this value, the more bots will move to the same level brackets where real players are found, but the effect is *gentle*, not extreme.
|
||||||
# A value of 0.0 means bots always distribute evenly across all brackets, regardless of where players are. The default value of 1.0 gives a mild, balanced effect.
|
# A value of 0.0 means bots always distribute evenly across all brackets, regardless of where players are. The default value of 1.0 gives a mild, balanced effect.
|
||||||
# Raising this to 3.0, 5.0, or higher will make bots concentrate more in brackets with real players.
|
# Raising this to 3.0, 5.0, or higher will make bots concentrate more in brackets with real players.
|
||||||
# The value is a multiplier (not a percent): 0.0 = no extra effect, 1.0 = default, 3.0 = stronger, 5.0 = strong but not extreme.
|
# The value is a multiplier (not a percent): 0.0 = no extra effect, 1.0 = minimal, 3.0 = stronger, 5.0 = strong but not extreme.
|
||||||
# Experiment based on your total bot count and real player counts to find a good number for your server.
|
# Experiment based on your total bot count and real player counts to find a good number for your server.
|
||||||
# If you want a large congestion of bots in your level bracket for solo play I recommend 10-15 for RealPlayerWeight.
|
# If you want a large congestion of bots in your level bracket for solo play I recommend 10-15 for RealPlayerWeight.
|
||||||
# What to expect:
|
# What to expect:
|
||||||
@@ -107,8 +107,8 @@ BotLevelBrackets.Dynamic.UseDynamicDistribution = 0
|
|||||||
# Formula (per bracket):
|
# Formula (per bracket):
|
||||||
# bracket_weight = 1.0 + (RealPlayerWeight × (1 / TotalRealPlayers) × log(1 + RealPlayersInBracket))
|
# bracket_weight = 1.0 + (RealPlayerWeight × (1 / TotalRealPlayers) × log(1 + RealPlayersInBracket))
|
||||||
# All bracket weights are normalized to total 100%.
|
# All bracket weights are normalized to total 100%.
|
||||||
# Default: 1.0
|
# Default: 10.0
|
||||||
BotLevelBrackets.Dynamic.RealPlayerWeight = 1.0
|
BotLevelBrackets.Dynamic.RealPlayerWeight = 10.0
|
||||||
|
|
||||||
#
|
#
|
||||||
# BotLevelBrackets.Dynamic.SyncFactions
|
# BotLevelBrackets.Dynamic.SyncFactions
|
||||||
|
|||||||
@@ -664,6 +664,10 @@ static void AdjustBotToRange(Player* bot, int targetRangeIndex, const LevelRange
|
|||||||
{
|
{
|
||||||
lowerBound = 55;
|
lowerBound = 55;
|
||||||
}
|
}
|
||||||
|
if (lowerBound > upperBound)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
newLevel = urand(lowerBound, upperBound);
|
newLevel = urand(lowerBound, upperBound);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -1361,6 +1365,9 @@ public:
|
|||||||
applyWeights(g_AllianceLevelRanges, allianceWeights);
|
applyWeights(g_AllianceLevelRanges, allianceWeights);
|
||||||
applyWeights(g_HordeLevelRanges, hordeWeights);
|
applyWeights(g_HordeLevelRanges, hordeWeights);
|
||||||
|
|
||||||
|
// Ensure brackets respect global min/max levels and percentages sum to 100
|
||||||
|
ClampAndBalanceBrackets();
|
||||||
|
|
||||||
// Debug output for new bracket percentages after normalization
|
// Debug output for new bracket percentages after normalization
|
||||||
if (g_BotDistFullDebugMode || g_BotDistLiteDebugMode)
|
if (g_BotDistFullDebugMode || g_BotDistLiteDebugMode)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user