summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/battle')
-rw-r--r--src/battle/src/Struct/Attack.elm6
-rw-r--r--src/battle/src/Update/Puppeteer/Hit.elm14
-rw-r--r--src/battle/src/View/MessageBoard/Attack.elm20
3 files changed, 26 insertions, 14 deletions
diff --git a/src/battle/src/Struct/Attack.elm b/src/battle/src/Struct/Attack.elm
index ee89427..2dc85ba 100644
--- a/src/battle/src/Struct/Attack.elm
+++ b/src/battle/src/Struct/Attack.elm
@@ -12,7 +12,8 @@ module Struct.Attack exposing
get_new_target_luck,
get_order,
get_precision,
- get_target_index
+ get_target_index,
+ hits
)
-- Elm -------------------------------------------------------------------------
@@ -118,3 +119,6 @@ decoder =
|> (Json.Decode.Pipeline.required "alk" Json.Decode.int)
|> (Json.Decode.Pipeline.required "dlk" Json.Decode.int)
)
+
+hits : Type -> Bool
+hits at = not (at.precision == Miss)
diff --git a/src/battle/src/Update/Puppeteer/Hit.elm b/src/battle/src/Update/Puppeteer/Hit.elm
index 4addab1..b84848c 100644
--- a/src/battle/src/Update/Puppeteer/Hit.elm
+++ b/src/battle/src/Update/Puppeteer/Hit.elm
@@ -38,10 +38,16 @@ forward : (
)
forward attack model =
(
- (apply_damage_to_character
- (Struct.Attack.get_damage attack)
- (Struct.Attack.get_target_index attack)
- model
+ (
+ if (Struct.Attack.hits attack)
+ then
+ (apply_damage_to_character
+ (Struct.Attack.get_damage attack)
+ (Struct.Attack.get_target_index attack)
+ model
+ )
+ else
+ model
),
[]
)
diff --git a/src/battle/src/View/MessageBoard/Attack.elm b/src/battle/src/View/MessageBoard/Attack.elm
index 1445c21..d87a7e9 100644
--- a/src/battle/src/View/MessageBoard/Attack.elm
+++ b/src/battle/src/View/MessageBoard/Attack.elm
@@ -126,9 +126,12 @@ get_attack_animation_class : (
String
)
get_attack_animation_class attack char =
- if (Struct.Attack.get_is_a_critical attack)
- then "animated-portrait-attack-critical"
- else "animated-portrait-attacks"
+ if (Struct.Attack.get_is_a_parry attack)
+ then "animated-portrait-parries"
+ else
+ if (Struct.Attack.get_is_a_critical attack)
+ then "animated-portrait-attack-critical"
+ else "animated-portrait-attacks"
get_defense_animation_class : (
Struct.Attack.Type ->
@@ -138,14 +141,13 @@ get_defense_animation_class : (
get_defense_animation_class attack char =
if ((Struct.Attack.get_damage attack) == 0)
then
- if ((Struct.Attack.get_precision attack) == Struct.Attack.Miss)
- then "animated-portrait-dodges"
- else "animated-portrait-undamaged"
+ "animated-portrait-undamaged"
else if ((Struct.Character.get_current_health char) > 0)
then
- if ((Struct.Attack.get_precision attack) == Struct.Attack.Graze)
- then "animated-portrait-grazed-damage"
- else "animated-portrait-damaged"
+ case (Struct.Attack.get_precision attack) of
+ Struct.Attack.Hit -> "animated-portrait-damaged"
+ Struct.Attack.Graze -> "animated-portrait-grazed-damage"
+ Struct.Attack.Miss -> "animated-portrait-dodges"
else
if ((Struct.Attack.get_precision attack) == Struct.Attack.Graze)
then "animated-portrait-grazed-death"