Gloom~(A Platformer)                                                 #Games #Animation #Stories #All

Instructions: ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\nDouble click the green flag when you start or restart. (Keep doing it until the skip button shows up in the top left corner)\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\n-Arrow keys to move\n-Dont touch spikes or spinning saws\n-Black table looking things bounce you\n-Skip button to skip (Sometimes wont work if background  effect is in the way)\n-Reset button to reset\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\nThis project took HOURS so please love fav and maybe even follow! @Alpha301\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬\nPLEASE DON'T REMIX WITHOUT CHANGING ANYTHING\n▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬

@Stage\n\n@Dude\n\nwhen I receive [next level v]\nif <not <(level) = [26]>> then\n    starting position\n    broadcast (nexxxxtttttttt v)\n    wait (0.2) seconds\nend\n\nwhen I receive [restart v]\nstarting position\nwait (0.2) seconds\n\ndefine restart/back/next\nif <key (b v) pressed?> then\n    if <not <(level) = [1]>> then\n        change [level v] by (-1)\n        starting position\n        wait (0.2) seconds\n    end\nend\n\ndefine starting position\nset [fallspeed v] to [0]\nset [runspeed v] to [0]\ngo to x: (-220) y: (0)\n\nwhen flag clicked\n\nwhen flag clicked\nwait (0.2) seconds\nbroadcast (start v)\n\nwhen flag clicked\nforever\n    switch costume to (costume4 v)\n    repeat (13)\n        next costume\n    end\n    wait (pick random (1) to (5)) seconds\nend\n\nwhen I receive [nexxxxtttttttt v]\nstarting position\nchange [level v] by (1)\nset [end v] to [1]\n\nwhen I receive [bigboybounce v]\nset [fallspeed v] to [18]\n\nwhen I receive [bext v]\n\nwhen I receive [home v]\ngo to x: (0) y: (0)\nhide\nshow\nset [ghost v] effect to (0)\nset [level v] to [1]\nset [takeoffspeed v] to [12]\nset [runspeed v] to [0]\nset [fallspeed v] to [0]\ngo to x: (0) y: (0)\nforever\n    change [fallspeed v] by (-1)\n    set [runspeed v] to ((runspeed) * (0.9))\n    if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n        change [runspeed v] by (-1)\n    end\n    if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n        change [runspeed v] by (1)\n    end\n    if <touching (water v)?> then\n        change x by ((runspeed) / (3))\n    else\n        change x by (runspeed)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (-4)\n        change x by ((runspeed) * (-1))\n        if <<<key (w v) pressed?> or <key (w v) pressed?>> or <<key (up arrow v) pressed?> or <key (up arrow v) pressed?>>> then\n            set [fallspeed v] to [12]\n            if <([abs v] of (runspeed) ) = (runspeed)> then\n                set [runspeed v] to [-4]\n            else\n                set [runspeed v] to [4]\n            end\n        else\n            set [runspeed v] to [0]\n        end\n    end\n    if <touching (water v)?> then\n        change y by ((fallspeed) / (3))\n    else\n        change y by (fallspeed)\n    end\n    set [y v] to (y position)\n    if <touching (ground v)?> then\n        change y by ((fallspeed) - ((fallspeed) * (2)))\n        set [fallspeed v] to [0]\n    end\n    change y by (-1)\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <touching (ground v)?>> then\n        set [fallspeed v] to [12]\n    end\n    change y by (1)\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <touching (water v)?>> then\n        set [fallspeed v] to [5]\n    end\n    if <(x position) > [220]> then\n        set [end v] to [0]\n        broadcast (nexxxxtttttttt v)\n        wait until <(end) = [1]>\n    end\n    if <touching (snapper v)?> then\n        set [pause v] to [1]\n        glide (0.2) secs to x: (x snao) y: (y)\n        if <not <touching (snapper v)?>> then\n            repeat until <touching (snapper v)?>\n                change y by (-5)\n            end\n        end\n        wait until <(dead) = [1]>\n        starting position\n        set [pause v] to [0]\n    end\n    if <(y position) < [-180]> then\n        starting position\n        play sound [Crunch v] until done\n    end\n    if <touching (buzz saw v)?> then\n        starting position\n        play sound [Crunch v] until done\n    end\n    if <touching (spikes v)?> then\n        starting position\n        play sound [Crunch v] until done\n    end\n    if <touching (snapper2 v)?> then\n        set [pause v] to [1]\n        glide (0.2) secs to x: (x snao2) y: (y)\n        if <not <touching (snapper2 v)?>> then\n            repeat until <touching (snapper2 v)?>\n                change y by (-5)\n            end\n        end\n        wait until <(dead) = [1]>\n        starting position\n        play sound [Crunch v] until done\n        set [pause v] to [0]\n    end\n    restart/back/next\n    if <touching (buzz saw v)?> then\n        starting position\n        play sound [Crunch v] until done\n    end\n    if <touching (spikes v)?> then\n        starting position\n        play sound [Crunch v] until done\n    end\n    if <(y position) < [-178]> then\n        starting position\n        play sound [Crunch v] until done\n    end\n    if <touching (wraith v)?> then\n        starting position\n        play sound [Crunch v] until done\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\n@Ground\n\nwhen flag clicked\n\nwhen I receive [home v]\nshow\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [11]> then\n        broadcast (Win v)\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\n@decor\n\nwhen flag clicked\n\nwhen I receive [home v]\ngo to [back v] layer\nforever\n    show\n    switch costume to (level)\nend\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\n@Intro\n\nwhen flag clicked\nset [finished v] to [0]\nshow\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\ncreate clone of (_myself_ v)\nwait (1) seconds\nswitch costume to (background v)\nset [ghost v] effect to (100)\nwait (3) seconds\nrepeat (20)\n    change [ghost v] effect by (-5)\nend\ncreate clone of (_myself_ v)\nwait (1) seconds\nswitch costume to (convivial v)\ngo to x: (0) y: (1000)\nrepeat (15)\n    change y by (((0) - (y position)) * (0.3))\nend\ngo to x: (0) y: (0)\ncreate clone of (_myself_ v)\nstart sound [Sword Slash - Sound Effect \[HD\] v]\nswitch costume to (gloss v)\ngo to x: (-1000) y: (0)\nrepeat (15)\n    change x by (((0) - (x position)) * (0.3))\nend\ngo to x: (0) y: (0)\ncreate clone of (_myself_ v)\nhide\nset [finished v] to [1]\nbroadcast (home v)\n\nwhen I start as a clone\nforever\n    if <(Finished) = [1]> then\n        repeat until <(y position) > [344]>\n            change y by (((345) - (y position)) * (0.3))\n            change [ghost v] effect by (11)\n        end\n        delete this clone\n    end\nend\n\n@Trampoline\n\nwhen flag clicked\nshow\nforever\n    if <touching (dude v)?> then\n        broadcast (bigboybounce v)\n    end\n    go to [back v] layer\n    if <(level) = [1]> then\n        hide\n    end\n    if <(level) = [2]> then\n        go to x: (-40) y: (29)\n        show\n    end\n    if <(level) = [3]> then\n        hide\n    end\n    if <(level) = [4]> then\n        hide\n    end\n    if <(level) = [5]> then\n        go to x: (-70) y: (40)\n        show\n    end\n    if <(level) = [6]> then\n        go to x: (110) y: (50)\n        show\n    end\n    if <(level) = [7]> then\n        hide\n    end\n    if <(level) = [8]> then\n        go to x: (-30) y: (35)\n        show\n    end\n    if <(level) = [9]> then\n        hide\n    end\n    if <(level) = [10]> then\n        hide\n    end\nend\n\nwhen I receive [bigboybounce v]\nswitch costume to (costume1 v)\nrepeat (11)\n    next costume\nend\nswitch costume to (costume1 v)\n\n@Spikes\n\nwhen flag clicked\n\nwhen I receive [home v]\ngo to [back v] layer\nforever\n    switch costume to (level)\n    show\nend\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\n@Tumbnail\n\nwhen flag clicked\ngo to [front v] layer\nshow\ngo to x: (0) y: (0)\nchange [ghost v] effect by (200)\n\n@fog\n\nwhen flag clicked\nset [sound v] to [0]\nset [level v] to [1]\nwait until <(level) = [9]>\ngo to x: (0) y: (0)\nhide\nforever\n    create clone of (_myself_ v)\n    wait (pick random (1) to (2)) seconds\nend\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (75)\nset [x travel v] to (pick random (-2) to (-3))\ngo to x: (465) y: (pick random (-180) to (180))\nrepeat (450)\n    change x by (x travel)\nend\ndelete this clone\n\nwhen backdrop switches to [backdrop3 v]\n\nwhen flag clicked\n\nwhen backdrop switches to [backdrop1 v]\nif <(sound) = [0]> then\n    set [sound v] to [1]\n    forever\n        play sound [wind01 v] until done\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\n@Buzz saw\n\nwhen flag clicked\nset [direction v] to [10]\nforever\n    repeat until <(direction) = [-10]>\n        turn right (direction) degrees\n        change [direction v] by (-0.25)\n    end\n    repeat until <(direction) = [10]>\n        turn right (direction) degrees\n        change [direction v] by (0.25)\n    end\nend\n\npoint in direction (90)\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    if <(level) = [1]> then\n        hide\n    end\n    if <(level) = [2]> then\n        hide\n    end\n    if <(level) = [3]> then\n        hide\n    end\n    if <(level) = [4]> then\n        show\n        go to x: (230) y: (14)\n    end\n    if <(level) = [5]> then\n        go to x: (40) y: (-120)\n        show\n    end\n    if <(level) = [6]> then\n        show\n        go to x: (180) y: (-124)\n    end\n    if <(level) = [7]> then\n        go to x: (175) y: (-90)\n        show\n    end\n    if <(level) = [8]> then\n        go to x: (160) y: (68)\n        show\n    end\n    if <(level) = [9]> then\n        hide\n    end\n    if <(level) = [10]> then\n        go to x: (70) y: (-130)\n        show\n    end\n    if <(level) = [11]> then\n        hide\n    end\nend\n\n@Skip\n\nwhen flag clicked\n\nwhen this sprite clicked\nbroadcast (next level v)\n\nwhen I receive [home v]\nshow\ngo to x: (-220) y: (120)\n\nwhen flag clicked\nhide\n\nhide\n\nwhen I receive [home v]\nswitch costume to (cookie2 v)\nset [my variable v] to [0]\nforever\n    point in direction ((90) + (([cos v] of (((timer) - (3)) * (500)) ) * (10)))\n    if <(distance to [mouse-pointer v]) < [50]> then\n        set size to ((size) + (((120) - (size)) / (3))) %\n    else\n        set size to ((size) + (((100) - (size)) / (3))) %\n    end\nend\n\nwhen I receive [win v]\nhide\n\n@Reset\n\nwhen this sprite clicked\nbroadcast (restart v)\n\nwhen flag clicked\n\nwhen I receive [home v]\nshow\ngo to x: (-220) y: (160)\n\nwhen flag clicked\nhide\n\nwhen I receive [home v]\nshow\ngo to x: (-220) y: (160)\n\nhide\n\nwhen I receive [home v]\nswitch costume to (cookie2 v)\nset [digit v] to [0]\nforever\n    point in direction ((90) + (([cos v] of (((timer) - (3)) * (500)) ) * (10)))\n    if <(distance to [mouse-pointer v]) < [50]> then\n        set size to ((size) + (((120) - (size)) / (3))) %\n    else\n        set size to ((size) + (((100) - (size)) / (3))) %\n    end\nend\n\n@muteButton\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\nif <(volume) = [100]> then\n    switch costume to (mute v)\n    set volume to (0) %\nelse\n    switch costume to (sound v)\n    set volume to (100) %\nend\n\nhide\n\nwhen I receive [home v]\nswitch costume to (cookie2 v)\nset [my variable v] to [0]\nforever\n    point in direction ((90) + (([cos v] of (((timer) - (3)) * (500)) ) * (10)))\n    if <(distance to [mouse-pointer v]) < [50]> then\n        set size to ((size) + (((50) - (size)) / (3))) %\n    else\n        set size to ((size) + (((35) - (size)) / (3))) %\n    end\nend\n\nwhen I receive [home v]\nshow\ngo to x: (210) y: (135)\nset size to (35) %\nset volume to (100) %\nswitch costume to (sound v)\nforever\n    play sound [Block by bubblebee3 v] until done\nend\n\n@Particles\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to x: (240) y: (pick random (220) to (-140))\nset [ghost v] effect to (pick random (70) to (80))\nshow\nglide (1.5) secs to x: (-240) y: (pick random (220) to (-140))\ndelete this clone\n\nwhen I receive [home v]\nforever\n    create clone of (_myself_ v)\n    wait (pick random (0.05) to (0.07)) seconds\nend\n\n@Trampoline2\n\nwhen flag clicked\nshow\nforever\n    if <touching (dude v)?> then\n        broadcast (bigboybounce v)\n    end\n    go to [back v] layer\n    if <(level) = [1]> then\n        hide\n    end\n    if <(level) = [2]> then\n    end\n    if <(level) = [3]> then\n        hide\n    end\n    if <(level) = [4]> then\n        hide\n    end\n    if <(level) = [5]> then\n    end\n    if <(level) = [6]> then\n        go to x: (-70) y: (50)\n        show\n    end\n    if <(level) = [7]> then\n        hide\n    end\n    if <(level) = [8]> then\n        go to x: (250) y: (-50)\n        show\n    end\n    if <(level) = [9]> then\n        hide\n    end\n    if <(level) = [10]> then\n        hide\n    end\nend\n\nwhen I receive [bigboybounce v]\nswitch costume to (costume1 v)\nrepeat (11)\n    next costume\nend\nswitch costume to (costume1 v)\n\ngo to x: (20) y: (40)\nshow\n\n@Logo\n\nwhen I receive [home v]\nset size to (50) %\ngo to x: (200) y: (-140)\nchange [ghost v] effect by (50)\nshow\n\nwhen flag clicked\nclear graphic effects\ngo to x: (-175) y: (111)\nhide\n\n@detector\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nshow\ngo to x: (0) y: (50)\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\n