-- Freeslots --

-- SPRITES
freeslot("SPR_DMIC", "SPR_BOOM", "SPR_KBEX", "SPR2_BSET", "SPR2_BACT", "SPR_KBIN")
freeslot("SPR_CHFS", "SPR_CHAU", "SPR_UWFS", "SPR_WCFS", "SPR2_FSHT", "SPR2_EDRP")
freeslot("SPR_REBO", "SPR_IWAV", "SPR_ASHR", "SPR_EPIL", "SPR_VCHA", "SPR_ESPK", "SPR_CASH", "SPR_SUCC", "SPR2_FINT", "SPR2_FTRN", "SPR_FAUR", "SPR_LRAY", "SPR_VFLM", 
"SPR2_FGLI", "SPR2_FJUM", "SPR2_FFAL", "SPR2_FLAN", "SPR2_FSPN", "SPR2_FROL", "SPR2_FPAI", "SPR2_FGAS", "SPR2_FRID", "SPR2_FSTN", "SPR2_FWAL", "SPR2_FRU_", "SPR2_FEDG", 
"SPR2_SINT")

-- STATES
freeslot("S_MICDROP", "S_MICDROP_FIN", "S_MDAIR", "S_MDAIR_FIN", "S_DROPPEDMIC", "S_MICSHOCKWAVE", "S_KABOOMBOX", "S_AUTODETONATE", "S_KBBSETUP", "S_KBBACTIVATE", "S_KBBACTIVATE_FIN", "S_KBBINDICATOR")
freeslot("S_STARTFLIGHT", "S_FLAMESTINGER", "S_FLAMESTINGER_CONT", "S_CHARGEDFS", "S_WATERFS", "S_WATERFS_CONT", "S_WATERCFS", "S_FLYSHOOT", "S_FLYSHOOT_FIN", "S_EMBER_DRIP")
freeslot("S_THRUSTJUMP_PREP", "S_THRUSTJUMP_GO")
freeslot("S_REBOUND", "S_PLAY_IMPACTLAND", "S_DUALSHREDDER", "S_PLAY_FINISHERLAND", "S_VOIDYAURA_CHARGING", "S_PLAY_CHARGESTAND", "S_CHARGEDSHREDDER", "S_SUCCFX", "S_VACCHITBOX", 
"S_EARTHSCORCHER", "S_EARTHSCORCHER_FLAME", "S_FRENZY_CHARGEDSHREDDER", "S_FRENZY_SUCCFX", "S_VOIDYBLACKHOLE")
for i = 1,6
	freeslot("S_BOOMBOX_EXPL"..i)
end
for i = 1,5
	freeslot("S_CHARGEDFS_DIE"..i)
end
for i = 1,4
	freeslot("S_CHARGEAURA"..i)
end
for i = 1,2
	freeslot("S_WATERFS_TRAIL"..i)
end
for i = 1,5
	freeslot("S_WATERCFS_DIE"..i)
end
for i = 1,4
	freeslot("S_MBSPINDASH"..i)
end
for i = 1,2
	freeslot("S_IMPACTWAVE"..i)
end
for i = 1,3
	freeslot("S_PLAY_GROUNDBASICR"..i)
end
for i = 1,3
	freeslot("S_PLAY_GROUNDBASICL"..i)
end
for i = 1,2
	freeslot("S_SHREDDERR"..i)
end
for i = 1,2
	freeslot("S_SHREDDERL"..i)
end
for i = 1,3
	freeslot("S_PLAY_GROUNDBASICD"..i)
end
for i = 1,3
	freeslot("S_PLAY_AIRBASICR"..i)
end
for i = 1,3
	freeslot("S_PLAY_AIRBASICL"..i)
end
for i = 1,3
	freeslot("S_PLAY_AIRBASICD"..i)
end
for i = 1,3
	freeslot("S_ENERGYPILLAR"..i)
end
for i = 1,3
	freeslot("S_VOIDYAURA_CHARGED"..i)
end
for i = 1,3
	freeslot("S_PLAY_EARTHSPIKER"..i)
end
for i = 1,3
	freeslot("S_VOIDYSPIKE"..i)
end
for i = 1,4
	freeslot("S_PLAY_CRESCENTDANCER"..i)
end
for i = 1,4
	freeslot("S_PLAY_VACUUMGULLET"..i)
end
for i = 1,3
	freeslot("S_PLAY_VACUUMREVERT"..i)
end
for i = 1,2
	freeslot("S_PLAY_FRENZY_INTRO"..i)
end
for i = 1,6
	freeslot("S_PLAY_FRENZY_TRANS"..i)
end
for i = 1,8
	freeslot("S_FRENZYAURA"..i)
end
for i = 1,2
	freeslot("S_FRENZY_SHREDDERR"..i)
end
for i = 1,2
	freeslot("S_FRENZY_SHREDDERL"..i)
end
for i = 1,7
	freeslot("S_FRENZY_DUALSHREDDER"..i)
end
for i = 1,2
	freeslot("S_FRENZY_ENERGYBALL"..i)
end
for i = 1,9
	freeslot("S_FRENZY_ENERGYBALLEXPL"..i)
end
for i = 1,5
	freeslot("S_FRENZY_ENERGYPILLAR"..i)
end
for i = 1,3
	freeslot("S_PLAY_SUPER_INTRO"..i)
end

-- OBJECTS
freeslot("MT_DROPPEDMIC", "MT_SHOCKWAVE1", "MT_SHOCKWAVE2", "MT_KABOOMBOX")
freeslot("MT_FLAMESTINGER", "MT_CHARGEDFS", "MT_EMBERCHARGEAURA", "MT_WATERFS", "MT_WATERFS_TRAIL", "MT_WATERCFS")
freeslot("MT_REBOUND", "MT_IMPACTSHOCKWAVE", "MT_RIGHTSHREDDER", "MT_LEFTSHREDDER", "MT_DUALSHREDDER", "MT_ENERGYPILLAR", "MT_VOIDYCHARGEAURA", "MT_VOIDYCHARGEFLASH", "MT_VOIDYSPIKE", "MT_CRESCENTDANCER", "MT_SUCCFX", "MT_VACCHITBOX", 
"MT_FRENZYAURA", "MT_FRENZY_RIGHTSHREDDER", "MT_FRENZY_LEFTSHREDDER", "MT_FRENZY_DUALSHREDDER", "MT_FRENZY_ENERGYBALL", "MT_FRENZY_ENERGYPILLAR", "MT_EARTHSCORCHER", "MT_EARTHSCORCHER_FLAME", "MT_CRESCENTREAPER", "MT_FRENZY_SUCCFX", "MT_VOIDYBLACKHOLE")

