Great, I've completed a thorough exploration of the codebase. Here's what I found and some critical questions before I design the plan.
Key Findings
Core Engine: Massive (~175KB GameImpl.java alone), deeply OOP with full-copy semantics for AI simulation. UUID-based object references (Rust-friendly). Event-driven with 600+ event types, 7-layer continuous effects system, complex combat/mana/zone handling.
AI Players: Three tiers - base heuristic (ComputerPlayer), minimax with alpha-beta (ComputerPlayer6/MAD), and MCTS (ComputerPlayerMCTS). The decision interface is well-defined in Player.java with ~15 decision methods (priority, target selection, combat, mana payment, etc.).
Sets: TLA = Avatar: The Last Airbender (~392 cards), TDM = Tarkir: Dragonstorm (~432 cards). However, "LCL" didn't match any set code - the closest match was LCC (Lost Caverns of Ixalan Commander, 313 cards). Cards range from simple keyword creatures (~60%) to complex planeswalkers/transforms (~15%).
I have several questions that will significantly shape the plan: