Path: blob/main/Scripts/R1/BoostSpinner.txt
1319 views
//---------------Sonic CD Boost Spinner Script----------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.XOriginPos // Set by Ramp3D6#alias Object.Value1 : Object.Timer7#alias Object.Value2 : Object.SpinTimer89// States10#alias 0 : BOOSTSPINNER_IDLE11#alias 1 : BOOSTSPINNER_SPIN121314sub ObjectPlayerInteraction15if Object.State == BOOSTSPINNER_IDLE16if Object.Frame == 317PlayerObjectCollision(C_TOUCH, 0, -24, 128, 8)18if CheckResult == true19Object.State = BOOSTSPINNER_SPIN20Object.SpinTimer = 42122#platform: Use_Haptics23HapticEffect(30, 0, 0, 0)24#endplatform25end if26end if27end if28end sub293031sub ObjectDraw32TempValue0 = Object.XOriginPos33TempValue0 -= Object.XPos34TempValue0 >>= 203536Object.Frame = TempValue037if Object.Frame > 338Object.Frame = 339end if4041if Object.State == BOOSTSPINNER_SPIN42DrawSpriteXY(Object.SpinTimer, Object.XOriginPos, Object.YPos)43Object.Timer++44if Object.Timer == 345Object.Timer = 04647Object.SpinTimer++48if Object.SpinTimer == 1649Object.State = BOOSTSPINNER_IDLE50end if51end if52else53DrawSpriteXY(Object.Frame, Object.XOriginPos, Object.YPos)54end if55end sub565758sub ObjectStartup59LoadSpriteSheet("R1/Objects2.gif")6061SpriteFrame(-24, -24, 48, 48, 1, 82) // #0 - Boost spinner front62SpriteFrame(-34, -24, 56, 48, 50, 82) // #1 - Boost spinner angle 163SpriteFrame(-38, -24, 57, 48, 107, 82) // #2 - Boost spinner angle 264SpriteFrame(-40, -24, 56, 48, 1, 131) // #3 - Boost spinner angle 36566// Spinning67SpriteFrame(-40, -24, 56, 48, 58, 131) // #4 - Boost spinner rotating 068SpriteFrame(-40, -24, 64, 48, 58, 180) // #5 - Boost spinner rotating 169SpriteFrame(-40, -24, 56, 48, 1, 180) // #6 - Boost spinner rotating 270SpriteFrame(-40, -24, 64, 48, 123, 180) // #7 - Boost spinner rotating 371SpriteFrame(-40, -24, 56, 48, 58, 131) // #8 - Boost spinner rotating 472SpriteFrame(-40, -24, 64, 48, 58, 180) // #9 - Boost spinner rotating 573SpriteFrame(-40, -24, 56, 48, 1, 180) // #10 - Boost spinner rotating 674SpriteFrame(-40, -24, 64, 48, 123, 180) // #11 - Boost spinner rotating 775SpriteFrame(-40, -24, 56, 48, 58, 131) // #12 - Boost spinner rotating 876SpriteFrame(-40, -24, 64, 48, 58, 180) // #13 - Boost spinner rotating 977SpriteFrame(-40, -24, 56, 48, 1, 180) // #14 - Boost spinner rotating 1078SpriteFrame(-40, -24, 64, 48, 123, 180) // #15 - Boost spinner rotating 117980// Used to be below LoadSpriteSheet, moved here for consistency81ArrayPos0 = 3282while ArrayPos0 < 105683if Object[ArrayPos0].Type == TypeName[Boost Spinner]84Object[ArrayPos0].DrawOrder = 485end if8687ArrayPos0++88loop89end sub909192// ========================93// Editor Subs94// ========================9596sub RSDKDraw97DrawSprite(0)98end sub99100101sub RSDKLoad102LoadSpriteSheet("R1/Objects2.gif")103SpriteFrame(-24, -24, 48, 48, 1, 82) // #0 - Boost spinner front104105SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")106end sub107108109