[Ohrrpgce] wip r14207: Fix enemy/hero flinches sometimes overshooting and not returning to original position

cron at rpg.hamsterrepublic.com cron at rpg.hamsterrepublic.com
Wed Jan 7 21:46:26 PST 2026


https://github.com/ohrrpgce/ohrrpgce/commit/79177c0dca8d9573845f419b2e7268aa5b7e53ee
Author: teeemcee <teeemcee at 7d344553-34f0-0310-a9b1-970ce8f1c3a2>
Date:   Thu Jan 8 05:40:40 2026 +0000

    Fix enemy/hero flinches sometimes overshooting and not returning to original position
    
    Only happened with certain attack + attacker animations combos: I believe
    Normal, Drop, Spread-Ring, and Scatter + attacker animations with no wait for
    retreat, e.g. heroes using Null and SpinStrike or most enemies.
    
    This was actually two separate bugs.  r13551/3a0641d8 added a one tick pause
    before the return flinch starts, and the conversion of flinches to slice
    velocity meant that anim_end could reset positions before the slice velocity had
    finished, (before that, there might have been a 4px jump on the last flinch
    tick?). And Normal, Drop, etc wait just 5 ticks after starting a flinch before
    the animation ends, if there is no attacker retreat. I decided to only extend
    it to 6 ticks if necessary, not in general (as waits between chaining attacks
    are already too long).
    
    I've added two safety measures:
    -anim_flinchstart does an anim_waitformove to ensure flinches can't overlap
     (this never happens currently, but might in future when animations are customiable)
    -anim_end waits for slice velocity before actually resetting and ending
     (I doubt there's any need to reset at all any more, but we probably do need to
     wait in case of a chain)
    

 bmod.rbas    | 34 ++++++++++++++++++++++++++++++----
 bmodsubs.bas |  1 +
 whatsnew.txt |  2 ++
 3 files changed, 33 insertions(+), 4 deletions(-)



More information about the Ohrrpgce mailing list