Lost in Leafbare || A Mobile Warriors Platformer

Instructions:                The Lost Kit #3 || A Warriors Platformer\n===========================================\nYou go out to find catmint... and you get lost! And Storm is back to save the day!\n                              INSTRUCTIONS:\n-Arrow keys, WASD, or touchscreen to move\n-Avoid Twoleg things like fences, wire, etc.\n-Avoid water, you don't want to drown\n-Avoid holes\n-R to restart the level\n\n1st one: https://scratch.mit.edu/projects/431128331/\n2nd one: https://scratch.mit.edu/projects/441211356/\n

@Stage\n\nwhen I receive [next stage v]\nnext backdrop\n\n@stuff that *gasp* kills you\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next stage v]\nnext costume\n\nwhen flag clicked\nforever\n    \nend\n\nwhen I receive [end animate 1 v]\nswitch costume to (costume17 v)\n\nwhen I receive [end animate 2 v]\nswitch costume to (costume1 v)\n\n@ground\n\nwhen flag clicked\n\nwhen I receive [next stage v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to [front v] layer\n\ngo to x: (0) y: (0)\n\ngo to (sprite1 v)\n\nwhen I receive [end animate 3 v]\n\nwhen I receive [end animate 1 v]\nswitch costume to (costume17  v)\n\nwhen I receive [end animate 2 v]\nswitch costume to (costume1 v)\n\n@background\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to [front v] layer\ngo [backward v] (4) layers\n\nwhen I receive [next stage v]\nnext costume\n\nbroadcast (animate 2 v)\n\nwhen I receive [end animate 1 v]\nswitch costume to (costume17 v)\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [end animate 2 v]\nswitch costume to (costume1 v)\n\n@Sprite1\n\nwhen I receive [next stage v]\nrepeat (1)\n    set [sprite1: yv v] to [0]\n    set [sprite1: xv v] to [0]\n    go to (boring variables. v)\nend\ngo to x: (-202) y: (-90)\n\nwhen I receive [next stage v]\nset [sprite1: yv v] to [0]\n\nwhen flag clicked\nset size to (70) %\ngo to [front v] layer\nforever\n    if <touching (stuff that *gasp* kills you v)?> then\n        start sound [Smash! v]\n        go to x: (-202) y: (-90)\n        change [times you died v] by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    if <key (r v) pressed?> then\n        repeat (5)\n            change [ghost v] effect by (20)\n            go to x: (-202) y: (-130)\n            start sound [Respawn v]\n            repeat (5)\n                change [ghost v] effect by (-20)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset rotation style [left-right v]\nset [ghost_toggle v] to [0]\nset [sprite1: yv v] to [0]\nset [sprite1: xv v] to [0]\ngo to x: (-202) y: (-100)\nforever\n    if <<key (d v) pressed?> or <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n        point in direction (90)\n        if <touching color (#9c6a00)?> then\n            change [sprite1: xv v] by (0.5)\n        else\n            change [sprite1: xv v] by (1)\n        end\n    end\n    if <<key (a v) pressed?> or <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n        point in direction (-90)\n        if <touching color (#9c6a00)?> then\n            change [sprite1: xv v] by (-0.5)\n        else\n            change [sprite1: xv v] by (-1)\n        end\n    end\n    set [sprite1: xv v] to ((Sprite1: Xv) * (0.9))\n    change x by (Sprite1: Xv)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change y by (1)\n                        if <touching (ground v)?> then\n                            change x by ((Sprite1: Xv) * (-1))\n                            change y by (-5)\n                            if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n                                if <(Sprite1: Xv) > [0]> then\n                                    set [sprite1: xv v] to [-5]\n                                else\n                                    set [sprite1: xv v] to [5]\n                                end\n                                set [sprite1: yv v] to [10]\n                            else\n                                set [sprite1: xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [sprite1: yv v] by (-1)\n    change y by (Sprite1: Yv)\n    if <touching (ground v)?> then\n        change y by ((Sprite1: Yv) * (-1))\n        set [sprite1: yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (ground v)?> then\n        if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n            set [sprite1: yv v] to [15]\n        end\n    end\n    change y by (1)\nend\n\nwhen flag clicked\nforever\n    if <(x position) > [234]> then\n        go to x: (-202) y: (-90)\n        broadcast (next stage v)\n    end\nend\n\nwhen flag clicked\nset rotation style [left-right v]\nforever\n    if <<key (a v) pressed?> or <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n        point in direction (-90)\n    end\n    if <<key (d v) pressed?> or <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n        point in direction (90)\n    end\n    if <<<<key (a v) pressed?> or <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> or <<key (d v) pressed?> or <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>>> and <not <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>>> then\n        switch costume to (costume2 v)\n        wait (0.03) seconds\n        next costume\n        wait (0.03) seconds\n        next costume\n        wait (0.03) seconds\n        next costume\n        wait (0.03) seconds\n        next costume\n        wait (0.03) seconds\n        next costume\n        wait (0.03) seconds\n        next costume\n        wait (0.03) seconds\n        next costume\n        wait (0.03) seconds\n    end\n    if <not <<<key (a v) pressed?> or <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> or <<key (d v) pressed?> or <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>>>> then\n        switch costume to (costume2 v)\n    end\n    if <<<key (w v) pressed?> or <key (up arrow v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n        switch costume to (costume10 v)\n    end\nend\n\nwait (0.01) seconds\n\nwhen I start as a clone\n\nforever\n    set x to (([x position v] of [sprite1 v]) - (50))\nend\n\ngo to (sprite1 v)\n\nwhen I start as a clone\nforever\n    if <touching color (#80ff66)?> then\n        change y by (20)\n    end\nend\n\nwhen flag clicked\n\nwhen I start as a clone\ndelete this clone\n\nwhen I receive [end animate 1 v]\ngo to x: (-202) y: (-130)\n\n@Sprite4\n\nwhen flag clicked\nrepeat (100)\n    change [ghost v] effect by (1)\nend\n\nwhen flag clicked\nrepeat (100)\n    change [whirl v] effect by (30)\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [end animate 2 v]\ngo to [front v] layer\n\n@snow\n\nwhen flag clicked\nhide\nset [ghost v] effect to (50)\nwait (6) seconds\ngo to [front v] layer\nset y to (180)\nforever\n    wait (0.1) seconds\n    set x to (pick random (-240) to (241))\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nforever\n    change y by (-2)\nend\n\nwhen I start as a clone\nforever\n    repeat (10)\n        wait (0.1) seconds\n        change x by (1)\n    end\n    repeat (10)\n        wait (0.1) seconds\n        change x by (-1)\n    end\nend\n\nwhen I start as a clone\nshow\nforever\n    if <[-160] > (y position)> then\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        delete this clone\n    end\nend\n\n@foreground?\n\nwhen flag clicked\nwait (0.1) seconds\nswitch costume to (costume1 v)\ngo to [front v] layer\n\ngo [backward v] (1) layers\n\nwhen I receive [next stage v]\nnext costume\n\nbroadcast (animate 2 v)\n\nwhen I receive [end animate 1 v]\nswitch costume to (costume17 v)\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [end animate 2 v]\nswitch costume to (costume1 v)\n\n@Animation!!!\n\nwhen flag clicked\nclear graphic effects\nhide\nforever\n    if <([costume # v] of [ground v]) = [16]> then\n        broadcast (animate 1 v)\n        go to [front v] layer\n        show\n        switch costume to (costume1 v)\n        repeat (21)\n            wait (0.01) seconds\n            next costume\n        end\n        broadcast (end animate 1 v)\n        hide\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nhide\nforever\n    if <([costume # v] of [ground v]) = [25]> then\n        broadcast (animate 2 v)\n        go to [front v] layer\n        show\n        switch costume to (backdrop6 v)\n        repeat (8)\n            wait (4) seconds\n            next costume\n        end\n        wait (4) seconds\n        repeat (100)\n            change [brightness v] effect by (-1)\n        end\n        switch costume to (costume23 v)\n        repeat (400)\n            change [brightness v] effect by (0.25)\n        end\n        wait (2) seconds\n        broadcast (end animate 2 v)\n        hide\n        stop [all v]\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\nset rotation style [left-right v]\nhide\nforever\n    if <[21] < ([costume # v] of [foreground? v])> then\n        show\n        go to [front v] layer\n        forever\n            go to (sprite1 v)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <<key (a v) pressed?> or <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n        point in direction (-90)\n    end\n    if <<key (d v) pressed?> or <<key (right arrow v) pressed?> or <<mouse down?> and <(x position) < (mouse x)>>>> then\n        point in direction (90)\n    end\nend\n\nwhen I receive [end animate 2 v]\nhide\n\n