Here's a full .patch file to auto-apply the above changes to 0.5.19c code. Probably works fine for 0.5.19d as well if there aren't major changes around those parts of the file. Just run the usual
patch -p0 < whatever_you_saved_it_as.patch
in the game's root and you're good to go.
.patch file (sorry, don't have any better means of sharing this):
--- files/scripts/combat.gd 2018-09-11 13:29:25.000000000 -0700
+++ files/scripts/combat.gd 2018-09-26 00:22:53.290045306 -0700
@@ -905,15 +905,16 @@
if skill.target == 'all':
target = targetarray
self.combatlog += '\n' + combatantdictionary(caster, target, text)
- emit_signal("skillplayed")
endcombatcheck()
+
if period == 'win':
playerwin() if period == 'skilluse':
period = 'base'
+ emit_signal("skillplayed")
func scripteffect(caster,target,script):
globals.abilities.call(script, caster, target)
@@ -1218,16 +1219,16 @@
signal defeatfinished
var ongoinganimation = false
func damagein():
- emit_signal("damagetrigger")
- ongoinganimation = false
yield(get_tree(), 'idle_frame')
+ ongoinganimation = false
+ emit_signal("damagetrigger")
func tweenfinished():
yield(get_tree(), 'idle_frame')
- emit_signal("tweenfinished")
ongoinganimation = false
+ emit_signal("tweenfinished")
func defeatfinished():
emit_signal("defeatfinished")
@@ -1244,18 +1245,21 @@
for i in timings:
timings[i] = 0.05
timings.delay2 = 0
+ timings.delaydamage = 0.0
+
globals.main.sound('attack')
ongoinganimation = true
if combatant.group == 'enemy':
change = -change
tween.interpolate_property(node, "rect_position", pos, Vector2(pos.x, pos.y-change), timings.speed1, Tween.TRANS_ELASTIC, Tween.EASE_IN_OUT)
- tween.interpolate_callback(self, timings.delaydamage, 'damagein')
+ tween.interpolate_deferred_callback(self, timings.delaydamage, 'damagein')
+
tween.interpolate_property(node, "rect_position", Vector2(pos.x, pos.y-change), pos, timings.speed2, Tween.TRANS_LINEAR, Tween.EASE_IN_OUT, timings.delay2)
- tween.interpolate_callback(self, timings.delayfinish, 'tweenfinished')
+ tween.interpolate_deferred_callback(self, timings.delayfinish, 'tweenfinished')
tween.start()
func slamanimation(combatant):
var tween = $Tween