mirror of
https://github.com/bryanthaboi/gen1recomp
synced 2026-09-29 23:14:53 -04:00
881670db91
stepHPDrain counts drainHold down to 0 as the last step of every phase (pixel slide, HP-number step, closing frames) but never let go of the field afterward, so it sat at 0 -- not nil -- for the rest of the battle. BattleSafety.inspect uses drainHold ~= nil as its settled-presentation gate for checkpoint capture, so the very first HP change in a battle permanently refused every checkpoint after it with battle_phase_busy, even once the bar had long since caught up. Only nil the field when the whole drain is actually over (bar pixel, HP number and the closing-frame hold all settled), not on every mid-sequence 0 -- a fresh HP change still needs drainHold to read as busy so BattleSafety keeps refusing captures until that one settles too.