summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle')
-rw-r--r--src/battle/mechanic/action/btl_action_attack.erl5
-rw-r--r--src/battle/mechanic/action/btl_action_move.erl10
-rw-r--r--src/battle/query/btl_character_turn.erl29
-rw-r--r--src/battle/struct/btl_turn_result.erl3
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])).