if (patroljerry_initialized) then return end -- Check if the script has already been run

--Jerry lua (Modified for Patrol Bugs)
--by Callmore (Mucked with by Ivo)

freeslot("MT_GIGAJERRY", "MT_BETTERJERRY")--, "S_MMJerry2")

local function mmJerrySpawn(mo)
	mo.scale = $*2
end

local function mmJerrySpawnB(mo)
	mo.scale = $*4
end

addHook("MobjSpawn", mmJerrySpawnB, MT_GIGAJERRY)
addHook("MobjSpawn", mmJerrySpawn, MT_BETTERJERRY)

local function mmJerryThink(mo)
	local xdir = sin(mo.angle - ANGLE_90)
	local ydir = cos(mo.angle + ANGLE_90)
	local didMove
	if mo.currentmovement then
		didMove = P_TryMove(mo, mo.x + (xdir * mo.info.speed), mo.y + (ydir * mo.info.speed))
	else
		didMove = P_TryMove(mo, mo.x - (xdir * mo.info.speed), mo.y - (ydir * mo.info.speed))
	end
	if not didMove then
		--print("Flipping Jerry")
		--mo.currentmovement = not $
		mo.angle = $+ANGLE_180
	end

end

addHook("MobjThinker", mmJerryThink, MT_GIGAJERRY)
addHook("MobjThinker", mmJerryThink, MT_BETTERJERRY)

rawset(_G, "patroljerry", true) -- The script ran, don't run it again