// Please just forget that "d4xkzeasethelag" mess, that is a failed attempt of a setting to ease the lag (if you are experiencing it)

addHook("MobjThinker", function(mobj)
	for player in players.iterate
		local d4xkzeasethelag = false
		if player.d94xkzmenu_easelag
			d4xkzeasethelag = true
		end
	end
	if not d4xkzeasethelag
		local d94xkzsearcher = 0
		for player in players.iterate
			if player.mo.skin == "dark"
			or player.mo.skin == "xkz"
				d94xkzsearcher = $+1
			end
		end

		if not d94xkzsearcher then return end

		if mobj and mobj.valid
		and mobj.health
			if (leveltime % 20) == 0
				local d94xkzringsparkling = P_SpawnMobjFromMobj(mobj, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.height/FRACUNIT, mobj.height/FRACUNIT)*FRACUNIT*P_MobjFlip(mobj), MT_BOXSPARKLE)
				d94xkzringsparkling.target = mobj
				d94xkzringsparkling.tics = 5
				d94xkzringsparkling.frame = $|FF_FULLBRIGHT
				d94xkzringsparkling.scale = mobj.scale
				d94xkzringsparkling.destscale = mobj.scale/3
				d94xkzringsparkling.momx = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momy = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momz = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.color =	SKINCOLOR_SUPERGOLD3
				d94xkzringsparkling.colorized = true
				d94xkzringsparkling.blendmode = AST_ADD
			end
		end
	end
end, MT_RING)

addHook("MobjThinker", function(mobj)
	for player in players.iterate
		local d4xkzeasethelag = false
		if player.d94xkzmenu_easelag
			d4xkzeasethelag = true
		end
	end
	if not d4xkzeasethelag
		local d94xkzsearcher = 0
		for player in players.iterate
			if player.mo.skin == "dark"
			or player.mo.skin == "xkz"
				d94xkzsearcher = $+1
			end
		end

		if not d94xkzsearcher then return end

		if mobj and mobj.valid
		and mobj.health
			if (leveltime % 20) == 0
				local d94xkzringsparkling = P_SpawnMobjFromMobj(mobj, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.height/FRACUNIT, mobj.height/FRACUNIT)*FRACUNIT*P_MobjFlip(mobj), MT_BOXSPARKLE)
				d94xkzringsparkling.target = mobj
				d94xkzringsparkling.tics = 5
				d94xkzringsparkling.frame = $|FF_FULLBRIGHT
				d94xkzringsparkling.scale = mobj.scale
				d94xkzringsparkling.destscale = mobj.scale/3
				d94xkzringsparkling.momx = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momy = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momz = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.color =	SKINCOLOR_SUPERGOLD3
				d94xkzringsparkling.colorized = true
				d94xkzringsparkling.blendmode = AST_ADD
			end
		end
	end
end, MT_FLINGRING)

addHook("MobjThinker", function(mobj)
	for player in players.iterate
		local d4xkzeasethelag = false
		if player.d94xkzmenu_easelag
			d4xkzeasethelag = true
		end
	end
	if not d4xkzeasethelag
		local d94xkzsearcher = 0
		for player in players.iterate
			if player.mo.skin == "dark"
			or player.mo.skin == "xkz"
				d94xkzsearcher = $+1
			end
		end

		if not d94xkzsearcher then return end

		if mobj and mobj.valid
		and mobj.health
			if (leveltime % 20) == 0
				local d94xkzringsparkling = P_SpawnMobjFromMobj(mobj, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.height/FRACUNIT, mobj.height/FRACUNIT)*FRACUNIT*P_MobjFlip(mobj), MT_BOXSPARKLE)
				d94xkzringsparkling.target = mobj
				d94xkzringsparkling.tics = 5
				d94xkzringsparkling.frame = $|FF_FULLBRIGHT
				d94xkzringsparkling.scale = mobj.scale
				d94xkzringsparkling.destscale = mobj.scale/3
				d94xkzringsparkling.momx = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momy = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momz = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.color =	SKINCOLOR_BLUE
				d94xkzringsparkling.colorized = true
				d94xkzringsparkling.blendmode = AST_ADD
			end
		end
	end
end, MT_BLUETEAMRING)

