Sunny Hills || Multiplayer Platformer                             #games

Instructions: ☼ Sυɳɳყ Hιɭɭʂ ☼\n\nHello and welcome to Sυɳɳყ Hιɭɭʂ, my best game so far. Get through a world of fun, including, clouds, water, cave, enemies and hidden coins. You can buy skins in the shop for the coins you find, and also chat and play with others!\n\nPlease help me to get this top loved, and a sequel will then come.\n\n⚠ Don't Advertise! ⚠\n\n\nCan't see any other? The multiplayer works, so you're probably just the only online or a new scratcher.\n\nNote: You need to buy skins to get some of the coins.\n\nThis game includs:\n★ Chat\n★ Mutliplayer\n★ One sprite shop\n★ Hidden Coins\n★ Cave\n★ Enemies\n★ 100+ hours of work\n\n✦ Instructions ✦\n★ Use WASD, arrow keys or tap to move!\n★ Explore the world with friends!\n★ Find hidden coins and buy skins!\n★ Kill enemies by jumping on their head!\n★ Press N to show names!\n★ Press T or press the chat button to chat!\n★ Find the goal!\n\nInformation:\nThere are 12 well hidden coins, but to get some of them, you need to buy skins. There are 8 different scratchers you can choose between. Use your favourite! I have added a cloud variable who tells how many people who have found all coins. Can you be one of them?\n\n✦ Credits ✦\n☁ Thanks to @griffpatch for the engines\n♫ Music from @-Xaf-\n★ Some inspiration from @StratfordJames and @TimMcCool\n★ Epic intro by @Kirbyzaz\n★Thanks to @Suhalo_351 for the contest\n♡ Thanks to @321321em for being my brother. Follow him!\n\nSkins: @Suhalo_351 @JTHEJET @ComplicatedCodes @Benelem12 @QuaXX @StratfordJames @TimMcCool\n@Ufhire(me)\n\nAre you reading all the way to this? Well done!\n\nPlease love, fave and follow to support my hard work and for more!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n#games #mutliplayer #Ufhire #all #cloud #scrolling #scratch\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n#hello

