Pause To Play - A Platformer

Instructions: PLEASE read ALL of the Instructions before playing!\n(Fullscreen recomended for easiest gameplay)\n__________________________________________\nPlease Comment ❤️ and⭐!\n__________________________________________\nA new type of game that's NOWHERE on Scratch! Introducing Pause to Play, A game where you have to pause to play... \n__________________________________________\nControls\nArrow keys or WASD to move\nP to Pause/Unpause\nR to restart the level\nI and O to show and hide the Weekly Record\nK and L to show and hide FPS\nSpace to see Egg Count\n__________________________________________\nThe On Screen Pause Button disappears if you're not using Mobile Controls after level 1. Do not panic in the comments, just use the p key to pause the game.\n__________________________________________\nHint: You can jump on top of the sliders in the options menu.\n__________________________________________\nSpeedruning tips:\n- Only read these if you have already beaten the game or you want spoilers!!\n- If you're trying to set a high score make sure your logged in, I think only Scratchers can set world/weekly records (You need to have an account for around 2 weeks to become a Scratcher). I'm sorry if it still doesn't save.\n- Touchscreens are overpowered to use in the options menu! (but please don't go buy a touchscreen computer just so you can beat this)\n- In some of the newer levels (levels 13+) have you abuse some glitches. Find and master the glitches to be faster.\n- I'll tell you one glitch that is used to move really fast (it's how I set world records.) Abuse the size glitch, it's where you go up to a wall and increase your size to be able to teleport up walls.\n- Love/Fav Detector skips one level. Use it to skip your least favorite level... (By the way the World Record was set using the Love/Fav detector to skip a level)\n__________________________________________\n\nPlease ❤️ and⭐!\n__________________________________________\nIt might be easier to play with two players... One to do the options menu, and one to control the player.\n\n\n\n\n\n\n(Yes I know it is already a game, but it is nowhere on Scratch) \n\n(Thats a lie now, tons of people are copying my idea but I'm the OG!)

