Path: blob/main/Scripts/R4/CountdownBubble.txt
1319 views
//-------------Sonic CD Countdown Bubble Script---------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.Timer6#alias Object.Value1 : Object.Angle7#alias Object.Value2 : Object.XDrawPos8#alias Object.Value3 : Object.YVelocity9#alias Object.Value4 : Object.YDrawPos1011// States12#alias 0 : COUNTDOWNBUBBLE_SETUP13#alias 1 : COUNTDOWNBUBBLE_FRAME_114#alias 2 : COUNTDOWNBUBBLE_FRAME_215#alias 3 : COUNTDOWNBUBBLE_FRAME_316#alias 4 : COUNTDOWNBUBBLE_FRAME_417#alias 5 : COUNTDOWNBUBBLE_FRAME_518#alias 6 : COUNTDOWNBUBBLE_FRAME_619#alias 7 : COUNTDOWNBUBBLE_FRAME_720#alias 8 : COUNTDOWNBUBBLE_FRAME_8212223sub ObjectMain24switch Object.State25case COUNTDOWNBUBBLE_SETUP26Object.YPos += Object.YVelocity2728Object.Timer++29if Object.Timer > 630Object.Timer = 031Object.Frame++32end if3334if Object.Frame < 435Sin(Object.XPos, Object.Angle)36Object.XPos <<= 937Object.XPos += Object.XDrawPos3839Object.Angle += 440Object.Angle &= 51141else42TempValue0 = Object.PropertyValue43TempValue0 *= 344Object.Frame += TempValue04546Object.XDrawPos = Object.iXPos47Object.XDrawPos -= Screen.XOffset4849Object.YDrawPos = Object.iYPos50Object.YDrawPos -= Screen.YOffset5152Object.State++53end if54break5556case COUNTDOWNBUBBLE_FRAME_157Object.Timer++58if Object.Timer == 659Object.Timer = 060Object.Frame++61Object.State++62end if63break6465case COUNTDOWNBUBBLE_FRAME_266Object.Timer++67if Object.Timer == 668Object.Timer = 069Object.Frame++70Object.State++71end if72break7374case COUNTDOWNBUBBLE_FRAME_375Object.Timer++76if Object.Timer == 877Object.Timer = 078Object.Frame--79Object.State++80end if81break8283case COUNTDOWNBUBBLE_FRAME_484Object.Timer++85if Object.Timer == 886Object.Timer = 087Object.Frame++88Object.State++89end if90break9192case COUNTDOWNBUBBLE_FRAME_593Object.Timer++94if Object.Timer == 895Object.Timer = 096Object.Frame--97Object.State++98end if99break100101case COUNTDOWNBUBBLE_FRAME_6102Object.Timer++103if Object.Timer == 8104Object.Timer = 0105Object.Frame++106Object.State++107end if108break109110case COUNTDOWNBUBBLE_FRAME_7111Object.Timer++112if Object.Timer == 8113Object.Timer = 0114Object.Frame--115Object.State++116end if117break118119case COUNTDOWNBUBBLE_FRAME_8120Object.Timer++121if Object.Timer == 9122Object.Type = TypeName[Blank Object]123end if124break125126end switch127end sub128129130sub ObjectDraw131#platform: Use_Origins132if game.playMode == BOOT_PLAYMODE_MIRRORING133Object.Direction = FACING_LEFT134if Object.State == COUNTDOWNBUBBLE_SETUP135DrawSpriteFX(Object.Frame, FX_FLIP, Object.XPos, Object.YPos)136else137DrawSpriteScreenFX(Object.Frame, FX_FLIP, Object.XDrawPos, Object.YDrawPos)138end if139else140if Object.State == COUNTDOWNBUBBLE_SETUP141DrawSprite(Object.Frame)142else143DrawSpriteScreenXY(Object.Frame, Object.XDrawPos, Object.YDrawPos)144end if145end if146#endplatform147148#platform: Use_Standalone149if Object.State == COUNTDOWNBUBBLE_SETUP150DrawSprite(Object.Frame)151else152DrawSpriteScreenXY(Object.Frame, Object.XDrawPos, Object.YDrawPos)153end if154#endplatform155end sub156157158sub ObjectStartup159LoadSpriteSheet("R4/Objects2.gif")160161// Small Bubbles162SpriteFrame(-4, -4, 8, 8, 35, 135) // #0 - Small Bubble 1163SpriteFrame(-4, -4, 8, 8, 44, 135) // #1 - Small Bubble 2164SpriteFrame(-4, -4, 8, 8, 53, 135) // #2 - Small Bubble 3165166// Countdown Bubble167SpriteFrame(-8, -8, 16, 16, 101, 210) // #3 - Bubble make number168169SpriteFrame(-8, -12, 16, 24, 101, 185) // #4 - Bubble make number 5170SpriteFrame(-8, -12, 16, 24, 67, 135) // #5 - Bubble 5171SpriteFrame(-8, -12, 0, 0, 67, 135) // #6 - Bubble 5 blink172173SpriteFrame(-8, -12, 16, 24, 84, 210) // #7 - Bubble make number 4174SpriteFrame(-8, -12, 16, 24, 84, 135) // #8 - Bubble 4175SpriteFrame(-8, -12, 0, 0, 67, 135) // #9 - Bubble 4 blink176177SpriteFrame(-8, -12, 16, 24, 67, 210) // #10 - Bubble make number 3178SpriteFrame(-8, -12, 16, 24, 67, 160) // #11 - Bubble 3179SpriteFrame(-8, -12, 0, 0, 67, 135) // #12 - Bubble 3 blink180181SpriteFrame(-8, -12, 16, 24, 84, 210) // #13 - Bubble make number 2182SpriteFrame(-8, -12, 16, 24, 84, 160) // #14 - Bubble 2183SpriteFrame(-8, -12, 0, 0, 67, 135) // #15 - Bubble 2 blink184185SpriteFrame(-8, -12, 16, 24, 84, 210) // #16 - Bubble make number 1186SpriteFrame(-8, -12, 16, 24, 67, 185) // #17 - Bubble 1187SpriteFrame(-8, -12, 0, 0, 67, 135) // #18 - Bubble 1 blink188189SpriteFrame(-8, -12, 16, 24, 101, 160) // #19 - Bubble make number 0190SpriteFrame(-8, -12, 16, 24, 84, 185) // #20 - Bubble 0191SpriteFrame(-8, -12, 0, 0, 67, 135) // #21 - Bubble 0 blink192end sub193194195// ========================196// Editor Subs197// ========================198199sub RSDKDraw200DrawSprite(0)201end sub202203204sub RSDKLoad205LoadSpriteSheet("Global/Display.gif")206SpriteFrame(-16, -16, 32, 32, 1, 143) // #0 - "Script" Icon207208SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")209end sub210211212