-- SOUNDS
freeslot("sfx_burnin")
freeslot("sfx_mospin", "sfx_mojump", "sfx_moskid", "sfx_moddsh", "sfx_mosoup")
freeslot("sfx_vowall", "sfx_claw1", "sfx_claw2", "sfx_aschrg", "sfx_aschgd", "sfx_cdance", "sfx_fready", "sfx_frenzy", "sfx_drkaur", "sfx_xclaw1", "sfx_xfinsh", "sfx_succ", "sfx_void", "sfx_bhole")
freeslot("sfx_morjmp")

-- SKINCOLORS
freeslot("SKINCOLOR_ABYSSAL1", "SKINCOLOR_ABYSSAL2", "SKINCOLOR_ABYSSAL3", "SKINCOLOR_ABYSSAL4", "SKINCOLOR_ABYSSAL5")


states[S_MICDROP] = {SPR_PLAY, SPR2_MLEE|FF_SPR2ENDSTATE, 2, A_ForceStop, S_MICDROP_FIN, 0, S_MICDROP}
states[S_MICDROP_FIN] = {SPR_PLAY, SPR2_MLEE, 15, A_ForceStop, S_PLAY_STND, 0, S_PLAY_STND}

states[S_MDAIR] = {SPR_PLAY, SPR2_MLEL|FF_SPR2ENDSTATE, 2, nil, S_MDAIR_FIN, 0, S_MDAIR}
states[S_MDAIR_FIN] = {SPR_PLAY, SPR2_MLEL, 15, nil, S_PLAY_FALL, 0, S_PLAY_FALL}

states[S_DROPPEDMIC] = {SPR_DMIC, A, -1, A_DropMine, 0, 0, S_NULL}

states[S_MICSHOCKWAVE] = {SPR_NULL, A, 4, nil, 0, 0, S_NULL}

states[S_KBBSETUP] = {SPR_PLAY, SPR2_BSET|FF_SPR2ENDSTATE, 10, A_ForceStop, 0, 0, S_PLAY_STND}

states[S_KABOOMBOX] = {SPR_BOOM, A, -1, nil, 0, 0, S_KABOOMBOX}
states[S_BOOMBOX_EXPL1] = {SPR_KBEX, A, 1, A_SetObjectFlags, MF_NOGRAVITY|MF_PAIN, 0, S_BOOMBOX_EXPL2}
states[S_BOOMBOX_EXPL2] = {SPR_KBEX, A, 1, A_Scream, 0, 0, S_BOOMBOX_EXPL3}
states[S_BOOMBOX_EXPL3] = {SPR_KBEX, FF_FULLBRIGHT|FF_ANIMATE, 14, nil, 6, 2, S_NULL}
states[S_BOOMBOX_EXPL4] = {SPR_KBEX, A, 1, A_SetObjectFlags, MF_NOGRAVITY|MF_PAIN, 0, S_BOOMBOX_EXPL5}
states[S_BOOMBOX_EXPL5] = {SPR_KBEX, A, 1, A_Scream, 0, 0, S_BOOMBOX_EXPL6}
states[S_BOOMBOX_EXPL6] = {SPR_KBEX, FF_FULLBRIGHT|FF_ANIMATE, 14, nil, 6, 2, S_NULL}
states[S_AUTODETONATE] = {SPR_BOOM, B, 10, A_Pain, 0, 0, S_BOOMBOX_EXPL4}

states[S_KBBACTIVATE] = {SPR_PLAY, SPR2_BACT|FF_SPR2ENDSTATE, 3, A_ForceStop, S_KBBACTIVATE_FIN, 0, S_KBBACTIVATE}
states[S_KBBACTIVATE_FIN] = {SPR_PLAY, SPR2_BACT, 15, A_ForceStop, S_PLAY_FALL, 0, S_PLAY_FALL}

states[S_KBBINDICATOR] = {SPR_KBIN, FF_FULLBRIGHT|FF_ANIMATE|0, -1, nil, 4, 4, S_NULL}

states[S_STARTFLIGHT] = {SPR_PLAY, SPR2_IDLE, 1, nil, S_PLAY_JUMP, 0, S_PLAY_JUMP}

states[S_FLAMESTINGER] = {SPR_FBLL, FF_FULLBRIGHT, 1, A_FireShot, 0, 0, S_FLAMESTINGER_CONT}
states[S_FLAMESTINGER_CONT] = {SPR_FBLL, FF_FULLBRIGHT, 1, A_SpawnObjectRelative, 0, MT_FIREBALLTRAIL, S_FLAMESTINGER_CONT}

states[S_CHARGEDFS] = {SPR_CHFS, A, 30, A_FireShot, 0, 0, S_CHARGEDFS_DIE1}
states[S_CHARGEDFS_DIE1] = {SPR_CHFS, A|FF_TRANS20, 2, nil, 0, 0, S_CHARGEDFS_DIE2}
states[S_CHARGEDFS_DIE2] = {SPR_CHFS, A|FF_TRANS40, 2, nil, 0, 0, S_CHARGEDFS_DIE3}
states[S_CHARGEDFS_DIE3] = {SPR_CHFS, A|FF_TRANS60, 2, nil, 0, 0, S_CHARGEDFS_DIE4}
states[S_CHARGEDFS_DIE4] = {SPR_CHFS, A|FF_TRANS80, 2, nil, 0, 0, S_CHARGEDFS_DIE5}
states[S_CHARGEDFS_DIE5] = {SPR_CHFS, B, 2, nil, 0, 0, S_NULL}

states[S_CHARGEAURA1] = {SPR_CHAU, A|FF_TRANS50, 5, nil, 0, 0, S_CHARGEAURA2}
states[S_CHARGEAURA2] = {SPR_CHAU, B|FF_TRANS50, 5, nil, 0, 0, S_CHARGEAURA1}
states[S_CHARGEAURA3] = {SPR_CHAU, A, 5, nil, 0, 0, S_CHARGEAURA4}
states[S_CHARGEAURA4] = {SPR_CHAU, B, 5, nil, 0, 0, S_CHARGEAURA3}

states[S_WATERFS] = {SPR_UWFS, FF_FULLBRIGHT, 1, A_FireShot, 0, 0, S_WATERFS_CONT}
states[S_WATERFS_CONT] = {SPR_UWFS, FF_FULLBRIGHT, 1, A_SpawnObjectRelative, 0, MT_WATERFS_TRAIL, S_WATERFS_CONT}

states[S_WATERFS_TRAIL1] = {SPR_UWFS, 1|FF_FULLBRIGHT|FF_TRANS50, 1, A_SetScale, FRACUNIT*3/4, 0, S_WATERFS_TRAIL2}
states[S_WATERFS_TRAIL2] = {SPR_UWFS, 1|FF_FULLBRIGHT|FF_TRANS50, 8, A_SetScale, FRACUNIT/6, 1, S_NULL}

