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

//-------Aliases-------//
private alias 27 : TYPE_FIRESHIELD


// Static Values

// Tables
public table FireShield_table24
	0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 6, 7, 4, 5, 2, 3
	0, 1
end table

public table FireShield_table25
	10, 11, 12, 10, 12, 13, 10, 11, 12, 10, 12, 13, 0
end table


event ObjectMain
	object.drawOrder = -1
	if object[-playerCount].state == PlayerObject_Death
		object.type = TypeName[Blank Object]
	end if
	if object[-playerCount].state == PlayerObject_Drown
		object.type = TypeName[Blank Object]
	end if
	switch object.state
	case 0
		object.animationTimer = 0
		object.value0 = 0
		object.value18 = 0
		object.direction = FLIP_NONE
		GetTableValue(object.frame, object.value0, FireShield_table24)
		object.state++
	case 1
		object.animationTimer++
		if object.animationTimer >= 3
			object.animationTimer = 1
			object.value0++
			object.value18 ^= 1
			if object.value0 >= 10
				object.direction = FLIP_Y
				if object.value0 >= 18
					object.value0 = 0
					object.direction = FLIP_NONE
				end if
			end if
			GetTableValue(object.frame, object.value0, FireShield_table24)
		end if
		break
	case 2
		object.animationTimer = 0
		object.value0 = 0
		object.value18 = 0
		GetTableValue(object.frame, object.value0, FireShield_table25)
		object.state++
	case 3
		object.animationTimer++
		if object.animationTimer >= 3
			object.animationTimer = 1
			object.value0++
			if object.value0 >= 12
				object.state = 0
			end if
			GetTableValue(object.frame, object.value0, FireShield_table25)
		end if
		break
	end switch
end event


event ObjectDraw
	if PlayerObject_SuperState != 1
		DrawSpriteFX(object.frame, FX_FLIP, object[-playerCount].xpos, object[-playerCount].ypos)
	end if
end event


event ObjectStartup
	LoadSpriteSheet("Global/Items3.gif")
	SpriteFrame(-16, 9, 37, 15, 131, 52)
	SpriteFrame(-20, -24, 39, 15, 131, 68)
	SpriteFrame(-20, 3, 40, 21, 148, 101)
	SpriteFrame(-23, -24, 47, 23, 189, 101)
	SpriteFrame(-24, -9, 48, 29, 148, 125)
	SpriteFrame(-24, -19, 48, 27, 197, 125)
	SpriteFrame(-24, -15, 48, 28, 1, 132)
	SpriteFrame(-24, -21, 48, 34, 50, 140)
	SpriteFrame(-23, -17, 46, 32, 99, 140)
	SpriteFrame(-24, -22, 48, 42, 1, 161)
	SpriteFrame(-4, -21, 20, 43, 64, 175)
	SpriteFrame(-24, -23, 48, 46, 85, 175)
	SpriteFrame(-32, -19, 56, 38, 135, 175)
	SpriteFrame(-40, -24, 63, 47, 192, 166)
	SpriteFrame(0, 0, 1, 1, 1, 1)
end event

event RSDKDraw
	DrawSprite(0)
end event

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