| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/query/character_turn.erl')
| -rw-r--r-- | src/query/character_turn.erl | 37 | 
1 files changed, 27 insertions, 10 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"). | 


