summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2019-04-29 15:18:02 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2019-04-29 15:18:02 +0200
commitc21e6a963fc36005b1afd5e983049a17aff92aca (patch)
tree01e0cee7536039dcd209f7e989e86e3e18873b5e /src/battle/struct/btl_battle.erl
parenta7c6455285cfd3a671078be4e58df0afae07bf0c (diff)
...
Diffstat (limited to 'src/battle/struct/btl_battle.erl')
-rw-r--r--src/battle/struct/btl_battle.erl43
1 files changed, 43 insertions, 0 deletions
diff --git a/src/battle/struct/btl_battle.erl b/src/battle/struct/btl_battle.erl
index 01ab65b..aedd8da 100644
--- a/src/battle/struct/btl_battle.erl
+++ b/src/battle/struct/btl_battle.erl
@@ -56,6 +56,9 @@
ataxia_set_character/3,
ataxia_set_character/4,
+ add_character/2,
+ ataxia_add_character/2,
+
set_players/2,
ataxia_set_players/2,
ataxia_set_players/3,
@@ -64,6 +67,9 @@
ataxia_set_player/3,
ataxia_set_player/4,
+ add_player/2,
+ ataxia_add_player/2,
+
set_current_player_turn/2,
ataxia_set_current_player_turn/2,
ataxia_set_current_player_turn/3,
@@ -243,6 +249,27 @@ set_character (IX, Character, Battle) ->
characters = orddict:store(IX, Character, Battle#battle.characters)
}.
+-spec add_character
+ (
+ btl_character:unresolved(),
+ type()
+ )
+ -> {non_neg_integer(), type()}.
+add_character (Character, Battle) ->
+ IX = orddict:size(Battle#battle.characters),
+ {IX, set_character(IX, Character, Battle)}.
+
+-spec ataxia_add_character
+ (
+ btl_character:unresolved(),
+ type()
+ )
+ -> {non_neg_integer(), type(), ataxic:basic()}.
+ataxia_add_character (Character, Battle) ->
+ IX = orddict:size(Battle#battle.characters),
+ {S0Battle, AtaxicUpdate} = ataxia_set_character(IX, Character, Battle),
+ {IX, S0Battle, AtaxicUpdate}.
+
-spec ataxia_set_character
(
non_neg_integer(),
@@ -373,6 +400,22 @@ ataxia_set_player (IX, Player, PlayerUpdate, Battle) ->
)
}.
+-spec add_player (btl_player:type(), type()) -> {non_neg_integer(), type()}.
+add_player (Player, Battle) ->
+ IX = orddict:size(Battle#battle.players),
+ {IX, set_player(IX, Player, Battle)}.
+
+-spec ataxia_add_player
+ (
+ btl_player:type(),
+ type()
+ )
+ -> {non_neg_integer(), type(), ataxic:basic()}.
+ataxia_add_player (Player, Battle) ->
+ IX = orddict:size(Battle#battle.players),
+ {S0Battle, AtaxicUpdate} = ataxia_set_player(IX, Player, Battle),
+ {IX, S0Battle, AtaxicUpdate}.
+
-spec set_current_player_turn (btl_player_turn:type(), type()) -> type().
set_current_player_turn (PlayerTurn, Battle) ->
Battle#battle