Midnight Monsters || A Platformer

Instructions: NEW MONSTERS!\nArrow keys                      In the comments, rate this 1-10\nMonsters = awesome\nheart and star\nControl 5 monsters at a time! :) if one gets froze\nFeature studio here: https://scratch.mit.edu/studios/4228481/\n\n@clarinetoboegirl loved and faved!

@Stage\n\n@Sprite1\n\nwhen flag clicked\nset size to (100) %\nswitch costume to (pick random (1) to (10))\ngo to [front v] layer\nshow\nset [color v] effect to (0)\nset rotation style [left-right v]\ngo to x: (-203) y: (-29)\nset [pixelate v] effect to (0)\nshow\nset [x v] to [0]\nset [y v] to [0]\nforever\n    change [y v] by (-1)\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (0)\n        change [x v] by (pick random (-0.3) to (-1))\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (180)\n        change [x v] by (pick random (0.3) to (1))\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\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 ((x) * (-1))\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            set [y v] to [17]\n            if <(x) > [0]> then\n                set [x v] to [-10]\n            else\n                set [x v] to [10]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <touching (ground v)?> then\n        change y by ((y) - ((y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<key (up arrow v) pressed?> and <touching (ground v)?>> then\n        change [y v] by (pick random (10) to (17))\n    end\n    change y by (1)\n    if <(x position) > [222]> then\n        change [scored? v] by (1)\n        hide\n        repeat until <(scored?) = [0]>\n            go to x: (-217) y: (-20)\n        end\n    end\n    if <<(y position) < [-170]> or <touching (evil v)?>> then\n        broadcast (oof v)\n    end\nend\n\nwhen I receive [next level v]\nshow\ngo to x: (-203) y: (-29)\nswitch costume to (pick random (1) to (10))\n\nwhen I receive [oof v]\ngo to x: (-217) y: (-20)\nwait (1) seconds\n\nwhen I receive [oof v]\nstart sound [Roblox Death Sound Effect.mp3 v]\n\n@ground\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\n\n@Sprite2\n\nwhen flag clicked\nset size to (100) %\nswitch costume to (pick random (1) to (10))\ngo to [front v] layer\nshow\nset [color v] effect to (0)\nset rotation style [left-right v]\ngo to x: (-203) y: (-29)\nset [pixelate v] effect to (0)\nshow\nset [x2 v] to [0]\nset [y2 v] to [0]\nforever\n    change [y2 v] by (-1)\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (0)\n        change [x2 v] by (pick random (-0.3) to (-1))\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (180)\n        change [x2 v] by (pick random (0.3) to (1))\n    end\n    set [x2 v] to ((x2) * (0.9))\n    change x by (x2)\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 ((x2) * (-1))\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            set [y2 v] to [17]\n            if <(x2) > [0]> then\n                set [x2 v] to [-10]\n            else\n                set [x2 v] to [10]\n            end\n        else\n            set [x2 v] to [0]\n        end\n    end\n    change y by (y2)\n    if <touching (ground v)?> then\n        change y by ((y2) - ((y2) * (2)))\n        set [y2 v] to [0]\n    end\n    change y by (-1)\n    if <<key (up arrow v) pressed?> and <touching (ground v)?>> then\n        change [y2 v] by (pick random (10) to (17))\n    end\n    change y by (1)\n    if <(x position) > [222]> then\n        change [scored? v] by (1)\n        hide\n        repeat until <(scored?) = [0]>\n            go to x: (-203) y: (-29)\n        end\n    end\n    if <<(y position) < [-170]> or <touching (evil v)?>> then\n        broadcast (oof v)\n    end\nend\n\nwhen I receive [next level v]\ngo to x: (-203) y: (-29)\nshow\nswitch costume to (pick random (1) to (10))\n\nwhen I receive [oof v]\ngo to x: (-203) y: (-29)\nwait (1) seconds\n\n@Sprite3\n\nwhen I receive [next level v]\ngo to x: (-203) y: (-29)\nswitch costume to (pick random (1) to (10))\nshow\n\nwhen flag clicked\nset size to (100) %\nswitch costume to (pick random (1) to (10))\ngo to [front v] layer\nshow\nset [color v] effect to (0)\nset rotation style [left-right v]\ngo to x: (-203) y: (-29)\nset [pixelate v] effect to (0)\nshow\nset [x3 v] to [0]\nset [y3 v] to [0]\nforever\n    change [y3 v] by (-1)\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (0)\n        change [x3 v] by (pick random (-0.3) to (-1))\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (180)\n        change [x3 v] by (pick random (0.3) to (1))\n    end\n    set [x3 v] to ((X3) * (0.9))\n    change x by (X3)\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 ((X3) * (-1))\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            set [y3 v] to [17]\n            if <(X3) > [0]> then\n                set [x3 v] to [-10]\n            else\n                set [x3 v] to [10]\n            end\n        else\n            set [x3 v] to [0]\n        end\n    end\n    change y by (Y3)\n    if <touching (ground v)?> then\n        change y by ((Y3) - ((Y3) * (2)))\n        set [y3 v] to [0]\n    end\n    change y by (-1)\n    if <<key (up arrow v) pressed?> and <touching (ground v)?>> then\n        change [y3 v] by (pick random (10) to (17))\n    end\n    change y by (1)\n    if <(x position) > [222]> then\n        change [scored? v] by (1)\n        hide\n        repeat until <(scored?) = [0]>\n            go to x: (-203) y: (-29)\n        end\n    end\n    if <<(y position) < [-170]> or <touching (evil v)?>> then\n        broadcast (oof v)\n    end\nend\n\nwhen I receive [oof v]\nshow\ngo to x: (-203) y: (-29)\nwait (1) seconds\n\n@Sprite4\n\nwhen I receive [next level v]\ngo to x: (-203) y: (-29)\nswitch costume to (pick random (1) to (10))\nshow\n\nwhen flag clicked\nset size to (100) %\ngo to [front v] layer\nswitch costume to (pick random (1) to (10))\nshow\nset [color v] effect to (0)\nset rotation style [left-right v]\ngo to x: (-203) y: (-29)\nset [pixelate v] effect to (0)\nshow\nset [x4 v] to [0]\nset [y4 v] to [0]\nforever\n    change [y4 v] by (-1)\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (0)\n        change [x4 v] by (pick random (-0.3) to (-1))\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (180)\n        change [x4 v] by (pick random (0.3) to (1))\n    end\n    set [x4 v] to ((X4) * (0.9))\n    change x by (X4)\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 ((X4) * (-1))\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            set [y4 v] to [17]\n            if <(X4) > [0]> then\n                set [x4 v] to [-10]\n            else\n                set [x4 v] to [10]\n            end\n        else\n            set [x4 v] to [0]\n        end\n    end\n    change y by (Y4)\n    if <touching (ground v)?> then\n        change y by ((Y4) - ((Y4) * (2)))\n        set [y4 v] to [0]\n    end\n    change y by (-1)\n    if <<key (up arrow v) pressed?> and <touching (ground v)?>> then\n        change [y4 v] by (pick random (10) to (17))\n    end\n    change y by (1)\n    if <(x position) > [222]> then\n        change [scored? v] by (1)\n        hide\n        repeat until <(scored?) = [0]>\n            go to x: (-203) y: (-29)\n        end\n    end\n    if <<(y position) < [-170]> or <touching (evil v)?>> then\n        broadcast (oof v)\n    end\nend\n\nwhen I receive [oof v]\ngo to x: (-203) y: (-29)\nwait (1) seconds\n\n@LAST BOI\n\nwhen flag clicked\nset size to (100) %\nswitch costume to (pick random (1) to (10))\ngo to [front v] layer\nshow\nset [color v] effect to (0)\nset rotation style [left-right v]\ngo to x: (-203) y: (-29)\nset [pixelate v] effect to (0)\nshow\nset [x5 v] to [0]\nset [y5 v] to [0]\nforever\n    change [y5 v] by (-1)\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (0)\n        change [x5 v] by (pick random (-0.3) to (-1))\n    end\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        point in direction (180)\n        change [x5 v] by (pick random (0.3) to (1))\n    end\n    set [x5 v] to ((X5) * (0.9))\n    change x by (X5)\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 ((X5) * (-1))\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            set [y5 v] to [17]\n            if <(X5) > [0]> then\n                set [x5 v] to [-10]\n            else\n                set [x5 v] to [10]\n            end\n        else\n            set [x5 v] to [0]\n        end\n    end\n    change y by (Y5)\n    if <touching (ground v)?> then\n        change y by ((Y5) - ((Y5) * (2)))\n        set [y5 v] to [0]\n    end\n    change y by (-1)\n    if <<key (up arrow v) pressed?> and <touching (ground v)?>> then\n        change [y5 v] by (pick random (10) to (17))\n    end\n    change y by (1)\n    if <(x position) > [222]> then\n        change [scored? v] by (1)\n        hide\n        repeat until <(scored?) = [0]>\n            go to x: (-203) y: (-29)\n        end\n    end\n    if <<(y position) < [-170]> or <touching (evil v)?>> then\n        broadcast (oof v)\n    end\nend\n\nwhen I receive [next level v]\ngo to x: (-203) y: (-29)\nshow\nswitch costume to (pick random (1) to (10))\n\nwhen flag clicked\nforever\n    if <(scored?) > [4]> then\n        broadcast (NEXT LEVEL v)\n        set [scored? v] to [0]\n    end\nend\n\nwhen I receive [oof v]\ngo to x: (-203) y: (-29)\nwait (1) seconds\n\n@moosic/back\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    go to x: ((mouse x) / (10)) y: ((mouse y) / (10))\nend\n\nwhen flag clicked\nshow\nwait (1) seconds\nset volume to (50) %\nforever\n    play sound [Purple Planet Music - Halloween Pumpkin \(1_34\) 75bpm v] until done\nend\n\n@evil\n\ngo to x: (0) y: (0)\n\nwhen flag clicked\nhide\n\n@Sprite5\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [back v] layer\nforever\n    go to x: ((mouse x) / (15)) y: ((mouse y) / (15))\nend\n\n@Sprite6\n\n@Sprite7\n\nwhen flag clicked\nforever\n    switch costume to (pick random (1) to (10))\n    hide\n    create clone of (_myself_ v)\n    wait (pick random (1) to (7)) seconds\nend\n\nwhen I start as a clone\ngo to (random position v)\nset [ghost v] effect to (pick random (10) to (60))\nset size to (pick random (60) to (30)) %\nchange x by (10000000)\nshow\nrepeat until <(x position) < [-220]>\n    change x by (pick random (-7) to (-10))\n    switch costume to (pick random (1) to (10))\nend\ndelete this clone\n\nwhen I start as a clone\nforever\n    repeat (3)\n        change y by (1.5)\n    end\n    repeat (6)\n        change y by (-1.5)\n    end\n    repeat (3)\n        change y by (1.5)\n    end\nend\n\n@Sprite8\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\nforever\n    go to x: ((mouse x) / (20)) y: ((mouse y) / (20))\nend\n\nwhen I receive [next level v]\nnext costume\n\n@Sprite9\n\ngo to x: (0) y: (0)\n\nwhen flag clicked\nhide\n\n@Sprite10\n\nwhen flag clicked\nforever\n    hide\n    create clone of (_myself_ v)\n    wait (pick random (1) to (7)) seconds\nend\n\nwhen I start as a clone\ngo to x: (98) y: (pick random (141) to (101))\nset [ghost v] effect to (pick random (10) to (60))\nset size to (pick random (90) to (50)) %\nchange x by (10000000)\nshow\nrepeat until <(x position) < [-220]>\n    change x by (pick random (-3) to (-5))\nend\ndelete this clone\n\n@evil2\n\ngo to x: (0) y: (0)\n\nwhen flag clicked\nhide\n\n@Sprite11\n\nwhen flag clicked\nhide\n\ngo to x: (0) y: (0)\n\n