Boring.(Platformer)

Instructions: This is like a normal platformer, but everything you see is in one list, that's it. No sprites, only one backdrop, and no motion blocks.\n\n- Play in Fullscreen -\n\nArrow Keys to move\nAvoid spikes & pits\nBlue blocks move you\n\nIf it looks weird, press Z to open debug and change the symbols.\n\nLove and Favorite if you think this is cool!\n\nAll code by me!

@Stage\n\nwhen flag clicked\nforever\n    play sound [bensound-dreams v] until done\nend\n\n@Player\n\nwhen flag clicked\ngo to x: (-200) y: (-85)\nset [y vel v] to [0]\nset [x vel v] to [0]\nset [spraying v] to [0]\nforever\n    if <not <touching (stage v)?>> then\n        if <(Spraying) = [0]> then\n            change [y vel v] by (-.7)\n        end\n    end\n    Move <[0] < (Y vel)>\n    Move X\n    if <(x position) < [-220]> then\n        set x to (-220)\n    end\nend\n\nif <not <(Y vel) < [-6]>> then\n\ndefine Move <upward>\nswitch costume to (costume1 v)\nchange y by (Y vel)\nrepeat until <not <touching (stage v)?>>\n    if <upward> then\n        switch costume to (hitbox3 v)\n        if <touching (stage v)?> then\n            change y by (-1)\n            set [y vel v] to [0]\n        end\n    else\n        set [y vel v] to (Y vel)\n        change y by (1)\n    end\nend\nif <not <upward>> then\n    change y by (-1)\nend\nswitch costume to (costume1 v)\n\n\n\nchange y by (Y vel)\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    if <touching (sprite3 v)?> then\n        go to x: (-200) y: (-85)\n        set [y vel v] to [0]\n        set [x vel v] to [0]\n        set [spraying v] to [0]\n        change [level v] by (1)\n        broadcast (Fire v)\n    end\n    if <<touching (spikes v)?> or <<touching (fire v)?> or <key (r v) pressed?>>> then\n        go to x: (-200) y: (-85)\n        set [y vel v] to [0]\n        set [x vel v] to [0]\n        set [spraying v] to [0]\n        broadcast (Fire v)\n    end\n    if <touching (_edge_ v)?> then\n        set [y vel v] to ([sqrt v] of (Y vel) )\n    end\nend\n\nif <touching (stage v)?> then\n\n\n\nsay [Hello!]\n\nchange x by (X vel)\nif <touching (stage v)?> then\n    repeat (8)\n        if <touching (stage v)?> then\n            change y by (1)\n        end\n    end\n    if <touching (stage v)?> then\n        change x by ((0) - (X vel))\n    end\nend\nswitch costume to (hitbox2 v)\nchange y by (Y vel)\nif <touching (stage v)?> then\n    if <[.05] < ([abs v] of (X vel) )> then\n        if <[0] < (X vel)> then\n            change [x vel v] by (-.1)\n        else\n            change [x vel v] by (.1)\n        end\n    else\n        set [x vel v] to [0]\n    end\nend\nrepeat until <not <touching (stage v)?>>\n    if <[0] < (Y vel)> then\n        change y by (-1)\n    else\n        set [y vel v] to [0]\n        change y by (1)\n    end\nend\nif <[0] < (Y vel)> then\n    change y by (1)\nelse\n    change y by (-1)\nend\nswitch costume to (costume1 v)\n\nswitch costume to (hitbox v)\nif <<touching (stage v)?> or <touching (_edge_ v)?>> then\n    set [x vel v] to [0]\n    if <[0] < (X vel)> then\n        repeat until <not <touching (stage v)?>>\n            change x by (1)\n        end\n    else\n        repeat until <not <touching (stage v)?>>\n            change x by (-1)\n        end\n        change x by (1)\n    end\nend\nswitch costume to (costume1 v)\n\nchange x by (-1)\n\nsay <(Y vel) < [0]>\n\nif <touching (stage v)?> then\n    switch costume to (hitbox v)\n    if <not <touching (stage v)?>> then\n        switch costume to (hitbox2 v)\n    end\nend\n\nif <touching (stage v)?> then\n\ndefine Move X\nswitch costume to (costume1 v)\nchange y by (1)\nchange x by (X vel)\nset [ycount v] to [0]\nrepeat (8)\n    if <touching (stage v)?> then\n        change y by (1)\n        change [ycount v] by (1)\n    end\nend\nif <touching (stage v)?> then\n    change y by ((0) - (Ycount))\n    if <touching (stage v)?> then\n        set [ycount v] to [0]\n        repeat (8)\n            change y by (-1)\n            change [ycount v] by (1)\n        end\n        if <touching (stage v)?> then\n            change y by (Ycount)\n            repeat until <not <touching (stage v)?>>\n                change x by ((0) - (X vel))\n            end\n            set [x vel v] to [0]\n        end\n    end\nelse\n    change y by (-1)\n    if <touching (stage v)?> then\n        set [x vel v] to ((X vel) / (1.05))\n    end\nend\nswitch costume to (costume1 v)\n\nif <touching (stage v)?> then\n\n\n    change y by (10)\nend\n\nset [level v] to [9]\n\nchange [edge v] by (1)\n\n@Stage\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    go to [front v] layer\n    go [backward v] (1) layers\n    switch costume to (Level)\nend\n\n@Sprite1\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    if <(Moving) = [1]> then\n        go to (player v)\n        set [plx v] to (x position)\n        set [ply v] to (y position)\n        point towards (mouse-pointer v)\n        move (30) steps\n    else\n        if <(Moving) = [2]> then\n            go to (player v)\n            set [plx v] to (x position)\n            go to x: (Plx) y: (Ply)\n            point towards (mouse-pointer v)\n            move (30) steps\n        else\n            go to x: (Plx) y: (Ply)\n            point towards (mouse-pointer v)\n            move (30) steps\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    set [check v] to (Y vel)\n    set [checkx v] to (X vel)\n    wait (.1) seconds\n    if <(Check) = (Y vel)> then\n        if <not <(Checkx) = (X vel)>> then\n            set [moving v] to [2]\n        else\n            set [moving v] to [0]\n        end\n    else\n        set [moving v] to [1]\n    end\nend\n\nset [ply v] to (y position)\n\npoint towards (mouse-pointer v)\nmove (30) steps\n\n@Sprite2\n\nwhen flag clicked\nset [edge v] to [0]\nshow\nset [ghost v] effect to (100)\nset [progress v] to [0]\nforever\n    point towards (mouse-pointer v)\n    go to (player v)\n    if <mouse down?> then\n        Spray\n    else\n        set [spraying v] to [0]\n        set [progress v] to [0]\n        erase all\n    end\nend\n\ndefine Spray\npen up\nset pen color to (#73dfff)\nset pen size to (3)\nif <(Progress) < [500]> then\n    change [progress v] by (60)\nend\nFind ground\ngo to (player v)\npoint towards (mouse-pointer v)\nerase all\npen down\nmove (Edge) steps\npen up\nClone\n\ndefine Find ground\npoint towards (mouse-pointer v)\ngo to (player v)\nif <touching (_edge_ v)?> then\n    move (10) steps\nend\nset [i v] to [0]\nrepeat until <<touching (_edge_ v)?> or <<<touching (stage v)?> or <touching (spikes v)?>> or <(Progress) < (i)>>>\n    change [i v] by (20)\n    move (20) steps\nend\nrepeat until <not <<touching (stage v)?> or <touching (spikes v)?>>>\n    move (-1) steps\n    change [i v] by (-1)\nend\nchange [edge v] by (1)\nif <(Progress) < (i)> then\n    set [i v] to (Progress)\nend\nset [edge v] to (i)\nmove (3) steps\nif <<touching (stage v)?> or <<touching (_edge_ v)?> or <touching (spikes v)?>>> then\n    Physics ([x position v] of [player v]) (x position) ([y position v] of [player v]) (y position)\nend\n\ndefine Clone\ngo to (player v)\npoint towards (mouse-pointer v)\nrepeat (round ((Edge) / (15)))\n    move (15) steps\n    if <(pick random (1) to (5)) = [1]> then\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I start as a clone\nset [ghost v] effect to (0)\ngo to [back v] layer\nshow\nset size to (pick random (80) to (120)) %\npoint in direction (pick random (-180) to (180))\nrepeat (10)\n    move (1) steps\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n\nsay [Hello!]\n\ndefine Physics (x1) (x2) (y1) (y2)\nset [xchange v] to ((x1) - (x2))\nset [ychange v] to ((y1) - (y2))\nchange [y vel v] by (((Ychange) / (([abs v] of (Xchange) ) + ([abs v] of (Ychange) ))) * (.5))\nset [spraying v] to [1]\nchange [x vel v] by (((Xchange) / (([abs v] of (Xchange) ) + ([abs v] of (Ychange) ))) * (.3))\n\nset [xchange v] to [Hi]\n\n@Sprite3\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\n\n@Text\n\ngo [backward v] (1) layers\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\n    go to [front v] layer\nend\n\n@Spikes\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    go to x: (0) y: (0)\n    switch costume to (Level)\nend\n\n@Fire\n\nwhen flag clicked\nhide\nset [trig v] to [0]\nforever\n    change [trig v] by (3)\nend\n\nwait until <not <([costume # v] of [stage v]) = [8]>>\nbroadcast (Fire v)\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nforever\n    change size by (([sin v] of (Trig) ) / (3))\n    if <touching (sprite2 v)?> then\n        repeat (10)\n            change [ghost v] effect by (10)\n            delete this clone\n        end\n    end\nend\n\nwhen I receive [fire v]\npoint in direction (90)\nwait (.05) seconds\nif <([costume # v] of [stage v]) = [8]> then\n    go to x: (-47) y: (-139)\n    repeat (9)\n        create clone of (_myself_ v)\n        change x by (30)\n    end\nend\nif <([costume # v] of [stage v]) = [9]> then\n    go to x: (-14) y: (-33)\n    repeat (2)\n        create clone of (_myself_ v)\n        change x by (30)\n    end\nend\nif <([costume # v] of [stage v]) = [10]> then\n    point in direction (90)\n    go to x: (-61) y: (-137)\n    create clone of (_myself_ v)\n    go to x: (94) y: (-140)\n    create clone of (_myself_ v)\n    point in direction (-90)\n    go to x: (-137) y: (7)\n    create clone of (_myself_ v)\n    go to x: (22) y: (8)\n    create clone of (_myself_ v)\nend\nif <([costume # v] of [stage v]) = [11]> then\n    point in direction (90)\n    go to x: (210) y: (121)\n    create clone of (_myself_ v)\n    go to x: (-5) y: (-137)\n    repeat (3)\n        create clone of (_myself_ v)\n        change x by (60)\n    end\nend\n\nwhen I receive [fire v]\ndelete this clone\n\ngo to x: (-115) y: (31)\n\ngo to x: (-61) y: (-137)\n\ngo to x: (94) y: (-140)\ncreate clone of (_myself_ v)\npoint in direction (-90)\ngo to x: (-137) y: (7)\ncreate clone of (_myself_ v)\ngo to x: (22) y: (8)\ncreate clone of (_myself_ v)\n\nchange [level v] by (1)\n\n@Sprite4\n\nwhen I receive [fire v]\nwait (.05) seconds\nset [time v] to (round (timer))\nif <([costume # v] of [stage v]) = [12]> then\n    go to x: (82) y: (33)\n    set [ii v] to [0]\n    repeat (length of (Time))\n        change [ii v] by (1)\n        switch costume to (letter (ii) of (Time))\n        create clone of (_myself_ v)\n        move (23) steps\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nshow\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nchange [level v] by (1)\nbroadcast (Fire v)\n\nshow\ngo to [front v] layer\n\n