// This handles all of the freeslots and for TacoRain
freeslot("MT_TACO", "S_TACO", "SPR_TACO",
"SPR_HPTO", "SPR_BUTN")

mobjinfo[MT_TACO] = {
    spawnstate = S_TACO,
    radius = 10*FRACUNIT,
    height = 10*FRACUNIT,
    flags = MF_PAIN
}

states[S_TACO] = {SPR_TACO, FF_ANIMATE|A, 2, nil, 20, 2, S_TACO}

addHook("MobjThinker", function(mo)
	if P_IsObjectOnGround(mo)
		K_SpawnMineExplosion(mo, mo.color)
		P_SpawnMobj(mo.x, mo.y, mo.z, MT_SPBEXPLOSION)
		P_StartQuake(7*FRACUNIT, 10)
		P_RemoveMobj(mo)
	end
end, MT_TACO)

// This handles all of the freeslot and custom objects for Meteor Rain
freeslot("MT_EXPLODINGMETEOR", "S_EXPLODINGMETEOR", "SPR_EXPLODINGMETEOR")

mobjinfo[MT_EXPLODINGMETEOR] = {
    spawnstate = S_EXPLODINGMETEOR,
    radius = 10*FRACUNIT,
    height = 10*FRACUNIT,
    flags = MF_PAIN
}

states[S_EXPLODINGMETEOR] = {SPR_ROID, FF_ANIMATE|A, 16, nil, 8, 2, S_EXPLODINGMETEOR}

addHook("MobjThinker", function(mo)
	if P_IsObjectOnGround(mo)
		K_SpawnMineExplosion(mo, mo.color)
		local explode = P_SpawnMobj(mo.x, mo.y, mo.z, MT_SPBEXPLOSION)
		explode.scale = FRACUNIT+(FRACUNIT/2)
		P_StartQuake(7*FRACUNIT, 10)
		P_RemoveMobj(mo)
	end
end, MT_EXPLODINGMETEOR)