function interacting(entity_who_interacted, entity_interacted, interactable_name)

	-- eat the marshmallow!
	local sprite_comps = EntityGetComponent(entity_interacted, "SpriteComponent")

	if ComponentGetValue2(sprite_comps[1], "image_file") == "mods/lewd_noita/files/kobold_lair/fireplace_mallowless.png" then
		GamePrintImportant("there is no marshmallow!", "Someone probably ate it")
	else
		EntityRemoveComponent(entity_interacted, sprite_comps[1])
		EntityRemoveComponent(entity_interacted, sprite_comps[2])
		EntityAddComponent2(entity_interacted, "SpriteComponent", {
			image_file="mods/lewd_noita/files/kobold_lair/fireplace_mallowless.png",
			z_index=2,
			offset_x=10,
			offset_y=17,
		})
		EntityAddComponent2(entity_interacted, "SpriteComponent", {
			image_file="mods/lewd_noita/files/kobold_lair/fireplace_fire.xml",
			offset_x=8,
			offset_y=15,
		})
		local dmg_model = EntityGetFirstComponent(entity_who_interacted, "DamageModelComponent")
		ComponentSetValue2(dmg_model, "hp", ComponentGetValue2(dmg_model, "hp") + 0.04)
		GamePrintImportant("you ate the marshmallow!", "It was someone elses marshmallow")
		local fireplace_x, fireplace_y = EntityGetTransform(entity_interacted)
		GamePlaySound("data/audio/Desktop/misc.bank", "game_effect/regeneration/create", fireplace_x, fireplace_y)
	end
end

local kobolds = 0
local fireplace_x, fireplace_y = EntityGetTransform(GetUpdatedEntityID())

for _, enemy in ipairs(EntityGetInRadiusWithTag(fireplace_x, fireplace_y, 256, "enemy") or {}) do
	if EntityGetName(enemy) == "$animal_kobold" then
		kobolds = kobolds + 1
	end
end

if kobolds < 3 then

	-- spawn kobold that brings back marshmallow
	local rand = Random(-20, 20)
	EntityLoad("mods/lewd_noita/files/enemies/kobold.xml", fireplace_x + rand, fireplace_y)
	EntityLoad("data/entities/particles/poof_yellow_tiny.xml", fireplace_x + rand, fireplace_y)
	local sprite_comps = EntityGetComponent(GetUpdatedEntityID(), "SpriteComponent")
	EntityRemoveComponent(GetUpdatedEntityID(), sprite_comps[1])
	EntityRemoveComponent(GetUpdatedEntityID(), sprite_comps[2])
	EntityAddComponent2(GetUpdatedEntityID(), "SpriteComponent", {
		image_file="mods/lewd_noita/files/kobold_lair/fireplace.png",
		z_index=2,
		offset_x=10,
		offset_y=17,
	})
	EntityAddComponent2(GetUpdatedEntityID(), "SpriteComponent", {
		image_file="mods/lewd_noita/files/kobold_lair/fireplace_fire.xml",
		offset_x=8,
		offset_y=15,
	})
end