Bots
Bots are AI-controlled contestants that fill empty slots in contests, providing competition when not enough players are available.
Enabling Bots
Section titled “Enabling Bots”Bots are configured per-hall in config/reverie/halls/<hall_id>/hall.conf:
bots { enabled = true fill-empty-slots = true difficulty = "medium"}| Field | Default | Description |
|---|---|---|
enabled | true | Allow bots in this hall |
fill-empty-slots | true | Auto-fill when contest starts with empty slots |
difficulty | "medium" | Default bot difficulty |
Difficulty Levels
Section titled “Difficulty Levels”| Difficulty | Move Quality | Combo Chance | Jamming Chance | Minigame Score Range |
|---|---|---|---|---|
| Easy | 50% | 20% | 10% | 40-60% |
| Medium | 70% | 40% | 30% | 55-75% |
| Hard | 85% | 60% | 50% | 70-90% |
| Expert | 95% | 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.
Bot Pokemon
Section titled “Bot Pokemon”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"] }}Bot Pokemon Stats
Section titled “Bot Pokemon Stats”| Field | Default | Description |
|---|---|---|
levelMin / levelMax | 25 / 75 | Pokemon level range |
ivMin / ivMax | 25 / 31 | IV range |
totalEvs | 510 | Total EV budget |
Bot Contest Stats
Section titled “Bot Contest Stats”| Field | Default | Description |
|---|---|---|
primaryStatMin / primaryStatMax | 80 / 120 | Primary contest stat range |
secondaryStatMin / secondaryStatMax | 60 / 90 | Secondary stats range |
otherStatMin / otherStatMax | 40 / 70 | Non-relevant stats range |
sheenMin / sheenMax | 100 / 200 | Sheen range |
Bot Names
Section titled “Bot Names”bot-names = [ "Coordinator Sarah", "Trainer Alex", "Expert Maya", "Pro Coordinator Leo"]Names are randomly selected from this pool for each bot contestant.
Bot Voting
Section titled “Bot Voting”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:
| Personality | Favors |
|---|---|
| Technical | Combo execution and variety |
| Classic | Raw contest stats and consistency |
| Crowd Pleaser | Audience excitement and dramatic moments |
Adding Bots Mid-Contest
Section titled “Adding Bots Mid-Contest”Admins can manually add bots to an active contest:
/contest addbotsNext Steps
Section titled “Next Steps”- Audience System — How bots interact with voting
- Minigames — Bot minigame performance
- Hall Configuration — Per-hall bot settings