| summaryrefslogtreecommitdiff | 
diff options
| author | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-10-21 21:50:25 +0200 | 
|---|---|---|
| committer | Nathanael Sensfelder <SpamShield0@MultiAgentSystems.org> | 2019-10-21 21:50:25 +0200 | 
| commit | 3391371f9979f374e5cb3243e1f71500c6115f90 (patch) | |
| tree | 4c59b4c03c7837c86fe758f524b6b4b595abdb31 /src/battle | |
| parent | c2bff6b098480af6a21bde453494f8ff64219ea7 (diff) | |
Update for Ataxia.
Diffstat (limited to 'src/battle')
| -rw-r--r-- | src/battle/mechanic/action/btl_action_attack.erl | 10 | ||||
| -rw-r--r-- | src/battle/mechanic/btl_turn_progression.erl | 2 | ||||
| -rw-r--r-- | src/battle/mechanic/btl_victory_progression.erl | 2 | ||||
| -rw-r--r-- | src/battle/mechanic/condition/btl_cond_heal.erl | 78 | ||||
| -rw-r--r-- | src/battle/query/btl_character_turn.erl | 2 | ||||
| -rw-r--r-- | src/battle/struct/btl_attack.erl | 2 | ||||
| -rw-r--r-- | src/battle/struct/btl_condition.erl | 24 | 
7 files changed, 24 insertions, 96 deletions
| diff --git a/src/battle/mechanic/action/btl_action_attack.erl b/src/battle/mechanic/action/btl_action_attack.erl index d155197..c6cd270 100644 --- a/src/battle/mechanic/action/btl_action_attack.erl +++ b/src/battle/mechanic/action/btl_action_attack.erl @@ -61,7 +61,7 @@ apply_mirror_conditions        end,     {S1VolatileContext, S1Update} = -      blt_condition:apply_to_character +      btl_condition:apply_to_character        (           ActorIX,           OwnTriggerName, @@ -71,7 +71,7 @@ apply_mirror_conditions        ),     {S2VolatileContext, S2Update} = -      blt_condition:apply_to_character +      btl_condition:apply_to_character        (           TargetIX,           OtherTriggerName, @@ -81,7 +81,7 @@ apply_mirror_conditions        ),     {S3VolatileContext, S3Update} = -      blt_condition:apply_to_battle +      btl_condition:apply_to_battle        (           GlobalTriggerName,           ReadOnlyContext, @@ -474,7 +474,7 @@ get_actors (_Category, Action, Update) ->  -spec commit_hit     (        boolean(), -      btl_battle:precision(), +      btl_attack:precision(),        boolean(),        btl_character:type(),        btl_character:type(), @@ -645,7 +645,7 @@ commit_hit        btl_attack:category(),        btl_action:type(),        boolean(), -      btl_battle:precision(), +      btl_attack:precision(),        btl_character_turn_update:type()     )     -> diff --git a/src/battle/mechanic/btl_turn_progression.erl b/src/battle/mechanic/btl_turn_progression.erl index 5b8d9c8..4507b52 100644 --- a/src/battle/mechanic/btl_turn_progression.erl +++ b/src/battle/mechanic/btl_turn_progression.erl @@ -101,7 +101,7 @@ activate_next_players_characters (NextPlayerIX, Battle) ->           AllCharacters        ), -   {ResultingBattle, ataxic:optimize(ataxic:sequence(BattleAtaxicUpdates))}. +   {ResultingBattle, ataxic:sequence(BattleAtaxicUpdates)}.  -spec activate_next_player     ( diff --git a/src/battle/mechanic/btl_victory_progression.erl b/src/battle/mechanic/btl_victory_progression.erl index cf8b6d3..45a6e89 100644 --- a/src/battle/mechanic/btl_victory_progression.erl +++ b/src/battle/mechanic/btl_victory_progression.erl @@ -59,7 +59,7 @@ mark_characters_of_player_as_defeated (PlayerIX, Battle) ->           AllCharacters        ), -   {ResultingBattle, ataxic:optimize(ataxic:sequence(BattleAtaxiaUpdates))}. +   {ResultingBattle, ataxic:sequence(BattleAtaxiaUpdates)}.  -spec mark_player_as_inactive     ( diff --git a/src/battle/mechanic/condition/btl_cond_heal.erl b/src/battle/mechanic/condition/btl_cond_heal.erl index 897768a..f38de7b 100644 --- a/src/battle/mechanic/condition/btl_cond_heal.erl +++ b/src/battle/mechanic/condition/btl_cond_heal.erl @@ -18,84 +18,6 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec apply_to_character -   ( -      btl_condition:type(), -      btl_character:type() -   ) -   -> -   { -      btl_condition:type(), -      btl_condition:update_action(), -      [{btl_character:type(), ataxic:basic()}] -   }. -apply_to_character (Condition, S0Character) -> -   {_TargetIX, Amount} = btl_condition:get_parameters(Condition), - -   case btl_character:get_is_alive(S0Character) of -      false -> {Condition, none, []}; -      true -> -         RemainingUses = btl_condition:get_remaining_uses(Condition), -         CurrentHealth = btl_character:get_current_health(S0Character), -         MaxHealth = -            shr_attributes:get_health -            ( -               shr_character:get_attributes -               ( -                  btl_character:get_base_character(S0Character) -               ) -            ), - -         UpdatedHealth = min(MaxHealth, (CurrentHealth + Amount)), -         UpdatedRemainingUses = - -         {S1Character, CharacterUpdate} = -            btl_character:ataxia_set_current_health(UpdatedHealth, S0Character), - -         if -            (RemainingUses == -1) -> -               { -                  Condition, -                  none, -                  [{S1Character, CharacterUpdate}] -               }; - -            (RemainingUses == 1) -> -               { -                  remove, -                  [{S1Character, CharacterUpdate}] -               }; - -            (RemainingUses == 0) -> -               { -                  remove, -                  [{S1Character, CharacterUpdate}] -               }; - -            true -> -               {UpdatedCondition, ConditionUpdate} = -                  btl_condition:ataxia_set_remaining_uses -                  ( -                     UpdatedRemainingUses, -                     Condition -                  ), -               { -                  UpdatedCondition, -                  {update, ConditionUpdate}, -                  [{S1Character, CharacterUpdate}] -               } -         end -   end. - --spec handle_context -   ( -      shr_condition:context(), -      btl_condition:type() -   ) -   -> shr_condition:context(). -handle_context ({Trigger, ReadOnly, VolatileData}, Condition) -> -   {_TargetIX, _Amount} = btl_condition:get_parameters(Condition), -   {Trigger, ReadOnly, VolatileData}.  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% diff --git a/src/battle/query/btl_character_turn.erl b/src/battle/query/btl_character_turn.erl index d0046b2..d34febe 100644 --- a/src/battle/query/btl_character_turn.erl +++ b/src/battle/query/btl_character_turn.erl @@ -137,7 +137,7 @@ send_to_database (Update, Request) ->        (           battle_db,           ataxia_security:user_from_id(PlayerID), -         ataxic:update_value(ataxic:optimize(BattleAtaxicUpdate)), +         ataxic:update_value(ataxic_optimize:aggressive(BattleAtaxicUpdate)),           BattleID        ), diff --git a/src/battle/struct/btl_attack.erl b/src/battle/struct/btl_attack.erl index e4a516b..27436f2 100644 --- a/src/battle/struct/btl_attack.erl +++ b/src/battle/struct/btl_attack.erl @@ -22,7 +22,7 @@  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --export_type([type/0, category/0]). +-export_type([type/0, category/0, precision/0]).  -export  ( diff --git a/src/battle/struct/btl_condition.erl b/src/battle/struct/btl_condition.erl index 78ee9b6..60b329a 100644 --- a/src/battle/struct/btl_condition.erl +++ b/src/battle/struct/btl_condition.erl @@ -12,12 +12,18 @@        | {update, ataxic:basic()}     ). +-type ref() :: +   ( +      {char, non_neg_integer(), non_neg_integer()} +      | {battle, non_neg_integer()} +   ). +  -record  (     btl_cond,     {        category :: shr_condition:id(), -      triggers :: ordset:ordset(shr_condition:trigger()), +      triggers :: ordsets:ordset(shr_condition:trigger()),        occurrences :: (non_neg_integer() | -1),        duration :: (non_neg_integer() | -1),        parameters :: tuple() @@ -27,7 +33,7 @@  -opaque type() :: #btl_cond{}.  -opaque collection() :: orddict:orddict(non_neg_integer(), type()). --export_type([type/0, collection/0, update_action/0]). +-export_type([type/0, ref/0, collection/0, update_action/0]).  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -131,7 +137,7 @@ update_actions_to_ataxic_update (Updates) ->  -spec get_category (type()) -> shr_condition:id().  get_category (Condition) -> Condition#btl_cond.category. --spec get_triggers (type()) -> ordset:ordset(shr_condition:trigger()). +-spec get_triggers (type()) -> ordsets:ordset(shr_condition:trigger()).  get_triggers (Condition) -> Condition#btl_cond.triggers.  -spec get_remaining_occurrences (type()) -> (non_neg_integer() | -1). @@ -143,7 +149,7 @@ get_duration (Condition) -> Condition#btl_cond.duration.  -spec get_parameters (type()) -> tuple().  get_parameters (Condition) -> Condition#btl_cond.parameters. --spec set_triggers (ordset:ordset(shr_condition:trigger()), type()) -> type(). +-spec set_triggers (ordsets:ordset(shr_condition:trigger()), type()) -> type().  set_triggers (Triggers, Condition) -> Condition#btl_cond{ triggers = Triggers }.  -spec set_remaining_occurrences ((non_neg_integer() | -1), type()) -> type(). @@ -159,7 +165,7 @@ set_parameters (Value, Condition) -> Condition#btl_cond{ parameters = Value }.  -spec ataxia_set_triggers     ( -      ordset:ordset(shr_condition:trigger()), +      ordsets:ordset(shr_condition:trigger()),        type()     )     -> {type(), ataxic:basic()}. @@ -219,7 +225,7 @@ ataxia_set_parameters (Value, Condition) ->  -spec ataxia_set_triggers     ( -      ordset:ordset(shr_condition:trigger()), +      ordsets:ordset(shr_condition:trigger()),        ataxic:basic(),        type()     ) @@ -253,7 +259,7 @@ ataxia_set_parameters (Value, Update, Condition) ->  -spec triggers_on (shr_condition:trigger(), type()) -> boolean().  triggers_on (Trigger, Type) -> -   ordset:is_element(Trigger, Type#btl_cond.triggers). +   ordsets:is_element(Trigger, Type#btl_cond.triggers).  -spec get_category_field () -> non_neg_integer().  get_category_field () -> #btl_cond.category. @@ -375,7 +381,7 @@ apply_to_character     S0Conditions = btl_character:get_conditions(S1Actor),     S1Conditions = -      ataxic:basic_apply_to(ActorConditionsAtaxicUpdate, S0Conditions), +      ataxic:apply_basic_to(ActorConditionsAtaxicUpdate, S0Conditions),     {S2Actor, ActorAtaxicUpdate} =        btl_character:ataxia_set_conditions @@ -436,7 +442,7 @@ apply_to_battle     %%%% Battle may have been modified (and very likely has) %%%%%%%%%%%%%%%%%%%%     S1Battle = btl_character_turn_update:get_battle(S1Update),     UpdatedBattleConditions = -      ataxic:basic_apply_to +      ataxic:apply_basic_to        (           btl_battle:get_conditions(S1Battle),           BattleConditionsAtaxicUpdate | 


