Iceball - A Platformer 2

Instructions: ɪᴄᴇʙᴀʟʟ - ᴀ ᴘʟᴀᴛғᴏʀᴍᴇʀ 2 \n------------------------------------------------------------------------- \nʙᴇғᴏʀᴇ ᴘʟᴀʏ ᴛʜɪs ɪ ʀᴇᴄᴏᴍᴇɴᴅᴇᴅ ᴘʟᴀʏ ᴘᴀʀᴛ 1 : \nhttps://scratch.mit.edu/projects/612866541/\n------------------------------------------------------------------------- ɪɴsᴛʀᴜᴄᴛɪᴏɴs: \n• ᴜsᴇ ᴀʀʀᴏᴡ  , ᴡᴀsᴅ ᴋᴇʏs / ᴍᴏʙɪʟᴇ ᴛᴀᴘ ᴛᴏ ᴍᴏᴠᴇ  \n• sᴘɪᴋᴇs,ʟᴀᴠᴀ ᴀʀᴇ ᴅᴀɴɢᴇʀᴏᴜs!! \n--------------------------------------------------------------------- \n❤️ - ɪғ ʏᴏᴜ ʟɪᴋᴇ ᴛʜɪs ᴘʀᴏᴊᴇᴄᴛ ;) \n⭐ - ɪғ ʏᴏᴜ ғᴀᴠᴏᴜʀɪᴛᴇ ᴛʜɪs ᴘʀᴏᴊᴇᴄᴛ ;) \n\nɴᴏᴛᴇ: ᴛʜɪs ɪs ᴛʜᴇ ʟᴀsᴛ ᴘᴀʀᴛ  \nɪᴄᴇʙᴀʟʟ ʀɪᴅᴇs ᴛʜᴀᴛ ʀᴏᴄᴋᴇᴛ ᴛᴏ ɢᴏ ᴛᴏ ᴘʟᴀɴᴇᴛ ɴᴇᴘᴛᴜɴᴇ xᴅ

