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

//-------Aliases-------//
private alias 81 : TYPE_EGGMANDISPENSER


// Static Values

// Tables

event ObjectMain
	switch object.state
	case 0
		object.ypos += 0x4000
		object.value0++
		if object.value0 >= 92
			object.value0 = 0
			object.drawOrder = 4
			object.state = 1
		end if
		break
	case 1
		object.value0++
		switch object.value0
		case 10
			object[+2].type = TypeName[Eggman Platform]
			break
		case 138
			object[+3].type = TypeName[Eggman Platform]
			break
		case 266
			object[+4].type = TypeName[Eggman Platform]
			object.state = 2
			break
		end switch
		break
	case 14
		object.value0++
		if object.value0 >= 180
			object.value0 = 0
			object.type = TypeName[Blank Object]
		end if
		break
	end switch
	if object.value8 == 1
		temp0 = oscillation
		temp0 &= 7
		if temp0 == 0
			Rand(temp0, 96)
			temp0 -= 48
			temp0 <<= 16
			temp0 += object.xpos
			Rand(temp1, 48)
			temp1 -= 24
			temp1 <<= 16
			temp1 += object.ypos
			CreateTempObject(TypeName[Explosion], 0, temp0, temp1)
			object[tempObjectPos].drawOrder = 5
			PlaySfx(SfxName[Explosion], 0)
		end if
	end if
end event


event ObjectDraw
	DrawSprite(object.frame)
end event


event ObjectStartup
	CheckCurrentStageFolder("Zone11")
	if checkResult == 1
		LoadSpriteSheet("SCZ/Objects.gif")
		SpriteFrame(-32, -8, 64, 16, 311, 82)
	else
		LoadSpriteSheet("MBZ/Objects.gif")
		SpriteFrame(-32, -8, 64, 16, 513, 163)
	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
