Desert - A platformer 5

Instructions: Welcome to Desert 5! \nIf you were expecting a nice, easy platformer, well, you sure came to the wrong place! This is the final game in the desert series. These levels are extremely hard.\nDo all the others before this one. Or just try this without the others for a real challenge.\nThis isn't really a sequel you don't find your house\n\n\n\nALL LEVELS ARE POSSIBLE I SWEAR\n\n\nTo kill the boss, jump on the spikes he shoots.\nYou can skip but only once.\n\n\nWorks on mobile but I wouldn't suggest trying\n\nEXTREME RAGE MAY OCCUR

@Stage\n\n@Player\n\nwhen flag clicked\nshow\ngo to x: (-190) y: (0)\nset [x v] to [0]\nset [y v] to [0]\nforever\n    if <<<mouse down?> and <(x position) < (mouse x)>> or <key (right arrow v) pressed?>> then\n        change [x v] by (1)\n    end\n    if <<<mouse down?> and <(mouse x) < (x position)>> or <key (left arrow v) pressed?>> then\n        change [x v] by (-1)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching color (#fff300)?> then\n        change y by (1)\n        if <touching color (#fff300)?> then\n            change y by (1)\n            if <touching color (#fff300)?> then\n                change y by (1)\n                if <touching color (#fff300)?> then\n                    change y by (1)\n                    if <touching color (#fff300)?> then\n                        change y by (1)\n                        if <touching color (#fff300)?> then\n                            change y by (1)\n                            if <touching color (#fff300)?> then\n                                change y by (1)\n                                if <touching color (#fff300)?> then\n                                    change x by ((x) * (-1))\n                                    change y by (-7)\n                                    if <<<mouse down?> and <((y position) + (30)) < (mouse y)>> or <key (up arrow v) pressed?>> then\n                                        if <(x) > [0]> then\n                                            set [x v] to [-4]\n                                        else\n                                            set [x v] to [4]\n                                        end\n                                        set [y v] to [8]\n                                    else\n                                        set [x v] to [0]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (-1)\n    if <<<mouse down?> and <((y position) + (30)) < (mouse y)>> or <key (up arrow v) pressed?>> then\n        if <touching color (#fff300)?> then\n            set [y v] to [15]\n        end\n    end\n    if <touching color (#81f8ff)?> then\n        if <<<mouse down?> and <((y position) + (30)) < (mouse y)>> or <key (up arrow v) pressed?>> then\n            change [y v] by (0.3)\n        end\n    end\n    if <touching color (#81f9ff)?> then\n        if <<<mouse down?> and <(mouse y) < ((y position) + (30))>> or <key (down arrow v) pressed?>> then\n            change [y v] by (-1.3)\n        end\n    end\n    change y by (1)\n    change [y v] by (-1)\n    set [y v] to ((y) * (1))\n    change y by (y)\n    if <touching color (#fff300)?> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    if <(x position) > [239]> then\n        broadcast (next v)\n        go to x: (-190) y: (0)\n        set [x v] to [0]\n        set [y v] to [0]\n    end\n    if <[-179] > (y position)> then\n        go to x: (-190) y: (0)\n        set [x v] to [0]\n        set [y v] to [0]\n    end\n    if <touching color (#002afa)?> then\n        set [y v] to [20]\n    end\n    if <touching color (#1200fb)?> then\n        set [y v] to [15]\n    end\n    if <<touching color (#ff0000)?> or <touching color (#a6a6a6)?>> then\n        go to x: (-190) y: (0)\n        set [x v] to [0]\n        set [y v] to [0]\n    end\n    if <touching color (#82fbff)?> then\n        change [y v] by (1)\n        if <touching color (#82fbff)?> then\n            change [y v] by (1)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nset [ghost v] effect to (0)\nrepeat (20)\n    change [ghost v] effect by (6)\n    change size by (-6)\nend\ndelete this clone\n\nwhen flag clicked\nset [skips v] to [1]\nforever\n    play sound [The song v] until done\nend\n\nwhen [s v] key pressed\nif <<(skips) > [0]> and <not <<([costume name v] of [levels v]) = [Boss]> or <([costume name v] of [levels v]) = [End]>>>> then\n    broadcast (next v)\n    go to x: (-190) y: (0)\n    change [skips v] by (-1)\n    set [x v] to [0]\n    set [y v] to [0]\nend\n\nwhen I receive [boss dead v]\ngo to x: (-190) y: (0)\nset [x v] to [0]\nset [y v] to [0]\n\nbroadcast (next v)\ngo to x: (-190) y: (0)\nchange [skips v] by (-1)\nset [x v] to [0]\nset [y v] to [0]\n\n@Levels\n\nwhen flag clicked\nswitch costume to (level 1 v)\ngo to x: (0) y: (0)\nshow\n\nwhen I receive [next v]\nnext costume\n\nwhen flag clicked\nforever\n    if <not <(costume [number v]) = [14]>> then\n        go to [back v] layer\n        wait (1) seconds\n    else\n        go to [front v] layer\n    end\n    if <(costume [name v]) = [Boss]> then\n        go to [back v] layer\n        broadcast (Boss v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [boss dead v]\nnext costume\n\n@Clouds\n\nwhen flag clicked\nset [ghost v] effect to (35)\ngo to [back v] layer\nshow\ngo to x: (-66) y: (90)\nforever\n    glide (25) secs to x: (356) y: (90)\n    go to x: (-365) y: (90)\nend\n\nwhen I receive [game start v]\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\ngo to [back v] layer\n\n@Boss\n\nwhen flag clicked\ngo to x: (-53) y: (139)\nhide\n\nwhen I receive [boss v]\nset [died v] to [0]\nswitch costume to (costume1 v)\nshow\nrepeat until <touching (player v)?>\n    glide (0.5) secs to x: (pick random (-215) to (164)) y: (pick random (90) to (110))\nend\nstart sound [pop v]\nglide (1) secs to x: (-30) y: (-177)\nrepeat (15)\n    change y by (-5)\n    go to [back v] layer\nend\nhide\nbroadcast (Boss dead v)\nset [died v] to [1]\nstart sound [Whiz v]\n\n\n\n@Spikes\n\nwhen flag clicked\nhide\n\nwhen I receive [boss v]\nhide\nrepeat until <([costume name v] of [levels v]) = [End]>\n    if <(died) = [0]> then\n        create clone of (_myself_ v)\n        wait (1) seconds\n    else\n        hide\n    end\nend\n\nwhen I start as a clone\nshow\ngo to (boss v)\ngo to [back v] layer\nrepeat until \n    change y by (-2)\nend\nwait (0.1) seconds\ndelete this clone\n\nset [died v] to [1]\n\n@Toenail\n\nwhen flag clicked\nhide\n\n