local ambienceTimer = 0

addHook("PlayerThink", function(player)
	if not mapheaderinfo[gamemap].creepycryptlua then return end
	if (player.bot > 0) then return end
	--print(ambienceTimer)
	--print(player.realtime)
	if ambienceTimer > player.realtime + 10 * TICRATE
		ambienceTimer = player.realtime + P_RandomRange(4 * TICRATE, 10 * TICRATE)
	end
	if player.realtime >= ambienceTimer
		if ambienceTimer == 0
			ambienceTimer = player.realtime + P_RandomRange(4 * TICRATE, 10 * TICRATE)
		else
			--print("playing ambience...")
			ambienceTimer = player.realtime + P_RandomRange(4 * TICRATE, 10 * TICRATE)
			local cavePlay = sfx_nil
			local caveAmbience = P_RandomRange(1, 7)
			if caveAmbience == 1
				cavePlay = sfx_raycv1
			elseif caveAmbience == 2
				cavePlay = sfx_raycv2
			elseif caveAmbience == 3
				cavePlay = sfx_raycv3
			elseif caveAmbience == 4
				cavePlay = sfx_raycv4
			elseif caveAmbience == 5
				cavePlay = sfx_raycv5
			elseif caveAmbience == 6
				cavePlay = sfx_raycv6
			elseif caveAmbience == 7
				cavePlay = sfx_raycv7
			end
			S_StartSound(nil, cavePlay, player)
		end
	end
end)

addHook("MobjThinker", function(mobj)
	if mobj.state == S_JANO_STND1
		mobj.momz = $ - FRACUNIT
	else
		mobj.momz = 0
	end
	
	if mobj.target ~= nil
	and mobj.janoShootTimer <= 0
		if mobj.janoShootCounter > 0
			if mobj.momz > -1
			and mobj.momz < 1
			and mobj.state == S_JANO_STND1
				mobj.state = S_JANO_STND2
				if mobj.janoShootCounter > 1
					mobj.janoShootTimer = TICRATE / 7 * 2
				else
					mobj.janoShootTimer = P_RandomRange(TICRATE * 2, TICRATE * 4)
				end
				mobj.janoShootCounter = $ - 1
			end
		else
			mobj.janoShootTimer = TICRATE
			mobj.janoShootCounter = 3
		end
	end
	
	if mobj.janoShootTimer > 0
		mobj.janoShootTimer = $ - 1
	end
	
	if mobj.flags2 & MF2_FRET == MF2_FRET
		if mobj.state == S_JANO_STND3
			mobj.janoShootTimer = 35
			mobj.janoShootCounter = 0
		else
			mobj.flags2 = $ - MF2_FRET
		end
	end
end, MT_JANO)

function A_JanoJump(actor, var1, var2)
	if actor.target == nil
		P_LookForPlayers(actor)
	end
	if actor.z <= actor.floorz
		S_StartSound(actor, actor.info.activesound)
		P_SetObjectMomZ(actor, var1 * FRACUNIT)
	end
end

addHook("MobjSpawn", function(mobj)
	mobj.janoShootCounter = 0
	mobj.janoShootTimer = 0
	mobj.z = $ + FRACUNIT * P_RandomRange(0, min(256, (mobj.subsector.sector.ceilingheight - mobj.subsector.sector.floorheight) / FRACUNIT))
end, MT_JANO)

addHook("MobjSpawn", function(mobj)
	mobj.renderflags = $ + RF_NOCOLORMAPS
end, MT_JANO_FIRE)