Potato platformer

Instructions: You are Spuddy. Your goal is to plant yourself back into the ground. To do this use WASD or the arrow keys, avoid red and lava, use springs and your dash then go in that hole!\n\nHeart, favourite and follow if you enjoyed!

@Stage\n\nwhen flag clicked\nforever\n    play sound [Dance Chill Out v] until done\nend\n\n@thing\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n@Level\n\nwhen flag clicked\nswitch costume to (1 v)\n\nwhen I receive [next v]\nnext costume\n\n@Sprite\n\nwhen I start as a clone\nrepeat (8)\n    change size by (-5)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\ngo to [front v] layer\npoint in direction (90)\nswitch backdrop to (backdrop1 v)\nset [x v] to [0]\nset [y v] to [0]\ngo to x: (-200) y: (-75)\nforever\n    change [y v] by (-0.5)\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [x v] by (-1)\n        point in direction (-90)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [x v] by (1)\n        point in direction (90)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching color (#a1ff65)?> then\n        change y by (1)\n    end\n    change y by (y)\n    if <touching color (#a1ff65)?> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-0.5)\n    if <<touching color (#a1ff65)?> and <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n        set [y v] to [10]\n        start sound [Jump v]\n    end\n    if <touching color (#a1ff65)?> then\n        change y by (1)\n        if <touching color (#a1ff65)?> then\n            change y by (1)\n            if <touching color (#a1ff65)?> then\n                change y by (1)\n                if <touching color (#a1ff65)?> then\n                    change y by (1)\n                    if <touching color (#a1ff65)?> then\n                        change y by (1)\n                        if <touching color (#a1ff65)?> then\n                            change y by (-6)\n                            if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                                set [y v] to [10]\n                                if <(x) > [0]> then\n                                    set [x v] to [-10]\n                                else\n                                    set [x v] to [10]\n                                end\n                            else\n                                change x by ((x) * (-1))\n                                set [x v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#805900)?> then\n        start sound [Low Whoosh v]\n        wait (0.1) seconds\n        broadcast (Next v)\n        set [x v] to [0]\n        set [y v] to [0]\n        go to x: (-200) y: (-75)\n    end\nend\n\nwhen [down arrow v] key pressed\nif <(direction) = [90]> then\n    set [x v] to [30]\nelse\n    set [x v] to [-30]\nend\n\nwhen [s v] key pressed\nif <(direction) = [90]> then\n    set [x v] to [30]\nelse\n    set [x v] to [-30]\nend\n\nwhen flag clicked\nforever\n    if <touching color (#ff6565)?> then\n        set [x v] to [0]\n        set [y v] to [0]\n        start sound [Oops v]\n        repeat (9)\n            change size by (-5)\n            change [ghost v] effect by (10)\n        end\n        broadcast (death v)\n        set size to (45) %\n        set [ghost v] effect to (0)\n        go to x: (-200) y: (-75)\n    end\nend\n\nwhen [r v] key pressed\nbroadcast (death v)\n\nwhen I receive [death v]\ngo to x: (-200) y: (-75)\nset [x v] to [0]\nset [y v] to [0]\n\n@Clouds\n\nwhen flag clicked\ngo to [back v] layer\nset [ghost v] effect to (30)\nhide\nforever\n    create clone of (_myself_ v)\n    wait (pick random (2) to (4)) seconds\nend\n\nwhen I start as a clone\nshow\nswitch costume to (pick random (1) to (4))\ngo to x: (300) y: (pick random (50) to (150))\nrepeat (300)\n    change x by (-2)\nend\ndelete this clone\n\n@mountains\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    go to [back v] layer\n    if <<(x position) < [25]> and <(x position) > [-25]>> then\n        change x by ((x) * (-0.05))\n    end\n    if <[1] > (y position)> then\n        change y by ((y) * (-0.1))\n    end\n    if <(y position) > [0]> then\n        set y to (0)\n    end\nend\n\nwhen I receive [next v]\ngo to x: (0) y: (0)\n\nwhen I receive [death v]\ngo to x: (0) y: (0)\n\n@skip\n\nwhen flag clicked\nshow\nwait until <([costume # v] of [level v]) = [1]>\nrepeat until <([costume # v] of [level v]) = [16]>\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (0)\n        set size to (120) %\n    else\n        set [ghost v] effect to (50)\n        set size to (100) %\n    end\nend\nhide\n\nwhen this sprite clicked\nbroadcast (Next v)\nplay sound [pop v] until done\n\n@Spring1\n\nwhen flag clicked\ngo to x: (-100) y: (-90)\nhide\nwait (1) seconds\nswitch costume to (costume1 v)\nwait until <([costume # v] of [level v]) = [8]>\nshow\nrepeat until <([costume # v] of [level v]) = [10]>\n    if <touching (sprite v)?> then\n        switch costume to (costume2 v)\n        set [y v] to [15]\n        wait (0.1) seconds\n        switch costume to (costume1 v)\n        play sound [Basketball Bounce v] until done\n    else\n        switch costume to (costume1 v)\n    end\nend\nhide\nwait until <([costume # v] of [level v]) = [12]>\ngo to x: (-120) y: (-90)\nshow\nrepeat until <([costume # v] of [level v]) = [13]>\n    if <touching (sprite v)?> then\n        switch costume to (costume2 v)\n        set [y v] to [14]\n        wait (0.1) seconds\n        switch costume to (costume1 v)\n        play sound [Basketball Bounce v] until done\n    else\n        switch costume to (costume1 v)\n    end\nend\nhide\nwait until <([costume # v] of [level v]) = [15]>\ngo to x: (0) y: (-90)\nshow\nrepeat until <([costume # v] of [level v]) = [16]>\n    if <touching (sprite v)?> then\n        switch costume to (costume2 v)\n        set [y v] to [14]\n        wait (0.1) seconds\n        switch costume to (costume1 v)\n        play sound [Basketball Bounce v] until done\n    else\n        switch costume to (costume1 v)\n    end\nend\nhide\n\n@Spring2\n\nwhen flag clicked\ngo to x: (50) y: (-90)\nhide\nwait (1) seconds\nswitch costume to (costume1 v)\nwait until <([costume # v] of [level v]) = [9]>\nshow\nrepeat until <([costume # v] of [level v]) = [10]>\n    if <touching (sprite v)?> then\n        switch costume to (costume2 v)\n        set [y v] to [15]\n        wait (0.1) seconds\n        switch costume to (costume1 v)\n        play sound [Basketball Bounce v] until done\n    else\n        switch costume to (costume1 v)\n    end\nend\nhide\n\n@end\n\nwhen flag clicked\nhide\nwait (1) seconds\nwait until <([costume # v] of [level v]) = [16]>\ngo to [front v] layer\nshow\nplay sound [Win v] until done\n\n@favourite\n\nwhen flag clicked\npoint in direction (90)\nhide\nwait (1) seconds\nwait until <([costume # v] of [level v]) = [16]>\ngo to [front v] layer\nshow\nrepeat (5)\n    turn right (2) degrees\nend\nforever\n    repeat (10)\n        turn left (2) degrees\n    end\n    repeat (10)\n        turn right (2) degrees\n    end\nend\n\n@heart\n\nwhen flag clicked\npoint in direction (90)\nhide\nwait (1) seconds\nwait until <([costume # v] of [level v]) = [16]>\ngo to [front v] layer\nshow\nrepeat (5)\n    turn right (2) degrees\nend\nforever\n    repeat (10)\n        turn left (2) degrees\n    end\n    repeat (10)\n        turn right (2) degrees\n    end\nend\n\n