emersonrp / bindcontrol

Keybind manager for City of Heroes
GNU General Public License v3.0
3 stars 3 forks source link

Offer a binding in SoD for jumping-style movement that is just a toggle. #22

Closed xizar closed 4 months ago

xizar commented 5 months ago

Binding "jump" into the cardinal movent directions can feel awkward in a way that doesn't happen with flight or running. Typically flying is one dimensional movement at any given instant, while jumping (either Super Jump or Mighty Leap) is two dimensional unless you're jumping straight up.

This two dimensional movement can be an annoyance when you just need to move over slightly and you end up hitting your head on something (as in-game translation for "feels bad" or "camera gets weird").

While turning jumping's SoD into a toggle defeats the purpose of SoD (switching to low endurance drain movement or single-key movement), ... I'll hit my head less? (I don't have a good justification for putting that toggle here other than just keeping all my movement bindings managed in once place (the software) rather than setting up the keybinding in-game.)

emersonrp commented 5 months ago

I think the "Simple Combat Jumping / Super Jump Toggle" checkbox will do what you want, assuming you have both Combat Jumping and Super Jump. I use that mode with my Super Jump toon -- it does exactly what it says, uses the Jump Mode key to toggle between the two. There could, and will, be better support for just toggling Super Jump without Combat Jumping, and for Mighty Leap, which is currently basically unsupported. I'll put this on the burner once Teleport has stabilized a bit better.

emersonrp commented 5 months ago

Also I lied about Mighty Leap being unsupported -- looks like I added it months ago and promptly forgot. So I think the action item for this request is "make the 'Simple SJ/CJ' toggle not require Combat Jumping," instead just being an on/off for the jumping power.

emersonrp commented 4 months ago

Looking at the code, I believe this should be how this works already. If the "Speed on Demand Mode" is not set to Jump, and if "Simple SJ/CJ Toggle" is selected, then the Jump Mode Key should either toggle between SJ and CJ, or simply on/off whichever of CJ or SJ are set as available (with the "Jump Power" and "Has Combat Jumping" controls). The UI probably needs a little polishing.

emersonrp commented 4 months ago

@xizar any thoughts on this? Does the "Simple SJ/CJ Toggle" do what you want, or does there need to be more work on this?

xizar commented 4 months ago

It seems to just disable powered-jumping when using Force of Will's jumping. I think it works fine for Superjumping.

emersonrp commented 4 months ago

When you say "powered-jumping" are you talking about Takeoff? Or am I misunderstanding, do you mean it doesn't work to switch to Mighty Leap? I don't have a toon with Force of Will at this point, so I can't trivially test, but I'd like to fix this if it's not working as intended.

xizar commented 4 months ago

Sorry, by "powered-jumping", I just meant "when using a pool power for jumping", as opposed to something like Ninja Run or Infiltration or one of the other travel abilities that let you jump higher without actually being a jumping power.

When using Mighty Leap as a jumping power, enabling SOD without "simple combat/super toggle" ticked, it's the previous "leaping upward while moving in any direction". If I have that toggle enabled, it didn't do anything... if Mighty Leap was on before, it was still on, and if it was off, it was still off. My mighty leaper does not have Combat Jumping.

emersonrp commented 4 months ago

Ah got it. OK yeah that's a bug -- the toggle bind should simply toggle Mighty Leap on and off if you don't have Combat Jumping. I'll look into it. Thanks for the report.

Oh, this is assuming you -don't- have your SoD mode set to "Jump" -- if you do, then the SoD keys will always turn your jump power on when you press them. If you want that not to happen, you need to set the SoD mode to something else, most likely "Sprint." The interaction between SoD Mode and the various toggle keys is poorly explained, possibly a little buggy, and there might even be some UI badness that further confuses the issue. I need to mull this some more -- it's how CityBinder worked and I implemented that faithfully at the get-go, but we're long past that phase.

emersonrp commented 4 months ago

So yes, there was a bug in there that made the "Simple Toggle" not aware of Mighty Leap. That's been fixed in v0.17.12.2. Check it out.

https://github.com/emersonrp/bindcontrol/releases/tag/v0.17.12.2

xizar commented 4 months ago

Works with Mighty Leap as expected, though I have not tried mixing in Combat Jumping or Super Jumping to see how the toggle works there.

emersonrp commented 4 months ago

I've taken a long look at the binds generated by the "Simple SJ/CJ Toggle" option and I think they're all working as expected in all cases now. I'm closing this issue. Please re-open it if there's continued unexpected behavior around this.