@Stage\n\n@Blank\n\n@Player\n\ndefine walk (steps)\nchange x by (steps)\nset [ground lift v] to [0]\nrepeat until <<not <touching (ground v)?>> or <(ground lift) = [8]>>\n    change y by (1)\n    change [ground lift v] by (1)\nend\nif <(ground lift) = [8]> then\n    change x by ((-1) * (steps))\n    change y by (-8)\nend\n\nwhen flag clicked\nset rotation style [left-right v]\nset [y velocity v] to [0]\nforever\n    change [y velocity v] by (-2)\n    change y by (y velocity)\n    change [in air v] by (1)\n    handle ground <(y velocity) > [0]>\nend\n\ndefine handle ground <moving up>\nswitch costume to (high res v)\nrepeat until <not <<<touching (ground v)?> or <touching (sliders//music slider v)?>> or <<touching (sliders//size slider v)?> or <touching (sliders//graphics slider v)?>>>>\n    if <moving up> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [in air v] to [0]\n    end\n    set [y velocity v] to [0]\nend\nswitch costume to (costume1 v)\n\nwhen flag clicked\nset [deaths v] to [0]\nforever\n    if <(y position) < [-170]> then\n        set [y velocity v] to [0]\n        set x to (-230)\n        if <(y position) < [-100]> then\n            set y to (-100)\n        end\n        change [deaths v] by (1)\n        change [lives v] by (-1)\n        broadcast (reboot level v)\n    end\nend\n\ndefine die / next level\nif <(x position) > [230]> then\n    set x to (-230)\n    if <(y position) < [-100]> then\n        set y to (-100)\n    else\n        if <[-5] < (y position)> then\n            set y to (-5)\n        end\n    end\n    broadcast (next level v)\nend\n\nwhen flag clicked\ngo to x: (-230) y: (5)\nforever\n    die / next level\nend\n\nwhen flag clicked\nset [size v] to [60]\nforever\n    set size to (Size) %\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    if <(Quality) = [3]> then\n        switch costume to (high res v)\n    end\n    if <(Quality) = [2]> then\n        switch costume to (costume1 v)\n    end\n    if <(Quality) = [1]> then\n        switch costume to (low res v)\n    end\nend\n\nwhen [r v] key pressed\nset [y velocity v] to [0]\nset x to (-230)\nif <(y position) < [-100]> then\n    set y to (-100)\nend\nchange [deaths v] by (1)\nchange [lives v] by (-1)\n\nset [☁ world record v] to [102]\n\nwhen flag clicked\nforever\n    if <(Idle Timer) = [100]> then\n        say [Hello?] for (4) seconds\n        say [Are You Still There?] for (6) seconds\n    end\n    if <(Idle Timer) = [150]> then\n        say [You Might As Well Just Restart At This Point...] for (6) seconds\n        say [You're Really Just Gonna Leave Me Like That?] for (5) seconds\n        say [Please Play...] for (3) seconds\n        say [Or Pause?] for (3) seconds\n        say [idk anymore] for (5) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Idle Timer) = [70]> then\n        say [You Will Be Considered AFK in: 10] for (1) seconds\n    end\n    if <(Idle Timer) = [71]> then\n        say [You Will Be Considered AFK in: 9] for (1) seconds\n    end\n    if <(Idle Timer) = [72]> then\n        say [You Will Be Considered AFK in: 8] for (1) seconds\n    end\n    if <(Idle Timer) = [73]> then\n        say [You Will Be Considered AFK in: 7] for (1) seconds\n    end\n    if <(Idle Timer) = [74]> then\n        say [You Will Be Considered AFK in: 6] for (1) seconds\n    end\n    if <(Idle Timer) = [75]> then\n        say [You Will Be Considered AFK in: 5] for (1) seconds\n    end\n    if <(Idle Timer) = [76]> then\n        say [You Will Be Considered AFK in: 4] for (1) seconds\n    end\n    if <(Idle Timer) = [77]> then\n        say [You Will Be Considered AFK in: 3] for (1) seconds\n    end\n    if <(Idle Timer) = [78]> then\n        say [You Will Be Considered AFK in: 2] for (1) seconds\n    end\n    if <(Idle Timer) = [79]> then\n        say [You Will Be Considered AFK in: 1] for (1) seconds\n    end\n    if <(Idle Timer) = [80]> then\n        say [You Are AFK] for (8) seconds\n    end\nend\n\nwhen I receive [start game v]\nforever\n    if <<<(STICK BUTTON) > [0]> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> and <(in air) < [8]>> then\n        set [y velocity v] to [14]\n    end\nend\n\nwhen I receive [start game v]\ngo to x: (-230) y: (5)\nforever\n    walk ((STICK X) * (6))\n    point in direction ((STICK X) * (90))\nend\n\nwhen I receive [start game v]\nset [idle timer v] to [0]\nforever\n    change [idle timer v] by (1)\n    wait (1) seconds\nend\n\nwhen I receive [mainmenu v]\nrepeat until <(Game Started) = [yes]>\n    set [idle timer v] to [0]\nend\n\nwhen flag clicked\nset [idle timer v] to [0]\n\nwhen flag clicked\nforever\n    if <mouse down?> then\n        set [idle timer v] to [0]\n    end\nend\n\nwhen flag clicked\nforever\n    if <key (any v) pressed?> then\n        set [idle timer v] to [0]\n    end\nend\n\n@Ground\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nset [win v] to [0]\nswitch costume to (costume1 v)\nforever\n    if <(costume [number v]) = [28]> then\n        set [win v] to [100]\n    end\nend\n\nwhen flag clicked\nif <(Win) = [100]> then\n    broadcast (Win v)\nend\n\nwhen I receive [start game v]\nswitch costume to (costume1 v)\n\nwhen I receive [mainmenu v]\nswitch costume to (costume1 v)\n\n@Instructions\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to [back v] layer\n\nwhen I receive [restart v]\nswitch costume to (costume1 v)\n\nwhen I receive [mainmenu v]\nswitch costume to (costume1 v)\n\nwhen I receive [start game v]\nswitch costume to (costume1 v)\ngo to [back v] layer\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n@Pause Menu//Pause\n\nwhen [p v] key pressed\nif <(Paused) = [1]> then\n    set [paused v] to [0]\nelse\n    set [paused v] to [1]\nend\n\nwhen flag clicked\nset [paused v] to [0]\nset [ghost v] effect to (30)\nhide\n\nwhen I receive [next level v]\nset [paused v] to [0]\nset [ghost v] effect to (30)\nhide\n\nwhen flag clicked\nset [_optionsopen v] to [no]\nset [game started v] to [no]\nforever\n    if <(Paused) = [1]> then\n        go to x: (0) y: (0)\n        show\n        switch costume to (menu v)\n        set [ghost v] effect to (30)\n    end\n    if <(Paused) = [0]> then\n        set [ghost v] effect to (30)\n        hide\n    end\nend\n\nwhen I receive [open options v]\nset [paused v] to [0]\nset [_optionsopen v] to [yes]\n\nwhen [e v] key pressed\nif <(Paused) = [1]> then\n    set [paused v] to [0]\nelse\n    set [paused v] to [1]\nend\n\nwhen I receive [start game v]\nset [game started v] to [yes]\nset [paused v] to [0]\n\nwhen flag clicked\nforever\n    if <(Game Started) = [no]> then\n        hide\n    end\nend\n\nwhen I receive [mainmenu v]\nset [game started v] to [no]\nset [paused v] to [0]\n\n@Pause Menu//Options\n\nwhen flag clicked\nforever\n    if <(Paused) = [1]> then\n        go to x: (0) y: (0)\n        show\n        switch costume to (options v)\n    end\n    if <(Paused) = [0]> then\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to ((70) + ((size) / (2))) %\n    else\n        set size to ((50) + ((size) / (2))) %\n    end\nend\n\nwhen this sprite clicked\nbroadcast (Open Options v)\n\nwhen flag clicked\nforever\n    if <(Game Started) = [no]> then\n        hide\n    end\nend\n\n@Pause Menu//End Game\n\nwhen flag clicked\nforever\n    if <(Paused) = [1]> then\n        go to x: (0) y: (50)\n        show\n        switch costume to (options v)\n    end\n    if <(Paused) = [0]> then\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to ((70) + ((size) / (2))) %\n    else\n        set size to ((50) + ((size) / (2))) %\n    end\nend\n\nwhen this sprite clicked\nbroadcast (MainMenu v)\n\nwhen flag clicked\nforever\n    if <(Game Started) = [no]> then\n        hide\n    end\nend\n\n@Pause Menu//Help\n\nwhen flag clicked\nforever\n    if <(Paused) = [1]> then\n        go to x: (0) y: (-50)\n        show\n        switch costume to (help v)\n    end\n    if <(Paused) = [0]> then\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to ((70) + ((size) / (2))) %\n    else\n        set size to ((50) + ((size) / (2))) %\n    end\nend\n\nwhen this sprite clicked\nsay (item (pick random (1) to (11)) of [help v]) for (3) seconds\n\nwhen flag clicked\ndelete all of [help v]\nadd [Try a different spot...] to [help v]\nadd [Maybe options will help?] to [help v]\nadd [Hmmm....] to [help v]\nadd [Click me again...] to [help v]\nadd [Struggling? Maybe ask the comments...] to [help v]\nadd [Struggling? Read the instructions...] to [help v]\nadd [Maybe try a different spot...] to [help v]\nadd [You should try a different spot...] to [help v]\nadd [Your so close...] to [help v]\nadd [Maybe move your mouse up?] to [help v]\nadd [Um... I think you can move...] to [help v]\n\nwhen flag clicked\nforever\n    if <(Game Started) = [no]> then\n        hide\n    end\nend\n\n@Pause Menu//Options Menu\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nset [ghost v] effect to (30)\n\nwhen I receive [open options v]\nshow\n\nwhen [p v] key pressed\nbroadcast (Close Options v)\n\nwhen I receive [next level v]\nbroadcast (Close Options v)\nhide\n\nwhen [e v] key pressed\nbroadcast (Close Options v)\nhide\n\nwhen I receive [close options v]\nhide\n\n@Sliders//Music\n\nwhen flag clicked\nswitch costume to (music v)\nhide\n\nwhen I receive [open options v]\nshow\ngo to x: (130) y: (0)\n\nwhen I receive [close options v]\nset [_optionsopen v] to [no]\nhide\n\n@Sliders//Size\n\nwhen flag clicked\nswitch costume to (size v)\nhide\n\nwhen I receive [open options v]\nshow\ngo to x: (0) y: (0)\n\nwhen I receive [close options v]\nhide\n\n@Sliders//Graphics\n\nwhen flag clicked\nswitch costume to (graphics v)\nhide\n\nwhen I receive [open options v]\nshow\ngo to x: (-130) y: (0)\n\nwhen I receive [close options v]\nhide\n\n@Sliders//Size Slider\n\nwhen I receive [open options v]\nset x to (-130)\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        repeat until <not <mouse down?>>\n            if <<(VOLUME Sliding) = [false]> and <(GRAPHICS Sliding) = [false]>> then\n                set [size sliding v] to [true]\n                set y to (mouse y)\n                if <(mouse y) > [85]> then\n                    set y to (85)\n                end\n                if <(mouse y) < [-82]> then\n                    set y to (-82)\n                end\n            end\n        end\n        set [size sliding v] to [false]\n    end\nend\n\nwhen I receive [close options v]\nhide\n\nwhen flag clicked\ngo to [front v] layer\nhide\nset y to (85)\n\nwhen flag clicked\nset [size sliding v] to [false]\nforever\n    set [size v] to (((y position) + (80)) * ((60) / (162)))\nend\n\n@Sliders//Graphics Slider\n\nwhen I receive [open options v]\nset x to (0)\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        repeat until <not <mouse down?>>\n            if <<(VOLUME Sliding) = [false]> and <(SIZE Sliding) = [false]>> then\n                set [graphics sliding v] to [true]\n                set y to (mouse y)\n                if <(mouse y) > [85]> then\n                    set y to (85)\n                end\n                if <(mouse y) < [-82]> then\n                    set y to (-82)\n                end\n            end\n        end\n        set [graphics sliding v] to [false]\n    end\nend\n\nwhen I receive [close options v]\nhide\n\nwhen flag clicked\ngo to [front v] layer\nhide\nset y to (0)\n\nwhen flag clicked\nset [graphics sliding v] to [false]\nforever\n    if <[23] < (y position)> then\n        set [quality v] to [3]\n    end\n    if <<(y position) > [-34]> and <[23] > (y position)>> then\n        set [quality v] to [2]\n    end\n    if <<(y position) > [-85]> and <[-34] > (y position)>> then\n        set [quality v] to [1]\n    end\nend\n\n@Sliders//Music Slider\n\nwhen I receive [open options v]\nset x to (130)\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        repeat until <not <mouse down?>>\n            if <<(GRAPHICS Sliding) = [false]> and <(SIZE Sliding) = [false]>> then\n                set [volume sliding v] to [true]\n                set y to (mouse y)\n                if <(mouse y) > [85]> then\n                    set y to (85)\n                end\n                if <(mouse y) < [-82]> then\n                    set y to (-82)\n                end\n            end\n        end\n        set [volume sliding v] to [false]\n    end\nend\n\nwhen I receive [close options v]\nhide\n\nwhen flag clicked\ngo to [front v] layer\nhide\nset y to (0)\n\nwhen flag clicked\nset [volume sliding v] to [false]\nforever\n    set [volume slider v] to (((y position) + (80)) * ((60) / (162)))\nend\n\nwhen flag clicked\nwait (0.25) seconds\ncreate clone of (_myself_ v)\nforever\n    set [\(music\) loopable? v] to [0]\n    start sound [pause2play_playing v]\n    wait (14) seconds\n    change [\(music\) loopable? v] by (1)\n    wait until <(\(Music\) loopAble?) = [2]>\nend\n\nwhen flag clicked\nforever\n    if <<(Paused) = [1]> or <(optionsOpen?) = [1]>> then\n        change [vol v] by (((0) - (vol)) / (3))\n    else\n        change [vol v] by (((VOLUME SLIDER) - (vol)) / (3))\n    end\n    set volume to (vol) %\nend\n\nwhen I start as a clone\nforever\n    start sound [pause2play_paused v]\n    wait (14) seconds\n    change [\(music\) loopable? v] by (1)\n    wait until <(\(Music\) loopAble?) = [2]>\nend\n\nwhen I start as a clone\nforever\n    if <<(Paused) = [1]> or <(optionsOpen?) = [1]>> then\n        change [vol v] by (((VOLUME SLIDER) - (vol)) / (3))\n    else\n        change [vol v] by (((0) - (vol)) / (3))\n    end\n    set volume to (vol) %\nend\n\nwhen I receive [close options v]\nset [optionsopen? v] to [0]\n\nwhen I receive [open options v]\nset [optionsopen? v] to [1]\n\n@World Record System\n\nwhen flag clicked\nhide\n\nset [☁ world record v] to [9999999]\n\nwhen I receive [start game v]\nswitch backdrop to (backdrop1 v)\nreset timer\nrepeat until <<(Win) = [100]> or <(Admin) = [on]>>\n    set [time v] to (timer)\nend\nif <(Time) < (☁ World Record)> then\n    set [☁ world record v] to (round (Time))\nend\n\n@Weekly Record System\n\nwhen flag clicked\nif <([floor v] of ((☁ day last viewed) / (7)) ) < ([floor v] of (([floor v] of (days since 2000) ) / (7)) )> then\n    set [☁ weekly record v] to [99999]\nend\nset [☁ day last viewed v] to ([floor v] of (days since 2000) )\n\nwhen flag clicked\nhide\n\nwhen [i v] key pressed\nshow variable [☁ weekly record v]\n\nwhen [o v] key pressed\nhide variable [☁ weekly record v]\n\nwhen flag clicked\nwait until <(Win) = [100]>\nif <(Time) < (☁ Weekly Record)> then\n    set [☁ weekly record v] to (round (Time))\nend\n\n@Love and Fav Detector\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nset [touching? v] to []\nset [love/fav v] to [0]\nforever\n    set [touching? v] to []\n    DETECT [love] at [-201] [-220]\n    DETECT [fav] at [-201] [-220]\nend\n\ndefine DETECT (costume) at (x) (y)\nswitch costume to (costume1 v)\nset size to (28000) %\ngo to x: (x) y: (y)\nset size to (100) %\nswitch costume to (costume)\nif <touching (mouse-pointer v)?> then\n    set [touching? v] to (costume [name v])\nend\n\nwhen flag clicked\nforever\n    wait until <(touching?) = [love]>\n    wait (0.2) seconds\n    if <(touching?) = [love]> then\n        change [love/fav v] by (1)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    wait until <(touching?) = [fav]>\n    wait (0.2) seconds\n    if <(touching?) = [fav]> then\n        change [love/fav v] by (1)\n        stop [this script v]\n    end\nend\n\n@Love/Fav Advertise\n\nwhen flag clicked\ngo to x: (0) y: (75)\nhide\n\nwhen I receive [start game v]\nrepeat until <(Win) = [100]>\n    repeat until <(Love/Fav) = [2]>\n        wait (50) seconds\n        show\n        glide (0.3) secs to x: (0) y: (0)\n        wait (3) seconds\n        glide (0.3) secs to x: (0) y: (75)\n        hide\n    end\nend\nstop [this script v]\n\n@TY Love/Fav\n\nwhen flag clicked\nswitch costume to (costume2 v)\ngo to [front v] layer\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\n\nwhen I receive [start game v]\nforever\n    if <(Love/Fav) = [2]> then\n        switch costume to (luvfav v)\n        if <not <(LevelNumber?) = [28]>> then\n            broadcast (next level v)\n        end\n        repeat (100)\n            change [ghost v] effect by (-5)\n        end\n        set [ghost v] effect to (0)\n        wait (3) seconds\n        repeat (100)\n            change [ghost v] effect by (5)\n        end\n        set [love/fav v] to [0]\n        switch costume to (costume2 v)\n    end\nend\n\n@FPS\n\nwhen flag clicked\nforever\n    change [frame v] by (1)\nend\n\nwhen flag clicked\nhide variable [fps v]\nforever\n    wait (1) seconds\n    if <(Frame) > [51]> then\n        set [fps v] to [51]\n    else\n        set [fps v] to (Frame)\n    end\n    set [frame v] to [0]\nend\n\nwhen [k v] key pressed\nshow variable [fps v]\n\nwhen [l v] key pressed\nhide variable [fps v]\n\n@EasterEgg\n\nwhen flag clicked\nhide variable [eggs found v]\nset [levelnumber? v] to [1]\nswitch costume to (blank v)\n\nwhen I receive [next level v]\nchange [levelnumber? v] by (1)\n\nshow\n\nhide\n\nwhen flag clicked\nset [eggs found v] to [0/3]\nhide variable [eggs found v]\nforever\n    if <touching (player v)?> then\n        if <(LevelNumber?) = [2]> then\n            show variable [eggs found v]\n            switch costume to (blank v)\n            set [eggs found v] to [1/3]\n            wait (3) seconds\n            hide variable [eggs found v]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <<<(LevelNumber?) = [2]> or <(LevelNumber?) = [7]>> or <(LevelNumber?) = [17]>>> then\n        switch costume to (blank v)\n    end\nend\n\nwhen flag clicked\nhide variable [eggs found v]\nforever\n    if <touching (player v)?> then\n        if <(LevelNumber?) = [7]> then\n            show variable [eggs found v]\n            switch costume to (blank v)\n            if <(Eggs Found) = [1/3]> then\n                set [eggs found v] to [2/3]\n            end\n            if <(Eggs Found) = [0/3]> then\n                set [eggs found v] to [1/3]\n            end\n            wait (3) seconds\n            hide variable [eggs found v]\n        end\n    end\nend\n\nwhen flag clicked\nhide variable [eggs found v]\nforever\n    if <touching (player v)?> then\n        if <(LevelNumber?) = [17]> then\n            show variable [eggs found v]\n            switch costume to (blank v)\n            if <(Eggs Found) = [1/3]> then\n                set [eggs found v] to [2/3]\n            end\n            if <(Eggs Found) = [0/3]> then\n                set [eggs found v] to [1/3]\n            end\n            if <(Eggs Found) = [2/3]> then\n                set [eggs found v] to [3/3]\n            end\n            wait (3) seconds\n            hide variable [eggs found v]\n        end\n    end\nend\n\nwhen flag clicked\n\nforever\n    if <(Win) = [100]> then\n        show variable [eggs found v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<(Win) = [100]> and <(Eggs Found) = [3/3]>> then\n        switch backdrop to (all eggs! v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Admin) = [off]> then\n        if <key (space v) pressed?> then\n            show variable [eggs found v]\n            wait until <not <key (space v) pressed?>>\n            hide variable [eggs found v]\n        end\n    end\nend\n\nwhen I receive [mainmenu v]\nswitch costume to (blank v)\nset [eggs found v] to [0/3]\nhide variable [eggs found v]\nset [levelnumber? v] to [1]\n\nwhen I receive [mainmenu v]\nforever\n    if <(LevelNumber?) = [17]> then\n        switch costume to (easteregg3 v)\n        set size to (100) %\n        go to x: (0) y: (0)\n        repeat (10)\n            change size by (-9)\n        end\n        glide (0.25) secs to x: (5) y: (-109)\n        stop [this script v]\n    end\nend\n\nwhen I receive [mainmenu v]\nforever\n    if <(LevelNumber?) = [7]> then\n        switch costume to (easteregg2 v)\n        set size to (100) %\n        go to x: (0) y: (0)\n        repeat (10)\n            change size by (-9)\n        end\n        glide (0.25) secs to x: (16) y: (144)\n        stop [this script v]\n    end\nend\n\nwhen I receive [mainmenu v]\nforever\n    if <(LevelNumber?) = [2]> then\n        switch costume to (easteregg1 v)\n        set size to (100) %\n        go to x: (0) y: (0)\n        repeat (10)\n            change size by (-9)\n        end\n        glide (0.25) secs to x: (140) y: (-118)\n        stop [this script v]\n    end\nend\n\n@Menu\n\nwhen I start as a clone\nif <(costume [name v]) = [slider]> then\n    wait (1) seconds\n    glide (1) secs to x: (-142) y: (-50)\n    wait (1.5) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(costume [name v]) = [animate]> then\n    wait (1.5) seconds\n    repeat (15)\n        change size by (-5)\n        change y by (-1.5)\n    end\n    glide (0.4) secs to x: (40) y: (9)\n    glide (0.2) secs to x: (92) y: (-105)\n    wait (1) seconds\n    glide (1.5) secs to x: (240) y: (-105)\n    delete this clone\nend\n\nwhen I start as a clone\nif <(costume [name v]) = [shade]> then\n    wait (3.5) seconds\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\nwhen I receive [start game v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [mainmenu v]\nforever\n    set [ghost v] effect to (0)\n    point in direction (90)\n    set size to (100) %\n    switch costume to (bg v)\n    go to x: (0) y: (0)\n    show\n    create clone of (_myself_ v)\n    switch costume to (animate v)\n    go to x: (-250) y: (-88)\n    set size to (100) %\n    wait (20) seconds\nend\n\nwhen flag clicked\nbroadcast (MainMenu v)\n\nwhen I receive [mainmenu v]\nforever\n    if <(costume [name v]) = [animate]> then\n        go to [front v] layer\n        glide (1) secs to x: (-100) y: (-88)\n        wait (2) seconds\n        switch costume to (animateflip v)\n        glide (0.2) secs to x: (-200) y: (-88)\n        switch costume to (animate v)\n        wait (3) seconds\n        glide (0.4) secs to x: (-120) y: (-88)\n        glide (0.2) secs to x: (-82) y: (15)\n        glide (0.2) secs to x: (-31) y: (40)\n        glide (0.7) secs to x: (18) y: (40)\n        create clone of (_myself_ v)\n        switch costume to (shade v)\n        set [ghost v] effect to (100)\n        repeat (20)\n            change [ghost v] effect by (-5)\n        end\n        create clone of (_myself_ v)\n        switch costume to (slider v)\n        go to x: (-142) y: (30)\n        create clone of (_myself_ v)\n        switch costume to (mouse v)\n        set size to (10) %\n        go to x: (-71) y: (-38)\n        glide (1) secs to x: (-130) y: (23)\n        if <(costume [name v]) = [mouse]> then\n            glide (1) secs to x: (-130) y: (-55)\n            go to [front v] layer\n            wait (3) seconds\n            glide (1) secs to x: (6) y: (-31)\n            change size by (-2)\n            wait (0.3) seconds\n            change size by (2)\n            wait (1) seconds\n            change size by (-2)\n            wait (0.3) seconds\n            change size by (2)\n            wait (2) seconds\n            hide\n            delete this clone\n        end\n    end\nend\n\n@Play Button\n\nwhen this sprite clicked\nwait until <not <mouse down?>>\nbroadcast (Start Game v)\nhide\nshow variable [time v]\nshow variable [☁ world record v]\n\nwhen I receive [mainmenu v]\nshow\nset size to (175) %\ngo to x: (0) y: (-30)\nswitch costume to (play v)\ngo to [front v] layer\nhide variable [☁ weekly record v]\nhide variable [☁ world record v]\nhide variable [time v]\nhide variable [fps v]\n\nwhen I receive [mainmenu v]\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to ((100) + ((size) / (2))) %\n        switch costume to (pause v)\n    else\n        set size to ((80) + ((size) / (2))) %\n        switch costume to (play v)\n    end\nend\n\n@2 Control Stick\n\ndefine Keyboard Controls\nset [stick x v] to <<key (right arrow v) pressed?> or <key (d v) pressed?>>\nchange [stick x v] by ((0) - <<key (left arrow v) pressed?> or <key (a v) pressed?>>)\nset [stick y v] to <<key (up arrow v) pressed?> or <key (w v) pressed?>>\nchange [stick y v] by ((0) - <<key (down arrow v) pressed?> or <key (s v) pressed?>>)\n\nwhen flag clicked\nswitch costume to (base v)\ngo to [front v] layer\nset size to (80) %\nset [ghost v] effect to (60)\nhide\nset [range v] to ((size) / (2.5))\nforever\n    go to x: (-174) y: (-118)\nend\n\ndefine Stick Activated\ngo to (mouse-pointer v)\nswitch costume to (ready v)\ncreate clone of (_myself_ v)\nswitch costume to (stick v)\ncreate clone of (_myself_ v)\nswitch costume to (base active v)\nset [stick button v] to []\nrepeat until <(distance to [mouse-pointer v]) > ((size) * (1.5))>\n    Detect Stick Movement\n    Detect Stick Button\nend\nbroadcast (Deactivate Stick v)\nswitch costume to (base v)\n\ndefine Detect Stick Movement\nset [stick x v] to (((mouse x) - (x position)) / (range))\nset [stick y v] to (((mouse y) - (y position)) / (range))\nif <([abs v] of (STICK X) ) > [1]> then\n    set [stick x v] to ((STICK X) / ([abs v] of (STICK X) ))\nend\nif <([abs v] of (STICK Y) ) > [1]> then\n    set [stick y v] to ((STICK Y) / ([abs v] of (STICK Y) ))\nend\n\ndefine Detect Stick Button\nif <mouse down?> then\n    if <(STICK BUTTON) > []> then\n        change [stick button v] by (1)\n    end\nelse\n    set [stick button v] to [0]\nend\n\nwhen I receive [deactivate stick v]\ndelete this clone\n\nwhen I start as a clone\nif <(costume [name v]) = [Stick]> then\n    go [forward v] (1) layers\n    set [ghost v] effect to (0)\n    forever\n        go to (2 control stick v)\n        change x by ((STICK X) * (range))\n        change y by ((STICK Y) * (range))\n    end\nend\ngo to x: (174) y: (-118)\nwait until <not <mouse down?>>\nswitch costume to (base active v)\nforever\n    if <mouse down?> then\n        set [ghost v] effect to (25)\n    else\n        set [ghost v] effect to (60)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(_MobileControls) = [on]> then\n        show\n        repeat until <not <mouse down?>>\n            Keyboard Controls\n        end\n        repeat until <mouse down?>\n            Keyboard Controls\n        end\n        if <(distance to [mouse-pointer v]) < (size)> then\n            Stick Activated\n        end\n    else\n        hide\n        Keyboard Controls\n    end\nend\n\n@Mobile Toggle\n\nwhen I receive [open options v]\nshow\n\nwhen I receive [close options v]\nhide\n\nwhen flag clicked\ngo to x: (36) y: (120)\nswitch costume to (off v)\nset [_mobilecontrols v] to [off]\nhide\n\nwhen this sprite clicked\nnext costume\nif <(costume [name v]) = [On]> then\n    set [_mobilecontrols v] to [on]\nelse\n    set [_mobilecontrols v] to [off]\nend\n\n@Pause Mobile\n\nwhen flag clicked\ngo to x: (208) y: (120)\nhide\n\nwhen this sprite clicked\nif <(Paused) = [1]> then\n    set [paused v] to [0]\nelse\n    set [paused v] to [1]\nend\nbroadcast (Close Options v)\n\nwhen I receive [start game v]\nshow\n\nwhen flag clicked\nforever\n    if <<(LevelNumber?) > [1]> and <(_MobileControls) = [off]>> then\n        hide\n    end\n    if <(_MobileControls) = [on]> then\n        show\n    end\nend\n\n@Admin\n\nwhen I receive [admin v]\nif <(Admin) = [off]> then\n    set [admin v] to [on]\n    set [time v] to [N/A]\n    forever\n        if <key (space v) pressed?> then\n            broadcast (next level v)\n            wait until <not <key (space v) pressed?>>\n        end\n    end\nelse\n    set [admin v] to [off]\n    broadcast (Start Game v)\n    stop [this script v]\nend\n\nwhen flag clicked\nset [admin v] to [off]\n\n