@Stage\n\nwhen I receive [tick v]\nswitch backdrop to (backdrop1 v)\nif <<<(PlayerX) < [-1000]> and <(PlayerY) < [850]>> or <(PlayerY) < [500]>> then\n    switch backdrop to (backdrop2 v)\nelse\n    switch backdrop to (backdrop1 v)\nend\n\nwhen [m v] key pressed\nif <(username) = [Ufhire]> then\n    set [mouse v] to (join ((SCROLL X) + (mouse x)) (join [,] ((SCROLL Y) + (mouse y))))\n    show variable [mouse v]\nend\n\nwhen flag clicked\nhide variable [mouse v]\nwait (1) seconds\nif <(username) = [Ufhire]> then\n    set [coins v] to [8]\nend\n\nset [coins v] to [1]\n\nset [coins v] to [6]\n\n@Interface\n\ndefine Clone (cos) (x) (y)\ncreate clone of (_myself_ v)\nswitch costume to (cos)\nset [x v] to (x)\nset [y v] to (y)\ngo to x: (x) y: (y)\nclear graphic effects\n\nwhen flag clicked\nset [shop v] to [0]\nset [cos v] to []\nset [ccos v] to [M]\nwait (1) seconds\nwait until <(\[INTRO\] Playing) = [false]>\nwait (1) seconds\nshow\nswitch costume to (nothing v)\nClone [shop button] [-180] [160]\nClone [2Heart] [180] [160]\nClone [shop] [0] [0]\nClone [Menu] [0] [0]\nClone [Coin0] [-20] [150]\nClone [Collectable] [20] [150]\nClone [S2] [-70] [0]\nClone [J2] [-25] [0]\nClone [C3] [25] [0]\nClone [B3] [70] [0]\nClone [Q4] [-70] [-50]\nClone [Ö5] [-25] [-50]\nClone [T6] [25] [-50]\nClone [U8] [70] [-50]\nClone [X] [76] [70]\nClone [Nothing] [0] [0]\n\nwhen I start as a clone\nforever\n    if <(Continue) = [1]> then\n        if < (costume [name v]) contains [Heart]?> then\n            switch costume to (join (Life) [Heart])\n        end\n        if <<<(letter (1) of (costume [name v])) = [C]> and <(letter (2) of (costume [name v])) = [O]>> and <(letter (3) of (costume [name v])) = [i]>> then\n            show\n            switch costume to (join [Coin] (Coins))\n        end\n        if <(shop) = [1]> then\n            show\n            if <<<(costume [name v]) = [shop button]> or < (costume [name v]) contains [Heart]?>> or <(costume [name v]) = (join [Coin] (Coins))>> then\n                hide\n            end\n        else\n            if <(shop) = [2]> then\n                if <not <<<(costume [name v]) = [shop button]> or < (costume [name v]) contains [Heart]?>> or <(costume [name v]) = (join [Coin] (Coins))>>> then\n                    change y by (6)\n                    change [ghost v] effect by (-10)\n                    show\n                else\n                    set size to (100) %\n                    set [ghost v] effect to (100)\n                    if <<(costume [name v]) = [shop button]> or < (costume [name v]) contains [Heart]?>> then\n                        if <(y position) < [200]> then\n                            change y by (10)\n                        end\n                    else\n                        if <(y position) < [200]> then\n                            change y by (10)\n                        end\n                    end\n                end\n            else\n                if <(shop) = [3]> then\n                    if <not <<<(costume [name v]) = [shop button]> or < (costume [name v]) contains [Heart]?>> or <(costume [name v]) = (join [Coin] (Coins))>>> then\n                        change y by (-6)\n                        change [ghost v] effect by (10)\n                        show\n                    else\n                        if <<(costume [name v]) = [shop button]> or < (costume [name v]) contains [Heart]?>> then\n                            if <(y position) < [200]> then\n                                change y by (10)\n                            end\n                            set size to (100) %\n                            set [ghost v] effect to (100)\n                            hide\n                            set [menu show v] to [0]\n                        else\n                            if <(y position) < [190]> then\n                                change y by (10)\n                            end\n                            set size to (100) %\n                            set [ghost v] effect to (100)\n                            hide\n                            set [menu show v] to [0]\n                        end\n                    end\n                else\n                    if <not <<<(costume [name v]) = [shop button]> or < (costume [name v]) contains [Heart]?>> or <(costume [name v]) = (join [Coin] (Coins))>>> then\n                        hide\n                    else\n                        go to [front v] layer\n                        go [backward v] (10) layers\n                        hide\n                        set [ghost v] effect to (0)\n                        if <(menu show) = [1]> then\n                            show\n                            if <<(costume [name v]) = [shop button]> or < (costume [name v]) contains [Heart]?>> then\n                                if <[160] < (y position)> then\n                                    change y by (-10)\n                                end\n                            else\n                                if <[150] < (y position)> then\n                                    change y by (-10)\n                                end\n                            end\n                        else\n                            show\n                            if <<(costume [name v]) = [shop button]> or < (costume [name v]) contains [Heart]?>> then\n                                if <(y position) < [200]> then\n                                    change y by (10)\n                                end\n                            else\n                                if <(y position) < [190]> then\n                                    change y by (10)\n                                else\n                                    go to x: (x position) y: (190)\n                                end\n                            end\n                            if <(y position) > [180]> then\n                                hide\n                            else\n                                show\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        if <<touching (mouse-pointer v)?> and <not <<<<(costume [name v]) = [Shop]> or <<(costume [name v]) = [Mouse]> or < (costume [name v]) contains [Heart]?>>> or <(costume [name v]) = [Menu]>> or <(costume [name v]) = (join [Coin] (Coins))>>>> then\n            if <(costume [name v]) = [shop button]> then\n                set [shop button v] to [1]\n                if <mouse down?> then\n                    broadcast (Open shop v)\n                end\n            end\n            if <mouse down?> then\n                if <(costume [name v]) = [X]> then\n                    if <not <(shop) = [3]>> then\n                        broadcast (Close Shop v)\n                    end\n                else\n                    if <<<not <<(costume [name v]) = [shop button]> or < (costume [name v]) contains [Heart]?>>> and <(Coins) > ((letter (2) of (costume [name v])) - (1))>> and <not < (Cos) contains (letter (1) of (costume [name v]))?>>> then\n                        start sound [536108__eminyildirim__ui-click v]\n                        wait until <not <mouse down?>>\n                        change [coins v] by (join [-] (letter (2) of (costume [name v])))\n                        if <not < (Cos) contains (letter (1) of (costume [name v]))?>> then\n                            set [cos v] to (join (Cos) (letter (1) of (costume [name v])))\n                        end\n                        set [ccos v] to (letter (1) of (costume [name v]))\n                    else\n                        if < (Cos) contains (letter (1) of (costume [name v]))?> then\n                            set [ccos v] to (letter (1) of (costume [name v]))\n                        end\n                    end\n                end\n            end\n            set size to ((size) + (((125) - (size)) / (6))) %\n        else\n            if <(costume [name v]) = [shop button]> then\n                set [shop button v] to [0]\n            end\n            if <not <(costume [name v]) = [Menu]>> then\n                set size to ((size) + (((99) - (size)) / (3))) %\n            else\n                if <<(mouse y) > [140]> and <(shop) = [0]>> then\n                    set [ghost v] effect to (0)\n                    show\n                    set [menu show v] to [1]\n                    if <[0] < (y position)> then\n                        change y by (-10)\n                    end\n                else\n                    if <not <(shop) = [0]>> then\n                        set [ghost v] effect to (100)\n                        hide\n                        go to x: (0) y: (50)\n                    else\n                        set [ghost v] effect to (0)\n                        set [menu show v] to [0]\n                        show\n                        if <(y position) < [50]> then\n                            change y by (10)\n                        end\n                    end\n                end\n            end\n        end\n    else\n        hide\n    end\nend\n\nwhen I start as a clone\nforever\n    if <touching (mouse-pointer v)?> then\n        set [shop text v] to (costume [name v])\n    end\nend\n\nwhen I receive [open shop v]\nset [ghost v] effect to (100)\nset [shop v] to [2]\nif <not <(costume [name v]) = [shop button]>> then\n    set y to ((y) - (100))\nend\nwait (0.5) seconds\nset [shop v] to [1]\n\nwhen I receive [close shop v]\nset [ghost v] effect to (0)\nset [shop v] to [3]\nif <(costume [name v]) = [shop button]> then\n    set y to ((y) - (50))\nend\nif <not <<<(costume [name v]) = [shop button]> or < (costume [name v]) contains [Heart]?>> or <(costume [name v]) = (join [Coin] (Coins))>>> then\n    go to x: (x position) y: (y)\nend\nwait (0.5) seconds\nset [shop v] to [0]\nif <(costume [name v]) = [shop button]> then\n    set y to (200)\nend\nif <(costume [name v]) = (join [Coin] (Coins))> then\n    set y to (190)\nend\n\n@Sprite4\n\nwhen flag clicked\nforever\n    switch costume to (shop text)\n    go to [front v] layer\n    set size to (100) %\n    set [ghost v] effect to (30)\n    if <not <<<<<<(shop text) = [shop]> or <(shop text) = [X]>> or <(shop text) = [shop button]>> or <(shop) = [0]>> or <(shop text) = [Menu]>> or <(shop text) = (join [Coin] (Coins))>>> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    go to x: ((mouse x) + (30)) y: ((mouse y) + (25))\nend\n\nwait (0.05) seconds\n\n@Player\n\ndefine Game - Die\nrepeat (5)\n    hide\n    wait (0.1) seconds\n    show\n    wait (0.1) seconds\nend\nhide\nwait (0.5) seconds\nset [exit v] to []\n\nwhen I receive [green flag v]\nset size to (100) %\nhide\n\nwhen I receive [play game v]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setup v) and wait\n    game on\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v)\n    end\n    if <(EXIT) = [win]> then\n        Game - Win\n    else\n        Game - Die\n    end\nend\n\ndefine game on\nset [x v] to [0]\nset [y v] to [1030]\nset [scroll x v] to ((x) - (50))\nset [scroll y v] to ((y) + (50))\nset [sy v] to [0]\nset [sx v] to [0]\nset [in air v] to [0]\nset [exit v] to []\nset [fly v] to [0]\nshow\nset [ghost v] effect to (0)\nset size to (110) %\npoint in direction (90)\n\ndefine Tick\nset [x v] to (round (x))\nset [y v] to (round (y))\ngo to x: (0) y: (0)\npoint in direction (90)\nswitch costume to (CCos)\nchange [1235669240951 v] by (1)\nif <(1235669240951) > [2000]> then\n    stop [all v]\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<<(mouse x) > (x position)> and <mouse down?>> and <(shop button) = [0]>>> then\n    set [1235669240951 v] to [0]\n    if <(shop) = [0]> then\n        if <(CCos) = [M]> then\n            switch costume to (r v)\n        end\n        if <(x) < [4000]> then\n            if <<<(CCos) = [S]> or <<(CCos) = [J]> or <(CCos) = [Q]>>> or <(CCos) = [U]>> then\n                change [sx v] by (2.5)\n            else\n                change [sx v] by (2)\n            end\n        end\n    end\nend\nset [sx v] to ((sx) * (0.8))\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<<(mouse x) < (x position)> and <mouse down?>> and <(shop button) = [0]>>> then\n    set [1235669240951 v] to [0]\n    if <(shop) = [0]> then\n        if <(CCos) = [M]> then\n            switch costume to (l v)\n        end\n        if <<<(CCos) = [S]> or <<(CCos) = [J]> or <(CCos) = [Q]>>> or <(CCos) = [U]>> then\n            change [sx v] by (-2.5)\n        else\n            change [sx v] by (-2)\n        end\n    end\nend\nif <([abs v] of (sx) ) > [0.9]> then\n    Cange player x by (round (sx))\nend\nif <<<key (up arrow v) pressed?> or <<key (space v) pressed?> or <key (w v) pressed?>>> or <<<(mouse y) > (y position)> and <mouse down?>> and <(shop button) = [0]>>> then\n    set [1235669240951 v] to [0]\n    if <(CCos) = [M]> then\n        if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<<(mouse x) < (x position)> and <mouse down?>> and <(shop button) = [0]>>> then\n            switch costume to (lu v)\n        else\n            if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<<(mouse x) > (x position)> and <mouse down?>> and <(shop button) = [0]>>> then\n                switch costume to (ru v)\n            else\n                switch costume to (p v)\n            end\n        end\n    end\n    if <<(CCos) = [T]> or <(CCos) = [U]>> then\n        set [jump v] to [0]\n    end\n    if <(shop) = [0]> then\n        if <not <(CCos) = [Ö]>> then\n            if <(Jump) < [20]> then\n                if <(in air) < [4]> then\n                    if <<<(CCos) = [B]> or <<(CCos) = [C]> or <(CCos) = [Q]>>> or <(CCos) = [U]>> then\n                        set [sy v] to [21]\n                    else\n                        set [sy v] to [18]\n                    end\n                end\n                if <not <<touching (water v)?> or <touching (ladder v)?>>> then\n                    change [jump v] by (1)\n                else\n                    set [jump v] to [0]\n                end\n            end\n        else\n            if <(Jump) < [4]> then\n                if <(in air) < [20]> then\n                    if <(Double Jump) < [2]> then\n                        if <not <<touching (water v)?> or <touching (ladder v)?>>> then\n                            set [sy v] to [22]\n                            broadcast (Double Jump v)\n                        else\n                            set [sy v] to [22]\n                        end\n                    end\n                    if <not <<touching (water v)?> or <touching (ladder v)?>>> then\n                        change [jump v] by (1)\n                    else\n                        set [jump v] to [0]\n                        set [double jump v] to [0]\n                    end\n                end\n            end\n        end\n    end\nelse\n    if <(sy) = [0]> then\n        set [double jump v] to [0]\n    end\n    if <(Jump) > [0]> then\n        set [jump v] to [0]\n    end\nend\nif <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<(y position) > (mouse y)> and <mouse down?>>> then\n    if <(CCos) = [M]> then\n        switch costume to (d v)\n        if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<<(mouse x) < (x position)> and <mouse down?>> and <(shop button) = [0]>>> then\n            switch costume to (ld v)\n        else\n            if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<<(mouse x) > (x position)> and <mouse down?>> and <(shop button) = [0]>>> then\n                switch costume to (rd v)\n            else\n                switch costume to (d v)\n            end\n        end\n    end\nend\nif <(sy) > [-15]> then\n    change [sy v] by (-2)\nend\nchange player y by (sy)\nTest - Die\nif <<(x) < [3900]> and <(x) > [-2200]>> then\n    change [scroll x v] by (round (((x) - (SCROLL X)) / (10)))\nend\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (10)))\nif <(SCROLL Y) < [-1000]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(y) < [-1000]> then\n    set [exit v] to [die]\nend\n\ndefine change player y by (sy)\nif <not <touching (water v)?>> then\n    if <not <touching (ladder v)?>> then\n        if <<(username) = [Ufhire]> and <(fly) = [1]>> then\n            if <<key (up arrow v) pressed?> or <key (down arrow v) pressed?>> then\n                change [y v] by (sy)\n            end\n            set [in air v] to [0]\n        else\n            change [y v] by (sy)\n            change [in air v] by (1)\n        end\n    else\n        set [in air v] to [0]\n        if <<<key (up arrow v) pressed?> or <<key (space v) pressed?> or <key (w v) pressed?>>> or <<(mouse y) > (y position)> and <mouse down?>>> then\n            change [y v] by ((sy) / (2))\n        else\n            if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<(y position) > (mouse y)> and <mouse down?>>> then\n                change [y v] by ((sy) / (2))\n            end\n        end\n    end\nelse\n    change [y v] by ((sy) / (5))\n    if <<<key (up arrow v) pressed?> or <<key (space v) pressed?> or <key (w v) pressed?>>> or <<(mouse y) > (y position)> and <mouse down?>>> then\n        change [y v] by ((sy) / (4))\n    else\n        if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<(y position) > (mouse y)> and <mouse down?>>> then\n            change [y v] by ((sy) / (3))\n        end\n    end\n    set [in air v] to [0]\nend\nPosition\nrepeat until <not <<touching (platform v)?> or <touching (bridge v)?>>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine Cange player x by (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platform v)?> then\n    repeat (12)\n        change [y v] by (1)\n        Position\n        if <not <touching (platform v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    if <<(CCos) = [T]> or <(CCos) = [U]>> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(mouse y) > (y position)> and <mouse down?>>> then\n            if <(sx) > [0]> then\n                set [sx v] to [-16]\n            else\n                set [sx v] to [16]\n            end\n            set [in air v] to [0]\n        else\n            set [sx v] to [0]\n        end\n    end\n    repeat until <not <touching (platform v)?>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Test - Die\n\ndefine Game - Win\nbroadcast (Win v)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\nwait (1) seconds\n\nwhen flag clicked\nset [max players v] to [9]\nset [my player # v] to [0]\ndelete all of [buffer v]\nwait (0.5) seconds\nwait until <(\[INTRO\] Playing) = [false]>\nwait (1) seconds\nbroadcast (setup - opponents v) and wait\nbroadcast (Join Game v) and wait\nif <(MY PLAYER #) > [0]> then\n    broadcast (Joined v)\nelse\n    broadcast (Server Full v)\nend\nbroadcast (begin v)\n\ndefine set cloud # (player) to (value)\nif <(player) = [1]> then\n    set [☁ 1 v] to (value)\nelse\n    if <(player) = [2]> then\n        set [☁ 2 v] to (value)\n    else\n        if <(player) = [3]> then\n            set [☁ 3 v] to (value)\n        else\n            if <(player) = [4]> then\n                set [☁ 4 v] to (value)\n            else\n                if <(player) = [5]> then\n                    set [☁ 5 v] to (value)\n                else\n                    if <(player) = [6]> then\n                        set [☁ 6 v] to (value)\n                    else\n                        if <(player) = [7]> then\n                            set [☁ 7 v] to (value)\n                        else\n                            if <(player) = [8]> then\n                                set [☁ 8 v] to (value)\n                            else\n                                if <(player) = [9]> then\n                                    set [☁ 9 v] to (value)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine write (val) to encoded\nset [letter # v] to [1]\nrepeat (length of (val))\n    set [encoded v] to (join (encoded) (item # of (letter (letter #) of (val)) in [code v]))\n    change [letter # v] by (1)\nend\nset [encoded v] to (join (encoded) [00])\n\nwhen I receive [begin v]\nforever\n    Send Cloud Data\nend\n\ndefine Send Cloud Data\nif <(MY PLAYER #) < [1]> then\n    stop [this script v]\nend\nset [cloud timer v] to [0]\nset [encoded v] to []\nwrite (username) to encoded\nwrite ((round (timer)) * (10)) to encoded\nwrite (Message) to encoded\nwrite (costume [number v]) to encoded\nwrite (PlayerX) to encoded\nwrite (PlayerY) to encoded\nset cloud # (MY PLAYER #) to (encoded)\n\nwhen I receive [tick v]\nsay (item (Message) of [text v])\n\nwhen I receive [play game v]\nif <(username) = [Ufhire]> then\n    set [names v] to [0]\nend\nforever\n    if <key (n v) pressed?> then\n        if <(Names) = [0]> then\n            set [names v] to [1]\n        else\n            set [names v] to [0]\n        end\n        wait until <not <key (n v) pressed?>>\n    end\nend\n\nwhen I receive [play game v]\nforever\n    play sound [Popsicle v] until done\n    play sound [Plugged \(post mastering\) v] until done\n    play sound [Imperfect v] until done\nend\n\nwhen I receive [tick v]\nset [playerx v] to (x)\nset [playery v] to (y)\n\nwhen I receive [double jump v]\nchange [double jump v] by (1)\nwait (0.1) seconds\n\nwhen I receive [\[intro\] stop intro v]\nbroadcast (Green Flag v)\nbroadcast (Play Game v)\n\nwhen [f v] key pressed\nif <(username) = [Ufhire]> then\n    if <(fly) = [0]> then\n        set [fly v] to [1]\n    else\n        set [fly v] to [0]\n    end\nend\n\nwhen flag clicked\nset [1235669240951 v] to [0]\n\nwhen I receive [tick v]\nif <(Continue) = [0]> then\n    set volume to (0) %\nelse\n    set volume to (80) %\nend\n\nif <touching (enemies v)?> then\n    if <(item (3) of [e v]) = [True]> then\n        broadcast (die v)\n        set [exit v] to [die]\n    end\nend\n\nwhen I receive [change life v]\nset [ghost v] effect to (0)\nrepeat (5)\n    set [ghost v] effect to (100)\n    wait (0.2) seconds\n    set [ghost v] effect to (0)\n    wait (0.2) seconds\nend\n\n@Opponents\n\ndefine begin decode of (encoded)\nset [encoded v] to (encoded)\nset [letter # v] to [1]\n\ndefine value = read from encoded\nset [value v] to []\nforever\n    set [idx v] to (join (letter (letter #) of (encoded)) (letter ((letter #) + (1)) of (encoded)))\n    change [letter # v] by (2)\n    if <(idx) < [1]> then\n        stop [this script v]\n    end\n    set [value v] to (join (value) (item (idx) of [code v]))\nend\n\ndefine setup players\ndelete all of [buffer v]\nset [color v] effect to (0)\nset [offline v] to [100]\nhide\nset [player # v] to [1]\nrepeat ((MAX PLAYERS) - (1))\n    create clone of (_myself_ v)\n    change [player # v] by (1)\nend\n\nwhen I receive [begin v]\nforever\n    if <(MY PLAYER #) = (player #)> then\n        set [offline v] to [100]\n        hide\n    else\n        tick\n    end\nend\n\ndefine value = cloud # (player)\nif <(player) = [1]> then\n    set [value v] to (☁ 1)\nelse\n    if <(player) = [2]> then\n        set [value v] to (☁ 2)\n    else\n        if <(player) = [3]> then\n            set [value v] to (☁ 3)\n        else\n            if <(player) = [4]> then\n                set [value v] to (☁ 4)\n            else\n                if <(player) = [5]> then\n                    set [value v] to (☁ 5)\n                else\n                    if <(player) = [6]> then\n                        set [value v] to (☁ 6)\n                    else\n                        if <(player) = [7]> then\n                            set [value v] to (☁ 7)\n                        else\n                            if <(player) = [8]> then\n                                set [value v] to (☁ 8)\n                            else\n                                if <(player) = [9]> then\n                                    set [value v] to (☁ 9)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [setup - opponents v]\nsetup players\n\ndefine tick\nvalue = cloud # (player #)\nif <(join [A] (value)) = (last value)> then\n    change [offline v] by (1)\n    if <(offline) = [100]> then\n        hide\n    end\nelse\n    set [last value v] to (join [A] (value))\n    if <(offline) > [99]> then\n        show\n    end\n    set [offline v] to [0]\nend\nbegin decode of (value)\nvalue = read from encoded\nif <(Names) = [1]> then\n    say (value)\nelse\n    say []\nend\nvalue = read from encoded\nvalue = read from encoded\nif <not <(value) = []>> then\n    say (item (value) of [text v])\nend\nvalue = read from encoded\nif <<<(x position) > [200]> or <(x position) < [-200]>> or <<(y position) > [160]> or <(y position) < [-160]>>> then\n    show\n    set rotation style [all around v]\n    point towards (player v)\n    switch costume to (nothing v)\n    if on edge, bounce\n    go to [front v] layer\n    set size to (80) %\nelse\n    set rotation style [left-right v]\n    point in direction (90)\n    switch costume to (value)\nend\nvalue = read from encoded\nset x to ((value) - (SCROLL X))\nvalue = read from encoded\nset y to ((value) - (SCROLL Y))\nset size to (110) %\n\nwhen I receive [join game v]\nvalue = cloud # (player #)\nset [last value v] to (join [A] (value))\nwait (3) seconds\nvalue = cloud # (player #)\nif <(join [A] (value)) = (last value)> then\n    set [my player # v] to (player #)\nend\n\n@Platform\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nswitch costume to (nothing v)\nset size to (100) %\nswitch costume to (nothing v)\nhide\nset [x v] to [0]\nset [y v] to [-1000]\nif <(Level) = [1]> then\n    set [ghost v] effect to (0)\n    Clone at x: [0] y: [1000]\n    Clone at x: [600] y: [770]\n    Clone at x: [400] y: [1050]\n    Clone at x: [-1500] y: [770]\n    Clone at x: [-700] y: [1000]\n    Clone at x: [-300] y: [900]\n    Clone at x: [-150] y: [1150]\n    Clone at x: [-300] y: [700]\n    Clone at x: [100] y: [400]\n    Clone at x: [0] y: [200]\n    Clone at x: [-450] y: [400]\n    Clone at x: [850] y: [300]\n    Clone at x: [400] y: [200]\n    Clone at x: [-400] y: [530]\n    Clone at x: [400] y: [600]\n    Clone at x: [400] y: [200]\n    Clone at x: [-250] y: [-200]\n    Clone at x: [-300] y: [-200]\n    Clone at x: [-100] y: [-580]\n    Clone at x: [-300] y: [-400]\n    Clone at x: [-50] y: [-150]\n    Clone at x: [750] y: [-700]\n    Clone at x: [0] y: [-500]\n    Clone at x: [300] y: [-500]\n    Clone at x: [300] y: [-200]\n    Clone at x: [0] y: [0]\n    Clone at x: [200] y: [-200]\n    Clone at x: [100] y: [0]\n    Clone at x: [550] y: [0]\n    Clone at x: [-100] y: [200]\n    Clone at x: [340] y: [-200]\n    Clone at x: [300] y: [200]\n    Clone at x: [300] y: [1150]\n    Clone at x: [500] y: [1200]\n    Clone at x: [400] y: [1300]\n    Clone at x: [550] y: [1300]\n    set [ghost v] effect to (100)\n    Clone at x: [-100] y: [850]\n    set [ghost v] effect to (0)\n    Clone at x: [-500] y: [850]\n    Clone at x: [700] y: [450]\n    Clone at x: [500] y: [450]\n    Clone at x: [-300] y: [1080]\n    set [ghost v] effect to (100)\n    Clone at x: [250] y: [1180]\n    Clone at x: [200] y: [1350]\n    Clone at x: [-500] y: [1400]\n    Clone at x: [300] y: [1500]\n    Clone at x: [500] y: [1350]\n    set [ghost v] effect to (0)\n    Clone at x: [-100] y: [850]\n    Clone at x: [-100] y: [1800]\n    set [ghost v] effect to (100)\n    Clone at x: [-300] y: [1900]\n    Clone at x: [-300] y: [2000]\n    Clone at x: [-300] y: [2050]\n    set [ghost v] effect to (0)\n    Clone at x: [-300] y: [1950]\n    Clone at x: [-500] y: [2050]\n    set [ghost v] effect to (100)\n    Clone at x: [-300] y: [2100]\n    Clone at x: [-300] y: [2000]\n    set [ghost v] effect to (0)\n    Clone at x: [-500] y: [1900]\n    set [ghost v] effect to (100)\n    Clone at x: [-250] y: [2000]\n    Clone at x: [80] y: [2200]\n    Clone at x: [250] y: [2250]\n    Clone at x: [-550] y: [2250]\n    Clone at x: [-300] y: [2250]\n    set [ghost v] effect to (0)\n    Clone at x: [-400] y: [2350]\n    Clone at x: [-340] y: [2500]\n    set [ghost v] effect to (100)\n    Clone at x: [-200] y: [2350]\n    set [ghost v] effect to (0)\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\nset [ghost v] effect to (0)\n\n@Text\n\nwhen I receive [text v]\nwait until <not <key (t v) pressed?>>\nset [text v] to []\nif <(show) = [0]> then\n    set [ghost v] effect to (100)\n    switch costume to (menu v)\n    go to x: (0) y: (0)\n    show\n    go to [front v] layer\n    set [show v] to [1]\n    broadcast (Setup text v)\nelse\n    if <(show) = [1]> then\n        set [show v] to [0]\n    end\nend\n\nwhen flag clicked\nhide\nset [show v] to [0]\nset [text v] to []\nset [message v] to []\n\nwhen I receive [tick v]\nif <(show) = [1]> then\n    change [ghost v] effect by (-10)\nelse\n    change [ghost v] effect by (10)\nend\nswitch costume to (text)\nif <key (t v) pressed?> then\n    broadcast (Text v)\nend\n\nwhen I receive [write v]\nset [message v] to (item # of (text) in [text v])\nset [text v] to []\nset [show v] to [0]\nglide (0.15) secs to x: (-240) y: (0)\nhide\nwait (4) seconds\nset [message v] to []\n\nwhen I receive [setup text v]\nforever\n    if <(show) = [1]> then\n        if <key (1 v) pressed?> then\n            wait until <not <key (1 v) pressed?>>\n            set [text v] to [Hi!]\n            broadcast (Write v)\n        end\n        if <key (2 v) pressed?> then\n            wait until <not <key (2 v) pressed?>>\n            set [text v] to [Goodbye!]\n            broadcast (Write v)\n        end\n        if <key (3 v) pressed?> then\n            wait until <not <key (3 v) pressed?>>\n            set [text v] to [Help?]\n            broadcast (Write v)\n        end\n        if <key (4 v) pressed?> then\n            wait until <not <key (4 v) pressed?>>\n            set [text v] to [Thanks!]\n            broadcast (Write v)\n        end\n        if <key (5 v) pressed?> then\n            wait until <not <key (5 v) pressed?>>\n            set [text v] to [Yes!]\n            broadcast (Write v)\n        end\n        if <key (6 v) pressed?> then\n            wait until <not <key (6 v) pressed?>>\n            set [text v] to [No!]\n            broadcast (Write v)\n        end\n        if <key (7 v) pressed?> then\n            wait until <not <key (7 v) pressed?>>\n            set [text v] to [I can help!]\n            broadcast (Write v)\n        end\n        if <key (8 v) pressed?> then\n            wait until <not <key (8 v) pressed?>>\n            set [text v] to [Follow me!]\n            broadcast (Write v)\n        end\n        if <key (9 v) pressed?> then\n            wait until <not <key (9 v) pressed?>>\n            set [text v] to [Nice!]\n            broadcast (Write v)\n        end\n    end\nend\n\n@Exit\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    set [win v] to [1]\n    broadcast (Win v) and wait\nend\n\nwhen I receive [setup v]\nset [win v] to [0]\nhide\nswitch costume to (exit v)\nif <(Level) = [1]> then\n    set [x v] to [-400]\n    set [y v] to [2500]\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(win) = [0]> then\n        show\n    else\n        hide\n    end\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nset [x v] to (x)\nset [y v] to (y)\n\nwhen flag clicked\nset [win v] to [0]\n\n@TN\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    set [red flag var v] to (timer)\nend\n\nwhen [timer v] > (Red Flag Var)\nswitch costume to (nothing v)\nset size to (150) %\nswitch costume to (tn v)\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    switch costume to (nothing v)\n    change [ghost v] effect by (-10)\n    change size by (-5)\n    switch costume to (tn v)\nend\n\nwhen flag clicked\nset size to (150) %\nhide\n\nwhen I receive [win v]\nset [continue v] to [0]\nswitch costume to (nothing v)\nset size to (150) %\nswitch costume to (win v)\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    switch costume to (nothing v)\n    change [ghost v] effect by (-10)\n    change size by (-5)\n    switch costume to (win v)\nend\nforever\n    if <(Continue) = [0]> then\n        show\n        change [1235669240951 v] by (2)\n    else\n        hide\n    end\nend\n\n@Water\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset size to (100) %\nhide\nswitch costume to (nothing v)\nset [x v] to [0]\nset [y v] to [-1000]\nif <(Level) = [1]> then\n    Water: Clone at x: [480] y: [940] [90]\n    Water: Clone at x: [-500] y: [940] [90]\n    Water: Clone at x: [3350] y: [900] [90]\n    Water: Clone at x: [2750] y: [800] [90]\nend\n\ndefine position (x) (y)\nset size to (100) %\nset [ghost v] effect to (50)\nchange [y v] by (([sin v] of (((days since 2000) * (10000000)) * (join [1.] (costume [number v]))) ) / (1.7))\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Water: Clone at x: (x) y: (y) (degrees)\nrepeat (4)\n    create clone of (_myself_ v)\n    set [x v] to (x)\n    set [y v] to (y)\n    next costume\n    point in direction (90)\nend\n\nwhen flag clicked\n\n@Potato\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\n\ndefine Clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nset [coins v] to [0]\nset [coins global v] to [0]\n\nwhen I start as a clone\nforever\n    if <touching (player v)?> then\n        if <(costume [name v]) = [Collectable]> then\n            start sound [Magic Spell v]\n            change [coins v] by (1)\n            change [coins global v] by (1)\n            switch costume to (+1 v)\n            repeat (20)\n                change [ghost v] effect by (5)\n            end\n            delete this clone\n        end\n    end\nend\n\nwhen flag clicked\n\nwhen I receive [green flag v]\nbroadcast (reset2 v)\nhide\nset [ghost v] effect to (0)\nswitch costume to (collectable v)\nset [x v] to [0]\nset [y v] to [0]\nClone at x: [-2110] y: [250]\nClone at x: [-1825] y: [-145]\nClone at x: [-1777] y: [-145]\nClone at x: [-777] y: [-600]\nClone at x: [1055] y: [-140]\nClone at x: [1055] y: [50]\nClone at x: [2280] y: [1010]\nClone at x: [2785] y: [617]\nClone at x: [3080] y: [1345]\nClone at x: [1255] y: [1905]\nClone at x: [-2322] y: [1440]\nClone at x: [-1625] y: [1440]\nset [x v] to [-90000]\n\nwhen I receive [reset2 v]\ndelete this clone\n\ninsert (Coins Global) at (1) of [coin v] \ndelete (4) of [coin v]\n\n@Bsckground2\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition (((x) - (SCROLL X)) / (8)) (((y) - (SCROLL Y)) / (8))\n\nwhen I receive [setup v]\nhide\nset [x v] to [-3000]\nset [y v] to [1200]\nswitch costume to (bakcground v)\nClone at x: [3500] y: [1200]\nClone at x: [3500] y: [1200]\nClone at x: [3500] y: [1200]\nClone at x: [3500] y: [1200]\nClone at x: [3500] y: [1200]\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <<<(PlayerX) < [-1000]> and <(PlayerY) < [850]>> or <(PlayerY) < [500]>> then\n        hide\n    else\n        show\n    end\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\n\nwhen flag clicked\n\n@Ladder\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nhide\nswitch costume to (1 v)\nset [x v] to [-1790]\nset [y v] to [700]\nClone at x: [-2110] y: [360] Cos: [2]\nClone at x: [-835] y: [115] Cos: [1]\nClone at x: [-1250] y: [-280] Cos: [1]\nClone at x: [-1580] y: [-300] Cos: [1]\nClone at x: [660] y: [-90] Cos: [2]\nClone at x: [3460] y: [1280] Cos: [2]\nClone at x: [3840] y: [1600] Cos: [2]\nClone at x: [600] y: [2130] Cos: [3]\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y) Cos: (costume)\ncreate clone of (_myself_ v)\nset [x v] to (x)\nset [y v] to (y)\nswitch costume to (costume)\n\n@Platform3\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nswitch costume to (nothing v)\nset size to (100) %\nswitch costume to (nothing v)\nhide\nset [x v] to [0]\nset [y v] to [-1000]\nif <(Level) = [1]> then\n    Clone at x: [0] y: [1000]\n    Clone at x: [600] y: [770]\n    Clone at x: [400] y: [1050]\n    Clone at x: [-1500] y: [770]\n    Clone at x: [-700] y: [1000]\n    Clone at x: [-300] y: [900]\n    Clone at x: [-150] y: [1150]\n    Clone at x: [-300] y: [700]\n    Clone at x: [100] y: [400]\n    Clone at x: [0] y: [200]\n    Clone at x: [-450] y: [400]\n    Clone at x: [850] y: [300]\n    Clone at x: [400] y: [200]\n    Clone at x: [-400] y: [530]\n    Clone at x: [400] y: [600]\n    Clone at x: [400] y: [200]\n    Clone at x: [-250] y: [-200]\n    Clone at x: [-300] y: [-200]\n    Clone at x: [-100] y: [-580]\n    Clone at x: [-300] y: [-400]\n    Clone at x: [-50] y: [-150]\n    Clone at x: [750] y: [-700]\n    Clone at x: [0] y: [-500]\n    Clone at x: [300] y: [-500]\n    Clone at x: [300] y: [-200]\n    Clone at x: [0] y: [0]\n    Clone at x: [200] y: [-200]\n    Clone at x: [100] y: [0]\n    Clone at x: [550] y: [0]\n    Clone at x: [-100] y: [200]\n    Clone at x: [340] y: [-200]\n    Clone at x: [300] y: [200]\n    Clone at x: [300] y: [1150]\n    Clone at x: [500] y: [1200]\n    Clone at x: [400] y: [1300]\n    Clone at x: [550] y: [1300]\n    Clone at x: [-100] y: [850]\n    Clone at x: [-500] y: [850]\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\n@Coud\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nswitch costume to (nothing v)\nset size to (100) %\nswitch costume to (nothing v)\nhide\nset [x v] to [0]\nset [y v] to [-1000]\nif <(Level) = [1]> then\n    Clone at x: [0] y: [1000]\n    Clone at x: [600] y: [770]\n    Clone at x: [400] y: [1050]\n    Clone at x: [-1500] y: [770]\n    Clone at x: [-700] y: [1000]\n    Clone at x: [-300] y: [900]\n    Clone at x: [-150] y: [1150]\n    Clone at x: [-300] y: [700]\n    Clone at x: [100] y: [400]\n    Clone at x: [0] y: [200]\n    Clone at x: [-450] y: [400]\n    Clone at x: [850] y: [300]\n    Clone at x: [400] y: [200]\n    Clone at x: [-400] y: [530]\n    Clone at x: [400] y: [600]\n    Clone at x: [400] y: [200]\n    Clone at x: [-250] y: [-200]\n    Clone at x: [-300] y: [-200]\n    Clone at x: [-100] y: [-580]\n    Clone at x: [-300] y: [-400]\n    Clone at x: [-50] y: [-150]\n    Clone at x: [750] y: [-700]\n    Clone at x: [0] y: [-500]\n    Clone at x: [300] y: [-500]\n    Clone at x: [300] y: [-200]\n    Clone at x: [0] y: [0]\n    Clone at x: [200] y: [-200]\n    Clone at x: [100] y: [0]\n    Clone at x: [550] y: [0]\n    Clone at x: [-100] y: [200]\n    Clone at x: [340] y: [-200]\n    Clone at x: [300] y: [200]\n    Clone at x: [300] y: [1150]\n    Clone at x: [500] y: [1200]\n    Clone at x: [400] y: [1300]\n    Clone at x: [550] y: [1300]\n    Clone at x: [-100] y: [850]\n    Clone at x: [-500] y: [850]\n    Clone at x: [700] y: [450]\n    Clone at x: [500] y: [450]\n    Clone at x: [-300] y: [1080]\n    Clone at x: [250] y: [1180]\n    Clone at x: [200] y: [1350]\n    Clone at x: [-500] y: [1400]\n    Clone at x: [300] y: [1500]\n    Clone at x: [500] y: [1350]\n    Clone at x: [-100] y: [850]\n    Clone at x: [-100] y: [1800]\n    Clone at x: [-300] y: [1900]\n    Clone at x: [-300] y: [2000]\n    Clone at x: [-300] y: [2050]\n    Clone at x: [-300] y: [1950]\n    Clone at x: [-500] y: [2050]\n    Clone at x: [-300] y: [2100]\n    Clone at x: [-300] y: [2000]\n    Clone at x: [-500] y: [1900]\n    Clone at x: [-250] y: [2000]\n    Clone at x: [80] y: [2200]\n    Clone at x: [250] y: [2250]\n    Clone at x: [-550] y: [2250]\nend\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nset [ghost v] effect to (20)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\n@Intro\n\ndefine 🎥 go to x: (x) y: (y) z: (z)\nset [🎥 x pos v] to (x)\nset [🎥 y pos v] to (y)\nset [🎥 z pos v] to (z)\n\ndefine 🎥 move cam to x: (x) y: (y) z: (z)\nset [\[intro\] 🎥 cam x pos v] to (x)\nset [\[intro\] 🎥 cam y pos v] to (y)\nset [\[intro\] 🎥 cam z pos v] to (z)\n\ndefine 🎥 Frame tween size: (s) speed: (spd)\nchange [🎥 size v] by (((round (s)) - (round (🎥 size))) / (spd))\n\ndefine Frame tween rotation: (r) speed: (spd)\nturn right (((round (r)) - (round (direction))) / (spd)) degrees\n\ndefine 🎥 Frame tween position  x: (x) y: (y) z: (z) speed: (spd)\nchange [🎥 x pos v] by (((round (x)) - (round (🎥 x pos))) / (spd))\nchange [🎥 y pos v] by (((round (y)) - (round (🎥 y pos))) / (spd))\nchange [🎥 z pos v] by (((round (z)) - (round (🎥 z pos))) / (spd))\n\ndefine 🎥 Frame tween animation  x: (x) y: (y) z: (z) size: (s) rotate: (r) speed: (spd)\n🎥 Frame tween position  x: (x) y: (y) z: (z) speed: (spd)\n🎥 Frame tween size: (s) speed: (spd)\nFrame tween rotation: (r) speed: (spd)\n\nwhen I start as a clone\nif <(CloneID) = [SE]> then\n    go to [front v] layer\n    set [🖼️ autoupdatecolor v] to [true]\n    set [🎥 use3dfx v] to [true]\n    set [🎥 auto scale hack v] to [true]\n    wait (0) seconds\n    set [var1 v] to [10]\n    set [val2 v] to (pick random (25) to (50))\n    set [var4 v] to ((Var4) + (pick random (0) to (10)))\n    set [🎥 costume v] to [138]\n    set [s v] to [0]\n    🖼️ Set colors: (🖼️ Color) (🖼️ Brightness) (🖼️ Ghost)\n    🎥 Frame tween animation  x: (X) y: (Y) z: [0] size: [100] rotate: [90] speed: [1]\n    set [x v] to ((X) + (pick random ((Var5) * (-1)) to (Var5)))\n    set [y v] to ((Y) + (pick random ((Var5) * (-1)) to (Var5)))\n    show\n    repeat until <[100] < (🖼️ Ghost)>\n        change [🎥 costume v] by (((round (147)) - (round (🎥 Costume))) / ((Var4) * (0.75)))\n        change [var1 v] by (((round (0)) - (round (Var1))) / ((Var4) * (1)))\n        change [var6 v] by (((round (0)) - (round (Var6))) / ((Var4) * (1)))\n        change [s v] by (Val2)\n        set [🎥 size v] to ([abs v] of (([sin v] of (S) ) * ((Var6) * (Var6))) )\n        🎥 Frame tween position  x: (X) y: (Y) z: [0] speed: (Var4)\n        if <(Var1) < [1]> then\n            change [🖼️ ghost v] by (25)\n        end\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [GS]> then\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) (🖼️ Brightness) [0]\n    Frame Tween Animation   x: [0] y: [0] size: [0] rotate: [90] speed: [1]\n    show\n    repeat (25)\n        change [🖼️ ghost v] by (4)\n        switch costume to (scalingdot v)\n        Frame Tween Size: [575] speed: [7]\n        switch costume to (gradientshockwave v)\n        go to [front v] layer\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [S4]> then\n    set [var1 v] to [169]\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) (🖼️ Brightness) [0]\n    switch costume to (screen1 v)\n    Frame Tween Animation   x: (X) y: (Y) size: [99999] rotate: (R) speed: [1]\n    set size to (0) %\n    show\n    repeat until <[189] < (Var1)>\n        switch costume to (scalingdot v)\n        Frame Tween Size: (S) speed: (Var3)\n        switch costume to (Var1)\n        turn right (Val2) degrees\n        change [var1 v] by (((round (190)) - (round (Var1))) / (Var3))\n        change [val2 v] by (((round (0)) - (round (Val2))) / (Var3))\n    end\n    repeat (4)\n        change [🖼️ ghost v] by (25)\n        Frame Tween Size: (S) speed: (Var3)\n        switch costume to (Var1)\n        turn right (Val2) degrees\n        change [var1 v] by (((round (190)) - (round (Var1))) / (Var3))\n        change [val2 v] by (((round (0)) - (round (Val2))) / (Var3))\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [S8]> then\n    set [var1 v] to [191]\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) (🖼️ Brightness) [0]\n    switch costume to (screen1 v)\n    Frame Tween Animation   x: (X) y: (Y) size: [99999] rotate: (R) speed: [1]\n    set size to (0) %\n    show\n    repeat until <[211] < (Var1)>\n        switch costume to (scalingdot v)\n        Frame Tween Size: (S) speed: [5]\n        switch costume to (Var1)\n        turn right (Val2) degrees\n        change [var1 v] by (((round (212)) - (round (Var1))) / (Var3))\n        change [val2 v] by (((round (0)) - (round (Val2))) / (Var3))\n    end\n    repeat (4)\n        change [🖼️ ghost v] by (25)\n        switch costume to (scalingdot v)\n        Frame Tween Size: (S) speed: [5]\n        switch costume to (Var1)\n        turn right (Val2) degrees\n        change [var1 v] by (((round (212)) - (round (Var1))) / (Var3))\n        change [val2 v] by (((round (0)) - (round (Val2))) / (Var3))\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [LE]> then\n    set [var1 v] to [66]\n    set [var5 v] to [0]\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) (🖼️ Brightness) (🖼️ Ghost)\n    switch costume to (screen1 v)\n    Frame Tween Animation   x: (X) y: (Y) size: [0] rotate: (R) speed: [1]\n    show\n    repeat until <[75] < (Var1)>\n        switch costume to (screen1 v)\n        Frame Tween Size: (S) speed: ((Var3) * (0.25))\n        switch costume to (Var1)\n        change [var1 v] by (((round (76)) - (round (Var1))) / (Var3))\n        change [val2 v] by (((round (0)) - (round (Val2))) / (Var3))\n        change [var4 v] by (((round (0)) - (round (Var4))) / (Var3))\n        change [var5 v] by (Val2)\n        go to x: (X) y: (Y)\n        turn right (Var4) degrees\n        move (Var5) steps\n    end\n    repeat (4)\n        change [🖼️ ghost v] by (25)\n        switch costume to (screen1 v)\n        Frame Tween Size: (S) speed: ((Var3) * (0.25))\n        switch costume to (Var1)\n        change [var1 v] by (((round (76)) - (round (Var1))) / (Var3))\n        change [val2 v] by (((round (0)) - (round (Val2))) / (Val2))\n        change [var4 v] by (((round (0)) - (round (Var4))) / (Var3))\n        change [var5 v] by (Val2)\n        go to x: (X) y: (Y)\n        turn right (Var4) degrees\n        move (Var5) steps\n    end\n    delete this clone\nend\n\ndefine 💥 Clone line explosion (x) (y) (s) (r) (spread) (spd) (aspd) (rspd) (count)\nset [val2 v] to (spd)\nset [var3 v] to (aspd)\nset [var4 v] to (rspd)\nset [x v] to (x)\nset [y v] to (y)\nset [s v] to (s)\nset [r v] to (r)\nset [cloneid v] to [LE]\nrepeat (count)\n    create clone of (_myself_ v)\n    change [r v] by ((spread) / (count))\nend\nset [cloneid v] to [0]\n\nwhen I start as a clone\nif <(CloneID) = [SF]> then\n    go to [front v] layer\n    🖼️ Set colors: [0] [100] [100]\n    switch costume to (screen1 v)\n    Frame Tween Animation   x: [0] y: [0] size: [100] rotate: [90] speed: [1]\n    show\n    forever\n        change [🖼️ ghost v] by (((round (100)) - (round (🖼️ Ghost))) / (10))\n        go to [front v] layer\n    end\nend\n\nwhen I receive [\[intro\] keyframe signal v]\nif <(CloneID) = [SF]> then\n    set [🖼️ ghost v] to [75]\nend\n\ndefine 💥 Clone 1/8 shockwave (x) (y) (s) (r) (aspd) (rspd)\nset [val2 v] to (rspd)\nset [var3 v] to (aspd)\nset [x v] to (x)\nset [y v] to (y)\nset [s v] to (s)\nset [r v] to ((r) + ((-45) / (2)))\nset [cloneid v] to [S8]\ncreate clone of (_myself_ v)\nset [cloneid v] to [0]\n\ndefine 💥 Clone 1/4 shockwave (x) (y) (s) (r) (aspd) (rspd)\nset [val2 v] to (rspd)\nset [var3 v] to (aspd)\nset [x v] to (x)\nset [y v] to (y)\nset [s v] to (s)\nset [r v] to ((r) + ((-90) / (2)))\nset [cloneid v] to [S4]\ncreate clone of (_myself_ v)\nset [cloneid v] to [0]\n\ndefine 💥 Clone gradient shockwave\nset [cloneid v] to [GS]\ncreate clone of (_myself_ v)\nset [cloneid v] to [0]\n\ndefine 💥 Clone sparkle explosion (x) (y) (s) (spread) (aspd) (count)\nset [x v] to (x)\nset [y v] to (y)\nset [var4 v] to (spread)\nset [var5 v] to (aspd)\nset [var6 v] to (s)\nset [cloneid v] to [SE]\nrepeat (count)\n    create clone of (_myself_ v)\nend\nset [cloneid v] to [0]\n\ndefine 💥 Clone screen flash\nset [cloneid v] to [SF]\ncreate clone of (_myself_ v)\nset [cloneid v] to [0]\n\nwhen I start as a clone\nif <(CloneID) = [S]> then\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) (🖼️ Brightness) (🖼️ Ghost)\n    Frame Tween Animation   x: (X) y: (Y) size: [0] rotate: [90] speed: [1]\n    show\n    repeat until <[99] < (🖼️ Ghost)>\n        change [🖼️ ghost v] by (((round (100)) - (round (🖼️ Ghost))) / (Var1))\n        switch costume to (dot v)\n        Frame Tween Size: (S) speed: (Var1)\n        switch costume to (circle v)\n        go to [front v] layer\n    end\n    delete this clone\nend\n\ndefine 💥 Clone shockwave (x) (y) (s) (aspd)\nset [x v] to (x)\nset [y v] to (y)\nset [s v] to (s)\nset [var1 v] to (aspd)\nset [cloneid v] to [S]\ncreate clone of (_myself_ v)\nset [cloneid v] to [0]\n\nwhen I receive [\[intro\] listen for keyframes v]\nif <(CloneID) = [0]> then\n    set [zoom v] to [0]\n    set [csx v] to [0]\n    set [csy v] to [0]\n    set [css v] to [0]\n    forever\n        🎥 move cam to x: ((([sin v] of (csX) ) * (csS)) * (1)) y: ((([sin v] of (csY) ) * (csS)) * (1)) z: ((((csS) * (0.05)) + (Zoom)) * (1))\n        change [\[intro\] 🎥 cam fov v] by (((round ((60) * (0.01))) - (round (\[INTRO\] 🎥 cam fov))) / (10))\n        change [css v] by (((round (0)) - (round (csS))) / (10))\n        change [csx v] by (45)\n        change [csy v] by (37.5)\n    end\nend\n\ndefine 💥 Clone 1/1 shockwave (x) (y) (s) (aspd)\nset [var3 v] to (aspd)\nset [x v] to (x)\nset [y v] to (y)\nset [s v] to (s)\nset [cloneid v] to [S1]\ncreate clone of (_myself_ v)\nset [cloneid v] to [0]\n\nwhen I start as a clone\nif <(CloneID) = [S1]> then\n    set [var1 v] to [5]\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) (🖼️ Brightness) [0]\n    switch costume to (screen1 v)\n    Frame Tween Animation   x: (X) y: (Y) size: [99999] rotate: [90] speed: [1]\n    set size to (0) %\n    show\n    repeat until <[27] < (Var1)>\n        switch costume to (scalingdot v)\n        Frame Tween Size: (S) speed: (Var3)\n        switch costume to (Var1)\n        change [var1 v] by (((round (28)) - (round (Var1))) / (Var3))\n    end\n    repeat (4)\n        change [🖼️ ghost v] by (25)\n        Frame Tween Size: (S) speed: (Var3)\n        switch costume to (Var1)\n        change [var1 v] by (((round (28)) - (round (Var1))) / (Var3))\n    end\n    delete this clone\nend\n\ndefine 💥 Clone spline explosion (x) (y) (s) (r) (spread) (spd) (aspd) (rspd) (count)\nset [val2 v] to (spd)\nset [var3 v] to (aspd)\nset [var4 v] to (rspd)\nset [x v] to (x)\nset [y v] to (y)\nset [s v] to (s)\nset [r v] to (r)\nset [cloneid v] to [SP]\nrepeat (count)\n    create clone of (_myself_ v)\n    change [r v] by ((spread) / (count))\nend\nset [cloneid v] to [0]\n\nwhen I start as a clone\nif <(CloneID) = [SP]> then\n    set [var1 v] to [213]\n    set [var5 v] to [0]\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) (🖼️ Brightness) (🖼️ Ghost)\n    switch costume to (screen1 v)\n    Frame Tween Animation   x: (X) y: (Y) size: (S) rotate: (R) speed: [1]\n    show\n    repeat until <[271] < (Var1)>\n        switch costume to (screen1 v)\n        switch costume to (Var1)\n        change [var1 v] by (((round (272)) - (round (Var1))) / (Var3))\n        change [val2 v] by (((round (0)) - (round (Val2))) / (Var3))\n        change [var4 v] by (((round (0)) - (round (Var4))) / (Var3))\n        change [var5 v] by (Val2)\n        go to x: (X) y: (Y)\n        turn right (Var4) degrees\n        move (Var5) steps\n    end\n    repeat (4)\n        change [🖼️ ghost v] by (25)\n        switch costume to (screen1 v)\n        Frame Tween Size: (S) speed: ((Var3) * (0.25))\n        switch costume to (Var1)\n        change [var1 v] by (((round (272)) - (round (Var1))) / (Var3))\n        change [val2 v] by (((round (0)) - (round (Val2))) / (Val2))\n        change [var4 v] by (((round (0)) - (round (Var4))) / (Var3))\n        change [var5 v] by (Val2)\n        go to x: (X) y: (Y)\n        turn right (Var4) degrees\n        move (Var5) steps\n    end\n    delete this clone\nend\n\nwhen I receive [\[intro\] keyframe signal v]\nif <(CloneID) = [0]> then\n    if <(item ((\[INTRO\] Keyframe) + (-1)) of [keyframetypes v]) = [kick]> then\n        set [css v] to [8]\n        set [\[intro\] 🎥 cam fov v] to ((60) * (0.01))\n    end\nend\n\ndefine 💥 Clone spark explosion (x) (y) (s) (r) (spread) (spd) (rspd) (count)\nset [x v] to (x)\nset [y v] to (y)\nset [s v] to (s)\nset [r v] to (r)\nset [var4 v] to (spread)\nset [var5 v] to (spd)\nset [var6 v] to (rspd)\nset [cloneid v] to [SPK]\nrepeat (count)\n    create clone of (_myself_ v)\nend\nset [cloneid v] to [0]\n\nwhen I receive [\[intro\] listen for keyframes v]\nif <(CloneID) = [0]> then\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    🖼️ Set colors: (🖼️ Color) [0] [0]\n    💥 Clone 1/1 shockwave [0] [0] [400] [8]\n    💥 Clone 1/1 shockwave [0] [0] [300] [10]\n    💥 Clone 1/1 shockwave [0] [0] [295] [9.8]\n    💥 Clone 1/1 shockwave [0] [0] [290] [9.6]\n    💥 Clone 1/1 shockwave [0] [0] [285] [9.4]\n    💥 Clone 1/1 shockwave [0] [0] [280] [9.2]\n    wait until <[2] < (\[INTRO\] Keyframe)>\n    🖼️ Set colors: (🖼️ Color) [0] [0]\n    💥 Clone spline [1] [0.1] [10] [-0.025] [25]\n    💥 Clone spline [2] [0.1] [10] [-0.025] [25]\n    wait until <[4] < (\[INTRO\] Keyframe)>\n    🖼️ Set colors: (🖼️ Color) [0] [0]\n    💥 Clone 1/4 shockwave [0] [0] [600] [-45] [10] [0]\n    💥 Clone 1/4 shockwave [0] [0] [600] ((-45) + (180)) [10] [0]\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    🖼️ Set colors: (🖼️ Color) [100] [0]\n    💥 Clone 1/4 shockwave [0] [0] [600] [45] [10] [0]\n    💥 Clone 1/4 shockwave [0] [0] [600] ((45) + (180)) [10] [0]\n    💥 Clone line explosion [0] [0] [100] [0] [360] [10] [10] [0] [20]\n    wait until <[7] < (\[INTRO\] Keyframe)>\n    🖼️ Set colors: (🖼️ Color) [100] [0]\n    💥 Clone spline [3] [0.1] [15] [-0.05] [20]\nend\n\n💥 Clone sparkle explosion [0] [0] [10] [25] [50] [10]\n💥 Clone spline explosion [0] [0] [10] [0] [360] [10] [5] [10] [10]\n💥 Clone line explosion [0] [0] [100] [0] [360] [10] [5] [10] [10]\n💥 Clone 1/1 shockwave [0] [0] [500] [10]\n💥 Clone 1/4 shockwave [0] [0] [500] [0] [5] [10]\n💥 Clone 1/8 shockwave [0] [0] [500] [0] [5] [10]\n💥 Clone shockwave [0] [0] [250] [5]\n\nwhen I start as a clone\nif <(CloneID) = [SPK]> then\n    set [var1 v] to [213]\n    set [var4 v] to ((Var4) * (pick random (0.1) to (1)))\n    set [var5 v] to ((Var5) * (pick random (0.1) to (1)))\n    set [var7 v] to (pick random (-180) to (180))\n    set [var8 v] to (pick random (-45) to (45))\n    set rotation style [all around v]\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) (🖼️ Brightness) (🖼️ Ghost)\n    switch costume to (screen1 v)\n    Frame Tween Animation   x: (X) y: (Y) size: (S) rotate: ((R) + ((pick random ((Var6) * (-1)) to (Var6)) / (2))) speed: [1]\n    show\n    repeat until <[271] < (Var1)>\n        switch costume to (screen1 v)\n        switch costume to (Var1)\n        change [var1 v] by (((round (272)) - (round (Var1))) / (Var3))\n        change [var5 v] by (((round (0)) - (round (Var5))) / (Var3))\n        move (Var5) steps\n        turn right (([sin v] of (Var7) ) * (Var4)) degrees\n        change [var7 v] by (Var8)\n    end\n    repeat (4)\n        change [🖼️ ghost v] by (25)\n        switch costume to (screen1 v)\n        Frame Tween Size: (S) speed: ((Var3) * (0.25))\n        switch costume to (Var1)\n        change [var1 v] by (((round (272)) - (round (Var1))) / (Var3))\n        change [var5 v] by (((round (0)) - (round (Var5))) / (Val2))\n        move (Var5) steps\n        turn right (([sin v] of (Var7) ) * (Var4)) degrees\n        change [var7 v] by (Var8)\n    end\n    delete this clone\nend\n\nwhen I receive [\[intro\] listen for keyframes v]\nif <(CloneID) = [0]> then\n    wait until <[7] < (\[INTRO\] Keyframe)>\n    repeat until <[8] < (\[INTRO\] Keyframe)>\n        change [zoom v] by (0.05)\n    end\nend\n\nwhen I receive [\[intro\] keyframe signal v]\nif <(CloneID) = [0]> then\n    if <(item ((\[INTRO\] Keyframe) + (-1)) of [keyframetypes v]) = [kick]> then\n    if <(item ((\[INTRO\] Keyframe) + (-1)) of [keyframetypes v]) = [hihat]> then\n    if <(item ((\[INTRO\] Keyframe) + (-1)) of [keyframetypes v]) = [snare]> then\nend\n\ndefine 💥 Scattered Shockwave effect\nrepeat (10)\n    💥 Clone 1/8 shockwave [0] [0] (pick random (500) to (700)) (pick random (-180) to (180)) (pick random (5) to (7)) (pick random (-5) to (5))\nend\n\nwhen I start as a clone\nif <(CloneID) = [SPL]> then\n    🖼️ Set colors: (🖼️ Color) (🖼️ Brightness) [0]\n    Get spline data (sPath)\n    set size to (S) %\n    go to [front v] layer\n    set [sindex1 v] to [1]\n    repeat until <[0] < (sTime)>\n        change [stime v] by (sSPD)\n    end\n    show\n    repeat ((length of [spath v]) + (-1))\n        repeat until <[1] < (sTime)>\n            switch costume to (screen1 v)\n            set size to (100) %\n            3-point Bezier Curve (item (sIndex1) of [sx v]) (item (sIndex1) of [sy v]) (item (sIndex1) of [sxc v]) (item (sIndex1) of [syc v]) (item ((sIndex1) + (1)) of [sx v]) (item ((sIndex1) + (1)) of [sy v]) (sTime)\n            set size to (S) %\n            switch costume to (circle v)\n            change [stime v] by (sSPD)\n        end\n        change [stime v] by (-1)\n        change [sindex1 v] by (1)\n    end\n    delete this clone\nend\n\ndefine Add spline position. x: (x) y: (y) curve x: (cx) curve y: (cy)\nadd (join (join (join (x) [,]) (join (y) [;])) (join (join (cx) [,]) (join (cy) [;]))) to [spathdata1 v]\n\ndefine Set path (path)\nset [sindex1 v] to [0]\nif <(path) = [1]> then\n    repeat (length of [spathdata1 v])\n        change [sindex1 v] by (1)\n        add (item (sIndex1) of [spathdata1 v]) to [spath v]\n    end\nend\nif <(path) = [2]> then\n    repeat (length of [spathdata2 v])\n        change [sindex1 v] by (1)\n        add (item (sIndex1) of [spathdata2 v]) to [spath v]\n    end\nend\nif <(path) = [3]> then\n    repeat (length of [spathdata3 v])\n        change [sindex1 v] by (1)\n        add (item (sIndex1) of [spathdata3 v]) to [spath v]\n    end\nend\n\ndefine Get spline data (path)\ndelete all of [sxc v]\ndelete all of [syc v]\ndelete all of [sx v]\ndelete all of [sy v]\ndelete all of [spath v]\nSet path (path)\nset [sindex4 v] to [0]\nrepeat (length of [spath v])\n    change [sindex4 v] by (1)\n    set [sindex1 v] to [0]\n    set [sindex2 v] to [1]\n    set [sindex3 v] to []\n    repeat (length of (item (sIndex4) of [spath v]))\n        change [sindex1 v] by (1)\n        if <<(letter (sIndex1) of (item (sIndex4) of [spath v])) = [,]> or <(letter (sIndex1) of (item (sIndex4) of [spath v])) = [;]>> then\n            if <(sIndex2) = [1]> then\n                add (sIndex3) to [sx v]\n            end\n            if <(sIndex2) = [2]> then\n                add (sIndex3) to [sy v]\n            end\n            if <(sIndex2) = [3]> then\n                add (sIndex3) to [sxc v]\n            end\n            if <(sIndex2) = [4]> then\n                add (sIndex3) to [syc v]\n            end\n            set [sindex3 v] to []\n            change [sindex2 v] by (1)\n        else\n            set [sindex3 v] to (join (sIndex3) (letter (sIndex1) of (item (sIndex4) of [spath v])))\n        end\n    end\nend\n\ndefine 💥 Clone spline (path) (spd) (s) (spread) (count)\nset [s v] to (s)\nset [spath v] to (path)\nset [sspd v] to (spd)\nset [stime v] to [0]\nset [cloneid v] to [SPL]\nrepeat (count)\n    create clone of (_myself_ v)\n    change [stime v] by (spread)\nend\nset [cloneid v] to [0]\n\ndefine 3-point Bezier Curve (x1) (y1) (x2) (y2) (x3) (y3) (t)\ngo to x: (((((1) - (t)) * ((1) - (t))) * (x1)) + ((((2) * (((1) - (t)) * (t))) * (x2)) + (((t) * (t)) * (x3)))) y: (((((1) - (t)) * ((1) - (t))) * (y1)) + ((((2) * (((1) - (t)) * (t))) * (y2)) + (((t) * (t)) * (y3))))\n\ndefine Frame Tween Size: (s) speed: (spd)\nchange size by (((round (s)) - (round (size))) / (spd))\n\ndefine Start intro\nif <(\[INTRO\] Playing) = [false]> then\n    hide\n    set rotation style [all around v]\n    Frame Tween Animation   x: [0] y: [0] size: [100] rotate: [90] speed: [1]\n    🖼️ Set colors: (pick random (0) to (200)) [0] [0]\n    🎥 move cam to x: [0] y: [0] z: [0]\n    set [\[intro\] 🎥 cam fov v] to ((60) * (0.01))\n    set [\[intro\] keyframe v] to [1]\n    set [🖼️ autoupdatecolor v] to [true]\n    set [🎥 use3dfx v] to [false]\n    set [🎥 auto scale hack v] to [true]\n    set [\[intro\] playing v] to [true]\n    Clone sprites [1] [1]\n    Clone sprites [12] [2]\n    Clone sprites [2] [2]\n    Clone sprites [10] [2]\n    Clone particles [1] [1]\n    Clone particles [1] [2]\n    Clone sprites [4] [1]\n    Clone sprites [16] [2]\n    Clone sprites [5] [2]\n    Clone sprites [14] [2]\n    Clone particles [2] [1]\n    Clone particles [2] [2]\n    Clone text boarder\n    Clone sprites [101] [1]\n    💥 Clone screen flash\n    Clone sprites [200] [3]\n    switch costume to (your name v)\n    broadcast (\[INTRO\] listen for keyframes v)\n    reset timer\n    clear sound effects\n    play sound [Laszlo - Sphere \(cut\) v] until done\n    set [\[intro\] playing v] to [false]\n    broadcast (\[INTRO\] Stop intro v)\n    stop [other scripts in sprite v]\nend\n\nwhen flag clicked\nset [\[intro\] playing v] to [false]\n\ndefine 🖼️ Set colors: (color) (brightness) (transparency)\nset [🖼️ color v] to (color)\nset [🖼️ brightness v] to (brightness)\nset [🖼️ ghost v] to (transparency)\nset [color v] effect to (🖼️ Color)\nset [brightness v] effect to (🖼️ Brightness)\nset [ghost v] effect to (🖼️ Ghost)\n\nwhen I receive [\[intro\] play intro v]\ndelete this clone\n\nwhen I receive [\[intro\] play intro v]\nStart intro\n\ndefine Frame Tween Animation   x: (x) y: (y) size: (s) rotate: (r) speed: (spd)\nFrame Tween Position  x: (x) y: (y) speed: (spd)\nFrame Tween Size: (s) speed: (spd)\nFrame tween rotation: (r) speed: (spd)\n\nwhen I receive [\[intro\] stop intro v]\nset [\[intro\] playing v] to [false]\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [\[intro\] listen for keyframes v]\nif <(CloneID) = [0]> then\n    forever\n        if <(item (\[INTRO\] Keyframe) of [keyframes v]) < (timer)> then\n            broadcast (\[INTRO\] keyframe signal v)\n            change [\[intro\] keyframe v] by (1)\n            if <(length of [keyframes v]) < (\[INTRO\] Keyframe)> then\n                stop [this script v]\n            end\n        end\n    end\nend\n\ndefine Clone same sprite (id) (count)\nset [cloneid v] to (id)\nrepeat (count)\n    create clone of (_myself_ v)\nend\nset [cloneid v] to [0]\n\ndefine Clone sprites (id) (count)\nset [cloneid v] to (id)\nrepeat (count)\n    create clone of (_myself_ v)\n    change [cloneid v] by (1)\nend\nset [cloneid v] to [0]\n\ndefine Frame Tween Position  x: (x) y: (y) speed: (spd)\nchange x by (((round (x)) - (round (x position))) / (spd))\nchange y by (((round (y)) - (round (y position))) / (spd))\n\nwhen I start as a clone\nif <not <(CloneID) = [0]>> then\n    forever\n        if <(🖼️ AutoUpdateColor) = [true]> then\n            set [color v] effect to (🖼️ Color)\n            set [brightness v] effect to (🖼️ Brightness)\n            set [ghost v] effect to (🖼️ Ghost)\n        end\n        if <(🎥 Use3DFX) = [true]> then\n            if <(🎥 auto scale hack) = [true]> then\n                switch costume to (scalingdot v)\n                set size to (9999999999) %\n                switch costume to (screen1 v)\n            end\n            go to x: (((🎥 x pos) - (\[INTRO\] 🎥 cam x pos)) / ((((🎥 z pos) - (\[INTRO\] 🎥 cam z pos)) * (\[INTRO\] 🎥 cam fov)) + (1))) y: (((🎥 y pos) - (\[INTRO\] 🎥 cam y pos)) / ((((🎥 z pos) - (\[INTRO\] 🎥 cam z pos)) * (\[INTRO\] 🎥 cam fov)) + (1)))\n            set size to ((🎥 size) / ((((🎥 z pos) - (\[INTRO\] 🎥 cam z pos)) * (\[INTRO\] 🎥 cam fov)) + (1))) %\n            switch costume to (🎥 Costume)\n        end\n    end\nend\n\nwhen I start as a clone\nif <(CloneID) = [201]> then\n    set [y v] to [365]\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) [-100] [0]\n    switch costume to (screen1 v)\n    set size to (200) %\n    Frame Tween Animation   x: [0] y: (Y) size: [100] rotate: [90] speed: [1]\n    set size to (100) %\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    show\n    forever\n        set size to (200) %\n        Frame Tween Position  x: [0] y: (Y) speed: [6]\n        set size to (100) %\n        go to [front v] layer\n    end\nend\n\nwhen I start as a clone\nif <<(CloneID) = [201]> or <(CloneID) = [202]>> then\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    set [y v] to [310]\n    wait until <[9] < (\[INTRO\] Keyframe)>\n    set [y v] to [275]\n    wait until <[10] < (\[INTRO\] Keyframe)>\n    set [y v] to [365]\nend\n\nwhen I start as a clone\nif <(CloneID) = [202]> then\n    set [y v] to [365]\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) [-100] [0]\n    switch costume to (screen1 v)\n    set size to (200) %\n    Frame Tween Animation   x: [0] y: ((Y) * (-1)) size: [100] rotate: [90] speed: [1]\n    set size to (100) %\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    show\n    forever\n        set size to (200) %\n        Frame Tween Position  x: [0] y: ((Y) * (-1)) speed: [6]\n        set size to (100) %\n        go to [front v] layer\n    end\nend\n\nwhen I start as a clone\nif <(CloneID) = [1]> then\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) [100] [0]\n    switch costume to (circle v)\n    Frame Tween Animation   x: [0] y: [0] size: [0] rotate: [90] speed: [1]\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    show\n    repeat until <[9] < (\[INTRO\] Keyframe)>\n        switch costume to (dot v)\n        Frame Tween Size: [475] speed: [6]\n        switch costume to (circle v)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [4]> then\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) [0] [0]\n    switch costume to (circle v)\n    Frame Tween Animation   x: [0] y: [0] size: [0] rotate: [90] speed: [1]\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    show\n    repeat until <[10] < (\[INTRO\] Keyframe)>\n        switch costume to (dot v)\n        Frame Tween Size: [475] speed: [6]\n        switch costume to (circle v)\n    end\n    repeat (22)\n        Frame Tween Size: [0] speed: [6]\n    end\n    repeat (4)\n        Frame Tween Size: [0] speed: [6]\n        change [🖼️ ghost v] by (25)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [100]> then\n    🖼️ Set colors: (🖼️ Color) [0] [0]\n    set [🎥 use3dfx v] to [true]\n    set [🎥 auto scale hack v] to [false]\n    change [🎥 costume v] by (277)\n    🎥 Frame tween animation  x: [0] y: [0] z: [0] size: [0] rotate: [90] speed: [1]\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    show\n    repeat until <[4] < (\[INTRO\] Keyframe)>\n        🎥 Frame tween animation  x: (([sin v] of (R) ) * (Var1)) y: (([cos v] of (R) ) * (Var1)) z: [0] size: [100] rotate: [90] speed: [6]\n    end\n    repeat until <[5] < (\[INTRO\] Keyframe)>\n        🎥 Frame tween animation  x: (([sin v] of (R) ) * (Var1)) y: (([cos v] of (R) ) * (Var1)) z: [0] size: [80] rotate: [90] speed: [6]\n    end\n    repeat until <[9] < (\[INTRO\] Keyframe)>\n        🎥 Frame tween animation  x: (([sin v] of (R) ) * (Var1)) y: (([cos v] of (R) ) * (Var1)) z: [0] size: [125] rotate: [90] speed: [6]\n    end\n    repeat until <[10] < (\[INTRO\] Keyframe)>\n        🎥 Frame tween animation  x: (([sin v] of (R) ) * (Var1)) y: (([cos v] of (R) ) * (Var1)) z: [0] size: [175] rotate: [90] speed: [6]\n    end\n    wait (1.5) seconds\n    repeat (10)\n        change [🖼️ brightness v] by (10)\n    end\n    repeat (10)\n        change [🖼️ ghost v] by (10)\n    end\n    delete this clone\nend\n\ndefine Clone text boarder\nset [var1 v] to [5]\nset [cloneid v] to [100]\nrepeat (10)\n    create clone of (_myself_ v)\n    change [r v] by ((360) / (10))\nend\nset [cloneid v] to [0]\n\nwhen I start as a clone\nif <(CloneID) = [100]> then\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    repeat (4)\n        change [🖼️ brightness v] by (25)\n    end\nend\n\nwhen I start as a clone\nif <(CloneID) = [101]> then\n    🖼️ Set colors: (🖼️ Color) [100] [0]\n    set [🎥 use3dfx v] to [true]\n    set [🎥 auto scale hack v] to [false]\n    change [🎥 costume v] by (277)\n    🎥 Frame tween animation  x: [0] y: [0] z: [0] size: [0] rotate: [90] speed: [1]\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    show\n    repeat until <[4] < (\[INTRO\] Keyframe)>\n        🎥 Frame tween size: [100] speed: [6]\n    end\n    repeat until <[5] < (\[INTRO\] Keyframe)>\n        🎥 Frame tween size: [80] speed: [6]\n    end\n    repeat until <[9] < (\[INTRO\] Keyframe)>\n        🎥 Frame tween size: [125] speed: [6]\n    end\n    repeat until <[10] < (\[INTRO\] Keyframe)>\n        🎥 Frame tween size: [175] speed: [6]\n    end\n    wait (1.5) seconds\n    repeat (20)\n        change [🖼️ brightness v] by (5)\n    end\n    repeat (20)\n        change [🖼️ ghost v] by (5)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [101]> then\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    repeat (4)\n        change [🖼️ brightness v] by (-25)\n    end\nend\n\ndefine Replace spline position  x: (x) y: (y) curve x: (cx) curve y: (cy) index: (index)\nreplace item (index) of [spathdata1 v] with (join (join (join (x) [,]) (join (y) [;])) (join (join (cx) [,]) (join (cy) [;])))\n\nwhen I start as a clone\nif <<(CloneID) = [100]> or <(CloneID) = [101]>> then\n    set [val2 v] to [0]\n    set [var3 v] to [0]\n    forever\n        change [val2 v] by (25)\n        change [var3 v] by (((round (0)) - (round (Var3))) / (10))\n        point in direction ((([sin v] of (Val2) ) * (Var3)) + (90))\n    end\nend\n\nwhen I receive [\[intro\] keyframe signal v]\nif <<(CloneID) = [100]> or <(CloneID) = [101]>> then\n    if <(item ((\[INTRO\] Keyframe) + (-1)) of [keyframetypes v]) = [kick]> then\n        set [var3 v] to [5]\n    end\nend\n\ndefine Clone particles (background) (direction)\nset [var1 v] to (background)\nset [val2 v] to (direction)\nset [cloneid v] to [20]\nrepeat (25)\n    create clone of (_myself_ v)\nend\nset [cloneid v] to [0]\n\nwhen I start as a clone\nif <(CloneID) = [20]> then\n    if <(Var1) = [1]> then\n        🖼️ Set colors: (🖼️ Color) [0] [0]\n    else\n        🖼️ Set colors: (🖼️ Color) [100] [0]\n    end\n    if <(Val2) = [1]> then\n        🎥 Frame tween animation  x: (pick random (-5000) to (-500)) y: (pick random (-5000) to (-1500)) z: (pick random (0) to (20)) size: [100] rotate: (pick random (-180) to (180)) speed: [1]\n        set [r v] to (pick random (10) to (20))\n        set [x v] to (pick random (5) to (10))\n        set [y v] to (pick random (5) to (10))\n        set [var3 v] to (pick random (125) to (150))\n        if <(Var1) = [1]> then\n            change [🎥 costume v] by (280)\n        else\n            change [🎥 costume v] by (279)\n        end\n    else\n        🎥 Frame tween animation  x: (pick random (500) to (5000)) y: (pick random (-5000) to (-1500)) z: (pick random (0) to (20)) size: [100] rotate: (pick random (-180) to (180)) speed: [1]\n        set [r v] to (pick random (-10) to (-20))\n        set [x v] to (pick random (-5) to (-10))\n        set [y v] to (pick random (5) to (10))\n        set [var3 v] to (pick random (-125) to (-150))\n        if <(Var1) = [1]> then\n            change [🎥 costume v] by (164)\n        else\n            change [🎥 costume v] by (278)\n        end\n    end\n    set [🎥 use3dfx v] to [true]\n    wait (0) seconds\n    go to [front v] layer\n    if <(Var1) = [1]> then\n        wait until <[1] < (\[INTRO\] Keyframe)>\n    else\n        wait until <[5] < (\[INTRO\] Keyframe)>\n    end\n    show\n    repeat until <[100] < (🖼️ Ghost)>\n        if <(Var1) = [1]> then\n            if <[5] < (\[INTRO\] Keyframe)> then\n                change [🖼️ ghost v] by (10)\n            end\n        else\n            if <[10] < (\[INTRO\] Keyframe)> then\n                change [🖼️ ghost v] by (10)\n            end\n        end\n        change [🎥 x pos v] by ((X) + (Var3))\n        change [🎥 y pos v] by ((Y) + ([abs v] of (Var3) ))\n        turn right (R) degrees\n        change [var3 v] by (((round (0)) - (round (Var3))) / (17.5))\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [101]> then\n    wait until <[10] < (\[INTRO\] Keyframe)>\n    forever\n        🎥 Frame tween size: [75] speed: [15]\n    end\nend\n\nwhen I start as a clone\nif <(CloneID) = [100]> then\n    wait until <[10] < (\[INTRO\] Keyframe)>\n    forever\n        🎥 Frame tween animation  x: (([sin v] of (R) ) * (Var1)) y: (([cos v] of (R) ) * (Var1)) z: [0] size: [75] rotate: [90] speed: [15]\n    end\nend\n\nwhen I start as a clone\nif <(CloneID) = [200]> then\n    go to [front v] layer\n    🖼️ Set colors: (🖼️ Color) [-100] [100]\n    switch costume to (dot v)\n    Frame Tween Animation   x: [0] y: [0] size: [1000] rotate: [90] speed: [1]\n    switch costume to (blurout v)\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    show\n    repeat (5)\n        change [🖼️ ghost v] by (-3)\n        go to [front v] layer\n    end\n    repeat until <[9] < (\[INTRO\] Keyframe)>\n        go to [front v] layer\n    end\n    repeat (5)\n        change [🖼️ ghost v] by (3)\n        go to [front v] layer\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [2]> then\n    🖼️ Set colors: (🖼️ Color) [100] [100]\n    switch costume to (circle v)\n    Frame Tween Animation   x: [0] y: [0] size: [125] rotate: [45] speed: [1]\n    switch costume to (small grid2 v)\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    show\n    repeat (10)\n        change [🖼️ ghost v] by (-10)\n    end\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    repeat (4)\n        change [🖼️ ghost v] by (25)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [5]> then\n    🖼️ Set colors: (🖼️ Color) [0] [100]\n    switch costume to (circle v)\n    Frame Tween Animation   x: [0] y: [0] size: [125] rotate: [-45] speed: [1]\n    switch costume to (small grid2 v)\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    show\n    repeat (10)\n        change [🖼️ ghost v] by (-10)\n    end\n    wait until <[10] < (\[INTRO\] Keyframe)>\n    repeat (4)\n        change [🖼️ ghost v] by (25)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [3]> then\n    🖼️ Set colors: (🖼️ Color) [0] [100]\n    switch costume to (circle v)\n    Frame Tween Animation   x: [0] y: [0] size: [150] rotate: [45] speed: [1]\n    switch costume to (grid2 v)\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    show\n    repeat (10)\n        change [🖼️ ghost v] by ((-10) / (7.5))\n    end\n    wait until <[9] < (\[INTRO\] Keyframe)>\n    repeat (4)\n        change [🖼️ ghost v] by ((25) / (7.5))\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [3]> then\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    forever\n        switch costume to (circle v)\n        change x by (1)\n        switch costume to (grid2 v)\n    end\nend\n\nwhen I start as a clone\nif <(CloneID) = [6]> then\n    🖼️ Set colors: (🖼️ Color) [100] [100]\n    switch costume to (circle v)\n    Frame Tween Animation   x: [0] y: [0] size: [150] rotate: [-45] speed: [1]\n    switch costume to (grid2 v)\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    show\n    repeat (10)\n        change [🖼️ ghost v] by ((-10) / (7.5))\n    end\n    wait until <[10] < (\[INTRO\] Keyframe)>\n    repeat (4)\n        change [🖼️ ghost v] by ((25) / (7.5))\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [6]> then\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    forever\n        switch costume to (circle v)\n        change x by (-1)\n        switch costume to (grid2 v)\n    end\nend\n\nwhen I start as a clone\nif <(CloneID) = [10]> then\n    set [var1 v] to [0]\n    🖼️ Set colors: (🖼️ Color) [0] [0]\n    switch costume to (circlewheel1 v)\n    Frame Tween Animation   x: [0] y: [0] size: [300] rotate: [0] speed: [1]\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    wait (0.2) seconds\n    show\n    repeat (40)\n        change [var1 v] by ((180) / (40))\n        point in direction (([cos v] of (Var1) ) * (-180))\n    end\n    wait (0.25) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [11]> then\n    set [var1 v] to [0]\n    🖼️ Set colors: (🖼️ Color) [100] [0]\n    switch costume to (circlewheel2 v)\n    Frame Tween Animation   x: [0] y: [0] size: [300] rotate: [0] speed: [1]\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    wait (0.2) seconds\n    show\n    wait (0.25) seconds\n    repeat (40)\n        change [var1 v] by ((180) / (40))\n        point in direction (([cos v] of (Var1) ) * (-180))\n    end\n    wait (0.25) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [12]> then\n    set [var1 v] to [0]\n    🖼️ Set colors: (🖼️ Color) [0] [0]\n    switch costume to (circlewheel1 v)\n    Frame Tween Animation   x: [0] y: [0] size: [600] rotate: [0] speed: [1]\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    wait (0.2) seconds\n    show\n    repeat (40)\n        change [var1 v] by ((180) / (40))\n        point in direction (([cos v] of (Var1) ) * (180))\n    end\n    wait (0.25) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [13]> then\n    set [var1 v] to [0]\n    🖼️ Set colors: (🖼️ Color) [100] [0]\n    switch costume to (circlewheel2 v)\n    Frame Tween Animation   x: [0] y: [0] size: [600] rotate: [0] speed: [1]\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[1] < (\[INTRO\] Keyframe)>\n    wait (0.2) seconds\n    show\n    wait (0.25) seconds\n    repeat (40)\n        change [var1 v] by ((180) / (40))\n        point in direction (([cos v] of (Var1) ) * (180))\n    end\n    wait (0.25) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [14]> then\n    set [var1 v] to [0]\n    🖼️ Set colors: (🖼️ Color) [100] [0]\n    switch costume to (circlewheelthick1 v)\n    Frame Tween Animation   x: [0] y: [0] size: [500] rotate: [0] speed: [1]\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    wait (0.2) seconds\n    show\n    repeat (40)\n        change [var1 v] by ((180) / (40))\n        point in direction (([cos v] of (Var1) ) * (180))\n    end\n    wait (0.25) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [15]> then\n    set [var1 v] to [0]\n    🖼️ Set colors: (🖼️ Color) [0] [0]\n    switch costume to (circlewheelthick2 v)\n    Frame Tween Animation   x: [0] y: [0] size: [500] rotate: [0] speed: [1]\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    wait (0.2) seconds\n    show\n    wait (0.25) seconds\n    repeat (40)\n        change [var1 v] by ((180) / (40))\n        point in direction (([cos v] of (Var1) ) * (180))\n    end\n    wait (0.25) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [16]> then\n    set [var1 v] to [0]\n    🖼️ Set colors: (🖼️ Color) [100] [0]\n    switch costume to (circlewheelthin1 v)\n    Frame Tween Animation   x: [0] y: [0] size: [650] rotate: [0] speed: [1]\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    wait (0.2) seconds\n    show\n    repeat (40)\n        change [var1 v] by ((180) / (40))\n        point in direction (([cos v] of (Var1) ) * (-180))\n    end\n    wait (0.25) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [17]> then\n    set [var1 v] to [0]\n    🖼️ Set colors: (🖼️ Color) [0] [0]\n    switch costume to (circlewheelthin2 v)\n    Frame Tween Animation   x: [0] y: [0] size: [650] rotate: [0] speed: [1]\n    wait (0) seconds\n    go to [front v] layer\n    wait until <[5] < (\[INTRO\] Keyframe)>\n    wait (0.2) seconds\n    show\n    wait (0.25) seconds\n    repeat (40)\n        change [var1 v] by ((180) / (40))\n        point in direction (([cos v] of (Var1) ) * (-180))\n    end\n    wait (0.25) seconds\n    delete this clone\nend\n\nwhen I start as a clone\nif <<[9] < (CloneID)> and <(CloneID) < [18]>> then\n    wait until <[10] < (\[INTRO\] Keyframe)>\n    delete this clone\nend\n\nwhen flag clicked\nbroadcast (\[INTRO\] Play intro v)\nforever\n    if <mouse down?> then\n        broadcast (\[INTRO\] Stop intro v)\n    end\nend\n\n@Sprite1\n\nwhen I receive [\[intro\] play intro v]\nshow\n\nwhen I receive [\[intro\] stop intro v]\nhide\n\nwhen flag clicked\ngo to [front v] layer\n\n@Server messages\n\nwhen I receive [joined v]\nset [ghost v] effect to (0)\nstart sound [Connect v]\nswitch costume to (connected v)\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [ghost v] effect to (100)\n\nwhen I receive [join game v]\nswitch costume to (connecting v)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nset [ghost v] effect to (0)\nwait (3) seconds\nset [timer v] to [0]\nset [timer v] to [0]\n\nwhen flag clicked\nclear graphic effects\nshow\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\n    go [backward v] (8) layers\nend\n\nwhen I receive [server full v]\nset [ghost v] effect to (0)\nswitch costume to (server full v)\nwait (2) seconds\nset [ghost v] effect to (100)\n\n@Interface2\n\ndefine Clone (cos) (x) (y)\ncreate clone of (_myself_ v)\nswitch costume to (cos)\nset [x v] to (x)\nset [y v] to (y)\ngo to x: (x) y: (y)\nclear graphic effects\n\nwhen flag clicked\nset [continue v] to [1]\nhide\nswitch costume to (nothing v)\nwait until <(win) = [1]>\nClone [Bg] [140] [-160]\nClone [No] [160] [-165]\nClone [Yes] [120] [-165]\nClone [Nothing] [0] [0]\n\nwhen I start as a clone\nforever\n    go to [front v] layer\n    if <<(win) = [1]> and <(Continue) = [0]>> then\n        show\n        if <<touching (mouse-pointer v)?> and <not <(costume [name v]) = [Bg]>>> then\n            set size to ((size) + (((125) - (size)) / (4))) %\n        else\n            set size to ((size) + (((99) - (size)) / (3))) %\n        end\n        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n            if <(costume [name v]) = [No]> then\n                stop [all v]\n            else\n                if <(costume [name v]) = [Yes]> then\n                    set [continue v] to [1]\n                end\n            end\n        end\n    else\n        hide\n    end\nend\n\n@Enemies\n\nif <(kill enemy) = [0]> then\n    if <(enemy touch) = [0]> then\nend\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((ex) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [ghost v] effect to (0)\nhide\nset [kill enemy v] to [0]\nset [change life v] to [0]\nswitch costume to (l v)\nset [life v] to [2]\nset [x v] to [1350]\nset [y v] to [1171]\n\ndefine position (x) (y)\ninsert (ex) at (1) of [cos v] \ndelete (3) of [cos v]\ninsert <touching (player v)?> at (1) of [e v] \ndelete (5) of [e v]\nif <(item (1) of [cos v]) > (item (2) of [cos v])> then\n    switch costume to (r v)\nelse\n    switch costume to (l v)\nend\ngo to x: (x) y: (y)\nset size to (120) %\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(kill enemy) = [0]> then\n        show\n    end\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\nwhen flag clicked\nbroadcast (move enermie v)\n\nwhen I receive [tick v]\nset [ex v] to ((x) + (([sin v] of ((days since 2000) * (8000000)) ) * (150)))\nif <touching (player v)?> then\n    if <(PlayerY) > ((y) + (30))> then\n        if <(item (2) of [e v]) = [false]> then\n            if <(kill enemy) = [0]> then\n                set [enemy touch v] to [1]\n                broadcast (kill enemy v)\n            end\n        end\n    else\n        if <(item (3) of [e v]) = [true]> then\n            if <(Life) = [1]> then\n                if <(change life) = [0]> then\n                    broadcast (die v)\n                    set [exit v] to [die]\n                end\n            else\n                if <(change life) = [0]> then\n                    broadcast (change life v)\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [kill enemy v]\nrepeat (3)\n    change [y v] by (-8)\nend\nset [kill enemy v] to [1]\nhide\n\nwhen I receive [change life v]\nchange [life v] by (-1)\nset [change life v] to [1]\nwait (3) seconds\nset [change life v] to [0]\n\n@Sprite2\n\nwhen flag clicked\ngo to x: (-500) y: (500)\n\nwhen I receive [die v]\nwait (1) seconds\ngo to x: (-500) y: (500)\nglide (2) secs to x: (500) y: (-500)\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Enemies2\n\nif <(kill enemy) = [0]> then\n    if <(enemy touch) = [0]> then\nend\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((ex2) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [ghost v] effect to (0)\nhide\nset [kill enemy2 v] to [0]\nswitch costume to (l v)\nset [x v] to [2420]\nset [y v] to [2057]\n\ndefine position (x) (y)\ninsert (ex2) at (1) of [cos2 v] \ndelete (3) of [cos2 v]\ninsert <touching (player v)?> at (1) of [e2 v] \ndelete (5) of [e2 v]\nif <(item (1) of [cos v]) > (item (2) of [cos v])> then\n    switch costume to (r v)\nelse\n    switch costume to (l v)\nend\ngo to x: (x) y: (y)\nset size to (120) %\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(kill enemy2) = [0]> then\n        show\n    end\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\nwhen flag clicked\nbroadcast (move enermie v)\n\nwhen I receive [tick v]\nset [ex2 v] to ((x) + (([sin v] of ((days since 2000) * (8000000)) ) * (140)))\nif <touching (player v)?> then\n    if <(PlayerY) > ((y) + (30))> then\n        if <(item (2) of [e2 v]) = [false]> then\n            if <(kill enemy2) = [0]> then\n                if <(change life) = [0]> then\n                    set [enemy touch v] to [1]\n                    broadcast (kill enemy 2 v)\n                end\n            end\n        end\n    else\n        if <(item (3) of [e2 v]) = [true]> then\n            if <(Life) = [1]> then\n                if <(change life) = [0]> then\n                    broadcast (die v)\n                    set [exit v] to [die]\n                end\n            else\n                if <(change life) = [0]> then\n                    broadcast (change life v)\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [kill enemy 2 v]\nrepeat (3)\n    change [y v] by (-8)\nend\nset [kill enemy2 v] to [1]\nhide\n\n