| summaryrefslogtreecommitdiff | 
diff options
Diffstat (limited to 'src/battle/struct')
| -rw-r--r-- | src/battle/struct/btl_battle.erl | 58 | ||||
| -rw-r--r-- | src/battle/struct/btl_conditions.erl | 4 | ||||
| -rw-r--r-- | src/battle/struct/btl_status_indicators.erl | 10 | 
3 files changed, 62 insertions, 10 deletions
| diff --git a/src/battle/struct/btl_battle.erl b/src/battle/struct/btl_battle.erl index 09298e6..e914626 100644 --- a/src/battle/struct/btl_battle.erl +++ b/src/battle/struct/btl_battle.erl @@ -15,7 +15,8 @@        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(), -      conditions :: btl_conditions:type() +      conditions :: btl_conditions:type(), +      status_indicators :: btl_status_indicators:type()     }  ). @@ -80,12 +81,18 @@        ataxia_set_conditions/2,        ataxia_set_conditions/3, +      get_status_indicators/1, +      set_status_indicators/2, +      ataxia_set_status_indicators/2, +      ataxia_set_status_indicators/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_conditions_field/0 +      get_conditions_field/0, +      get_status_indicators_field/0     ]  ). @@ -624,6 +631,50 @@ ataxia_set_conditions (Conditions, Battle) ->        Battle     ). +%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%% Status Indicators %%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec get_status_indicators_field() -> non_neg_integer(). +get_status_indicators_field () -> #battle.status_indicators. + +-spec get_status_indicators (type()) -> btl_status_indicators:type(). +get_status_indicators (#battle{ status_indicators = R }) -> R. + +-spec set_status_indicators (btl_status_indicators:type(), type()) -> type(). +set_status_indicators (StatusIndicators, Battle) -> +   Battle#battle{ status_indicators = StatusIndicators }. + +-spec ataxia_set_status_indicators +   ( +      btl_status_indicators:type(), +      ataxic:basic(), +      type() +   ) +   -> {type(), ataxic:basic()}. +ataxia_set_status_indicators (StatusIndicators, Update, Battle) -> +   { +      set_status_indicators(StatusIndicators, Battle), +      ataxic:update_field +      ( +         get_status_indicators_field(), +         Update +      ) +   }. + +-spec ataxia_set_status_indicators +   ( +      btl_status_indicators:type(), +      type() +   ) +   -> {type(), ataxic:basic()}. +ataxia_set_status_indicators (StatusIndicators, Battle) -> +   ataxia_set_status_indicators +   ( +      StatusIndicators, +      ataxic:constant(StatusIndicators), +      Battle +   ). +  %%%% Constructor %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  -spec new (shr_map:type()) -> type().  new (Map) -> @@ -637,5 +688,6 @@ new (Map) ->        characters = EmptyDict,        players = EmptyDict,        current_player_turn = btl_player_turn:new(0, 0), -      conditions = btl_conditions:new() +      conditions = btl_conditions:new(), +      status_indicators = btl_status_indicators:new()     }. diff --git a/src/battle/struct/btl_conditions.erl b/src/battle/struct/btl_conditions.erl index aa5aefc..d60055d 100644 --- a/src/battle/struct/btl_conditions.erl +++ b/src/battle/struct/btl_conditions.erl @@ -551,7 +551,7 @@ add (CondID, Triggers, Params, Conditions) ->     Collection = Conditions#btl_conds.collection,     NewConditionIX = -      shr_util_orddict:compute_next_non_neg_integer_index(Collection), +      shr_orddict_util:compute_next_non_neg_integer_index(Collection),     UpdatedCollection = orddict:store(NewConditionIX, NewCondition, Collection), @@ -599,7 +599,7 @@ ataxia_add (CondID, Triggers, Params, Conditions) ->     Collection = Conditions#btl_conds.collection,     NewConditionIX = -      shr_util_orddict:compute_next_non_neg_integer_index(Collection), +      shr_orddict_util:compute_next_non_neg_integer_index(Collection),     AtaxicNewConditionIX = ataxic:constant(NewConditionIX), diff --git a/src/battle/struct/btl_status_indicators.erl b/src/battle/struct/btl_status_indicators.erl index ec0b2d5..9ffa5ea 100644 --- a/src/battle/struct/btl_status_indicators.erl +++ b/src/battle/struct/btl_status_indicators.erl @@ -211,7 +211,7 @@ ataxia_set_category (IX, NewValue, StatusIndicators) ->           ataxic:update_field           (              #btl_sti.category, -            ataxic:const(NewValue) +            ataxic:constant(NewValue)           )        )     }. @@ -250,7 +250,7 @@ ataxia_set_parameter (IX, NewValue, StatusIndicators) ->           ataxic:update_field           (              #btl_sti.parameter, -            ataxic:const(NewValue) +            ataxic:constant(NewValue)           )        )     }. @@ -278,7 +278,7 @@ add (Category, Parameter, Visibility, S0StatusIndicators) ->        },     NewStatusIndicatorIX = -      shr_orddict_util:compute_next_non_neg_integer(S0StatusIndicators), +      shr_orddict_util:compute_next_non_neg_integer_index(S0StatusIndicators),     S1StatusIndicators =        orddict:store @@ -288,7 +288,7 @@ add (Category, Parameter, Visibility, S0StatusIndicators) ->           S0StatusIndicators        ), -   S1StatusIndicators. +   {S1StatusIndicators, NewStatusIndicatorIX}.  -spec ataxia_add     ( @@ -308,7 +308,7 @@ ataxia_add (Category, Parameter, Visibility, S0StatusIndicators) ->        },     NewStatusIndicatorIX = -      shr_orddict_util:compute_next_non_neg_integer(S0StatusIndicators), +      shr_orddict_util:compute_next_non_neg_integer_index(S0StatusIndicators),     S1StatusIndicators =        orddict:store | 


