☁ Save the Panda: a platformer 

Instructions: \n\n100 love - @Jadeclaw33\n@Awesomebricks1 Loved and favorited!!!\nAHHH, @StratfordJames the KING of cloud multiplayer games favorited and commented!!!\n200 love- @cs1711171\n@0014049 LOVED!!!\n@Chipm0nk Loved and favorited!!!\n____________________________________________\nOh no, a panda has gone missing!! You must find it!!\nGo through fog to clear it up, don't touch spikes, and save the panda!! You can still click "s" to skip, but you have a limited amount of skips.\n \nFollow @bhehmann1 for more!!!\n\n____________How to save the pandas______________\nPandas are endangered!!! One way to help their popularity increase, is to simply use less paper. First lets discuss paper. Trees create paper! Pandas' homes are being cut down because of paper!!! Next time you mess up a drawing PLEASE consider using the back side, instead of chucking it in the trash can. Look up other ways to help pandas! You can even make a project raising awareness, and post the link in the comment section. If you decide to do so I will like and favorite it!!! Together we can save the pandas!!!

@Stage\n\nwhen flag clicked\nplay sound [King Dedede Intro v] until done\nforever\n    play sound [Vs King Dedede - Kirby Star Allies v] until done\nend\n\n@connecting\n\nif <(length of [cloud list v]) = [0]> then\n\n\ndefine connecttest (@slot)\nif <not <(item (((@PlayerSlot) * (8)) - (4)) of [cloud list v]) = (item (4) of [my list v])>> then\n    wait (1) seconds\n    delete all of [my list v]\n    add (x position) to [my list v]\n    add (y position) to [my list v]\n    add (pick random (999) to (99999)) to [my list v]\n    add (x2) to [my list v]\n    add [0] to [my list v]\n    add (chat.output) to [my list v]\n    add (chat.mode) to [my list v]\n    add [4] to [my list v]\n    broadcast (Tick v) and wait\n    broadcast (Get Data v) and wait\n    if <not <(item (((@PlayerSlot) * (8)) - (4)) of [cloud list v]) = (item (4) of [my list v])>> then\n        broadcast (failed v)\n    end\nend\n\nwhen I receive [initialise  v]\nswitch costume to (connecting v)\nshow\nclear graphic effects\ngo to x: (0) y: (0)\ngo to [front v] layer\nset [full? v] to [False]\nset [kick v] to [False]\nset [moved? v] to [800]\n\ndefine Get Player Slot\nset [@playerslot v] to [0]\nbroadcast (Get Data v) and wait\nset [moved? v] to [0]\ndelete all of [check v]\nif <(length of [cloud list v]) = [0]> then\n    set [@playerslot v] to [1]\nelse\n    repeat (10)\n        change [moved? v] by (1)\n        add (item (((Moved?) * (8)) - (5)) of [cloud list v]) to [check v]\n    end\n    wait (2) seconds\n    broadcast (Get Data v) and wait\n    set [moved? v] to [1]\n    repeat until <(item (((Moved?) * (8)) - (5)) of [cloud list v]) = (item (Moved?) of [check v])>\n        change [moved? v] by (1)\n    end\n    set [@playerslot v] to (Moved?)\n    delete all of [my list v]\n    add (x position) to [my list v]\n    add (y position) to [my list v]\n    add (pick random (999) to (99999)) to [my list v]\n    add (x2) to [my list v]\n    add [0] to [my list v]\n    add (chat.output) to [my list v]\n    add (chat.mode) to [my list v]\n    add [4] to [my list v]\n    broadcast (Tick v) and wait\n    broadcast (Get Data v) and wait\n    connecttest (@PlayerSlot)\nend\n\nwhen flag clicked\nset [started v] to [0]\n\nwhen I receive [start v]\nset [started v] to [1]\n\nwhen I receive [aw v]\nshow\ngo to [front v] layer\nswitch costume to (full2 v)\nstop [all v]\n\nwhen flag clicked\nforever\n    if <(Full?) = [True]> then\n        go to [front v] layer\n        switch costume to (full v)\n        show\n        stop [all v]\n    end\nend\n\nwhen I receive [failed v]\nshow\ngo to [front v] layer\nswitch costume to (failed v)\nstop [all v]\n\nwhen I receive [start teh game that loads bla v]\nbroadcast (Initialise  v) and wait\nGet Player Slot\nset [moved? v] to [600]\nif <not <(@PlayerSlot) > [0]>> then\n    set [full? v] to [True]\nelse\n    wait (1) seconds\n    set [started v] to [1]\n    broadcast (start v)\nend\nhide\nforever\n    broadcast (Tick v) and wait\nend\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\ngo to (random position v)\n\n@Players\n\ndefine Movement (id)\nset size to (60) %\nshow\nchange [y2 v] by (-1)\nif <(chat.output) > [0]> then\n    say (item ((chat.output) + ((chat.mode) * (9))) of [chat v])\nelse\n    think []\nend\nif <(x position) > [230]> then\n    if <(Level) = [19]> then\n        broadcast (win v)\n    end\n    change [level v] by (1)\n    go to x: (-200) y: (0)\n    set [x2 v] to [0]\n    set [y2 v] to [0]\nend\nif <<<(mouse x) < (x position)> and <mouse down?>> or <key (left arrow v) pressed?>> then\n    set [last.activity v] to (timer)\n    change [x2 v] by (-0.6)\n    switch costume to (2 v)\nelse\n    if <<<(x position) < (mouse x)> and <mouse down?>> or <key (right arrow v) pressed?>> then\n        set [last.activity v] to (timer)\n        change [x2 v] by (0.6)\n        switch costume to (1 v)\n    else\n        switch costume to (3 v)\n    end\nend\nset [x2 v] to ((x2) * (0.9))\nchange x by (x2)\nSave My Data\nif <touching (levels v)?> then\n    change y by (1)\nend\nif <touching (levels v)?> then\n    change y by (1)\nend\nif <touching (levels v)?> then\n    change y by (1)\nend\nif <touching (levels v)?> then\n    change y by (1)\nend\nif <touching (levels v)?> then\n    change y by (-4)\n    change x by ((x2) * (-1))\nend\nchange y by (y2)\nSave My Data\nif <touching (levels v)?> then\n    change y by ((0) - (y2))\n    set [y2 v] to [1]\nend\nchange y by (-1)\nif <<<<(y position) < (mouse y)> and <mouse down?>> or <key (up arrow v) pressed?>> and <touching (levels v)?>> then\n    set [last.activity v] to (timer)\n    set [y2 v] to [15]\nend\nchange y by (1)\nif <(y position) > [180]> then\n    set [y2 v] to [0]\nend\nif <touching (danger v)?> then\n    go to x: (-192) y: (0)\n    set [x2 v] to [0]\n    set [y2 v] to [0]\nend\nif <[-179] > (y position)> then\n    go to x: (-192) y: (0)\n    set [x2 v] to [0]\n    set [y2 v] to [0]\nend\nSave My Data\ngo to [front v] layer\nif <key (s v) pressed?> then\n    if <[4] > (skip)> then\n        change [level v] by (1)\n        wait (1) seconds\n        go to x: (-192) y: (0)\n        change [skip v] by (1)\n        set [x2 v] to [0]\n        set [y2 v] to [0]\n    else\n        broadcast (come v)\n    end\nend\n\nwhen I receive [initialise  v]\nif <(username) = [jhehmann]> then\n    stop [all v]\nelse\n    hide\n    set [username v] to (username)\n    set [clone id v] to [0]\n    repeat (10)\n        change [clone id v] by (1)\n        create clone of (_myself_ v)\n    end\nend\n\ndefine (id)\nif <(item (id) of [active check v]) = [Off]> then\n    hide\nelse\n    if <(item (((id) * (8)) - (3)) of [cloud list v]) = (Level)> then\n        switch costume to ((item (((id) * (8)) - (0)) of [cloud list v]) + (4))\n        show\n        set size to (60) %\n        think (item (((id) * (8)) - (4)) of [cloud list v])\n        change x by (((x position) - (item (((id) * (8)) - (7)) of [cloud list v])) / (-2.5))\n        change y by (((y position) - (item (((id) * (8)) - (6)) of [cloud list v])) / (-2.5))\n        if <(item (((id) * (8)) - (2)) of [cloud list v]) > [0]> then\n            say (item ((item (((id) * (8)) - (2)) of [cloud list v]) + ((item (((id) * (8)) - (1)) of [cloud list v]) * (9))) of [chat v])\n        end\n    else\n        go to x: (item (((id) * (8)) - (7)) of [cloud list v]) y: (item (((id) * (8)) - (6)) of [cloud list v])\n        hide\n    end\nend\n\ndefine Save My Data\ndelete all of [my list v]\nadd (x position) to [my list v]\nadd (y position) to [my list v]\nadd (pick random (999) to (99999)) to [my list v]\nadd (username) to [my list v]\nadd (Level) to [my list v]\nadd (chat.output) to [my list v]\nadd (chat.mode) to [my list v]\nadd (costume [name v]) to [my list v]\n\ndefine Tick\nif <(Clone ID) = (@PlayerSlot)> then\n    Movement (Clone ID)\nelse\n    (Clone ID)\nend\n\nwhen I start as a clone\nwait until <(started) = [1]>\nif <not <(Clone ID) = (@PlayerSlot)>> then\n    go to x: (item (((Clone ID) * (8)) - (7)) of [cloud list v]) y: (item (((Clone ID) * (8)) - (6)) of [cloud list v])\nend\nif <(Clone ID) = (@PlayerSlot)> then\n    go to x: (-192) y: (0)\nend\nforever\n    Tick\nend\n\n\n\nwhen I receive [start v]\nshow variable [players v]\n\nwhen flag clicked\nhide variable [players v]\n\nwhen flag clicked\nset [chat v] to [0]\nset [chat1 v] to [1: Hi!]\nset [chat2 v] to [2: Hello!]\nset [chat3 v] to [3: How are you?]\nset [chat4 v] to [4: I'm fine, thanks!]\nset [chat5 v] to [5: I'm fine! What about you?]\nset [chat6 v] to [6: Not so good :\(]\nset [chat7 v] to [7: How to beat this level?]\nset [chat8 v] to [8: Come with me!]\nset [chat9 v] to [9: Wait for me!]\nset [chat10 v] to [A: Heyo!]\nset [chat11 v] to [B: OK]\ndelete all of [chat v]\nadd [Hi!] to [chat v]\nadd [Hello!] to [chat v]\nadd [How are you?] to [chat v]\nadd [I'm fine, thanks!] to [chat v]\nadd [I'm fine! What about you?] to [chat v]\nadd [Not so good :\(] to [chat v]\nadd [How to beat this level?] to [chat v]\nadd [Come with me!] to [chat v]\nadd [Wait for me!] to [chat v]\nadd [Heyo!] to [chat v]\nadd [OK] to [chat v]\n\nwhen [t v] key pressed\nif <(chat) = [1]> then\n    set [chat v] to [0]\nelse\n    set [chat v] to [1]\nend\n\nwhen I receive [start v]\nforever\n    if <(chat) = [1]> then\n        show variable [chat1 v]\n        show variable [chat2 v]\n        show variable [chat3 v]\n        show variable [chat4 v]\n        show variable [chat5 v]\n        show variable [chat6 v]\n        show variable [chat7 v]\n        show variable [chat8 v]\n        show variable [chat9 v]\n        show variable [chat10 v]\n        show variable [chat11 v]\n        if <key (1 v) pressed?> then\n            hide vars\n            set [chat.mode v] to [0]\n            set [chat.output v] to [1]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n        if <key (2 v) pressed?> then\n            hide vars\n            set [chat.mode v] to [0]\n            set [chat.output v] to [2]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n        if <key (3 v) pressed?> then\n            hide vars\n            set [chat.mode v] to [0]\n            set [chat.output v] to [3]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n        if <key (4 v) pressed?> then\n            hide vars\n            set [chat.mode v] to [0]\n            set [chat.output v] to [4]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n        if <key (5 v) pressed?> then\n            hide vars\n            set [chat.mode v] to [0]\n            set [chat.output v] to [5]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n        if <key (6 v) pressed?> then\n            hide vars\n            set [chat.mode v] to [0]\n            set [chat.output v] to [6]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n        if <key (7 v) pressed?> then\n            hide vars\n            set [chat.mode v] to [0]\n            set [chat.output v] to [7]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n        if <key (8 v) pressed?> then\n            hide vars\n            set [chat.mode v] to [0]\n            set [chat.output v] to [8]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n        if <key (9 v) pressed?> then\n            hide vars\n            set [chat.mode v] to [0]\n            set [chat.output v] to [9]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n        if <key (a v) pressed?> then\n            hide vars\n            set [chat.mode v] to [1]\n            set [chat.output v] to [1]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n        if <key (b v) pressed?> then\n            hide vars\n            set [chat.mode v] to [1]\n            set [chat.output v] to [2]\n            wait (2) seconds\n            set [chat.output v] to [0]\n        end\n    else\n        hide vars\n    end\nend\n\ndefine hide vars\nset [chat v] to [0]\nhide variable [chat1 v]\nhide variable [chat2 v]\nhide variable [chat3 v]\nhide variable [chat4 v]\nhide variable [chat5 v]\nhide variable [chat6 v]\nhide variable [chat7 v]\nhide variable [chat8 v]\nhide variable [chat9 v]\nhide variable [chat10 v]\nhide variable [chat11 v]\n\nwhen flag clicked\nset [chat.output v] to [0]\n\nwhen I receive [start v]\nwait (4) seconds\nforever\n    if <not <(item (((@PlayerSlot) * (8)) - (4)) of [cloud list v]) = (item (4) of [my list v])>> then\n        broadcast (aw v)\n        stop [all v]\n    end\nend\n\nwhen flag clicked\nset [last.activity v] to [1]\n\nwhen flag clicked\nhide variable [skip v]\nset [skip v] to [0]\nset [chat.output v] to [0]\n\nwhen I receive [win v]\nhide variable [skip v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\n@Cloud\n\ndefine Decode (data)\ndelete all of [cloud list v]\nset [output v] to []\nset [i v] to [0]\nrepeat ((length of (data)) / (2))\n    change [i v] by (2)\n    switch costume to (join (letter ((I) - (1)) of (data)) (letter (I) of (data)))\n    if <(costume [name v]) = [~]> then\n        add (Output) to [cloud list v]\n        set [output v] to []\n    else\n        set [output v] to (join (Output) (costume [name v]))\n    end\nend\n\ndefine Encode\nset [output v] to []\nset [n v] to [0]\nrepeat (length of [my list v])\n    set [i v] to [0]\n    change [n v] by (1)\n    repeat (length of (item (n) of [my list v]))\n        change [i v] by (1)\n        switch costume to (letter (I) of (item (n) of [my list v]))\n        if <(costume [number v]) < [10]> then\n            set [output v] to (join (Output) (join [0] (costume [number v])))\n        else\n            set [output v] to (join (Output) (costume [number v]))\n        end\n    end\n    set [output v] to (join (Output) [53])\nend\n\ndefine Update Players List (id)\nif <(id) = [1]> then\n    set [player list v] to [0]\n    delete all of [check v]\n    repeat (10)\n        change [player list v] by (1)\n        add (item (((Player List) * (8)) - (5)) of [cloud list v]) to [check v]\n    end\nelse\n    if <(id) = [2]> then\n        set [player list v] to [0]\n        repeat (10)\n            change [player list v] by (1)\n            if <not <(@PlayerSlot) = (Player List)>> then\n                if <(item (Player List) of [check v]) = (item (((Player List) * (8)) - (5)) of [cloud list v])> then\n                    replace item (Player List) of [active check v] with [Off]\n                else\n                    replace item (Player List) of [active check v] with [On]\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [initialise  v]\ndelete all of [active check v]\nrepeat (10)\n    add [off] to [active check v]\nend\n\nwhen I receive [start v]\nforever\n    Update Players List [1]\n    wait (0.3) seconds\n    Update Players List [2]\nend\n\nwhen I receive [get data v]\nDecode Data\n\ndefine Save Data (id)\nEncode\nif <(timer) < ((last.activity) + (60))> then\n    if <(id) = [1]> then\n        set [☁ p1 v] to (Output)\n    else\n        if <(id) = [2]> then\n            set [☁ p2 v] to (Output)\n        else\n            if <(id) = [3]> then\n                set [☁ p3 v] to (Output)\n            else\n                if <(id) = [4]> then\n                    set [☁ p4 v] to (Output)\n                else\n                    if <(id) = [5]> then\n                        set [☁ p5 v] to (Output)\n                    else\n                        if <(id) = [6]> then\n                            set [☁ p6 v] to (Output)\n                        else\n                            if <(id) = [7]> then\n                                set [☁ p7 v] to (Output)\n                            else\n                                if <(id) = [8]> then\n                                    set [☁ p8 v] to (Output)\n                                else\n                                    if <(id) = [9]> then\n                                        set [☁ p9 v] to (Output)\n                                    else\n                                        if <(id) = [10]> then\n                                            set [☁ p10 v] to (Output)\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [tick v]\nDecode Data\nSave Data (@PlayerSlot)\nDetermine Players\n\ndefine Decode Data\nDecode (join (☁ P1) (join (☁ P2) (join (☁ P3) (join (☁ P4) (join (☁ P5) (join (☁ P6) (join (☁ P7) (join (☁ P8) (join (☁ P9) (☁ P10))))))))))\n\ndefine Determine Players\nset [players v] to [1]\nset [i v] to [0]\nrepeat (10)\n    change [i v] by (1)\n    if <(item (I) of [active check v]) = [On]> then\n        change [players v] by (1)\n    end\nend\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\n@Messages\n\ndefine lerp to (xf) (yf) at smoothness (s) for (t) frames\nrepeat (t)\n    change x by (((xf) - (x position)) / (s))\n    change y by (((yf) - (y position)) / (s))\nend\ngo to x: (xf) y: (yf)\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nwait (1) seconds\nif <(Players) = [1]> then\n    go to x: (0) y: (80)\n    switch costume to (alone v)\n    show\n    lerp to (0) (0) at smoothness (19) for (69) frames\n    wait (1) seconds\n    lerp to (0) (80) at smoothness (19) for (69) frames\n    hide\nend\n\nwhen I receive [start v]\nwait (2) seconds\nset [pp v] to (Players)\nforever\n    if <(pp) < (Players)> then\n        wait (2) seconds\n        if <(pp) < (Players)> then\n            broadcast (joined v)\n            set [pp v] to (Players)\n            go to x: (0) y: (80)\n            switch costume to (joined v)\n            show\n            lerp to (0) (0) at smoothness (19) for (69) frames\n            wait (1) seconds\n            lerp to (0) (80) at smoothness (19) for (69) frames\n            hide\n        end\n    end\n    if <(Players) < (pp)> then\n        wait (2) seconds\n        if <(Players) < (pp)> then\n            broadcast (left v)\n            set [pp v] to (Players)\n            go to x: (0) y: (100)\n            switch costume to (left v)\n            show\n            lerp to (0) (0) at smoothness (19) for (69) frames\n            wait (1) seconds\n            lerp to (0) (80) at smoothness (19) for (69) frames\n            hide\n        end\n    end\nend\n\nwhen I receive [come v]\ngo to x: (0) y: (80)\nswitch costume to (out v)\nshow\nlerp to (0) (0) at smoothness (19) for (69) frames\nwait (1) seconds\nlerp to (0) (80) at smoothness (19) for (69) frames\nhide\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\n@Sprite2\n\nwhen I receive [start v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [start teh game that loads bla v]\nshow\nset size to (20) %\nforever\n    go to [front v] layer\n    go [backward v] (1) layers\n    turn right (15) degrees\n    change size by (((size) - (90)) / (-5))\nend\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\nwhen flag clicked\nbroadcast (Start teh game that loads bla v)\n\n@levels\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\n\nwhen I receive [start v]\nset [level v] to [1]\n\nwhen I receive [start v]\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\n@Danger\n\nwhen flag clicked\nset [brightness v] effect to (-3)\nshow\nset [ghost v] effect to (0)\nswitch costume to (lava spike v)\ngo to x: (0) y: (-20)\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nbroadcast (Reset clone v)\nClone [1] [1] [-78] [-137]\nClone [3] [1] [86] [-158]\nwait until <[2] = (Level)>\nbroadcast (Reset clone v)\nClone [4] [2] [232] [-86]\nwait until <[3] = (Level)>\nbroadcast (Reset clone v)\nwait until <[4] = (Level)>\nbroadcast (Reset clone v)\nwait until <[6] = (Level)>\nbroadcast (Reset clone v)\nClone [5] [6] [191] [-99]\nwait until <[7] = (Level)>\nbroadcast (Reset clone v)\nwait until <[9] = (Level)>\nbroadcast (Reset clone v)\nClone [4] [9] [8] [-135]\nClone [4] [9] [57] [-135]\nClone [4] [9] [124] [-135]\nClone [4] [9] [176] [-135]\nwait until <[10] = (Level)>\nbroadcast (Reset clone v)\nbroadcast (win v)\n\ndefine Clone (costume) (level) (x) (y)\nswitch costume to (costume)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\ngo to [back v] layer\nshow\nif <(costume [number v]) = [1]> then\n    forever\n        repeat (10)\n            turn right (15) degrees\n        end\n        repeat (48)\n            turn right (20) degrees\n        end\n        repeat (5)\n            turn right (10) degrees\n        end\n        repeat (2)\n            turn right (5) degrees\n        end\n        repeat (10)\n            turn left (15) degrees\n        end\n        repeat (30)\n            turn left (20) degrees\n        end\n        repeat (5)\n            turn left (10) degrees\n        end\n        repeat (2)\n            turn left (5) degrees\n        end\n    end\nend\nif <(costume [number v]) = [3]> then\n    set [my variable v] to [0]\n    forever\n        change [my variable v] by (10)\n        change y by ([cos v] of (my variable) )\n    end\nend\nif <(costume [number v]) = [4]> then\n    point in direction (90)\n    go to [back v] layer\n    show\n    change y by (-40)\n    forever\n        show\n        repeat (8)\n            change y by (5)\n        end\n        wait (2) seconds\n        repeat (8)\n            change y by (-5)\n        end\n        hide\n        wait (2) seconds\n    end\nend\nif <(costume [number v]) = [6]> then\n    change y by (10)\n    repeat until <touching (_edge_ v)?>\n        change x by (-10)\n        turn right (15) degrees\n    end\n    repeat (10)\n        change x by (-10)\n        turn right (15) degrees\n    end\n    delete this clone\nend\nif <(costume [number v]) = [5]> then\n    point in direction (90)\n    forever\n        wait (1) seconds\n        Launch\n    end\nend\nif <(costume [number v]) = [6]> then\n    point in direction (90)\n    show\n    forever\n        hide\n        wait (1) seconds\n        show\n        wait (1) seconds\n    end\nend\nif <(costume [number v]) = [7]> then\n    point in direction (90)\n    show\n    forever\n        hide\n        wait (1) seconds\n        show\n        wait (1) seconds\n    end\nend\n\nwhen I receive [reset clone v]\ndelete this clone\n\ndefine Launch\nswitch costume to (spike disc v)\ncreate clone of (_myself_ v)\nswitch costume to (launcher v)\n\n@vis\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\ngo to [back v] layer\n\nwhen I receive [start v]\nset [level v] to [1]\n\nwhen I receive [start v]\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\n@Bounce pad\n\nwhen flag clicked\nhide\nforever\n    if <touching (players v)?> then\n        if <key (up arrow v) pressed?> then\n            set [y2 v] to [20]\n            switch costume to (pad v)\n            repeat (11)\n                next costume\n            end\n        else\n            set [y2 v] to [15]\n            switch costume to (pad v)\n            repeat (11)\n                next costume\n            end\n        end\n    end\nend\n\nwhen I receive [start v]\nwait until <(Level) = [1]>\nshow\ngo to x: (-140) y: (-100)\nwait until <(Level) = [2]>\nhide\nwait until <(Level) = [3]>\ngo to x: (55) y: (-120)\ngo to [front v] layer\nshow\nwait until <(Level) = [4]>\nbroadcast (Reset clone v)\nhide\n\nshow\ngo to x: (-140) y: (-100)\n\nwait until <(Level) = [9]>\ngo to x: (114) y: (-115)\ngo to [front v] layer\nshow\nwait until <(Level) = [10]>\nhide\nwait until <(Level) = [12]>\nshow\ngo to x: (-24) y: (24)\ngo to [front v] layer\nshow\nwait until <(Level) = [13]>\nhide\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    hide variable [players v]\n    go to [front v] layer\nend\n\n@Fog\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (010)\nforever\n    if <touching (players v)?> then\n        repeat (9)\n            change [ghost v] effect by (10)\n        end\n        wait (2) seconds\n        repeat (9)\n            change [ghost v] effect by (-10)\n        end\n    end\nend\n\nwhen I receive [reset clone v]\ndelete this clone\n\nchange x by (40)\n\ndefine Fog\ngo to x: (-128) y: (141)\nrepeat (8)\n    repeat (10)\n        change y by (-30)\n        create clone of (_myself_ v)\n    end\n    change x by (40)\n    repeat (10)\n        change y by (30)\n        create clone of (_myself_ v)\n    end\nend\n\nwhen flag clicked\n\nwhen I receive [start v]\nbroadcast (Reset clone v)\nhide\nwait until <(Level) = [7]>\nbroadcast (Reset clone v)\nFog\nwait until <(Level) = [9]>\nbroadcast (Reset clone v)\nwait until <(Level) = [9]>\nbroadcast (Reset clone v)\n\nwhen I start as a clone\nforever\n    go to [front v] layer\nend\n\n@Win\n\nwhen I receive [win v]\ngo to [front v] layer\nshow\nstop [all v]\n\nwhen flag clicked\nhide\n\n@Background effect\n\nwhen I start as a clone\nshow\nrepeat until <not <touching (_edge_ v)?>>\n    change x by ((size) / (-10))\n    turn right (1) degrees\nend\nrepeat until <touching (_edge_ v)?>\n    turn right (1) degrees\n    change x by ((size) / (-10))\nend\nrepeat (10)\n    turn right (1) degrees\n    change x by ((size) / (-10))\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    set size to (pick random (5) to (100)) %\n    set [ghost v] effect to (size)\n    wait (pick random (.01) to (.1)) seconds\n    go to x: (999) y: (pick random (144) to (-144))\n    switch costume to (pick random (1) to (2))\n    create clone of (_myself_ v)\nend\n\n