MartianZoo / solarnet

Solarnet, an open-source game engine for the board game Terraforming Mars. Pets, a specification language for game component behaviors in said game.
Apache License 2.0
15 stars 2 forks source link

Out-of-turn decisions #8

Open kevinb9n opened 1 year ago

kevinb9n commented 1 year ago

Philares and Splice can require out-of-turn decisions. So could certain corps functioning together, like Mons+Helion.

kevinb9n commented 1 year ago

Actually I'm not sure Splice even counts. I play a microbe tag, and I get an effect saying to choose a microbe or 2 money. That might have been triggered on your card, but I don't think that's relevant here.

kevinb9n commented 1 year ago

3 Colony tiles also.

kevinb9n commented 1 year ago

Yep we've already got this problem

newgame BRMCX 2
as P2 exec RegolithEaters // make sure Enceladus appears
become P1
exec NitriteReducingBacteria
exec Colony<Enceladus>
task 3 Microbe<NitriteReducingBacteria>
as P2 exec Trade<Enceladus, TradeFleetB>

and see

New tasks pending:
B  [Player2] Microbe<Player2>. (abstract)
E  [Player2] Microbe<Player1>. (abstract)

The simple fix would be for Player1 to own task E instead.

Technically P2 should own a task like NewTask<Player1> { Microbe<Player1>. } and when P2 executes that, THEN P1 gets that task. But that's probably not an important fix for a long time.