Trapped Within Scratch platformer 2!

Instructions: Here's the original one! https://scratch.mit.edu/projects/282826315/\nDouble click the green flag to start.\nS to skip intro or to start the whole game over again.\nArrow keys to move.\nIf you have amo press space to shoot.\nR to restart the screen.\nIf you wondering the reason it is so different from the last game is because there was the 3.0 update.\nAll levels are possible.\nDon't say anything if you don't have anything good to say.\n\nHere's the first one https://scratch.mit.edu/projects/282826315/ .\n\nP.S. I fixed some glitches from the original one.\nRemix this project and add more levels!\n\nOctober 22, 2019 - - - - - - - Posted!\nOctober 23, 2019 - - - - - - -  Fixed bugs!\nOctober 25,2019 - - - - - - - - Added thumbnail!\nNovember 15, 2019 - - - - - - - - Curated by CrimsonROSES34 and fixed spelling mistakes!

@Stage\n\n@Character\n\nwhen I receive [what v]\nforever\n    if <<touching (finish v)?> or <touching (sprite7 v)?>> then\n        go to x: (-172) y: (149)\n        broadcast (pass v)\n    end\nend\n\nwhen flag clicked\nshow variable [ammo v]\nset rotation style [left-right v]\nhide\n\nwhen I receive [r v]\nshow variable [ammo v]\nset size to (75) %\ngo to x: (-172) y: (-71)\nshow\n\nwhen I receive [what v]\nforever\n    if <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>> then\n        next costume\n        set [step v] to (costume [number v])\n    else\n        switch costume to (costume15 v)\n        set [step v] to [1]\n    end\nend\n\nwhen I receive [what v]\nforever\n    if <touching color (#fab95f)?> then\n        set [y v] to [20]\n    end\nend\n\nwhen I receive [what v]\npoint in direction (90)\nset [right v] to [1]\nset size to (75) %\ngo to x: (-172) y: (149)\nshow\nforever\n    change [y v] by (-1)\n    if <key (left arrow v) pressed?> then\n        set [right v] to [0]\n        change [x v] by (-1)\n        point in direction (-90)\n    end\n    if <key (right arrow v) pressed?> then\n        set [right v] to [1]\n        change [x v] by (1)\n        point in direction (90)\n    end\n    if <touching color (#ffd55e)?> then\n        change [y v] by (20)\n    end\n    if <<touching color (#000000)?> or <<touching (sprite5 v)?> or <touching (sprite6 v)?>>> then\n        change [hearts v] by (-1)\n        broadcast (flash v) and wait\n        go to x: (-171) y: (149)\n        set [x v] to [0]\n        set [y v] to [0]\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching color (#55afca)?> then\n        change y by (1)\n    end\n    if <touching color (#55afca)?> then\n        change y by (1)\n    end\n    if <touching color (#55afca)?> then\n        change y by (1)\n    end\n    if <touching color (#55afca)?> then\n        change y by (1)\n    end\n    if <touching color (#55afca)?> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        if <key (up arrow v) pressed?> then\n            set [y v] to [10]\n            if <([abs v] of (x) ) = (x)> 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 color (#55afca)?> 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 color (#55afca)?>> then\n        set [y v] to [10]\n    end\n    change y by (1)\nend\n\nwhen flag clicked\nforever\n    if <(Passes) = [16]> then\n        hide\n        stop [all v]\n    end\nend\n\nwhen flag clicked\nhide variable [☁ seen v]\nchange [☁ seen v] by (1)\n\n@Sprite12\n\nwhen flag clicked\nhide\nforever\n    if <(Passes) = [11]> then\n        go to (sprite11 v)\n        show\n        create clone of (_myself_ v)\n        hide\n        wait (2) seconds\n    end\n    hide\nend\n\nwhen I start as a clone\npoint towards (character v)\nglide (2) secs to (character v)\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <touching color (#55afca)?> then\n        delete this clone\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nset [passes v] to [0]\nhide\n\nwhen I receive [what v]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nshow\n\nwhen I receive [pass v]\nnext costume\nchange [passes v] by (1)\n\n@Sprite2\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\nswitch costume to (costume5 v)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nswitch costume to (costume6 v)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nswitch costume to (costume2 v)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nswitch costume to (costume3 v)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nswitch costume to (costume4 v)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nswitch costume to (costume7 v)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nswitch costume to (costume8 v)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nswitch costume to (costume9 v)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nbroadcast (What v)\n\nwhen flag clicked\nforever\n    if <key (s v) pressed?> then\n        hide\n        set [ghost v] effect to (0)\n        stop [other scripts in sprite v]\n        broadcast (What v)\n    end\nend\n\n@finish\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\n\nwhen flag clicked\nforever\n    if <(Passes) = [16]> then\n        hide\n        stop [all v]\n    end\nend\n\n@Sprite3\n\nwhen flag clicked\nset [touches v] to [0]\nset [ammo v] to [0]\nset [passes v] to [0]\nhide\ngo to x: (-90) y: (-59)\nforever\n    if <(Passes) = [2]> then\n        go to x: (-90) y: (-59)\n        show\n        if <(pass) = [1]> then\n            hide\n        end\n        if <<touching (character v)?> and <(touches) = [0]>> then\n            change [ammo v] by (1)\n            set [touches v] to [1]\n            hide\n        end\n        if <(touches) = [1]> then\n            hide\n        end\n    end\n    if <(Passes) = [4]> then\n        go to x: (-90) y: (-100)\n        show\n        if <(pass) = [1]> then\n            hide\n        end\n        if <<touching (character v)?> and <(touches) = [0]>> then\n            change [ammo v] by (1)\n            set [touches v] to [1]\n            hide\n        end\n        if <(touches) = [1]> then\n            hide\n        end\n    end\n    if <(Passes) = [3]> then\n        go to x: (-90) y: (-59)\n        show\n        if <(pass) = [1]> then\n            hide\n        end\n        if <<touching (character v)?> and <(touches) = [0]>> then\n            change [ammo v] by (1)\n            set [touches v] to [1]\n            hide\n        end\n        if <(touches) = [1]> then\n            hide\n        end\n    end\nend\n\nwhen I receive [pass v]\nset [pass v] to [1]\nset [pass v] to [0]\n\nwhen I receive [pass v]\nset [touches v] to [0]\n\nwhen flag clicked\nforever\n    if <key (r v) pressed?> then\n        broadcast (R v)\n        set [ammo v] to [0]\n        set [touches v] to [0]\n        set [e.d. v] to [0]\n    end\nend\n\nwhen I receive [flash v]\nset [ammo v] to [0]\nset [touches v] to [0]\n\n@Sprite9\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\nforever\n    if <(Passes) = [11]> then\n        hide\n        go to x: (36) y: (-105)\n    end\n    if <(Passes) = [10]> then\n        show\n    end\n    if <touching (character v)?> then\n        switch costume to (costume2 v)\n    end\nend\n\n@coad  2\n\nwhen flag clicked\nset [touches2 v] to [0]\nset [touches v] to [0]\nset [ammo v] to [0]\nset [passes v] to [0]\nhide\nforever\n    if <(Passes) = [4]> then\n        go to x: (111) y: (-109)\n        show\n        if <(pass) = [1]> then\n            hide\n        end\n        if <<touching (character v)?> and <(touches2) = [0]>> then\n            change [ammo v] by (1)\n            set [touches2 v] to [1]\n            hide\n        end\n        if <(touches2) = [1]> then\n            hide\n        end\n    end\nend\n\nwhen I receive [pass v]\nset [touches2 v] to [0]\n\nwhen I receive [flash v]\nset [ammo v] to [0]\nset [touches2 v] to [0]\n\nwhen [s v] key pressed\nhide\n\n@Sprite4\n\nwhen flag clicked\nforever\n    if <<key (space v) pressed?> and <<(ammo) = [1]> or <(ammo) > [1]>>> then\n        show\n        go to (character v)\n        create clone of (_myself_ v)\n        hide\n        wait (0.2) seconds\n        change [ammo v] by (-1)\n    end\nend\n\nwhen I start as a clone\nif <(right) = [1]> then\n    point in direction (90)\n    forever\n        if <not <<<touching (_edge_ v)?> or <touching color (#55afca)?>> or <<touching (sprite5 v)?> or <touching (sprite6 v)?>>>> then\n            change x by (10)\n        end\n        if <<<touching (_edge_ v)?> or <touching color (#55afca)?>> or <<touching (sprite5 v)?> or <touching (sprite6 v)?>>> then\n            wait (0.1) seconds\n            delete this clone\n        end\n    end\nend\nif <(right) = [0]> then\n    point in direction (-90)\n    forever\n        if <not <<<touching (_edge_ v)?> or <touching color (#55afca)?>> or <<touching (sprite5 v)?> or <touching (sprite6 v)?>>>> then\n            change x by (-10)\n        end\n        if <<<touching (_edge_ v)?> or <touching color (#55afca)?>> or <<touching (sprite5 v)?> or <touching (sprite6 v)?>>> then\n            wait (0.1) seconds\n            delete this clone\n        end\n    end\nend\n\nwhen I receive [pass v]\nset [ammo v] to [0]\n\n@Sprite5\n\nwhen flag clicked\nhide\nset [e.d. v] to [0]\nhide\nforever\n    next costume\n    wait (0.1) seconds\nend\n\nwhen flag clicked\nhide\nforever\n    if <<(Passes) = [3]> and <(E.D.) = [0]>> then\n        go to x: (188) y: (-100)\n        show\n    end\n    if <touching (sprite4 v)?> then\n        hide\n        change [e.d. v] by (1)\n    end\n    if <<(Passes) = [4]> and <(E.D.) = [0]>> then\n        go to x: (0) y: (-100)\n        show\n    end\n    if <touching (sprite4 v)?> then\n        hide\n        change [e.d. v] by (1)\n    end\nend\n\nwhen I receive [pass v]\nhide\nset [e.d. v] to [0]\n\nwhen I receive [flash v]\nset [e.d.2 v] to [0]\nset [e.d. v] to [0]\n\nwhen [s v] key pressed\nset [passes v] to [0]\nhide\n\n@Sprite6\n\nwhen flag clicked\nhide\nset [e.d. v] to [0]\nhide\nforever\n    next costume\n    wait (0.1) seconds\nend\n\nwhen flag clicked\nhide\nforever\n    if <<(Passes) = [4]> and <(E.D.2) = [0]>> then\n        go to x: (188) y: (-100)\n        show\n    end\n    if <touching (sprite4 v)?> then\n        hide\n        change [e.d.2 v] by (1)\n    end\nend\n\nwhen I receive [pass v]\nhide\nset [e.d.2 v] to [0]\n\nwhen I receive [flash v]\nset [e.d.2 v] to [0]\n\nwhen [s v] key pressed\nhide\n\n@Sprite7\n\nwhen flag clicked\nforever\n    next costume\nend\n\nwhen flag clicked\nhide\nforever\n    if <(Passes) = [16]> then\n        hide\n    end\n    if <(Passes) = [15]> then\n        show\n        go to x: (-119) y: (99)\n    end\nend\n\nif <touching (character v)?> then\n    switch costume to (costume2 v)\nend\n\nwhen flag clicked\n\n@Sprite8\n\nwhen flag clicked\nhide\nforever\n    if <(Passes) = [7]> then\n        hide\n    end\n    if <(Passes) = [6]> then\n        go to x: (-186) y: (131)\n        show\n    end\nend\n\n@Sprite10\n\nwhen flag clicked\nhide\nforever\n    if <(Passes) = [11]> then\n        go to x: (0) y: (-20)\n        show\n    end\n    if <(Passes) = [12]> then\n        hide\n    end\nend\n\n@Sprite11\n\nwhen flag clicked\nforever\n    point towards (character v)\nend\n\nwhen flag clicked\nhide\nforever\n    if <(Passes) = [11]> then\n        go to x: (-10) y: (8)\n        show\n    end\n    if <(Passes) = [12]> then\n        hide\n    end\nend\n\n@Sprite13\n\nwhen flag clicked\nhide\n\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nhide variable [ammo v]\nstop [all v]\n\n