summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/query/character_turn.erl')
-rw-r--r--src/query/character_turn.erl37
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").