freeslot ("sfx_macg1","sfx_macg2","sfx_macg3","sfx_macg4","sfx_mach1","sfx_mach2","sfx_mach3","sfx_mach4","sfx_kungf","sfx_tant1","sfx_tant2","sfx_tant3","sfx_tant4","sfx_pnuch","sfx_tant5","sfx_tant6","sfx_dive","sfx_bump","sfx_enscr6","sfx_enscr5","sfx_enscr4","sfx_enscr3","sfx_enscr2","sfx_enscr1","sfx_kill","sfx_tant7","sfx_tant8","sfx_chadt","sfx_slloop","sfx_slstar","sfx_zstep","sfx_turbik","sfx_slfnl","sfx_chain","sfx_parry","sfx_sjrel","sfx_sjhol","sfx_sjcan","sfx_sptnt","sfx_pskid","sfx_skdi",
"S_PLAY_TAUNT1", "S_PLAY_TAUNT2", "S_PLAY_TAUNT3", "S_PLAY_TAUNT4", "S_PLAY_TAUNT5",
"S_PLAY_TAUNT6", "S_PLAY_TAUNT7","S_PLAY_TAUNT8", "S_PLAY_TAUNT9","S_PLAY_AIRKUNGFU1","S_PLAY_AIRKUNGFU2","S_PLAY_BODYSLAM_FINAL","S_PLAY_BODYSLAM_INITIAL","S_PLAY_MACHC1","SPR2_MHC1",
"SPR2_TAU1","SPR2_TAU2","SPR2_TAU3","SPR2_TAU4","SPR2_TAU5","SPR2_TAU6","SPR2_TAU7","SPR2_TAU8","SPR2_TAU9","SPR2_AKU1","SPR2_AKU2","SPR2_BSIT","SPR2_BSFN","S_PZNO_WAIT","SPR2_PZRD",
'S_PLAY_PANIC','SPR2_PANC','S_PLAY_CROUNCH','SPR2_CRCH','S_PLAY_PZNOMACH2JUMP','SPR2_MH2J','S_PLAY_PREVPZNOMACH3JUMP','S_PLAY_PZNOMACH3JUMP','SPR2_MH3J','S_PLAY_PZNOMACH2JUMPDIVE','S_PLAY_PZNOMACH3JUMPDIVE',"S_PLAY_JUMPINITIAL","SPR2_JPIN","S_MACH4RING","SPR_M4RI","SPR_PZRD",
"S_PLAY_KUNGFU1","SPR2_KUN1","S_PLAY_KUNGFU2","SPR2_KUN2","S_PLAY_KUNGFU3","SPR2_KUN3","S_PLAY_CHAINSAW","SPR2_CHNS","S_PLAY_BODYSLAMLAND","SPR2_BSLD","S_PLAY_SUPERJUMP_PREPARE","SPR2_SJPR","S_PLAY_SUPERJUMP_RELEASE","SPR2_SJRE","S_PLAY_SUPERJUMP_PREPARESIDE","SPR2_SJPS","S_PLAY_PZNO_REDIRECT","S_PLAY_SUPERJUMP_SIDE","SPR2_SJSD",
"S_PLAY_KUNGFU4","SPR2_KUN4","S_PLAY_KUNGFU5","SPR2_KUN5","S_PLAY_KUNGFU6","SPR2_KUN6","S_PLAY_PARRY","SPR2_PARR","S_PLAY_PARRY2","SPR2_PAR2","S_PLAY_PARRY1","SPR2_PAR1","S_PLAY_DIVE","SPR2_DIVE","S_PLAY_SLIDE","SPR2_SLID","S_PLAY_DEDXD","SPR2_DEDD","S_PLAY_MACH4PZNO","SPR2_MAC4",
"S_PLAY_DANCE","S_MACH4_FIRE","SPR_M4FR","S_PLAY_SUPERTAUNT_1","SPR2_SPT1","S_PLAY_SUPERTAUNT_2","SPR2_SPT2","S_PLAY_SUPERTAUNT_3","SPR2_SPT3",
"S_PLAY_PAIN_AFTER","S_PLAY_PANIC_OVERTIME","S_PLAY_MACH3_PAD","SPR2_DAPD","SPR2_OVTM","S_PLAY_WALLCRASSH","SPR2_WLCR","S_PLAY_SKID_STOP","S_PLAY_MACH5PZNO","SPR2_MAC5","S_PLAY_CROUNCH_MOVE","S_PLAY_CROUNCH_AIR",
"MT_ENEMY_FLYING"
)

