From 2ad43658e3fdd7bda4cf568f1c60281ec1534bda Mon Sep 17 00:00:00 2001 From: Florian Fischer Date: Tue, 26 Mar 2024 16:22:52 +0100 Subject: fix some kraken card implementations * Devour the Poor!: Check if a card is buyable * Frost Pylon: Only spawn on free tiles --- go/game/cardImplementations.go | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/go/game/cardImplementations.go b/go/game/cardImplementations.go index f304ee1c..34567962 100644 --- a/go/game/cardImplementations.go +++ b/go/game/cardImplementations.go @@ -424,7 +424,7 @@ type devourThePoorImpl struct{ cardImplementationBase } func (*devourThePoorImpl) onPlay(s *State, _ *Card, kraken *Player, _ *Targets) { for _, u := range s.EnemyUnits(kraken) { - if u.Card().BuyCosts.Costs(s) < 7 { + if !u.Card().IsBuyable() || u.Card().BuyCosts.Costs(s) < 7 { s.destroyPermanent(u) } } @@ -499,7 +499,12 @@ type frostPylonImpl struct { func (*frostPylonImpl) spawnTiles(s *State, kraken *Player) (spawns []*Tile) { for _, u := range s.EnemyUnits(kraken) { - spawns = append(spawns, TilesInRange(s.Map, u, 1)...) + candiates := TilesInRange(s.Map, u, 1) + for _, candidate := range candiates { + if candidate.IsFree() { + spawns = append(spawns, candidate) + } + } } return } -- cgit v1.2.3