Path: blob/main/Scripts/R3/RecoveryBarrier.txt
1319 views
//--------------Sonic CD Recovery Barrier Script--------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.Timer6#alias Object[-4].Value2 : SpinGate.CurrentLight78// States9#alias 0 : RBARRIER_INACTIVE10#alias 1 : RBARRIER_TURNING11#alias 2 : RBARRIER_ACTIVE12#alias 3 : RBARRIER_TURNING_BACK131415sub ObjectMain16switch Object.State17case RBARRIER_INACTIVE18Object.Frame = 019if SpinGate.CurrentLight == 320Object.State = RBARRIER_TURNING21end if22break2324case RBARRIER_TURNING25Object.Frame = 126if Object.Timer < 3027Object.Timer++28else29Object.State = RBARRIER_ACTIVE30end if31break3233case RBARRIER_ACTIVE34Object.Frame = 235if SpinGate.CurrentLight == 036Object.State = RBARRIER_TURNING_BACK37end if38break3940case RBARRIER_TURNING_BACK41Object.Frame = 3 // Pretty sure this should be 1, or we are missing a frame, either goes42if Object.Timer < 3043Object.Timer++44else45Object.State = RBARRIER_INACTIVE46end if47break4849end switch50end sub515253sub ObjectPlayerInteraction54// Bouncy Player55if Object.State == RBARRIER_ACTIVE56PlayerObjectCollision(C_TOUCH, -16, -8, 16, 8)57if CheckResult == true58Player.YVelocity = -0x4000059end if60end if61end sub626364sub ObjectDraw65DrawSprite(Object.Frame)66end sub676869sub ObjectStartup70LoadSpriteSheet("R3/Objects2.gif")7172SpriteFrame(-16, -8, 32, 16, 51, 33) // #0 - Recoverty Barrier Inactive73SpriteFrame(-16, -8, 32, 16, 84, 33) // #1 - Recoverty Barrier Turning74SpriteFrame(-16, -8, 32, 16, 51, 50) // #2 - Recoverty Barrier Active75end sub767778// ========================79// Editor Subs80// ========================8182sub RSDKDraw83DrawSprite(0)84end sub858687sub RSDKLoad88LoadSpriteSheet("R3/Objects2.gif")89SpriteFrame(-16, -8, 32, 16, 51, 50) // #2 - Recoverty Barrier Active9091SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")92end sub939495