summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/battlemap/movement.erl')
-rw-r--r--src/battlemap/movement.erl8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/battlemap/movement.erl b/src/battlemap/movement.erl
index 7fc5db1..513d032 100644
--- a/src/battlemap/movement.erl
+++ b/src/battlemap/movement.erl
@@ -41,12 +41,13 @@ location_to_array_index (ArrayWidth, X, Y) ->
cross (_Battlemap, _ForbiddenLocations, [], Cost, X, Y) ->
{{X, Y}, Cost};
cross (Battlemap, ForbiddenLocations, [Step|NextSteps], Cost, X, Y) ->
- BattlemapTiles = battlemap:get_tiles(Battlemap),
+ BattlemapWidth = battlemap:get_width(Battlemap),
+ BattlemapTiles = battlemap:get_tile_ids(Battlemap),
{NextX, NextY} = location_after_step(Step, X, Y),
NextTileIX =
- location_to_array_index(array:size(BattlemapTiles), NextX, NextY),
- NextTile = array:get(array:get(NextTileIX, BattlemapTiles)),
+ location_to_array_index(BattlemapWidth, NextX, NextY),
+ NextTile = array:get(NextTileIX, BattlemapTiles),
NextCost = (Cost + tile:get_cost(NextTile)),
IsForbidden =
array:foldl
@@ -54,6 +55,7 @@ cross (Battlemap, ForbiddenLocations, [Step|NextSteps], Cost, X, Y) ->
fun (_IX, Location, Prev) ->
(Prev or ({NextX, NextY} == Location))
end,
+ false,
ForbiddenLocations
),