states[S_WATERCFS] = {SPR_WCFS, A, 30, A_FireShot, 0, 0, S_WATERCFS_DIE1}
states[S_WATERCFS_DIE1] = {SPR_WCFS, A|FF_TRANS20, 2, nil, 0, 0, S_WATERCFS_DIE2}
states[S_WATERCFS_DIE2] = {SPR_WCFS, A|FF_TRANS40, 2, nil, 0, 0, S_WATERCFS_DIE3}
states[S_WATERCFS_DIE3] = {SPR_WCFS, A|FF_TRANS60, 2, nil, 0, 0, S_WATERCFS_DIE4}
states[S_WATERCFS_DIE4] = {SPR_WCFS, A|FF_TRANS80, 2, nil, 0, 0, S_WATERCFS_DIE5}
states[S_WATERCFS_DIE5] = {SPR_WCFS, B, 2, nil, 0, 0, S_NULL}

states[S_FLYSHOOT] = {SPR_PLAY, SPR2_FSHT|FF_SPR2ENDSTATE, 2, nil, S_FLYSHOOT_FIN, 0, S_FLYSHOOT}
states[S_FLYSHOOT_FIN] = {SPR_PLAY, SPR2_FSHT, 15, nil, S_PLAY_JUMP, 0, S_PLAY_JUMP}

states[S_EMBER_DRIP] = {SPR_PLAY, SPR2_EDRP, 1, nil, 0, 0, S_EMBER_DRIP}

states[S_MBSPINDASH1] = {SPR_PLAY, SPR2_RUN_1, 1, nil, 0, 0, S_MBSPINDASH2}
states[S_MBSPINDASH2] = {SPR_PLAY, SPR2_RUN_2, 1, nil, 0, 0, S_MBSPINDASH3}
states[S_MBSPINDASH3] = {SPR_PLAY, SPR2_RUN_3, 1, nil, 0, 0, S_MBSPINDASH4}
states[S_MBSPINDASH4] = {SPR_PLAY, SPR2_RUN_4, 1, nil, 0, 0, S_MBSPINDASH1}

states[S_THRUSTJUMP_PREP] = {SPR_PLAY, SPR2_RUN_|A, -1, nil, 0, 0, S_THRUSTJUMP_GO}
states[S_THRUSTJUMP_GO] = {SPR_PLAY, SPR2_RUN_|FF_SPR2ENDSTATE, 2, nil, S_THRUSTJUMP_GO, 0, S_PLAY_RUN}

states[S_REBOUND] = {SPR_REBO, TR_TRANS50|FF_PAPERSPRITE|A, -1, nil, 0, 0, S_NULL}

states[S_PLAY_IMPACTLAND] = {SPR_PLAY, SPR2_LAND, 15, A_ForceStop, S_PLAY_STND, 0, S_PLAY_STND}

states[S_IMPACTWAVE1] = {SPR_IWAV, A|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, A_Boss3ShockThink, 4, 2, S_IMPACTWAVE2}
states[S_IMPACTWAVE2] = {SPR_IWAV, B|FF_FULLBRIGHT|FF_PAPERSPRITE, 4, A_Boss3ShockThink, 4, 2, S_IMPACTWAVE1}

states[S_PLAY_GROUNDBASICR1] = {SPR_PLAY, SPR2_MLEE1, 2, A_ForceStop, 0, 0, S_PLAY_GROUNDBASICR2}
states[S_PLAY_GROUNDBASICR2] = {SPR_PLAY, SPR2_MLEE2, 2, A_ForceStop, 0, 0, S_PLAY_GROUNDBASICR3}
states[S_PLAY_GROUNDBASICR3] = {SPR_PLAY, SPR2_MLEE3, 15, A_ForceStop, 0, 0, S_PLAY_STND}
states[S_PLAY_GROUNDBASICL1] = {SPR_PLAY, SPR2_MLEE4, 2, A_ForceStop, 0, 0, S_PLAY_GROUNDBASICL2}
states[S_PLAY_GROUNDBASICL2] = {SPR_PLAY, SPR2_MLEE5, 2, A_ForceStop, 0, 0, S_PLAY_GROUNDBASICL3}
states[S_PLAY_GROUNDBASICL3] = {SPR_PLAY, SPR2_MLEE6, 15, A_ForceStop, 0, 0, S_PLAY_STND}
states[S_PLAY_GROUNDBASICD1] = {SPR_PLAY, SPR2_MLEE7, 2, A_ForceStop, 0, 0, S_PLAY_GROUNDBASICD2}
states[S_PLAY_GROUNDBASICD2] = {SPR_PLAY, SPR2_MLEE8, 2, A_ForceStop, 0, 0, S_PLAY_GROUNDBASICD3}
states[S_PLAY_GROUNDBASICD3] = {SPR_PLAY, SPR2_MLEE9, 15, A_ForceStop, 0, 0, S_PLAY_STND}

states[S_SHREDDERR1] = {SPR_ASHR, A|FF_FULLBRIGHT, 2, nil, 0, 0, S_SHREDDERR2}
states[S_SHREDDERR2] = {SPR_ASHR, B|FF_FULLBRIGHT, 2, nil, 0, 0, S_NULL}

states[S_SHREDDERL1] = {SPR_ASHR, C|FF_FULLBRIGHT, 2, nil, 0, 0, S_SHREDDERL2}
states[S_SHREDDERL2] = {SPR_ASHR, D|FF_FULLBRIGHT, 2, nil, 0, 0, S_NULL}

states[S_DUALSHREDDER] = {SPR_ASHR, E|FF_FULLBRIGHT, 15, nil, 0, 0, S_NULL}

states[S_PLAY_AIRBASICR1] = {SPR_PLAY, SPR2_MLEL1, 2, A_ForceStop, 0, 0, S_PLAY_AIRBASICR2}
states[S_PLAY_AIRBASICR2] = {SPR_PLAY, SPR2_MLEL2, 2, A_ForceStop, 0, 0, S_PLAY_AIRBASICR3}
states[S_PLAY_AIRBASICR3] = {SPR_PLAY, SPR2_MLEL3, 15, A_ForceStop, 0, 0, S_PLAY_FALL}
states[S_PLAY_AIRBASICL1] = {SPR_PLAY, SPR2_MLEL4, 2, A_ForceStop, 0, 0, S_PLAY_AIRBASICL2}
states[S_PLAY_AIRBASICL2] = {SPR_PLAY, SPR2_MLEL5, 2, A_ForceStop, 0, 0, S_PLAY_AIRBASICL3}
states[S_PLAY_AIRBASICL3] = {SPR_PLAY, SPR2_MLEL6, 15, A_ForceStop, 0, 0, S_PLAY_FALL}
states[S_PLAY_AIRBASICD1] = {SPR_PLAY, SPR2_MLEL7, 8, A_ForceStop, 0, 0, S_PLAY_AIRBASICD2}
states[S_PLAY_AIRBASICD2] = {SPR_PLAY, SPR2_MLEL8, 2, A_ForceStop, 0, 0, S_PLAY_AIRBASICD3}
states[S_PLAY_AIRBASICD3] = {SPR_PLAY, SPR2_MLEL9, 15, A_ForceStop, 0, 0, S_PLAY_FALL}

