From 5fd8f5d303e8915cc74a52e5b86d1fd8f073cb4d Mon Sep 17 00:00:00 2001 From: nsensfel Date: Thu, 6 Jun 2019 17:54:05 +0200 Subject: Fixes some of the issues I've found. --- src/battle/mechanic/action/btl_action_attack.erl | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'src/battle/mechanic/action/btl_action_attack.erl') 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} = -- cgit v1.2.3-70-g09d2