summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2019-02-11 19:07:46 +0100 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2019-02-11 19:07:46 +0100 |
commit | 9260afc2d1d5853b2fc27604b6d57b4b4e09e5bb (patch) | |
tree | e85ede6ead08393312bc5c4ca783381b72a5d9a7 /src/battle | |
parent | 87075fd67f64250aa3e7a39ac37c35117eaf9828 (diff) |
Sends luck updates along w/ attacks.
Diffstat (limited to 'src/battle')
-rw-r--r-- | src/battle/mechanic/turn_action/btl_turn_actions_attack.erl | 4 | ||||
-rw-r--r-- | src/battle/struct/btl_turn_result.erl | 29 |
2 files changed, 26 insertions, 7 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 65a8440..ad6b7e4 100644 --- a/src/battle/mechanic/turn_action/btl_turn_actions_attack.erl +++ b/src/battle/mechanic/turn_action/btl_turn_actions_attack.erl @@ -233,7 +233,9 @@ handle (BattleAction, Update) -> ( CharacterIX, TargetIX, - AttackEffects + AttackEffects, + S0NewAttackerLuck, + S0NewDefenderLuck ), DBQuery0 = diff --git a/src/battle/struct/btl_turn_result.erl b/src/battle/struct/btl_turn_result.erl index f31fb90..7ae9ffe 100644 --- a/src/battle/struct/btl_turn_result.erl +++ b/src/battle/struct/btl_turn_result.erl @@ -28,7 +28,9 @@ { attacker_ix :: non_neg_integer(), defender_ix :: non_neg_integer(), - sequence :: list(btl_attack:type()) + sequence :: list(btl_attack:type()), + attacker_luck :: integer(), + defender_luck :: integer() } ). @@ -78,7 +80,7 @@ new_player_turn_started/1, new_character_switched_weapons/1, new_character_moved/3, - new_character_attacked/3 + new_character_attacked/5 ] ). @@ -131,15 +133,26 @@ new_character_moved (CharacterIX, Path, NewLocation) -> ( non_neg_integer(), non_neg_integer(), - list(btl_attack:type()) + list(btl_attack:type()), + integer(), + integer() ) -> type(). -new_character_attacked (AttackerIX, DefenderIX, AttackSequence) -> +new_character_attacked +( + AttackerIX, + DefenderIX, + AttackSequence, + AttackerLuck, + DefenderLuck +) -> #attacked { attacker_ix = AttackerIX, defender_ix = DefenderIX, - sequence = AttackSequence + sequence = AttackSequence, + attacker_luck = AttackerLuck, + defender_luck = DefenderLuck }. -spec encode (type()) -> {list(any())}. @@ -172,6 +185,8 @@ encode (TurnResult) when is_record(TurnResult, attacked) -> AttackerIX = TurnResult#attacked.attacker_ix, DefenderIX = TurnResult#attacked.defender_ix, Sequence = TurnResult#attacked.sequence, + AttackerLuck = TurnResult#attacked.attacker_luck, + DefenderLuck = TurnResult#attacked.defender_luck, EncodedSequence = lists:map(fun btl_attack:encode/1, Sequence), @@ -180,7 +195,9 @@ encode (TurnResult) when is_record(TurnResult, attacked) -> {<<"t">>, <<"atk">>}, {<<"aix">>, AttackerIX}, {<<"dix">>, DefenderIX}, - {<<"seq">>, EncodedSequence} + {<<"seq">>, EncodedSequence}, + {<<"alk">>, AttackerLuck}, + {<<"dlk">>, DefenderLuck} ] }; encode (TurnResult) when is_record(TurnResult, player_won) -> |