Path: blob/master/Sonic 2/Scripts/WFZ/GrabBar.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Grab Bar Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.grabDelay1213// Player Aliases14private alias object.state : player.state15private alias object.ypos : player.ypos16private alias object.xvel : player.xvel17private alias object.yvel : player.yvel18private alias object.speed : player.speed19private alias object.gravity : player.gravity20private alias object.animation : player.animation21private alias object.collisionTop : player.collisionTop22private alias object.jumpPress : player.jumpPress232425// ========================26// Events27// ========================2829event ObjectUpdate30if object.grabDelay > 031object.grabDelay--32end if3334foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)35if player[currentPlayer].state != Player_State_Static36if object.grabDelay == 037temp0 = player[currentPlayer].collisionTop3839BoxCollisionTest(C_TOUCH, object.entityPos, -24, 0, 24, 8, currentPlayer, -1, temp0, 1, temp0)40if checkResult == true41if player[currentPlayer].gravity == 142player[currentPlayer].state = Player_State_Static43player[currentPlayer].animation = ANI_HANGING44player[currentPlayer].speed = 045player[currentPlayer].xvel = 046player[currentPlayer].yvel = 047player[currentPlayer].ypos = player[currentPlayer].collisionTop48player[currentPlayer].ypos++49FlipSign(player[currentPlayer].ypos)50player[currentPlayer].ypos <<= 1651player[currentPlayer].ypos += object.ypos52PlaySfx(SfxName[Catch], false)53end if54end if55end if56else57if player[currentPlayer].jumpPress == true58#platform: USE_STANDALONE59player[currentPlayer].state = Player_State_Air60#endplatform61#platform: USE_ORIGINS62player[currentPlayer].state = Player_State_Air_NoDropDash63#endplatform64player[currentPlayer].yvel = -0x4000065player[currentPlayer].gravity = 166object.grabDelay = 867end if6869if player[currentPlayer].state == Player_State_Static70player[currentPlayer].ypos = player[currentPlayer].collisionTop71player[currentPlayer].ypos++72FlipSign(player[currentPlayer].ypos)73player[currentPlayer].ypos <<= 1674player[currentPlayer].ypos += object.ypos75end if76end if77next78end event798081event ObjectDraw82// Code?? maybe?? at one point??83end event848586event ObjectStartup87// Code?? maybe?? at one point??88end event899091// ========================92// Editor Events93// ========================9495event RSDKDraw96DrawSprite(0)97end event9899100event RSDKLoad101LoadSpriteSheet("Global/Display.gif")102SpriteFrame(-16, -16, 32, 32, 1, 143)103104SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")105end event106107108