summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2019-06-06 17:54:05 +0200
committernsensfel <SpamShield0@noot-noot.org>2019-06-06 17:54:05 +0200
commit5fd8f5d303e8915cc74a52e5b86d1fd8f073cb4d (patch)
treec732d37accd97348ff0f886021bcbb8f48dff0fb /src/battle/mechanic
parentc3afe2633025641dd02e05d6c55dd9cafc42b8a2 (diff)
Fixes some of the issues I've found.
Diffstat (limited to 'src/battle/mechanic')
-rw-r--r--src/battle/mechanic/action/btl_action_attack.erl12
-rw-r--r--src/battle/mechanic/action/btl_action_move.erl6
2 files changed, 11 insertions, 7 deletions
diff --git a/src/battle/mechanic/action/btl_action_attack.erl b/src/battle/mechanic/action/btl_action_attack.erl
index 1953096..4a4ee8a 100644
--- a/src/battle/mechanic/action/btl_action_attack.erl
+++ b/src/battle/mechanic/action/btl_action_attack.erl
@@ -95,29 +95,31 @@ get_character_abilities (Action, Character, TargetCharacter) ->
),
DefenseRange = shr_weapon:get_minimum_range(CharacterWeapon),
- AttackRange = shr_weapon:get_maximum_range(CharacterWeapon),
+ AttackRange = shr_weapon:get_maximum_range(CharacterWeapon),
TargetDefenseRange = shr_weapon:get_minimum_range(TargetCharacterWeapon),
TargetAttackRange = shr_weapon:get_maximum_range(TargetCharacterWeapon),
IsNotOpportunistic = btl_action:get_is_opportunistic(Action),
- AttackRange =
+ RequiredRange =
shr_location:dist
(
btl_character:get_location(Character),
btl_character:get_location(TargetCharacter)
),
+ true = (AttackRange >= RequiredRange),
+
{
(DefenseRange == 0),
(
IsNotOpportunistic
and (TargetDefenseRange == 0)
- and (TargetAttackRange =< AttackRange)
+ and (TargetAttackRange =< RequiredRange)
),
(
IsNotOpportunistic
- and (TargetAttackRange =< AttackRange)
+ and (TargetAttackRange =< RequiredRange)
)
}.
@@ -664,7 +666,7 @@ handle (Action, S0Character, S0Update) ->
ataxic:update_field
(
btl_character:get_current_health_field(),
- ataxic:constant(btl_character:get_current_health(S1Character))
+ ataxic:constant(btl_character:get_current_health(S1TargetCharacter))
),
{S3Battle, BattleAtaxiaUpdate1} =
diff --git a/src/battle/mechanic/action/btl_action_move.erl b/src/battle/mechanic/action/btl_action_move.erl
index a32a40f..a24a96e 100644
--- a/src/battle/mechanic/action/btl_action_move.erl
+++ b/src/battle/mechanic/action/btl_action_move.erl
@@ -53,12 +53,14 @@ cross (PlayerIX, Map, ForbiddenLocations, [Step|NextSteps], Cost, Location) ->
false = IsForbidden,
Interruptions =
- list:foldl
+ lists:foldl
(
fun (MarkerName, CurrentInterruptions) ->
case shr_map:get_marker(MarkerName, Map) of
{ok, Marker} ->
- case shr_map_marker:interrupts_movement(PlayerIX, Marker) of
+ case
+ shr_map_marker:interrupts_movement(PlayerIX, Marker)
+ of
true -> [Marker|CurrentInterruptions];
_ -> CurrentInterruptions
end;