summaryrefslogtreecommitdiff |
diff options
author | nsensfel <SpamShield0@noot-noot.org> | 2019-04-23 18:26:09 +0200 |
---|---|---|
committer | nsensfel <SpamShield0@noot-noot.org> | 2019-04-23 18:26:09 +0200 |
commit | e39c44eabaea7bafa58aa85593b80a6c55f907a3 (patch) | |
tree | a358e52c72285351fd099e512176048818df1f4f /src/battle/struct/btl_player.erl | |
parent | 459a954c58e1bf9cb7359b617713f2057ceb024f (diff) |
...
Diffstat (limited to 'src/battle/struct/btl_player.erl')
-rw-r--r-- | src/battle/struct/btl_player.erl | 63 |
1 files changed, 60 insertions, 3 deletions
diff --git a/src/battle/struct/btl_player.erl b/src/battle/struct/btl_player.erl index 054666d..3669e00 100644 --- a/src/battle/struct/btl_player.erl +++ b/src/battle/struct/btl_player.erl @@ -37,12 +37,18 @@ get_timeline/1, get_is_active/1, + set_is_active/2, + ataxia_set_is_active/2, set_luck/2, + ataxia_set_luck/2, add_to_timeline/2, + ataxia_add_to_timeline/2, + reset_timeline/1, + ataxia_reset_timeline/1, get_timeline_field/0, get_luck_field/0, @@ -88,24 +94,75 @@ get_timeline (Player) -> Player#player.timeline. -spec get_is_active (type()) -> boolean(). get_is_active (Player) -> Player#player.is_active. + -spec set_is_active (boolean(), type()) -> type(). set_is_active (Val, Player) -> Player#player{ is_active = Val }. +-spec ataxia_set_is_active (boolean(), type()) -> {type(), ataxia:basic()}. +ataxia_set_is_active (Val, Player) -> + { + Player#player{ is_active = Val }, + ataxic:update_field + ( + get_is_active_field(), + ataxic:constant(Val) + ) + }. + -spec set_luck (integer(), type()) -> type(). set_luck (Val, Player) -> Player#player{ luck = Val }. +-spec ataxia_set_luck (integer(), type()) -> {type(), ataxic:basic()}. +ataxia_set_luck (Val, Player) -> + { + Player#player{ luck = Val }, + ataxic:update_field + ( + get_luck_field(), + ataxic:constant(Val) + ) + }. + -spec add_to_timeline (list(any()), type()) -> type(). add_to_timeline (NewEvents, Player) -> - OldTimeline = Player#player.timeline, - Player#player { - timeline = (NewEvents ++ OldTimeline) + timeline = (NewEvents ++ Player#player.timeline) + }. + +-spec ataxia_add_to_timeline (list(any()), type()) -> {type(), ataxic:basic()}. +ataxia_add_to_timeline (NewEvents, Player) -> + { + Player#player{ timeline = (NewEvents ++ Player#player.timeline) }, + ataxic:update_field + ( + get_timeline_field(), + ataxic:apply_function + ( + lists, + append, + [ + ataxic:constant(NewEvents), + ataxic:current_value() + ] + ) + ) }. -spec reset_timeline (type()) -> type(). reset_timeline (Player) -> Player#player{ timeline = [] }. +-spec ataxia_reset_timeline (type()) -> {type(), ataxic:basic()}. +ataxia_reset_timeline (Player) -> + { + Player#player{ timeline = [] }, + ataxic:update_field + ( + get_timeline_field(), + ataxic:constant([]) + ) + }. + -spec new ( non_neg_integer(), |