The Strafe talent has never worked properly for me; I've always had to click or shift-target the direction I want to move after firing, instead of just using immediate movement keys as is intended. After some digging, I eventually found the problem in the targeting code. Short version: the :getTarget() call that prompts you for which direction you want to move after shooting needs to have the 'no_start_scan' flag set, as does Disengage's jump-back step, or else the movement step will be targeted relative to some nearby hostile rather than the player. (Interestingly, the "Gameplay | Quick melee targeting" game option, if enabled, apparently accidentally papers over the bug, which I assume is why it hasn't been spotted and fixed yet.)
I couldn't find any route by which we could sneak in and add the necessary flag at the last minute, so my new
Strafe Fix addon resorts to ham-handedly replacing Strafe's entire .action() method with an otherwise identical copy that adds the necessary flag in the right place. I don't
think this will cause problems, since this doesn't strike me as a part of the code that would change frequently.
(And as the name suggests, I'm categorizing this as a bugfix addon, and am thus reluctant to include it in ZOmnibus or ZOmnibus Lite, since I'd have to claw it back out if the bug is fixed in a future release.)
[Implementation notes:]
Code: Select all
Hooks:
ToME:load [to replace Strafe's .action() method with a fixed copy]