Flat Minded 2 [platformer]

Instructions: FLAT MINDED 2!!!!!!!!!\nOnce again, we enter into this flat world to help our friend.\nNew Stuff:\n-Can now die from cold areas\n-Power ups that help you survive the cold, heat, and the tension of special portals\n-SHADOWS!\n-Jump blocks!\n-Short videos that reveal memories\n\nTHE LAGS ARE GONE!! (Mostly)\n\nPlease report any bugs or glitches :)

@Stage\n\nwhen flag clicked\nforever\n    play sound [bensound-memories.mp3 v] until done\nend\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen I receive [title v]\nset [ghost v] effect to (100)\nwait (1) seconds\ngo to x: (0) y: (0)\nshow\nrepeat (32)\n    change [ghost v] effect by (-3)\nend\nwait (1) seconds\nrepeat (32)\n    change [ghost v] effect by (3)\nend\nhide\nwait (1) seconds\nbroadcast (Play v)\n\nwhen I receive [end of game v]\nset [ghost v] effect to (100)\nwait (1) seconds\ngo to x: (0) y: (0)\nshow\nrepeat (32)\n    change [ghost v] effect by (-3)\nend\n\n@PI\n\nwhen flag clicked\nhide\ngo to x: (0) y: (-100)\nshow\nset size to (100) %\nset [vel v] to [0]\nset [ghost v] effect to (100)\nrepeat (32)\n    change [vel v] by (5)\n    change y by (([sin v] of (vel) ) * (((0) - (y position)) / (10)))\n    change [ghost v] effect by (-3)\nend\nwait (1) seconds\nrepeat (32)\n    change [ghost v] effect by (3)\nend\nhide\nbroadcast (title v)\n\n@Sprite3\n\nwhen I receive [play v]\nset [ghost v] effect to (0)\nshow\ngo to [front v] layer\ngo [backward v] (0) layers\nforever\n    Physics\n    Change Powerup\n    Ways to die\n    set [xpos v] to (x position)\n    set [ypos v] to (y position)\n    go to x: (0) y: (0)\nend\n\nwhen I receive [heat v]\nswitch costume to (costume2 v)\n\nwhen I receive [cool down! v]\nswitch costume to (costume3 v)\n\nwhen I receive [normal v]\nswitch costume to (costume1 v)\n\ndefine Change Powerup\nif <touching color (#ff9400)?> then\n    broadcast (heat v)\nend\nif <touching color (#99b2ff)?> then\n    broadcast (cool down! v)\nend\nif <touching color (#ffff99)?> then\n    broadcast (Normal v)\nend\n\nwhen flag clicked\nset [ghost v] effect to (0)\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [end of video 1 v]\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nset [ghost v] effect to (0)\n\nwhen I receive [video 1 v]\nstop [other scripts in sprite v]\nrepeat (32)\n    change [ghost v] effect by (3)\nend\nhide\n\nwhen I receive [video 2 v]\nstop [other scripts in sprite v]\nrepeat (32)\n    change [ghost v] effect by (3)\nend\nhide\n\ndefine Ways to die\nif <(level) = [9]> then\nelse\n    if <<(costume [number v]) = [1]> or <(costume [number v]) = [3]>> then\n        if <touching color (#eaffff)?> then\n            broadcast (Die v)\n        end\n    else\n        if <(costume [number v]) = [2]> then\n            if <touching color (#eaffff)?> then\n            end\n        end\n    end\nend\nif <touching color (#ff9999)?> then\n    if <not <(costume [number v]) = [3]>> then\n        broadcast (Die v)\n    end\nend\nif <<touching color (#cc99ff)?> and <not <(costume [number v]) = [1]>>> then\n    broadcast (Die v)\nelse\n    if <<touching color (#cc99ff)?> and <(costume [number v]) = [1]>> then\n        broadcast (Next Level v)\n    end\nend\n\ndefine Physics\nif <key (right arrow v) pressed?> then\n    change [xv v] by (0.85)\nend\nif <key (left arrow v) pressed?> then\n    change [xv v] by (-0.85)\nend\nset [xv v] to ((xv) * (0.87))\nchange x by (xv)\nif <<touching color (#7f7f7f)?> or <touching color (#cc0099)?>> then\n    change x by ((xv) * (-1))\n    set [xv v] to [0]\nend\nchange y by (yv)\nif <touching color (#99ffbb)?> then\n    broadcast (Next Level v)\nend\nif <touching color (#ffff00)?> then\n    broadcast (video 1 v)\nend\nif <<touching color (#7f7f7f)?> or <touching color (#cc0099)?>> then\n    change y by ((yv) * (-1))\n    if <key (up arrow v) pressed?> then\n        if <(yv) < [0.1]> then\n            if <touching color (#ff00bf)?> then\n                set [yv v] to [20]\n            else\n                set [yv v] to [13]\n            end\n        end\n    else\n        if <(yv) < [0.1]> then\n            set [yv v] to [0]\n        else\n            change [yv v] by (-1)\n        end\n    end\nend\nchange [yv v] by (-1)\nif <<<<touching color (#64c5ff)?> or <touching color (#61ffff)?>> or <touching color (#ffd499)?>> or <touching color (#ff9999)?>> then\n    if <key (up arrow v) pressed?> then\n        set [yv v] to [3]\n    end\nend\nif <<<touching color (#64c5ff)?> or <touching color (#61ffff)?>> or <<touching color (#ff9999)?> and <(costume [number v]) = [3]>>> then\n    if <not <key (up arrow v) pressed?>> then\n        set [yv v] to [-3]\n    end\nend\n\n@Sprite4\n\nwhen I receive [die v]\ngo to x: (0) y: (0)\nset [xv v] to [0]\nset [yv v] to [0]\n\nwhen I receive [play v]\ngo to [front v] layer\ngo [backward v] (3) layers\nshow\nset [xv v] to [0]\nset [yv v] to [0]\nset [xpos v] to [0]\nset [ypos v] to [0]\nset [yvel v] to [0]\ngo to x: (0) y: (0)\nforever\n    change x by ((Xpos) * (-1))\n    change y by ((Ypos) * (-1))\nend\n\nwhen flag clicked\nset [level v] to [0]\nset [ghost v] effect to (0)\nswitch costume to (costume1 v)\nhide\nset size to (1500) %\n\nwhen I receive [video 1 v]\nstop [other scripts in sprite v]\nrepeat (32)\n    change [ghost v] effect by (3)\nend\nhide\n\nwhen I receive [next level v]\nchange [level v] by (1)\nif <(level) = [10]> then\n    broadcast (video 2 v)\nelse\n    go to x: (0) y: (0)\n    set [xv v] to [0]\n    set [yv v] to [0]\n    next costume\nend\n\nwhen I receive [end of video 1 v]\nchange [level v] by (1)\nnext costume\nbroadcast (play v)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nset [ghost v] effect to (0)\n\nwhen I receive [video 2 v]\nstop [other scripts in sprite v]\nrepeat (32)\n    change [ghost v] effect by (3)\nend\nhide\n\n@Sprite2\n\nwhen I receive [play v]\nshow\ngo to [front v] layer\ngo [backward v] (5) layers\ngo to x: (0) y: (0)\n\nwhen flag clicked\nset [ghost v] effect to (0)\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [heat v]\nswitch costume to (costume2 v)\n\nwhen I receive [cool down! v]\nswitch costume to (costume3 v)\n\nwhen I receive [normal v]\nswitch costume to (costume1 v)\n\nwhen I receive [video 1 v]\nstop [other scripts in sprite v]\nrepeat (32)\n    change [ghost v] effect by (3)\nend\nforever\n    hide\nend\n\n@Sprite5\n\nwhen flag clicked\nhide\n\n@video 1\n\nwhen flag clicked\nset [ghost v] effect to (0)\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [video 1 v]\nwait (2) seconds\nshow\nwait (2) seconds\nnext costume\nwait (2) seconds\nnext costume\nwait (1) seconds\nrepeat (25)\n    next costume\nend\nwait (1) seconds\nnext costume\nwait (1) seconds\nrepeat (3)\n    next costume\nend\nwait (1) seconds\nrepeat (20)\n    next costume\nend\nwait (1) seconds\nrepeat (22)\n    next costume\nend\nwait (1) seconds\nnext costume\nwait (0.5) seconds\nrepeat (6)\n    next costume\n    wait (0.05) seconds\nend\nwait (0.5) seconds\nnext costume\nwait (1) seconds\nrepeat (15)\n    next costume\nend\nwait (2) seconds\nrepeat (7)\n    next costume\nend\nwait (1) seconds\nrepeat (5)\n    next costume\nend\nwait (1) seconds\nrepeat (2)\n    next costume\nend\nwait (1) seconds\nrepeat (2)\n    next costume\nend\nwait (1) seconds\nrepeat (2)\n    next costume\nend\nwait (1) seconds\nrepeat (32)\n    change [ghost v] effect by (3)\nend\nhide\nwait (1) seconds\nbroadcast (end of video 1 v)\n\n@Sprite6\n\nwhen flag clicked\nhide\n\n@video 2\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [video 2 v]\nswitch costume to (costume1 v)\nshow\nwait (1) seconds\nrepeat (6)\n    next costume\nend\nwait (2) seconds\nnext costume\nwait (2) seconds\nrepeat (5)\n    next costume\nend\nwait (1) seconds\nnext costume\nwait (2) seconds\nnext costume\nwait (2) seconds\nnext costume\nwait (2) seconds\nnext costume\nwait (2) seconds\nnext costume\nwait (2) seconds\nnext costume\nwait (1) seconds\nrepeat (4)\n    next costume\nend\nwait (2) seconds\nnext costume\nwait (2) seconds\nnext costume\nwait (1) seconds\nrepeat (4)\n    next costume\nend\nwait (1) seconds\nnext costume\nnext costume\nwait (1) seconds\nrepeat (4)\n    next costume\nend\nwait (2) seconds\nrepeat (12)\n    next costume\nend\nwait (2) seconds\nnext costume\nwait (1) seconds\nrepeat (3)\n    next costume\nend\nwait (1) seconds\nnext costume\nwait (1) seconds\nrepeat (32)\n    change [ghost v] effect by (3)\nend\nhide\nwait (1) seconds\nbroadcast (end of game v)\n\n@Sprite7\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\nhide\n\n