Path: blob/master/Sonic 2/Scripts/WFZ/EggmanPlatform.txt
1482 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Eggman Platform Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011private alias object.value0 : object.timer12private alias object.value1 : object.startPos.y13private alias object.value2 : object.stoodPlayers14private alias object.value3 : object.debrisDistance.x1516// States17private alias 0 : WFZEGGMANPLATFORM_ENTER18private alias 1 : WFZEGGMANPLATFORM_MOVE19private alias 2 : WFZEGGMANPLATFORM_DESTROYED2021// Player Aliases22private alias object.xpos : player.xpos23private alias object.ypos : player.ypos242526// ========================27// Events28// ========================2930event ObjectUpdate31temp1 = object.ypos32temp1 &= 0xFFFF00003334switch object.state35case WFZEGGMANPLATFORM_ENTER36object.ypos += 0x100003738object.timer++39if object.timer >= 11940object.timer = 9641object.xvel = -0x1000042object.yvel = 0x1000043object.startPos.y = object.ypos44object.state = WFZEGGMANPLATFORM_MOVE45end if46break4748case WFZEGGMANPLATFORM_MOVE49if object.timer == 050object.timer = 19251FlipSign(object.xvel)52end if5354if object.ypos >= object.startPos.y55object.yvel -= 0x40056else57object.yvel += 0x40058end if5960object.xpos += object.xvel61object.ypos += object.yvel62object.timer--63break6465case WFZEGGMANPLATFORM_DESTROYED66object.xpos += object.xvel67object.ypos += object.yvel68object.yvel += 0x38006970if object.outOfBounds == true71object.type = TypeName[Blank Object]72end if7374object.debrisDistance.x++75break7677end switch7879FlipSign(temp1)80temp0 = object.ypos81temp0 &= 0xFFFF000082temp1 += temp083if object.state < WFZEGGMANPLATFORM_DESTROYED84object.frame = object.animationTimer85object.frame >>= 286object.animationTimer++87if object.animationTimer >= 2488object.animationTimer = 089end if9091temp2 = 092foreach (GROUP_PLAYERS, currentPlayer, ACTIVE_ENTITIES)93GetBit(temp0, object.stoodPlayers, temp2)94if temp0 == true95player[currentPlayer].xpos += object.xvel96player[currentPlayer].ypos += temp197end if98SetBit(object.stoodPlayers, temp2, false)99100BoxCollisionTest(C_PLATFORM, object.entityPos, -16, -8, 16, 8, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)101if checkResult == true102SetBit(object.stoodPlayers, temp2, true)103else104BoxCollisionTest(C_TOUCH, object.entityPos, -4, 8, 4, 12, currentPlayer, C_BOX, C_BOX, C_BOX, C_BOX)105if checkResult == true106CallFunction(Player_Hit)107end if108end if109110temp2++111next112end if113end event114115116event ObjectDraw117if object.state == WFZEGGMANPLATFORM_DESTROYED118temp0 = -16119temp0 -= object.debrisDistance.x120EditFrame(6, temp0, -8, 16, 22, 409, 18)121DrawSpriteFX(6, FX_FLIP, object.xpos, object.ypos)122123object.direction ^= FLIP_X124DrawSpriteFX(6, FX_FLIP, object.xpos, object.ypos)125else126DrawSprite(object.frame)127end if128end event129130131event ObjectStartup132CheckCurrentStageFolder("Zone11")133if checkResult == true134LoadSpriteSheet("SCZ/Objects.gif")135SpriteFrame(-16, -8, 32, 24, 376, 18)136SpriteFrame(-16, -8, 32, 23, 376, 43)137SpriteFrame(-16, -8, 32, 22, 376, 67)138SpriteFrame(-16, -8, 32, 22, 409, 18)139SpriteFrame(-16, -8, 32, 22, 409, 41)140SpriteFrame(-16, -8, 32, 23, 409, 64)141SpriteFrame(-16, -8, 16, 22, 409, 18)142else143LoadSpriteSheet("MBZ/Objects.gif")144SpriteFrame(-16, -8, 32, 24, 397, 18)145SpriteFrame(-16, -8, 32, 23, 397, 43)146SpriteFrame(-16, -8, 32, 22, 397, 67)147SpriteFrame(-16, -8, 32, 22, 430, 18)148SpriteFrame(-16, -8, 32, 22, 430, 41)149SpriteFrame(-16, -8, 32, 23, 430, 64)150SpriteFrame(-16, -8, 16, 22, 430, 18)151end if152end event153154155// ========================156// Editor Events157// ========================158159event RSDKDraw160DrawSprite(0)161end event162163164event RSDKLoad165CheckCurrentStageFolder("Zone11")166if checkResult == true167LoadSpriteSheet("SCZ/Objects.gif")168SpriteFrame(-16, -8, 32, 24, 376, 18)169else170LoadSpriteSheet("MBZ/Objects.gif")171SpriteFrame(-16, -8, 32, 24, 397, 18)172end if173174SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")175end event176177178