addHook("AbilitySpecial", do for player in players.iterate local metalforwardforce = player.speed+35*FRACUNIT local metalupforce = 15*FRACUNIT if player.powers[pw_super] metalforwardforce = $*2 metalupforce = $*2 end if player.mo.skin == "metalsonic" and not (player.pflags & PF_THOKKED) if (player.mo.eflags&MFE_UNDERWATER) P_InstaThrust(player.mo, player.mo.angle, metalforwardforce/2) P_SetObjectMomZ(player.mo, metalupforce/2, false) else P_InstaThrust(player.mo, player.mo.angle, metalforwardforce) P_SetObjectMomZ(player.mo, metalupforce, false) end S_StartSound(player.mo, sfx_buzz3) player.dashmode = 108 player.mo.state = S_PLAY_SPRING player.pflags = $|PF_THOKKED return true end end end)