// NiGHTS things

addHook("PlayerThink", function(player)
	if player.mo and player.mo.valid
		if player.mo.skin == "dark"
		or player.mo.skin == "xkz"
			if player.powers[pw_carry]
				if player.powers[pw_carry] == CR_NIGHTSMODE
					local d94xkzsupersparkling = P_SpawnMobjFromMobj(player.mo, P_RandomRange(-player.mo.radius/FRACUNIT, player.mo.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-player.mo.radius/FRACUNIT, player.mo.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-player.mo.height/FRACUNIT, player.mo.height/FRACUNIT)*FRACUNIT*P_MobjFlip(player.mo), MT_BOXSPARKLE)
					d94xkzsupersparkling.target = player.mo
					d94xkzsupersparkling.tics = 5
					d94xkzsupersparkling.frame = $|FF_FULLBRIGHT
					d94xkzsupersparkling.scale = player.mo.scale*3
					d94xkzsupersparkling.destscale = player.mo.scale
					d94xkzsupersparkling.momx = P_RandomRange(-6, 6)*FRACUNIT
					d94xkzsupersparkling.momy = P_RandomRange(-6, 6)*FRACUNIT
					d94xkzsupersparkling.momz = P_RandomRange(-6, 6)*FRACUNIT
					d94xkzsupersparkling.color = d94xkzsupersparkling.target.color
					d94xkzsupersparkling.colorized = true
					d94xkzsupersparkling.blendmode = AST_ADD
					if player.pflags & PF_DRILLING
						local d94xkzdrillghost = P_SpawnGhostMobj(player.mo)
						d94xkzdrillghost.fuse = 4
						d94xkzdrillghost.colorized = true
						local d94xkzdrillfire = P_SpawnGhostMobj(player.mo)
						d94xkzdrillfire.target = player.mo
						d94xkzdrillfire.fuse = 10
						d94xkzdrillfire.tics = 3
						d94xkzdrillfire.sprite = SPR_FIRS
						d94xkzdrillfire.frame = S|FF_FULLBRIGHT
						d94xkzdrillfire.color = player.mo.color
						d94xkzdrillfire.colorized = true
						d94xkzdrillfire.d94xkzdrillfire = true
						A_CapeChase(d94xkzdrillfire)
					end
				elseif player.powers[pw_carry] == CR_NIGHTSFALL
					local d94xkzfalldust = P_SpawnMobjFromMobj(player.mo, P_RandomRange(-player.mo.radius/FRACUNIT, player.mo.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-player.mo.radius/FRACUNIT, player.mo.radius/FRACUNIT)*FRACUNIT, P_RandomRange(-player.mo.height/FRACUNIT, player.mo.height/FRACUNIT)*FRACUNIT*P_MobjFlip(player.mo), MT_DUST)
					d94xkzfalldust.scale = player.mo.scale
					d94xkzfalldust.destscale = player.mo.scale*3
					d94xkzfalldust.momx = P_RandomRange(-1, 1)*FRACUNIT
					d94xkzfalldust.momy = P_RandomRange(-1, 1)*FRACUNIT
					d94xkzfalldust.momz = P_RandomRange(-1, 1)*FRACUNIT
					if (leveltime % 10) == 0
						local d94xkzfallghost = P_SpawnGhostMobj(player.mo)
						d94xkzfallghost.fuse = 10
						d94xkzfallghost.destscale = player.mo.scale*4
						d94xkzfallghost.color = SKINCOLOR_SILVER
						d94xkzfallghost.colorized = true
					end
				end
			end
		end
	end
end)

addHook("MobjThinker", function(mobj)
	if mobj and mobj.valid
	and mobj.d94xkzdrillfire
		A_CapeChase(mobj)
	end
end, MT_GHOST)