states[S_PLAY_FINISHERLAND] = {SPR_PLAY, SPR2_LAND, 15, A_ForceStop, S_PLAY_STND, 0, S_PLAY_STND}

states[S_ENERGYPILLAR1] = {SPR_EPIL, A|FF_FULLBRIGHT, 3, nil, 0, 0, S_ENERGYPILLAR2}
states[S_ENERGYPILLAR2] = {SPR_EPIL, B|FF_FULLBRIGHT, 3, nil, 0, 0, S_ENERGYPILLAR3}
states[S_ENERGYPILLAR3] = {SPR_EPIL, C|FF_FULLBRIGHT, 3, nil, 0, 0, S_NULL}

states[S_VOIDYAURA_CHARGING] = {SPR_VCHA, A|FF_FULLBRIGHT|FF_TRANS50, -1, nil, 0, 0, S_NULL}

states[S_VOIDYAURA_CHARGED1] = {SPR_VCHA, B|FF_FULLBRIGHT|FF_TRANS50, 3, nil, 0, 0, S_VOIDYAURA_CHARGED2}
states[S_VOIDYAURA_CHARGED2] = {SPR_VCHA, C|FF_FULLBRIGHT|FF_TRANS50, 3, nil, 0, 0, S_VOIDYAURA_CHARGED3}
states[S_VOIDYAURA_CHARGED3] = {SPR_VCHA, D|FF_FULLBRIGHT|FF_TRANS50, 3, nil, 0, 0, S_NULL}

states[S_PLAY_EARTHSPIKER1] = {SPR_PLAY, SPR2_MLEE, 2, A_ForceStop, 0, 0, S_PLAY_EARTHSPIKER2}
states[S_PLAY_EARTHSPIKER2] = {SPR_PLAY, SPR2_MLEE, 2, A_ForceStop, 0, 0, S_PLAY_EARTHSPIKER3}
states[S_PLAY_EARTHSPIKER3] = {SPR_PLAY, SPR2_MLEE, 15, A_ForceStop, 0, 0, S_PLAY_STND}

states[S_VOIDYSPIKE1] = {SPR_ESPK, A|FF_FULLBRIGHT, 4, nil, 0, 0, S_VOIDYSPIKE2}
states[S_VOIDYSPIKE2] = {SPR_ESPK, B|FF_FULLBRIGHT, 10, nil, 0, 0, S_VOIDYSPIKE3}
states[S_VOIDYSPIKE3] = {SPR_ESPK, A|FF_FULLBRIGHT, 4, nil, 0, 0, S_NULL}

states[S_PLAY_CRESCENTDANCER1] = {SPR_PLAY, SPR2_MLEL, 2, nil, 0, 0, S_PLAY_CRESCENTDANCER2}
states[S_PLAY_CRESCENTDANCER2] = {SPR_PLAY, SPR2_MLEL, 2, nil, 0, 0, S_PLAY_CRESCENTDANCER3}
states[S_PLAY_CRESCENTDANCER3] = {SPR_PLAY, SPR2_MLEL, 2, nil, 0, 0, S_PLAY_CRESCENTDANCER4}
states[S_PLAY_CRESCENTDANCER4] = {SPR_PLAY, SPR2_MLEL, 2, nil, 0, 0, S_PLAY_FALL}

states[S_CHARGEDSHREDDER] = {SPR_CASH, A|FF_FULLBRIGHT, -1, A_FireShot, 0, 0, S_NULL}

states[S_PLAY_CHARGESTAND] = {SPR_PLAY, SPR2_SPIN|FF_ANIMATE, 15, nil, 0, 7, S_PLAY_STND}

states[S_PLAY_VACUUMGULLET1] = {SPR_PLAY, SPR2_MLEE, 2, nil, 0, 0, S_PLAY_VACUUMGULLET2}
states[S_PLAY_VACUUMGULLET2] = {SPR_PLAY, SPR2_MLEE, 2, nil, 0, 0, S_PLAY_VACUUMGULLET3}
states[S_PLAY_VACUUMGULLET3] = {SPR_PLAY, SPR2_MLEE, 5, nil, 0, 0, S_PLAY_VACUUMGULLET4}
states[S_PLAY_VACUUMGULLET4] = {SPR_PLAY, SPR2_MLEE, 3, nil, 0, 0, S_PLAY_VACUUMGULLET3}

states[S_SUCCFX] = {SPR_SUCC, TR_TRANS70|FF_PAPERSPRITE|FF_FULLBRIGHT|FF_ANIMATE|A, 13, nil, 3, 3, S_SUCCFX}

states[S_VACCHITBOX] = {SPR_NULL, A, -1, nil, 0, 0, S_NULL}

states[S_PLAY_VACUUMREVERT1] = {SPR_PLAY, SPR2_MLEE, 2, A_ForceStop, 0, 0, S_PLAY_VACUUMREVERT2}
states[S_PLAY_VACUUMREVERT2] = {SPR_PLAY, SPR2_MLEE, 5, A_ForceStop, 0, 0, S_PLAY_VACUUMREVERT3}
states[S_PLAY_VACUUMREVERT3] = {SPR_PLAY, SPR2_MLEE, 15, A_ForceStop, 0, 0, S_PLAY_STND}

states[S_PLAY_FRENZY_INTRO1] = {SPR_PLAY, SPR2_FINT|A, 5, nil, 0, 0, S_PLAY_FRENZY_INTRO2}
states[S_PLAY_FRENZY_INTRO2] = {SPR_PLAY, SPR2_FINT|A, 15, nil, 0, 0, S_PLAY_FRENZY_TRANS1}

states[S_PLAY_FRENZY_TRANS1] = {SPR_PLAY, SPR2_FTRN|FF_ANIMATE, 7, nil, 0, 4, S_PLAY_FRENZY_TRANS2}
states[S_PLAY_FRENZY_TRANS2] = {SPR_PLAY, SPR2_FTRN, 3, nil, 0, 0, S_PLAY_FRENZY_TRANS3}
states[S_PLAY_FRENZY_TRANS3] = {SPR_PLAY, SPR2_FTRN, 2, nil, 0, 0, S_PLAY_FRENZY_TRANS4}
states[S_PLAY_FRENZY_TRANS4] = {SPR_PLAY, SPR2_FTRN, 2, nil, 0, 0, S_PLAY_FRENZY_TRANS5}
states[S_PLAY_FRENZY_TRANS5] = {SPR_PLAY, SPR2_FTRN, 2, nil, 0, 0, S_PLAY_FRENZY_TRANS6}
states[S_PLAY_FRENZY_TRANS6] = {SPR_PLAY, SPR2_FTRN, 19, nil, 0, 0, S_PLAY_STND}

