Here's my code for reference
freeslot(
"S_AIRDASH",
"SPR_AIRD"
)
states[S_AIRDASH] = {
sprite = SPR_AIRD,
tics = 1,
}
addHook("AbilitySpecial", function(player)
if player.mo.skin == "sonic"
if (player.mo.state == S_PLAY_JUMP)
P_SpawnGhostMobj(player.mo)...