summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2019-04-26 15:05:44 +0200
committernsensfel <SpamShield0@noot-noot.org>2019-04-26 15:05:44 +0200
commitec6eec260d6383ae948505c3d42b3055ae3dd94c (patch)
tree1d9ab2b09ab0a534fc6c09b62b940d9f1c7e139f /src/battle/mechanic/btl_turn_progression.erl
parent7d428bac2f9d62c5a0e704eb32be869c10fec72e (diff)
Makes Dialyzer validate shared & battle.
Diffstat (limited to 'src/battle/mechanic/btl_turn_progression.erl')
-rw-r--r--src/battle/mechanic/btl_turn_progression.erl69
1 files changed, 39 insertions, 30 deletions
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.