From 599da3eece911e4bc35edde6314ce63db07430eb Mon Sep 17 00:00:00 2001 From: SparroHawc Date: Tue, 1 Sep 2020 15:42:24 -0700 Subject: [PATCH 1/3] Change HP damage flash to orange, add red for wounds --- Ruleset/HitFX-basic.rul | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/Ruleset/HitFX-basic.rul b/Ruleset/HitFX-basic.rul index 6da6b8bca..5f07d29a6 100644 --- a/Ruleset/HitFX-basic.rul +++ b/Ruleset/HitFX-basic.rul @@ -3,7 +3,7 @@ extended: tags: BattleUnit: LAST_HIT_FRAME: int - # 1: only armor damaged, 2: hp damaged + # 1: only armor damaged, 2: hp damaged, 3: stun taken, 4: morale damaged, 5: wounded LAST_HIT_TYPE: int LAST_HIT_POWER: int @@ -36,7 +36,9 @@ extended: unit.setTag Tag.LAST_HIT_FRAME temp; if eq to_health 0; - if gt to_armor 0; + if gt to_wound 0; + unit.setTag Tag.LAST_HIT_TYPE 5; + else gt to_armor 0; unit.setTag Tag.LAST_HIT_TYPE 1; else eq to_armor 0; if gt to_stun 0; @@ -48,7 +50,11 @@ extended: end; end; else gt to_health 0; - unit.setTag Tag.LAST_HIT_TYPE 2; + if eq to_wound 0; + unit.setTag Tag.LAST_HIT_TYPE 2; + else; + unit.setTag Tag.LAST_HIT_TYPE 5; + end; # hits_to_kill = uni health here div hits_to_kill to_health; # If it takes 3 or more hits_to_kill, use weaker hit effect @@ -110,12 +116,12 @@ extended: else eq hittype 2; if eq hitpower 0; if gt temp -3; # number of frames to blink - set_color new_pixel 2; + set_color new_pixel 6; #set_shade new_pixel 0; end; else gt hitpower 0; if gt temp -2; # number of frames to blink - set_color new_pixel 2; + set_color new_pixel 6; set_shade new_pixel 5; end; end; @@ -132,7 +138,20 @@ extended: set_color new_pixel 112; #set_shade new_pixel 0; end; + # Hit type 5 = wound + else eq hittype 5; + if eq hitpower 0; + if gt temp -3; # number of frames to blink + set_color new_pixel 2; + set_shade new_pixel 0; + end; + else gt hitpower 0; + if gt temp -2; + set_color new_pixel 2; + set_shade new_pixel 0; + end; + end; end; end; - return new_pixel; \ No newline at end of file + return new_pixel; From 2c03f7aabcc1ff37c88e349dced146307817315f Mon Sep 17 00:00:00 2001 From: SparroHawc Date: Tue, 10 Aug 2021 16:01:00 -0700 Subject: [PATCH 2/3] Add check for wounds on hitflash --- Ruleset/HitFX-basic.rul | 35 ++++++++++++++++++++--------------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/Ruleset/HitFX-basic.rul b/Ruleset/HitFX-basic.rul index 5f07d29a6..a52888adc 100644 --- a/Ruleset/HitFX-basic.rul +++ b/Ruleset/HitFX-basic.rul @@ -112,6 +112,24 @@ extended: set_color new_pixel 14; set_shade new_pixel 0; end; + # Hit type 5 = wound + else eq hittype 5; + if eq BattleUnit.getFatalwoundsTotal 0; + unit.setTag Tag.LAST_HIT_TYPE 2; + unit.getTag hittype Tag.LAST_HIT_TYPE; + else; + if eq hitpower 0; + if gt temp -3; # number of frames to blink + set_color new_pixel 2; + set_shade new_pixel 0; + end; + else gt hitpower 0; + if gt temp -2; + set_color new_pixel 2; + set_shade new_pixel 0; + end; + end; + end; # Hit type 2 = hitpoint damage else eq hittype 2; if eq hitpower 0; @@ -125,32 +143,19 @@ extended: set_shade new_pixel 5; end; end; - # Hit type 3 = stun damage + # Hit type 3 = stun damage else eq hittype 3; if gt temp -3; # number of frames to blink set_color new_pixel 175; #set_color new_pixel 0; #set_shade new_pixel 10; end; - # Hit type 4 = morale damage + # Hit type 4 = morale damage else eq hittype 4; if gt temp -10; # number of frames to blink set_color new_pixel 112; #set_shade new_pixel 0; end; - # Hit type 5 = wound - else eq hittype 5; - if eq hitpower 0; - if gt temp -3; # number of frames to blink - set_color new_pixel 2; - set_shade new_pixel 0; - end; - else gt hitpower 0; - if gt temp -2; - set_color new_pixel 2; - set_shade new_pixel 0; - end; - end; end; end; From b2015b65deb4d592213027adbb83e7c008e3cb29 Mon Sep 17 00:00:00 2001 From: SparroHawc Date: Tue, 10 Aug 2021 20:37:45 -0700 Subject: [PATCH 3/3] Fix differentiation between wounds and HP damage --- Ruleset/HitFX-basic.rul | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/Ruleset/HitFX-basic.rul b/Ruleset/HitFX-basic.rul index a52888adc..a274ed14c 100644 --- a/Ruleset/HitFX-basic.rul +++ b/Ruleset/HitFX-basic.rul @@ -94,10 +94,12 @@ extended: var int temp; var int hittype; var int hitpower; + var int wounds; unit.getTag temp Tag.LAST_HIT_FRAME; unit.getTag hittype Tag.LAST_HIT_TYPE; unit.getTag hitpower Tag.LAST_HIT_POWER; + unit.getFatalwoundsTotal wounds; if neq temp 0; sub temp anim_frame; @@ -114,9 +116,8 @@ extended: end; # Hit type 5 = wound else eq hittype 5; - if eq BattleUnit.getFatalwoundsTotal 0; - unit.setTag Tag.LAST_HIT_TYPE 2; - unit.getTag hittype Tag.LAST_HIT_TYPE; + if eq wounds 0; + set hittype 2; else; if eq hitpower 0; if gt temp -3; # number of frames to blink @@ -130,19 +131,6 @@ extended: end; end; end; - # Hit type 2 = hitpoint damage - else eq hittype 2; - if eq hitpower 0; - if gt temp -3; # number of frames to blink - set_color new_pixel 6; - #set_shade new_pixel 0; - end; - else gt hitpower 0; - if gt temp -2; # number of frames to blink - set_color new_pixel 6; - set_shade new_pixel 5; - end; - end; # Hit type 3 = stun damage else eq hittype 3; if gt temp -3; # number of frames to blink @@ -157,6 +145,20 @@ extended: #set_shade new_pixel 0; end; end; + # Hit type 2 = hitpoint damage; we need to test this separately due to wounding logic + if eq hittype 2; + if eq hitpower 0; + if gt temp -3; # number of frames to blink + set_color new_pixel 6; + #set_shade new_pixel 0; + end; + else gt hitpower 0; + if gt temp -2; # number of frames to blink + set_color new_pixel 6; + set_shade new_pixel 5; + end; + end; + end; end; return new_pixel;