freeslot("SPR_ICPP", "SPR_ICSF", "MT_ICEPOPTREE", "MT_CREAMFLOWER", "S_IPTlol", "S_CreamFlower")

addHook("MobjSpawn", function(tree)
	tree.color = P_RandomKey(#skincolors-1)+1
end, MT_ICEPOPTREE)

addHook("MobjSpawn", function(flower)
	flower.color = P_RandomKey(#skincolors-1)+1
end, MT_CREAMFLOWER)


local function jellybelly(line, mo)
	local player = mo.player
	mo.momz = 25*FRACUNIT
	player.fatfuckgellatin = true
end
addHook("LinedefExecute", jellybelly, "JLLYBLY")

local splooshers = function(inflictor)
	for i = 1,18
		local mf = P_SPMAngle(inflictor,MT_GOOPTRAIL,inflictor.angle+(ANG20*i),1)
		if mf and mf.valid
			P_SetObjectMomZ(mf, 4*FRACUNIT, false)
			P_InstaThrust(mf,mf.angle,4*FRACUNIT)
			mf.colorized = true
			mf.color = SKINCOLOR_SALMON
		end
	end
	for i = 1,8
		local mf = P_SpawnMobj(inflictor.x, inflictor.y, inflictor.z + 1*FRACUNIT, MT_GOOPTRAIL)
		if mf and mf.valid
			mf.colorized = true
			mf.color = SKINCOLOR_SALMON
			mf.momx = inflictor.momx - P_RandomRange(3, 5)*FRACUNIT
			mf.momy = inflictor.momy - P_RandomRange(3, 5)*FRACUNIT
			mf.momz = inflictor.momz - P_RandomRange(3, 5)*FRACUNIT
		end
	end
end

addHook("PlayerThink", function(player)
	if player.mo and player.mo.valid
		if player.fatfuckgellatin
			player.mo.state = S_PLAY_ROLL
			player.pflags = $ | PF_JUMPED
			player.pflags = $1 & ~PF_THOKKED
			player.pflags = $1 & ~PF_SPINNING
			S_StartSound(player.mo, sfx_s3k87)
			splooshers(player.mo)
			player.fatfuckgellatin = false
		end
	end
end)