PuppetMaster and Fall abilities conflicting

stove

New member
hi,

I'm working on a platforming mechanic that involves the player basically rocket jumping. This means they can be knocked down while in midair, and I've used PuppetMaster to set this up.

Everything is working well except for one thing: when the character lands after entering the puppet state, they're often rotated and tangled on themselves. This means that the Fall ability often ends up getting stopped at the wrong time (after the puppet rights itself) rather than when they hit the ground. I'm guessing this is due to a misdirected raycast (I'm not using any animator events).

I've tried playing with the ability order and sub parameters, but this seems like a problem that will be tough to solve without rethinking the code of the Fall ability. Before I go down that route, does anyone have any ideas on how to troubleshoot this?
 
It sounds like you could use the state system to disable the fall ability when the puppet ability is active.
 
Hi justin,

thanks for the reply. Unfortunately I actually want the fall ability to function here, so that the sounds and effects play properly even while in puppet mode.

I've been trying both the OnCharacterGrounded and OnCharacterLand events and neither are firing properly when the character puppets. Any idea why this might be the case? It makes the entirely thing feel mistimed and awkward. Any leads would be appreciated.
 
Those callbacks are triggered as long as you have the grounded check enabled. By default the fall/puppet abilities do have it enabled. One way to debug this would be to place a breakpoint within CharacterLocomotion.UpdateGroundState to see if the event fires.
 
Top