Path: blob/main/Scripts/R6/BouncePlatform.txt
1319 views
//---------------Sonic CD Bounce Platform Script--------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value1 : Object.YOriginPos6#alias Object.Value2 : Object.YVelocity7#alias Object.Value3 : Object.FloorYPos8#alias Object.Value4 : Object.FallSpeed910// R6 Setup alias11#alias Object[19].Scale : R6Setup.BounceFloorFlag1213// Collision Sides14#alias 0 : CSIDE_FLOOR1516// Stage SFX17#alias 3 : SFX_S_IMPACT1181920sub ObjectMain21Object.YOriginPos = Object.YPos2223Object.YVelocity += Object.FallSpeed24Object.YPos += Object.YVelocity2526ObjectTileCollision(CSIDE_FLOOR, 0, 16, 0)27if CheckResult == true28if Object.FallSpeed == 0x100029PlayStageSfx(SFX_S_IMPACT1, false)30end if31if R6Setup.BounceFloorFlag == true32Object.YVelocity = -0x6000033Object.FallSpeed = 0x100034else35Object.YVelocity = -0x2000036Object.FallSpeed = 0x148837end if38end if3940Object.FloorYPos = Object.YPos41Object.FloorYPos -= Object.YOriginPos42end sub434445sub ObjectPlayerInteraction46TempValue0 = Object.YPos47Object.YPos = Object.YOriginPos4849TempValue1 = Object.XPos50TempValue1 -= Player.XPos51if TempValue1 < 052FlipSign(TempValue1)53end if54if TempValue1 > 0x28000055PlayerObjectCollision(C_BOX, -32, -16, 32, 16)56end if5758PlayerObjectCollision(C_PLATFORM, -32, -18, 32, 16)59if CheckResult == true60Player.YPos += Object.FloorYPos61Player.YPos += 0x2000062end if6364Object.YPos = TempValue065end sub666768sub ObjectDraw69DrawSprite(0)70end sub717273sub ObjectStartup74LoadSpriteSheet("R6/Objects.gif")7576SpriteFrame(-32, -16, 64, 32, 132, 43) // #0 - Bounce Platform7778ArrayPos0 = 3279while ArrayPos0 < 105680if Object[ArrayPos0].Type == TypeName[Bounce Platform]81Object[ArrayPos0].FallSpeed = 0x100082end if83ArrayPos0++84loop85end sub868788// ========================89// Editor Subs90// ========================9192sub RSDKDraw93DrawSprite(0)94if Editor.ShowGizmos == true95Editor.DrawingOverlay = true96TempValue1 = Object.XPos97TempValue1 -= 0x10000098TempValue0 = Object.YPos99TempValue0 -= 0x200000100DrawArrow(TempValue1, Object.YPos, TempValue1, TempValue0, 255, 255, 0)101TempValue1 = Object.XPos102TempValue1 += 0x100000103TempValue0 = Object.YPos104TempValue0 -= 0x600000105DrawArrow(TempValue1, Object.YPos, TempValue1, TempValue0, 255, 255, 0)106Editor.DrawingOverlay = false107end if108end sub109110111sub RSDKLoad112LoadSpriteSheet("R6/Objects.gif")113114SpriteFrame(-32, -16, 64, 32, 132, 43) // #0 - Bounce Platform115116SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")117end sub118119120