--Sawblade lua
--by Callmore

freeslot("MT_MMSAWBLADE", "S_MMSAWBLADE", "SPR_MMSB", "sfx_sawsus")--, "S_MMSAWBLADE2")

states[S_MMSAWBLADE] = {SPR_MMSB, A|FF_PAPERSPRITE|FF_ANIMATE, -1, nil, 1, 2, S_MMSAWBLADE}

local function mmSawbladeSpawn(mo)
	mo.scale = $*3
end

addHook("MobjSpawn", mmSawbladeSpawn, MT_MMSAWBLADE)

local function mmSawbladeThink(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 sawblade")
		mo.currentmovement = not $
	end
	
	if (leveltime%35) == 0 then--not S_SoundPlaying(mo, sfx_sawsus) then
		S_StartSound(mo, sfx_sawsus)
	end
end

addHook("MobjThinker", mmSawbladeThink, MT_MMSAWBLADE)