summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2019-10-20 22:02:46 +0200
committerNathanael Sensfelder <SpamShield0@MultiAgentSystems.org>2019-10-20 22:02:46 +0200
commitc2bff6b098480af6a21bde453494f8ff64219ea7 (patch)
tree9003b093e3ba47134e94294629960b52e9e1bb9f /src/battle/mechanic
parent08fab636c981574a703baffad9ebb52ff4308f17 (diff)
...
Diffstat (limited to 'src/battle/mechanic')
-rw-r--r--src/battle/mechanic/skill/btl_skill_attack_anywhere.erl30
-rw-r--r--src/battle/mechanic/skill/btl_skill_shields_up.erl18
-rw-r--r--src/battle/mechanic/skill/btl_skill_static_heal.erl111
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.