summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-03-12 17:55:25 +0100
committernsensfel <SpamShield0@noot-noot.org>2018-03-12 17:55:25 +0100
commit68cfa3b73e6f7def9641b08c4acf2f0f96685843 (patch)
tree5d6bbe4b6f1e777235fcc1235060b5101ca46c4d /src/battle
parent11a7a03a0088b2c4b8edc394469396d54190dc53 (diff)
Stores and sends entire turn timelines.
Diffstat (limited to 'src/battle')
-rw-r--r--src/battle/battle_turn.erl25
1 files changed, 21 insertions, 4 deletions
diff --git a/src/battle/battle_turn.erl b/src/battle/battle_turn.erl
index 6e8d226..638e8f9 100644
--- a/src/battle/battle_turn.erl
+++ b/src/battle/battle_turn.erl
@@ -10,7 +10,8 @@
-export
(
[
- handle_post_play/1
+ handle_post_play/1,
+ store_timeline/2
]
).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -75,7 +76,7 @@ start_next_players_turn (Battle) ->
),
NextPlayer = array:get(NextPlayerIX, Players),
- UpdatedNextPlayer = player:reset_timeline(),
+ UpdatedNextPlayer = player:reset_timeline(NextPlayer),
{ActivatedCharacterInstanceIXs, UpdatedCharacterInstances} =
activate_relevant_character_instances
@@ -107,8 +108,24 @@ start_next_players_turn (Battle) ->
%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
--spec handle_post_play (battle:struct()) ->
- {database_diff:struct(), battle:struct()}.
+-spec store_timeline
+ (
+ list(any()),
+ battle:struct()
+ )
+ -> battle:struct().
+store_timeline (TurnEffects, Battle) ->
+ PlayerTurn = battle:get_current_player_turn(Battle),
+ PlayerIX = player_turn:get_player_ix(PlayerTurn),
+ Player = battle:get_player(PlayerIX, Battle),
+
+ UpdatedPlayer = player:add_to_timeline(TurnEffects, Player),
+
+ battle:set_player(PlayerIX, UpdatedPlayer, Battle).
+
+
+-spec handle_post_play (battle:struct())
+ -> {database_diff:struct(), battle:struct()}.
handle_post_play (Battle) ->
CharacterInstances = battle:get_character_instances(Battle),