Path: blob/master/Sonic 2/Scripts/HPZ/HPZFall.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: HPZ Fall Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.targetPlayer1213private alias 0 : HPZFALL_STAGE14private alias 1 : HPZFALL_SPAWNED1516// Player Aliases17private alias object.state : player.state18private alias object.animation : player.animation19private alias object.direction : player.direction20private alias object.gravity : player.gravity21private alias object.value26 : player.flightVelocity222324// ========================25// Events26// ========================2728event ObjectUpdate29if object.state == HPZFALL_STAGE30// Object as placed in level3132if recAnimation != 033temp0 = recAnimation34else35temp0 = ANI_WATERSLIDE36temp0 <<= 1637temp0 |= ANI_WATERSLIDE38temp0 <<= 839end if4041// Cycle through each player42currentPlayer = 043while currentPlayer < playerCount4445// Create a personalized HPZFall object for the current player46CreateTempObject(TypeName[HPZ Fall], 0, object.xpos, object.ypos)4748object[tempObjectPos].state = HPZFALL_SPAWNED4950object[tempObjectPos].targetPlayer = currentPlayer5152object[tempObjectPos].direction = temp053object[tempObjectPos].direction &= 0xFF54temp0 >>= 85556object[tempObjectPos].animation = temp057object[tempObjectPos].animation &= 0xFF58temp0 >>= 85960currentPlayer++61loop6263// Erase this object64object.type = TypeName[Blank Object]65else66currentPlayer = object.targetPlayer6768// If the player has landed, then reset this object69if player[currentPlayer].gravity == GRAVITY_GROUND70object.type = TypeName[Blank Object]71else72player[currentPlayer].direction = object.direction73player[currentPlayer].animation = object.animation7475// Below animation checks should never be true, but they are here just in case7677if player[currentPlayer].animation == ANI_JUMPING78#platform: USE_STANDALONE79player[currentPlayer].state = Player_State_Air80#endplatform81#platform: USE_ORIGINS82player[currentPlayer].state = Player_State_Air_NoDropDash83#endplatform84object.type = TypeName[Blank Object]85end if8687if player[currentPlayer].animation == ANI_FLYING88player[currentPlayer].state = Player_State_Fly89player[currentPlayer].flightVelocity = 0x8009091object.type = TypeName[Blank Object]92end if9394if player[currentPlayer].animation == ANI_GLIDING95if player[currentPlayer].direction == FACING_LEFT96player[currentPlayer].state = Player_State_GlideLeft97else98player[currentPlayer].state = Player_State_GlideRight99end if100101object.type = TypeName[Blank Object]102end if103104if player[currentPlayer].animation == ANI_GLIDING_DROP105player[currentPlayer].state = Player_State_GlideDrop106107object.type = TypeName[Blank Object]108end if109end if110end if111end event112113114// ========================115// Editor Events116// ========================117118event RSDKDraw119DrawSprite(0)120end event121122123event RSDKLoad124LoadSpriteSheet("Global/Display.gif")125SpriteFrame(-16, -16, 32, 32, 1, 143)126127SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")128end event129130131