Path: blob/master/Sonic 2/Scripts/Credits/DeathEggFall.txt
1480 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Death Egg Fall Object3// Script Author: Christian Whitehead/Simon Thomley4// Unpacked by Rubberduckycooly's script unpacker5// ----------------------------------67// ========================8// Aliases9// ========================1011// Used in Death Egg Type12private alias object.value0 : object.sparkTimer13private alias object.value1 : object.dustPuff1Timer14private alias object.value2 : object.dustPuff3Timer15private alias object.value4 : object.smallDustPuffTimer1617// Used for animating in other types18private alias object.value0 : object.timer1920// Types21private alias 0 : DEATHEGGFALL_BG22private alias 1 : DEATHEGGFALL_DEATHEGG23private alias 2 : DEATHEGGFALL_ANGELISLAND24private alias 3 : DEATHEGGFALL_CLOUD_WIDE25private alias 4 : DEATHEGGFALL_CLOUD_SMALL26private alias 5 : DEATHEGGFALL_DUSTPUFF1_127private alias 6 : DEATHEGGFALL_DUSTPUFF1_228private alias 7 : DEATHEGGFALL_DUSTPUFF1_329private alias 8 : DEATHEGGFALL_DUSTPUFF1_430private alias 9 : DEATHEGGFALL_DUSTPUFF2_131private alias 10 : DEATHEGGFALL_DUSTPUFF2_232private alias 11 : DEATHEGGFALL_DUSTPUFF2_333private alias 12 : DEATHEGGFALL_DUSTPUFF2_434private alias 13 : DEATHEGGFALL_SMALLDUSTPUFF1_135private alias 14 : DEATHEGGFALL_SMALLDUSTPUFF1_236private alias 15 : DEATHEGGFALL_SMALLDUSTPUFF1_337private alias 16 : DEATHEGGFALL_SMALLDUSTPUFF1_438private alias 17 : DEATHEGGFALL_SMALLDUSTPUFF2_139private alias 18 : DEATHEGGFALL_SMALLDUSTPUFF2_240private alias 19 : DEATHEGGFALL_SMALLDUSTPUFF2_341private alias 20 : DEATHEGGFALL_SMALLDUSTPUFF2_442private alias 21 : DEATHEGGFALL_SPARK_143private alias 22 : DEATHEGGFALL_SPARK_244private alias 23 : DEATHEGGFALL_SPARK_345private alias 24 : DEATHEGGFALL_SPARK_446private alias 25 : DEATHEGGFALL_SPARK_547private alias 26 : DEATHEGGFALL_SPARK_648private alias 27 : DEATHEGGFALL_DUSTPUFF3_1495051// ========================52// Events53// ========================5455event ObjectUpdate56switch object.propertyValue57case DEATHEGGFALL_BG58break5960case DEATHEGGFALL_DEATHEGG61object.xpos += 0x200062object.ypos += 0x20006364object.sparkTimer++65if object.sparkTimer >= 666object.sparkTimer = 067Rand(temp0, 36)68temp0 -= 1869temp0 <<= 1670temp0 += object.xpos71Rand(temp1, 36)72temp1 -= 1873temp1 <<= 1674temp1 += object.ypos75CreateTempObject(TypeName[Death Egg Fall], DEATHEGGFALL_SPARK_1, temp0, temp1)76object[tempObjectPos].drawOrder = 177end if7879object.dustPuff1Timer++80if object.dustPuff1Timer >= 2481object.dustPuff1Timer = 082Rand(temp0, 36)83temp0 -= 1884temp0 <<= 1685temp0 += object.xpos86Rand(temp1, 36)87temp1 -= 1888temp1 <<= 1689temp1 += object.ypos90CreateTempObject(TypeName[Death Egg Fall], DEATHEGGFALL_DUSTPUFF1_1, temp0, temp1)91object[tempObjectPos].drawOrder = 19293Rand(temp0, 4)94if temp0 == 295object[tempObjectPos].propertyValue = DEATHEGGFALL_DUSTPUFF2_196end if97end if9899object.dustPuff3Timer++100if object.dustPuff3Timer >= 32101object.dustPuff3Timer = 0102Rand(temp0, 36)103temp0 -= 18104temp0 <<= 16105temp0 += object.xpos106Rand(temp1, 36)107temp1 -= 18108temp1 <<= 16109temp1 += object.ypos110CreateTempObject(TypeName[Death Egg Fall], DEATHEGGFALL_DUSTPUFF3_1, temp0, temp1)111object[tempObjectPos].drawOrder = 1112end if113114object.smallDustPuffTimer++115if object.smallDustPuffTimer >= 28116object.smallDustPuffTimer = 0117Rand(temp0, 36)118temp0 -= 18119temp0 <<= 16120temp0 += object.xpos121temp1 = object.ypos122temp1 -= 0x120000123CreateTempObject(TypeName[Death Egg Fall], DEATHEGGFALL_SMALLDUSTPUFF1_1, temp0, temp1)124object[tempObjectPos].drawOrder = 1125126Rand(temp0, 4)127if temp0 == 2128object[tempObjectPos].propertyValue = DEATHEGGFALL_SMALLDUSTPUFF2_1129end if130end if131break132133case DEATHEGGFALL_ANGELISLAND134object.xpos -= 0x2000135object.ypos -= 0x2000136break137138case DEATHEGGFALL_CLOUD_WIDE139object.xpos -= 0x4000140object.ypos -= 0x4000141break142143case DEATHEGGFALL_CLOUD_SMALL144object.xpos -= 0x1000145object.ypos -= 0x1000146break147148// Dust Puffs149case DEATHEGGFALL_DUSTPUFF1_1150case DEATHEGGFALL_DUSTPUFF1_2151case DEATHEGGFALL_DUSTPUFF1_3152case DEATHEGGFALL_DUSTPUFF1_4153154case DEATHEGGFALL_DUSTPUFF2_1155case DEATHEGGFALL_DUSTPUFF2_2156case DEATHEGGFALL_DUSTPUFF2_3157case DEATHEGGFALL_DUSTPUFF2_4158159case DEATHEGGFALL_SMALLDUSTPUFF1_1160case DEATHEGGFALL_SMALLDUSTPUFF1_2161case DEATHEGGFALL_SMALLDUSTPUFF1_3162case DEATHEGGFALL_SMALLDUSTPUFF1_4163164case DEATHEGGFALL_SMALLDUSTPUFF2_1165case DEATHEGGFALL_SMALLDUSTPUFF2_2166case DEATHEGGFALL_SMALLDUSTPUFF2_3167case DEATHEGGFALL_SMALLDUSTPUFF2_4168object.animationTimer++169if object.animationTimer >= 4170object.animationTimer = 0171object.propertyValue++172object.timer++173if object.timer >= 4174object.type = TypeName[Blank Object]175end if176end if177object.xpos -= 0x6000178object.ypos -= 0x6000179break180181// Sparks182case DEATHEGGFALL_SPARK_1183case DEATHEGGFALL_SPARK_2184case DEATHEGGFALL_SPARK_3185case DEATHEGGFALL_SPARK_4186case DEATHEGGFALL_SPARK_5187case DEATHEGGFALL_SPARK_6188object.animationTimer ^= 1189if object.animationTimer == 0190object.propertyValue++191object.timer++192if object.timer >= 6193object.type = TypeName[Blank Object]194end if195end if196object.xpos += 0x1000197object.ypos += 0x1000198break199200// Dust Puff 3201case DEATHEGGFALL_DUSTPUFF3_1202object.animationTimer++203object.animationTimer &= 15204object.direction = object.animationTimer205object.direction >>= 2206object.xpos -= 0x6000207object.ypos -= 0x6000208break209210end switch211end event212213214event ObjectDraw215DrawSprite(object.propertyValue)216end event217218219event ObjectStartup220LoadSpriteSheet("Ending/Fall.gif")221222// Death Egg frames223SpriteFrame(-48, -48, 96, 96, 1, 1) // Sky BG - #0224SpriteFrame(-21, -21, 42, 42, 163, 1) // Death Egg - #1225SpriteFrame(-32, -32, 64, 64, 98, 1) // Angel Island - #2226SpriteFrame(-24, -4, 48, 8, 206, 1) // Wide Cloud - #3227SpriteFrame(-8, -4, 16, 8, 206, 10) // Small Cloud - #4228229SpriteFrame(-8, -7, 16, 13, 98, 66) // Dust Puff 1 - Frame 1 - #5230SpriteFrame(-8, -7, 15, 14, 115, 66) // Dust Puff 1 - Frame 2 - #6231SpriteFrame(-8, -7, 15, 14, 131, 66) // Dust Puff 1 - Frame 3 - #7232SpriteFrame(-6, -6, 12, 12, 147, 66) // Dust Puff 1 - Frame 4 - #8233234SpriteFrame(-8, -7, 16, 13, 98, 81) // Dust Puff 2 - Frame 1 - #9235SpriteFrame(-8, -7, 15, 14, 115, 81) // Dust Puff 2 - Frame 2 - #10236SpriteFrame(-8, -7, 15, 14, 131, 81) // Dust Puff 2 - Frame 3 - #11237SpriteFrame(-6, -6, 12, 12, 131, 96) // Dust Puff 2 - Frame 4 - #12238239SpriteFrame(-4, -4, 8, 7, 163, 44) // Dust Puff 1 (Small) - Frame 1 - #13240SpriteFrame(-4, -4, 8, 7, 172, 44) // Dust Puff 1 (Small) - Frame 2 - #14241SpriteFrame(-4, -4, 8, 7, 181, 44) // Dust Puff 1 (Small) - Frame 3 - #15242SpriteFrame(-3, -3, 6, 6, 190, 44) // Dust Puff 1 (Small) - Frame 4 - #16243244SpriteFrame(-4, -4, 8, 7, 163, 52) // Dust Puff 2 (Small) - Frame 1 - #17245SpriteFrame(-4, -4, 8, 7, 172, 52) // Dust Puff 2 (Small) - Frame 2 - #18246SpriteFrame(-4, -4, 8, 7, 181, 52) // Dust Puff 2 (Small) - Frame 3 - #19247SpriteFrame(-3, -3, 6, 6, 190, 52) // Dust Puff 2 (Small) - Frame 4 - #20248249SpriteFrame(0, 0, 1, 1, 163, 60) // Sparks - Frame 1 - #21250SpriteFrame(0, -1, 1, 2, 165, 60) // Sparks - Frame 2 - #22251SpriteFrame(-1, -1, 2, 2, 167, 60) // Sparks - Frame 3 - #23252SpriteFrame(-2, -2, 4, 4, 170, 60) // Sparks - Frame 4 - #24253SpriteFrame(-2, -2, 4, 4, 175, 60) // Sparks - Frame 5 - #25254SpriteFrame(-2, -2, 4, 4, 180, 60) // Sparks - Frame 6 - #26255256SpriteFrame(-3, -3, 6, 6, 223, 10) // Dust Puff 3 - Frame 1 - #27257end event258259260// ========================261// Editor Events262// ========================263264event RSDKEdit265if editor.returnVariable == true266switch editor.variableID267case EDIT_VAR_PROPVAL // property value268checkResult = object.propertyValue269break270271case 0 // type272checkResult = object.propertyValue273break274275end switch276else277switch editor.variableID278case EDIT_VAR_PROPVAL // property value279object.propertyValue = editor.variableValue280break281282case 0 // type283object.propertyValue = editor.variableValue284break285286end switch287end if288end event289290291event RSDKDraw292DrawSprite(object.propertyValue)293end event294295296event RSDKLoad297LoadSpriteSheet("Ending/Fall.gif")298SpriteFrame(-48, -48, 96, 96, 1, 1) // Sky BG - #0299SpriteFrame(-21, -21, 42, 42, 163, 1) // Death Egg - #1300SpriteFrame(-32, -32, 64, 64, 98, 1) // Angel Island - #2301SpriteFrame(-24, -4, 48, 8, 206, 1) // Wide Cloud - #3302SpriteFrame(-8, -4, 16, 8, 206, 10) // Small Cloud - #4303304SpriteFrame(-8, -7, 16, 13, 98, 66) // Dust Puff 1 - Frame 1 - #5305SpriteFrame(-8, -7, 15, 14, 115, 66) // Dust Puff 1 - Frame 2 - #6306SpriteFrame(-8, -7, 15, 14, 131, 66) // Dust Puff 1 - Frame 3 - #7307SpriteFrame(-6, -6, 12, 12, 147, 66) // Dust Puff 1 - Frame 4 - #8308309SpriteFrame(-8, -7, 16, 13, 98, 81) // Dust Puff 2 - Frame 1 - #9310SpriteFrame(-8, -7, 15, 14, 115, 81) // Dust Puff 2 - Frame 2 - #10311SpriteFrame(-8, -7, 15, 14, 131, 81) // Dust Puff 2 - Frame 3 - #11312SpriteFrame(-6, -6, 12, 12, 131, 96) // Dust Puff 2 - Frame 4 - #12313314SpriteFrame(-4, -4, 8, 7, 163, 44) // Dust Puff 1 (Small) - Frame 1 - #13315SpriteFrame(-4, -4, 8, 7, 172, 44) // Dust Puff 1 (Small) - Frame 2 - #14316SpriteFrame(-4, -4, 8, 7, 181, 44) // Dust Puff 1 (Small) - Frame 3 - #15317SpriteFrame(-3, -3, 6, 6, 190, 44) // Dust Puff 1 (Small) - Frame 4 - #16318319SpriteFrame(-4, -4, 8, 7, 163, 52) // Dust Puff 2 (Small) - Frame 1 - #17320SpriteFrame(-4, -4, 8, 7, 172, 52) // Dust Puff 2 (Small) - Frame 2 - #18321SpriteFrame(-4, -4, 8, 7, 181, 52) // Dust Puff 2 (Small) - Frame 3 - #19322SpriteFrame(-3, -3, 6, 6, 190, 52) // Dust Puff 2 (Small) - Frame 4 - #20323324SpriteFrame(0, 0, 1, 1, 163, 60) // Sparks - Frame 1 - #21325SpriteFrame(0, -1, 1, 2, 165, 60) // Sparks - Frame 2 - #22326SpriteFrame(-1, -1, 2, 2, 167, 60) // Sparks - Frame 3 - #23327SpriteFrame(-2, -2, 4, 4, 170, 60) // Sparks - Frame 4 - #24328SpriteFrame(-2, -2, 4, 4, 175, 60) // Sparks - Frame 5 - #25329SpriteFrame(-2, -2, 4, 4, 180, 60) // Sparks - Frame 6 - #26330331SpriteFrame(-3, -3, 6, 6, 223, 10) // Dust Puff 3 - Frame 1 - #27332333AddEditorVariable("frameID")334SetActiveVariable("frameID")335AddEnumVariable("Sky BG", DEATHEGGFALL_BG)336AddEnumVariable("Death Egg", DEATHEGGFALL_DEATHEGG)337AddEnumVariable("Angel Island", DEATHEGGFALL_ANGELISLAND)338AddEnumVariable("Cloud (Wide)", DEATHEGGFALL_CLOUD_WIDE)339AddEnumVariable("Cloud (Small)", DEATHEGGFALL_CLOUD_SMALL)340AddEnumVariable("Dust Puff 1 (Frame 1)", DEATHEGGFALL_DUSTPUFF1_1)341AddEnumVariable("Dust Puff 1 (Frame 2)", DEATHEGGFALL_DUSTPUFF1_2)342AddEnumVariable("Dust Puff 1 (Frame 3)", DEATHEGGFALL_DUSTPUFF1_3)343AddEnumVariable("Dust Puff 1 (Frame 4)", DEATHEGGFALL_DUSTPUFF1_4)344AddEnumVariable("Dust Puff 2 (Frame 1)", DEATHEGGFALL_DUSTPUFF2_1)345AddEnumVariable("Dust Puff 2 (Frame 2)", DEATHEGGFALL_DUSTPUFF2_2)346AddEnumVariable("Dust Puff 2 (Frame 3)", DEATHEGGFALL_DUSTPUFF2_3)347AddEnumVariable("Dust Puff 2 (Frame 4)", DEATHEGGFALL_DUSTPUFF2_4)348AddEnumVariable("Small Dust Puff 1 (Frame 1)", DEATHEGGFALL_SMALLDUSTPUFF1_1)349AddEnumVariable("Small Dust Puff 1 (Frame 2)", DEATHEGGFALL_SMALLDUSTPUFF1_2)350AddEnumVariable("Small Dust Puff 1 (Frame 3)", DEATHEGGFALL_SMALLDUSTPUFF1_3)351AddEnumVariable("Small Dust Puff 1 (Frame 4)", DEATHEGGFALL_SMALLDUSTPUFF1_4)352AddEnumVariable("Small Dust Puff 2 (Frame 1)", DEATHEGGFALL_SMALLDUSTPUFF2_1)353AddEnumVariable("Small Dust Puff 2 (Frame 2)", DEATHEGGFALL_SMALLDUSTPUFF2_2)354AddEnumVariable("Small Dust Puff 2 (Frame 3)", DEATHEGGFALL_SMALLDUSTPUFF2_3)355AddEnumVariable("Small Dust Puff 2 (Frame 4)", DEATHEGGFALL_SMALLDUSTPUFF2_4)356AddEnumVariable("Spark (Frame 1)", DEATHEGGFALL_SPARK_1)357AddEnumVariable("Spark (Frame 2)", DEATHEGGFALL_SPARK_2)358AddEnumVariable("Spark (Frame 3)", DEATHEGGFALL_SPARK_3)359AddEnumVariable("Spark (Frame 4)", DEATHEGGFALL_SPARK_4)360AddEnumVariable("Spark (Frame 5)", DEATHEGGFALL_SPARK_5)361AddEnumVariable("Spark (Frame 6)", DEATHEGGFALL_SPARK_6)362AddEnumVariable("Dust Puff 3", DEATHEGGFALL_DUSTPUFF3_1)363364// drawOrder is set from editor as well365end event366367368