Яɘvɘɿƨɘb || A Platformer

Instructions: Arrow Keys or WASD to move.\nStoryline: Why are spikes and lava and other things treated worse than blocks and trampolines? It is unfair. But one day you wake up and everything is reversed! The spike is the good guy, and the blocks are the bad guys! Lava is the end, and trampolines are bad! Get to the end to show that spikes are as good as blocks and cubes!\nNote: The last level is the end!

@Stage\n\n@Player\n\nwhen flag clicked\ngo to x: (-186) y: (-84)\nset size to (50) %\nforever\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <touching (ground v)?>> then\n        set [y v] to [12]\n    end\n    change y by (1)\nend\n\nwhen flag clicked\ngo to x: (-186) y: (-84)\nset size to (50) %\nforever\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <touching (ground v)?>> then\n        set [y v] to [12]\n    end\n    change y by (1)\nend\n\nwhen flag clicked\ngo to x: (-200) y: (0)\nset [x v] to [0]\nset [y v] to [0]\nset [gravity v] to [1]\ngo to [back v] layer\nset size to (100) %\nwait (2) seconds\nshow\nforever\n    change [y v] by (-1)\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [x v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [x v] by (1)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching (ground v)?> then\n    if <touching (ground v)?> then\n    if <touching (ground v)?> then\n    if <touching (ground v)?> then\n    if <<touching (ground v)?> or <touching (door v)?>> then\n        change y by (-4)\n        change x by ((x) * (-1))\n    end\n    change y by (y)\n    if <<touching (ground v)?> or <touching (door v)?>> then\n        change y by ((y) - ((y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\nend\n\nwhen flag clicked\ngo to x: (-186) y: (-84)\nset size to (50) %\nforever\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <touching (ground v)?>> then\n        set [y v] to [12]\n    end\n    change y by (1)\nend\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <touching (end v)?> then\n        change [level v] by (1)\n        set [y v] to [0]\n        set [x v] to [0]\n        go to x: (-200) y: (-50)\n    end\n    if <<touching (obstacles v)?> or <<touching (coin bullets v)?> or <<touching (moving obstacles v)?> or <<[175] < (y position)> or <(y position) < [-175]>>>>> then\n        go to x: (-200) y: (-50)\n        broadcast (DEATH v)\n        set [y v] to [0]\n        set [x v] to [0]\n    end\nend\n\nwhen flag clicked\nforever\n    play sound [Plugged \(post mastering\) v] until done\nend\n\nwhen flag clicked\nif <(Level) = [8]> then\n    if <(Time) < (☁ Highscore)> then\n        set [☁ highscore v] to (Time)\n    end\nend\n\nwhen flag clicked\n\nchange y by (1)\n\nchange y by (1)\n\nchange y by (1)\n\nchange y by (1)\n\nwhen flag clicked\nforever\n    if <touching (obstacles v)?> then\nend\n\n@Ground\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    go to x: (0) y: (0)\n    switch costume to (Level)\nend\n\n@End\n\nwhen flag clicked\nshow\ngo to [back v] layer\nwait (2) seconds\ngo to [front v] layer\nclear graphic effects\ngo to x: (212) y: (-21)\nset size to (50) %\nforever\n    repeat (10)\n        change [color v] effect by (.2)\n    end\n    wait (1) seconds\n    repeat (10)\n        change [color v] effect by (-.2)\n    end\nend\n\n@Obstacles\n\nwhen flag clicked\nswitch costume to (level 1 v)\ngo to [back v] layer\nwait (2) seconds\nforever\n    switch costume to (Level)\n    go to [front v] layer\nend\n\n@Clouds\n\nwhen flag clicked\nshow\nforever\n    go to [back v] layer\n    switch costume to (cloud 1 v)\n    set size to (50) %\n    go to x: (350) y: (pick random (34) to (123))\n    create clone of (_myself_ v)\n    glide (7) secs to x: (-240) y: (pick random (34) to (123))\n    if <(x position) = [-240]> then\n        delete this clone\n    end\nend\n\nwhen I start as a clone\nhide\nwait (1.7) seconds\nshow\nforever\n    go to [back v] layer\n    switch costume to (cloud 2 v)\n    set size to (50) %\n    go to x: (350) y: (28)\n    glide (7) secs to x: (-240) y: (pick random (34) to (123))\n    if <(x position) = [-240]> then\n        delete this clone\n    end\nend\n\n@Intro\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset size to (100) %\nshow\ngo to [front v] layer\nwait (2) seconds\nbroadcast (play v)\nrepeat (10)\n    change [ghost v] effect by (25)\nend\nhide\n\n@Coin Bullets\n\nwhen flag clicked\ngo to x: (240) y: (-30)\nhide\nrepeat until <(Level) = [50]>\n    if <(Level) = [5]> then\n        show\n        create clone of (_myself_ v)\n        go to x: (240) y: (-30)\n        set size to (20) %\n        glide (3) secs to x: (-240) y: (pick random (-48) to (-90))\n    end\n    if <touching (player v)?> then\n        delete this clone\n    end\n    if <(x position) > [-239]> then\n        delete this clone\n    end\n    if <(Level) > [5]> then\n        hide\n        stop [other scripts in sprite v]\n        delete this clone\n    end\nend\n\nwhen I start as a clone\nforever\n    wait (1) seconds\n    go to x: (240) y: (-30)\n    show\n    glide (3) secs to x: (-240) y: (pick random (-48) to (-90))\n    if <touching (player v)?> then\n        delete this clone\n    end\n    if <(x position) > [-239]> then\n        delete this clone\n    end\n    if <(Level) > [5]> then\n        hide\n        stop [other scripts in sprite v]\n        delete this clone\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) > [5]> then\n        stop [other scripts in sprite v]\n        hide\n    end\n    if <(Level) > [5]> then\n        stop [this script v]\n    end\nend\n\nhide\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nforever\n    go [forward v] (1000000000) layers\nend\n\n@Moving Obstacles\n\nwhen flag clicked\nhide\nwait until <(Level) = [9]>\nif <(Level) = [9]> then\n    switch costume to (moving obstacle v)\n    show\n    go to [front v] layer\n    go to x: (72) y: (-89)\n    repeat until <(Level) = [10]>\n        glide (3) secs to x: (-130) y: (-89)\n        glide (3) secs to x: (103) y: (-89)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [10]> then\n        repeat until <(Level) = [11]>\n            go to x: (72) y: (-89)\n            hide\n            switch costume to (moving obstacle 2 v)\n            show\n            glide (3) secs to x: (-130) y: (-89)\n            glide (3) secs to x: (103) y: (-89)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [10]> then\n        hide\n        show\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [11]> then\n        hide\n    end\nend\n\n@These Reduce Lag\n\nwhen flag clicked\nhide\nforever\n    set size to (75) %\n    wait (2) seconds\n    show\n    go to [front v] layer\n    go to x: (-171) y: (-112)\nend\n\n@Enjoying The Game?\n\nwhen flag clicked\ngo to x: (139) y: (135)\nclear graphic effects\nhide\nwait (2) seconds\nwait (pick random (20) to (30)) seconds\nset size to (80) %\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\n@Sprite1\n\nwhen flag clicked\ngo to x: (79) y: (218)\nswitch costume to (costume1 v)\nset size to (100) %\nset [ghost v] effect to (100)\nshow\nwait (2) seconds\nwait (pick random (36) to (40)) seconds\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nrepeat until <(costume [number v]) = [11]>\n    next costume\n    wait (.1) seconds\nend\nwait (2) seconds\nswitch costume to (costume12 v)\nrepeat until <(costume [number v]) = [23]>\n    next costume\n    wait (.1) seconds\nend\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\n