Closed MetaNite64 closed 11 months ago
Update- very nearly got it, but now it's only working after entering a bonus stage (however, it doesn't matter whether you've glided beforehand or not). All I've done is put the line if (self->characterID == ID_RAY) ext->can_dash = true;
into the Player_State_Ground hook
The intended behavior is to reset can_dash
after a "full dive" (raySwoopTimer == 0
), in fact that's what happens on my end...
Are you running an edited version? is this a platform-specific bug that I should look into?
Hm, that's peculiar. Just went through some testing and it was in fact a mod incompatibility, but I'm not sure why that would be the case. i'm gonna chalk it up to Extra Slot Amy for now due to it recompiling the Game.dll, although it's strange that it would affect Ray specifically. My bad though, definitely should've been more careful before reporting it.
salright that is strange though, might be worth looking into in the future
I discovered why Ray's Hyper Ability doesn't trigger more often than not- his gliding action seems to never reset
ext->can_dash
to true, which means that after the first time he glides in the current scene (regardless of whether it's during hyper state or not),can_dash
will always equal false, and the hyper ability never triggers. This is only reset when the scene changes, i.e. after a bonus stage, special stage, or zone transition (maybe some act transitions too, like Stardust Speedway. Haven't tested extensively). Amusingly, I found this by acting on a hunch, randomly throwing aext->can_dash = true
into the RayGlide hook function inplayer.c
, and causing him to trigger the hyper ability every frame that he glides. Currently working on figuring out how to make it reset once the glide state ends as (presumably) intended.