Path: blob/master/Sonic 2/Scripts/EHZ/EggmanWheel.txt
1483 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Eggman Wheel 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.xOffset13private alias object.value2 : object.parent1415// States16private alias 0 : EHZEGGMANWHEEL_ATTATCHED17private alias 1 : EHZEGGMANWHEEL_IDLE18private alias 2 : EHZEGGMANWHEEL_BOUNCE1920// Car Aliases21private alias object.value4 : eggmanCar.carPos.y2223// Eggman States24private alias 1 : EHZEGGMAN_FLYIN25private alias 3 : EHZEGGMAN_STARTCAR2627// Path ID Aliases28private alias 0 : PATH_A293031// ========================32// Events33// ========================3435event ObjectUpdate36switch object.state37case EHZEGGMANWHEEL_ATTATCHED38arrayPos0 = object.parent3940object.xpos = object[arrayPos0].xpos41if object.direction == FLIP_NONE42object.xpos += object.xOffset43else44object.xpos -= object.xOffset45end if4647object.ypos = object[arrayPos0].ypos48object.ypos += 0xC000049ObjectTileGrip(CSIDE_FLOOR, 0, 17, PATH_A)5051if object[arrayPos0].state != EHZEGGMAN_FLYIN52if object[arrayPos0].state != EHZEGGMAN_STARTCAR53object.timer++54object.timer &= 355object.frame = object.timer56object.frame >>= 15758if object.xOffset == -0x2C000059object.frame += 260end if61end if62end if6364if object.xOffset != -0x2C000065eggmanCar[arrayPos0].carPos.y += object.ypos66end if67break6869case EHZEGGMANWHEEL_IDLE70break7172case EHZEGGMANWHEEL_BOUNCE73if object.yvel >= 074ObjectTileCollision(CSIDE_FLOOR, 0, 17, PATH_A)75if checkResult == true76FlipSign(object.yvel)77end if78end if7980object.xpos += object.xvel81object.ypos += object.yvel82object.yvel += 0x38008384if object.outOfBounds == true85object.type = TypeName[Blank Object]86end if87break8889end switch90end event919293event ObjectDraw94DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)95end event969798event ObjectStartup99CheckCurrentStageFolder("Zone01")100if checkResult == true101LoadSpriteSheet("EHZ/Objects.gif")102103// Wheel Frames104SpriteFrame(-16, -16, 32, 32, 1, 143)105SpriteFrame(-16, -16, 32, 32, 34, 143)106SpriteFrame(-16, -16, 32, 32, 1, 176)107SpriteFrame(-16, -16, 32, 32, 34, 176)108else109LoadSpriteSheet("MBZ/Objects.gif")110111// Wheel Frames112SpriteFrame(-16, -16, 32, 32, 123, 58)113SpriteFrame(-16, -16, 32, 32, 156, 58)114SpriteFrame(-16, -16, 32, 32, 189, 58)115SpriteFrame(-16, -16, 32, 32, 222, 58)116end if117end event118119120// ========================121// Editor Events122// ========================123124event RSDKDraw125DrawSprite(0)126end event127128129event RSDKLoad130CheckCurrentStageFolder("Zone01")131if checkResult == true132LoadSpriteSheet("EHZ/Objects.gif")133SpriteFrame(-16, -16, 32, 32, 1, 143)134else135LoadSpriteSheet("MBZ/Objects.gif")136SpriteFrame(-16, -16, 32, 32, 123, 58)137end if138139SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")140end event141142143