Add !twinbeeboard command (GogoBee's trophy wall) with unified
bot_defeats table tracking losses across Blackjack, UNO solo, and
UNO multiplayer. Fix No Mercy audit bugs: wild card color choice
routing, bot Color Roulette double-advance, missing DM notifications
for roulette victims and 7-0 swap targets, autoplay Color Roulette
effect. Remove dead code. Update README with full UNO documentation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
168-card deck with new card types (Skip Everyone, Discard All,
Wild Reverse Draw Four, Wild Draw Six/Ten, Wild Color Roulette),
draw stacking, draw-until-playable, mercy elimination at 25 cards,
and optional 7-0 hand swap/rotation rule. Works in both solo and
multiplayer. Includes blackjack max player increase to 4.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- When a WD4 is played, the victim can challenge or accept
- Challenge succeeds if the WD4 player had a card matching the
previous color — they draw 4 instead
- Challenge fails: victim draws 6 (4 + 2 penalty)
- Bot as victim: challenges probabilistically based on opponent
hand size (10-70% chance, more cards = more likely to challenge)
- Bot as player: 20% chance to illegally play WD4 when it has
matching color cards, making challenges meaningful against it
- Auto-play defaults to accepting (safe option)
- Challenge phase integrates with existing turn timer
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Blackjack:
- Fix handValue soft flag for multi-ace hands (A+A+5 returned soft=false,
causing dealer to incorrectly stand on soft 17)
- Fix loss display showing €-50 instead of -€50
- Round down Blackjack 1.5x payout per requirements (math.Floor)
- Restrict !bjboard to games room like all other game commands
- Fix leaderboard showing misleading W/L (pushes counted as losses)
- Notify user when bet is capped to max instead of silently capping
- Fix bet max message to use min(MaxBet, maxAvailable)
- Rework to simultaneous play: all players hit/stand independently
with one shared round timer, reminders at 30s and 10s remaining
- Add !blackjack deal to skip the 60s join wait
- Add mid-round forfeit via !blackjack leave during play
- Set minimum 5s delay for reminder timers to avoid spam on low timeouts
Multiplayer UNO:
- Fix lobby race conditions: move euro debit inside mutex lock to
prevent lobby overwrites and missed refunds
- Extract shared applyCardEffects to deduplicate card effect logic
from applyAndAnnounce, botMultiTurn, and applyAutoEffects
- Add 10-minute game inactivity timeout with refunds (was in
requirements but not implemented)
- Add card count to all "draws a card, turn passes" room messages
so spectators can track hand sizes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Multiplayer UNO: lobby system (2-4 humans + bot), DM-based turns,
30s auto-play timer, winner-takes-all pot, forfeit handling
- Solo UNO: refactor bot AI to shared standalone functions, support
starting games from DM, passive UNO call system
- Room sentiment: new room_sentiment_stats table and !roomsentiment
command showing per-room sentiment breakdown with percentages
- Stop purging llm_classifications (retain indefinitely for analytics)
- Fix multiplayer UNO audit issues: dead code in initMultiGame,
double game.turns++ on human plays, missing !uno status command
- Update README with UNO commands, config, and architecture
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>