Path: blob/master/Sonic 2/Scripts/WFZ/EggmanBarrier.txt
1483 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Eggman Barrier Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer1213// States14private alias 0 : WFZEGGMANBARRIER_ACTIVATE15private alias 1 : WFZEGGMANBARRIER_ACTIVE16private alias 2 : WFZEGGMANBARRIER_DEACTIVATE1718// Player Aliases19private alias object.xpos : player.xpos20private alias object.xvel : player.xvel21private alias object.speed : player.speed22private alias object.collisionLeft : player.collisionLeft23private alias object.collisionRight : player.collisionRight242526// ========================27// Events28// ========================2930event ObjectUpdate31switch object.state32case WFZEGGMANBARRIER_ACTIVATE33GetTableValue(temp0, 10, StageSetup_oscillationTable)34temp0 >>= 535temp0 += 0x8036object.alpha += 437if object.alpha >= temp038object.state = WFZEGGMANBARRIER_ACTIVE39end if40break4142case WFZEGGMANBARRIER_ACTIVE43GetTableValue(object.alpha, 10, StageSetup_oscillationTable)44object.alpha >>= 545object.alpha += 0x804647if object.timer > 048object.timer--49if object.timer == 050object.state = WFZEGGMANBARRIER_DEACTIVATE51end if52end if53break5455case WFZEGGMANBARRIER_DEACTIVATE56object.alpha -= 457if object.alpha <= 058object.type = TypeName[Blank Object]59end if60break6162end switch6364if object.propertyValue == 065foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)66temp0 = player[currentPlayer].collisionLeft67temp0 <<= 1668temp0 += player[currentPlayer].xpos69temp1 = object.xpos70temp1 += 0x8000071if temp0 < temp172player[currentPlayer].xvel = 073player[currentPlayer].speed = 074player[currentPlayer].xpos = temp175temp0 = player[currentPlayer].collisionLeft76temp0 <<= 1677player[currentPlayer].xpos -= temp078end if79next80else81foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)82temp0 = player[currentPlayer].collisionRight83temp0 <<= 1684temp0 += player[currentPlayer].xpos85temp1 = object.xpos86temp1 -= 0x8000087if temp0 > temp188player[currentPlayer].xvel = 089player[currentPlayer].speed = 090player[currentPlayer].xpos = temp191temp0 = player[currentPlayer].collisionRight92temp0 <<= 1693player[currentPlayer].xpos -= temp094end if95next96end if97end event9899100event ObjectDraw101DrawSpriteFX(0, FX_INK, object.xpos, object.ypos)102end event103104105event ObjectStartup106CheckCurrentStageFolder("Zone11")107if checkResult == true108LoadSpriteSheet("SCZ/Objects.gif")109SpriteFrame(-8, -64, 16, 128, 294, 1)110else111LoadSpriteSheet("MBZ/Objects.gif")112SpriteFrame(-8, -64, 16, 128, 463, 1)113end if114end event115116117// ========================118// Editor Events119// ========================120121event RSDKEdit122if editor.returnVariable == true123switch editor.variableID124case EDIT_VAR_PROPVAL // property value125checkResult = object.propertyValue126break127128case 0 // type129checkResult = object.propertyValue130break131132end switch133else134switch editor.variableID135case EDIT_VAR_PROPVAL // property value136object.propertyValue = editor.variableValue137break138139case 0 // type140object.propertyValue = editor.variableValue141break142143end switch144end if145end event146147148event RSDKDraw149DrawSprite(0)150end event151152153event RSDKLoad154CheckCurrentStageFolder("Zone11")155if checkResult == true156LoadSpriteSheet("SCZ/Objects.gif")157SpriteFrame(-8, -64, 16, 128, 294, 1)158else159LoadSpriteSheet("MBZ/Objects.gif")160SpriteFrame(-8, -64, 16, 128, 463, 1)161end if162163AddEditorVariable("type")164SetActiveVariable("type")165AddEnumVariable("Left Barrier", 0)166AddEnumVariable("Right Barrier", 1)167end event168169170