summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/battle/mechanic')
-rw-r--r-- | src/battle/mechanic/skill/btl_skill_attack_anywhere.erl | 30 | ||||
-rw-r--r-- | src/battle/mechanic/skill/btl_skill_shields_up.erl | 18 | ||||
-rw-r--r-- | src/battle/mechanic/skill/btl_skill_static_heal.erl | 111 |
3 files changed, 16 insertions, 143 deletions
diff --git a/src/battle/mechanic/skill/btl_skill_attack_anywhere.erl b/src/battle/mechanic/skill/btl_skill_attack_anywhere.erl index bcc8519..78a0a08 100644 --- a/src/battle/mechanic/skill/btl_skill_attack_anywhere.erl +++ b/src/battle/mechanic/skill/btl_skill_attack_anywhere.erl @@ -2,6 +2,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-include("tacticians/conditions.hrl"). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -22,31 +23,12 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -spec cast ( - shr_skill:variant(), + shr_skill:type(), non_neg_integer(), list(non_neg_integer()), list(shr_location:type()), btl_character_turn_update:type() - ) -> btl_character_turn_update:type(). -cast (_Variant, UserIX, TargetIXs, _Locations, Update) -> - TargetIX = - case TargetIXs of - [ValTargetIX] -> ValTargetIX; - _ -> error({skill, target, TargetIXs}) - end, - - % TODO: Add condition to Character[UserIX]: - % { - % Effect: Attack Range Increase - % Trigger: Start of Own Attack - % Duration: -1 (Infinite) - % Uses: 1 - % Parameter: Max Value. - - % TODO: Add cast event to Update. - - btl_actions_management:handle - ( - [btl_action:new_attack(UserIX, TargetIX)], - Update - ). + ) + -> btl_character_turn_update:type(). +cast (_Skill, _UserIX, _TargetIXs, _Locations, S0Update) -> + S0Update. diff --git a/src/battle/mechanic/skill/btl_skill_shields_up.erl b/src/battle/mechanic/skill/btl_skill_shields_up.erl index 32af8c2..b7873ad 100644 --- a/src/battle/mechanic/skill/btl_skill_shields_up.erl +++ b/src/battle/mechanic/skill/btl_skill_shields_up.erl @@ -2,7 +2,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("tacticians/skills.hrl") +-include("tacticians/conditions.hrl"). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -23,18 +23,12 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -spec cast ( - shr_skill:variant(), + shr_skill:type(), non_neg_integer(), list(non_neg_integer()), list(shr_location:type()), btl_character_turn_update:type() - ) -> btl_character_turn_update:type(). -cast (Variant, _UserIX, TargetIXs, _Locations, Update) -> - % TODO: Add condition to TargetIXs: - % { - % Effect: Defense Percentage Increase - % Trigger: Start of Own Attack, Start of Target Attack - % Duration: {Beta} Turns - % Uses: -1 (Infinite) - % Parameter: {Alpha}. - Update. + ) + -> btl_character_turn_update:type(). +cast (_Skill, _UserIX, _TargetIXs, _Locations, S0Update) -> + S0Update. diff --git a/src/battle/mechanic/skill/btl_skill_static_heal.erl b/src/battle/mechanic/skill/btl_skill_static_heal.erl index 7a9bf35..b1b7018 100644 --- a/src/battle/mechanic/skill/btl_skill_static_heal.erl +++ b/src/battle/mechanic/skill/btl_skill_static_heal.erl @@ -2,8 +2,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --include("tacticians/skills.hrl") --include("tacticians/conditions.hrl") +-include("tacticians/conditions.hrl"). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -18,120 +17,18 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --spec cast_logic - ( - non_neg_integer(), - non_neg_integer(), - btl_character_turn_update:type() - ) - -> btl_character_turn_update:type(). -cast_logic (TargetIX, Amount, S0Update) -> - Healing = - btl_condition:new - ( - ?CONDITION_EFFECT_HEAL, - [], - -1, - 1, - {TargetIX, HealAmount} - ), - - {_S1HealindAndUpdate, S1Update} = - btl_cond_heal:apply - ( - Healing, - S0Update - ), - - % TODO: Add a btl_turn_result showing the heal to S1Update. - - S1Update. - --spec group_cast_logic - ( - list(non_neg_integer()), - non_neg_integer(), - non_neg_integer(), - btl_character_turn_update:type() - ) - -> btl_character_turn_update:type(). -group_cast_logic (TargetIXs, MaxTargets, Amount, S0Update) -> - case (length(TargetIXs) > MaxTargets) of - true -> error({skill, target, TargetIXs}); - false -> ok - end, - - lists:foldl - ( - fun (TargetIX, S1Update) -> - cast_logic(Amount, TargetIX, S1Update) - end, - S0Update, - TargetIXs - ). - --spec player_cast_logic - ( - non_neg_integer(), - non_neg_integer(), - btl_character_turn_update:type() - ) - -> btl_character_turn_update:type(). -player_cast_logic (TargetIX, Amount, S0Update) -> - Characters = todo, %TODO - TargetRef = todo, %TODO - TargetPlayerIX = todo, %TODO - - % TODO: - % apply `cast_logic(Amount, TargetIX, S1Update)` on all characters whose - % PlayerIX == TargetPlayerIX. - S0Update. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -spec cast ( - shr_skill:variant(), + shr_skill:type(), non_neg_integer(), list(non_neg_integer()), list(shr_location:type()), btl_character_turn_update:type() ) -> btl_character_turn_update:type(). -cast (?SKILL_VARIANT_ALPHA_0, _UserIX, [TargetIX], _Locations, S0Update) -> - cast_logic(20, TargetIX, S0Update); -cast (?SKILL_VARIANT_ALPHA_1, _UserIX, [TargetIX], _Locations, S0Update) -> - cast_logic(40, TargetIX, S0Update); -cast (?SKILL_VARIANT_ALPHA_2, _UserIX, [TargetIX], _Locations, S0Update) -> - cast_logic(60, TargetIX, S0Update); -cast (?SKILL_VARIANT_ALPHA_3, _UserIX, [TargetIX], _Locations, S0Update) -> - cast_logic(80, TargetIX, S0Update); -cast (?SKILL_VARIANT_ALPHA_4, _UserIX, [TargetIX], _Locations, S0Update) -> - cast_logic(100, TargetIX, S0Update); -cast (?SKILL_VARIANT_PHI_0, _UserIX, TargetIXs, _Locations, S0Update) -> - group_cast_logic(TargetIXs, 2, 20, S0Update); -cast (?SKILL_VARIANT_PHI_1, _UserIX, TargetIXs, _Locations, S0Update) -> - group_cast_logic(TargetIXs, 2, 60, S0Update); -cast (?SKILL_VARIANT_PHI_2, _UserIX, TargetIXs, _Locations, S0Update) -> - group_cast_logic(TargetIXs, 2, 100, S0Update); -cast (?SKILL_VARIANT_PHI_3, _UserIX, TargetIXs, _Locations, S0Update) -> - group_cast_logic(TargetIXs, 4, 20, S0Update); -cast (?SKILL_VARIANT_PHI_4, _UserIX, TargetIXs, _Locations, S0Update) -> - group_cast_logic(TargetIXs, 4, 60, S0Update); -cast (?SKILL_VARIANT_PHI_5, _UserIX, TargetIXs, _Locations, S0Update) -> - group_cast_logic(TargetIXs, 4, 100, S0Update); -cast (?SKILL_VARIANT_PHI_6, _UserIX, TargetIXs, _Locations, S0Update) -> - group_cast_logic(TargetIXs, 8, 20, S0Update); -cast (?SKILL_VARIANT_PHI_7, _UserIX, TargetIXs, _Locations, S0Update) -> - group_cast_logic(TargetIXs, 8, 60, S0Update); -cast (?SKILL_VARIANT_PHI_8, _UserIX, TargetIXs, _Locations, S0Update) -> - group_cast_logic(TargetIXs, 8, 100, S0Update); -cast (?SKILL_VARIANT_PSI_0, _UserIX, [TargetIX], _Locations, S0Update) -> - player_cast_logic(TargetIX, 20, S0Update); -cast (?SKILL_VARIANT_PSI_1, _UserIX, [TargetIX], _Locations, S0Update) -> - player_cast_logic(TargetIX, 40, S0Update); -cast (?SKILL_VARIANT_PSI_2, _UserIX, [TargetIX], _Locations, S0Update) -> - player_cast_logic(TargetIX, 60, S0Update); -cast (?SKILL_VARIANT_PSI_3, _UserIX, [TargetIX], _Locations, S0Update) -> - player_cast_logic(TargetIX, 80, S0Update). +cast (_Skill, _UserIX, _TargetIXs, _Locations, S0Update) -> + S0Update. |