summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2019-10-08 17:12:35 +0200
committernsensfel <SpamShield0@noot-noot.org>2019-10-08 17:12:35 +0200
commit27e6fba1b383b6045c8ef42a4beea9903359b07d (patch)
treed52d3e02359a0765e58c824ff5971171db16f2c3 /src/battle/mechanic/skill/btl_skill_attack_anywhere.erl
parent78b67f462da04dba446183d44d5afb03843f4dda (diff)
...
Diffstat (limited to 'src/battle/mechanic/skill/btl_skill_attack_anywhere.erl')
-rw-r--r--src/battle/mechanic/skill/btl_skill_attack_anywhere.erl52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/battle/mechanic/skill/btl_skill_attack_anywhere.erl b/src/battle/mechanic/skill/btl_skill_attack_anywhere.erl
new file mode 100644
index 0000000..bcc8519
--- /dev/null
+++ b/src/battle/mechanic/skill/btl_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
+ ).