Cave Platformer

Instructions: arrow keys to move\ndon't touch lava or spikes\nEnemies are included and some shoot arrows\nThere are moving platforms and blue trampolines and green backward pads.  S to skip.\n100% possible but some difficult levels

@Stage\n\nwhen flag clicked\nswitch backdrop to (main menu v)\nset [ghost v] effect to (0)\n\nforever\n    glide (2.7) secs to x: (155) y: (-132)\n    wait (.3) seconds\n    glide (2.7) secs to x: (-150) y: (-132)\n    wait (.3) seconds\nend\n\nwhen I receive [back to menu v]\nswitch backdrop to (main menu v)\nset [ghost v] effect to (0)\n\nwhen I receive [start the game v]\nswitch backdrop to (in-game v)\nset [ghost v] effect to (0)\n\n@Intro\n\nwhen flag clicked\ngo to x: (0) y: (0)\nstart sound [MFLF2 Intro Sound v]\nshow\nswitch costume to (stefano3939 logo v)\nset [ghost v] effect to (100)\nrepeat (100)\n    change [ghost v] effect by (-1)\nend\nhide\nwait (1.1) seconds\nbroadcast (Main Menu v)\nhide\nforever\n    play sound [Main Menu v] until done\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [start the game v]\nhide\nstop [other scripts in sprite v]\n\nswitch costume to (thumbnail v)\n\n@Play\n\nwhen flag clicked\nhide\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [start the game v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [main menu v]\ngo to x: (-180) y: (40)\nshow\nswitch costume to (normal v)\nglide (0.2) secs to x: (-131) y: (40)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (hover v)\n        start sound [Hover v]\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        switch costume to (normal v)\n        start sound [Hover v]\n        wait until <touching (mouse-pointer v)?>\n    end\nend\n\nwhen this sprite clicked\nstart sound [Select v]\nbroadcast (Start the Game v)\nswitch costume to (normal v)\n\nwhen I receive [shop screen v]\nstop [other scripts in sprite v]\nglide (0.2) secs to x: (-180) y: (40)\nhide\n\nwhen I receive [how to play v]\nstop [other scripts in sprite v]\nglide (0.2) secs to x: (-180) y: (40)\nhide\n\nwhen I receive [more like this v]\nstop [other scripts in sprite v]\nglide (0.2) secs to x: (-180) y: (40)\nhide\n\n@Shop\n\nwhen flag clicked\nhide\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [start the game v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [main menu v]\ngo to x: (-180) y: (0)\nshow\nswitch costume to (normal v)\nwait (0.05) seconds\nglide (0.2) secs to x: (-131) y: (0)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (hover v)\n        start sound [Hover v]\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        switch costume to (normal v)\n        start sound [Hover v]\n        wait until <touching (mouse-pointer v)?>\n    end\nend\n\nwhen this sprite clicked\nstart sound [Select v]\nbroadcast (Shop Screen v)\nswitch costume to (normal v)\n\nwhen I receive [shop screen v]\nstop [other scripts in sprite v]\nwait (0.05) seconds\nglide (0.2) secs to x: (-180) y: (0)\nhide\n\nwhen I receive [how to play v]\nstop [other scripts in sprite v]\nwait (0.05) seconds\nglide (0.2) secs to x: (-180) y: (0)\nhide\n\nwhen I receive [more like this v]\nstop [other scripts in sprite v]\nwait (0.05) seconds\nglide (0.2) secs to x: (-180) y: (0)\nhide\n\n@About\n\nwhen flag clicked\nhide\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [start the game v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [main menu v]\ngo to x: (-180) y: (-40)\nshow\nswitch costume to (normal v)\nwait (0.1) seconds\nglide (0.2) secs to x: (-131) y: (-40)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (hover v)\n        start sound [Hover v]\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        switch costume to (normal v)\n        start sound [Hover v]\n        wait until <touching (mouse-pointer v)?>\n    end\nend\n\nwhen this sprite clicked\nstart sound [Select v]\nbroadcast (How to Play v)\nswitch costume to (normal v)\n\nwhen I receive [shop screen v]\nstop [other scripts in sprite v]\nwait (0.1) seconds\nglide (0.2) secs to x: (-180) y: (-40)\nhide\n\nwhen I receive [how to play v]\nstop [other scripts in sprite v]\nwait (0.1) seconds\nglide (0.2) secs to x: (-180) y: (-40)\nhide\n\nwhen I receive [more like this v]\nstop [other scripts in sprite v]\nwait (0.1) seconds\nglide (0.2) secs to x: (-180) y: (-40)\nhide\n\n@More\n\nwhen flag clicked\nhide\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [start the game v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [main menu v]\ngo to x: (-180) y: (-80)\nshow\nswitch costume to (normal v)\nwait (0.15) seconds\nglide (0.2) secs to x: (-131) y: (-80)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (hover v)\n        start sound [Hover v]\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        switch costume to (normal v)\n        start sound [Hover v]\n        wait until <touching (mouse-pointer v)?>\n    end\nend\n\nwhen this sprite clicked\nstart sound [Select v]\nbroadcast (More like this v)\nswitch costume to (normal v)\n\nwhen I receive [shop screen v]\nstop [other scripts in sprite v]\nwait (0.15) seconds\nglide (0.2) secs to x: (-180) y: (-80)\nhide\n\nwhen I receive [how to play v]\nstop [other scripts in sprite v]\nwait (0.15) seconds\nglide (0.2) secs to x: (-180) y: (-80)\nhide\n\nwhen I receive [more like this v]\nstop [other scripts in sprite v]\nwait (0.15) seconds\nglide (0.2) secs to x: (-180) y: (-80)\nhide\n\n@Back\n\nwhen flag clicked\nhide\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [start the game v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [how to play v]\ngo to x: (-180) y: (-120)\nshow\nswitch costume to (normal v)\nwait (0.15) seconds\nglide (0.2) secs to x: (-131) y: (-120)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (hover v)\n        start sound [Hover v]\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        switch costume to (normal v)\n        start sound [Hover v]\n        wait until <touching (mouse-pointer v)?>\n    end\nend\n\nwhen this sprite clicked\nstart sound [Back v]\nbroadcast (Main Menu v)\nswitch costume to (normal v)\n\nwhen I receive [more like this v]\ngo to x: (-180) y: (-120)\nshow\nswitch costume to (normal v)\nwait (0.15) seconds\nglide (0.2) secs to x: (-131) y: (-120)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (hover v)\n        start sound [Hover v]\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        switch costume to (normal v)\n        start sound [Hover v]\n        wait until <touching (mouse-pointer v)?>\n    end\nend\n\nwhen I receive [shop screen v]\ngo to x: (-180) y: (-120)\nshow\nswitch costume to (normal v)\nwait (0.15) seconds\nglide (0.2) secs to x: (-131) y: (-120)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (hover v)\n        start sound [Hover v]\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        switch costume to (normal v)\n        start sound [Hover v]\n        wait until <touching (mouse-pointer v)?>\n    end\nend\n\nwhen I receive [main menu v]\nstop [other scripts in sprite v]\nglide (0.2) secs to x: (-180) y: (-120)\nhide\n\n@MenuGUI's\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [how to play v]\nset [ghost v] effect to (100)\nswitch costume to (how to play v)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen I receive [main menu v]\nstart sound [Back v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [more like this v]\nset [ghost v] effect to (100)\nswitch costume to (advertisements v)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\n@Kawaii Kat\n\nwhen I receive [next level v]\nchange [level v] by (1)\n\nwhen I receive [start the game v]\nset volume to (100) %\nforever\n    play sound [The Fat Rat - Unity \(Without female voice\) v] until done\nend\n\nwhen I receive [start the game v]\nswitch costume to (Skin)\nset size to (10) %\nforever\n    if < or <<touching (sprite1 v)?> or <touching (sprite3 v)?>>> then\n        go to x: (-217) y: (-20)\n        change [deaths: v] by (1)\n        set [x v] to [0]\n    end\nend\n\nwhen I receive [start the game v]\nset rotation style [left-right v]\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 <key (a v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        switch costume to (kawaii kat v)\n        change [x v] by (-1)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        switch costume to (kawaii kat2 v)\n        change [x v] by (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 <key (w 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)?> or <touching (floating platform 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?> or <key (w v) pressed?>> and <<touching (ground v)?> or <touching (floating platform v)?>>> then\n        set [y v] to [15]\n    end\n    change y by (1)\n    if <(x position) > [222]> then\n        go to x: (-217) y: (-20)\n        broadcast (NEXT LEVEL v)\n    end\n    if <touching (trampoline v)?> then\n        set [y v] to [22]\n    end\n    if <touching (backwards v)?> then\n        set [x v] to [-50]\n    end\nend\n\nwhen I receive [start the game v]\nset [level v] to [0]\nchange [☁ views! v] by (1)\ngo to x: (-217) y: (-20)\nforever\n    if <<touching (vinyl-b-spike-960x960_grande v)?> or <touching (sks ms v)?>> then\n        go to x: (-217) y: (-20)\n        change [deaths: v] by (1)\n    end\nend\n\nwhen I receive [start the game v]\nforever\n    if <touching color (#ff0000)?> then\n        go to x: (-217) y: (-20)\n    end\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\nwait (0.01) seconds\nbroadcast (Main Menu v)\n\nwhen flag clicked\nhide\n\nwhen I receive [main menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [shop screen v]\nswitch costume to (Skin)\nshow\ngo to x: (0) y: (0)\nset size to (50) %\n\nwhen I receive [skin update v]\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\nswitch costume to (Skin)\nrepeat (10)\n    change [brightness v] effect by (10)\nend\n\nwhen [s v] key pressed\ngo to x: (-219) y: (-93)\n\n@<\n\nwhen flag clicked\nset [skin v] to [1]\nhide\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [main menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [shop screen v]\ngo to x: (-100) y: (0)\nshow\nswitch costume to (normal v)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (hover v)\n        start sound [Hover v]\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        switch costume to (normal v)\n        start sound [Hover v]\n        wait until <touching (mouse-pointer v)?>\n    end\nend\n\nwhen this sprite clicked\nstart sound [Select v]\nchange [skin v] by (-1)\nif <(Skin) < [1]> then\n    set [skin v] to [10]\nend\nbroadcast (Skin Update v)\n\n@>\n\nwhen flag clicked\nset [skin v] to [1]\nhide\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [main menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [shop screen v]\ngo to x: (100) y: (0)\nshow\nswitch costume to (normal v)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (hover v)\n        start sound [Hover v]\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        switch costume to (normal v)\n        start sound [Hover v]\n        wait until <touching (mouse-pointer v)?>\n    end\nend\n\nwhen this sprite clicked\nstart sound [Select v]\nchange [skin v] by (1)\nif <(Skin) > [10]> then\n    set [skin v] to [1]\nend\nbroadcast (Skin Update v)\n\n@ground\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start the game v]\nshow\nswitch costume to (costume 1 v)\nforever\n    set x to (0)\n    set y to (0)\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n@Spikes\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start the game v]\nshow\nswitch costume to (costume1 v)\ngo to [back v] layer\nforever\n    go to [back v] layer\n    set x to (0)\n    set y to (0)\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n@Trampoline\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start the game v]\nshow\ngo to [back v] layer\ngo [forward v] (1) layers\nswitch costume to (costume1 v)\nforever\n    set x to (0)\n    set y to (0)\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n@Backwards\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start the game v]\nshow\ngo to [back v] layer\ngo [forward v] (1) layers\nswitch costume to (costume1 v)\nforever\n    set x to (0)\n    set y to (0)\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n@lava\n\nwhen I receive [start the game v]\nshow\ngo to x: (0) y: (-176)\nset size to (100) %\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\n@floating platform\n\nwhen I receive [next level v]\nnext costume\n\nforever\n    glide (2.7) secs to x: (155) y: (-132)\n    wait (.3) seconds\n    glide (2.7) secs to x: (-150) y: (-132)\n    wait (.3) seconds\nend\n\nwhen I receive [start the game v]\nshow\nswitch costume to (costume1 v)\nforever\n    glide (2.7) secs to x: (155) y: (-132)\n    wait (.3) seconds\n    glide (2.7) secs to x: (-150) y: (-132)\n    wait (.3) seconds\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n@Sprite1\n\nwhen I receive [next level v]\nnext costume\n\ngo to x: (226) y: (-98)\n\nwhen I receive [start the game v]\nshow\nswitch costume to (costume2 v)\ngo to [back v] layer\nforever\n    go to [back v] layer\n    set x to (226)\n    set y to (-98)\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n@native-american-arrow-png\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start the game v]\nshow\nswitch costume to (costume1 v)\ngo to x: (33) y: (-20)\nforever\n    glide (2.7) secs to x: (-343) y: (-21)\n    if <touching (ground v)?> then\n        go to x: (33) y: (-20)\n    end\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n@Sprite3\n\nwhen I receive [next level v]\nnext costume\n\ngo to [back v] layer\nset x to (226)\nset y to (-98)\n\nwhen I receive [start the game v]\nshow\nswitch costume to (costume2 v)\ngo to x: (226) y: (-98)\ngo to [back v] layer\nforever\n    glide (2.7) secs to x: (155) y: (-98)\n    wait (.3) seconds\n    glide (2.7) secs to x: (-150) y: (-98)\n    wait (.3) seconds\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n@Sprite2\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start the game v]\nshow\nswitch costume to (costume1 v)\ngo to [back v] layer\ngo to x: (70) y: (-34)\nforever\n    glide (1) secs to x: (70) y: (-34)\n    wait (.6) seconds\n    glide (1) secs to x: (70) y: (10)\n    wait (.6) seconds\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n@vinyl-b-spike-960x960_grande\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start the game v]\nswitch costume to (costume1 v)\nforever\n    turn right (6) degrees\nend\n\nwhen I receive [start the game v]\nshow\nforever\n    go to [back v] layer\n    set x to (-19)\n    set y to (-113)\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n@sks ms\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [start the game v]\nforever\n    go to [back v] layer\n    set x to (200)\n    set y to (-113)\nend\n\nwhen I receive [start the game v]\nshow\nswitch costume to (costume1 v)\nforever\n    turn right (6) degrees\nend\n\nwhen I receive [back to menu v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\n\nwhen [s v] key pressed\nnext costume\n\n