summaryrefslogtreecommitdiff |
diff options
Diffstat (limited to 'src/battle/mechanic/skill')
-rw-r--r-- | src/battle/mechanic/skill/blt_skill_attack_anywhere.erl | 52 | ||||
-rw-r--r-- | src/battle/mechanic/skill/blt_skill_shields_up.erl | 40 |
2 files changed, 92 insertions, 0 deletions
diff --git a/src/battle/mechanic/skill/blt_skill_attack_anywhere.erl b/src/battle/mechanic/skill/blt_skill_attack_anywhere.erl new file mode 100644 index 0000000..bcc8519 --- /dev/null +++ b/src/battle/mechanic/skill/blt_skill_attack_anywhere.erl @@ -0,0 +1,52 @@ +-module(btl_skill_attack_anywhere). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export +( + [ + cast/5 + ] +). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec cast + ( + shr_skill:variant(), + 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 + ). diff --git a/src/battle/mechanic/skill/blt_skill_shields_up.erl b/src/battle/mechanic/skill/blt_skill_shields_up.erl new file mode 100644 index 0000000..32af8c2 --- /dev/null +++ b/src/battle/mechanic/skill/blt_skill_shields_up.erl @@ -0,0 +1,40 @@ +-module(btl_skill_shields_up). +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-include("tacticians/skills.hrl") + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-export +( + [ + cast/5 + ] +). + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% LOCAL FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% EXPORTED FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +-spec cast + ( + shr_skill:variant(), + 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. |