states[S_FRENZYAURA1] = {SPR_FAUR, A|FF_FULLBRIGHT|FF_TRANS20, 1, nil, 0, 0, S_FRENZYAURA2}
states[S_FRENZYAURA2] = {SPR_FAUR, B|FF_FULLBRIGHT|FF_TRANS20, 1, nil, 0, 0, S_FRENZYAURA3}
states[S_FRENZYAURA3] = {SPR_FAUR, C|FF_FULLBRIGHT|FF_TRANS20, 1, nil, 0, 0, S_FRENZYAURA4}
states[S_FRENZYAURA4] = {SPR_FAUR, D|FF_FULLBRIGHT|FF_TRANS20, 1, nil, 0, 0, S_FRENZYAURA5}
states[S_FRENZYAURA5] = {SPR_FAUR, E|FF_FULLBRIGHT|FF_TRANS20, 1, nil, 0, 0, S_FRENZYAURA6}
states[S_FRENZYAURA6] = {SPR_FAUR, F|FF_FULLBRIGHT|FF_TRANS20, 1, nil, 0, 0, S_FRENZYAURA7}
states[S_FRENZYAURA7] = {SPR_FAUR, G|FF_FULLBRIGHT|FF_TRANS20, 1, nil, 0, 0, S_FRENZYAURA8}
states[S_FRENZYAURA8] = {SPR_FAUR, H|FF_FULLBRIGHT|FF_TRANS20, 1, nil, 0, 0, S_FRENZYAURA1}

states[S_FRENZY_SHREDDERR1] = {SPR_ASHR, F|FF_FULLBRIGHT, 2, nil, 0, 0, S_FRENZY_SHREDDERR2}
states[S_FRENZY_SHREDDERR2] = {SPR_ASHR, G|FF_FULLBRIGHT, 2, nil, 0, 0, S_NULL}

states[S_FRENZY_SHREDDERL1] = {SPR_ASHR, H|FF_FULLBRIGHT, 2, nil, 0, 0, S_FRENZY_SHREDDERL2}
states[S_FRENZY_SHREDDERL2] = {SPR_ASHR, I|FF_FULLBRIGHT, 2, nil, 0, 0, S_NULL}

states[S_FRENZY_DUALSHREDDER1] = {SPR_ASHR, J|FF_FULLBRIGHT|FF_FLOORSPRITE, 2, nil, 0, 0, S_FRENZY_DUALSHREDDER2}
states[S_FRENZY_DUALSHREDDER2] = {SPR_ASHR, K|FF_FULLBRIGHT|FF_FLOORSPRITE, 2, nil, 0, 0, S_FRENZY_DUALSHREDDER3}
states[S_FRENZY_DUALSHREDDER3] = {SPR_ASHR, L|FF_FULLBRIGHT|FF_FLOORSPRITE, 2, nil, 0, 0, S_FRENZY_DUALSHREDDER4}
states[S_FRENZY_DUALSHREDDER4] = {SPR_ASHR, M|FF_FULLBRIGHT|FF_FLOORSPRITE, 2, nil, 0, 0, S_FRENZY_DUALSHREDDER5}
states[S_FRENZY_DUALSHREDDER5] = {SPR_ASHR, J|FF_FULLBRIGHT|FF_FLOORSPRITE|FF_TRANS40, 2, nil, 0, 0, S_FRENZY_DUALSHREDDER6}
states[S_FRENZY_DUALSHREDDER6] = {SPR_ASHR, J|FF_FULLBRIGHT|FF_FLOORSPRITE|FF_TRANS80, 2, nil, 0, 0, S_FRENZY_DUALSHREDDER7}
states[S_FRENZY_DUALSHREDDER7] = {SPR_NULL, A, 2, nil, 0, 0, S_NULL}

states[S_FRENZY_ENERGYBALL1] = {SPR_EPIL, FF_FULLBRIGHT|D, 1, A_LobShot, 0, 0, S_FRENZY_ENERGYBALL2}
states[S_FRENZY_ENERGYBALL2] = {SPR_EPIL, FF_FULLBRIGHT|FF_ANIMATE|D, 10, nil, 4, 4, S_FRENZY_ENERGYBALL2}
states[S_FRENZY_ENERGYBALLEXPL1] = {SPR_EPIL, I|FF_FULLBRIGHT, 1, A_SetObjectFlags, MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIPHEIGHT, 0, S_FRENZY_ENERGYBALLEXPL2}
states[S_FRENZY_ENERGYBALLEXPL2] = {SPR_EPIL, J|FF_FULLBRIGHT, 1, A_Scream, 0, 0, S_FRENZY_ENERGYBALLEXPL3}
states[S_FRENZY_ENERGYBALLEXPL3] = {SPR_EPIL, K|FF_FULLBRIGHT, 1, nil, 0, 0, S_FRENZY_ENERGYBALLEXPL4}
states[S_FRENZY_ENERGYBALLEXPL4] = {SPR_EPIL, L|FF_FULLBRIGHT, 1, nil, 0, 0, S_FRENZY_ENERGYBALLEXPL5}
states[S_FRENZY_ENERGYBALLEXPL5] = {SPR_EPIL, M|FF_FULLBRIGHT, 1, nil, 0, 0, S_FRENZY_ENERGYBALLEXPL6}
states[S_FRENZY_ENERGYBALLEXPL6] = {SPR_EPIL, N|FF_FULLBRIGHT, 1, nil, 0, 0, S_FRENZY_ENERGYBALLEXPL7}
states[S_FRENZY_ENERGYBALLEXPL7] = {SPR_EPIL, O|FF_FULLBRIGHT, 1, nil, 0, 0, S_FRENZY_ENERGYBALLEXPL8}
states[S_FRENZY_ENERGYBALLEXPL8] = {SPR_EPIL, P|FF_FULLBRIGHT, 1, nil, 0, 0, S_FRENZY_ENERGYBALLEXPL9}
states[S_FRENZY_ENERGYBALLEXPL9] = {SPR_EPIL, Q|FF_FULLBRIGHT, 1, nil, 0, 0, S_NULL}

states[S_FRENZY_ENERGYPILLAR1] = {SPR_LRAY, A|FF_FULLBRIGHT, 3, nil, 0, 0, S_FRENZY_ENERGYPILLAR2}
states[S_FRENZY_ENERGYPILLAR2] = {SPR_LRAY, B|FF_FULLBRIGHT, 3, nil, 0, 0, S_FRENZY_ENERGYPILLAR3}
states[S_FRENZY_ENERGYPILLAR3] = {SPR_LRAY, C|FF_FULLBRIGHT, 3, nil, 0, 0, S_FRENZY_ENERGYPILLAR4}
states[S_FRENZY_ENERGYPILLAR4] = {SPR_LRAY, B|FF_FULLBRIGHT, 3, nil, 0, 0, S_FRENZY_ENERGYPILLAR5}
states[S_FRENZY_ENERGYPILLAR5] = {SPR_LRAY, A|FF_FULLBRIGHT, 3, nil, 0, 0, S_NULL}

