Kirby's Adventure - A Scrolling Platformer

Instructions: MINECRAFT PLATFORMER 4 IS OUT! 8TH ON TRENDING!?! FIRST FOR MINECRAFT TOO!?!\nDouble Click the Green Flag\nInstructions:\n-Use Arrow Keys\n-Avoid Endermen, Shulkers, End Crystals, and Dragon Breath.\n-Get to the end\n\n***COMMENT YOUR TIME***\nMy Time: 70\n\nTURBOWARP: https://turbowarp.org/780188321

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nwait until <(level) = [14]>\nswitch backdrop to (backdrop2 v)\n\n@player\n\nwhen flag clicked\nhide\n\nwhen I receive [the end :\) v]\nstop [other scripts in sprite v]\nhide\n\nwhen I start as a clone\nswitch costume to (clone v)\nset size to (100) %\nset [ghost v] effect to (0)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-10)\nend\ndelete this clone\n\nwhen I receive [go v]\nset size to (150) %\nswitch costume to (normal v)\nshow\ngo to x: (-225) y: (-40)\nset [x move v] to [0]\nset [y move v] to [0]\nforever\n    clear graphic effects\n    change y by (-3)\n    if <touching (platform v)?> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            set [y move v] to [7.5]\n        end\n    end\n    change y by (3)\n    if <(y move) > [-15]> then\n        change [y move v] by (-0.5)\n    end\n    change y by (-2)\n    if <not <touching (platform v)?>> then\n        change y by (-1)\n        if <not <touching (platform v)?>> then\n            change y by (-1)\n            if <not <touching (platform v)?>> then\n                change y by (-1)\n                if <not <touching (platform v)?>> then\n                    change y by (-1)\n                    if <not <touching (platform v)?>> then\n                        change y by (-1)\n                        if <not <touching (platform v)?>> then\n                            change y by (5)\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\n    change y by (y move)\n    if <touching (platform v)?> then\n        change y by (-2)\n        if <touching (platform v)?> then\n            change y by ((-1) * (y move))\n            set [y move v] to [-3]\n        end\n        change y by (2)\n    end\nend\n\nwhen I receive [go v]\nforever\n    if <<(x position) = [235]> or <(x position) > [235]>> then\n        start sound [Collect v]\n        go to x: (-225) y: (-40)\n        broadcast (next level v)\n    end\nend\n\nwhen I receive [go v]\nforever\n    set [x move v] to ((x move) * (0.85))\n    change x by (x move)\n    if <touching (platform v)?> then\n        change y by (-2)\n        if <touching (platform v)?> then\n            change y by (1)\n            if <touching (platform v)?> then\n                change y by (1)\n                if <touching (platform v)?> then\n                    change y by (1)\n                    if <touching (platform v)?> then\n                        change y by (1)\n                        if <touching (platform v)?> then\n                            change y by (1)\n                            if <touching (platform v)?> then\n                                change y by (-5)\n                                change x by ((-1) * (x move))\n                                if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<<mouse down?> and <(mouse x) > (x position)>> or <<mouse down?> and <(mouse x) < (x position)>>>> and <not <(x move) = [0]>>> then\n                                    set [y move v] to [8]\n                                    set [x move v] to (((x move) / ([abs v] of (x move) )) * (-10))\n                                else\n                                    set [x move v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (2)\n    end\nend\n\nwhen I receive [go v]\nforever\n    create clone of (_myself_ v)\n    wait (.025) seconds\nend\n\nwhen I receive [go v]\nforever\n    if <touching (jump pad v)?> then\n        set [y move v] to [16]\n        wait (1) seconds\n        repeat (10)\n            change [x move v] by (4)\n        end\n    end\nend\n\nwhen I receive [go v]\nforever\n    go to [front v] layer\n    if <<(y position) < [-175]> or <<touching color (#c41a00)?> or <touching color (#ff2200)?>>> then\n        go to x: (-225) y: (-40)\n        start sound (pick random (1) to (3))\n        set [x move v] to [0]\n        set [y move v] to [0]\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [x move v] by (-1)\n        point in direction (-90)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x move v] by (1)\n        point in direction (90)\n    end\nend\n\n@deco\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [go v]\nshow\nforever\n    switch costume to (level)\nend\n\nwhen I receive [go v]\nforever\n    if <(level) = [53]> then\n        broadcast (THE END :\) v)\n        stop [this script v]\n    end\nend\n\n@platform\n\nwhen I receive [next level v]\nchange [level v] by (1)\n\nwhen I receive [go v]\nshow\nforever\n    switch costume to (level)\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nchange [ghost v] effect by (100)\nset [level v] to [1]\nhide\n\n@thumbnail \n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to [front v] layer\nshow\ngo to [front v] layer\n\nwhen I receive [stop v]\nclear graphic effects\nset [ghost v] effect to (100)\ngo to [front v] layer\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\n    wait (0.025) seconds\nend\n\n@clouds\n\nwhen I start as a clone\ngo to [back v] layer\nswitch costume to (pick random (1) to (3))\nset size to (pick random (90) to (110)) %\nset [ghost v] effect to (pick random (20) to (40))\nset y to (pick random (100) to (185))\nset x to (301)\nshow\nrepeat until <<(x position) < [-290]> or <(x position) = [-290]>>\n    change x by (-1)\nend\ndelete this clone\n\nwhen I receive [the end :\) v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [go v]\nhide\nforever\n    create clone of (_myself_ v)\n    wait (14.5) seconds\nend\n\nwhen flag clicked\nforever\n    reset timer\nend\n\nwhen [timer v] > (.01)\nbroadcast (stop v)\n\nwhen I receive [stop v]\nforever\n    reset timer\nend\n\nrepeat (10)\n\nrepeat (10)\n\nrepeat (10)\n\nwhen I receive [stop v]\nforever\n    play sound [Dimrain47 - The Prototype v] until done\nend\n\n@music\n\nwhen flag clicked\nset [ghost v] effect to (100)\nhide\n\nwhen I receive [go v]\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (3) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nhide\n\nwhen I receive [go v]\nwait (.5) seconds\nforever\n    play sound [glide v] until done\nend\n\n@loves, favs\n\nwhen I receive [the end :\) v]\nhide\nforever\n    wait (.3) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nshow\ngo to [front v] layer\nswitch costume to (pick random (1) to (2))\nset size to (0) %\ngo to (random position v)\npoint in direction (pick random (-180) to (180))\nset [ghost v] effect to (50)\nrepeat (20)\n    change size by (2)\nend\nwait (2) seconds\nrepeat (15)\n    change size by (-2)\nend\ndelete this clone\n\nbroadcast (THE END :\) v)\n\nwhen I receive [stop v]\nhide\nforever\n    wait (.3) seconds\n    create clone of (_myself_ v)\nend\n\n@jump pad\n\nwhen flag clicked\nhide\n\nwhen I receive [go v]\nforever\n    if <touching (player v)?> then\n        switch costume to (costume1 v)\n        repeat (6)\n            next costume\n        end\n        repeat (6)\n            switch costume to ((costume [number v]) - (1))\n        end\n    end\nend\n\nwhen I receive [go v]\nhide\nwait until <(level) = [11]>\nshow\ngo to x: (-111) y: (-87)\nwait until <(level) = [12]>\nhide\nstop [other scripts in sprite v]\n\n@introduction 2\n\nwhen flag clicked\nwait (3) seconds\nforever\n    repeat (10)\n        change size by (3)\n    end\n    repeat (3)\n        change size by (-3)\n    end\nend\n\nwhen I receive [the end :\) v]\ngo to x: (0) y: (100)\nswitch costume to (costume40 v)\npoint in direction (90)\nset size to (4) %\ngo to [front v] layer\nshow\nrepeat (25)\n    change size by (4)\n    turn right (14.4) degrees\nend\nset size to (100) %\n\nwhen flag clicked\ngo to x: (0) y: (0)\npoint in direction (90)\nset size to (100) %\nintro\n\nwhen I receive [go v]\nswitch costume to (costume2 v)\ngo to [front v] layer\nhide\n\ndefine intro\ngo to [front v] layer\ngo to [front v] layer\nshow\nstart sound [intro song v]\nshow\nswitch costume to (costume1 v)\nrepeat (16)\n    next costume\nend\nswitch costume to (costume17 v)\nrepeat (16)\n    wait (.0003) seconds\n    next costume\nend\nswitch costume to (costume33 v)\nrepeat (6)\n    wait (.0003) seconds\n    next costume\nend\nwait (6) seconds\nbroadcast (go v)\nhide\nstop [other scripts in sprite v]\n\n@signs\n\nwhen flag clicked\ngo to [front v] layer\nhide\n\nwhen I receive [go v]\ngo to x: (-51) y: (-87)\ngo to [front v] layer\nshow\nwait until <(level) = [2]>\ngo to x: (-99) y: (-87)\nwait until <(level) = [3]>\ngo to x: (-147) y: (-87)\nwait until <(level) = [4]>\nhide\nwait until <(level) = [14]>\ngo to x: (-147) y: (-87)\nshow\nwait until <(level) = [15]>\nhide\n\nwhen I receive [go v]\nforever\n    if <<touching (player v)?> and <(level) = [1]>> then\n        say [Use wasd or arrow keys to move.]\n    end\nend\n\ndefine say (text)\nset [say v] to []\nset [letter v] to []\nrepeat (length of (text))\n    change [letter v] by (1)\n    set [say v] to (join (say) (letter (letter) of (text)))\n    say (say)\nend\nwait (1.5) seconds\nsay []\n\nwhen I receive [go v]\nforever\n    if <<touching (player v)?> and <(level) = [2]>> then\n        say [you should wall jump.]\n    end\nend\n\nwhen I receive [go v]\nforever\n    if <<touching (player v)?> and <(level) = [3]>> then\n        say [don't touch those spikes.]\n    end\nend\n\nwhen I receive [go v]\nforever\n    if <<touching (player v)?> and <(level) = [14]>> then\n        say [it's night time now.]\n    end\nend\n\n