addHook("MobjThinker", function(mobj)
	for player in players.iterate
		local d4xkzeasethelag = false
		if player.d94xkzmenu_easelag
			d4xkzeasethelag = true
		end
	end
	if not d4xkzeasethelag
		local d94xkzsearcher = 0
		for player in players.iterate
			if player.mo.skin == "dark"
			or player.mo.skin == "xkz"
				d94xkzsearcher = $+1
			end
		end

		if not d94xkzsearcher then return end

		if mobj and mobj.valid
		and mobj.health
			if (leveltime % 20) == 0
				local d94xkzringsparkling = P_SpawnMobjFromMobj(mobj, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.height/FRACUNIT, mobj.height/FRACUNIT)*FRACUNIT*P_MobjFlip(mobj), MT_BOXSPARKLE)
				d94xkzringsparkling.target = mobj
				d94xkzringsparkling.tics = 5
				d94xkzringsparkling.frame = $|FF_FULLBRIGHT
				d94xkzringsparkling.scale = mobj.scale
				d94xkzringsparkling.destscale = mobj.scale/3
				d94xkzringsparkling.momx = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momy = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momz = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.color =	SKINCOLOR_RED
				d94xkzringsparkling.colorized = true
				d94xkzringsparkling.blendmode = AST_ADD
			end
		end
	end
end, MT_REDTEAMRING)

addHook("MobjThinker", function(mobj)
	for player in players.iterate
		local d4xkzeasethelag = false
		if player.d94xkzmenu_easelag
			d4xkzeasethelag = true
		end
	end
	if not d4xkzeasethelag
		local d94xkzsearcher = 0
		for player in players.iterate
			if player.mo.skin == "dark"
			or player.mo.skin == "xkz"
				d94xkzsearcher = $+1
			end
		end

		if d94xkzsearcher
		and mobj and mobj.valid
		and mobj.health
			if (leveltime % 20) == 0
				local d94xkzringsparkling = P_SpawnMobjFromMobj(mobj, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.height/FRACUNIT, mobj.height/FRACUNIT)*FRACUNIT*P_MobjFlip(mobj), MT_BOXSPARKLE)
				d94xkzringsparkling.target = mobj
				d94xkzringsparkling.tics = 5
				d94xkzringsparkling.frame = $|FF_FULLBRIGHT
				d94xkzringsparkling.scale = mobj.scale
				d94xkzringsparkling.destscale = mobj.scale/3
				d94xkzringsparkling.momx = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momy = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momz = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.color =	SKINCOLOR_SUPERGOLD3
				d94xkzringsparkling.colorized = true
				d94xkzringsparkling.blendmode = AST_ADD
			end
			mobj.renderflags = $|RF_PAPERSPRITE
			mobj.angle = $+ANG10
		elseif mobj and mobj.valid
			mobj.renderflags = $ & ~RF_PAPERSPRITE
		end
	end
end, MT_COIN)

addHook("MobjThinker", function(mobj)
	for player in players.iterate
		local d4xkzeasethelag = false
		if player.d94xkzmenu_easelag
			d4xkzeasethelag = true
		end
	end
	if not d4xkzeasethelag
		local d94xkzsearcher = 0
		for player in players.iterate
			if player.mo.skin == "dark"
			or player.mo.skin == "xkz"
				d94xkzsearcher = $+1
			end
		end

		if d94xkzsearcher
		and mobj and mobj.valid
		and mobj.health
			if (leveltime % 20) == 0
				local d94xkzringsparkling = P_SpawnMobjFromMobj(mobj, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.radius/FRACUNIT, mobj.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-mobj.height/FRACUNIT, mobj.height/FRACUNIT)*FRACUNIT*P_MobjFlip(mobj), MT_BOXSPARKLE)
				d94xkzringsparkling.target = mobj
				d94xkzringsparkling.tics = 5
				d94xkzringsparkling.frame = $|FF_FULLBRIGHT
				d94xkzringsparkling.scale = mobj.scale
				d94xkzringsparkling.destscale = mobj.scale/3
				d94xkzringsparkling.momx = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momy = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.momz = P_RandomRange(-1, 1)*FRACUNIT/2
				d94xkzringsparkling.color =	SKINCOLOR_SUPERGOLD3
				d94xkzringsparkling.colorized = true
				d94xkzringsparkling.blendmode = AST_ADD
			end
			mobj.renderflags = $|RF_PAPERSPRITE
			mobj.angle = $+ANG10
		elseif mobj and mobj.valid
			mobj.renderflags = $ & ~RF_PAPERSPRITE
		end
	end
end, MT_FLINGCOIN)