Guarantee one energy-elf buffer per bot party - #951
Open
eduardosmaniotto wants to merge 1 commit into
Open
eduardosmaniotto wants to merge 1 commit into
eduardosmaniotto wants to merge 1 commit into
Conversation
Party formation grouped bots by level only, so buffers could hunt solo and parties could hold two buffers or none. Formation now gives each party exactly one buffer and one of each build at most; bots without a buffer stay solo. Centralize build variants in BotBuild and class numbers in BotClassNumbers, both shared by BotProgression. Extract grouping into BotPartyComposer (pure fill, no pool repair hacks) and share party tuning through BotPartyPolicy. BotGenerator sizes the buffer count to the estimated party count and grows elf slots as needed. Derive the voluntary warp floor from the warp list (10 on stock data) instead of the hardcoded 30.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bot parties now always hunt with exactly one energy-elf buffer and
at most one of each build variant. Previously formation grouped by
level only: buffers could end up solo, two buffers could share a
party, and most parties had no buffer at all.
Changes
BotManager, newBotPartyComposer): each partygets exactly one buffer (nearest in level, gap ≤ 12); one of each
build key at most; no buffer in range means no party. Grouping
extracted from
BotManagerinto a testable composer; fill is pure(failed parties no longer consume candidates).
BotBuild,BotClassNumbers): singleowner for variant rules and mirrored class numbers;
BotProgressionreferences them instead of duplicating constants.
BotPartyPolicy,BotGenerator): shared partytuning plus
EstimatePartyCount, used as the buffer quota atgeneration (elf slots grown as needed, variants forced through
name resampling, resume-safe counting).
BotNavigator): voluntary warp floor derived from theserver warp list (10 on stock data) instead of hardcoded 30.
bots.mdupdated.Behavior notes
fresh population (e.g. ~12 buffers of 50 bots). Price of a buffer
in every party.
hourly reform; pre-10 followers still can't enter gated maps.
BotPartyHandler).