aboutsummaryrefslogtreecommitdiff
path: root/go/game/tile.go
diff options
context:
space:
mode:
authorFlorian Fischer <florian.fischer@muhq.space>2024-03-26 20:36:22 +0100
committerFlorian Fischer <florian.fischer@muhq.space>2025-08-20 15:57:11 +0200
commitaef4d5ea938f55831e70e28ae2a19c1b23797d8a (patch)
treecfd941d4db8c28745b8525d7631f81e6555a75c2 /go/game/tile.go
parent5b935ead582537bd1a038a98dd4d252c481482d7 (diff)
downloadmuhqs-game-aef4d5ea938f55831e70e28ae2a19c1b23797d8a.tar.gz
muhqs-game-aef4d5ea938f55831e70e28ae2a19c1b23797d8a.zip
only generate ArtifactMoveActions if the switched positions are suitable
Diffstat (limited to 'go/game/tile.go')
-rw-r--r--go/game/tile.go20
1 files changed, 12 insertions, 8 deletions
diff --git a/go/game/tile.go b/go/game/tile.go
index 47f9a5d6..89d3ec3f 100644
--- a/go/game/tile.go
+++ b/go/game/tile.go
@@ -137,16 +137,20 @@ func (t *Tile) IsFree() bool {
return t.Permanent == nil
}
+func (t *Tile) IsSuitableForCard(card *Card) bool {
+ if t.Water && !card.hasPlacementConstrain("swimming") {
+ return false
+ }
+ if !t.Water && card.hasPlacementConstrain("swimming") {
+ return false
+ }
+
+ return true
+}
+
func (t *Tile) IsAvailableForCard(card *Card) bool {
if t.IsFree() {
- if t.Water && !card.hasPlacementConstrain("swimming") {
- return false
- }
- if !t.Water && card.hasPlacementConstrain("swimming") {
- return false
- }
-
- return true
+ return t.IsSuitableForCard(card)
}
x, err := t.Permanent.Card().getXEffect("crew")