Initial pass at Golden Pack.

This commit is contained in:
Greyson Parrelli
2026-07-24 07:47:05 -04:00
parent e74f983470
commit dd395f4bbf
27 changed files with 2770 additions and 150 deletions
+12
View File
@@ -147,12 +147,18 @@ func applyBotAction(g *game.Game, playerID string, a *ai.Action) error {
switch a.Type {
case "buy":
return g.Buy(playerID, a.Row)
case "buyAvocado":
return g.BuyAvocado(playerID, a.Row)
case "sell":
return g.Sell(playerID, a.Cards)
case "trade":
return g.TradeStart(playerID, a.Cards)
case "tradeChoose":
return g.TradeChoose(playerID, a.Pick)
case "revealChoose":
return g.RevealChoose(playerID, a.CardID)
case "battleChoose":
return g.BattleChoose(playerID, a.Value)
case "pass":
return g.Pass(playerID)
case "arrange":
@@ -174,6 +180,9 @@ func botFallback(g *game.Game, playerID string) error {
}
switch g.Phase {
case game.PhaseShop:
if g.PendingReveal != nil && g.PendingReveal.PlayerID == playerID {
return g.RevealChoose(playerID, g.PendingReveal.Options[0])
}
if g.Pending != nil && g.Pending.PlayerID == playerID {
return g.TradeChoose(playerID, 0)
}
@@ -194,6 +203,9 @@ func botFallback(g *game.Game, playerID string) error {
}
return g.SubmitOrder(playerID, ids)
case game.PhaseBattle:
if g.PendingBattle != nil && g.Players[g.PendingBattle.Seat].ID == playerID {
return g.BattleChoose(playerID, g.PendingBattle.Max)
}
return g.AcknowledgeBattle(playerID)
}
return game.ErrInvalidAction