Path: blob/master/Sonic 1/Scripts/Global/Invincibility.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 12// Script Description: Invincibility Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer1213private alias 0 : INVINCIBILITY_SPAWNER14private alias 1 : INVINCIBILITY_SPARKLES1516// Player Aliases17private alias object.value18 : player.sortedDrawOrder181920// ========================21// Events22// ========================2324event ObjectUpdate25if object.state == INVINCIBILITY_SPAWNER26// Bug Details:27// - In the original 2013 release of S1 this was meant to be an invalid Draw Order,28// separate from the -1 of DRAWORDER_PLAYER29// - In Origins however, they turned Draw Order 7 into a real thing, retroactively turning this into an actually valid thing...30// It's nothing too major at all, but just something interesting of note31object.drawOrder = 73233object.timer++34if object.timer > 335object.timer = 036CreateTempObject(TypeName[Invincibility], 0, object[-playerCount].xpos, object[-playerCount].ypos)37object[tempObjectPos].state = INVINCIBILITY_SPARKLES38object[tempObjectPos].inkEffect = INK_ALPHA39object[tempObjectPos].alpha = 25640object[tempObjectPos].drawOrder = player[-playerCount].sortedDrawOrder41end if4243object.frame = ringFrame44object.frame &= 345else46object.frame = ringFrame47object.frame &= 348object.alpha -= 849if object.alpha == 12050object.type = TypeName[Blank Object]51end if52end if53end event545556event ObjectDraw57switch object.state58case INVINCIBILITY_SPAWNER59if object.timer == 060DrawSpriteXY(object.frame, object[-playerCount].xpos, object[-playerCount].ypos)61end if62break6364case INVINCIBILITY_SPARKLES65object.alpha += 866DrawSpriteFX(object.frame, FX_INK, object.xpos, object.ypos)67object.alpha -= 868break6970end switch71end event727374event ObjectStartup75LoadSpriteSheet("Global/Items.gif")7677SpriteFrame(-24, -24, 48, 48, 207, 1)78SpriteFrame(-24, -24, 48, 48, 207, 50)79SpriteFrame(-24, -24, 48, 48, 207, 99)80SpriteFrame(-24, -24, 48, 48, 207, 148)81end event828384// ========================85// Editor Events86// ========================8788event RSDKDraw89DrawSprite(0)90end event919293event RSDKLoad94LoadSpriteSheet("Global/Items.gif")95SpriteFrame(-24, -24, 48, 48, 207, 1)9697SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")98end event99100101