☁ Sky - A cloud multiplayer platformer (mobile friendly) #platformer #Scrolling #Games

Instructions: This is classic non-generic platformer with some unexpected stuffs!  Follow for more!\n\nHow to play?\n- Please spam-click the flag to avoid lag and bugs.\n- Arrow keys or WASD to move.\n- Avoid dangerous stuff.\n- press r to restart.\n- Have fun!\n- ❤️ and ⭐will be appreciated and I will make more games like this! :) A LOT of effort was put on it!\n\nturbowrap:- https://turbowarp.org/625241682\n\nCREDITS! :)\n- Music by Julius Dreisig & Zeus X Crona - Invisible [NCS Release]\n- Some inspiration by @Capt_Boanerges\n- Original platformer tutorial by @xamuil2\n- Thanks to @JC_PROGOLD For the thumbnail movement!\n- Art and coding by me! :)\n\nTags\n- #amazingQ\n- #All\n- #games\n- #art\n- #music\n- #platformer\n- #platformers\n- #ungeneric\n- #followme

@Stage\n\nwhen I receive [start v]\nswitch backdrop to (backdrop1 v)\nforever\n    play sound [Popsicle v] until done\nend\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\n\n@player\n\nwhen flag clicked\nhide\n\ndefine reset\nset [yv v] to [0]\nset [xv v] to [0]\nif <(Chackpoint) = [0]> then\n    set [scroll x v] to [0]\n    set [scroll y v] to [0]\n    set [x pos v] to [0]\n    set [y pos v] to [0]\nend\nif <(Chackpoint) = [1]> then\n    set [scroll x v] to [3630]\n    set [scroll y v] to [175]\n    set [x pos v] to [3630]\n    set [y pos v] to [175]\nend\nif <(Chackpoint) = [2]> then\n    set [scroll x v] to [2850]\n    set [scroll y v] to [155]\n    set [x pos v] to [2850]\n    set [y pos v] to [155]\nend\nset [dead? v] to [no]\nset [win? v] to [no]\nset size to (100) %\nset [ghost v] effect to (0)\npoint in direction (90)\nshow\n\ndefine physics\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [xv v] by (1.8)\n    point in direction (90)\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    change [xv v] by (-1.8)\n    point in direction (-90)\nend\nset [xv v] to ((Xv) * (.8))\nChange x pos (round (Xv))\nChange y pos (Yv)\nif <(Yv) > [-10]> then\n    change [yv v] by (-1)\n    if <<touching (ladder v)?> and <not <<<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <(y position) > (mouse y)>>> or <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>>>> then\n        set [yv v] to [0]\n    end\nend\nif <<<<touching (lava v)?> or <touching (dangers v)?>> or <touching (spinny thing v)?>> and <not <touching (thingy v)?>>> then\n    set [dead? v] to [yes]\nend\nif <touching (mushrooms v)?> then\n    set [yv v] to [22]\nend\nif <<<touching (jump pulses v)?> or <<touching (jump pulses2 v)?> or <touching (jump pulses3 v)?>>> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n    set [yv v] to [15]\n    broadcast (glow v)\nend\n\ndefine Change y pos (amount)\nchange [y pos v] by (amount)\nPosition\nif <touching (ladder v)?> then\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n        set [yv v] to [5]\n    end\n    if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <(y position) > (mouse y)>>> then\n        set [yv v] to [-5]\n    end\nend\nif <<touching (ground v)?> or <<touching (moving plats v)?> or <touching (moving plats2 v)?>>> then\n    repeat until <not <<touching (ground v)?> or <<touching (moving plats v)?> or <touching (moving plats2 v)?>>>>\n        if <(Yv) > [0]> then\n            change [y pos v] by (-1)\n        else\n            change [y pos v] by (1)\n        end\n        Position\n        set [yv v] to [0]\n    end\nend\nchange [y pos v] by (-1)\nPosition\nif <<touching (ground v)?> or <<touching (moving plats v)?> or <touching (moving plats2 v)?>>> then\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n        set [yv v] to [15]\n    end\nend\nchange [y pos v] by (1)\nPosition\nchange [scroll y v] by ((y position) / (10))\nif <[20] > (SCROLL Y)> then\n    set [scroll y v] to [20]\nend\n\ndefine Change x pos (amount)\nchange [x pos v] by (amount)\nPosition\nif <<touching (ground v)?> or <<touching (moving plats v)?> or <touching (moving plats2 v)?>>> then\n    if <<touching (ground v)?> or <<touching (moving plats v)?> or <touching (moving plats2 v)?>>> then\n        change [y pos v] by (1)\n        Position\n        if <<touching (ground v)?> or <<touching (moving plats v)?> or <touching (moving plats2 v)?>>> then\n            change [y pos v] by (1)\n            Position\n            if <<touching (ground v)?> or <<touching (moving plats v)?> or <touching (moving plats2 v)?>>> then\n                change [y pos v] by (1)\n                Position\n                if <<touching (ground v)?> or <<touching (moving plats v)?> or <touching (moving plats2 v)?>>> then\n                    change [y pos v] by (1)\n                    Position\n                    if <<touching (ground v)?> or <<touching (moving plats v)?> or <touching (moving plats2 v)?>>> then\n                        change [y pos v] by (1)\n                        Position\n                    end\n                end\n            end\n        end\n    end\n    change [y pos v] by (-5)\n    repeat until <not <<touching (ground v)?> or <<touching (moving plats v)?> or <touching (moving plats2 v)?>>>>\n        change [x pos v] by ((amount) * (-1))\n        Position\n        set [xv v] to [0]\n    end\nend\nset [scroll x v] to (X pos)\nif <[0] > (SCROLL X)> then\n    set [scroll x v] to [0]\nend\n\ndefine Position\ngo to x: ((X pos) - (SCROLL X)) y: ((Y pos) - (SCROLL Y))\n\nwhen I receive [start v]\nswitch costume to (costume1 v)\nshow\nset rotation style [left-right v]\nbroadcast (set up v)\nbroadcast (reset v)\nreset\nforever\n    physics\n    broadcast (Scroll v)\n    if <(dead?) = [yes]> then\n        broadcast (reset v)\n        broadcast (set up v)\n        reset\n    end\nend\n\n@ground\n\nwhen I receive [reset v]\nshow\ngo to x: (0) y: (0)\ndelete this clone\n\nwhen I receive [set up v]\nswitch costume to (1 v)\nset [x v] to [0]\nset [y v] to [20]\nwait (0) seconds\nClone at [450] [20] [2]\nClone at [450] [20] [3]\nClone at [900] [20] [4]\nClone at [900] [20] [5]\nClone at [480] [20] [6]\nClone at [450] [20] [7]\nClone at [450] [20] [8]\nClone at [600] [20] [9]\nClone at [450] [20] [10]\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\nset size to (100) %\n\nwhen I start as a clone\nhide\nrepeat (10)\n    wait (.01) seconds\n    show\nend\n\ndefine Clone at (x) (y) (costume)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nswitch costume to (costume)\n\nwhen flag clicked\nhide\n\n@lava\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: (((([sin v] of ((timer) * (100)) ) * (10)) + (y)) - (SCROLL Y))\ngo to [back v] layer\nset size to (100) %\n\nwhen I receive [reset v]\nshow\ndelete this clone\n\nwhen I receive [set up v]\nswitch costume to (1 v)\nset [x v] to [0]\nset [y v] to [20]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\nClone at [450] [20] [1]\n\nwhen I start as a clone\nhide\nrepeat (10)\n    wait (.01) seconds\n    show\nend\n\ndefine Clone at (x) (y) (costume)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nswitch costume to (costume)\n\nwhen flag clicked\nhide\n\n@deco\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\ngo to [back v] layer\nset size to (100) %\n\nwhen I receive [reset v]\nshow\ndelete this clone\n\nwhen I receive [set up v]\nswitch costume to (1 v)\nset [x v] to [0]\nset [y v] to [20]\nClone at [450] [20] [2]\nClone at [450] [20] [3]\nClone at [900] [20] [5]\nClone at [900] [20] [4]\nClone at [480] [20] [6]\nClone at [450] [20] [7]\nClone at [450] [20] [8]\nClone at [600] [20] [9]\nClone at [450] [20] [10]\n\nwhen I start as a clone\nhide\nrepeat (10)\n    wait (.01) seconds\n    show\nend\n\ndefine Clone at (x) (y) (costume)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nswitch costume to (costume)\n\nwhen flag clicked\nhide\n\n@dangers\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\nset size to (100) %\n\nwhen I receive [reset v]\nshow\ndelete this clone\n\nwhen I receive [set up v]\nswitch costume to (1 v)\nset [x v] to [0]\nset [y v] to [20]\nClone at [450] [20] [2]\nClone at [3630] [20] [4]\n\nwhen I start as a clone\nhide\nrepeat (10)\n    wait (.01) seconds\n    show\nend\n\ndefine Clone at (x) (y) (costume)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nswitch costume to (costume)\n\nwhen flag clicked\nhide\n\n@mushrooms\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\nset size to (100) %\n\nwhen I receive [reset v]\ndelete this clone\n\nwhen I receive [set up v]\nhide\nset [x v] to [625]\nset [y v] to [-12]\ncreate clone of (_myself_ v)\nset [x v] to [2010]\nset [y v] to [318]\ncreate clone of (_myself_ v)\nset [x v] to [3230]\nset [y v] to [-50]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nforever\n    switch costume to (costume1 v)\n    if <touching (player v)?> then\n        repeat (2)\n            next costume\n            wait (0) seconds\n        end\n        wait (0) seconds\n        repeat (2)\n            switch costume to ((costume [number v]) - (1))\n            wait (0) seconds\n        end\n    end\nend\n\nwhen I start as a clone\nhide\nrepeat (10)\n    wait (.01) seconds\n    show\nend\n\nwhen flag clicked\nhide\n\n@moving plats\n\nwhen I receive [scroll v]\ngo to x: (((([sin v] of ((timer) * (50)) ) * (200)) + (x)) - (SCROLL X)) y: ((y) - (SCROLL Y))\nset size to (100) %\n\nwhen I receive [reset v]\ndelete this clone\n\nwhen I receive [set up v]\nhide\nset [x v] to [1300]\nset [y v] to [80]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\n\nwhen flag clicked\nhide\n\n@jump pulses\n\nwhen I receive [reset v]\nclear graphic effects\nset [x v] to [0]\nset [y v] to [20]\nhide\ngo to x: (0) y: (0)\ndelete this clone\n\nwhen I receive [set up v]\nwait (0) seconds\nClone at [1600] [20] [1]\nshow\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\nset size to ((([sin v] of ((timer) * (100)) ) * (10)) + (100)) %\ngo to [front v] layer\ngo [backward v] (5) layers\n\ndefine Clone at (x) (y) (costume)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nswitch costume to (costume)\n\nwhen I receive [glow v]\nset [brightness v] effect to (0)\nrepeat (8)\n    change [brightness v] effect by (10)\nend\nrepeat (8)\n    change [brightness v] effect by (-10)\nend\n\nwhen flag clicked\nhide\n\n@coin 1\n\nwhen I receive [scroll v]\nif <<(collected) > [0]> and <(ive collected?) = [1]>> then\n    stop [other scripts in sprite v]\n    go to x: (-186) y: (129)\nelse\n    show\n    go to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n    set size to (100) %\n    if <touching (player v)?> then\n        change [collected v] by (1)\n        set [ive collected? v] to [1]\n    end\nend\n\nwhen I receive [set up v]\nshow\nset [x v] to [2010]\nset [y v] to [550]\n\nwhen flag clicked\nset [collected v] to [0]\nset [ive collected? v] to [0]\n\nwhen flag clicked\nhide\n\n@ladder\n\nwhen I receive [reset v]\ngo to [back v] layer\nshow\ngo to x: (0) y: (0)\ndelete this clone\n\nwhen I receive [set up v]\nswitch costume to (1 v)\nset [x v] to [0]\nset [y v] to [20]\nwait (0) seconds\nClone at [450] [20] [2]\nClone at [450] [20] [3]\nClone at [900] [20] [4]\nClone at [900] [20] [5]\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\nset size to (100) %\n\nwhen I start as a clone\nhide\nrepeat (10)\n    wait (.01) seconds\n    show\nend\n\ndefine Clone at (x) (y) (costume)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nswitch costume to (costume)\n\nwhen flag clicked\nhide\n\n@spinny thing\n\nwhen I receive [reset v]\npoint in direction (90)\nclear graphic effects\nset [x v] to [0]\nset [y v] to [20]\nhide\ngo to x: (0) y: (0)\ndelete this clone\n\nwhen I receive [set up v]\nswitch costume to (1 v)\nwait (0) seconds\nClone at [3180] [80] [1]\nshow\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\ngo to [front v] layer\ngo [backward v] (3) layers\nturn right (2) degrees\n\ndefine Clone at (x) (y) (costume)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nswitch costume to (costume)\n\nwhen flag clicked\nhide\n\n@coin 2\n\nwhen I receive [scroll v]\nif <(stop?) = [0]> then\n    show\n    go to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n    set size to (100) %\n    if <touching (player v)?> then\n        change [collected v] by (1)\n        go to x: (-127) y: (129)\n        set [stop? v] to [1]\n    end\nelse\n    go to x: (-127) y: (129)\nend\n\nwhen I receive [set up v]\nshow\nset [x v] to [3180]\nset [y v] to [200]\n\nwhen flag clicked\nset [stop? v] to [0]\nset [collected v] to [0]\n\nwhen flag clicked\nhide\n\n@spinny thing2\n\nwhen I receive [reset v]\npoint in direction (90)\nclear graphic effects\nset [x v] to [0]\nset [y v] to [20]\nhide\ngo to x: (0) y: (0)\ndelete this clone\n\nwhen I receive [set up v]\nswitch costume to (1 v)\nwait (0) seconds\nClone at [3180] [80] [1]\nshow\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\ngo to [front v] layer\ngo [backward v] (3) layers\nturn right (2) degrees\n\ndefine Clone at (x) (y) (costume)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nswitch costume to (costume)\n\nwhen flag clicked\nhide\n\n@jump pulses2\n\nwhen I receive [reset v]\nclear graphic effects\nset [x v] to [0]\nset [y v] to [20]\nhide\ngo to x: (0) y: (0)\ndelete this clone\n\nwhen I receive [set up v]\nwait (0) seconds\nClone at [3650] [20] [2]\nshow\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\nset size to ((([sin v] of ((timer) * (100)) ) * (10)) + (100)) %\ngo to [front v] layer\ngo [backward v] (5) layers\n\ndefine Clone at (x) (y) (costume)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nswitch costume to (costume)\n\nwhen I receive [glow v]\nset [brightness v] effect to (0)\nrepeat (8)\n    change [brightness v] effect by (10)\nend\nrepeat (8)\n    change [brightness v] effect by (-10)\nend\n\nwhen flag clicked\nhide\n\n@checkpoint\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\ngo to [front v] layer\ngo [backward v] (2) layers\nset size to (100) %\nif <touching (player v)?> then\n    set [chackpoint v] to [1]\nend\nif <not <(Chackpoint) = [1]>> then\n    switch costume to (2 v)\nelse\n    switch costume to (3 v)\nend\n\nwhen I receive [reset v]\nshow\ndelete this clone\n\nwhen I receive [set up v]\nswitch costume to (2 v)\nset [x v] to [3630]\nset [y v] to [20]\n\nwhen I start as a clone\nhide\nrepeat (10)\n    wait (.01) seconds\n    show\nend\n\nwhen flag clicked\nset [chackpoint v] to [0]\n\nwhen flag clicked\nhide\n\n@jump pulses3\n\nwhen I receive [reset v]\nclear graphic effects\nset [x v] to [0]\nset [y v] to [20]\nhide\ngo to x: (0) y: (0)\ndelete this clone\n\nwhen I receive [set up v]\nwait (0) seconds\nClone at [4080] [20] [3]\nshow\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\nset size to ((([sin v] of ((timer) * (100)) ) * (10)) + (100)) %\ngo to [front v] layer\ngo [backward v] (5) layers\n\ndefine Clone at (x) (y) (costume)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nswitch costume to (costume)\n\nwhen I receive [glow v]\nset [brightness v] effect to (0)\nrepeat (8)\n    change [brightness v] effect by (10)\nend\nrepeat (8)\n    change [brightness v] effect by (-10)\nend\n\nwhen flag clicked\nhide\n\n@coin 3\n\nwhen I receive [scroll v]\nif <(c) = [1]> then\n    stop [other scripts in sprite v]\n    go to x: (-67) y: (129)\nelse\n    show\n    go to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n    set size to (100) %\n    if <touching (player v)?> then\n        change [collected v] by (1)\n        set [c v] to [1]\n    end\nend\n\nwhen I receive [set up v]\nshow\nset [x v] to [4230]\nset [y v] to [-80]\n\nwhen flag clicked\nset [collected v] to [0]\nset [c v] to [0]\n\nwhen flag clicked\nhide\n\n@moving plats2\n\nwhen I receive [scroll v]\ngo to x: (((([sin v] of ((timer) * (50)) ) * (70)) + (x)) - (SCROLL X)) y: ((y) - (SCROLL Y))\nset size to (100) %\n\nwhen I receive [reset v]\ndelete this clone\n\nwhen I receive [set up v]\nhide\nset [x v] to [3850]\nset [y v] to [60]\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\n\nwhen flag clicked\nhide\n\n@infinity vault\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\ngo to [back v] layer\nif <(collected) > [2]> then\n    switch costume to (costume2 v)\n    set size to (90) %\n    if <touching (player v)?> then\n        set [win? v] to [1]\n    end\nelse\n    switch costume to (costume1 v)\n    set size to (90) %\nend\n\nwhen I receive [set up v]\nshow\nset [x v] to [5100]\nset [y v] to [180]\n\nwhen flag clicked\nset [collected v] to [0]\n\nwhen flag clicked\nhide\n\n@Sprite1\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [win? v] to [0]\nforever\n    go to [front v] layer\n    if <(win?) = [1]> then\n        show\n        set [ghost v] effect to (100)\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        stop [this script v]\n    else\n        hide\n    end\nend\n\n@Intro\n\nwhen flag clicked\nset size to (100) %\ngo to x: (0) y: (0)\nswitch costume to (costume2 v)\npoint in direction (90)\nclear graphic effects\nset size to (100) %\nhide\nset [___intro v] to [1]\ngo to x: (200) y: (0)\nrepeat (6)\n    switch costume to (filter back v)\n    create clone of (_myself_ v)\n    change x by (-80)\n    wait (0.05) seconds\nend\ngo to x: (-200) y: (0)\nrepeat (6)\n    switch costume to (filter blue v)\n    create clone of (_myself_ v)\n    change x by (80)\n    wait (0.05) seconds\nend\ngo to x: (200) y: (0)\nrepeat (6)\n    switch costume to (filter white v)\n    create clone of (_myself_ v)\n    change x by (-80)\n    wait (0.05) seconds\nend\nset [___intro v] to [2]\nswitch costume to (background v)\ncreate clone of (_myself_ v)\nParticles\nswitch costume to (logo\(pt 1\) v)\ncreate clone of (_myself_ v)\nswitch costume to (logo pt 3 v)\ncreate clone of (_myself_ v)\nswitch costume to (logo\(pt 2\) v)\ncreate clone of (_myself_ v)\nwait (2) seconds\nswitch costume to (logo v)\ncreate clone of (_myself_ v)\nswitch costume to (letter s v)\nset [___intro v] to [4]\nset [x v] to [-140]\nrepeat (11)\n    create clone of (_myself_ v)\n    next costume\n    change [x v] by (35)\n    wait (0.05) seconds\nend\nwait (3) seconds\nswitch costume to (end2 v)\nrepeat (3)\n    create clone of (_myself_ v)\n    next costume\nend\nwait (1) seconds\nbroadcast (start v)\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    point in direction (90)\n    set size to (0) %\n    show\n    set [ghost v] effect to (100)\n    repeat (35)\n        change size by (((100) - (size)) / (5))\n        change [ghost v] effect by (-10)\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [2]> then\n    point in direction (90)\n    set size to (0) %\n    show\n    set [brightness v] effect to (0)\n    repeat (35)\n        change size by (((100) - (size)) / (5))\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [3]> then\n    point in direction (90)\n    set size to (100) %\n    show\n    set [brightness v] effect to (0)\n    set y to (1000)\n    show\n    repeat (30)\n        change y by (((0) - (y position)) / (5))\n    end\nend\n\nwhen I start as a clone\nif <(costume [name v]) = [Logo\(pt 1\)]> then\n    point in direction (90)\n    set size to (0) %\n    show\n    set [brightness v] effect to (0)\n    set y to (0)\n    go to x: (0) y: (0)\n    show\n    repeat (30)\n        change size by (((100) - (size)) / (5))\n    end\n    wait until <(___Intro) = [3]>\n    delete this clone\nend\n\nwhen I start as a clone\nif <(costume [name v]) = [Logo pt 3]> then\n    point in direction (90)\n    set size to (0) %\n    show\n    set [brightness v] effect to (0)\n    set y to (0)\n    go to x: (-100) y: (0)\n    show\n    repeat (30)\n        change x by (((0) - (x position)) / (5))\n        set y to (0)\n        change size by (((100) - (size)) / (5))\n    end\n    wait (1) seconds\n    set [___intro v] to [3]\n    delete this clone\nend\n\nwhen I start as a clone\nif <(costume [name v]) = [Logo\(pt 2\)]> then\n    point in direction (90)\n    set size to (0) %\n    show\n    set [brightness v] effect to (0)\n    set y to (0)\n    go to x: (100) y: (0)\n    show\n    repeat (30)\n        change x by (((0) - (x position)) / (5))\n        change size by (((100) - (size)) / (5))\n    end\n    wait (1) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(costume [name v]) = [Logo]> then\n    point in direction (90)\n    set size to (100) %\n    show\n    set [brightness v] effect to (0)\n    set y to (0)\n    go to x: (0) y: (0)\n    show\n    wait (0.2) seconds\n    repeat (30)\n        change y by (((50) - (y position)) / (5))\n        point in direction ((90) + ((6) * ([tan v] of ((timer) * (100)) )))\n        change size by (((80) - (size)) / (5))\n    end\n    repeat until <(___Intro) = [5]>\n        point in direction ((90) + ((6) * ([tan v] of ((timer) * (100)) )))\n    end\n    repeat (10)\n        change y by (((-180) - (y position)) / (4))\n        change size by (((20) - (size)) / (5))\n        change [ghost v] effect by (10)\n        turn right ((join [-] ((direction) / (3))) / (10)) degrees\n    end\nend\n\nwhen I start as a clone\nif <<(costume [number v]) > [7]> and <[19] > (costume [number v])>> then\n    show\n    set size to (0) %\n    point in direction (90)\n    repeat (30)\n        turn right (((90) - (direction)) / (5)) degrees\n        change y by (((-120) - (y position)) / (5))\n        change size by (((130) - (size)) / (5))\n        change x by (((x) - (x position)) / (5))\n    end\n    wait (2) seconds\n    repeat (30)\n        turn right (((90) - (direction)) / (5)) degrees\n        change y by (((180) - (y position)) / (5))\n        change size by (((100) - (size)) / (5))\n        change [ghost v] effect by (10)\n    end\nend\n\nwhen I start as a clone\nif <(costume [number v]) = [19]> then\n    go to [front v] layer\n    point in direction (pick random (-180) to (180))\n    set size to (pick random (75) to (150)) %\n    go to x: (0) y: (0)\n    set [brightness v] effect to (pick random (-30) to (50))\n    set [ghost v] effect to (pick random (0) to (40))\n    set [i v] to (pick random (5) to (9))\n    set [v v] to (pick random (10) to (12))\n    show\n    repeat until <touching (_edge_ v)?>\n        change y by (i)\n        move (v) steps\n        set [v v] to ((v) * (0.95))\n        change [i v] by (-0.4)\n    end\n    delete this clone\nend\n\ndefine Particles\nhide\nswitch costume to (particle  v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(costume [name v]) = [Background]> then\n    point in direction (90)\n    show\n    set [ghost v] effect to (100)\n    set y to (0)\n    go to x: (0) y: (0)\n    show\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\nend\n\nwhen I start as a clone\nif <<(costume [number v]) > [7]> and <[19] > (costume [number v])>> then\n    wait (4) seconds\n    set [___intro v] to [5]\nend\n\nwhen I start as a clone\nif <<(costume [name v]) = [end3]> or <<(costume [name v]) = [end1]> or <(costume [name v]) = [end2]>>> then\n    point in direction (90)\n    set size to (100) %\n    show\n    set [brightness v] effect to (0)\n    set y to (0)\n    go to x: (-5000) y: (0)\n    repeat until <(x position) = [0]>\n        change x by (((0) - (x position)) / (5))\n    end\nend\n\nwhen I start as a clone\nif <<(costume [name v]) = [end3]> or <<(costume [name v]) = [end1]> or <(costume [name v]) = [end2]>>> then\n    point in direction (90)\n    set size to (100) %\n    show\n    set [brightness v] effect to (0)\n    set y to (0)\n    go to x: (-5000) y: (0)\n    repeat until <(x position) = [0]>\n        change x by (((0) - (x position)) / (5))\n    end\nend\n\nwhen flag clicked\nstart sound [Ping! v]\n\nwhen I receive [start v]\nstop all sounds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@TB\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nshow\nforever\n    go to [front v] layer\nend\n\n@thingy\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\n\nwhen I receive [scroll v]\ngo to [front v] layer\n\n@checkpoint2\n\nwhen I receive [scroll v]\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\ngo to [front v] layer\ngo [backward v] (2) layers\nset size to (100) %\nif <touching (player v)?> then\n    set [chackpoint v] to [2]\nend\nif <(Chackpoint) = [2]> then\n    switch costume to (3 v)\nelse\n    switch costume to (2 v)\nend\n\nwhen I receive [reset v]\nshow\ndelete this clone\n\nwhen I receive [set up v]\nswitch costume to (2 v)\nset [x v] to [2700]\nset [y v] to [20]\n\nwhen I start as a clone\nhide\nrepeat (10)\n    wait (.01) seconds\n    show\nend\n\nwhen flag clicked\nhide\n\n