summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/battle')
-rw-r--r-- | src/battle/mechanic/action/btl_action_attack.erl | 5 | ||||
-rw-r--r-- | src/battle/mechanic/action/btl_action_move.erl | 10 | ||||
-rw-r--r-- | src/battle/query/btl_character_turn.erl | 29 | ||||
-rw-r--r-- | src/battle/struct/btl_turn_result.erl | 3 |
4 files changed, 33 insertions, 14 deletions
diff --git a/src/battle/mechanic/action/btl_action_attack.erl b/src/battle/mechanic/action/btl_action_attack.erl index ef4d9d3..8dc9d5c 100644 --- a/src/battle/mechanic/action/btl_action_attack.erl +++ b/src/battle/mechanic/action/btl_action_attack.erl @@ -108,7 +108,10 @@ get_character_abilities (Action, Character, TargetCharacter) -> btl_character:get_location(TargetCharacter) ), - true = (AttackRange >= RequiredRange), + case (AttackRange >= RequiredRange) of + true -> ok; + _ -> error({attack, range, AttackRange, RequiredRange}) + end, { (DefenseRange == 0), diff --git a/src/battle/mechanic/action/btl_action_move.erl b/src/battle/mechanic/action/btl_action_move.erl index ebc79db..97cec25 100644 --- a/src/battle/mechanic/action/btl_action_move.erl +++ b/src/battle/mechanic/action/btl_action_move.erl @@ -191,7 +191,10 @@ cross NextRemainingStepsCount = (RemainingStepsCount - 1), IsForbidden = sets:is_element(NextLocation, ForbiddenLocations), - false = IsForbidden, + case IsForbidden of + true -> error({forbidden, tile, NextLocation}); + false -> ok + end, {NextAttacksOfOpportunityCandidates, Attackers} = detect_attacks_of_opportunity @@ -461,7 +464,10 @@ handle (Action, Character, S0Update) -> MovementPoints = get_movement_points(Action, Character), - true = (MovementPoints >= PathCost), + case (MovementPoints >= PathCost) of + true -> ok; + _ -> error({movement, MovementPoints, PathCost}) + end, % [FIXME][IMPORTANT]: 'Path' will not be correct if there is an interruption. S1Update = diff --git a/src/battle/query/btl_character_turn.erl b/src/battle/query/btl_character_turn.erl index 4f96552..9534945 100644 --- a/src/battle/query/btl_character_turn.erl +++ b/src/battle/query/btl_character_turn.erl @@ -65,9 +65,18 @@ assert_user_is_current_player (Update, Request) -> CurrentPlayerIX = btl_player_turn:get_player_ix(CurrentPlayerTurn), CurrentPlayer = btl_battle:get_player(CurrentPlayerIX, Battle), - true = (PlayerID == btl_player:get_id(CurrentPlayer)), - - ok. + case (PlayerID == btl_player:get_id(CurrentPlayer)) of + true -> ok; + _ -> + error + ( + { + player_id, + btl_player:get_id(CurrentPlayer), + PlayerID + } + ) + end. -spec assert_user_owns_played_character ( @@ -83,9 +92,10 @@ assert_user_owns_played_character (Update, Request) -> CharacterPlayer = btl_battle:get_player(CharacterPlayerIX, Battle), CharacterPlayerID = btl_player:get_id(CharacterPlayer), - true = (PlayerID == CharacterPlayerID), - - ok. + case (PlayerID == CharacterPlayerID) of + true -> ok; + _ -> error({player_id, CharacterPlayerID, PlayerID}) + end. -spec assert_character_can_be_played (btl_character_turn_update:type()) -> 'ok'. assert_character_can_be_played (Update) -> @@ -93,9 +103,10 @@ assert_character_can_be_played (Update) -> CharacterIX = btl_character_turn_update:get_character_ix(Update), Character = btl_battle:get_character(CharacterIX, Battle), - true = btl_character:get_is_active(Character), - - ok. + case btl_character:get_is_active(Character) of + true -> ok; + _ -> error({character, active, CharacterIX}) + end. -spec assert_user_permissions ( diff --git a/src/battle/struct/btl_turn_result.erl b/src/battle/struct/btl_turn_result.erl index af1fded..eaf974b 100644 --- a/src/battle/struct/btl_turn_result.erl +++ b/src/battle/struct/btl_turn_result.erl @@ -228,5 +228,4 @@ encode (TurnResult) when is_record(TurnResult, player_turn_started) -> ] }; encode (Other) -> - io:format("~n invalid encode param\"~p\"~n", [Other]), - true = Other. + error(io_lib:format("~n invalid encode param\"~p\"~n", [Other])). |