Platformer Bob

Instructions: try it in turbo mode lol\nDONE!\nStory mode: get to the portal thingy.\nwasd, space, arrow keys, or mouse to move.\nhit "r" to try the level again.\n\n\n\n\n\n\nIF YOU SCROLLED DOWN THIS FAR AND LOVED AND HEARTED I WILL LOVE, HEART, AND FOLLOW YOU

@Stage\n\nwhen flag clicked\nforever\n    play sound [Rainbow Road Medley - Super Smash Bros. Wii U.mp3 v] until done\nend\n\nwhen flag clicked\nforever\n    switch backdrop to (level)\nend\n\n@effects\n\nwhen I receive [main menu v]\nset [level v] to [1]\nhide\n\nwhen I receive [story mode v]\nshow\nforever\n    switch costume to (level)\nend\n\n@Sprite17\n\nwhen I receive [main menu v]\nhide\n\nwhen I receive [yellow dot v]\nset [ghost v] effect to (50)\nforever\n    go to [front v] layer\n    if <(level) > [12]> then\n        if <not <(story mode) = [1]>> then\n            show\n            set size to (50) %\n            go to x: (190) y: (28)\n            forever\n                turn right (15) degrees\n                if <touching (bob v)?> then\n                    broadcast (create clone v)\n                end\n            end\n        else\n            if <(story mode) = [1]> then\n                show\n                set size to (50) %\n                turn right (15) degrees\n                go to x: (190) y: (100)\n                if <<(bruh) = [1]> or <[8] > (level)>> then\n                    if <touching (bob v)?> then\n                        broadcast (create clone v)\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <[1] = (cave)> then\n        hide\n    end\nend\n\nwhen I receive [yellow dot v]\nif <[12] > (level)> then\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <<(bruh) = [1]> or <[8] > (level)>> then\n    set [ghost v] effect to (0)\n    forever\n        turn left (15) degrees\n    end\nelse\n    hide\nend\n\nwhen I receive [main menu v]\ndelete this clone\n\nwhen flag clicked\nforever\n    if <(level) > [11]> then\n        set [cave v] to [1]\n        broadcast (cave v)\n    else\n        set [cave v] to [0]\n    end\nend\n\nwhen I receive [cave v]\nhide\n\nwhen I receive [yellow dot v]\nforever\n    if <(cave) = [1]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I start as a clone\nforever\n    if <<(bruh) = [1]> or <[8] > (level)>> then\n        turn left (15) degrees\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <<(bruh) = [1]> or <[8] > (level)>> then\n        show\n    else\n        hide\n    end\nend\n\n@Spikes\n\nwhen I receive [story mode v]\nshow\nforever\n    switch costume to (level)\nend\n\nwhen I receive [main menu v]\nhide\n\n@story made levels\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [story mode v]\ncreate clone of (_myself_ v)\nset [level v] to [1]\nshow\ngo to [front v] layer\nforever\n    switch costume to (level)\nend\n\nwhen I receive [choose color v]\nhide\n\nwhen I receive [start game v]\nhide\n\nwhen I receive [main menu v]\nhide\n\n@Sprite14\n\nwhen I receive [thumbnail over v]\nhide\ngo to [back v] layer\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\ngo to [front v] layer\nshow\nrepeat (100)\n    change [ghost v] effect by (-1)\nend\nwait (4) seconds\nswitch costume to (costume2 v)\nwait (7) seconds\nswitch costume to (costume3 v)\nwait (7) seconds\nswitch costume to (costume4 v)\nwait (7) seconds\nswitch costume to (costume5 v)\nwait (10) seconds\nswitch costume to (costume6 v)\nwait (10) seconds\nrepeat (100)\n    change [ghost v] effect by (1)\nend\nbroadcast (main menu v)\ndelete this clone\n\nwhen I receive [main menu v]\ndelete this clone\n\n@Sprite13\n\nwhen flag clicked\ngo to [front v] layer\nshow\nwait (1) seconds\nbroadcast (world of evil v)\n\nwhen I receive [main menu v]\nhide\n\n@BOB\n\ndefine Ground touch <up>\nchange [falling v] by (1)\nrepeat until <<not <touching color (#633a00)?>> and <not <touching (story made levels v)?>>>\n    if <up> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\ndefine walk (speed) (direction)\nchange x by (speed)\npoint in direction (direction)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <<not <touching color (#633a00)?>> and <not <touching (story made levels v)?>>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<<mouse down?> and <(y position) > (mouse x)>> or <<<<key (space v) pressed?> or <key (up arrow v) pressed?>> or <key (w v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>>> and <([abs v] of (speed) ) > [3]>> then\n        if <(wall jump) = [0]> then\n            set [speed x v] to ((-1.2) * (speed))\n            set [speed y v] to [11]\n            set [falling v] to [6]\n            set [wall jump v] to [2]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\n\npoint in direction (direction)\n\nplay sound [Pop v] until done\n\n\n\nwhen I receive [choose color v]\nchoose color right\n\nwhen I receive [choose color v]\nchoose color left\n\nwhen flag clicked\nset size to (80) %\nswitch costume to (costume1 v)\nshow\ngo to [front v] layer\n\nwhen I receive [story mode v]\ngo to x: (-120) y: (100)\nshow\n\nwhen I receive [multiplayer v]\nforever\n    if <(multiplayer) = [1]> then\n        broadcast (game on v)\n    end\nend\n\nwhen flag clicked\ngo to x: (-200) y: (-179)\nset [speed y v] to [0]\nset [falling v] to [10]\nforever\n    if <<[4] > (speed y)> or <<<mouse down?> and <(mouse y) > (y position)>> or <<key (space v) pressed?> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>>>> then\n        change [speed y v] by (-1)\n    else\n        change [speed y v] by (-2)\n    end\n    change y by (speed y)\n    Ground touch <(speed y) > [0]>\n    if <(wall jump) > [0]> then\n        change [wall jump v] by (-1)\n    else\n        set [speed x v] to ((speed x) * (0.7))\n        if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n            change [speed x v] by (-3)\n        end\n        if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            change [speed x v] by (3)\n        end\n    end\n    if <[-3] > (speed x)> then\n        walk (speed x) [90]\n    else\n        if <(speed x) > [3]> then\n            walk (speed x) [-90]\n        end\n    end\n    if <[4] > (level)> then\n        if <<<mouse down?> and <(mouse y) > (y position)>> or <<key (space v) pressed?> or <<<key (up arrow v) pressed?> or <touching color (#5cb712)?>> or <key (w v) pressed?>>>> then\n            if <(falling) < [3]> then\n                set [speed y v] to [14]\n                set [falling v] to [6]\n                set [jump key v] to [1]\n            end\n        end\n    else\n        if <not <(story mode) = [1]>> then\n            if <<key (space v) pressed?> or <<<key (up arrow v) pressed?> or <touching color (#5cb712)?>> or <key (w v) pressed?>>> then\n                if <<(jump key) = [0]> and <(falling) < [3]>> then\n                    set [speed y v] to ((green jump?) + (14))\n                    set [falling v] to [6]\n                    set [jump key v] to [1]\n                end\n            else\n                set [jump key v] to [0]\n            end\n        else\n            if <(story mode) = [1]> then\n                if <<<mouse down?> and <(mouse y) > (y position)>> or <<key (space v) pressed?> or <<<key (up arrow v) pressed?> or <touching color (#5cb712)?>> or <key (w v) pressed?>>>> then\n                    if <(falling) < [3]> then\n                        set [speed y v] to [14]\n                        set [falling v] to [6]\n                        set [jump key v] to [1]\n                    end\n                end\n            end\n        end\n    end\nend\n\nset [jump key v] to [0]\n\nset [jump key v] to [0]\n\nplay sound [Pop v] until done\n\nplay sound [Pop v] until done\n\nif <<key (space v) pressed?> or <<<key (up arrow v) pressed?> or <touching color (#5cb712)?>> or <key (w v) pressed?>>> then\n    if <<(jump key) = [0]> and <(falling) < [3]>> then\n        set [speed y v] to [14]\n        set [falling v] to [6]\n        set [jump key v] to [1]\n    end\nelse\n    set [jump key v] to [0]\nend\n\nplay sound [Pop v] until done\n\nwhen flag clicked\nforever\n    if <<<touching (spikes v)?> or <touching color (#ff0000)?>> or <<[1] = (retry)> or <key (r v) pressed?>>> then\n        go to x: (-175) y: (-130)\n    end\nend\n\nwhen flag clicked\ngo to x: (-189) y: (-120)\nforever\n    if <<(bruh) = [1]> or <(level) < [8]>> then\n        if <<touching color (#daea00)?> or <touching (sprite17 v)?>> then\n            repeat (10)\n                change [ghost v] effect by (10)\n            end\n            set [ghost v] effect to (0)\n            go to x: (-200) y: (-120)\n            set [level v] to ((level) + (1))\n            set [bruh v] to [0]\n        end\n    end\nend\n\nwhen I receive [story mode v]\nsay [woah.. where am I?] for (4) seconds\nwait (1) seconds\nbroadcast (yellow dot v)\nsay [I wonder what that yellow thing over there is] for (5) seconds\nwait (1) seconds\nsay [all i know is that i've got to get out of here.] for (2) seconds\n\nwhen I receive [start game v]\n\nwhen I start as a clone\n\nwhen I start as a clone\nset size to (100) %\nset [ghost v] effect to (0)\nswitch costume to (costume2 v)\nforever\n    change [ghost v] effect by (7)\n    change size by (-7)\n    if <(size) < [17]> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\n\nwhen flag clicked\n\nwait (1) seconds\nswitch costume to (costume7 v)\nwait (1) seconds\nswitch costume to (costume8 v)\nwait (1) seconds\nswitch costume to (costume9 v)\nwait (1) seconds\nswitch costume to (costume10 v)\nwait (0.1) seconds\nswitch costume to (costume11 v)\nwait (0.1) seconds\nswitch costume to (costume11 v)\nwait (0.1) seconds\nswitch costume to (costume12 v)\nwait (0.1) seconds\nswitch costume to (costume13 v)\nwait (0.1) seconds\nswitch costume to (costume14 v)\nwait (0.1) seconds\n\nwhen flag clicked\nforever\n    if <(level) = [30]> then\n        say [GUY! I CAME TO SAVE YOU!]\n    end\nend\n\nwhen flag clicked\nhide\n\nif <not <key (any v) pressed?>> then\n    next costume\n    if <(costume [number v]) = [100]> then\n        switch costume to (costume7 v)\n    end\nelse\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        switch costume to (costume6 v)\n    else\n        if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n            switch costume to (costume4 v)\n        else\n            if <<key (space v) pressed?> or <key (up arrow v) pressed?>> then\n                switch costume to (costume3 v)\n            end\n        end\n    end\nend\n\nforever\n\nwhen flag clicked\nforever\n    if <<[11] < (level)> and <(story mode) = [1]>> then\n        if <touching color (#000000)?> then\n            go to x: (-200) y: (-120)\n            set [level v] to ((level) + (1))\n            set [ghost v] effect to (0)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [12]> then\n        say [Woah, A Cave!] for (2) seconds\n    end\nend\n\nwhen flag clicked\nset [light v] to [0]\n\nwhen I receive [cave v]\nforever\n    if <(cave) = [1]> then\n        set [light v] to (distance to [light v])\n    end\nend\n\nwhen I receive [cave v]\nforever\n    if <(cave) = [1]> then\n        set [light v] to (distance to [light v])\n    end\nend\n\ndefine choose color right\n\ndefine choose color left\n\nswitch costume to (costume1 v)\nshow\nforever\n    create clone of (_myself_ v)\nend\n\n@Sprite9\n\nwhen I receive [story mode v]\nshow variable [level v]\n\nwhen I start as a clone\ngo to x: (100) y: (100)\ngo to [front v] layer\nshow\n\nforever\n\nwhen flag clicked\nhide variable [level v]\nhide variable [timer/score v]\nset [level v] to [0]\nset [timer/score v] to [0]\n\nwhen I receive [start game v]\nshow variable [level v]\nshow variable [timer/score v]\n\nwhen I receive [main menu v]\nhide\nhide variable [level v]\nhide variable [timer/score v]\nset [level v] to [0]\nset [timer/score v] to [0]\n\nwhen flag clicked\ndelete this clone\n\nbroadcast (end of game v)\n\nwhen flag clicked\n\nwhen I start as a clone\ngo to [front v] layer\nshow\nforever\n    go to [front v] layer\n    show\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (main menu v)\n        delete this clone\n    end\n    if <touching (mouse-pointer v)?> then\n        set size to (130) %\n        switch costume to (costume2 v)\n    else\n        set size to (100) %\n        switch costume to (costume1 v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(level) = [30]> then\n        wait until <(level) = [30]>\n        create clone of (_myself_ v)\n        wait until <not <(level) = [30]>>\n    end\nend\n\ncreate clone of (_myself_ v)\n\nwhen I receive [choose color v]\n\n@Sprite7\n\nwhen I receive [choose color v]\ngo to [front v] layer\nshow\nforever\n    go to x: (-40) y: (0)\n    if <touching (mouse-pointer v)?> then\n        set size to (150) %\n    else\n        set size to (100) %\n    end\nend\n\nwhen I receive [start game v]\nhide\n\nwhen I receive [start game v]\ndelete this clone\n\nwhen this sprite clicked\nset [choose color left v] to [1]\nwait (0.1) seconds\nset [choose color left v] to [0]\n\nwhen I receive [main menu v]\nhide\ndelete this clone\n\n@Sprite6\n\nwhen I receive [choose color v]\ngo to x: (40) y: (0)\ngo to [front v] layer\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (150) %\n    else\n        set size to (100) %\n    end\nend\n\nwhen I receive [start game v]\nhide\ndelete this clone\n\nwhen this sprite clicked\nset [choose color right v] to [1]\nwait (0.1) seconds\nset [choose color right v] to [0]\n\nwhen I receive [main menu v]\nhide\ndelete this clone\n\n@Sprite8\n\nwhen I receive [choose color v]\ngo to [front v] layer\ngo [backward v] (1) layers\ngo to x: (0) y: (0)\n\nwhen I receive [start game v]\ndelete this clone\n\nwhen I receive [main menu v]\nhide\ngo to [back v] layer\n\nwhen I receive [story mode v]\ndelete this clone\n\n@Sprite4\n\nwhen I receive [start game v]\nforever\n    if <(mm) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [main menu v]\nswitch costume to (costume2 v)\nshow\ngo to x: (0) y: (0)\ngo to [front v] layer\ngo [backward v] (1) layers\n\n@Sprite16\n\nwhen flag clicked\nforever\n    next costume\n    if <<(story mode) = [1]> and <<[7] < (level)> and <[12] > (level)>>> then\n        if <not <(bruh) = [1]>> then\n            show\n            if <touching (bob v)?> then\n                wait until <touching (bob v)?>\n                change [bruh v] by (1)\n                hide\n                wait until <not <touching (bob v)?>>\n            end\n        end\n    else\n        hide\n    end\nend\n\nwhen I receive [main menu v]\nset [bruh v] to [0]\n\nwhen flag clicked\nforever\n    if <(level) = [8]> then\n        go to x: (36) y: (28)\n    else\n        if <(level) = [9]> then\n            go to x: (-190) y: (140)\n        else\n            if <(level) = [11]> then\n                go to x: (-190) y: (140)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(username) = [1234567891011121gg]> then\n        if <key (f v) pressed?> then\n            wait until <key (f v) pressed?>\n            set [level v] to ((level) + (1))\n            wait until <not <key (f v) pressed?>>\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <<(level) = [15]> and <(story mode) = [1]>> then\n        hide\n    end\nend\n\n@Sprite20\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to x: (0) y: (0)\nforever\n    go to [front v] layer\n    change x by (-1)\n    if <(x position) = [-240]> then\n        set [grah v] to [0]\n        delete this clone\n    end\nend\n\nwhen I receive [story mode v]\nshow\ngo to x: (0) y: (0)\nif <not <(cave) = [1]>> then\n    create clone of (_myself_ v)\n    forever\n        go to [front v] layer\n        change x by (1)\n        if <(x position) = [240]> then\n            go to x: (0) y: (0)\n        end\n    end\nend\n\nwhen I receive [main menu v]\nhide\n\nwhen flag clicked\nforever\n    if <not <(grah) = [1]>> then\n        create clone of (_myself_ v)\n        set [grah v] to [1]\n    end\nend\n\nwhen I receive [main menu v]\nbroadcast (story mode v)\n\nwhen I receive [cave v]\nhide\n\nwhen I start as a clone\nforever\n    if <[12] < (level)> then\n        delete this clone\n    end\nend\n\n@Sprite15\n\nwhen I start as a clone\ngo to [front v] layer\nforever\n    go to [front v] layer\n    show\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (main menu v)\n        delete this clone\n    end\nend\n\nwhen I receive [world of evil v]\ncreate clone of (_myself_ v)\nhide\n\nwhen flag clicked\nbroadcast (world of evil v)\n\nwhen I receive [main menu v]\ndelete this clone\n\n@clouds\n\nwhen I receive [story mode v]\nset [delete v] to [0]\nhide\ngo to x: (0) y: (0)\ncreate clone of (_myself_ v)\nforever\n    if <not <[12] < (level)>> then\n        wait (pick random (1) to (3)) seconds\n        create clone of (_myself_ v)\n    else\n        set [delete v] to [1]\n    end\nend\n\nwhen I start as a clone\nshow\ngo to [back v] layer\nswitch costume to (pick random (1) to (3))\ngo to x: (-239) y: (pick random (0) to (180))\nset size to (pick random (10) to (100)) %\nset [ghost v] effect to (100)\nrepeat (7)\n    change [ghost v] effect by (-10)\nend\n\nwhen flag clicked\ndelete this clone\n\nwhen I receive [cave v]\nhide\n\nwhen I start as a clone\nforever\n    if <[12] < (level)> then\n        delete this clone\n    end\nend\n\nwhen I start as a clone\nforever\n    change x by (((0.5) * (size)) / (15))\n    if <[229] < (x position)> then\n        repeat (10)\n            change x by (1)\n            change [ghost v] effect by (10)\n        end\n    end\nend\n\nwhen I start as a clone\nforever\n    if <<[239] < (x position)> or <(delete) = [1]>> then\n        delete this clone\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\ncreate clone of (_myself_ v)\ngo to [front v] layer\ngo [forward v] (1) layers\n\nwhen I start as a clone\ngo to [front v] layer\nshow\nset [pixelate v] effect to (50)\nswitch costume to (costume2 v)\nrepeat (5)\n    change [pixelate v] effect by (10)\nend\nrepeat (10)\n    change [pixelate v] effect by (-10)\nend\nwait (3) seconds\nbroadcast (thumbnail over v)\ndelete this clone\n\nwhen I receive [thumbnail over v]\nhide\n\n@Sprite3\n\nwhen flag clicked\nhide\ngo to x: (-205) y: (-171)\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        wait until <<touching (mouse-pointer v)?> and <mouse down?>>\n        set [level v] to ((level) + (1))\n        wait until <not <<touching (mouse-pointer v)?> and <mouse down?>>>\n    end\nend\n\nwhen I receive [story mode v]\nshow\nforever\n    go to [front v] layer\n    repeat (10)\n        turn right (1) degrees\n    end\n    repeat (10)\n        turn left (1) degrees\n    end\n    repeat (10)\n        turn left (1) degrees\n    end\n    repeat (10)\n        turn right (1) degrees\n    end\nend\n\n@Sprite11\n\nwhen flag clicked\nhide\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        wait until <<touching (mouse-pointer v)?> and <mouse down?>>\n        set [retry v] to [1]\n        wait until <not <<touching (mouse-pointer v)?> and <mouse down?>>>\n    else\n        set [retry v] to [0]\n    end\nend\n\nwhen I receive [story mode v]\ngo to x: (-152) y: (-169)\nshow\nforever\n    go to [front v] layer\n    repeat (10)\n        turn right (1) degrees\n    end\n    repeat (10)\n        turn left (1) degrees\n    end\n    repeat (10)\n        turn left (1) degrees\n    end\n    repeat (10)\n        turn right (1) degrees\n    end\nend\n\n