| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/battle/mechanic/action/btl_action_move.erl | 14 | ||||
| -rw-r--r-- | src/battle/mechanic/action/btl_action_switch_weapons.erl | 6 | ||||
| -rw-r--r-- | src/battle/struct/btl_character_turn_request.erl | 16 | 
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},  | 


