freeslot ("MT_MONST_BOX", "S_MONST_BOX", "MT_MONST_ICON", "S_MONST_ICON1", "S_MONST_ICON1", "S_MONST_ICON2", "SPR_TVMF", "MT_MONST_GOLDBOX", "S_MONST_GOLDBOX")
states [S_MONST_BOX] = {SPR_TVMF, A, 2, nil, nil, nil, S_BOX_FLICKER}
states [S_MONST_GOLDBOX] = {SPR_TVMF, B, 2, nil, nil, nil, S_GOLDBOX_FLICKER}
states [S_MONST_ICON1] = {SPR_TVMF,FF_ANIMATE|FF_VERTICALFLIP|C, 18, nil, 3, 4, S_MONST_ICON2}
states [S_MONST_ICON2] = {SPR_TVMF, C, 18, A_Invincibility, nil, nil, S_NULL}

local SH_MSF = 17
rawset(_G, "SH_MSF", SH_MSF)

	mobjinfo [MT_MONST_BOX] = {
	spawnstate = S_MONST_BOX,
	spawnhealth = 1,
	damage = MT_MONST_ICON,
	speed = 1,
	radius = 18*FRACUNIT,
	height = 40*FRACUNIT,
	deathstate = S_BOX_POP1,
	deathsound = sfx_pop,
	flags = MF_MONITOR|MF_SHOOTABLE|MF_SOLID
	}
	mobjinfo [MT_MONST_ICON] = {
	spawnstate = S_MONST_ICON1,
	spawnhealth = 1,
	damage = S_NULL,
	speed = 2*FRACUNIT,
	radius = 8*FRACUNIT,
	height = 14*FRACUNIT,
	flags = MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY|MF_NOGRAVITY|MF_BOXICON	
	}
	mobjinfo [MT_MONST_GOLDBOX] = {
	spawnstate = S_MONST_GOLDBOX,
	spawnhealth = 1,
	damage = MT_MONST_ICON,
	speed = 0,
	radius = 18*FRACUNIT,
	height = 40*FRACUNIT,
	deathstate = S_GOLDBOX_OFF1,
	deathsound = sfx_pop,
	flags = MF_MONITOR|MF_SHOOTABLE|MF_SOLID
	}


//thanks -Compendium-
				addHook("MobjSpawn", function(player) do
				for mobj in mobjs.iterate()
				for player in players.iterate()
				if (mobj.flags & MF_MONITOR) and (player.mo.skin ~= "eclipse") continue end --skin and monitor check
				if mobj.type != MT_INVULN_BOX continue end --if returns as whirlwind monitor
				mobj.type = MT_MONST_BOX --replace with gun monitor
			end
		end
	end
end)




//	mo.target.player.pflags = $ & ~PF_SPINNING



//addHook("ShieldSpawn", function(player)
//if player.powers[pw_shield] ~= SH_MSF then
//return end
//	// Second layer shields
//		if(player.powers[pw_shield] & SH_STACK)= SH_MSF) and !(player.powers[pw_super])
//			player.mo.target.scale = $*80
//			player.charability = CA_NONE
//			player.normalspeed = 24
//		end
//		player.powers[pw_shield] = SH_NONE
//end)

//addHook("ShieldSpecial", function(player)
 //   if player.powers[pw_shield] == SH_MSF
 //       A_MonsterForm(player)
//		if P_IsObjectOnGround(player.mo)
//		and player.cmd.buttons & BT_SPIN
//		BignSlow(player)
//        return true
//		end
//	end
//end)