The DarkLands -- A platformer #Games --

Instructions: ✧ Bad Jokes, a Platformer 2 ✧\n\nThis is a game that I have made a version 2 of, because the first one was very successful, hoping that this one will be very successful also.  Please leave a love and a favorite, and I will appreciate it.\n\n  Check out the HACKED version here:  https://scratch.mit.edu/projects/209148122/\n\nJoin my LOGO CONTEST here: https://scratch.mit.edu/projects/211881233/\n\nInstructions:\n\n▶︎  Use the arrow keys to move the ball.  ◀︎\n\n▶︎  Get to the rainbow orb to proceed to the next level  ◀︎\n\n▶︎  Avoid red.  ◀︎\n\n▶︎  Press space to see the answers of these aimless jokes that will make you angry.  ◀︎\n\n▶︎  Press 's' to skip a level  ◀︎\n\nShout-out of the project:\n\n@1000652  Because he proposed this project to be featured!\n\nCredits: \n@Auron for the music\nA website called TextCraft for the words in the thumbnail\n\nVerse of the project:\n\nRevelation: 3, 20,  "Here I am!  I stand at the door and knock.  If anyone hears my voice and opens the door, I will come in and eat with him, and he with me."\n\nCatalog:\n\n☣  3-7-18:  Shared\n☣  3-8-18:  Added a level\n☣  3-9-18:  Added more music\n\nGoals:\n\n50 loves   Done  :)\n\n75 favorites  Done  :)\n\n200 loves  Done  :)\n\n500 favorites  Done  :)\n\n1000 loves  Done  :)\n\n1500 favorites  Done  :)\n\nWow! Thanks to everyone!  950+ loves in less than 6 days of being shared!

@Stage\n\nwhen flag clicked\nset volume to (40) %\nforever\n    play sound [TheFatRat - TimeLapse \(Mp3Goo v] until done\n    wait (2) seconds\nend\n\nwhen [m v] key pressed\nif <(volume) = [40]> then\n    set volume to (0) %\nelse\n    if <(volume) = [0]> then\n        set volume to (40) %\n    end\nend\n\n@Player\n\ndefine RunScript\nchange y by (y vel)\nif <touching (level v)?> then\n    repeat ([abs v] of (y vel) )\n        if <touching (level v)?> then\n            change y by ((-1) * (([abs v] of (y vel) ) / (y vel)))\n        end\n    end\n    set [y vel v] to [0]\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        set [y vel v] to [12]\n    end\nelse\n    change [y vel v] by (-1)\nend\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    change [x vel v] by (1)\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    change [x vel v] by (-1)\nend\nchange x by (x vel)\nif <touching (level v)?> then\n    set [old y v] to (y position)\n    repeat (([abs v] of (x vel) ) + (1))\n        if <touching (level v)?> then\n            change y by (1)\n        end\n    end\n    if <touching (level v)?> then\n        set y to (old y)\n        repeat ([ceiling v] of ([abs v] of (x vel) ) )\n            if <touching (level v)?> then\n                change x by ((-1) * (([abs v] of (x vel) ) / (x vel)))\n            end\n        end\n        set [x vel v] to [0]\n    end\nend\nif <touching (spikes/dangers v)?> then\n    set [x vel v] to [0]\n    set [y vel v] to [0]\n    if <not <<(Lvl) = [8]> or <(Lvl) = [12]>>> then\n        go to x: (-180) y: (0)\n    else\n        go to x: (-180) y: (-80)\n    end\nend\nif <touching (lvlend v)?> then\n    change [lvl v] by (1)\n    set [x vel v] to [0]\n    set [y vel v] to [0]\n    if <not <<(Lvl) = [8]> or <(Lvl) = [12]>>> then\n        go to x: (-180) y: (0)\n    else\n        go to x: (-180) y: (-80)\n    end\nend\nset [x vel v] to ((x vel) * (0.9))\n\nwhen flag clicked\nswitch costume to (2 v)\ngo to x: (-180) y: (0)\nforever\n    RunScript\nend\n\nwhen flag clicked\nset [x vel v] to [0]\nset [y vel v] to [0]\nforever\n    if <key (r v) pressed?> then\n        if <not <<(Lvl) = [8]> or <(Lvl) = [12]>>> then\n            go to x: (-180) y: (0)\n        else\n            if <<(Lvl) = [8]> or <(Lvl) = [12]>> then\n                go to x: (-180) y: (-80)\n            end\n        end\n    end\nend\n\nwhen [space v] key pressed\nnext costume\n\nwhen flag clicked\nforever\n    if <(y position) > [180]> then\n        set [y vel v] to [-1]\n    end\n    if <(x position) > [240]> then\n        set [x vel v] to [-1]\n    end\nend\n\n@Level\n\nwhen flag clicked\nset [lvl v] to [1]\nforever\n    go to x: (0) y: (0)\n    switch costume to (Lvl)\nend\n\n@Spikes/Dangers\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    switch costume to (Lvl)\nend\n\n@LvlEnd\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nforever\n    if <(Lvl) = [15]> then\n        hide\n    else\n        show\n    end\nend\n\n@UpArrow\n\nwhen flag clicked\ngo to [back v] layer\nhide\ngo to x: (20) y: (20)\nforever\n    wait (0.5) seconds\n    next costume\nend\n\nwhen flag clicked\nforever\n    if <not <(Lvl) = [3]>> then\n        hide\n    else\n        show\n    end\nend\n\n@Starcoins\n\nwhen flag clicked\nhide\nforever\n    if <(Lvl) = [6]> then\n        show\n        go to x: (-183) y: (113)\n        wait until <not <(Lvl) = [6]>>\n    else\n        hide\n    end\n    if <(Lvl) = [10]> then\n        go to x: (140) y: (30)\n        show\n        wait until <not <(Lvl) = [10]>>\n    else\n        hide\n    end\n    if <(Lvl) = [12]> then\n        go to x: (-199) y: (151)\n        show\n        wait until <not <(Lvl) = [12]>>\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    next costume\nend\n\nwhen flag clicked\nset [starcoins v] to [0]\nforever\n    if <touching (player v)?> then\n        start sound [nsmbwiiCoin v]\n        hide\n        change [starcoins v] by (1)\n    end\nend\n\n@StarcoinCounter\n\nwhen flag clicked\nforever\n    switch costume to ((StarCoins) + (1))\n    set size to (60) %\n    go to x: (190) y: (-160)\n    go to [front v] layer\n    go [backward v] (1) layers\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nset [ghost v] effect to (100)\n\n@Layer0\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (0)\nhide\nforever\n    if <(Lvl) = [10]> then\n        show\n        switch costume to (10 v)\n        go to x: (0) y: (0)\n        wait until <not <(Lvl) = [10]>>\n    else\n        hide\n    end\n    if <(Lvl) = [12]> then\n        show\n        switch costume to (12 v)\n        go to x: (0) y: (0)\n        wait until <not <(Lvl) = [12]>>\n    else\n        hide\n    end\n    if <(Lvl) = [14]> then\n        show\n        switch costume to (14 v)\n        go to x: (0) y: (0)\n        wait until <not <(Lvl) = [14]>>\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        repeat (3)\n            change [ghost v] effect by (5)\n        end\n        set [ghost v] effect to (30)\n        wait until <not <touching (player v)?>>\n    else\n        repeat (3)\n            change [ghost v] effect by (-3)\n        end\n        set [ghost v] effect to (8)\n        wait until <touching (player v)?>\n    end\nend\n\n