The Red Ninja || A platformer 

Instructions: <> Arrow Keys or WASD to move/jump\n<> Click or space to shoot\n<> Shoot llamas for V-Bucks!\n<> Get level-ups by defeating enemies!\n<> Avoid traps!\n<> Get the victory royale!\n<> Have fun!

@Stage\n\nwhen flag clicked\nset [pixelate v] effect to (30)\n\n@Sprite2\n\nwhen [down arrow v] key pressed\nswitch costume to (cat1 flying-a v)\nwait (2) seconds\n\nshow\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nstart sound [PixelPeekerPolka v]\nwait (200) seconds\nforever\n\nwhen flag clicked\nswitch backdrop to (poop v)\n\nwhen backdrop switches to [poop v]\nswitch costume to (costume 1 v)\nhide variable [end v]\nshow\ngo to x: (-149) y: (-145)\nset [xv v] to [0]\nset [yv v] to [0]\nforever\n    if <(end) = [0]> then\n        show\n        if <not <key (down arrow v) pressed?>> then\n            switch costume to (costume 1 v)\n        end\n        if <key (down arrow v) pressed?> then\n            switch costume to (cat1 flying-a v)\n        end\n        if <key (right arrow v) pressed?> then\n            change [xv v] by (1)\n            switch costume to (costume 3 v)\n            switch costume to (costume 2 v)\n        end\n        if <key (left arrow v) pressed?> then\n            change [xv v] by (-1)\n            switch costume to (costume 2 v)\n            switch costume to (costume 3 v)\n        end\n        set [xv v] to ((Xv) * (0.9))\n        change x by (Xv)\n        if <touching color (#000000)?> then\n            change y by (1)\n            if <touching color (#000000)?> then\n                change y by (1)\n                if <touching color (#000000)?> then\n                    change y by (1)\n                    if <touching color (#000000)?> then\n                        change y by (1)\n                        if <touching color (#000000)?> then\n                            change y by (1)\n                            if <touching color (#000000)?> then\n                                change x by ((Xv) * (-1))\n                                change y by (-5)\n                                if <key (up arrow v) pressed?> then\n                                    if <(Xv) > [0]> then\n                                        set [xv v] to [-5]\n                                    else\n                                        set [xv v] to [5]\n                                    end\n                                    set [yv v] to [10]\n                                else\n                                    set [xv v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change [yv v] by (-1)\n        change y by (Yv)\n        if <touching color (#000000)?> then\n            change y by ((Yv) * (-1))\n            set [yv v] to [0]\n        end\n        change y by (-1)\n        if <touching color (#000000)?> then\n            if <key (up arrow v) pressed?> then\n                set [yv v] to [15]\n            end\n        end\n        change y by (1)\n    else\n        hide\n        switch backdrop to (game over v)\n    end\n    if <touching color (#ff7b00)?> then\n        go to x: (-149) y: (-145)\n    end\n    if <(y position) < [-210]> then\n        go to x: (-149) y: (-145)\n    end\n    if <touching color (#130000)?> then\n        go to x: (-149) y: (-145)\n    end\n    if <touching color (#0015ff)?> then\n        set [yv v] to [20]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(x position) > [270]> then\n        next backdrop\n        go to x: (-149) y: (-145)\n        wait (1) seconds\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nset [pixelate v] effect to (30)\nhide\ngo to x: (36) y: (28)\n\nwhen backdrop switches to [poop9 v]\nshow\nforever\n    if <touching (sprite2 v)?> then\n        hide\n        broadcast (open v)\n    end\nend\n\n@Sprite3\n\nwhen flag clicked\nhide\n\nwhen backdrop switches to [poop9 v]\nset [pixelate v] effect to (30)\ngo to x: (36) y: (28)\nshow\n\nwhen I receive [open v]\nhide\n\n@Sprite4\n\nwhen flag clicked\ngo to [front v] layer\ngo [forward v] (10000) layers\nforever\n    change [ghost v] effect by (100)\nend\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