aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--go/game/unit.go16
1 files changed, 15 insertions, 1 deletions
diff --git a/go/game/unit.go b/go/game/unit.go
index 85c6b97c..c7528224 100644
--- a/go/game/unit.go
+++ b/go/game/unit.go
@@ -117,7 +117,21 @@ func (u *Unit) AttackableTiles(m *Map) []*Tile {
if u.tile == nil {
return nil
}
- return TilesInRange(m, u, u.Attack.MaxRange())
+
+ tilesInRange := TilesInRange(m, u, u.Attack.MaxRange())
+ if u.Attack.MaxRange() == 1 {
+ return tilesInRange
+ }
+
+ // House tiles are not attackable from $anges > 1
+ aTiles := []*Tile{}
+ for _, t := range tilesInRange {
+ if DistanceBetweenPositions(t.Position, u.tile.Position) > 1 && t.Type == TileTypes.House {
+ continue
+ }
+ aTiles = append(aTiles, t)
+ }
+ return aTiles
}
func (u *Unit) AttackablePermanents(m *Map) []Permanent {