Path: blob/main/Scripts/R5/TunnelPath1.txt
1319 views
//---------------Sonic CD Tunnel Path 1 Script----------------//1//--------Scripted by Christian Whitehead 'The Taxman'--------//2//-------Unpacked By Rubberduckycooly's Script Unpacker-------//34// Aliases5#alias Object.Value0 : Object.Timer67// States8#alias 0 : TUNNELPATH_IDLE9#alias 1 : TUNNELPATH_ACTIVE1011// Global SFX12#alias 7 : SFX_G_RELEASE1314// Priority15#alias 0 : PRIORITY_BOUNDS16#alias 1 : PRIORITY_ACTIVE171819sub ObjectMain2021if Object.State == TUNNELPATH_ACTIVE22if Player.State == Player_State_Death23Object.State = TUNNELPATH_IDLE24end if2526TempValue0 = Object.Timer2728Object.Timer++2930Player.Speed = Player.XPos31Player.Animation = ANI_JUMPING32Player.AnimationSpeed = 24033switch TempValue034case 035Player.XPos = 0xDA0036Player.YPos = 0xBA0037break38case 139Player.XPos = 0xDA0040Player.YPos = 0xABA0041break42case 243Player.XPos = 0xDA0044Player.YPos = 0x14BA0045break46case 347Player.XPos = 0xDA0048Player.YPos = 0x1EBA0049break50case 451Player.XPos = 0xDA0052Player.YPos = 0x28BA0053break54case 555Player.XPos = 0xDA0056Player.YPos = 0x32BA0057break58case 659Player.XPos = 0xDA0060Player.YPos = 0x38BA0061break62case 763Player.XPos = 0xADA0064Player.YPos = 0x403A0065break66case 867Player.XPos = 0x14DA0068Player.YPos = 0x47BA0069break70case 971Player.XPos = 0x1EDA0072Player.YPos = 0x4F3A0073break74case 1075Player.XPos = 0x20DA0076Player.YPos = 0x503A0077break78case 1179Player.XPos = 0x16DA0080Player.YPos = 0x52BA0081break82case 1283Player.XPos = 0xCDA0084Player.YPos = 0x553A0085break86case 1387Player.XPos = 0x2DA0088Player.YPos = 0x57BA0089break90case 1491Player.XPos = -0x7260092Player.YPos = 0x5A3A0093break94case 1595Player.XPos = -0x11260096Player.YPos = 0x5CBA0097break98case 1699Player.XPos = -0x1B2600100Player.YPos = 0x5F3A00101break102case 17103Player.XPos = -0x252600104Player.YPos = 0x61BA00105break106case 18107Player.XPos = -0x2F2600108Player.YPos = 0x643A00109break110case 19111Player.XPos = -0x392600112Player.YPos = 0x66BA00113break114case 20115Player.XPos = -0x432600116Player.YPos = 0x693A00117break118case 21119Player.XPos = -0x4D2600120Player.YPos = 0x6BBA00121break122case 22123Player.XPos = -0x572600124Player.YPos = 0x6E3A00125break126case 23127Player.XPos = -0x5F2600128Player.YPos = 0x703A00129break130case 24131Player.XPos = -0x552600132Player.YPos = 0x72BA00133break134case 25135Player.XPos = -0x4B2600136Player.YPos = 0x753A00137break138case 26139Player.XPos = -0x412600140Player.YPos = 0x77BA00141break142case 27143Player.XPos = -0x372600144Player.YPos = 0x7A3A00145break146case 28147Player.XPos = -0x2D2600148Player.YPos = 0x7CBA00149break150case 29151Player.XPos = -0x232600152Player.YPos = 0x7F3A00153break154case 30155Player.XPos = -0x192600156Player.YPos = 0x81BA00157break158case 31159Player.XPos = -0xF2600160Player.YPos = 0x843A00161break162case 32163Player.XPos = -0x52600164Player.YPos = 0x86BA00165break166case 33167Player.XPos = 0x4DA00168Player.YPos = 0x893A00169break170case 34171Player.XPos = 0xEDA00172Player.YPos = 0x8BBA00173break174case 35175Player.XPos = 0x18DA00176Player.YPos = 0x8E3A00177break178case 36179Player.XPos = 0x20DA00180Player.YPos = 0x903A00181break182case 37183Player.XPos = 0x16DA00184Player.YPos = 0x92BA00185break186case 38187Player.XPos = 0xCDA00188Player.YPos = 0x953A00189break190case 39191Player.XPos = 0x2DA00192Player.YPos = 0x97BA00193break194case 40195Player.XPos = -0x72600196Player.YPos = 0x9A3A00197break198case 41199Player.XPos = -0x112600200Player.YPos = 0x9CBA00201break202case 42203Player.XPos = -0x1B2600204Player.YPos = 0x9F3A00205break206case 43207Player.XPos = -0x252600208Player.YPos = 0xA1BA00209break210case 44211Player.XPos = -0x2F2600212Player.YPos = 0xA43A00213break214case 45215Player.XPos = -0x392600216Player.YPos = 0xA6BA00217break218case 46219Player.XPos = -0x432600220Player.YPos = 0xA93A00221break222case 47223Player.XPos = -0x4D2600224Player.YPos = 0xABBA00225break226case 48227Player.XPos = -0x572600228Player.YPos = 0xAE3A00229break230case 49231Player.XPos = -0x5F2600232Player.YPos = 0xB03A00233break234case 50235Player.XPos = -0x552600236Player.YPos = 0xB2BA00237break238case 51239Player.XPos = -0x4B2600240Player.YPos = 0xB53A00241break242case 52243Player.XPos = -0x412600244Player.YPos = 0xB7BA00245break246case 53247Player.XPos = -0x372600248Player.YPos = 0xBA3A00249break250case 54251Player.XPos = -0x2D2600252Player.YPos = 0xBCBA00253break254case 55255Player.XPos = -0x232600256Player.YPos = 0xBF3A00257break258case 56259Player.XPos = -0x192600260Player.YPos = 0xC1BA00261break262case 57263Player.XPos = -0xF2600264Player.YPos = 0xC43A00265break266case 58267Player.XPos = -0x52600268Player.YPos = 0xC6BA00269break270case 59271Player.XPos = 0x4DA00272Player.YPos = 0xC93A00273break274case 60275Player.XPos = 0xEDA00276Player.YPos = 0xCBBA00277break278case 61279Player.XPos = 0x18DA00280Player.YPos = 0xCE3A00281break282case 62283Player.XPos = 0x20DA00284Player.YPos = 0xD03A00285break286case 63287Player.XPos = 0x2ADA00288Player.YPos = 0xE0BA00289break290case 64291Player.XPos = 0x34DA00292Player.YPos = 0xE87200293294Object.State = TUNNELPATH_IDLE295Object.Priority = PRIORITY_BOUNDS296297Player.XVelocity = 0xA0000298Player.Speed = 0xA0000299Player.YVelocity = 0x60000300301#platform: Use_Origins302Player.State = Player_State_Air_NoDropDash303#endplatform304305#platform: Use_Standalone306Player.State = Player_State_Air307#endplatform308309Player.ObjectInteraction = true310break311end switch312313Player.XPos += Object.XPos314Player.YPos += Object.YPos315if Object.State > TUNNELPATH_IDLE316Player.Speed -= Player.XPos317FlipSign(Player.Speed)318end if319end if320end sub321322323sub ObjectPlayerInteraction324325if Object.PropertyValue == 0326if Player.State != Player_State_Static327PlayerObjectCollision(C_TOUCH, -8, -16, 8, 16)328329if CheckResult == true330// Engage the Player with the Tunnel331332Player.State = Player_State_Static333Player.ObjectInteraction = false334335Object.State = TUNNELPATH_ACTIVE336Object.Timer = 0337// Make this Object always active, as if it ever stops running,338// then the Player will be stuck in the Tube forever339Object.Priority = PRIORITY_ACTIVE340341PlaySfx(SFX_G_RELEASE, false)342end if343end if344end if345346end sub347348349// ========================350// Editor Subs351// ========================352353sub RSDKDraw354DrawSprite(0)355356if Editor.ShowGizmos == true357// heh i hope this works lol358// gonna ignore editor.drawingoverlay for this because i don't imagine this'll be kept anyway359360TempValue2 = 0361while TempValue2 < 64362switch TempValue2363case 0364TempValue0 = 55808365TempValue1 = 47616366break367368case 1369TempValue0 = 55808370TempValue1 = 702976371break372373case 2374TempValue0 = 55808375TempValue1 = 1358336376break377378case 3379TempValue0 = 55808380TempValue1 = 2013696381break382383case 4384TempValue0 = 55808385TempValue1 = 2669056386break387388case 5389TempValue0 = 55808390TempValue1 = 3324416391break392393case 6394TempValue0 = 55808395TempValue1 = 3717632396break397398case 7399TempValue0 = 711168400TempValue1 = 4209152401break402403case 8404TempValue0 = 1366528405TempValue1 = 4700672406break407408case 9409TempValue0 = 2021888410TempValue1 = 5192192411break412413case 10414TempValue0 = 2152960415TempValue1 = 5257728416break417418case 11419TempValue0 = 1497600420TempValue1 = 5421568421break422423case 12424TempValue0 = 842240425TempValue1 = 5585408426break427428case 13429TempValue0 = 186880430TempValue1 = 5749248431break432433case 14434TempValue0 = -468480435TempValue1 = 5913088436break437438case 15439TempValue0 = -1123840440TempValue1 = 6076928441break442443case 16444TempValue0 = -1779200445TempValue1 = 6240768446break447448case 17449TempValue0 = -2434560450TempValue1 = 6404608451break452453case 18454TempValue0 = -3089920455TempValue1 = 6568448456break457458case 19459TempValue0 = -3745280460TempValue1 = 6732288461break462463case 20464TempValue0 = -4400640465TempValue1 = 6896128466break467468case 21469TempValue0 = -5056000470TempValue1 = 7059968471break472473case 22474TempValue0 = -5711360475TempValue1 = 7223808476break477478case 23479TempValue0 = -6235648480TempValue1 = 7354880481break482483case 24484TempValue0 = -5580288485TempValue1 = 7518720486break487488case 25489TempValue0 = -4924928490TempValue1 = 7682560491break492493case 26494TempValue0 = -4269568495TempValue1 = 7846400496break497498case 27499TempValue0 = -3614208500TempValue1 = 8010240501break502503case 28504TempValue0 = -2958848505TempValue1 = 8174080506break507508case 29509TempValue0 = -2303488510TempValue1 = 8337920511break512513case 30514TempValue0 = -1648128515TempValue1 = 8501760516break517518case 31519TempValue0 = -992768520TempValue1 = 8665600521break522523case 32524TempValue0 = -337408525TempValue1 = 8829440526break527528case 33529TempValue0 = 317952530TempValue1 = 8993280531break532533case 34534TempValue0 = 973312535TempValue1 = 9157120536break537538case 35539TempValue0 = 1628672540TempValue1 = 9320960541break542543case 36544TempValue0 = 2152960545TempValue1 = 9452032546break547548case 37549TempValue0 = 1497600550TempValue1 = 9615872551break552553case 38554TempValue0 = 842240555TempValue1 = 9779712556break557558case 39559TempValue0 = 186880560TempValue1 = 9943552561break562563case 40564TempValue0 = -468480565TempValue1 = 10107392566break567568case 41569TempValue0 = -1123840570TempValue1 = 10271232571break572573case 42574TempValue0 = -1779200575TempValue1 = 10435072576break577578case 43579TempValue0 = -2434560580TempValue1 = 10598912581break582583case 44584TempValue0 = -3089920585TempValue1 = 10762752586break587588case 45589TempValue0 = -3745280590TempValue1 = 10926592591break592593case 46594TempValue0 = -4400640595TempValue1 = 11090432596break597598case 47599TempValue0 = -5056000600TempValue1 = 11254272601break602603case 48604TempValue0 = -5711360605TempValue1 = 11418112606break607608case 49609TempValue0 = -6235648610TempValue1 = 11549184611break612613case 50614TempValue0 = -5580288615TempValue1 = 11713024616break617618case 51619TempValue0 = -4924928620TempValue1 = 11876864621break622623case 52624TempValue0 = -4269568625TempValue1 = 12040704626break627628case 53629TempValue0 = -3614208630TempValue1 = 12204544631break632633case 54634TempValue0 = -2958848635TempValue1 = 12368384636break637638case 55639TempValue0 = -2303488640TempValue1 = 12532224641break642643case 56644TempValue0 = -1648128645TempValue1 = 12696064646break647648case 57649TempValue0 = -992768650TempValue1 = 12859904651break652653case 58654TempValue0 = -337408655TempValue1 = 13023744656break657658case 59659TempValue0 = 317952660TempValue1 = 13187584661break662663case 60664TempValue0 = 973312665TempValue1 = 13351424666break667668case 61669TempValue0 = 1628672670TempValue1 = 13515264671break672673case 62674TempValue0 = 2152960675TempValue1 = 13646336676break677678case 63679TempValue0 = 2808320680TempValue1 = 14727680681break682683case 64684TempValue0 = 3463680685TempValue1 = 15233536686break687688end switch689690TempValue0 += Object.XPos691TempValue1 += Object.YPos692693DrawRectWorld(TempValue0, TempValue1, 4, 4, 255, 255, 255, 255)694695TempValue2++696loop697end if698end sub699700701sub RSDKLoad702LoadSpriteSheet("Global/Display.gif")703SpriteFrame(-16, -16, 32, 32, 1, 143) // #0 - "Script" Icon704705SetVariableAlias(ALIAS_VAR_PROPVAL, "unused")706end sub707708709