Path: blob/master/Sonic 2/Scripts/Mission/MissionEggmanChemicalDropper.txt
1487 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Chemical Dropper Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// This Object is used in Mission "Eggman: Blue Beam" - M049 - Mission_Zone0289// ========================10// Aliases11// ========================1213private alias object.value0 : object.originPos.x14private alias object.value1 : object.originPos.y15private alias object.value2 : object.oscillationAngle16private alias object.value3 : object.timer17private alias object.value4 : object.boundsL18private alias object.value5 : object.boundsR19private alias object.value6 : object.machineAnim20private alias object.value7 : object.tubeAnimTimer21private alias object.value8 : object.dropperLength22private alias object.value9 : object.tubeFrame23private alias object.value10 : object.dropletNodeID24private alias object.value11 : object.dropperOffset25private alias object.value12 : object.dropperAnim26private alias object.value13 : object.dropperFrame27private alias object.value14 : object.dropletAnimTimer28private alias object.value15 : object.chemicalFrame29private alias object.value16 : object.dropletFrame30private alias object.value17 : object.hatchFrame31private alias object.value18 : object.nextDir32private alias object.value19 : object.dropTrackSpeed // these last two values are new to the Mission ver of this script, they're configured by EggmanSignPost33private alias object.value20 : object.extraSpeed3435// States36private alias 0 : CHEMICALDROPPER_MOVERIGHT37private alias 1 : CHEMICALDROPPER_GETCHEMICALS38private alias 2 : CHEMICALDROPPER_DROPCHEMICALS39private alias 3 : CHEMICALDROPPER_MOVELEFT40private alias 4 : CHEMICALDROPPER_DESTROYED41private alias 5 : CHEMICALDROPPER_DEBRISEXPLODE42private alias 6 : CHEMICALDROPPER_DEBRISDELAY43private alias 7 : CHEMICALDROPPER_DEBRIS4445// Machine Animations46private alias 0 : CHEMICALDROPPER_MANI_IDLE47private alias 1 : CHEMICALDROPPER_MANI_EXTEND48private alias 2 : CHEMICALDROPPER_MANI_FILLING49private alias 3 : CHEMICALDROPPER_MANI_RETRACT5051// Dropper Animations52private alias 0 : CHEMICALDROPPER_DANI_CLOSED53private alias 1 : CHEMICALDROPPER_DANI_FILLING54private alias 2 : CHEMICALDROPPER_DANI_WAIT55private alias 3 : CHEMICALDROPPER_DANI_EXTEND56private alias 4 : CHEMICALDROPPER_DANI_OPENHATCH57private alias 5 : CHEMICALDROPPER_DANI_RETRACT5859// Player Aliases60private alias object.xpos : player.xpos616263// ========================64// Function Declarations65// ========================6667reserve function ChemicalDropper_SpawnDebris68reserve function ChemicalDropper_Oscillate697071// ========================72// Tables73// ========================7475private table ChemicalDropper_tubeFrames762, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 277end table7879private table ChemicalDropper_dropletFrames8018, 4, 4, 4, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 9, 10, 10, 1081end table8283private table ChemicalDropper_dropperFrames8412, 31, 3385end table8687// Unused table88private table ChemicalDropper_hatchFrames8913, 18, 14, 16, 15, 1790end table919293// ========================94// Function Definitions95// ========================9697private function ChemicalDropper_SpawnDebris98CreateTempObject(TypeName[Chemical Dropper], 0, temp0, temp1)99object[tempObjectPos].state = CHEMICALDROPPER_DEBRISEXPLODE100object[tempObjectPos].direction = object.direction101102Rand(object[tempObjectPos].xvel, 8)103object[tempObjectPos].xvel -= 4104object[tempObjectPos].xvel <<= 16105object[tempObjectPos].yvel = -0x38000106107Rand(object[tempObjectPos].timer, 255)108object[tempObjectPos].timer += 30109object[tempObjectPos].timer &= 0x7F110end function111112113private function ChemicalDropper_Oscillate114object.ypos = object.originPos.y115Sin256(temp0, object.oscillationAngle)116temp0 <<= 10117object.ypos += temp0118object.oscillationAngle += 2119object.oscillationAngle &= 0xFF120121object[-1].xpos = object.xpos122object[-1].ypos = object.ypos123CheckGreater(player[0].xpos, object.xpos)124object.direction = checkResult125object[-1].direction = object.direction126end function127128129// ========================130// Events131// ========================132133event ObjectUpdate134switch object.state135case CHEMICALDROPPER_MOVERIGHT136if object.xpos == object.boundsR137if object.dropperAnim == CHEMICALDROPPER_DANI_CLOSED138object.machineAnim = CHEMICALDROPPER_MANI_EXTEND139object.tubeAnimTimer = 0140object.state++141end if142else143if object.xpos > object.boundsR144object.xpos -= object.extraSpeed145if object.xpos <= object.boundsR146object.xpos = object.boundsR147end if148else149object.xpos += object.extraSpeed150if object.xpos >= object.boundsR151object.xpos = object.boundsR152end if153end if154end if155CallFunction(ChemicalDropper_Oscillate)156break157158case CHEMICALDROPPER_GETCHEMICALS159CallFunction(ChemicalDropper_Oscillate)160break161162case CHEMICALDROPPER_DROPCHEMICALS163temp0 = object.xpos164if player[0].xpos <= object.xpos165temp2 = -0x480000166else167temp2 = 0x480000168end if169temp0 += temp2170temp0 &= 0xFFFF0000171172temp1 = player[0].xpos173temp1 &= 0xFFFF0000174175if temp1 == temp0176if object.dropperOffset == 0x580000177object.dropperAnim = CHEMICALDROPPER_DANI_OPENHATCH178end if179else180if player[0].xpos < temp0181temp0 = stage.newXBoundary1182temp0 -= 16183temp0 <<= 16184if object.xpos > temp0185object.xpos -= object.dropTrackSpeed186temp0 = object.xpos187temp0 += temp2188temp0 &= 0xFFFF0000189temp1 = player[0].xpos190temp1 &= 0xFFFF0000191if temp1 > temp0192object.xpos = player[0].xpos193FlipSign(temp2)194object.xpos += temp2195end if196end if197else198temp0 = stage.newXBoundary2199temp0 += 16200temp0 <<= 16201if object.xpos < temp0202object.xpos += object.dropTrackSpeed203temp0 = object.xpos204temp0 += temp2205temp0 &= 0xFFFF0000206temp1 = player[0].xpos207temp1 &= 0xFFFF0000208if temp1 < temp0209object.xpos = player[0].xpos210FlipSign(temp2)211object.xpos += temp2212end if213end if214end if215end if216217CallFunction(ChemicalDropper_Oscillate)218break219220case CHEMICALDROPPER_MOVELEFT221if object.xpos == object.boundsL222if object.dropperAnim == CHEMICALDROPPER_DANI_CLOSED223object.machineAnim = CHEMICALDROPPER_MANI_EXTEND224object.tubeAnimTimer = 0225object.state = CHEMICALDROPPER_GETCHEMICALS226end if227else228if object.xpos > object.boundsL229object.xpos -= object.extraSpeed230if object.xpos <= object.boundsL231object.xpos = object.boundsL232end if233else234object.xpos += object.extraSpeed235if object.xpos >= object.boundsL236object.xpos = object.boundsL237end if238end if239end if240CallFunction(ChemicalDropper_Oscillate)241break242243case CHEMICALDROPPER_DESTROYED244object.machineAnim = CHEMICALDROPPER_MANI_IDLE245object.dropperAnim = CHEMICALDROPPER_DANI_CLOSED246temp0 = object.xpos247if object.direction == FLIP_NONE248temp0 -= object.dropperOffset249else250temp0 += object.dropperOffset251end if252temp1 = object.ypos253temp1 -= 0x380000254CallFunction(ChemicalDropper_SpawnDebris)255object[tempObjectPos].frame = 35256temp1 += 0x80000257temp2 = object.dropperOffset258temp2 >>= 16259temp2 -= 16260temp2 /= 24261while temp2 >= 0262if object.direction == FLIP_NONE263temp0 += 0x180000264else265temp0 -= 0x180000266end if267CallFunction(ChemicalDropper_SpawnDebris)268object[tempObjectPos].frame = 36269temp2--270loop271temp0 = object.xpos272temp1 = object.ypos273274CallFunction(ChemicalDropper_SpawnDebris)275object[tempObjectPos].frame = 37276277CallFunction(ChemicalDropper_SpawnDebris)278object[tempObjectPos].frame = 38279280CallFunction(ChemicalDropper_SpawnDebris)281object[tempObjectPos].frame = 39282283if object.direction == FLIP_NONE284temp0 += 0x40000285else286temp0 -= 0x40000287end if288temp1 += 0x190000289temp2 = 0290while temp2 < object.dropperLength291CallFunction(ChemicalDropper_SpawnDebris)292object[tempObjectPos].frame = 1293temp1 += 0x80000294temp2++295loop296object.type = TypeName[Blank Object]297break298299case CHEMICALDROPPER_DEBRISEXPLODE300object.timer--301if object.timer <= 0302object.timer = 30303CreateTempObject(TypeName[Explosion], 0, object.xpos, object.ypos)304object[tempObjectPos].drawOrder = 5305PlaySfx(SfxName[Explosion 2], false)306object.state++307end if308break309310case CHEMICALDROPPER_DEBRISDELAY311object.timer--312if object.timer <= 0313object.state++314end if315break316317case CHEMICALDROPPER_DEBRIS318object.xpos += object.xvel319object.ypos += object.yvel320object.yvel += 0x3800321temp1 = object.ypos322temp1 >>= 16323temp1 -= camera[0].ypos324Abs(temp1)325temp1 -= 128326if temp1 >= screen.ycenter327object.type = TypeName[Blank Object]328end if329break330331end switch332333switch object.machineAnim334default335case CHEMICALDROPPER_MANI_IDLE336break337338case CHEMICALDROPPER_MANI_EXTEND339object.tubeFrame = 1340object.dropperLength++341if object.dropperLength == 8342object.machineAnim = CHEMICALDROPPER_MANI_FILLING343object.dropletNodeID = 8344object.tubeAnimTimer = 0345object.dropperAnim = CHEMICALDROPPER_DANI_FILLING346object.chemicalFrame = 18347object.dropletFrame = 4348end if349break350351case CHEMICALDROPPER_MANI_FILLING352object.tubeAnimTimer++353if object.tubeAnimTimer == 18354object.tubeAnimTimer = 0355object.dropletNodeID--356if object.dropletNodeID < 0357object.dropletNodeID = 9358end if359end if360GetTableValue(object.tubeFrame, object.tubeAnimTimer, ChemicalDropper_tubeFrames)361break362363case CHEMICALDROPPER_MANI_RETRACT364object.tubeFrame = 1365object.dropperLength--366if object.dropperLength == 0367object.machineAnim = CHEMICALDROPPER_MANI_IDLE368object.dropletNodeID = 8369object.tubeAnimTimer = 0370object.dropperAnim = CHEMICALDROPPER_DANI_EXTEND371object.state = CHEMICALDROPPER_DROPCHEMICALS372end if373break374375end switch376377switch object.dropperAnim378case CHEMICALDROPPER_DANI_CLOSED379object.dropperOffset = 0x100000380object.dropperFrame = 12381break382383case CHEMICALDROPPER_DANI_FILLING384object.dropletAnimTimer++385if object.dropletAnimTimer == 19386object.dropletAnimTimer = 0387object.chemicalFrame++388if object.chemicalFrame >= 30389object.chemicalFrame = 30390object.machineAnim = CHEMICALDROPPER_MANI_RETRACT391object.dropperAnim = CHEMICALDROPPER_DANI_WAIT392end if393end if394395GetTableValue(object.dropletFrame, object.dropletAnimTimer, ChemicalDropper_dropletFrames)396break397398case CHEMICALDROPPER_DANI_WAIT399break400401case CHEMICALDROPPER_DANI_EXTEND402object.dropperOffset += 0x10000403if object.dropperOffset >= 0x580000404object.dropperOffset = 0x580000405end if406temp0 = object.dropperOffset407temp0 >>= 16408temp0 -= 16409temp0 /= 24410GetTableValue(object.dropperFrame, temp0, ChemicalDropper_dropperFrames)411break412413case CHEMICALDROPPER_DANI_OPENHATCH414object.dropletAnimTimer++415switch object.dropletAnimTimer416case 8417object.hatchFrame = 1418break419420case 20421object.hatchFrame = 2422break423424case 32425temp0 = object.xpos426if object.direction == FLIP_NONE427temp0 -= object.dropperOffset428temp0 += 0xC0000429else430temp0 += object.dropperOffset431temp0 -= 0xC0000432end if433temp1 = object.ypos434temp1 -= 0x260000435CreateTempObject(TypeName[Chemical Drop], 0, temp0, temp1)436object[tempObjectPos].drawOrder = 2437break438439case 40440object.hatchFrame = 1441break442443case 48444object.hatchFrame = 0445object.dropperAnim = CHEMICALDROPPER_DANI_RETRACT446object.dropletAnimTimer = 0447if object.nextDir == 0448object.state = CHEMICALDROPPER_MOVELEFT449else450object.state = CHEMICALDROPPER_MOVERIGHT451end if452object.nextDir ^= 1453break454455end switch456break457458case CHEMICALDROPPER_DANI_RETRACT459object.dropperOffset -= 0x10000460if object.dropperOffset <= 0x100000461object.dropperOffset = 0x100000462object.dropperAnim = CHEMICALDROPPER_DANI_CLOSED463end if464465temp0 = object.dropperOffset466temp0 >>= 16467temp0 -= 16468temp0 /= 24469GetTableValue(object.dropperFrame, temp0, ChemicalDropper_dropperFrames)470break471472end switch473end event474475476event ObjectDraw477if object.state < CHEMICALDROPPER_DESTROYED478temp0 = object.xpos479if object.direction == FLIP_NONE480temp0 -= object.dropperOffset481else482temp0 += object.dropperOffset483end if484485temp1 = object.ypos486temp1 -= 0x380000487if object.dropperAnim == CHEMICALDROPPER_DANI_FILLING488DrawSpriteFX(object.dropletFrame, FX_FLIP, object.xpos, object.ypos)489DrawSpriteFX(object.chemicalFrame, FX_FLIP, temp0, temp1)490end if491492if object.dropperAnim == CHEMICALDROPPER_DANI_WAIT493DrawSpriteFX(object.chemicalFrame, FX_FLIP, temp0, temp1)494end if495496if object.dropperAnim == CHEMICALDROPPER_DANI_EXTEND497DrawSpriteFX(object.chemicalFrame, FX_FLIP, temp0, temp1)498end if499500if object.dropperAnim == CHEMICALDROPPER_DANI_OPENHATCH501if object.dropletAnimTimer < 32502DrawSpriteFX(object.chemicalFrame, FX_FLIP, temp0, temp1)503end if504end if505506temp0 = object.xpos507if object.direction == FLIP_NONE508temp0 -= object.dropperOffset509else510temp0 += object.dropperOffset511end if512temp1 = object.ypos513temp1 -= 0x380000514DrawSpriteFX(object.dropperFrame, FX_FLIP, temp0, temp1)515516switch object.hatchFrame517case 0518DrawSpriteFX(18, FX_FLIP, temp0, temp1)519DrawSpriteFX(13, FX_FLIP, temp0, temp1)520break521522case 1523DrawSpriteFX(16, FX_FLIP, temp0, temp1)524DrawSpriteFX(14, FX_FLIP, temp0, temp1)525break526527case 2528DrawSpriteFX(17, FX_FLIP, temp0, temp1)529DrawSpriteFX(15, FX_FLIP, temp0, temp1)530break531532end switch533534temp0 = object.xpos535if object.direction == FLIP_NONE536temp0 += 0x40000537else538temp0 -= 0x40000539end if540541temp1 = object.ypos542temp1 += 0x190000543temp2 = 0544while temp2 < object.dropperLength545if temp2 == object.dropletNodeID546DrawSpriteFX(object.tubeFrame, FX_FLIP, temp0, temp1)547else548DrawSpriteFX(1, FX_FLIP, temp0, temp1)549end if550temp1 += 0x80000551temp2++552loop553DrawSpriteFX(0, FX_FLIP, object.xpos, object.ypos)554else555DrawSpriteFX(object.frame, FX_FLIP, object.xpos, object.ypos)556end if557end event558559560event ObjectStartup561CheckCurrentStageFolder("Zone02")562563if checkResult == true564LoadSpriteSheet("CPZ/Objects.gif")565566// Dropper Sprite Frames567SpriteFrame(-5, -68, 37, 52, 55, 74) // Chemical Machine - #0568SpriteFrame(-4, -4, 8, 8, 61, 147) // Chemical Tube (Normal) - #1569SpriteFrame(-5, -4, 10, 8, 59, 138) // Chemical Tube (Wide) - #2570SpriteFrame(-6, -4, 12, 8, 57, 129) // Chemical Tube (Widest) - #3571SpriteFrame(-5, -60, 8, 3, 93, 74) // Chemical Droplet 1 - #4572SpriteFrame(-5, -60, 8, 5, 93, 78) // Chemical Droplet 2 - #5573SpriteFrame(-4, -60, 6, 8, 93, 84) // Chemical Droplet 3 - #6574SpriteFrame(-4, -60, 6, 13, 93, 93) // Chemical Droplet 4 - #7575SpriteFrame(-5, -60, 8, 14, 93, 107) // Chemical Droplet 5 - #8576SpriteFrame(-4, -50, 8, 8, 93, 122) // Chemical Droplet 6 - #9577SpriteFrame(-4, -46, 8, 8, 93, 122) // Chemical Droplet 7 - #10578SpriteFrame(-4, -4, 8, 8, 93, 122) // Chemical Droplet 8 - #11579SpriteFrame(0, 0, 48, 24, 93, 131) // Chemical Dropper - #12580SpriteFrame(1, 24, 22, 2, 74, 189) // Dropper Hatch (Closed) - #13581SpriteFrame(6, 24, 16, 6, 74, 192) // Dropper Hatch (Opening 1) - #14582SpriteFrame(11, 24, 16, 8, 74, 199) // Dropper Hatch (Opening 2) - #15583SpriteFrame(-2, 24, 14, 6, 74, 208) // Dropper Hatch (Opening 3) - #16584SpriteFrame(-4, 24, 15, 8, 74, 215) // Dropper Hatch (Opened) - #17585SpriteFrame(0, 0, 0, 0, 0, 0) // Empty - #18586SpriteFrame(1, 22, 22, 2, 70, 131) // Chemicals (Empty) - #19587SpriteFrame(1, 20, 22, 4, 70, 131) // Chemicals (Filling 1) - #20588SpriteFrame(1, 18, 22, 6, 70, 131) // Chemicals (Filling 2) - #21589SpriteFrame(1, 16, 22, 8, 70, 131) // Chemicals (Filling 3) - #22590SpriteFrame(1, 14, 22, 10, 70, 131) // Chemicals (Filling 4) - #23591SpriteFrame(1, 12, 22, 12, 70, 131) // Chemicals (Filling 5) - #24592SpriteFrame(1, 10, 22, 14, 70, 131) // Chemicals (Filling 6) - #25593SpriteFrame(1, 8, 22, 16, 70, 131) // Chemicals (Filling 7) - #26594SpriteFrame(1, 6, 22, 18, 70, 131) // Chemicals (Filling 8) - #27595SpriteFrame(1, 4, 22, 20, 70, 131) // Chemicals (Filling 9) - #28596SpriteFrame(1, 2, 22, 22, 70, 131) // Chemicals (Filling 10) - #29597SpriteFrame(1, 0, 22, 24, 70, 131) // Chemicals (Filled) - #30598SpriteFrame(0, 0, 72, 24, 93, 131) // Chemical Dropper (Shorter) - #31599SpriteFrame(3, 3, 18, 29, 97, 189) // Chemical Drop 1 - #32600SpriteFrame(0, 0, 96, 24, 93, 131) // Chemical Dropper (Full) - #33601SpriteFrame(3, 3, 18, 29, 117, 189) // Chemical Drop 2 - #34602SpriteFrame(0, 0, 28, 24, 93, 131) // Chemical Dropper (Standalone) - #35603SpriteFrame(0, 2, 24, 4, 121, 141) // Dropper Debris - #36604SpriteFrame(-5, -68, 29, 12, 55, 74) // Dropper Machine Debris 1 - #37605SpriteFrame(8, -56, 24, 24, 68, 86) // Dropper Machine Debris 2 - #38606SpriteFrame(17, -32, 14, 16, 77, 110) // Dropper Machine Debris 3 - #39607608// Below three are unused, but their mappings exist anyway609SpriteFrame(-15, -32, 22, 24, 81, 156) // Chemical Drops on eggman - #40610SpriteFrame(-15, -24, 30, 16, 104, 156) // Chemical Splashes on eggman - #41611SpriteFrame(-15, -23, 31, 15, 104, 173) // Chemical on eggman - #42612else613LoadSpriteSheet("MBZ/Objects.gif")614615SpriteFrame(-5, -68, 37, 52, 34, 138) // Chemical Machine - #0616SpriteFrame(-4, -4, 8, 8, 38, 130) // Chemical Tube (Normal) - #1617SpriteFrame(-5, -4, 10, 8, 36, 121) // Chemical Tube (Wide) - #2618SpriteFrame(-6, -4, 12, 8, 34, 112) // Chemical Tube (Widest) - #3619SpriteFrame(-5, -60, 8, 3, 72, 138) // Chemical Droplet 1 - #4620SpriteFrame(-5, -60, 8, 5, 72, 142) // Chemical Droplet 2 - #5621SpriteFrame(-4, -60, 6, 8, 72, 148) // Chemical Droplet 3 - #6622SpriteFrame(-4, -60, 6, 13, 72, 157) // Chemical Droplet 4 - #7623SpriteFrame(-5, -60, 8, 14, 72, 171) // Chemical Droplet 5 - #8624SpriteFrame(-4, -50, 8, 8, 104, 155) // Chemical Droplet 6 - #9625SpriteFrame(-4, -46, 8, 8, 104, 155) // Chemical Droplet 7 - #10626SpriteFrame(-4, -4, 8, 8, 104, 155) // Chemical Droplet 8 - #11627SpriteFrame(0, 0, 48, 24, 70, 113) // Chemical Dropper - #12628SpriteFrame(1, 24, 22, 2, 81, 163) // Dropper Hatch (Closed) - #13629SpriteFrame(6, 24, 16, 6, 81, 166) // Dropper Hatch (Opening 1) - #14630SpriteFrame(11, 24, 16, 8, 81, 173) // Dropper Hatch (Opening 2) - #15631SpriteFrame(-2, 24, 14, 6, 81, 182) // Dropper Hatch (Opening 3) - #16632SpriteFrame(-4, 24, 15, 8, 113, 156) // Dropper Hatch (Opened) - #17633SpriteFrame(0, 0, 0, 0, 0, 0) // Dropper Hatch (Gone) - #18634SpriteFrame(1, 22, 22, 2, 47, 113) // Chemicals (Empty) - #19635SpriteFrame(1, 20, 22, 4, 47, 113) // Chemicals (Filling 1) - #20636SpriteFrame(1, 18, 22, 6, 47, 113) // Chemicals (Filling 2) - #21637SpriteFrame(1, 16, 22, 8, 47, 113) // Chemicals (Filling 3) - #22638SpriteFrame(1, 14, 22, 10, 47, 113) // Chemicals (Filling 4) - #23639SpriteFrame(1, 12, 22, 12, 47, 113) // Chemicals (Filling 5) - #24640SpriteFrame(1, 10, 22, 14, 47, 113) // Chemicals (Filling 6) - #25641SpriteFrame(1, 8, 22, 16, 47, 113) // Chemicals (Filling 7) - #26642SpriteFrame(1, 6, 22, 18, 47, 113) // Chemicals (Filling 8) - #27643SpriteFrame(1, 4, 22, 20, 47, 113) // Chemicals (Filling 9) - #28644SpriteFrame(1, 2, 22, 22, 47, 113) // Chemicals (Filling 10) - #29645SpriteFrame(1, 0, 22, 24, 47, 113) // Chemicals (Filled) - #30646SpriteFrame(0, 0, 72, 24, 70, 113) // Chemical Dropper (Shorter) - #31647SpriteFrame(3, 3, 18, 29, 1, 64) // Chemical Drop 1 - #32648SpriteFrame(0, 0, 96, 24, 70, 113) // Chemical Dropper (Full) - #33649SpriteFrame(3, 3, 18, 29, 21, 64) // Chemical Drop 2 - #34650SpriteFrame(0, 0, 28, 24, 70, 113) // Chemical Dropper (Standalone) - #35651SpriteFrame(0, 2, 24, 4, 98, 123) // Dropper Debris - #36652SpriteFrame(-5, -68, 29, 12, 34, 138) // Dropper Machine Debris 1 - #37653SpriteFrame(8, -56, 24, 24, 47, 150) // Dropper Machine Debris 2 - #38654SpriteFrame(17, -32, 14, 16, 56, 174) // Dropper Machine Debris 3 - #39655656// Below three are unused, but their mappings exist anyway657SpriteFrame(-15, -32, 22, 24, 81, 138) // Chemical Drops on eggman - #40658SpriteFrame(-15, -24, 30, 16, 104, 138) // Chemical Splashes on eggman - #41659SpriteFrame(-15, -23, 31, 15, 135, 138) // Chemical on eggman - #42660end if661end event662663664// ========================665// Editor Events666// ========================667668event RSDKDraw669DrawSprite(0)670end event671672673event RSDKLoad674CheckCurrentStageFolder("Zone02")675if checkResult == true676LoadSpriteSheet("CPZ/Objects.gif")677SpriteFrame(-5, -68, 37, 52, 55, 74) // 0 - Main Dropper Frame678else679LoadSpriteSheet("MBZ/Objects.gif")680SpriteFrame(-5, -68, 37, 52, 34, 138) // 0 - Main Dropper Frame681end if682683SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")684end event685686687