summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2019-01-30 09:39:47 +0100 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2019-01-30 09:39:47 +0100 |
commit | b1a3afeeea68e72e88f0fd9720035ee7f1541bdb (patch) | |
tree | 9145863fa0d270f4f60b36ff21a80910bfedf6e5 | |
parent | a78b67db4dfbed793b3b62ce5c47a1afaaa6c6d1 (diff) |
Moves Luck decay to the end of the turn.
-rw-r--r-- | src/battle/mechanic/turn_action/btl_turn_actions_attack.erl | 25 | ||||
-rw-r--r-- | src/shared/shr_roll.erl | 8 |
2 files changed, 22 insertions, 11 deletions
diff --git a/src/battle/mechanic/turn_action/btl_turn_actions_attack.erl b/src/battle/mechanic/turn_action/btl_turn_actions_attack.erl index d4dc818..65a8440 100644 --- a/src/battle/mechanic/turn_action/btl_turn_actions_attack.erl +++ b/src/battle/mechanic/turn_action/btl_turn_actions_attack.erl @@ -180,8 +180,25 @@ handle (BattleAction, Update) -> [] ), - NextAttackingPlayer = btl_player:set_luck(NewAttackerLuck, AttackingPlayer), - NextDefendingPlayer = btl_player:set_luck(NewDefenderLuck, DefendingPlayer), + S0NewAttackerLuck = + case {(NewAttackerLuck =< -2), (NewAttackerLuck >= 2)} of + {true, _} -> (NewAttackerLuck + 2); + {_, true} -> (NewAttackerLuck - 2); + _ -> 0 + end, + + S0NewDefenderLuck = + case {(NewDefenderLuck =< -2), (NewDefenderLuck >= 2)} of + {true, _} -> (NewDefenderLuck + 2); + {_, true} -> (NewDefenderLuck - 2); + _ -> 0 + end, + + NextAttackingPlayer = + btl_player:set_luck(S0NewAttackerLuck, AttackingPlayer), + + NextDefendingPlayer = + btl_player:set_luck(S0NewDefenderLuck, DefendingPlayer), UpdatedCharacter = btl_character:set_current_health(RemainingAttackerHealth, Character), @@ -262,7 +279,7 @@ handle (BattleAction, Update) -> ataxic:update_field ( btl_player:get_luck_field(), - ataxic:constant(NewDefenderLuck) + ataxic:constant(S0NewDefenderLuck) ) ), ataxic_sugar:update_orddict_element @@ -271,7 +288,7 @@ handle (BattleAction, Update) -> ataxic:update_field ( btl_player:get_luck_field(), - ataxic:constant(NewAttackerLuck) + ataxic:constant(S0NewAttackerLuck) ) ) ] diff --git a/src/shared/shr_roll.erl b/src/shared/shr_roll.erl index b2aca29..eb0f21e 100644 --- a/src/shared/shr_roll.erl +++ b/src/shared/shr_roll.erl @@ -61,15 +61,9 @@ percentage_with_luck (Chance, Luck) -> ModedRoll = max(0, min((Roll - Luck), 100)), IsSuccess = (Roll =< ModedChance), - BadLuckBonus = - case (Luck < 0) of - true -> 1; - false -> 0 - end, - { ModedRoll, IsSuccess, - (BadLuckBonus + calculate_costs(IsSuccess, Roll, Chance)), + calculate_costs(IsSuccess, Roll, Chance), calculate_costs((not IsSuccess), (100 - Roll), (100 - ModedChance)) }. |