states[S_PLAY_PANIC] = {SPR_PLAY, SPR2_PANC, 2, nil, 6, 6, S_PLAY_PANIC}

states[S_PLAY_PANIC_OVERTIME] = {SPR_PLAY, SPR2_OVTM, 2, nil, 6, 6, S_PLAY_PANIC_OVERTIME}

states[S_PLAY_CROUNCH] = {SPR_PLAY, SPR2_CRCH, 2, nil, 2, 2, S_PLAY_STND}

states[S_PLAY_PZNOMACH2JUMP] = {SPR_PLAY, SPR2_MH2J, 2, nil, 2, 2, S_PLAY_PZNOMACH2JUMP}

states[S_PLAY_PZNOMACH3JUMP] = {SPR_PLAY, SPR2_MH3J, 2, nil, 2, 2, S_PLAY_PZNOMACH3JUMP}

states[S_PLAY_PZNOMACH2JUMPDIVE] = {SPR_PLAY, SPR2_MH2J, 2, nil, 2, 2, S_PLAY_PZNOMACH2JUMPDIVE}

states[S_PLAY_PZNOMACH3JUMPDIVE] = {SPR_PLAY, SPR2_MH3J, 2, nil, 2, 2, S_PLAY_PZNOMACH3JUMPDIVE}

states[S_PLAY_CROUNCH_MOVE] = {
    sprite = SPR_PLAY,
    frame = SPR2_LAND|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_CROUNCH_MOVE
} 

states[S_PLAY_CROUNCH_AIR] = {
    sprite = SPR_PLAY,
    frame = SPR2_CLMB|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_CROUNCH_AIR
} 

states[S_PLAY_PREVPZNOMACH3JUMP] = {
    sprite = SPR_PLAY,
    frame = SPR2_MH3J|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_PREVPZNOMACH3JUMP
} 
states[S_PLAY_JUMPINITIAL] = {
    sprite = SPR_PLAY,
    frame = SPR2_JPIN|A|FF_ANIMATE,
	tics = 9,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_FALL
} 

states[S_PLAY_PZNO_REDIRECT] = {
    sprite = SPR_PLAY,
    frame = SPR2_PZRD|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_PZNO_REDIRECT
}

states[S_PLAY_MACHC1] = {
    sprite = SPR_PLAY,
    frame = SPR2_MHC1|A|FF_ANIMATE,
	tics = 29,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_RUN
} 

states[S_PLAY_KUNGFU1] = {
    sprite = SPR_PLAY,
    frame = SPR2_KUN1|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_DASH
}

states[S_PLAY_KUNGFU2] = {
    sprite = SPR_PLAY,
    frame = SPR2_KUN2|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_DASH
}

states[S_PLAY_KUNGFU3] = {
    sprite = SPR_PLAY,
    frame = SPR2_KUN3|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_DASH
}

states[S_PLAY_KUNGFU4] = {
    sprite = SPR_PLAY,
    frame = SPR2_KUN4|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_DASH
}

states[S_PLAY_KUNGFU5] = {
    sprite = SPR_PLAY,
    frame = SPR2_KUN5|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_DASH
}

states[S_PLAY_KUNGFU6] = {
    sprite = SPR_PLAY,
    frame = SPR2_KUN6|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_DASH
}

states[S_PLAY_TAUNT1] = {
    sprite = SPR_PLAY,
    frame = SPR2_TAU1|A|FF_ANIMATE,
	tics = -1,
    nextstate = S_PLAY_TAUNT1
}

states[S_PLAY_TAUNT2] = {
    sprite = SPR_PLAY,
    frame = SPR2_TAU2|A|FF_ANIMATE,
	tics = -1,
    nextstate = S_PLAY_TAUNT1
}

