Skip to content

Bots

Bots are AI-controlled contestants that fill empty slots in contests, providing competition when not enough players are available.

Bots are configured per-hall in config/reverie/halls/<hall_id>/hall.conf:

bots {
enabled = true
fill-empty-slots = true
difficulty = "medium"
}
FieldDefaultDescription
enabledtrueAllow bots in this hall
fill-empty-slotstrueAuto-fill when contest starts with empty slots
difficulty"medium"Default bot difficulty
DifficultyMove QualityCombo ChanceJamming ChanceMinigame Score Range
Easy50%20%10%40-60%
Medium70%40%30%55-75%
Hard85%60%50%70-90%
Expert95%80%70%85-98%

Move Quality determines how often the bot selects optimal moves (category-matching, high-power). At 50% (easy), the bot picks randomly about half the time. At 95% (expert), it almost always picks the best available move.

Combo Chance is the probability the bot will attempt a known 2-move combo when one is available.

Jamming Chance is the probability the bot will use a disruption move when one is available.

Bots select Pokemon from configurable pools. If no pool is defined, any Pokemon can be chosen.

bots {
categoryPokemonPools {
cool = ["arcanine", "charizard", "gyarados"]
beauty = ["milotic", "gardevoir", "ninetales"]
cute = ["jigglypuff", "eevee", "pikachu"]
clever = ["alakazam", "espeon", "metagross"]
tough = ["machamp", "tyranitar", "aggron"]
}
}
FieldDefaultDescription
levelMin / levelMax25 / 75Pokemon level range
ivMin / ivMax25 / 31IV range
totalEvs510Total EV budget
FieldDefaultDescription
primaryStatMin / primaryStatMax80 / 120Primary contest stat range
secondaryStatMin / secondaryStatMax60 / 90Secondary stats range
otherStatMin / otherStatMax40 / 70Non-relevant stats range
sheenMin / sheenMax100 / 200Sheen range
bot-names = [
"Coordinator Sarah",
"Trainer Alex",
"Expert Maya",
"Pro Coordinator Leo"
]

Names are randomly selected from this pool for each bot contestant.

During the judging phase, bots vote using one of two modes:

Aligned mode (default) — Bots vote proportionally to actual appeal scores with +/-10% random variance.

Personality mode — Each bot gets a weighted personality:

PersonalityFavors
TechnicalCombo execution and variety
ClassicRaw contest stats and consistency
Crowd PleaserAudience excitement and dramatic moments

Admins can manually add bots to an active contest:

/contest addbots
  1. Audience System — How bots interact with voting
  2. Minigames — Bot minigame performance
  3. Hall Configuration — Per-hall bot settings