Add UNO game, hangman threading, DM room reuse, and gameplay fixes

- Add full UNO game plugin (1v1 vs bot via DM, community pot, bot personality)
- Move hangman into threads with direct reply guessing (no !hangman prefix needed)
- Fix DM room duplication by checking m.direct account data with in-memory cache
- Auto-draw when player has no playable cards instead of requiring manual draw
- Remove forced UNO call phase — players are penalized naturally if they forget
- Fix mutex held during network I/O in hangman start
- Fix infinite loop when both sides have no playable cards and deck is empty
- Fix Wild Draw Four penalty being skipped when UNO prompt triggered
- Fix hangman displayPhrase word boundary clarity (triple-wide gaps for spaces)
- Add UNO env vars, db tables, and README updates

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
prosolis
2026-03-11 23:52:38 -07:00
parent 992b62c51f
commit 7c9dd28021
7 changed files with 1466 additions and 63 deletions

View File

@@ -51,6 +51,8 @@ BLACKJACK_AUTOPLAY_THRESHOLD=15
BLACKJACK_MIN_BET=1
BLACKJACK_MAX_BET=500
BLACKJACK_DEBT_LIMIT=1000 # max debt before betting disabled
UNO_MIN_BET=10 # minimum wager in euros
UNO_POT_TAUNT_THRESHOLD=500 # pot size at which GogoBee starts taunting
# ---- Space Groups (automatic room grouping for community-wide leaderboards) ----
SPACE_GROUP_THRESHOLD=50 # % of smaller room's members that must overlap (1-100, default 50)