Level Upgrade (A platformer)

Instructions: GAME - Level Upgrade (A platformer)\n\nART - @RainFreeze\n\nCODE - @RainFreeze\n\nIDEA - What if there was a game that the level stayed the same but changed? What if the level upgraded? What if it the character was purple? (Also I thought it would be funny to add that, if your reading this comment "purple", most people won't. Most people won't even read this) Anyways this is that game.\n\nHOW TO PLAY - \nUse arrow keys to move, or ASWD\nLike, Star, Follow!\n\nFAMOUS ACTIVITY -\n\n@ROMANIADANI - "Nice game"\nLOVED AND STARED\n\n@CoderOfGod - "Wow! I love the level transition! Really cool!"\nLOVED AND STARED\n\n@prodannau - “Awesome =^-^=“\nLOVED AND STARED\n\nOTHER NOTES - \nDon't waste your time at the end trying to get to the portal, its there so you know there might be another part to this game \n\n1000 VEIWS??? - 1/5/22

@Stage\n\nwhen flag clicked\nforever\n    play sound [TIN - Ticking v] until done\nend\n\n@Player\n\nwhen flag clicked\nset [dead v] to [0]\nhide\nwait until <(Level) = [1]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [2]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [3]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [4]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [5]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [6]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [7]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [8]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [9]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [10]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [11]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [12]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [13]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [14]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [15]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [16]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [17]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [18]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [19]>\nshow variable [dead v]\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [20]>\nstop [other scripts in sprite v]\nLevels\nwait until <(Level) = [21]>\nstop [other scripts in sprite v]\n\nwhen I start as a clone\nClone [1]\nClone [2]\nClone [3]\nClone [4]\nClone [5]\nClone [6]\nClone [7]\nClone [8]\nClone [9]\nClone [10]\nClone [11]\nClone [12]\nClone [13]\nClone [14]\nClone [15]\nClone [16]\nClone [17]\nClone [18]\nClone [19]\nClone [20]\n\ndefine Clone (1)\nif <(Level) = (1)> then\n    go to [front v] layer\n    set [x v] to [0]\n    set [y v] to [0]\n    wait (0.5) seconds\n    show\n    forever\n        if <not <(Level) = (1)>> then\n            delete this clone\n        end\n        if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n            point in direction (-90)\n            change [x v] by (-1)\n        end\n        if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n            point in direction (90)\n            change [x v] by (1)\n        end\n        set [x v] to ((x) * (0.9))\n        change x by (x)\n        if <touching color (#000000)?> then\n            change y by (1)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change y by (1)\n                    if <touching color (#000000)?> then\n                        change y by (1)\n                        if <touching color (#000000)?> then\n                            change y by (1)\n                        end\n                    end\n                end\n            end\n        end\n        if <touching color (#000000)?> then\n            change x by ((x) * (-1))\n            change y by (-5)\n            if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n                if <(x) > [0]> then\n                    set [x v] to [-5]\n                else\n                    set [x v] to [5]\n                end\n                set [y v] to [10]\n            else\n                set [y v] to [0]\n            end\n        end\n        change [y v] by (-1)\n        change y by (y)\n        if <touching color (#000000)?> then\n            change y by ((y) * (-1))\n            set [y v] to [0]\n        end\n        change y by (-1)\n        if <touching color (#000000)?> then\n            if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n                set [y v] to [12]\n            end\n        end\n        change y by (1)\n        if <touching color (#ff0000)?> then\n            change [dead v] by (1)\n            repeat (5)\n                change [ghost v] effect by (20)\n            end\n            go to x: (-220) y: (40)\n            set [x v] to [0]\n            set [y v] to [0]\n            repeat (5)\n                change [ghost v] effect by (-20)\n            end\n        end\n        if <touching color (#3eaf04)?> then\n            set [y v] to [16]\n        end\n    end\nend\n\ndefine Levels\nhide\nset [x v] to [0]\nset [y v] to [0]\nset rotation style [left-right v]\nswitch costume to (player v)\nset size to (120) %\ngo to x: (-220) y: (40)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nhide variable [dead v]\n\n@Levels\n\nwhen flag clicked\nset [move v] to [0]\nhide\nswitch costume to (1 v)\nswitch costume to ((costume [number v]) - (1))\nset [my variable v] to [0]\nforever\n    if <not <(Level) = [20]>> then\n        change [my variable v] by (1)\n        next costume\n        create clone of (_myself_ v)\n    end\n    wait until <(my variable) = [1]>\n    wait (0.3) seconds\nend\n\nwhen I start as a clone\nset [ghost v] effect to (100)\nshow\nif <(my variable) = [1]> then\n    go to x: (0) y: (90)\nelse\n    go to x: (0) y: (-90)\nend\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nforever\n    if <(move) = [1]> then\n        if <(y position) = [90]> then\n            change [my variable v] by (-1)\n            repeat (15)\n                change y by (((270) - (y position)) / (4))\n                change [ghost v] effect by (10)\n            end\n            delete this clone\n        end\n        if <(y position) = [-90]> then\n            repeat (15)\n                change y by (((90) - (y position)) / (4))\n            end\n            go to x: (0) y: (90)\n        end\n        set [move v] to [0]\n    end\nend\n\n@finish\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    set [final v] to [0]\n    point in direction (90)\n    set size to (100) %\n    go to x: (195) y: (20)\n    show\n    wait (0.3) seconds\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    wait (1) seconds\n    wait until <(Coins?) = [0]>\n    wait until <touching (player v)?>\n    change [level v] by (1)\n    set [move v] to [1]\n    hide\n    set [ghost v] effect to (100)\nend\n\nwhen flag clicked\nset [final v] to [0]\nforever\n    if <<(Level) = [1]> or <<(Level) = [2]> or <<(Level) = [3]> or <<(Level) = [4]> or <<(Level) = [6]> or <<(Level) = [14]> or <(Level) = [18]>>>>>>> then\n        change [final v] by (7)\n        change y by ([cos v] of (final) )\n    end\nend\n\n@Logo\n\nwhen flag clicked\nset [ghost v] effect to (60)\nshow\n\n@cover\n\nwhen flag clicked\nhide\n\n