From ec6eec260d6383ae948505c3d42b3055ae3dd94c Mon Sep 17 00:00:00 2001 From: nsensfel Date: Fri, 26 Apr 2019 15:05:44 +0200 Subject: Makes Dialyzer validate shared & battle. --- src/battle/mechanic/btl_turn_progression.erl | 69 ++++++++++++++++------------ 1 file changed, 39 insertions(+), 30 deletions(-) (limited to 'src/battle/mechanic/btl_turn_progression.erl') diff --git a/src/battle/mechanic/btl_turn_progression.erl b/src/battle/mechanic/btl_turn_progression.erl index a6443b8..6286cc1 100644 --- a/src/battle/mechanic/btl_turn_progression.erl +++ b/src/battle/mechanic/btl_turn_progression.erl @@ -87,7 +87,8 @@ activate_next_players_characters (Battle, NextPlayer) -> ( IX, UpdatedCharacter, - CharacterAtaxicUpdate + CharacterAtaxicUpdate, + CurrentBattle ), {UpdatedBattle, [BattleAtaxicUpdate|CurrentBattleUpdates]}; @@ -107,35 +108,41 @@ activate_next_players_characters (Battle, NextPlayer) -> ) -> btl_character_turn_update:type(). activate_next_player (Update) -> - Data = btl_character_turn_update:get_data(Update), - Battle = btl_character_turn_data:get_battle(Data), + {S0Update, Battle} = btl_character_turn_update:get_battle(Update), - {S0Battle, DBQuery0} = prepare_player_turn_for_next_player(Battle), - {S1Battle, NextPlayer, DBQuery1} = reset_next_player_timeline(S0Battle), - {S2Battle, DBQuery2} = - activate_next_players_characters(S1Battle, NextPlayer), + {S0Battle, BattleAtaxiaUpdate0} = + prepare_player_turn_for_next_player(Battle), - S0Data = btl_character_turn_data:set_battle(S2Battle, Data), + {S1Battle, NextPlayer, BattleAtaxiaUpdate1} = + reset_next_player_timeline(S0Battle), - S0Update = - btl_character_turn_update:add_to_timeline + {S2Battle, BattleAtaxiaUpdate2} = + activate_next_players_characters(S1Battle, NextPlayer), + + S1Update = + btl_character_turn_update:ataxia_set_battle ( - btl_turn_result:new_player_turn_started + S2Battle, + true, + ataxic:sequence ( - btl_player:get_index(NextPlayer) + [ + BattleAtaxiaUpdate0, + BattleAtaxiaUpdate1, + BattleAtaxiaUpdate2 + ] ), - DBQuery0, - Update + S0Update ), - S1Update = btl_character_turn_update:set_data(S0Data, S0Update), - S2Update = - lists:foldl + btl_character_turn_update:add_to_timeline ( - fun btl_character_turn_update:add_to_db/2, - S1Update, - [DBQuery1,DBQuery2] + btl_turn_result:new_player_turn_started + ( + btl_player:get_index(NextPlayer) + ), + S1Update ), S2Update. @@ -144,17 +151,19 @@ activate_next_player (Update) -> ( btl_character_turn_update:type() ) - -> boolean(). + -> {boolean(), btl_character_turn_update:type()}. has_active_characters_remaining (Update) -> - Data = btl_character_turn_update:get_data(Update), - Battle = btl_character_turn_data:get_battle(Data), + {S0Update, Battle} = btl_character_turn_update:get_battle(Update), Characters = btl_battle:get_characters(Battle), - lists:any - ( - fun ({_IX, Char}) -> btl_character:get_is_active(Char) end, - orddict:to_list(Characters) - ). + { + lists:any + ( + fun ({_IX, Char}) -> btl_character:get_is_active(Char) end, + orddict:to_list(Characters) + ), + S0Update + }. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -166,6 +175,6 @@ has_active_characters_remaining (Update) -> -> btl_character_turn_update:type(). handle (Update) -> case has_active_characters_remaining(Update) of - false -> activate_next_player(Update); - _ -> Update + {false, S0Update} -> activate_next_player(S0Update); + {true, S0Update} -> S0Update end. -- cgit v1.2.3-70-g09d2