summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2020-05-25 23:33:52 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2020-05-25 23:33:52 +0200
commit421de60ec7e969705bef68780507f1fc384f179c (patch)
treecdb72de6b637276319d4dc9593474eefb159de29 /src/battle
parent526f9be120ac1ebd1c9014148f663dba10158c52 (diff)
Fixes some of the errors w/ wrong S_Var being used.
Diffstat (limited to 'src/battle')
-rw-r--r--src/battle/mechanic/action/btl_action_move.erl14
-rw-r--r--src/battle/mechanic/action/btl_action_switch_weapons.erl6
-rw-r--r--src/battle/struct/btl_character_turn_request.erl16
3 files changed, 22 insertions, 14 deletions
diff --git a/src/battle/mechanic/action/btl_action_move.erl b/src/battle/mechanic/action/btl_action_move.erl
index 9bbbf7a..c1225c3 100644
--- a/src/battle/mechanic/action/btl_action_move.erl
+++ b/src/battle/mechanic/action/btl_action_move.erl
@@ -499,31 +499,31 @@ handle (Action, S0Update) ->
end,
% [FIXME][IMPORTANT]: 'Path' will not be correct if there is an interruption.
- S4Update =
+ S5Update =
commit_move(ActorIX, S1Actor, S4Update, HandledPath, NewLocation),
- {_V0Nothing, S5Update} =
+ {_V0Nothing, S6Update} =
btl_conditions:apply_to_character
(
ActorIX,
?CONDITION_TRIGGER_HAS_MOVED,
{Action, HandledPath, PathCost, NewLocation},
none,
- S4Update
+ S5Update
),
- {_V1Nothing, S6Update} =
+ {_V1Nothing, S7Update} =
btl_conditions:apply_to_character
(
ActorIX,
?CONDITION_TRIGGER_A_CHARACTER_HAS_MOVED,
{Action, HandledPath, PathCost, NewLocation},
none,
- S5Update
+ S6Update
),
case RemainingPath of
- [] -> S6Update;
+ [] -> S7Update;
_ ->
btl_character_turn_update:add_actions
(
@@ -540,6 +540,6 @@ handle (Action, S0Update) ->
)
]
),
- S6Update
+ S7Update
)
end.
diff --git a/src/battle/mechanic/action/btl_action_switch_weapons.erl b/src/battle/mechanic/action/btl_action_switch_weapons.erl
index 3d1035d..5b5c8bf 100644
--- a/src/battle/mechanic/action/btl_action_switch_weapons.erl
+++ b/src/battle/mechanic/action/btl_action_switch_weapons.erl
@@ -72,13 +72,13 @@ handle (Action, S0Update) ->
S0Actor
),
- {S1Battle, BattleAtaxicUpdate} =
+ {S2Battle, BattleAtaxicUpdate} =
btl_battle:ataxia_set_character
(
ActorIX,
S1Actor,
ActorAtaxicUpdate,
- S0Battle
+ S1Battle
),
TimelineItem =
@@ -90,7 +90,7 @@ handle (Action, S0Update) ->
S4Update =
btl_character_turn_update:ataxia_set_battle
(
- S1Battle,
+ S2Battle,
BattleAtaxicUpdate,
S3Update
),
diff --git a/src/battle/struct/btl_character_turn_request.erl b/src/battle/struct/btl_character_turn_request.erl
index 9f5747f..0a9fa7d 100644
--- a/src/battle/struct/btl_character_turn_request.erl
+++ b/src/battle/struct/btl_character_turn_request.erl
@@ -54,13 +54,21 @@ validate_actions (Actions) ->
{AreValid, _LastAction} =
lists:foldl
(
- fun (Action, {CurrentResult, PrevAction}) ->
+ fun (Action, {CurrentResult, PrevActionCategory}) ->
+ ActionCategory = btl_action:get_category(Action),
{
case CurrentResult of
- false -> false;
- true -> btl_action:can_follow(PrevAction, Action)
+ false ->
+ error({action, PrevActionCategory, ActionCategory}),
+ false;
+ true ->
+ btl_action:can_follow
+ (
+ PrevActionCategory,
+ ActionCategory
+ )
end,
- Action
+ ActionCategory
}
end,
{true, nothing},