From 5ae746f1be25bd151ef5da18c65b000eb5257373 Mon Sep 17 00:00:00 2001 From: Nathanael Sensfelder Date: Sat, 23 Sep 2017 22:46:09 +0200 Subject: Now shows attack range. --- client/elm/battlemap/src/Update/SelectCharacter.elm | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'client/elm/battlemap/src/Update') diff --git a/client/elm/battlemap/src/Update/SelectCharacter.elm b/client/elm/battlemap/src/Update/SelectCharacter.elm index 4e23e92..b2b28ca 100644 --- a/client/elm/battlemap/src/Update/SelectCharacter.elm +++ b/client/elm/battlemap/src/Update/SelectCharacter.elm @@ -14,16 +14,28 @@ import Battlemap.RangeIndicator import Model display_range : ( + Int -> Battlemap.Location.Ref -> Battlemap.RangeIndicator.Type -> Battlemap.Type -> Battlemap.Type ) -display_range loc_ref indicator bmap = +display_range dist loc_ref indicator bmap = (Battlemap.apply_to_tile_unsafe bmap (Battlemap.Location.from_ref loc_ref) - (\e -> {e | mod_level = (Just Battlemap.Tile.CanBeReached)}) + (\e -> + {e | + mod_level = + ( + if (indicator.distance <= dist) + then + (Just Battlemap.Tile.CanBeReached) + else + (Just Battlemap.Tile.CanBeAttacked) + ) + } + ) ) @@ -38,6 +50,7 @@ apply_to model char_id = model.battlemap char.location char.movement_points + (char.movement_points + char.atk_dist) ) in {model | @@ -45,7 +58,7 @@ apply_to model char_id = battlemap = ( (Dict.foldl - (display_range) + (display_range char.movement_points) (Battlemap.apply_to_all_tiles model.battlemap (Battlemap.Tile.reset_tile) -- cgit v1.2.3-70-g09d2