Down- A platformer (Mobile friendly)

Instructions: If you liked the project, please love, favorite, and follow to show your support! Thanks to @mister_dazzling for curating this, and @GrahamSH for proposing it for curation. \n\n\nBeat my time (No skips, but you are allowed to break the game): 125.416 \nLoved by @StratfordJames He also commented, way down at the bottom (Scroll down for game story)\nMake sure to press the green flag 2 times to make sure everything loaded correctly. \nYou were working at a nuclear power plant when all of a sudden, there was an earthquake! Avoid self-destruct remotes and nuclear waste as you make your way to the basement to escape through the emergency tunnels before an aftershock arrives.

@Stage\n\n@platformer\n\nwhen flag clicked\nset [gravity v] to [0]\nshow\nset [gravity v] to [5]\ngo to x: (-160) y: (123)\nforever\n    Platfomer\nend\n\nwhen I receive [next leeveo v]\ngo to x: (-160) y: (123)\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <touching (goal v)?> then\n        broadcast (Next Leeveo v)\n        wait until <not <touching (goal v)?>>\n        change [level v] by (1)\n    end\n    if <<touching (level v)?> or <touching (radioactivegunk v)?>> then\n        set [gravity v] to [0]\n    end\n    if <<touching (spike v)?> or <touching (radioactivegunk v)?>> then\n        set [death v] to [1]\n        go to x: (-160) y: (123)\n    end\nend\n\ndefine Platfomer\nif <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    switch costume to (costume1 v)\n    set [xvelocity v] to [5]\n    repeat until <not <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>>\n        change [xvelocity v] by (0.75)\n        change x by (Xvelocity)\n    end\n    set [xvelocity v] to [0]\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    switch costume to (costume2 v)\n    set [xvelocity v] to [-5]\n    repeat until <not <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>>\n        change [xvelocity v] by (-0.75)\n        change x by (Xvelocity)\n    end\n    set [xvelocity v] to [0]\nend\n\nwhen flag clicked\nshow\nset [speed y v] to [0]\nset [falling? v] to [10]\n\ndefine airstuff\nforever\n    set [speed y v] to [0]\n    set [inair v] to [0]\n    if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        set [speed y v] to [11]\n        set [inair v] to [1]\n    end\n    change y by (speed y)\nend\n\nwhen flag clicked\nforever\n    gravity\nend\n\ndefine smoothlanding\nrepeat until <not <touching (level v)?>>\n    change y by (1)\n    set [gravity v] to [0]\nend\n\ndefine gravity\nchange [gravity v] by (-1)\nchange y by (Gravity)\nsmoothlanding\n\nwhen flag clicked\nforever\n    airstuff\nend\n\ndefine cielingdetection\nif <<not <<(speed y) = [0]> and <(Gravity) = [0]>>> and <touching (level v)?>> then\n    change y by (-20)\n    gravity\nend\n\nwhen flag clicked\nforever\n    cielingdetection\nend\n\nwhen I start as a clone\ntrail\n\ndefine deathaffect\nrepeat (10)\n    glide (0.05) secs to x: (x position) y: ((y position) + (5))\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\ndefine trail\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [you lose v]\nhide\nwait until <(lose) = [2]>\nstop [other scripts in sprite v]\n\n@LEVEL\n\nwhen flag clicked\nswitch costume to (level1 v)\nforever\n    play sound [Monk Maz Koshia - Zelda_ Breath Of The Wild Soundtrack v] until done\nend\n\nwhen I receive [next leeveo v]\nnext costume\ngo to x: (-33) y: (9)\n\nwhen flag clicked\nset [lose v] to [0]\nshow\ngo to x: (-33) y: (9)\nforever\n    if <<key (s v) pressed?> and <not <(costume [name v]) = [level8 \(WIP\)]>>> then\n        broadcast (Next Leeveo v)\n        wait until <not <key (s v) pressed?>>\n        change [level v] by (1)\n    end\n    if <not <(lose) = [1]>> then\n        Shake\n    else\n        XtremeShake\n    end\n    if <(costume [name v]) = [level8 \(WIP\)]> then\n        broadcast (done v)\n    end\n    set [levelname v] to (costume [name v])\nend\n\ndefine Shake\nchange x by (1)\nwait (0.1) seconds\nchange y by (1)\nwait (0.1) seconds\nchange x by (-1)\nwait (0.1) seconds\nchange y by (-1)\nwait (0.1) seconds\n\ndefine XtremeShake\nchange x by (15)\nwait (0.01) seconds\nchange y by (15)\nwait (0.01) seconds\nchange x by (-15)\nwait (0.01) seconds\nchange y by (-15)\nwait (0.01) seconds\n\nwhen I receive [you lose v]\nwait until <(lose) = [2]>\nhide\n\n@TEXT\n\nwhen flag clicked\nswitch costume to (text v)\nshow\nforever\n    if <(Level) = [2]> then\n        switch costume to (text2 v)\n    end\n    if <(Level) = [3]> then\n        hide\n        stop [this script v]\n    end\nend\n\nwhen I receive [you lose v]\nhide\n\n@Goal\n\nwhen flag clicked\ngo to x: (-16) y: (0)\ngo to [back v] layer\n\n@spike\n\nwhen flag clicked\nset [cloneid v] to [0]\nhide\nforever\n    if <(Level) = [3]> then\n        switch costume to (4 3 v)\n        go to x: (33) y: (-45)\n        show\n    else\n        if <(Level) = [4]> then\n            hide\n            repeat (4)\n                create clone of (_myself_ v)\n            end\n        else\n            if <(Level) = [6]> then\n                go to x: (30) y: (-83)\n                switch costume to (4 3 v)\n                show\n                create clone of (_myself_ v)\n            else\n                if <(Level) = [8]> then\n                    go to x: (-43) y: (120)\n                    switch costume to (4 3 v)\n                    show\n                    set [cloneid v] to [0]\n                    repeat (3)\n                        create clone of (_myself_ v)\n                    end\n                else\n                    if <(Level) = [9]> then\n                        go to x: (-43) y: (120)\n                        switch costume to (4 2 v)\n                        show\n                        set [cloneid v] to [0]\n                        repeat (3)\n                            create clone of (_myself_ v)\n                        end\n                    else\n                        hide\n                    end\n                end\n            end\n        end\n    end\nend\n\n\n\n\n\nhide\n\nwhen I start as a clone\nswitch costume to (4 3 v)\nif <(Level) = [4]> then\n    if <(cloneid) = [0]> then\n        go to x: (-58) y: (82)\n        show\n        change [cloneid v] by (1)\n    else\n        if <(cloneid) = [1]> then\n            go to x: (-13) y: (82)\n            show\n            change [cloneid v] by (1)\n        else\n            if <(cloneid) = [2]> then\n                go to x: (31) y: (82)\n                show\n                change [cloneid v] by (1)\n            else\n                if <(cloneid) = [3]> then\n                    go to x: (73) y: (82)\n                    show\n                    change [cloneid v] by (1)\n                end\n            end\n        end\n    end\nend\nif <(Level) = [6]> then\n    go to x: (-14) y: (-84)\nend\nif <(Level) = [8]> then\n    if <(cloneid) = [0]> then\n        switch costume to (4 3 v)\n        go to x: (42) y: (122)\n        change [cloneid v] by (1)\n    else\n        if <(cloneid) = [1]> then\n            change [cloneid v] by (1)\n            delete this clone\n        else\n            if <(cloneid) = [2]> then\n                delete this clone\n            else\n                hide\n            end\n        end\n    end\nend\nif <(Level) = [7]> then\n    delete this clone\nend\n\nwhen I start as a clone\nset [levelwhenstarted v] to (Level)\nforever\n    if <not <(levelwhenstarted) = (Level)>> then\n        delete this clone\n    end\nend\n\nwhen I receive [you lose v]\nhide\ndelete this clone\n\nwhen I receive [done v]\nhide\n\nwhen I receive [you lose v]\nhide\n\n@Sprite1\n\nwhen flag clicked\nhide variable [gravity v]\nhide variable [yvelocity v]\nhide variable [xvelocity v]\nif <(username) = [Yeetoburro1]> then\n    ask [Statistics?] and wait\nend\nforever\n    if <(answer) = [Y]> then\n        show variable [gravity v]\n        show variable [yvelocity v]\n        show variable [xvelocity v]\n    end\nend\n\n@radioactivegunk\n\nwhen flag clicked\ngo to x: (15) y: (27)\nhide\nforever\n    if <(Level) = [5]> then\n        switch costume to (costume1 v)\n        show\n    else\n        if <(Level) = [6]> then\n            switch costume to (costume2 v)\n            show\n        else\n            if <(Level) = [8]> then\n                switch costume to (costume3 v)\n                show\n            else\n                if <(Level) = [7]> then\n                    switch costume to (costume4 v)\n                    show\n                else\n                    hide\n                end\n            end\n        end\n    end\nend\n\ndefine Shake\nchange x by (3)\nwait (0.1) seconds\nchange y by (3)\nwait (0.1) seconds\nchange x by (-3)\nwait (0.1) seconds\nchange y by (-3)\nwait (0.1) seconds\n\nwhen flag clicked\nforever\n    if <(lose) = [1]> then\n        XtremeShake\n    else\n        Shake\n    end\nend\n\ndefine XtremeShake\nchange x by (15)\nwait (0.01) seconds\nchange y by (15)\nwait (0.01) seconds\nchange x by (-15)\nwait (0.01) seconds\nchange y by (-15)\nwait (0.01) seconds\n\nwhen I receive [you lose v]\nset [lose v] to [1]\nwait until <(lose) = [2]>\nhide\n\n@thumbnail\n\nwhen flag clicked\nhide\nshow variable [timeleft v]\nshow variable [level v]\n\nwhen I receive [thumbnail v]\nhide variable [level v]\nhide variable [timeleft v]\nshow\ngo to [front v] layer\n\n@platformer2\n\ndefine deathaffect\nrepeat (10)\n    glide (0.05) secs to x: (x position) y: ((y position) + (5))\n    change [ghost v] effect by (10)\nend\nset [death v] to [0]\n\nwhen flag clicked\nforever\n    if <(death) = [1]> then\n        deathaffect\n    else\n        go to (platformer v)\n    end\nend\n\nwhen I receive [you lose v]\nhide\n\n@Sprite2\n\nwhen flag clicked\nreset timer\nforever\n    set [timeleft v] to ((150) - (timer))\n    if <(Timeleft) < [0]> then\n        broadcast (You lose v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [done v]\nstop [other scripts in sprite v]\n\n@Youlose\n\nwhen flag clicked\nhide\n\nwhen I receive [you lose v]\nset [lose v] to [1]\nwait (3) seconds\nshow\nswitch costume to (costume1 v)\nrepeat until <(costume [number v]) = [7]>\n    next costume\n    wait (0.1) seconds\nend\nset [lose v] to [2]\nstop [all v]\n\n@skip\n\nwhen flag clicked\nshow\ngo to x: (168) y: (145)\nforever\n    if <(levelname) = [level8 \(WIP\)]> then\n        hide\n        stop [other scripts in sprite v]\n        stop [this script v]\n    else\n        show\n    end\nend\n\nwhen this sprite clicked\nwait (0.5) seconds\nif <(levelname) = [level8 \(WIP\)]> then\n    stop [this script v]\nelse\n    wait until <not <<touching (mouse-pointer v)?> and <mouse down?>>>\n    change [level v] by (1)\n    broadcast (Next Leeveo v)\nend\n\nif  then\nend\n\n