Nether world platformer

Instructions: welcome to the nether.\nyou have one mission and that is to escape the nether!\nhow to play :\n- arrow keys to move\n- up arrow to jump\n- spikes kills you\n- touch green plate to next level\n- mobile friendly\n\nsongs:\nTheFatRat - prelude\n\ngame inspiration by @Kool_Kodes\n\nEnjoy the play in nether world platformer\ni hope you like it\n\nlogs:\n-added mobile friendly

@Stage\n\n@thumb\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nset [ghost effect v] to [0]\nset [ghost v] effect to (Ghost effect)\nwait (2) seconds\nrepeat until <(Ghost effect) = [100]>\n    change [ghost effect v] by (10)\n    set [ghost v] effect to (Ghost effect)\nend\nhide\nset [ghost v] effect to (0)\nbroadcast (Logo v)\n\n@WELCOME\n\nwhen flag clicked\nshow\nset [ghost effect v] to [100]\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\n\nwhen I receive [logo v]\nswitch backdrop to (backdrop3 v)\nrepeat until <(Ghost effect) = [0]>\n    change [ghost effect v] by (-10)\n    set [ghost v] effect to (Ghost effect)\nend\nwait (1) seconds\nhide\nbroadcast (Green flag v)\nswitch backdrop to (backdrop2 v)\n\nwhen flag clicked\nset [lvl v] to [1]\n\n@Platform\n\ndefine SET HACK SIZE TO (number or text)\nswitch costume to (size hack v)\nset size to (number or text) %\nswitch costume to (costume1 v)\n\nwhen I receive [respawn v]\npoint in direction (90)\ngo to x: (-10) y: (-500)\nset [d vel v] to [0]\nset [y vel v] to [0]\nstop all sounds\nplay sound [TheFatRat - Prelude v] until done\n\nwhen I receive [green flag v]\ngo to [front v] layer\nshow\nbroadcast (respawn v)\nSET HACK SIZE TO [200]\nforever\n    change [y vel v] by (1)\n    if <<key (right arrow v) pressed?> or <<(mouse x) > (x position)> and <mouse down?>>> then\n        change [d vel v] by (-0.2)\n    end\n    if <<key (left arrow v) pressed?> or <<(x position) > (mouse x)> and <mouse down?>>> then\n        change [d vel v] by (0.2)\n    end\n    set [d vel v] to ((d vel) * (0.8))\n    turn right (d vel) degrees\n    if <touching (player v)?> then\n        change y by (-1)\n        if <touching (player v)?> then\n            change y by (-1)\n            if <touching (player v)?> then\n                change y by (-1)\n                if <touching (player v)?> then\n                    change y by (-1)\n                    if <touching (player v)?> then\n                        change y by (4)\n                        turn right ((d vel) * (-1)) degrees\n                        set [d vel v] to [0]\n                    end\n                end\n            end\n        end\n    end\n    change y by (y vel)\n    if <touching (player v)?> then\n        change y by ((y vel) * (-1))\n        set [y vel v] to [0]\n    end\n    change y by (1)\n    if <touching (player v)?> then\n        if <<key (up arrow v) pressed?> or <<(mouse y) > [50]> and <mouse down?>>> then\n            set [y vel v] to [-12]\n        end\n    end\n    change y by (-1)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [green flag v]\nplay sound [TheFatRat - Prelude v] until done\n\nwhen I receive [win v]\npoint in direction (90)\ngo to x: (-10) y: (-500)\nset [d vel v] to [0]\nset [y vel v] to [0]\nstop all sounds\nplay sound [TheFatRat - Prelude v] until done\n\nwhen I receive [win v]\nstop [other scripts in sprite v]\nplay sound [Sunshine v] until done\n\nwhen flag clicked\nforever\n    if <(lvl) = [1]> then\n        switch costume to (costume1 v)\n    else\n        switch costume to (costume2 v)\n    end\nend\n\nwhen I receive [lvl2 v]\nswitch costume to (costume2 v)\nset [d vel v] to [0]\nset [y vel v] to [0]\nbroadcast (respawn v)\n\n@player\n\nwhen flag clicked\ngo to x: (0) y: (-1)\nhide\n\nwhen I receive [respawn v]\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen flag clicked\nforever\n    change y by (-5)\n    if <touching color (#013750)?> then\n        set [y vel v] to [-20]\n    end\n    if <touching color (#ff5757)?> then\n        broadcast (respawn v)\n    end\n    if <touching color (#ffb357)?> then\n        broadcast (respawn v)\n    end\n    if <touching color (#44ff00)?> then\n        broadcast (lvl2 v)\n        set [lvl v] to [2]\n    end\n    if <touching color (#1f7600)?> then\n        broadcast (Win v)\n        stop [other scripts in sprite v]\n    end\n    change y by (5)\nend\n\nwhen I receive [green flag v]\nshow\n\n@ cloud - super cool\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nset size to (pick random (50) to (80)) %\nshow\ngo to [back v] layer\nset [ghost v] effect to (20)\nswitch costume to (pick random (1) to (4))\nif <(side) = [1]> then\n    go to x: (300) y: (pick random (150) to (100))\n    repeat until <(x position) < [-250]>\n        change x by (-1)\n    end\n    delete this clone\nend\nif <(side) = [2]> then\n    go to x: (-300) y: (pick random (150) to (100))\n    repeat until <(x position) > [250]>\n        change x by (1)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nforever\n    go [backward v] (1) layers\n    go to [back v] layer\nend\n\nwhen I receive [green flag v]\nforever\n    set [side v] to (pick random (1) to (2))\n    create clone of (_myself_ v)\n    wait (pick random (1) to (2)) seconds\nend\n\n@lava cloud thing\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to [front v] layer\nshow\ngo to x: (230) y: (pick random (-200) to (200))\npoint in direction (pick random (-105) to (-75))\nset [ghost v] effect to (100)\nrepeat (5)\n    change [ghost v] effect by (-10)\nend\nrepeat until <(x position) < [-230]>\n    move (10) steps\nend\nrepeat (5)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [green flag v]\nforever\n    wait (.1) seconds\n    create clone of (_myself_ v)\nend\n\n@Win\n\nwhen flag clicked\ngo to x: (1) y: (113)\nhide\n\nwhen I receive [win v]\nshow\n\n@lava spikes\n\nwhen I receive [green flag v]\nshow\ngo to [back v] layer\npoint in direction (90)\nSet hack size to ([size v] of [platform v])\nforever\n    go to (platform v)\n    point in direction ([direction v] of [platform v])\nend\n\ndefine Set hack size to (size)\nswitch costume to (size hack v)\nset size to (size) %\nswitch costume to (costume1 v)\n\nwhen I receive [green flag v]\nforever\n    change y by (1)\n    if <touching (player v)?> then\n        broadcast (respawn v)\n    end\n    change y by (-1)\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <(lvl) = [1]> then\n        switch costume to (costume1 v)\n    else\n        switch costume to (costume2 v)\n    end\nend\n\n