states[S_EARTHSCORCHER] = {SPR_ESPK, C|FF_FULLBRIGHT, -1, A_FireShot, 0, 0, S_EARTHSCORCHER}
states[S_EARTHSCORCHER_FLAME] = {SPR_VFLM, FF_FULLBRIGHT|FF_ANIMATE|A, 100, nil, 7, 3, S_NULL}

states[S_FRENZY_CHARGEDSHREDDER] = {SPR_CASH, B|FF_FULLBRIGHT, 30, A_FireShot, 0, 0, S_NULL}

states[S_FRENZY_SUCCFX] = {SPR_SUCC, TR_TRANS70|FF_FLOORSPRITE|FF_FULLBRIGHT|FF_ANIMATE|A, 13, nil, 3, 3, S_FRENZY_SUCCFX}

states[S_PLAY_SUPER_INTRO1] = {SPR_PLAY, SPR2_SINT|A, 5, nil, 0, 0, S_PLAY_SUPER_INTRO2}
states[S_PLAY_SUPER_INTRO2] = {SPR_PLAY, SPR2_SINT|A, 15, nil, 0, 0, S_PLAY_SUPER_INTRO3}
states[S_PLAY_SUPER_INTRO3] = {SPR_PLAY, SPR2_SINT|A, 1, nil, 0, 0, S_PLAY_FALL}

states[S_VOIDYBLACKHOLE] = {SPR_THOK, A|FF_FULLBRIGHT|FF_TRANS80, -1, nil, 0, 0, S_NULL}


mobjinfo[MT_DROPPEDMIC] = {
	spawnstate = S_DROPPEDMIC,
	spawnhealth = 1,
	height = 8*FRACUNIT,
	radius = 11*FRACUNIT,
	speed = 20*FRACUNIT,
	deathstate = S_XPLD1,
	deathsound = sfx_bsnipe,
	flags = MF_NOBLOCKMAP|MF_MISSILE
}

mobjinfo[MT_SHOCKWAVE1] = {
	spawnstate = S_MICSHOCKWAVE,
	spawnhealth = 1,
	height = 50*FRACUNIT,
	radius = 200*FRACUNIT,
	speed = 0*FRACUNIT,
	deathstate = S_NULL,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP
}

mobjinfo[MT_SHOCKWAVE2] = {
	spawnstate = S_MICSHOCKWAVE,
	spawnhealth = 1,
	height = 50*FRACUNIT,
	radius = 400*FRACUNIT,
	speed = 0*FRACUNIT,
	deathstate = S_NULL,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP
}

mobjinfo[MT_KABOOMBOX] = {
	spawnstate = S_KABOOMBOX,
	spawnhealth = 1,
	height = 32*FRACUNIT,
	radius = 10*FRACUNIT,
	speed = 0*FRACUNIT,
	deathstate = S_BOOMBOX_EXPL1,
	deathsound = sfx_s3k4e,
	flags = MF_SOLID|MF_SLIDEME|MF_PUSHABLE|MF_SHOOTABLE|MF_SPRING,
	painchance = 1,
	damage = 0,
	raisestate = S_AUTODETONATE,
	painsound = sfx_s3k44
}

mobjinfo[MT_FLAMESTINGER] = {
	spawnstate = S_FLAMESTINGER,
	spawnhealth = 1000,
	seesound = sfx_s1ae,
	reactiontime = 8,
	speed = 80*FRACUNIT,
	radius = 4*FRACUNIT,
	height = 8*FRACUNIT,
	mass = DMG_FIRE,
	damage = 1,
	flags = MF_FIRE|MF_MISSILE|MF_NOGRAVITY,
}

mobjinfo[MT_CHARGEDFS] = {
	spawnstate = S_CHARGEDFS,
	spawnhealth = 1000,
	seesound = sfx_koopfr,
	reactiontime = 8,
	speed = 40*FRACUNIT,
	radius = 60*FRACUNIT,
	height = 120*FRACUNIT,
	mass = DMG_FIRE,
	damage = 2,
	flags = MF_FIRE|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP,
}

mobjinfo[MT_EMBERCHARGEAURA] = {
	spawnstate = S_INVISIBLE,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 8,
	radius = 16*FRACUNIT,
	height = 48*FRACUNIT,
	mass = 16,
	flags = MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY,
}

mobjinfo[MT_WATERFS] = {
	spawnstate = S_WATERFS,
	spawnhealth = 1000,
	seesound = sfx_splish,
	reactiontime = 8,
	speed = 40*FRACUNIT,
	radius = 4*FRACUNIT,
	height = 8*FRACUNIT,
	mass = DMG_FIRE,
	damage = 1,
	flags = MF_MISSILE|MF_NOGRAVITY,
}

mobjinfo[MT_WATERFS_TRAIL] = {
	spawnstate = S_WATERFS_TRAIL1,
	spawnhealth = 1000,
	reactiontime = 8,
	radius = 16*FRACUNIT,
	height = 16*FRACUNIT,
	damage = 1,
	flags = MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_RUNSPAWNFUNC,
}

mobjinfo[MT_WATERCFS] = {
	spawnstate = S_WATERCFS,
	spawnhealth = 1000,
	seesound = sfx_befire,
	reactiontime = 8,
	speed = 20*FRACUNIT,
	radius = 60*FRACUNIT,
	height = 120*FRACUNIT,
	mass = DMG_FIRE,
	damage = 2,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP,
}

mobjinfo[MT_REBOUND] = {
	doomednum = -1,
	spawnstate = S_REBOUND,
	flags = MF_NOCLIP|MF_SCENERY|MF_NOGRAVITY
}

mobjinfo[MT_IMPACTSHOCKWAVE] = {
	doomednum = -1,
	spawnstate = S_IMPACTWAVE1,
	spawnhealth = 1000,
	deathstate = S_SPRK1,
	speed = 60*FRACUNIT,
	radius = 50*FRACUNIT,
	height = 50*FRACUNIT,
	damage = 1,
	flags = MF_NOBLOCKMAP|MF_MISSILE|MF_NOGRAVITY|MF_PAPERCOLLISION|MF_NOCLIPHEIGHT
}

mobjinfo[MT_RIGHTSHREDDER] = {
	doomednum = -1,
	spawnstate = S_SHREDDERR1,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 0*FRACUNIT,
	radius = 25*FRACUNIT,
	height = 128*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP
}