@Stage\n\nwhen I receive [play v]\nforever\n    play sound [Unlimited v] until done\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n@Ball\n\nwhen flag clicked\nbroadcast (Play v)\n\nwhen I receive [next level v]\nbroadcast (Reset v)\n\nwhen I start as a clone\nclear graphic effects\nrepeat (10)\n    change [ghost v] effect by (10)\n    change y by (5)\n    turn right (5) degrees\nend\ndelete this clone\n\nwhen I receive [reset v]\nset [x velocity v] to [0]\nset [y velocity v] to [0]\ngo to x: (-200) y: (40)\n\nwhen I receive [play v]\nshow\nset [the level v] to [1]\nbroadcast (Next Level v)\nforever\n    switch costume to (ball v)\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 (ball r v)\n        change [x velocity v] by (-1.5)\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 (ball l v)\n        change [x velocity v] by (1.5)\n    end\n    set [x velocity v] to ((X Velocity) * (0.85))\n    change x by (X Velocity)\n    if <touching (snowy level v)?> then\n        change y by (1)\n    end\n    if <touching (snowy level v)?> then\n        change y by (1)\n    end\n    if <touching (snowy level v)?> then\n        change y by (1)\n    end\n    if <touching (snowy level v)?> then\n        change y by (1)\n    end\n    if <touching (snowy level v)?> then\n        change y by (-4)\n        change x by ((X Velocity) * (-1))\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>> then\n            if <(X Velocity) > [0]> then\n                set [x velocity v] to [-10]\n            else\n                set [x velocity v] to [10]\n            end\n            set [y velocity v] to [14]\n        else\n            set [x velocity v] to [0]\n        end\n    end\n    change [y velocity v] by (-1)\n    change y by (Y Velocity)\n    if <touching (snowy level v)?> then\n        change y by ((Y Velocity) - ((Y Velocity) * (2)))\n        set [y velocity v] to [0]\n    end\n    change y by (-1)\n    if <<touching (snowy level v)?> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n        set [y velocity v] to [14]\n    end\n    change y by (1)\n    if <(x position) > [239]> then\n        broadcast (Next Level v) and wait\n        change [the level v] by (1)\n    end\n    if <touching (ice spikes v)?> then\n        start sound [Pew v]\n        broadcast (Reset v)\n        create clone of (_myself_ v)\n    else\n        if <touching (ice spikes v)?> then\n            start sound [Pew v]\n            broadcast (Reset v)\n        end\n        if <(y position) < [-170]> then\n            broadcast (Reset v)\n            create clone of (_myself_ v)\n        end\n        if <touching (lava v)?> then\n            broadcast (Reset v)\n            create clone of (_myself_ v)\n        end\n        if <touching (moving spikes v)?> then\n            broadcast (Reset v)\n            create clone of (_myself_ v)\n        end\n    end\n    if <<touching (bouncy v)?> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n        set [y velocity v] to [14]\n    end\n    if <touching (freez rocket v)?> then\n        hide\n        broadcast (Ending v)\n        stop [other scripts in sprite v]\n    end\nend\n\n@Snowy level\n\nwhen I receive [play v]\ngo to [back v] layer\ngo to x: (0) y: (0)\nforever\n    switch costume to (The Level)\nend\n\nwhen I receive [ending v]\nstop [other scripts in sprite v]\n\n@Ice spikes\n\nwhen I receive [play v]\ngo to x: (0) y: (0)\nforever\n    switch costume to (The Level)\nend\n\nwhen I receive [ending v]\nstop [other scripts in sprite v]\n\n@Bouncy\n\nwhen I receive [play v]\ngo to [back v] layer\ngo to x: (20) y: (-40)\nforever\n    switch costume to (The Level)\nend\n\nwhen I receive [ending v]\nstop [other scripts in sprite v]\n\n@Text\n\nwhen I receive [play v]\ngo to x: (0) y: (0)\ngo to [back v] layer\nforever\n    switch costume to (The Level)\nend\n\nwhen I receive [ending v]\nstop [other scripts in sprite v]\n\n@Lava\n\nwhen I receive [play v]\nforever\n    set [magma v] to [0]\n    repeat (10)\n        change [magma v] by (1)\n    end\n    repeat (20)\n        change [magma v] by (-1)\n    end\n    repeat (10)\n        change [magma v] by (1)\n    end\nend\n\nwhen I receive [play v]\ngo to x: (33) y: (-3)\nforever\n    go to [back v] layer\n    set y to (Magma)\n    switch costume to (The Level)\nend\n\nwhen I receive [ending v]\nstop [other scripts in sprite v]\n\n@Text B\n\nwhen I receive [play v]\ngo to x: (0) y: (0)\nclear graphic effects\nshow\nwait (0.7) seconds\nstart sound [Sound v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nchange [the level v] by (1)\nstop [other scripts in sprite v]\n\nwhen I receive [ending v]\nstop [other scripts in sprite v]\n\n@Moving Spikes\n\nwhen I receive [play v]\ngo to x: (0) y: (0)\nforever\n    switch costume to (The Level)\nend\n\nwhen I receive [play v]\nforever\n    wait (0.2) seconds\n    glide (1.3) secs to x: (185) y: (0)\n    wait (0.2) seconds\n    glide (1.3) secs to x: (0) y: (0)\nend\n\nwhen I receive [ending v]\nstop [other scripts in sprite v]\n\n@Freez Rocket\n\nwhen I receive [play v]\nshow\ngo to x: (0) y: (0)\nforever\n    switch costume to (The Level)\nend\n\nwhen I receive [ending v]\nglide (1) secs to x: (0) y: (300)\nhide\nbroadcast (title v)\n\n@Ending\n\nwhen I receive [play v]\ngo to x: (0) y: (0)\nhide\nforever\n    switch costume to (The Level)\nend\n\nwhen I receive [title v]\nshow\nswitch costume to (11 v)\nstop [other scripts in sprite v]\n\n