Path: blob/master/Sonic 2/Scripts/Special/SpecialFinish.txt
1487 views
// ----------------------------------1// RSDK Project: Sonic 22// Script Description: Special Finish 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.textTopPos13private alias object.value2 : object.textMidPos14private alias object.value3 : object.textBottomPos15private alias object.value4 : object.scorePos16private alias object.value5 : object.p1RingPos17private alias object.value6 : object.p2RingPos18private alias object.value7 : object.gemPos19private alias object.value8 : object.p1RingBonus20private alias object.value9 : object.p2RingBonus21private alias object.value10 : object.gemBonus22private alias object.value11 : object.resultsTextTop23private alias object.value12 : object.resultsTextMid24private alias object.value13 : object.resultsTextBottom25private alias object.value14 : object.emeraldAlpha2627// Text Messages28private alias 0 : TEXT_NONE29private alias 1 : TEXT_FAILED30private alias 2 : TEXT_ONEEMERALD31private alias 3 : TEXT_ALLEMERALDS_CHAOS32private alias 4 : TEXT_CANCHANGEFORM33private alias 5 : TEXT_TOHIDDENPALACE3435// States36private alias 0 : SPECIALFINISH_FADEIN37private alias 1 : SPECIALFINISH_FADEIDLE38private alias 2 : SPECIALFINISH_ENTERTEXT39private alias 3 : SPECIALFINISH_ENTEREMERALDS40private alias 4 : SPECIALFINISH_TALLYSCORE41private alias 5 : SPECIALFINISH_FAILED42private alias 6 : SPECIALFINISH_FADEOUT43private alias 7 : SPECIALFINISH_EXITRESULTS44private alias 8 : SPECIALFINISH_WINSHOWREWARD45private alias 9 : SPECIALFINISH_WINENTERTEXT46private alias 10 : SPECIALFINISH_WINEVENT47private alias 11 : SPECIALFINISH_WINIDLE48private alias 12 : SPECIALFINISH_WAITFORCALLBACK4950// Player Aliases51private alias object.value0 : player.rings5253private alias StageStatsUsabilityParam5 : stageStat.playerRings545556// ========================57// Tables58// ========================5960private table SpecialFinish_emeraldXPosTable610, 24, 24, 0, -24, -24, 062end table6364private table SpecialFinish_emeraldYPosTable6584, 96, 120, 132, 120, 96, 10866end table676869// ========================70// Events71// ========================7273event ObjectUpdate74options.touchControls = false75switch object.state76case SPECIALFINISH_FADEIN77if object.timer < 25678object.timer += 879SetScreenFade(224, 224, 224, object.timer)80else81if SpecialSetup_gotEmerald == true82temp0 = stage.actNum83temp0--84SetBit(specialStage.emeralds, temp0, true)85if specialStage.emeralds == 0x7F86object.resultsTextTop = TEXT_ALLEMERALDS_CHAOS87object.resultsTextMid = TEXT_ALLEMERALDS_CHAOS88#platform: USE_ORIGINS89CallNativeFunction2(NotifyCallback, NOTIFY_STATS_PARAM_2, 0)90#endplatform91else92object.resultsTextTop = TEXT_ONEEMERALD93object.resultsTextMid = TEXT_ONEEMERALD94end if95object.gemBonus = 1000096specialStage.listPos++97specialStage.listPos %= 798else99object.resultsTextTop = TEXT_NONE100object.resultsTextMid = TEXT_FAILED101object.gemBonus = 0102end if103object.resultsTextBottom = 0104105#platform: USE_ORIGINS106stageStat.playerRings = player[2].rings107#endplatform108object.p1RingBonus = player[2].rings109if stage.player2Enabled == true110object.p2RingBonus = player[3].rings111#platform: USE_ORIGINS112stageStat.playerRings += player[3].rings113#endplatform114else115object.p2RingBonus = 0116end if117118#platform: USE_STANDALONE119stage.listPos = specialStage.nextZone120stage.activeList = REGULAR_STAGE121#endplatform122123object.timer = 0124temp0 = 0125while temp0 < 20126ResetObjectEntity(temp0, TypeName[Blank Object], 0, 0, 0)127temp0++128loop129temp0++130while temp0 < 0x4A0131ResetObjectEntity(temp0, TypeName[Blank Object], 0, 0, 0)132temp0++133loop134stage.activeLayer[0] = 9135stage.activeLayer[1] = 9136stage.activeLayer[2] = 9137stage.activeLayer[3] = 9138object.controlMode = CONTROLMODE_P1139keyDown[0].left = false140keyDown[0].right = false141object.direction = FLIP_NONE142object.textTopPos = -384143object.textMidPos = 384144object.scorePos = 640145object.p1RingPos = 656146object.p2RingPos = 672147object.gemPos = 688148object.scorePos += 128149object.p1RingPos += 128150object.p2RingPos += 128151object.gemPos += 128152object.inkEffect = INK_ALPHA153PlayMusic(1)154#platform: USE_ORIGINS155game.callbackResult = -1156CallNativeFunction4(NotifyCallback, NOTIFY_SPECIAL_RETRY, SpecialSetup_gotEmerald, specialStage.listPos, specialStage.emeralds)157object.state = SPECIALFINISH_WAITFORCALLBACK158#endplatform159#platform: USE_STANDALONE160object.state++161#endplatform162SetScreenFade(224, 224, 224, 255)163end if164break165166case SPECIALFINISH_FADEIDLE167object.timer++168if object.timer > 15169object.timer = 0170object.state++171#platform: USE_ORIGINS172stage.activeList = REGULAR_STAGE173stage.listPos = specialStage.nextZone174#endplatform175end if176SetScreenFade(224, 224, 224, 255)177break178179case SPECIALFINISH_ENTERTEXT180if object.textTopPos < 0181object.textTopPos += 16182end if183184if object.textMidPos > 0185object.textMidPos -= 16186end if187188if object.scorePos > 0189object.scorePos -= 16190end if191192if object.p1RingPos > 0193object.p1RingPos -= 16194end if195196if object.p2RingPos > 0197object.p2RingPos -= 16198end if199200if object.gemPos > 0201object.gemPos -= 16202else203object.state++204end if205break206207case SPECIALFINISH_ENTEREMERALDS208object.timer++209if object.emeraldAlpha < 256210object.emeraldAlpha += 8211end if212if object.timer > 299213object.timer = 0214object.state++215end if216break217218case SPECIALFINISH_TALLYSCORE219if object.p1RingBonus > 0220object.p1RingBonus--221player.score += 100222end if223224if object.p2RingBonus > 0225object.p2RingBonus--226player.score += 100227end if228229if object.gemBonus > 0230object.gemBonus -= 100231player.score += 100232end if233234if player.score >= player.scoreBonus235#platform: USE_STANDALONE236player.lives++237#endplatform238#platform: USE_ORIGINS239if game.coinMode == false240player.lives++241else242CallNativeFunction2(NotifyCallback, NOTIFY_ADD_COIN, 1)243end if244#endplatform245player.scoreBonus += 50000246PlaySfx(SfxName[Life], false)247end if248249CheckGreater(object.p1RingBonus, 0)250temp0 = checkResult251CheckGreater(object.p2RingBonus, 0)252temp0 |= checkResult253CheckGreater(object.gemBonus, 0)254temp0 |= checkResult255if temp0 == true256object.timer++257if object.timer == 2258PlaySfx(SfxName[Score Add], false)259object.timer = 0260end if261else262if SpecialSetup_gotEmerald == true263if specialStage.emeralds == 0x3FFF264object.state = SPECIALFINISH_WINSHOWREWARD265else266if specialStage.emeralds == 0x7F267switch stage.playerListPos268case PLAYER_SONIC_A269case PLAYER_KNUCKLES_A270object.state = SPECIALFINISH_WINSHOWREWARD271break272273case PLAYER_TAILS_A274if options.superTails == true275object.state = SPECIALFINISH_WINSHOWREWARD276else277object.state++278end if279break280281#platform: USE_ORIGINS282case PLAYER_AMY_A283object.state++284break285#endplatform286end switch287else288object.state++289end if290end if291else292object.state++293end if294object.timer = 0295PlaySfx(SfxName[Score Total], false)296end if297break298299case SPECIALFINISH_FAILED300object.timer++301if object.timer == 160302object.timer = 0303object.state++304PlaySfx(SfxName[Warp], false)305end if306break307308case SPECIALFINISH_FADEOUT309if object.timer < 400310object.timer += 8311SetScreenFade(248, 248, 248, object.timer)312else313object.timer = 248314object.state++315SetScreenFade(248, 248, 248, 255)316end if317break318319case SPECIALFINISH_EXITRESULTS320if object.timer > 0321object.timer -= 8322else323#platform: USE_ORIGINS324recScore = player.score325#endplatform326fadeColor = 0327#platform: USE_ORIGINS328CallNativeFunction2(NotifyCallback, NOTIFY_STATS_RING, stageStat.playerRings)329#endplatform330if stage.listPos < stage.listSize331LoadStage()332else333stage.activeList = PRESENTATION_STAGE334stage.listPos = 0335LoadStage()336end if337end if338SetScreenFade(object.timer, object.timer, object.timer, 255)339break340341case SPECIALFINISH_WINSHOWREWARD342object.timer++343if object.timer == 90344object.timer = 0345object.textBottomPos = 0346object.state++347end if348break349350case SPECIALFINISH_WINENTERTEXT351if object.textTopPos > -384352object.textTopPos -= 32353object.textBottomPos -= 32354end if355if object.textMidPos < 384356object.textMidPos += 32357else358if specialStage.emeralds == 0x3FFF359object.resultsTextTop = TEXT_CANCHANGEFORM360object.resultsTextMid = TEXT_CANCHANGEFORM361object.resultsTextBottom = TEXT_CANCHANGEFORM362else363if options.hiddenPalace == true364object.resultsTextTop = TEXT_TOHIDDENPALACE365object.resultsTextMid = TEXT_TOHIDDENPALACE366object.resultsTextBottom = TEXT_TOHIDDENPALACE367else368object.resultsTextTop = TEXT_CANCHANGEFORM369object.resultsTextMid = TEXT_CANCHANGEFORM370object.resultsTextBottom = TEXT_CANCHANGEFORM371end if372end if373object.state++374end if375break376377case SPECIALFINISH_WINEVENT378if object.textTopPos < 0379object.textTopPos += 16380object.textBottomPos += 16381end if382if object.textMidPos > 0383object.textMidPos -= 16384else385PlaySfx(SfxName[Event], false)386object.state++387end if388break389390case SPECIALFINISH_WINIDLE391object.timer++392if object.timer == 200393object.timer = 0394object.state = SPECIALFINISH_FADEOUT395PlaySfx(SfxName[Warp], false)396end if397break398399#platform: USE_ORIGINS400case SPECIALFINISH_WAITFORCALLBACK401if game.callbackResult >= 0402object.state = SPECIALFINISH_FADEIDLE403object.timer = 0404end if405SetScreenFade(224, 224, 224, 255)406break407#endplatform408end switch409end event410411412event ObjectDraw413switch object.state414case SPECIALFINISH_ENTERTEXT415case SPECIALFINISH_ENTEREMERALDS416case SPECIALFINISH_TALLYSCORE417case SPECIALFINISH_FAILED418case SPECIALFINISH_FADEOUT419case SPECIALFINISH_WINSHOWREWARD420case SPECIALFINISH_WINENTERTEXT421case SPECIALFINISH_WINEVENT422case SPECIALFINISH_WINIDLE423ClearScreen(152) // (White)424425object.animationTimer += 16426object.animationTimer &= 0x1FF427Sin(temp0, object.animationTimer)428temp0 >>= 3429temp0 += 190430temp0 *= object.emeraldAlpha431temp0 >>= 8432object.alpha = temp0433434temp0 = 0435while temp0 < 7436GetBit(temp1, specialStage.emeralds, temp0)437if temp1 == true438GetTableValue(temp2, temp0, SpecialFinish_emeraldXPosTable)439temp2 += screen.xcenter440GetTableValue(temp3, temp0, SpecialFinish_emeraldYPosTable)441#platform: USE_ORIGINS442if game.playMode == BOOT_PLAYMODE_MIRRORING443object.direction = FLIP_X444DrawSpriteScreenFX(temp0, FX_FLIP, temp2, temp3) // guess there's no fade-in in mirror mode445else446DrawSpriteScreenFX(temp0, FX_INK, temp2, temp3)447end if448#endplatform449#platform: USE_STANDALONE450DrawSpriteScreenFX(temp0, FX_INK, temp2, temp3)451#endplatform452end if453temp0++454temp1++455loop456457temp7 = object.textTopPos458temp7 += screen.xcenter459switch object.resultsTextTop460default461break462463case TEXT_ONEEMERALD464DrawSpriteScreenXY(24, temp7, 0)465DrawSpriteScreenXY(25, temp7, 0)466break467468case TEXT_ALLEMERALDS_CHAOS469DrawSpriteScreenXY(27, temp7, 0)470DrawSpriteScreenXY(28, temp7, 0)471break472473case TEXT_CANCHANGEFORM474DrawSpriteScreenXY(30, temp7, 0)475DrawSpriteScreenXY(31, temp7, 0)476DrawSpriteScreenXY(32, temp7, 0)477break478479case TEXT_TOHIDDENPALACE480DrawSpriteScreenXY(36, temp7, 0)481DrawSpriteScreenXY(37, temp7, 0)482break483end switch484485temp7 = object.textMidPos486temp7 += screen.xcenter487switch object.resultsTextMid488default489break490491case TEXT_FAILED492DrawSpriteScreenXY(23, temp7, 0)493break494495case TEXT_ONEEMERALD496DrawSpriteScreenXY(26, temp7, 0)497break498499case TEXT_ALLEMERALDS_CHAOS500DrawSpriteScreenXY(29, temp7, 0)501break502503case TEXT_CANCHANGEFORM504DrawSpriteScreenXY(33, temp7, 0)505break506507case TEXT_TOHIDDENPALACE508DrawSpriteScreenXY(38, temp7, 0)509DrawSpriteScreenXY(39, temp7, 0)510DrawSpriteScreenXY(40, temp7, 0)511break512end switch513514temp7 = object.textBottomPos515temp7 += screen.xcenter516switch object.resultsTextBottom517default518break519520case TEXT_CANCHANGEFORM521DrawSpriteScreenXY(34, temp7, 0)522DrawSpriteScreenXY(35, temp7, 0)523break524525case TEXT_TOHIDDENPALACE526DrawSpriteScreenXY(41, temp7, 0)527break528end switch529530temp7 = object.scorePos531temp7 += screen.xcenter532DrawSpriteScreenXY(17, temp7, 145)533534temp7 += 88535DrawNumbers(7, temp7, 145, player.score, 9, 8, false)536537if stage.player2Enabled == true538temp7 = object.p1RingPos539temp7 += screen.xcenter540541#platform: USE_STANDALONE542// It always shows "SONIC RINGS" regardless of the character...543DrawSpriteScreenXY(20, temp7, 161)544#endplatform545546#platform: USE_ORIGINS547// ...they fixed that in Origins Plus!548switch stage.playerListPos549case PLAYER_SONIC_A550case PLAYER_SONIC_TAILS_A551DrawSpriteScreenXY(20, temp7, 161)552break553554case PLAYER_TAILS_A555DrawSpriteScreenXY(21, temp7, 161)556break557558case PLAYER_KNUCKLES_A559case PLAYER_KNUCKLES_TAILS_A560DrawSpriteScreenXY(42, temp7, 161)561break562563case PLAYER_AMY_A564case PLAYER_AMY_TAILS_A565DrawSpriteScreenXY(43, temp7, 161)566break567end switch568#endplatform569570temp7 += 88571DrawNumbers(7, temp7, 161, object.p1RingBonus, 5, 8, false)572573temp7 = object.p2RingPos574temp7 += screen.xcenter575DrawSpriteScreenXY(21, temp7, 177)576577temp7 += 88578DrawNumbers(7, temp7, 177, object.p2RingBonus, 5, 8, false)579580if SpecialSetup_gotEmerald == true581temp7 = object.gemPos582temp7 += screen.xcenter583DrawSpriteScreenXY(22, temp7, 193)584585temp7 += 88586DrawNumbers(7, temp7, 193, object.gemBonus, 5, 8, false)587end if588else589temp7 = object.p1RingPos590temp7 += screen.xcenter591DrawSpriteScreenXY(18, temp7, 169)592593temp7 += 88594DrawNumbers(7, temp7, 169, object.p1RingBonus, 5, 8, false)595596if SpecialSetup_gotEmerald == true597temp7 = object.p2RingPos598temp7 += screen.xcenter599DrawSpriteScreenXY(19, temp7, 193)600601temp7 += 88602DrawNumbers(7, temp7, 193, object.gemBonus, 5, 8, false)603end if604end if605break606607#platform: USE_ORIGINS608case SPECIALFINISH_WAITFORCALLBACK609break610#endplatform611end switch612end event613614615event ObjectStartup616LoadSpriteSheet("Special/Objects.gif")617618// Chaos Emerald Frames619SpriteFrame(-8, -8, 16, 16, 1, 260) // Chaos Emerald 1 #0620SpriteFrame(-8, -8, 16, 16, 18, 260) // Chaos Emerald 2 #1621SpriteFrame(-8, -8, 16, 16, 35, 260) // Chaos Emerald 3 #2622SpriteFrame(-8, -8, 16, 16, 52, 260) // Chaos Emerald 4 #3623SpriteFrame(-8, -8, 16, 16, 69, 260) // Chaos Emerald 5 #4624SpriteFrame(-8, -8, 16, 16, 86, 260) // Chaos Emerald 6 #5625SpriteFrame(-8, -8, 16, 16, 103, 260) // Chaos Emerald 7 #6626627// Number Frames628SpriteFrame(0, 0, 8, 11, 1, 361) // 0 - #7629SpriteFrame(0, 0, 8, 11, 10, 361) // 1 - #8630SpriteFrame(0, 0, 8, 11, 19, 361) // 2 - #9631SpriteFrame(0, 0, 8, 11, 28, 361) // 3 - #10632SpriteFrame(0, 0, 8, 11, 37, 361) // 4 - #11633SpriteFrame(0, 0, 8, 11, 46, 361) // 5 - #12634SpriteFrame(0, 0, 8, 11, 55, 361) // 6 - #13635SpriteFrame(0, 0, 8, 11, 64, 361) // 7 - #14636SpriteFrame(0, 0, 8, 11, 73, 361) // 8 - #15637SpriteFrame(0, 0, 8, 11, 82, 361) // 9 - #16638639SpriteFrame(-96, 0, 44, 15, 1, 345) // Score Text - #17640SpriteFrame(-96, 0, 44, 15, 46, 345) // Rings Text - #18641SpriteFrame(-96, 0, 84, 15, 91, 345) // Gems Bonus Text - #19642SpriteFrame(-96, 0, 92, 15, 176, 345) // Sonic Rings Text - #20 (even if this sprite's position on the sheet was shifted 1 pixel left in Plus, this SpriteFrame was left alone, resulting in the sprite appearing cut off on the left with a white rectangle on the right when seen in-game)643if options.region == false644SpriteFrame(-96, 0, 92, 15, 269, 345) // Tails Rings Text - #21645else646SpriteFrame(-96, 0, 92, 15, 269, 329) // Miles Rings Text - #21647end if648SpriteFrame(-96, 0, 92, 15, 362, 345) // Gems Bonus (Again) - #22649SpriteFrame(-96, 50, 187, 16, 1, 277) // Special Stage Text - #23650651//"[Player] Got A Chaos Emerald" Frames652switch stage.playerListPos653case PLAYER_SONIC_A654SpriteFrame(-72, 32, 72, 16, 189, 277) // Sonic Text - #24655SpriteFrame(8, 32, 72, 16, 412, 277) // "GOT A" Text - #25656break657658case PLAYER_TAILS_A659if options.region == false660SpriteFrame(-69, 32, 69, 16, 262, 277) // Tails Text - #24661else662SpriteFrame(-79, 32, 79, 16, 332, 277) // Miles Text - #24663end if664665SpriteFrame(8, 32, 72, 16, 412, 277) // "GOT A" Text - #25666break667668case PLAYER_KNUCKLES_A669SpriteFrame(-104, 32, 128, 16, 1, 294) // Knuckles Text - #24670SpriteFrame(32, 32, 72, 16, 412, 277) // "GOT A" Text - #25671break672673#platform: USE_ORIGINS674case PLAYER_AMY_A675SpriteFrame(-54, 32, 54, 16, 362, 328) // Amy Text - #24676SpriteFrame(8, 32, 72, 16, 412, 277) // "GOT A" Text - #25677break678#endplatform679end switch680681SpriteFrame(-104, 50, 208, 16, 130, 294) // "Chaos Emerald" Text - #26682683//"[Player] Has All The Chaos Emeralds" Frames684switch stage.playerListPos685case PLAYER_SONIC_A686SpriteFrame(-120, 32, 72, 16, 189, 277) // Sonic Text - #37687SpriteFrame(-40, 32, 159, 16, 162, 311) // "HAS ALL THE" Text - #28688break689690case PLAYER_TAILS_A691if options.region == false692SpriteFrame(-117, 32, 69, 16, 262, 277) // Tails Text - #27693else694SpriteFrame(-127, 32, 79, 16, 332, 277) // Miles Text - #27695end if696697SpriteFrame(-40, 32, 159, 16, 162, 311) // "HAS ALL THE" Text - #28698break699700case PLAYER_KNUCKLES_A701SpriteFrame(-148, 32, 128, 16, 1, 294) // Knuckles Text - #27702SpriteFrame(-12, 32, 159, 16, 162, 311) // "HAS ALL THE" Text - #28703break704705#platform: USE_ORIGINS706case PLAYER_AMY_A707SpriteFrame(-102, 32, 54, 16, 362, 328) // Amy Text - #27708SpriteFrame(-40, 32, 159, 16, 162, 311) // "HAS ALL THE" Text - #28709break710#endplatform711end switch712713SpriteFrame(-112, 50, 224, 16, 130, 294) // "Chaos Emeralds" Text - #29714715//"Now [Player] Can be Super/Hyper [Player]"716switch stage.playerListPos717case PLAYER_SONIC_A718SpriteFrame(-96, 20, 55, 16, 355, 294) // "NOW" Text - #30719SpriteFrame(-32, 20, 72, 16, 189, 277) // Sonic Text - #31720SpriteFrame(48, 20, 48, 16, 411, 294) // "CAN" Text - #32721break722723case PLAYER_TAILS_A724SpriteFrame(-96, 20, 55, 16, 355, 294) // "NOW" Text - #30725726if options.region == false727SpriteFrame(-32, 20, 69, 16, 262, 277) // Tails Text - #31728else729SpriteFrame(-32, 20, 79, 16, 332, 277) // Miles Text - #31730end if731732SpriteFrame(48, 20, 48, 16, 411, 294) // "CAN" Text - #32733break734735case PLAYER_KNUCKLES_A736SpriteFrame(-124, 20, 55, 16, 355, 294) // "NOW" Text - #30737SpriteFrame(-60, 20, 128, 16, 1, 294) // Knuckles Text - #31738SpriteFrame(76, 20, 48, 16, 411, 294) // "CAN" Text - #32739break740741#platform: USE_ORIGINS742case PLAYER_AMY_A743SpriteFrame(-96, 20, 55, 16, 355, 294) // "NOW" Text - #30744SpriteFrame(-32, 20, 54, 16, 362, 328) // Amy Text - #31745SpriteFrame(48, 20, 48, 16, 411, 294) // "CAN" Text - #32746break747#endplatform748end switch749750SpriteFrame(-80, 38, 160, 16, 1, 311) // "CHANGE INTO" Text - #33751752if specialStage.emeralds <= 0x7F753temp0 = 322 // Super754else755temp0 = 403 // Hyper756end if757758switch stage.playerListPos759case PLAYER_SONIC_A760SpriteFrame(-80, 56, 80, 16, temp0, 311) // Super/Hyper Text - #34761SpriteFrame(8, 56, 72, 16, 189, 277) // Sonic Text - #35762break763764case PLAYER_TAILS_A765SpriteFrame(-80, 56, 80, 16, temp0, 311) // Super/Hyper Text - #34766767if options.region == false768SpriteFrame(8, 56, 69, 16, 262, 277) // Tails Text - #35769else770SpriteFrame(8, 56, 79, 16, 332, 277) // Miles Text - #35771end if772773break774775case PLAYER_KNUCKLES_A776SpriteFrame(-108, 56, 80, 16, temp0, 311) // Super/Hyper Text - #34777SpriteFrame(-20, 56, 128, 16, 1, 294) // Knuckles Text - #35778break779780#platform: USE_ORIGINS781case PLAYER_AMY_A782SpriteFrame(-80, 56, 80, 16, temp0, 311) // Super/Hyper Text - #34783SpriteFrame(8, 56, 54, 16, 362, 328) // Amy Text - #35784break785#endplatform786end switch787788//"Now [Player] Can Go To Hidden Palace" frames789switch stage.playerListPos790case PLAYER_SONIC_A791SpriteFrame(-72, 20, 55, 16, 355, 294) // "NOW" Text - #36792SpriteFrame(0, 20, 72, 16, 189, 277) // Sonic Text - #37793break794795case PLAYER_TAILS_A796SpriteFrame(-72, 20, 55, 16, 355, 294) // "NOW" Text - #36797798if options.region == false799SpriteFrame(0, 20, 69, 16, 262, 277) // Tails Text - #37800else801SpriteFrame(0, 20, 79, 16, 332, 277) // Miles Text - #37802end if803break804805case PLAYER_KNUCKLES_A806SpriteFrame(-100, 20, 55, 16, 355, 294) // "NOW" Text - #36807SpriteFrame(-28, 20, 128, 16, 1, 294) // Knuckles Text - #37808break809810#platform: USE_ORIGINS811case PLAYER_AMY_A812SpriteFrame(-72, 20, 55, 16, 355, 294) // "NOW" Text - #36813SpriteFrame(0, 20, 54, 16, 362, 328) // Amy Text - #37814break815#endplatform816end switch817818SpriteFrame(-72, 38, 48, 16, 411, 294) // "CAN" - #38819SpriteFrame(-8, 38, 32, 16, 1, 328) // "GO" - #39820SpriteFrame(40, 38, 32, 16, 34, 328) // "TO" - #40821SpriteFrame(-100, 56, 200, 16, 67, 328) // "HIDDEN PALACE" - #41822823#platform: USE_ORIGINS824SpriteFrame(-124, 0, 120, 15, 126, 427) // Knuckles Rings Text - #42825SpriteFrame(-96, 0, 92, 15, 154, 410) // Amy Rings Text - #43826#endplatform827end event828829830// ========================831// Editor Events832// ========================833834event RSDKDraw835DrawSprite(0)836end event837838839event RSDKLoad840LoadSpriteSheet("Global/Display.gif")841SpriteFrame(-16, -16, 32, 32, 1, 143)842843SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")844end event845846847