- Handle 'Which player do you wish to trade with?' prompt when
in_trade is True (was silently returning, causing bot to roll
during an active trade prompt)
- Simplify property trade offers to always say 'done' (cash-only
trades) to avoid getting stuck on property list prompts
Parser now accumulates log entries for key game events:
- Turn starts (checkpoint lines)
- Rolls, movement, passing GO
- Rent payments
- Card draws (with card text)
- Auctions, trades, resignations
- Jail (triple doubles, GO TO JAIL)
- Game start and winner
Log is capped at 100 entries in GameState, last 30 emitted in
get_state() to match what index.html expects.
Also synced plugin's monop_parser.py copy.
- Direct buy: set property_owner when buy confirmed via checkpoint
- Auction: set property_owner when 'It goes to' parsed
- Historical log replay still passes (1551/1553)
- Watches channel messages via @event('irc.privmsg')
- Feeds to MonopParser, writes game-state.json on state change
- Commands: .monop [status|players|board|owned]
- Bundled monop_parser.py in plugin dir
- Standalone test passes