Path: blob/master/Sonic 2/Scripts/WFZ/EggmanShuttle.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Eggman Shuttle 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.scrollPos1314// States15private alias 0 : WFZEGGMANSHUTTLE_AWAITPLAYER16private alias 1 : WFZEGGMANSHUTTLE_SCROLLING1718// Modes19private alias 2 : MODE_TIMEATTACK202122// ========================23// Events24// ========================2526event ObjectUpdate27switch object.state28case WFZEGGMANSHUTTLE_AWAITPLAYER29BoxCollisionTest(C_TOUCH, object.entityPos, 0, -128, 384, 128, 0, C_BOX, C_BOX, C_BOX, C_BOX)30if checkResult == true31stage.activeLayer[1] = 232object.priority = PRIORITY_ACTIVE33object.drawOrder = 234object.scrollPos = -0x2FF000035object.xpos += 0x100000036hParallax[4].scrollPos = object.scrollPos37object.state++38end if39break4041case WFZEGGMANSHUTTLE_SCROLLING42object.xvel += 0x60043if object.xvel > 0x8000044object.xvel = 0x8000045end if46object.scrollPos -= object.xvel47object.xpos += object.xvel48hParallax[4].scrollPos = object.scrollPos4950object.timer++51if object.timer == 48052stage.activeLayer[1] = 953hParallax[4].scrollPos = 054tileLayer[2].scrollPos = 055object.type = TypeName[Blank Object]56end if57break5859end switch60end event616263event ObjectDraw64temp0 = oscillation65temp0 += object.propertyValue66temp0 &= 167if temp0 == 168DrawSprite(0)69DrawSprite(1)70end if71end event727374event ObjectStartup75LoadSpriteSheet("SCZ/Objects.gif")76SpriteFrame(-416, -78, 32, 28, 203, 90) // Same sprite twice, just with different offsets77SpriteFrame(-416, 50, 32, 28, 203, 90)7879foreach (TypeName[Eggman Shuttle], arrayPos0, ALL_ENTITIES)80if options.gameMode == MODE_TIMEATTACK81ResetObjectEntity(arrayPos0, TypeName[Blank Object], 0, 0, 0)82end if83next84end event858687// ========================88// Editor Events89// ========================9091event RSDKEdit92if editor.returnVariable == true93switch editor.variableID94case EDIT_VAR_PROPVAL // property value95checkResult = object.propertyValue96break9798case 0 // interval99checkResult = object.propertyValue100break101102end switch103else104switch editor.variableID105case EDIT_VAR_PROPVAL // property value106object.propertyValue = editor.variableValue107break108109case 0 // interval110object.propertyValue = editor.variableValue111break112113end switch114end if115end event116117118event RSDKDraw119DrawSprite(0)120DrawSprite(1)121end event122123124event RSDKLoad125LoadSpriteSheet("SCZ/Objects.gif")126SpriteFrame(-416, -78, 32, 28, 203, 90)127SpriteFrame(-416, 50, 32, 28, 203, 90)128129AddEditorVariable("interval")130SetActiveVariable("interval")131AddEnumVariable("Interval 1", 0)132AddEnumVariable("Interval 2", 1)133end event134135136