Path: blob/master/Sonic 2/Scripts/ARZ/CountdownBubble.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Countdown Bubble Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer12private alias object.value1 : object.drawPos.x13private alias object.value2 : object.drawPos.y14private alias object.value3 : object.drawScreenID // new to Origins.1516private alias 0 : COUNTDOWNBUBBLE_SETUP17private alias 1 : COUNTDOWNBUBBLE_FRAME118private alias 2 : COUNTDOWNBUBBLE_FRAME219private alias 3 : COUNTDOWNBUBBLE_FRAME320private alias 4 : COUNTDOWNBUBBLE_FRAME421private alias 5 : COUNTDOWNBUBBLE_FRAME522private alias 6 : COUNTDOWNBUBBLE_FRAME623private alias 7 : COUNTDOWNBUBBLE_FRAME724private alias 8 : COUNTDOWNBUBBLE_FRAME8252627// ========================28// Events29// ========================3031event ObjectUpdate32switch object.state33case COUNTDOWNBUBBLE_SETUP34object.ypos += object.yvel35object.timer++36if object.timer > 637object.timer = 038object.frame++39end if4041if object.frame < 542Sin(object.xpos, object.angle)43object.xpos <<= 944object.xpos += object.drawPos.x45object.angle += 446object.angle &= 0x1FF47else48temp0 = object.propertyValue49temp0 *= 350object.frame += temp051#platform: USE_STANDALONE52object.drawPos.x = object.ixpos53object.drawPos.x -= screen.xoffset54object.drawPos.y = object.iypos55object.drawPos.y -= screen.yoffset56#endplatform57object.state++58end if59break6061case COUNTDOWNBUBBLE_FRAME162object.timer++63if object.timer == 664object.timer = 065object.frame++66object.state++67end if68break6970case COUNTDOWNBUBBLE_FRAME271object.timer++72if object.timer == 673object.timer = 074object.frame++75object.state++76end if77break7879case COUNTDOWNBUBBLE_FRAME380object.timer++81if object.timer == 882object.timer = 083object.frame--84object.state++85end if86break8788case COUNTDOWNBUBBLE_FRAME489object.timer++90if object.timer == 891object.timer = 092object.frame++93object.state++94end if95break9697case COUNTDOWNBUBBLE_FRAME598object.timer++99if object.timer == 8100object.timer = 0101object.frame--102object.state++103end if104break105106case COUNTDOWNBUBBLE_FRAME6107object.timer++108if object.timer == 8109object.timer = 0110object.frame++111object.state++112end if113break114115case COUNTDOWNBUBBLE_FRAME7116object.timer++117if object.timer == 8118object.timer = 0119object.frame--120object.state++121end if122break123124case COUNTDOWNBUBBLE_FRAME8125object.timer++126if object.timer == 9127object.type = TypeName[Blank Object]128end if129break130131end switch132end event133134135event ObjectDraw136#platform: USE_ORIGINS137temp0 = screen.currentID138if temp0 == object.drawScreenID139if object.state == COUNTDOWNBUBBLE_FRAME1140if object.timer == 0141object.drawPos.x = object.ixpos142object.drawPos.x -= screen.xoffset143object.drawPos.y = object.iypos144object.drawPos.y -= screen.yoffset145end if146end if147if game.playMode == BOOT_PLAYMODE_MIRRORING148object.direction = FLIP_X149if object.state == COUNTDOWNBUBBLE_SETUP150DrawSpriteFX(object.propertyValue, FX_FLIP, object.xpos, object.ypos)151else152DrawSpriteScreenFX(object.frame, FX_FLIP, object.drawPos.x, object.drawPos.y)153end if154else155if object.state == COUNTDOWNBUBBLE_SETUP156DrawSprite(object.frame)157else158DrawSpriteScreenXY(object.frame, object.drawPos.x, object.drawPos.y)159end if160end if161end if162#endplatform163164#platform: USE_STANDALONE165if object.state == COUNTDOWNBUBBLE_SETUP166DrawSprite(object.frame)167else168DrawSpriteScreenXY(object.frame, object.drawPos.x, object.drawPos.y)169end if170#endplatform171end event172173174event ObjectStartup175// Likely an oversignt made when copying scripts from CPZ - for some reason the CPZ sheet is loaded despite this being ARZ176// The ARZ version of this sheet exists too, but it remains unused because of this177LoadSpriteSheet("CPZ/Objects3.gif")178179SpriteFrame(-2, -2, 4, 4, 157, 2)180SpriteFrame(-3, -3, 6, 6, 156, 9)181SpriteFrame(-4, -4, 8, 8, 155, 17)182SpriteFrame(-6, -6, 12, 12, 209, 36)183SpriteFrame(-8, -8, 16, 16, 207, 51)184SpriteFrame(-8, -12, 16, 24, 1, 22)185SpriteFrame(-8, -10, 16, 20, 1, 1)186SpriteFrame(0, 0, 1, 1, 1, 1)187SpriteFrame(-8, -12, 16, 24, 35, 22)188SpriteFrame(-8, -10, 16, 20, 18, 1)189SpriteFrame(0, 0, 1, 1, 1, 1)190SpriteFrame(-8, -12, 16, 24, 18, 22)191SpriteFrame(-8, -10, 16, 20, 35, 1)192SpriteFrame(0, 0, 1, 1, 1, 1)193SpriteFrame(-8, -12, 16, 24, 18, 22)194SpriteFrame(-8, -10, 16, 20, 52, 1)195SpriteFrame(0, 0, 1, 1, 1, 1)196SpriteFrame(-8, -12, 16, 24, 35, 22)197SpriteFrame(-8, -10, 16, 20, 69, 1)198SpriteFrame(0, 0, 1, 1, 1, 1)199SpriteFrame(-8, -12, 16, 24, 52, 22)200SpriteFrame(-8, -10, 16, 20, 86, 1)201SpriteFrame(0, 0, 1, 1, 1, 1)202end event203204205// ========================206// Editor Events207// ========================208209event RSDKDraw210DrawSprite(0)211end event212213214event RSDKLoad215LoadSpriteSheet("ARZ/Objects3.gif")216SpriteFrame(-2, -2, 4, 4, 157, 2)217218// Although used by this object, it's not to be set from the editor219SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")220end event221222223