diff options
| author | Florian Fischer <florian.fischer@muhq.space> | 2024-03-26 16:22:52 +0100 |
|---|---|---|
| committer | Florian Fischer <florian.fischer@muhq.space> | 2025-08-20 15:57:10 +0200 |
| commit | 2ad43658e3fdd7bda4cf568f1c60281ec1534bda (patch) | |
| tree | d8cefb190265de5176580c0ffefaf8f884677383 | |
| parent | 2f23f0f6b97deedb0f4f432776c685c60944d805 (diff) | |
| download | muhqs-game-2ad43658e3fdd7bda4cf568f1c60281ec1534bda.tar.gz muhqs-game-2ad43658e3fdd7bda4cf568f1c60281ec1534bda.zip | |
fix some kraken card implementations
* Devour the Poor!: Check if a card is buyable
* Frost Pylon: Only spawn on free tiles
| -rw-r--r-- | go/game/cardImplementations.go | 9 |
1 files 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 } |
