From 96c35eb8c79826fa07d2b00bbac039d9ec95eb3c Mon Sep 17 00:00:00 2001 From: nsensfel Date: Fri, 23 Feb 2018 22:47:43 +0100 Subject: ... --- src/query/character_turn.erl | 37 +++++++++++++++++++++++++++---------- 1 file changed, 27 insertions(+), 10 deletions(-) (limited to 'src/query/character_turn.erl') 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"). -- cgit v1.2.3-70-g09d2