states[S_PLAY_TAUNT3] = {
    sprite = SPR_PLAY,
    frame = SPR2_TAU3|A|FF_ANIMATE,
	tics = -1,
    nextstate = S_PLAY_TAUNT1
}

states[S_PLAY_TAUNT4] = {
    sprite = SPR_PLAY,
    frame = SPR2_TAU4|A|FF_ANIMATE,
	tics = -1,
    nextstate = S_PLAY_TAUNT1
}

states[S_PLAY_TAUNT5] = {
    sprite = SPR_PLAY,
    frame = SPR2_TAU5|A|FF_ANIMATE,
	tics = -1,
    nextstate = S_PLAY_TAUNT1
}

states[S_PLAY_TAUNT6] = {
    sprite = SPR_PLAY,
    frame = SPR2_TAU6|A|FF_ANIMATE,
	tics = -1,
    nextstate = S_PLAY_TAUNT1
}

states[S_PLAY_TAUNT7] = {
    sprite = SPR_PLAY,
    frame = SPR2_TAU7|A|FF_ANIMATE,
	tics = -1,
    nextstate = S_PLAY_TAUNT1
}

states[S_PLAY_TAUNT8] = {
    sprite = SPR_PLAY,
    frame = SPR2_TAU8|A|FF_ANIMATE,
	tics = -1,
    nextstate = S_PLAY_TAUNT1
}

states[S_PLAY_TAUNT9] = {
    sprite = SPR_PLAY,
    frame = SPR2_TAU9|A|FF_ANIMATE,
	tics = -1,
    nextstate = S_PLAY_TAUNT1
}

states[S_PLAY_AIRKUNGFU1] = {
    sprite = SPR_PLAY,
    frame = SPR2_AKU1|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_AIRKUNGFU1
}

states[S_PLAY_AIRKUNGFU2] = {
    sprite = SPR_PLAY,
    frame = SPR2_AKU2|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_AIRKUNGFU2
}

states[S_PLAY_DANCE] = {
    sprite = SPR_PLAY,
    frame = SPR2_TWIN|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_STND
}

states[S_PLAY_BODYSLAM_INITIAL] = {
    sprite = SPR_PLAY,
    frame = SPR2_BSIT|A|FF_ANIMATE,
	tics = 8,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_BODYSLAM_FINAL
}

states[S_PLAY_BODYSLAM_FINAL] = {
    sprite = SPR_PLAY,
    frame = SPR2_BSFN|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_BODYSLAM_FINAL
}

states[S_PLAY_CHAINSAW] = {
    sprite = SPR_PLAY,
    frame = SPR2_CHNS|A|FF_ANIMATE,
	tics = 15,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_STND
}

states[S_PLAY_BODYSLAMLAND] = {
    sprite = SPR_PLAY,
    frame = SPR2_BSLD|A|FF_ANIMATE,
	tics = 15,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_STND
}

states[S_PLAY_SUPERJUMP_PREPARE] = {
    sprite = SPR_PLAY,
    frame = SPR2_SJPR|A|FF_ANIMATE,
	tics = 23,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_SUPERJUMP_RELEASE
}

states[S_PLAY_SUPERJUMP_RELEASE] = {
    sprite = SPR_PLAY,
    frame = SPR2_SJRE|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_SUPERJUMP_RELEASE
}

states[S_PLAY_SUPERJUMP_PREPARESIDE] = {
    sprite = SPR_PLAY,
    frame = SPR2_SJPS|A|FF_ANIMATE,
	tics = 10,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_SUPERJUMP_SIDE
}

states[S_PLAY_SUPERJUMP_SIDE] = {
    sprite = SPR_PLAY,
    frame = SPR2_SJSD|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_SUPERJUMP_SIDE
}

states[S_PLAY_PARRY] = {
    sprite = SPR_PLAY,
    frame = SPR2_PARR|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_STND
}

states[S_PLAY_PARRY1] = {
    sprite = SPR_PLAY,
    frame = SPR2_PAR1|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_STND
}

states[S_PLAY_PARRY2] = {
    sprite = SPR_PLAY,
    frame = SPR2_PAR2|A|FF_ANIMATE,
	tics = 27,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_STND
}