mobjinfo[MT_LEFTSHREDDER] = {
	doomednum = -1,
	spawnstate = S_SHREDDERL1,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 0*FRACUNIT,
	radius = 25*FRACUNIT,
	height = 128*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP
}

mobjinfo[MT_DUALSHREDDER] = {
	doomednum = -1,
	spawnstate = S_DUALSHREDDER,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 12*FRACUNIT,
	radius = 50*FRACUNIT,
	height = 160*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP
}

mobjinfo[MT_ENERGYPILLAR] = {
	doomednum = -1,
	spawnstate = S_ENERGYPILLAR1,
	spawnhealth = 1,
	height = 300*FRACUNIT,
	radius = 30*FRACUNIT,
	speed = 0*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOBLOCKMAP
}

mobjinfo[MT_VOIDYCHARGEAURA] = {
	spawnstate = S_VOIDYAURA_CHARGING,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 8,
	radius = 16*FRACUNIT,
	height = 48*FRACUNIT,
	mass = 16,
	flags = MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY,
}

mobjinfo[MT_VOIDYCHARGEFLASH] = {
	spawnstate = S_VOIDYAURA_CHARGED1,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 8,
	radius = 16*FRACUNIT,
	height = 48*FRACUNIT,
	mass = 16,
	flags = MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY,
}

mobjinfo[MT_VOIDYSPIKE] = {
	doomednum = -1,
	spawnstate = S_VOIDYSPIKE1,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 0*FRACUNIT,
	radius = 100*FRACUNIT,
	height = 250*FRACUNIT,
	deathstate = S_NULL,
	damage = 2,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOCLIP
}

mobjinfo[MT_CRESCENTDANCER] = {
	doomednum = -1,
	spawnstate = S_CHARGEDSHREDDER,
	spawnhealth = 1000,
	deathstate = S_SPRK1,
	speed = 60*FRACUNIT,
	radius = 50*FRACUNIT,
	height = 80*FRACUNIT,
	damage = 1,
	flags = MF_NOBLOCKMAP|MF_MISSILE|MF_NOGRAVITY
}

mobjinfo[MT_SUCCFX] = {
	doomednum = -1,
	spawnstate = S_SUCCFX,
	radius = 30*FRACUNIT,
	height = 100*FRACUNIT,
	flags = MF_NOBLOCKMAP|MF_NOCLIPHEIGHT|MF_NOGRAVITY
}

mobjinfo[MT_VACCHITBOX] = {
	spawnstate = S_VACCHITBOX,
	spawnhealth = 1,
	height = 30*FRACUNIT,
	radius = 48*FRACUNIT,
	speed = 0*FRACUNIT,
	deathstate = S_NULL,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP
}

mobjinfo[MT_FRENZYAURA] = {
	spawnstate = S_INVISIBLE,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 8,
	radius = 16*FRACUNIT,
	height = 48*FRACUNIT,
	mass = 16,
	flags = MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY
}

mobjinfo[MT_FRENZY_RIGHTSHREDDER] = {
	doomednum = -1,
	spawnstate = S_FRENZY_SHREDDERR1,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 0*FRACUNIT,
	radius = 50*FRACUNIT,
	height = 368*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP
}

mobjinfo[MT_FRENZY_LEFTSHREDDER] = {
	doomednum = -1,
	spawnstate = S_FRENZY_SHREDDERL1,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 0*FRACUNIT,
	radius = 50*FRACUNIT,
	height = 368*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP
}

mobjinfo[MT_FRENZY_DUALSHREDDER] = {
	doomednum = -1,
	spawnstate = S_FRENZY_DUALSHREDDER1,
	spawnhealth = 1000,
	reactiontime = 8,
	speed = 12*FRACUNIT,
	radius = 400*FRACUNIT,
	height = 100*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP
}

mobjinfo[MT_FRENZY_ENERGYBALL] = {
	spawnstate = S_FRENZY_ENERGYBALL1,
	spawnhealth = 1,
	height = 80*FRACUNIT,
	radius = 80*FRACUNIT,
	speed = 50*FRACUNIT,
	deathstate = S_FRENZY_ENERGYBALLEXPL1,
	deathsound = sfx_rail2,
	flags = MF_NOBLOCKMAP|MF_MISSILE
}

mobjinfo[MT_FRENZY_ENERGYPILLAR] = {
	doomednum = -1,
	spawnstate = S_FRENZY_ENERGYPILLAR1,
	spawnhealth = 1,
	height = 300*FRACUNIT,
	radius = 30*FRACUNIT,
	speed = 0*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIPHEIGHT
}

mobjinfo[MT_EARTHSCORCHER] = {
	doomednum = -1,
	spawnstate = S_EARTHSCORCHER,
	spawnhealth = 1,
	height = 250*FRACUNIT,
	radius = 90*FRACUNIT,
	speed = 30*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIPHEIGHT|MF_MISSILE
}

mobjinfo[MT_EARTHSCORCHER_FLAME] = {
	doomednum = -1,
	spawnstate = S_EARTHSCORCHER_FLAME,
	spawnhealth = 1000,
	height = 24*FRACUNIT,
	radius = 24*FRACUNIT,
	speed = 0*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOBLOCKMAP
}

mobjinfo[MT_CRESCENTREAPER] = {
	doomednum = -1,
	spawnstate = S_FRENZY_CHARGEDSHREDDER,
	spawnhealth = 1,
	height = 300*FRACUNIT,
	radius = 100*FRACUNIT,
	speed = 100*FRACUNIT,
	deathstate = S_NULL,
	damage = 1,
	flags = MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT
}

mobjinfo[MT_FRENZY_SUCCFX] = {
	doomednum = -1,
	spawnstate = S_FRENZY_SUCCFX,
	radius = 30*FRACUNIT,
	height = 100*FRACUNIT,
	flags = MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY
}

mobjinfo[MT_VOIDYBLACKHOLE] = {
	doomednum = -1,
	spawnstate = S_VOIDYBLACKHOLE,
	radius = 20*FRACUNIT,
	height = 20*FRACUNIT,
	flags = MF_NOCLIPHEIGHT|MF_NOBLOCKMAP|MF_SCENERY|MF_NOGRAVITY
}


skincolors[SKINCOLOR_ABYSSAL1] = {
	name = "Super Abyssal 1",
	ramp = {254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254},
	accessible = false
}

skincolors[SKINCOLOR_ABYSSAL2] = {
	name = "Super Abyssal 2",
	ramp = {254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254},
	accessible = false
}

skincolors[SKINCOLOR_ABYSSAL3] = {
	name = "Super Abyssal 3",
	ramp = {254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254},
	accessible = false
}

skincolors[SKINCOLOR_ABYSSAL4] = {
	name = "Super Abyssal 4",
	ramp = {254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254},
	accessible = false
}

