From aaece890baf272688a741bda4b7f974ec2677e43 Mon Sep 17 00:00:00 2001 From: nsensfel Date: Fri, 15 Jun 2018 16:09:26 +0200 Subject: Actually, attacks can go over OOBs. --- src/battlemap/src/Struct/RangeIndicator.elm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/battlemap/src/Struct/RangeIndicator.elm b/src/battlemap/src/Struct/RangeIndicator.elm index 2b70ecd..cead782 100644 --- a/src/battlemap/src/Struct/RangeIndicator.elm +++ b/src/battlemap/src/Struct/RangeIndicator.elm @@ -87,7 +87,12 @@ generate_neighbor : ( generate_neighbor search_params neighbor_loc dir src_indicator = let node_cost = (search_params.cost_function neighbor_loc) - new_dist = (src_indicator.distance + node_cost) + new_dist = + if (node_cost == Constants.Movement.cost_when_out_of_bounds) + then + (search_params.maximum_distance + 1) + else + (src_indicator.distance + node_cost) new_atk_range = (src_indicator.atk_range + 1) new_true_range = (src_indicator.true_range + 1) can_defend = (new_true_range > search_params.minimum_defense_range) @@ -128,8 +133,6 @@ generate_neighbor search_params neighbor_loc dir src_indicator = candidate_is_acceptable : (SearchParameters -> Int -> Type -> Bool) candidate_is_acceptable search_params cost candidate = - (cost /= Constants.Movement.cost_when_out_of_bounds) - && ( (candidate.distance <= search_params.maximum_distance) || -- cgit v1.2.3-70-g09d2