states[S_PLAY_DIVE] = {
    sprite = SPR_PLAY,
    frame = SPR2_DIVE|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_DIVE
}

states[S_PLAY_SLIDE] = {
    sprite = SPR_PLAY,
    frame = SPR2_SLID|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_SLIDE
}

states[S_PLAY_DEDXD] = {
    sprite = SPR_PLAY,
    frame = SPR2_DEDD|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_DEDXD
}

states[S_PLAY_SUPERTAUNT_1] = {
    sprite = SPR_PLAY,
    frame = SPR2_SPT1|A|FF_ANIMATE,
	tics = 22,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_SUPERTAUNT_1
}

states[S_PLAY_SUPERTAUNT_2] = {
    sprite = SPR_PLAY,
    frame = SPR2_SPT2|A|FF_ANIMATE,
	tics = 22,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_SUPERTAUNT_2
}

states[S_PLAY_SUPERTAUNT_3] = {
    sprite = SPR_PLAY,
    frame = SPR2_SPT3|A|FF_ANIMATE,
	tics = 22,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_SUPERTAUNT_3
}

states[S_PLAY_MACH4PZNO] = {
    sprite = SPR_PLAY,
    frame = SPR2_MAC4|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_MACH4PZNO
}

states[S_PLAY_MACH5PZNO] = {
    sprite = SPR_PLAY,
    frame = SPR2_MAC5|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_MACH5PZNO
}

states[S_PLAY_PAIN_AFTER] = {
    sprite = SPR_PLAY,
    frame = SPR2_PAIN|A|FF_ANIMATE,
	tics = 70,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_STND
}

states[S_PLAY_WALLCRASSH] = {
    sprite = SPR_PLAY,
    frame = SPR2_WLCR|A|FF_ANIMATE,
	tics = 28,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_STND
}

states[S_PLAY_SKID_STOP] = {
    sprite = SPR_PLAY,
    frame = SPR2_SKID|A|FF_ANIMATE,
	tics = -1,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_SKID_STOP
}

states[S_PLAY_MACH3_PAD] = {
    sprite = SPR_PLAY,
    frame = SPR2_DAPD|A|FF_ANIMATE,
	tics = 17,
    var1 = 2,
	var2 = 2,
    nextstate = S_PLAY_DASH
}

states[S_MACH4RING] = {
	sprite = SPR_M4RI,
	frame = A|FF_PAPERSPRITE
}

states[S_MACH4_FIRE] = {
	sprite = SPR_M4FR,
	frame = A|FF_ANIMATE,
	tics = (H+1)*9,
	nextstate = S_NULL,
	var1 = H,
	var2 = 3
}

freeslot("S_PLAY_WALLCLIMBB","S_PLAY_WALLEDXD","S_PLAY_WALLEDXD_FINISH"
)

states[S_PLAY_WALLCLIMBB] = {
        sprite = SPR_PLAY,
        frame = SPR2_GLID|A|FF_ANIMATE,
        tics = -1,
		var1 = 2,
	    var2 = 2,
		nextstate = S_PLAY_WALLCLIMBB
}

states[S_PLAY_WALLEDXD] = {
        sprite = SPR_PLAY,
        frame = SPR2_FLT|A|FF_ANIMATE,
        tics = 29,
		var1 = 2,
	    var2 = 2,
		nextstate = S_PLAY_WALLEDXD_FINISH
}

states[S_PLAY_WALLEDXD_FINISH] = {
        sprite = SPR_PLAY,
        frame = SPR2_FLY|A|FF_ANIMATE,
        tics = -1,
		var1 = 2,
	    var2 = 2,
		nextstate = S_PLAY_WALLEDXD_FINISH
}
states[S_PLAY_STUN] = {
        sprite = SPR_PLAY,
        frame = SPR2_BNCE|A|FF_ANIMATE,
        tics = 36,
		nextstate = S_PLAY_FALL
}

mobjinfo[MT_ENEMY_FLYING] = {
	doomednum = -1,
	spawnstate = S_PLAY_STND,
	flags = MF_NOCLIPHEIGHT,
	radius = 5*FRACUNIT,
	deathstate = S_XPLD1,
	height = 5*FRACUNIT
}