| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-10-20 20:59:34 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-10-20 20:59:34 +0200 | 
| commit | 08fab636c981574a703baffad9ebb52ff4308f17 (patch) | |
| tree | 6fd3742f4b374fb948ecd017be88e5923dc9d611 /src/battle/struct | |
| parent | 4aaf3670c0ff4bc46092e909bb450b6336417ed9 (diff) | |
...
Diffstat (limited to 'src/battle/struct')
| -rw-r--r-- | src/battle/struct/btl_character_turn_update.erl | 32 | 
1 files changed, 30 insertions, 2 deletions
| diff --git a/src/battle/struct/btl_character_turn_update.erl b/src/battle/struct/btl_character_turn_update.erl index 304f19d..e0d94f1 100644 --- a/src/battle/struct/btl_character_turn_update.erl +++ b/src/battle/struct/btl_character_turn_update.erl @@ -10,7 +10,8 @@        battle :: btl_battle:type(),        character_ix :: non_neg_integer(),        reversed_battle_updates :: list(ataxic:basic()), -      timeline :: list(any()) +      timeline :: list(any()), +      actions :: list(btl_action:type())     }  ). @@ -31,10 +32,13 @@        get_character_ix/1,        get_battle_update/1,        get_timeline/1, +      pop_next_action/1,        set_battle/2,        ataxia_set_battle/3, +      add_actions/3, +        add_to_timeline/2     ]  ). @@ -53,7 +57,8 @@ new (Battle, CharacterIX) ->        battle = Battle,        character_ix = CharacterIX,        reversed_battle_updates = [], -      timeline = [] +      timeline = [], +      actions = []     }.  -spec get_battle (type()) -> btl_battle:type(). @@ -62,6 +67,18 @@ get_battle (Data) -> Data#type.battle.  -spec get_character_ix (type()) -> non_neg_integer().  get_character_ix (Data) -> Data#type.character_ix. +-spec pop_next_action (type()) -> ({ok, type(), btl_action:type()} | none). +pop_next_action (Data) -> +   case Data#type.actions of +      [] -> none; +      [Result|NextActions] -> +         { +            ok, +            Data#type { actions = NextActions }, +            Result +         } +   end. +  -spec set_battle (btl_battle:type(), type()) -> type().  set_battle (Battle, Data) -> Data#type { battle = Battle }. @@ -79,6 +96,17 @@ ataxia_set_battle (Battle, BattleUpdate, Data) ->        reversed_battle_updates = [BattleUpdate|Data#type.reversed_battle_updates]     }. +-spec add_actions (boolean(), list(btl_action:type()), type()) -> type(). +add_actions (IsPrefix, Actions, Data) -> +   Data#type +   { +      actions = +         case IsPrefix of +            true -> (Actions ++ Data#type.actions); +            false -> (Data#type.actions ++ Actions) +         end +   }. +  -spec add_to_timeline (btl_turn_result:type(), type()) -> type().  add_to_timeline (Item, Data) ->     Data#type | 


