summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2018-12-14 08:55:35 +0100
committernsensfel <SpamShield0@noot-noot.org>2018-12-14 08:55:35 +0100
commit0c0aae55b68ac6ff24fc29c9484de013196bc4ef (patch)
treef09acf6059323dbb2c5d44ab831f64306b4f49ff
parent53d54f688eb2da66fc2985911ad194351fec483a (diff)
...
-rw-r--r--src/battle/game-logic/btl_next_turn.erl59
-rw-r--r--src/battle/game-logic/btl_turn_actions.erl13
2 files changed, 42 insertions, 30 deletions
diff --git a/src/battle/game-logic/btl_next_turn.erl b/src/battle/game-logic/btl_next_turn.erl
index 9ed4926..4906c94 100644
--- a/src/battle/game-logic/btl_next_turn.erl
+++ b/src/battle/game-logic/btl_next_turn.erl
@@ -17,7 +17,7 @@
%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-spec set_player_turn_to_next (btl_battle:type())
- -> {btl_battle:type(), shr_db_query:op()}.
+ -> {btl_battle:type(), ataxic:basic()}.
set_player_turn_to_next (Battle) ->
Players = btl_battle:get_players(Battle),
CurrentPlayerTurn = btl_battle:get_current_player_turn(Battle),
@@ -27,16 +27,16 @@ set_player_turn_to_next (Battle) ->
UpdatedBattle = btl_battle:set_current_player_turn(NextPlayerTurn, Battle),
DBQuery =
- shr_db_query:set_field
+ ataxic:on_field
(
btl_battle:get_current_player_turn_field(),
- NextPlayerTurn
+ ataxic:constant(NextPlayerTurn)
),
{UpdatedBattle, DBQuery}.
-spec reset_next_player_timeline (btl_battle:type())
- -> {btl_battle:type(), btl_player:type(), shr_db_query:op()}.
+ -> {btl_battle:type(), btl_player:type(), ataxic:basic()}.
reset_next_player_timeline (Battle) ->
NextPlayerTurn = btl_battle:get_current_player_turn(Battle),
NextPlayerIX = btl_player_turn:get_player_ix(NextPlayerTurn),
@@ -47,18 +47,25 @@ reset_next_player_timeline (Battle) ->
btl_battle:set_player(NextPlayerIX, UpdatedNextPlayer, Battle),
DBQuery =
- shr_db_query:update_indexed
+ ataxic:on_field
(
btl_battle:get_players_field(),
- NextPlayerIX,
- [ shr_db_query:set_field(btl_player:get_timeline_field(), []) ]
+ ataxic_sugar:update_array_cell
+ (
+ NextPlayerIX,
+ ataxic:on_field
+ (
+ btl_player:get_timeline_field(),
+ ataxic:constant([])
+ )
+ )
),
{UpdatedBattle, UpdatedNextPlayer, DBQuery}.
-spec activate_next_players_characters (btl_battle:type(), btl_player:type())
- -> {btl_battle:type(), list(shr_db_query:op())}.
+ -> {btl_battle:type(), ataxic:basic()}.
activate_next_players_characters (Battle, NextPlayer) ->
NextPlayerIX = btl_player:get_index(NextPlayer),
Characters = btl_battle:get_characters(Battle),
@@ -75,29 +82,33 @@ activate_next_players_characters (Battle, NextPlayer) ->
Characters
),
- DBQueries =
- lists:map
+ DBQuery =
+ ataxic:on_field
(
- fun (IX) ->
- shr_db_query:update_indexed
+ btl_battle:get_characters_field(),
+ ataxic:sequence
+ (
+ lists:map
(
- btl_battle:get_characters_field(),
- IX,
- [
- shr_db_query:set_field
+ fun (IX) ->
+ ataxic_sugar:update_array_cell
(
- btl_character:get_is_active_field(),
- true
+ IX,
+ ataxic:on_field
+ (
+ btl_character:get_is_active_field(),
+ ataxic:constant(true)
+ )
)
- ]
+ end,
+ ModifiedIXs
)
- end,
- ModifiedIXs
+ )
),
UpdatedBattle = btl_battle:set_characters(UpdatedCharacters, Battle),
- {UpdatedBattle, DBQueries}.
+ {UpdatedBattle, DBQuery}.
-spec update
(
@@ -110,7 +121,7 @@ update (Update) ->
{S0Battle, DBQuery0} = set_player_turn_to_next(Battle),
{S1Battle, NextPlayer, DBQuery1} = reset_next_player_timeline(S0Battle),
- {S2Battle, DBQueries} =
+ {S2Battle, DBQuery2} =
activate_next_players_characters(S1Battle, NextPlayer),
S0Data = btl_character_turn_data:set_battle(S2Battle, Data),
@@ -132,7 +143,7 @@ update (Update) ->
(
fun btl_character_turn_update:add_to_db/2,
S1Update,
- [DBQuery1|DBQueries]
+ [DBQuery1,DBQuery2]
),
S2Update.
diff --git a/src/battle/game-logic/btl_turn_actions.erl b/src/battle/game-logic/btl_turn_actions.erl
index 6ff09aa..3eded89 100644
--- a/src/battle/game-logic/btl_turn_actions.erl
+++ b/src/battle/game-logic/btl_turn_actions.erl
@@ -43,17 +43,18 @@ mod_current_health (CurrentMaxHealth, PreviousMaxHealth, Update) ->
S0Update = btl_character_turn_update:set_data(UpdatedData, Update),
DBQuery =
- shr_db_query:update_indexed
+ ataxic:on_field
(
btl_battle:get_characters_field(),
- CharacterIX,
- [
- shr_db_query:set_field
+ ataxic_sugar:update_array_cell
+ (
+ CharacterIX,
+ ataxic:on_field
(
btl_character:get_current_health_field(),
- NewHealth
+ ataxic:constant(NewHealth)
)
- ]
+ )
),
S1Update = btl_character_turn_update:add_to_db(DBQuery, S0Update),