| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/query')
| -rw-r--r-- | src/query/character_turn.erl | 37 | ||||
| -rw-r--r-- | src/query/character_turn/handle_character_instance_attacking_2.erl | 7 | 
2 files changed, 31 insertions, 13 deletions
| diff --git a/src/query/character_turn.erl b/src/query/character_turn.erl index 19b6cff..39154eb 100644 --- a/src/query/character_turn.erl +++ b/src/query/character_turn.erl @@ -142,20 +142,37 @@ handle_character_instance_switching_weapons (QueryState) ->     ControlledCharacterInstance = QueryState#query_state.character_instance,     ControlledCharacter =        character_instance:get_character(ControlledCharacterInstance), +   ControlledCharacterAttributes = +      character:get_attributes(ControlledCharacter),     {PrimaryWeapon, SecondaryWeapon} =        character:get_weapons(ControlledCharacter), -   QueryState#query_state -   { -      character_instance = -         character_instance:set_character + +   UpdatedWeapons = {SecondaryWeapon, PrimaryWeapon}, +   UpdatedControlledCharacterStatistics = +      statistics:new +      ( +         ControlledCharacterAttributes, +         UpdatedWeapons +      ), +   UpdatedControlledCharacter = +      character:set_statistics +      ( +         UpdatedControlledCharacterStatistics, +         character:set_weapons           ( -            character:set_weapons -            ( -               {SecondaryWeapon, PrimaryWeapon}, -               ControlledCharacter -            ), -            ControlledCharacterInstance +            ControlledCharacter           ) +      ), +   UpdatedControlledCharacterInstance = +      character_instance:set_character +      ( +         UpdatedControlledCharacter, +         ControlledCharacterInstance +      ), + +   QueryState#query_state +   { +      character_instance = UpdatedControlledCharacterInstance     }.  -include("character_turn/handle_character_instance_attacking_2.erl"). diff --git a/src/query/character_turn/handle_character_instance_attacking_2.erl b/src/query/character_turn/handle_character_instance_attacking_2.erl index be2ac99..ecb2a95 100644 --- a/src/query/character_turn/handle_character_instance_attacking_2.erl +++ b/src/query/character_turn/handle_character_instance_attacking_2.erl @@ -58,6 +58,7 @@ handle_parry (AttackerStatistics, DefenderStatistics) ->           []     end. +%% FIXME: parry not working as intended  handle_attacks ([], _AttackerStatistics, _DefenderStatistics, Results) ->     Results;  handle_attacks @@ -323,11 +324,11 @@ handle_character_instance_attacking (QueryState, Input) ->     Actions =        case {CanDefend, CanParry} of           {true, true} -> -            [second, counter, parry, first]; +            [{second, parry}, counter, {first, parry}];           {true, false} -> -            [second, counter, first]; +            [{second, no_parry}, counter, {fist, no_parry}];           {false, _} -> -            [second, first] +            [{second, no_parry}, {first, no_parry}]        end,     Effects =        handle_attacks | 


