Path: blob/master/Sonic 2/Scripts/WFZ/HullSeal.txt
1483 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Hull Seal 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 : HULLSEAL_OPEN15private alias 1 : HULLSEAL_CLOSING16private alias 2 : HULLSEAL_CLOSED1718// Player Aliases19private alias object.ypos : player.ypos202122// ========================23// Events24// ========================2526event ObjectUpdate27switch object.state28case HULLSEAL_OPEN29temp0 = object.ypos30temp0 += 0x18000031if player[0].ypos > temp032object.timer = 1633object.drawOrder = 434object.state = HULLSEAL_CLOSING35end if36break3738case HULLSEAL_CLOSING39object.xpos += 0x400004041object.timer--42if object.timer == 043if object.propertyValue == 144temp0 = object.xpos45temp0 >>= 2346temp1 = object.ypos47temp1 >>= 2348SetTileLayerEntry(262, 0, temp0, temp1)49PlaySfx(SfxName[Hull Close], false)50end if5152object.state = HULLSEAL_CLOSED53end if54break5556case HULLSEAL_CLOSED57break5859end switch6061foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)62BoxCollisionTest(C_SOLID, object.entityPos, -32, -16, 32, 16, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)63next64end event656667event ObjectDraw68DrawSprite(0)69end event707172event ObjectStartup73LoadSpriteSheet("SCZ/Objects2.gif")74SpriteFrame(-32, -16, 64, 32, 1, 193)75end event767778// ========================79// Editor Events80// ========================8182event RSDKEdit83if editor.returnVariable == true84switch editor.variableID85case EDIT_VAR_PROPVAL // property value86checkResult = object.propertyValue87break8889case 0 // type90checkResult = object.propertyValue91break9293end switch94else95switch editor.variableID96case EDIT_VAR_PROPVAL // property value97object.propertyValue = editor.variableValue98break99100case 0 // type101object.propertyValue = editor.variableValue102break103104end switch105end if106end event107108109event RSDKDraw110DrawSprite(0)111end event112113114event RSDKLoad115LoadSpriteSheet("SCZ/Objects2.gif")116SpriteFrame(-32, -16, 64, 32, 1, 193)117118AddEditorVariable("type")119SetActiveVariable("type")120AddEnumVariable("Doesn't Update TileLayer", 0)121AddEnumVariable("Updates TileLayer", 1)122end event123124125