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 | |
parent | c2bff6b098480af6a21bde453494f8ff64219ea7 (diff) |
Update for Ataxia.
Diffstat (limited to 'src')
-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 | ||||
-rw-r--r-- | src/bounty/bnt_join_battle.erl | 7 | ||||
-rw-r--r-- | src/roster/query/rst_update.erl | 2 |
9 files changed, 30 insertions, 99 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 diff --git a/src/bounty/bnt_join_battle.erl b/src/bounty/bnt_join_battle.erl index 40ecc9b..68a3358 100644 --- a/src/bounty/bnt_join_battle.erl +++ b/src/bounty/bnt_join_battle.erl @@ -152,7 +152,10 @@ add_characters (PlayerIX, RosterCharacters, Battle) -> RosterCharacters ), - {FinalBattle, ataxic:optimize(ataxic:sequence(FinalBattleAtaxicUpdates))}. + { + FinalBattle, + ataxic:sequence(FinalBattleAtaxicUpdates) + }. -spec get_roster_characters ( @@ -715,7 +718,7 @@ attempt ( pending_battle_db, PlayerUser, - ataxic:update_value(AtaxicUpdate), + ataxic:update_value(ataxic_optimize:aggressive(AtaxicUpdate)), PendingBattleID ), diff --git a/src/roster/query/rst_update.erl b/src/roster/query/rst_update.erl index bf18652..4546d92 100644 --- a/src/roster/query/rst_update.erl +++ b/src/roster/query/rst_update.erl @@ -149,7 +149,7 @@ commit_update (QueryState, Input) -> ataxia_security:user_from_id(PlayerID), ataxic:update_value ( - ataxic:optimize(ataxic:sequence(RosterAtaxiaUpdates)) + ataxic_optimize:aggressive(ataxic:sequence(RosterAtaxiaUpdates)) ), RosterID ), |