summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2019-04-25 17:26:34 +0200
committernsensfel <SpamShield0@noot-noot.org>2019-04-25 17:26:34 +0200
commitfa540d6d07e430789809435741e6cd1d98111c50 (patch)
tree890c376b5684593f972ec81cf8c4fbf9455b8342 /src/battle/mechanic/turn_action
parent4fb024b4ee52ccbb9f25b17eaa606ce0b5e0296a (diff)
...
Diffstat (limited to 'src/battle/mechanic/turn_action')
-rw-r--r--src/battle/mechanic/turn_action/btl_turn_actions_switch_weapon.erl47
1 files changed, 17 insertions, 30 deletions
diff --git a/src/battle/mechanic/turn_action/btl_turn_actions_switch_weapon.erl b/src/battle/mechanic/turn_action/btl_turn_actions_switch_weapon.erl
index 119dbe7..24b361a 100644
--- a/src/battle/mechanic/turn_action/btl_turn_actions_switch_weapon.erl
+++ b/src/battle/mechanic/turn_action/btl_turn_actions_switch_weapon.erl
@@ -26,43 +26,30 @@
)
-> btl_character_turn_update:type().
handle (Update) ->
- Data = btl_character_turn_update:get_data(Update),
- Character = btl_character_turn_data:get_character(Data),
- CharacterCurrentData =
- btl_character_turn_data:get_character_current_data(Data),
- CharacterIX = btl_character_turn_data:get_character_ix(Data),
+ {S0Update, Character} = btl_character_turn_update:get_character(Update),
+ CharacterIX = btl_character_turn_update:get_character_ix(S0Update),
+ BaseCharacter = btl_character:get_base_character(Character),
- {PrimaryWeaponID, SecondaryWeaponID} = btl_character:get_weapon_ids(Character),
+ {UpdatedBaseCharacter, BaseCharacterAtaxiaUpdate} =
+ shr_character:ataxia_switch_weapons(BaseCharacter),
- UpdatedWeaponIDs = {SecondaryWeaponID, PrimaryWeaponID},
- UpdatedCharacter = btl_character:set_weapon_ids(UpdatedWeaponIDs, Character),
-
- S0Data = btl_character_turn_data:set_character(UpdatedCharacter, Data),
- S1Data = btl_character_turn_data:refresh_character_current_data(S0Data),
-
- S0Update = btl_character_turn_update:set_data(S1Data, Update),
- S1Update =
- btl_turn_actions_stats_change:handle_max_health_changes
+ {UpdatedCharacter, CharacterAtaxiaUpdate} =
+ btl_character:ataxia_set_base_character
(
- CharacterCurrentData,
- S0Update
+ UpdatedBaseCharacter,
+ BaseCharacterAtaxiaUpdate,
+ Character
),
TimelineItem = btl_turn_result:new_character_switched_weapons(CharacterIX),
- DBQuery =
- ataxic:update_field
+ S1Update = btl_character_turn_update:add_to_timeline(TimelineItem, S0Update),
+ S2Update =
+ btl_character_turn_update:ataxia_set_character
(
- btl_battle:get_characters_field(),
- ataxic_sugar:update_orddict_element
- (
- CharacterIX,
- ataxic:update_field
- (
- btl_character:get_weapons_field(),
- ataxic:constant(UpdatedWeaponIDs)
- )
- )
+ UpdatedCharacter,
+ CharacterAtaxiaUpdate,
+ S1Update
),
- btl_character_turn_update:add_to_timeline(TimelineItem, DBQuery, S1Update).
+ S2Update.