mirror of
https://github.com/bryanthaboi/gen1recomp
synced 2026-09-26 21:35:42 -04:00
dc9d5c74c7
LearnMove.begin's free-slot path called say(text, cb) expecting pushMsg to invoke the callback once the message is dismissed. The battle UI's hooks.pushMsg is Ui.push which only accepts (text) and silently drops the callback, so finish(ok) was never called, LearnMove._active stayed true forever → soft lock (reported as Charmander learning Ember). Fix: set _pending="done" + _pendingResult before say() so pump() can complete the sequence on the next update tick once the dialog drains, matching how the 4-move full path already uses _pending="delete". The say() callback is still wired so contexts whose pushMsg does honour it (party_menu TM flow) finish inline as before.