skincolors[SKINCOLOR_ABYSSAL5] = {
	name = "Super Abyssal 5",
	ramp = {254,254,254,254,254,254,254,254,254,254,254,254,254,254,254,254},
	accessible = false
}


if srb2p
	freeslot("SPR_UZUM", "SPR_NOTE", "SPR_DOUB")
	freeslot("SPR_SCAT", "SPR_ARRO", "SPR_JAVE")
	freeslot("SPR_HBIK", "SPR_MBUG", "SPR2_CALL")
	freeslot("SPR_SETH")
	freeslot("SPR_RUBY", "SPR_JBOM", "SPR_ROPE", "SPR_SERA")
	
	
	freeslot("S_DUMMYMOTOBUG")
	freeslot("S_JUMPDETONATE")
	for i = 1,2
		freeslot("S_MUSICNOTE"..i)
	end
	for i = 1,5
		freeslot("S_SSHOT"..i)
	end
	for i = 1,3
		freeslot("S_JUMPBOMB"..i)
	end
	for i = 1,7
		freeslot("S_JUMPBOMB_EXPL"..i)
	end
	for i = 1,5
		freeslot("S_ARLE"..i)
	end
	
	
	freeslot("MT_DUMMYMOTOBUG", "MT_EXHAUST")
	freeslot("MT_JUMPBOMB")
	
	
	freeslot("sfx_gun")
	freeslot("sfx_lmpoil", "sfx_rope", "sfx_ropego", "sfx_bombs")
	
	
	states[S_MUSICNOTE1] = {SPR_NOTE, A, 3, nil, 0, 0, S_MUSICNOTE1}
	states[S_MUSICNOTE2] = {SPR_DOUB, A, 3, nil, 0, 0, S_MUSICNOTE2}
	
	states[S_SSHOT1] = {SPR_SHOT, A, 3, nil, 0, 0, S_SSHOT2}
	states[S_SSHOT2] = {SPR_SHOT, B, 3, nil, 0, 0, S_SSHOT3}
	states[S_SSHOT3] = {SPR_SHOT, E, 3, nil, 0, 0, S_SSHOT4}
	states[S_SSHOT4] = {SPR_SHOT, F, 3, nil, 0, 0, S_SSHOT5}
	states[S_SSHOT5] = {SPR_SHOT, G, 3, nil, 0, 0, S_NULL}
	
	states[S_DUMMYMOTOBUG] = {SPR_MBUG, A, -1, nil, 0, 0, S_DUMMYMOTOBUG}
	
	states[S_JUMPBOMB1] = {SPR_JBOM, A, 10, A_FireShot, 0, 0, S_JUMPBOMB2}
	states[S_JUMPBOMB2] = {SPR_JBOM, A, 1, A_SetObjectFlags, MF_SOLID|MF_SLIDEME|MF_NOGRAVITY|MF_SHOOTABLE|MF_SPRING, 0, S_JUMPBOMB3}
	states[S_JUMPBOMB3] = {SPR_JBOM, A, 50, A_ForceStop, 0, 0, S_JUMPBOMB_EXPL1}
	states[S_JUMPBOMB_EXPL1] = {SPR_BARX, A, 3, A_SetObjectFlags, MF_NOCLIP|MF_NOGRAVITY|MF_NOBLOCKMAP, 0, S_JUMPBOMB_EXPL2}
	states[S_JUMPBOMB_EXPL2] = {SPR_BARX, A, 1, A_Scream, 0, 0, S_JUMPBOMB_EXPL3}
	states[S_JUMPBOMB_EXPL3] = {SPR_BARX, B, 2, nil, 0, 0, S_JUMPBOMB_EXPL4}
	states[S_JUMPBOMB_EXPL4] = {SPR_BARX, B, 1, nil, 0, 0, S_JUMPBOMB_EXPL5}
	states[S_JUMPBOMB_EXPL5] = {SPR_BARX, C, 3, nil, 0, 0, S_JUMPBOMB_EXPL6}
	states[S_JUMPBOMB_EXPL6] = {SPR_BARX, D, 3, nil, 0, 0, S_JUMPBOMB_EXPL7}
	states[S_JUMPBOMB_EXPL7] = {SPR_NULL, A, 2*TICRATE, nil, 0, 0, S_NULL}
	states[S_JUMPDETONATE] = {SPR_JBOM, B, 10, A_Pain, 0, 0, S_JUMPBOMB_EXPL1}

	states[S_ARLE1] = {SPR_SERA, A|FF_FULLBRIGHT|TR_TRANS50, 2, nil, 0, 0, S_ARLE2}
	states[S_ARLE2] = {SPR_SERA, B|FF_FULLBRIGHT|TR_TRANS50, 5, nil, 0, 0, S_NULL}
	states[S_ARLE3] = {SPR_SERA, C|FF_FULLBRIGHT|TR_TRANS50, 2, nil, 0, 0, S_ARLE4}
	states[S_ARLE4] = {SPR_SERA, D|FF_FULLBRIGHT|TR_TRANS50, 2, nil, 0, 0, S_ARLE3}
	states[S_ARLE5] = {SPR_SERA, E|FF_FULLBRIGHT|TR_TRANS50, 5, nil, 0, 0, S_NULL}
	
	
	mobjinfo[MT_DUMMYMOTOBUG] = {
		spawnstate = S_DUMMYMOTOBUG,
		spawnhealth = 1,
		height = 2097152,
		radius = 1572864,
		speed = 7,
		deathstate = S_XPLD_FLICKY,
		deathsound = sfx_pop,
		flags = MF_SPECIAL|MF_SHOOTABLE|MF_ENEMY,
		mass = 100,
		painchance = 200,
		reactiontime = 32,
	}

	mobjinfo[MT_EXHAUST] = {
		-1,
		S_INVISIBLE,
		0,
		S_NULL,
		sfx_None,
		0,
		sfx_None,
		S_NULL,
		0,
		sfx_None,
		S_NULL,
		S_NULL,
		S_NULL,
		S_NULL,
		sfx_None,
		0,
		32 * FRACUNIT,
		32 * FRACUNIT,
		0,
		0,
		0,
		sfx_None,
		MF_NOBLOCKMAP|MF_NOGRAVITY,
		S_NULL
	}
	
	mobjinfo[MT_JUMPBOMB] = {
		spawnstate = S_JUMPBOMB1,
		spawnhealth = 1,
		height = 48*FRACUNIT,
		radius = 24*FRACUNIT,
		speed = 20*FRACUNIT,
		deathstate = S_JUMPBOMB_EXPL1,
		deathsound = sfx_s3k4e,
		flags = MF_SOLID|MF_SLIDEME|MF_NOGRAVITY,
		painchance = 1,
		damage = 0,
		mass = 11*FRACUNIT,
		painsound = sfx_s3k44
	}
end