--Metal Sonic shards

local function SHGlassShatter(s, v)

	if not (v and v.valid) or s.amshattered	or (v.type == s.type) then return false end
	
	if v.player then
		local p = v.player 
		
		for d = 1,14 do
	
			local shards = P_SpawnMobj(v.x+(P_RandomRange(-50,50)*v.scale), v.y+(P_RandomRange(-50,50)*v.scale), v.z+(P_RandomRange(5,90)*v.scale), MT_MGUT)
			
			if shards and shards.valid then
			
				shards.flags = $|MF_BOUNCE|MF_GRENADEBOUNCE|MF_NOCLIPTHING 
				P_InstaThrust(shards, v.angle+(P_RandomRange(-25,25)*ANG1), p.speed+8*v.scale)
				P_SetObjectMomZ(shards, (P_RandomRange(-4,8)*v.scale)+v.momz, false)
			
				shards.sprite = SPR_MGUT
				shards.frame = (P_RandomRange(D,E))|TR_TRANS40
				shards.rollangle = P_RandomRange(0,359)*ANG1
			end		
		end
		if (p == displayplayer) 
			P_StartQuake(40*FRACUNIT, 4)
		end
		
		s.amshattered = true 
		return false 
	end
end