| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-10-13 23:25:50 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-10-13 23:25:50 +0200 | 
| commit | 60ac298e13f67c6a8d0c581faffb8fe1a95156da (patch) | |
| tree | 19c736ea7f2c27a68d313f65760d8421d0ff4998 /src | |
| parent | cdb5923969af99911840eec19373c7f55e5ebf6a (diff) | |
...
Diffstat (limited to 'src')
| -rw-r--r-- | src/battle/struct/btl_battle.erl | 52 | ||||
| -rw-r--r-- | src/battle/struct/btl_character.erl | 2 | 
2 files changed, 51 insertions, 3 deletions
| diff --git a/src/battle/struct/btl_battle.erl b/src/battle/struct/btl_battle.erl index 27f9698..48b386a 100644 --- a/src/battle/struct/btl_battle.erl +++ b/src/battle/struct/btl_battle.erl @@ -14,7 +14,8 @@        map :: shr_map:type(),        characters :: orddict:orddict(non_neg_integer(), btl_character:either()),        players :: orddict:orddict(non_neg_integer(), btl_player:type()), -      current_player_turn :: btl_player_turn:type() +      current_player_turn :: btl_player_turn:type(), +      conditions :: btl_condition:collection()     }  ). @@ -39,6 +40,7 @@        get_player/2,        get_current_player_turn/1,        get_encoded_last_turns_effects/1, +      get_conditions/1,        set_map/2,        ataxia_set_map/2, @@ -74,11 +76,16 @@        ataxia_set_current_player_turn/2,        ataxia_set_current_player_turn/3, +      set_conditions/2, +      ataxia_set_conditions/2, +      ataxia_set_conditions/3, +        get_characters_field/0,        get_players_field/0,        get_related_inventory_field/0,        get_related_tile_ids_field/0, -      get_current_player_turn_field/0 +      get_current_player_turn_field/0, +      get_conditions_field/0     ]  ). @@ -549,6 +556,44 @@ resolve_character (Character, Battle) ->        false -> Character     end. +-spec get_conditions (type()) -> btl_condition:collection(). +get_conditions (#battle{ conditions = R }) -> R. + +-spec set_conditions (btl_condition:collection(), type()) -> type(). +set_conditions (Conditions, Battle) -> +   Battle#battle{ conditions = Conditions }. + +-spec ataxia_set_conditions +   ( +      btl_condition:collection(), +      ataxic:basic(), +      type() +   ) +   -> {type(), ataxic:basic()}. +ataxia_set_conditions (Conditions, Update, Battle) -> +   { +      set_conditions(Conditions, Battle), +      ataxic:update_field +      ( +         get_conditions_field(), +         Update +      ) +   }. + +-spec ataxia_set_conditions +   ( +      btl_condition:collection(), +      type() +   ) +   -> {type(), ataxic:basic()}. +ataxia_set_conditions (Conditions, Battle) -> +   ataxia_set_conditions +   ( +      Conditions, +      ataxic:constant(Conditions), +      Battle +   ). +  -spec get_characters_field () -> non_neg_integer().  get_characters_field () -> #battle.characters. @@ -566,3 +611,6 @@ get_players_field () -> #battle.players.  -spec get_current_player_turn_field () -> non_neg_integer().  get_current_player_turn_field () -> #battle.current_player_turn. + +-spec get_conditions_field() -> non_neg_integer(). +get_conditions_field () -> #battle.conditions. diff --git a/src/battle/struct/btl_character.erl b/src/battle/struct/btl_character.erl index bbf94bb..51d6191 100644 --- a/src/battle/struct/btl_character.erl +++ b/src/battle/struct/btl_character.erl @@ -188,7 +188,7 @@ get_base_character (#btl_char_ref{ base = R }) -> R.  -spec get_conditions     (type()) -> btl_condition:collection(); -   (unresolved()) -> orddict:orddict(non_neg_integer(), btl_conditions:type()). +   (unresolved()) -> btl_condition:collection().  get_conditions (#btl_char{ conditions = R }) -> R;  get_conditions (#btl_char_ref{ conditions = R }) -> R. | 


