addHook("PlayerThink", function(player) if player.mo.skin == "sonic" and player.pflags & PF_JUMPED player.target = P_LookForEnemies(player, true, true) if player.target and player.pflags & PF_JUMPED P_SpawnLockOn(player, player.target, S_LOCKON1) end end end) addHook("AbilitySpecial", function(player) if player.mo.skin == "sonic" player.target = P_LookForEnemies(player, true, true) if not P_IsObjectOnGround(player.mo) if player.target P_HomingAttack(player.mo, player.target) P_SpawnThokMobj(player) player.mo.state = S_PLAY_ROLL player.pflags = $1 & ~PF_THOKKED end if not player.target and not (player.pflags & PF_THOKKED) P_Thrust(player.mo, player.mo.angle, 30*FRACUNIT) P_SetObjectMomZ(player.mo, 7*FRACUNIT) P_SpawnThokMobj(player) player.mo.state = S_PLAY_ROLL player.pflags = $|PF_THOKKED end end end end)