freeslot(
"MT_JADETECTOR",
"MT_JADETECTORSTART"
)
mobjinfo[MT_JADETECTOR] = {
	doomednum = -1,
	spawnstate = S_NULL,
	--radius = 0,
	flags = MF_NOCLIP|MF_SCENERY|MF_NOGRAVITY|MF_NOCLIPHEIGHT
}
mobjinfo[MT_JADETECTORSTART] = {
	doomednum = -1,
	spawnstate = S_NULL,
	--radius = 0,
	flags = MF_SCENERY
}
addHook("ThinkFrame", function(ass)
	for p in players.iterate
		if p.mo and p.mo.valid and p.mo.health and (p.mo.skin == "jana" or p.mo.skin == "annie")
			if p.janc1down == nil
				p.janc1down = false
				p.hasagayanimalpal = false
			end
			if p.speed > 0
				if p.thedumbstarterobject and p.thedumbstarterobject.valid
					--local detector = P_SpawnMobj(FixedHypot(p.mo.x, p.thedumbstarterobjectx), FixedHypot(p.mo.y, p.thedumbstarterobjecty), FixedHypot(p.mo.z, p.thedumbstarterobject.z), MT_JADETECTOR)
					local detector = P_SpawnMobj(p.mo.x, p.mo.y, p.mo.z, MT_JADETECTOR)
					detector.state = p.mo.state
					detector.frame = p.mo.frame
					detector.colorized = p.mo.colorized
					detector.sprite = p.mo.sprite
					detector.source = p.mo
					detector.fuse = 2
					detector.color = p.mo.color
					detector.angle = p.frameangle
					detector.storeflags2 = p.mo.flags2
					--detector.flags2 = $ & ~ MF2_DONTDRAW
					detector.scale = p.mo.scale
					detector.radius = p.mo.radius
					detector.drawmeplease = true
					--p.lastspawnedone = detector
					if p.mo.skin == "annie"
						detector.skin = "jana"
					else
						detector.skin = "annie"
					end
					local detector2 = P_SpawnMobj(p.mo.x, p.mo.y, p.mo.z, MT_JADETECTOR)
					detector2.state = p.mo.state
					detector2.frame = p.mo.frame
					detector2.colorized = p.mo.colorized
					detector2.sprite = p.mo.sprite
					detector2.source = p.mo
					detector2.fuse = 1
					detector2.color = p.mo.color
					detector2.angle = p.frameangle
					detector2.storeflags2 = p.mo.flags2
					detector2.flags2 = $|MF2_DONTDRAW
					detector2.scale = p.mo.scale
					detector2.radius = p.mo.radius
					p.lastspawnedone = detector2
					if p.mo.skin == "annie"
						detector2.skin = "jana"
					else
						detector2.skin = "annie"
					end
				else
				local detector = P_SpawnMobj(p.mo.x, p.mo.y, p.mo.z, MT_JADETECTOR)
					detector.state = p.mo.state
					detector.frame = p.mo.frame
					detector.colorized = p.mo.colorized
					detector.sprite = p.mo.sprite
					detector.source = p.mo
					detector.fuse = 4
					detector.color = p.mo.color
					detector.angle = p.frameangle
					detector.storeflags2 = p.mo.flags2
					detector.flags2 = $|MF2_DONTDRAW
					detector.scale = p.mo.scale
					detector.radius = p.mo.radius
					p.lastspawnedone = detector
					if p.mo.skin == "annie"
						detector.skin = "jana"
					else
						detector.skin = "annie"
					end
				end
			end
			/*if p.novis1 and not p.novis2
					detector.state = p.mo.state
					detector.frame = p.mo.frame
					detector.colorized = p.mo.colorized
					detector.sprite = p.mo.sprite
					detector.source = p.mo
					detector.fuse = 2
					detector.color = p.mo.color
					detector.angle = p.mo.angle
					detector.storeflags2 = p.mo.flags2
					detector.flags2 = $|MF2_DONTDRAW
					detector.scale = p.mo.scale
					detector.radius = p.mo.radius
					if p.mo.skin == "annie"
						detector.skin = "jana"
					else
						detector.skin = "annie"
					end
			end*/
			if p.cmd.buttons & BT_CUSTOM1 and not p.janc1down
				S_StartSound(p.mo, sfx_3db06)
				--p.mo.momx = 0
				--p.mo.momy = 0
				--p.cmd.buttons = $ & ~ BT_DRIFT
				if p.mo.skin == "annie"
					p.mo.skin = "jana"
					p.kartspeed = skins["jana"].kartspeed
					p.kartweight = skins["jana"].kartweight
					p.kartstuff[k_driftcharge] = 0
				elseif p.mo.skin == "jana"
					p.mo.skin = "annie"
					p.kartspeed = skins["annie"].kartspeed
					p.kartweight = skins["annie"].kartweight
					p.kartstuff[k_driftcharge] = 0
				end
			end
			p.janc1down = p.cmd.buttons & BT_CUSTOM1
			--p.hasagayanimalpal = false
		end
	end
end)
addHook("ThinkFrame", function(aeaeae)
	for p in players.iterate
		if p.mo and p.mo.valid and p.mo.health and (p.mo.skin == "jana" or p.mo.skin == "annie") and leveltime <= 6*TICRATE + (3*TICRATE/4) and not (p.thedumbstarterobject and p.thedumbstarterobject.valid)
			p.janc1down = nil
						local detector = P_SpawnMobj(p.mo.x, p.mo.y, p.mo.z, MT_JADETECTORSTART)
						detector.state = p.mo.state
						detector.frame = p.mo.frame
						detector.colorized = p.mo.colorized
						detector.sprite = p.mo.sprite
						detector.source = p.mo
						--detector.fuse = 42069
						detector.color = p.mo.color
						detector.angle = p.mo.angle
						detector.storeflags2 = p.mo.flags2
						--detector.flags2 = $|MF2_DONTDRAW
						detector.scale = p.mo.scale
						detector.radius = p.mo.radius
						p.thedumbstarterobject = detector
						p.thedumbstarterobjectx = detector.x
						p.thedumbstarterobjecty = detector.y
						p.thedumbstarterobjectz = detector.z
						P_SpawnShadowMobj(detector)
						P_InstaThrust(detector, p.mo.angle-FixedAngle(180*FRACUNIT), FRACUNIT +FRACUNIT/2 + FRACUNIT/4)
						if p.mo.skin == "annie"
							detector.skin = "jana"
						else
							detector.skin = "annie"
						end		
		end
	end
end)
addHook("MobjThinker", function(mo)
	if mo and mo.source and mo.source.valid
		if mo.source.player.speed == 0 
			mo.fuse = $ + 1
		end
		if mo.fuse < 2
			mo.source.player.ihaveadrawablenow = true
		end
		if mo.fuse > 2 --and not mo.drawmeplease
			if not mo.drawmeplease
				mo.flags2 = $ | MF2_DONTDRAW
			end
			--mo.source.novis1 = true
		elseif not (mo.storeflags2 & MF2_DONTDRAW)
			mo.flags2 = $ & ~ MF2_DONTDRAW
			P_SpawnShadowMobj(mo)
			mo.source.player.hasagayanimalpal = true
			--mo.source.novis2 = true
		end
		if mo.drawmeplease
			--print("fucking hell")
			mo.flags2 = $ & ~ MF2_DONTDRAW
		end
			
		/*if mo.source.player.setfusedown and mo.source.player.setfusedown > 0
			mo.source.player.setfusedown = $ - 1
			mo.flags2 = $ & ~ MF2_DONTDRAW
		end*/
		/*if mo.fuckingdrawalreadyjesuschrist	
			mo.flags2 = $ & ~ MF2_DONTDRAW
		end*/
		if mo.source.skin == "jana"
			mo.skin = "annie"
		elseif mo.source.skin == "annie"
			mo.skin = "jana"
		else
			P_RemoveMobj(mo)
		end
	end
end, MT_JADETECTOR)
addHook("MobjThinker", function(mo)
	if mo and mo.source and mo.source.valid
		/*if mo.source.player.speed == 0 
			mo.fuse = $ + 1
		end*/
		--mo.source.player.hasagayanimalpal = true
		--if mo.fuse > 2
			--mo.flags2 = $ | MF2_DONTDRAW
		--else--if not (mo.storeflags2 & MF2_DONTDRAW)
			mo.flags2 = $ & ~ MF2_DONTDRAW
			--P_SpawnShadowMobj(mo)
		--end
		/*if mo.fuckingdrawalreadyjesuschrist	
			mo.flags2 = $ & ~ MF2_DONTDRAW
		end*/
		mo.scale = mo.source.scale
		mo.frame = mo.source.frame
		if mo.source.skin == "jana"
			mo.skin = "annie"
		elseif mo.source.skin == "annie"
			mo.skin = "jana"
		else
			P_RemoveMobj(mo)
		end
		if mo.source.player.hasagayanimalpal and not mo.drawmeplease
			mo.source.player.setfusedown = 3
			P_RemoveMobj(mo)
		end
	end
end, MT_JADETECTORSTART)