// ----------------------------------
// RSDK Project: Sonic 1/Sonic 2
// Script Description: Eggman Claw Object
// Script Author: Christan Whitehead/Simon Thomley
// Unpacked by Rubberduckycooly's script unpacker
// ----------------------------------

//-------Aliases-------//
private alias 60 : TYPE_EGGMANCLAW


// Static Values

// Tables

event ObjectMain
	if object.state == 0
		arrayPos0 = object.value1
		object.xpos = object[arrayPos0].xpos
		object.ypos = object[arrayPos0].ypos
		if object.value2 == 1
			if object[arrayPos0].value4 < 48
				if object[arrayPos0].value10 == 0
					foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)
						BoxCollisionTest(C_TOUCH, object.entityPos, -16, 40, 16, 48, currentPlayer, HITBOX_AUTO, HITBOX_AUTO, HITBOX_AUTO, HITBOX_AUTO)
						if checkResult == 1
							CallFunction(PlayerObject_Hit)
						end if
					next
				else
					foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)
						BoxCollisionTest(C_TOUCH, object.entityPos, -28, 32, 28, 40, currentPlayer, HITBOX_AUTO, HITBOX_AUTO, HITBOX_AUTO, HITBOX_AUTO)
						if checkResult == 1
							CallFunction(PlayerObject_Hit)
						end if
					next
				end if
			end if
			object.animationTimer++
			object.animationTimer %= 6
		end if
	else
		object.xpos += object.xvel
		object.ypos += object.yvel
		object.yvel += 0x3800
		if object.outOfBounds == 1
			object.type = TypeName[Blank Object]
		end if
	end if
end event


event ObjectDraw
	if object.state == 0
		arrayPos0 = object.value1
		object.direction = object[arrayPos0].direction
		object.frame = object[arrayPos0].value10
		object.frame <<= 1
		object.frame += object.propertyValue
		DrawSpriteFX(object.frame, FX_FLIP, object[arrayPos0].xpos, object[arrayPos0].ypos)
		if object.value2 == 1
			object.value3 = object[arrayPos0].value10
			object.value3 *= 3
			temp0 = object.animationTimer
			temp0 >>= 1
			object.value3 += temp0
			object.value3 += 4
			DrawSpriteFX(object.value3, FX_FLIP, object[arrayPos0].xpos, object[arrayPos0].ypos)
		end if
	else
		DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)
	end if
end event


event ObjectStartup
	CheckCurrentStageFolder("Zone04")
	if checkResult == 1
		LoadSpriteSheet("CNZ/Objects.gif")
		SpriteFrame(-28, 24, 16, 24, 77, 231)
		SpriteFrame(8, 19, 24, 28, 150, 227)
		SpriteFrame(-37, 19, 16, 20, 94, 235)
		SpriteFrame(8, 17, 38, 22, 111, 233)
		SpriteFrame(-16, 40, 32, 7, 142, 205)
		SpriteFrame(-16, 40, 32, 7, 142, 213)
		SpriteFrame(-16, 41, 32, 5, 142, 221)
		SpriteFrame(-28, 33, 64, 6, 77, 209)
		SpriteFrame(-28, 32, 64, 8, 77, 216)
		SpriteFrame(-28, 34, 64, 5, 77, 225)
	else
		LoadSpriteSheet("MBZ/Objects.gif")
		SpriteFrame(-28, 24, 16, 24, 134, 154)
		SpriteFrame(8, 19, 24, 28, 207, 154)
		SpriteFrame(-37, 19, 16, 20, 151, 154)
		SpriteFrame(8, 17, 38, 22, 168, 154)
		SpriteFrame(-16, 40, 32, 7, 167, 130)
		SpriteFrame(-16, 40, 32, 7, 167, 138)
		SpriteFrame(-16, 41, 32, 5, 167, 146)
		SpriteFrame(-28, 33, 64, 6, 167, 108)
		SpriteFrame(-28, 32, 64, 8, 167, 115)
		SpriteFrame(-28, 34, 64, 5, 167, 124)
	end if
end event

event RSDKDraw
	DrawSprite(0)
end event

event RSDKLoad
	LoadSpriteSheet("Global/Display.gif")
	SpriteFrame(-16, -16, 32, 32, 1, 143)
end event
