Path: blob/main/Scripts/Global/WarpStar.txt
1319 views
//-----------------Sonic CD Warp Star 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.RandFadeTimer7#alias Object.Value2 : Object.YVelocity89// States10#alias 0 : WARPSTAR_SPAWN11#alias 1 : WARPSTAR_FADE_OUT12#alias 2 : WARPSTAR_CUTSCENE1314// Ink Effects15#alias 2 : INK_ALPHA161718sub ObjectMain19switch Object.State20case WARPSTAR_SPAWN21Warp.Count++22if Warp.Count > 223Warp.Count = 024end if2526Object.Timer--27if Object.Timer < 12829if Warp.Timer > 030Warp.Frame = Object.Frame31Object.State = WARPSTAR_FADE_OUT32Object.InkEffect = INK_ALPHA33Object.Alpha = 25534CreateTempObject(TypeName[Warp Star], 0, Player.XPos, Player.YPos)35if Player.Speed < 036Object[TempObjectPos].Timer = Player.Speed37FlipSign(Object[TempObjectPos].Timer)38else39Object[TempObjectPos].Timer = Player.Speed40end if41Object[TempObjectPos].Timer >>= 1942Object[TempObjectPos].Timer += 743Object[TempObjectPos].DrawOrder = 444Object[TempObjectPos].Frame = Object.Frame45else46Object.Type = TypeName[Blank Object]47end if4849else5051if Warp.Timer == 052Object.Type = TypeName[Blank Object]53end if5455end if56break5758case WARPSTAR_FADE_OUT59Object.Timer++60Object.Alpha -= 861if Object.Timer == 1662Object.Type = TypeName[Blank Object]63end if64break6566case WARPSTAR_CUTSCENE67Object.YVelocity += 0x300068Object.YPos += Object.YVelocity69Object.Timer++70if Object.Timer == Object.RandFadeTimer71Object.Type = TypeName[Blank Object]72end if73break7475end switch76end sub777879sub ObjectDraw80switch Object.State81case WARPSTAR_SPAWN82if Warp.Timer > 083DrawSprite(Object.Frame)84end if85Object.Frame++86Object.Frame &= 387break8889case WARPSTAR_FADE_OUT90if Warp.Count != 291if Warp.Timer > 092DrawSpriteFX(Warp.Frame, FX_INK, Object.XPos, Object.YPos)93end if94end if95break9697case WARPSTAR_CUTSCENE98TempValue0 = Object.Frame99TempValue0 >>= 1100DrawSprite(TempValue0)101102Object.Frame++103Object.Frame &= 7104break105end switch106end sub107108109sub ObjectStartup110LoadSpriteSheet("Global/Items3.gif")111112SpriteFrame(-16, -16, 32, 32, 50, 133) // #0 - Warp Star Frame 0113SpriteFrame(-16, -16, 32, 32, 50, 166) // #1 - Warp Star Frame 1114SpriteFrame(-24, -24, 48, 48, 1, 197) // #2 - Warp Star Frame 2115SpriteFrame(-16, -16, 32, 32, 50, 199) // #3 - Warp Star Frame 3116SpriteFrame(-12, -12, 24, 24, 148, 152) // #4 - Warp Star Frame 4117end sub118119120// ========================121// Editor Subs122// ========================123124sub RSDKDraw125DrawSprite(0)126end sub127128129sub RSDKLoad130LoadSpriteSheet("Global/Items3.gif")131SpriteFrame(-16, -16, 32, 32, 50, 133) // #0 - Warp Star Frame 0132133SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")134end sub135136137