✦ The Water platformer 2✦


@Stage\n\nwhen flag clicked\nforever\n    play sound [Piano v] until done\nend\n\n@Player\n\ndefine Special Detections\nif <<touching (spikes v)?> or <<touching (saws v)?> or <touching (the water  v)?>>> then\n    go to x: (-210) y: (-79)\nend\nif <touching (jumper v)?> then\n    change [y v] by (30)\nend\n\nwhen flag clicked\nswitch costume to (11319744_48x2 v)\nshow\ngo to x: (-207) y: (-39)\nforever\n    go to [front v] layer\n    set [x v] to [0]\n    set [y v] to [0]\n    forever\n        change [y v] by (-1)\n        set [x v] to ((x) * (0.9))\n        if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n            change [x v] by (1)\n        end\n        if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n            change [x v] by (-1)\n        end\n        change x by (x)\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by (1)\n        end\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by (1)\n        end\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by (1)\n        end\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by (1)\n        end\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by (-4)\n            change x by ((x) * (-1))\n            if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n                set [y v] to [10]\n                if <([abs v] of (x) ) = (x)> then\n                    set [x v] to [-4]\n                else\n                    set [x v] to [4]\n                end\n            else\n                set [x v] to [0]\n            end\n        end\n        change y by (y)\n        if <<touching (platforms v)?> or <touching (moving platform v)?>> then\n            change y by ((y) - ((y) * (2)))\n            set [y v] to [0]\n        end\n        change y by (-1)\n        if <<<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> and <<touching (platforms v)?> or <touching (moving platform v)?>>> then\n            change [y v] by (14)\n        end\n        change y by (1)\n        Special Detections\n    end\nend\n\nwhen I receive [new level v]\ngo to x: (-207) y: (-39)\n\nwhen this sprite clicked\nnext costume\n\nwhen flag clicked\nchange [☁ data v] by (1)\nswitch costume to (11319744_48x3 v)\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (11319744_48x2 v)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-8)\nend\ndelete this clone\n\n@end\n\nwhen flag clicked\nshow\nset [level v] to [1]\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nforever\n    if <touching (player v)?> then\n        broadcast (new level v)\n        change [level v] by (1)\n    end\nend\n\nwhen I receive [coin v]\n\nwhen [timer v] > (0.1)\ngo to x: (0) y: (0)\nhide\n\nshow\n\nhide variable [level v]\n\nwhen [timer v] > (0.1)\ngo to x: (0) y: (0)\nhide\n\nwhen [timer v] > (0.1)\ngo to x: (0) y: (0)\nhide\n\nwhen flag clicked\nforever\n    if <([costume # v] of [platforms v]) = [11]> then\n        hide\n    else\n        show\n    end\nend\n\n@Platforms\n\nwhen flag clicked\nswitch costume to (costume2 v)\ngo to x: (0) y: (0)\nshow\n\nwhen [timer v] > (0.1)\n\nhide\nwait (7) seconds\n\nwhen I receive [new level v]\nnext costume\n\nwhen flag clicked\nset [level v] to [0]\nset [level v] to [0]\n\n@Spikes\n\nhide\n\nwhen [timer v] > (0.1)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [outro v]\nhide\n\nwhen I receive [new level v]\nnext costume\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\n\n@Sprite2\n\nwhen flag clicked\nshow\ngo [forward v] (10000000000000000000000000000000000000000000) layers\ngo to [front v] layer\nset [spin v] to [0]\ngo to x: (0) y: (0)\nforever\n    set y to ((([cos v] of ((spin) * (200)) ) * (10)) + (0))\n    change [spin v] by (0.02)\nend\n\nwhen I receive [tm v]\nshow\nset [spin v] to [0]\ngo to x: (0) y: (0)\nforever\n    set y to ((([cos v] of ((spin) * (200)) ) * (10)) + (0))\n    change [spin v] by (0.02)\nend\n\n@skip\n\nwhen flag clicked\nshow\nset size to (100) %\nset [zine v] to [0]\ngo to x: (217) y: (157)\nforever\n    change [zine v] by (1)\n    point in direction ((90) + (([sin v] of ((zine) * (8)) ) * (3)))\n    if <touching (mouse-pointer v)?> then\n        change size by (((110) - (size)) / (2))\n    else\n        change size by (((100) - (size)) / (4))\n    end\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        repeat until <<not <touching (mouse-pointer v)?>> or <not <mouse down?>>>\n            change [zine v] by (1)\n            point in direction ((90) + (([sin v] of ((zine) * (5)) ) * (3)))\n            change size by (((90) - (size)) / (2))\n        end\n        set size to (100) %\n        wait (0) seconds\n        if <<touching (mouse-pointer v)?> and <not <([costume # v] of [levels v]) = [15]>>> then\n            broadcast (new level v)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <([costume # v] of [platforms v]) = [11]> then\n        hide\n        stop [other scripts in sprite v]\n    end\nend\n\nwhen flag clicked\nshow\nset size to (100) %\nset [zine v] to [0]\ngo to x: (217) y: (157)\n\n@thumbnail\n\nwhen [timer v] > (0.1)\ngo to x: (0) y: (0)\nshow\nhide variable [level v]\nbroadcast (TM v)\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume2 v)\ngo to [front v] layer\nhide\nforever\n    reset timer\nend\n\n