☁ The Sea - Cloud Multiplayer Platformer
@Stage\n\nwhen I receive [start project v]\nforever\n    play sound [Nebula v] until done\nend\n\n@Blank\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nset [ghost v] effect to (100)\nswitch costume to (costume1 v)\nforever\n    go to [front v] layer\nend\n\nwhen I receive [hide thumbnail v]\nhide\n\n@waves\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nclear graphic effects\n\nwhen I receive [lvl start v]\nif <(Level) = [3]> then\n    wave [125] [-96] [3]\nend\nif <(Level) = [7]> then\n    wave [152] [-100] [7]\nend\n\ndefine wave (x) (y) (level)\ngo to x: (x) y: (y)\nrepeat until <not <(Level) = (level)>>\n    create clone of (_myself_ v)\n    wait (pick random (.5) to (2)) seconds\nend\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (100)\nrepeat until <<touching (ground v)?> or <touching (_edge_ v)?>>\n    change [ghost v] effect by (-10)\n    change x by (-6)\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@boatest of all time (sry that doesnt even make sense)\n\nwhen flag clicked\nhide\ngo to [front v] layer\n\nwhen I receive [lvl start v]\nif <(Level) = [2]> then\n    clone at x: [-55] y: [-105]\nend\nif <(Level) = [7]> then\n    clone at x: [-70] y: [-105]\nend\n\ndefine clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nclear graphic effects\nset rotation style [left-right v]\nforever\n    point in direction (90)\n    repeat (50)\n        change x by (4)\n    end\n    wait (1) seconds\n    point in direction (-90)\n    repeat (50)\n        change x by (-4)\n    end\n    wait (1) seconds\nend\n\nwhen I receive [reset v]\ndelete this clone\n\n@geysers\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nclear graphic effects\n\nwhen I receive [lvl start v]\nif <(Level) = [5]> then\n    clone at x: [-20] y: [-70]\n    clone at x: [90] y: [-70]\nend\nif <(Level) = [6]> then\n    clone at x: [210] y: [-67]\nend\nif <(Level) = [8]> then\n    clone at x: [-133] y: [20]\nend\n\nwhen I start as a clone\nforever\n    show\n    switch costume to (costume1 v)\n    wait (pick random (1) to (2)) seconds\n    repeat (6)\n        wait (0) seconds\n        next costume\n    end\n    wait (1) seconds\n    switch costume to (costume5 v)\n    wait (0) seconds\n    switch costume to (costume1 v)\nend\n\ndefine clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [reset v]\ndelete this clone\n\n@piranhas\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nclear graphic effects\n\nwhen I receive [lvl start v]\nif <(Level) = [4]> then\n    clone at x: [23] y: [-148]\n    clone at x: [96] y: [-123]\n    clone at x: [-44] y: [-133]\nend\nif <(Level) = [7]> then\n    clone at x: [-124] y: [17]\nend\nif <(Level) = [8]> then\n    clone at x: [26] y: [-147]\nend\n\nwhen I start as a clone\nshow\nclear graphic effects\nset rotation style [left-right v]\nrepeat until <touching (fist v)?>\n    if <touching (water v)?> then\n        if <(distance to [guy v]) < [200]> then\n            if <not <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>>> then\n                if <([y position v] of [guy v]) > (y position)> then\n                    change y by (4)\n                end\n                if <(y position) > ([y position v] of [guy v])> then\n                    change y by (-4)\n                end\n            end\n            change y by (1)\n            if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                change y by (-6)\n            end\n            change y by (-1)\n            change y by (-1)\n            if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                change y by (10)\n            end\n            change y by (1)\n            if <not <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>>> then\n                if <([x position v] of [guy v]) > (x position)> then\n                    point in direction (-90)\n                    change x by (4)\n                end\n                if <(x position) > ([x position v] of [guy v])> then\n                    point in direction (90)\n                    change x by (-4)\n                end\n            end\n            if <touching (ground v)?> then\n                if <(direction) = [-90]> then\n                    change x by (-4)\n                end\n                if <(direction) = [90]> then\n                    change x by (4)\n                end\n            end\n        end\n    end\n    if <not <touching (water v)?>> then\n        repeat until <touching (water v)?>\n            if <not <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>>> then\n                change y by (-1)\n            end\n            if <touching (fist v)?> then\n                delete this clone\n            end\n        end\n    end\n    if <touching (fist v)?> then\n        delete this clone\n    end\nend\ndelete this clone\n\ndefine clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [reset v]\ndelete this clone\n\n@water\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nclear graphic effects\nswitch costume to (wata v)\ngo to [back v] layer\nshow\nforever\n    set y to (([sin v] of ((timer) * (100)) ) * (10))\nend\n\nwhen I receive [next lvl v]\nnext costume\n\n@fist\n\nwhen flag clicked\nhide\nset rotation style [left-right v]\n\nwhen I receive [punch v]\nshow\nif <(skin) = [1]> then\n    switch costume to (costume1 v)\nend\nif <(skin) = [2]> then\n    switch costume to (costume2 v)\nend\nif <(skin) = [3]> then\n    switch costume to (costume3 v)\nend\nif <(skin) = [4]> then\n    switch costume to (costume4 v)\nend\ngo to (guy v)\npoint in direction ([direction v] of [guy v])\nif <(skin) = [1]> then\n    repeat (5)\n        change x by ((direction) / (9))\n    end\nend\nif <(skin) = [2]> then\n    repeat (20)\n        change x by ((direction) / (9))\n    end\nend\nif <(skin) = [3]> then\n    repeat (10)\n        change x by ((direction) / (4.5))\n    end\nend\nif <(skin) = [4]> then\n    repeat (5)\n        change x by ((direction) / (3))\n    end\nend\nwait (.5) seconds\nhide\n\n@punch button\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    show\n    go to [front v] layer\n    go to x: (0) y: (0)\n    if <<touching (guy v)?> or <touching (piranhas v)?>> then\n        set [ghost v] effect to (25)\n    else\n        set [ghost v] effect to (0)\n    end\n    if <touching (mouse-pointer v)?> then\n        set [color v] effect to (25)\n        set [mouse touching attack? v] to [1]\n    else\n        set [color v] effect to (0)\n        set [mouse touching attack? v] to [0]\n    end\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        broadcast (punch v)\n    end\nend\n\n@boatest of all time (sry that doesnt even make sense)2\n\nwhen flag clicked\nhide\ngo to [front v] layer\n\nwhen I receive [lvl start v]\nif <(Level) = [2]> then\n    clone at x: [-55] y: [-105]\nend\nif <(Level) = [7]> then\n    clone at x: [-70] y: [-105]\nend\n\ndefine clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nclear graphic effects\nset rotation style [left-right v]\nforever\n    point in direction (90)\n    repeat (50)\n        change x by (4)\n    end\n    wait (1) seconds\n    point in direction (-90)\n    repeat (50)\n        change x by (-4)\n    end\n    wait (1) seconds\nend\n\nwhen I receive [reset v]\ndelete this clone\n\n@deco\n\nwhen I receive [next lvl v]\nnext costume\n\nwhen flag clicked\nhide\n\nwhen I receive [start project v]\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nshow\nforever\n    go to [back v] layer\nend\n\n@coins\n\nwhen flag clicked\nset [coins v] to [0]\nset [coin id v] to [0]\ndelete all of [collected coins v]\ngo to x: (0) y: (0)\nhide\nclear graphic effects\n\nwhen I start as a clone\nshow\nclear graphic effects\nswitch costume to (costume1 v)\nset rotation style [left-right v]\nchange [coin id v] by (1)\nif <(coin ID) = [1]> then\n    coin [1]\nelse\n    if <(coin ID) = [2]> then\n        coin [2]\n    else\n        if <(coin ID) = [3]> then\n            coin [3]\n        else\n            if <(coin ID) = [4]> then\n                coin [4]\n            else\n                if <(coin ID) = [5]> then\n                    coin [5]\n                else\n                    if <(coin ID) = [6]> then\n                        coin [6]\n                    else\n                        if <(coin ID) = [7]> then\n                            coin [7]\n                        else\n                            if <(coin ID) = [8]> then\n                                coin [8]\n                            else\n                                if <(coin ID) = [9]> then\n                                    coin [9]\n                                else\n                                    if <(coin ID) = [10]> then\n                                        coin [10]\n                                    else\n                                        if <(coin ID) = [11]> then\n                                            coin [11]\n                                        else\n                                            if <(coin ID) = [12]> then\n                                                coin [12]\n                                            else\n                                                if <(coin ID) = [13]> then\n                                                    coin [13]\n                                                else\n                                                    if <(coin ID) = [14]> then\n                                                        coin [14]\n                                                    else\n                                                        if <(coin ID) = [15]> then\n                                                            coin [15]\n                                                        end\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine clone at x: (x) y: (y)\nchange [coins in lvl v] by (1)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine coin (id)\nforever\n    next costume\n    if <[collected coins v] contains (id)?> then\n        delete this clone\n    else\n        if <touching (guy v)?> then\n            add (id) to [collected coins v]\n            change [coins v] by (1)\n        end\n    end\nend\n\nwhen I receive [lvl start v]\nset [coins in lvl v] to [0]\nif <(Level) = [1]> then\n    clone at x: [0] y: [0]\n    clone at x: [100] y: [0]\n    clone at x: [-100] y: [0]\nend\nif <(Level) = [2]> then\n    clone at x: [0] y: [0]\n    clone at x: [100] y: [0]\nend\nif <(Level) = [3]> then\n    clone at x: [0] y: [0]\n    clone at x: [100] y: [0]\nend\nif <(Level) = [4]> then\n    clone at x: [50] y: [-150]\nend\nif <(Level) = [5]> then\n    clone at x: [35] y: [-50]\n    clone at x: [-70] y: [-150]\nend\nif <(Level) = [7]> then\n    clone at x: [56] y: [-58]\n    clone at x: [125] y: [-153]\n    clone at x: [-132] y: [124]\nend\nif <(Level) = [8]> then\n    clone at x: [-210] y: [-160]\nend\nif <(Level) = [9]> then\n    clone at x: [-22] y: [-152]\nend\n\n@coin number\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ncreate clone of (_myself_ v)\ngo to x: (186) y: (143)\nforever\n    show\n    switch costume to (letter (1) of (coins))\nend\n\nwhen I start as a clone\ngo to x: (217) y: (143)\nforever\n    if <not <(letter (2) of (coins)) = []>> then\n        show\n        switch costume to (letter (2) of (coins))\n    else\n        hide\n    end\nend\n\n@shop\n\nwhen flag clicked\ndelete all of [skins owned v]\nadd [1] to [skins owned v]\nset [shop open? v] to [0]\nhide\ndelete this clone\n\nwhen I start as a clone\nclear graphic effects\nhide\ngo to x: (0) y: (0)\nif <(shop ID) = [1]> then\n    switch costume to (normal v)\n    forever\n        set y to (shop y)\n        go to [front v] layer\n        if <(shop open?) = [1]> then\n            set [mouse touching shop? v] to [1]\n            show\n            if <(skin) = [1]> then\n                set [brightness v] effect to ((([sin v] of ((timer) * (100)) ) * (10)) + (20))\n            else\n                clear graphic effects\n                if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                    set [skin v] to [1]\n                end\n            end\n        else\n            hide\n        end\n    end\nelse\n    if <(shop ID) = [2]> then\n        switch costume to (wave v)\n        forever\n            set y to (shop y)\n            go to [front v] layer\n            if <(shop open?) = [1]> then\n                show\n                if <(skin) = [2]> then\n                    set [brightness v] effect to ((([sin v] of ((timer) * (100)) ) * (10)) + (10))\n                else\n                    if <[skins owned v] contains [2]?> then\n                        clear graphic effects\n                        if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                            set [skin v] to [2]\n                        end\n                    else\n                        if <(coins) > [4]> then\n                            set [brightness v] effect to (10)\n                            if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                                add [2] to [skins owned v]\n                                change [coins v] by (-5)\n                            end\n                        else\n                            set [brightness v] effect to (-30)\n                        end\n                    end\n                end\n            else\n                hide\n            end\n        end\n    else\n        if <(shop ID) = [3]> then\n            switch costume to (boat v)\n            forever\n                set y to (shop y)\n                go to [front v] layer\n                if <(shop open?) = [1]> then\n                    show\n                    if <(skin) = [3]> then\n                        set [brightness v] effect to ((([sin v] of ((timer) * (100)) ) * (10)) + (10))\n                    else\n                        if <[skins owned v] contains [3]?> then\n                            clear graphic effects\n                            if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                                set [skin v] to [3]\n                            end\n                        else\n                            if <(coins) > [4]> then\n                                set [brightness v] effect to (10)\n                                if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                                    add [3] to [skins owned v]\n                                    change [coins v] by (-5)\n                                end\n                            else\n                                set [brightness v] effect to (-30)\n                            end\n                        end\n                    end\n                else\n                    hide\n                end\n            end\n        else\n            if <(shop ID) = [4]> then\n                switch costume to (tree v)\n                forever\n                    set y to (shop y)\n                    go to [front v] layer\n                    if <(shop open?) = [1]> then\n                        show\n                        if <(skin) = [4]> then\n                            set [brightness v] effect to ((([sin v] of ((timer) * (100)) ) * (10)) + (10))\n                        else\n                            if <[skins owned v] contains [4]?> then\n                                clear graphic effects\n                                if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                                    set [skin v] to [4]\n                                end\n                            else\n                                if <(coins) > [4]> then\n                                    set [brightness v] effect to (10)\n                                    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n                                        add [4] to [skins owned v]\n                                        change [coins v] by (-5)\n                                    end\n                                else\n                                    set [brightness v] effect to (-30)\n                                end\n                            end\n                        end\n                    else\n                        hide\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start v]\nclear graphic effects\nset [shop id v] to [0]\nrepeat (4)\n    change [shop id v] by (1)\n    create clone of (_myself_ v)\nend\ngo to x: (0) y: (0)\ngo to [front v] layer\nswitch costume to (shop button v)\nforever\n    set [shop y v] to (y position)\n    show\n    if <touching (mouse-pointer v)?> then\n        set [mouse touching shop? v] to [1]\n        if <(shop open?) = [0]> then\n            set [brightness v] effect to (10)\n            if <mouse down?> then\n                repeat until <(round (y position)) = [23]>\n                    set [mouse touching shop? v] to [1]\n                    change y by (((23) - (y position)) / (2))\n                end\n                switch costume to (shop back v)\n                hide\n                wait (.3) seconds\n                set [shop open? v] to [1]\n                show\n                clear graphic effects\n                go to x: (0) y: (143)\n                repeat until <(round (y position)) = [0]>\n                    change y by (((0) - (y position)) / (5))\n                    set [shop y v] to (y position)\n                end\n                wait until <<mouse down?> and <not <touching (mouse-pointer v)?>>>\n                clear graphic effects\n                repeat until <(round (y position)) = [143]>\n                    set [mouse touching shop? v] to [1]\n                    change y by (((143) - (y position)) / (3))\n                    set [shop y v] to (y position)\n                end\n                set [shop open? v] to [0]\n                hide\n                wait (.3) seconds\n                show\n                switch costume to (shop button v)\n                repeat until <(round (y position)) = [0]>\n                    change y by (((0) - (y position)) / (5))\n                end\n            end\n        end\n    else\n        if <(shop open?) = [0]> then\n            set [mouse touching shop? v] to [0]\n        end\n        set [brightness v] effect to (0)\n    end\nend\n\n@baby shark dododododoodododododoododododoodod\n\nwhen flag clicked\nhide\nset rotation style [left-right v]\npoint in direction (90)\n\nwhen I receive [lvl start v]\nif <(Level) = [9]> then\n    show\n    go to x: (175) y: (-85)\nend\nif <(Level) = [10]> then\n    hide\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [9]> then\n        if <(distance to [guy v]) < [250]> then\n            if <([x position v] of [guy v]) > (x position)> then\n                if <[5] < ([abs v] of (([x position v] of [guy v]) - (x position)) )> then\n                    change x by (2)\n                    point in direction (-90)\n                end\n            else\n                if <[5] < ([abs v] of (([x position v] of [guy v]) - (x position)) )> then\n                    change x by (-2)\n                    point in direction (90)\n                end\n            end\n            if <([y position v] of [guy v]) > (y position)> then\n                if <[5] < ([abs v] of (([y position v] of [guy v]) - (y position)) )> then\n                    change y by (2)\n                end\n            else\n                if <[5] < ([abs v] of (([y position v] of [guy v]) - (y position)) )> then\n                    change y by (-2)\n                end\n            end\n        end\n        if <touching (fist v)?> then\n            if <(skin) = [1]> then\n                change x by (([direction v] of [fist v]) / (30))\n                wait (.5) seconds\n            end\n            if <(skin) = [2]> then\n                change x by (([direction v] of [fist v]) / (22.5))\n            end\n            if <(skin) = [3]> then\n                change x by (([direction v] of [fist v]) / (9))\n                change y by (-5)\n            end\n            if <(skin) = [4]> then\n                change x by (([direction v] of [fist v]) / (30))\n                change y by (7.5)\n            end\n        end\n        if <(x position) < [100]> then\n            set x to (100)\n        end\n        if <[-25] < (y position)> then\n            set y to (-25)\n        end\n    end\nend\n\n@ground\n\nwhen I receive [next lvl v]\nnext costume\n\nwhen flag clicked\nhide\n\nwhen I receive [start project v]\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nshow\n\n@guy\n\ndefine Encode (stuff)\nset [encoded/decoded letters v] to [abcdefghijklmnopqrstuvwxyz0123456789-_]\nset [encoded result v] to []\nset [letter for encoder v] to [1]\ndelete all of [list for encoder v]\nrepeat (length of (encoded/decoded letters))\n    add (letter (letter for encoder) of (encoded/decoded letters)) to [list for encoder v]\n    change [letter for encoder v] by (1)\nend\nset [letter for encoder v] to [1]\nrepeat (length of (stuff))\n    if <(length of (item # of (letter (letter for encoder) of (stuff)) in [list for encoder v])) = [1]> then\n        set [encoded result v] to (join (Encoded Result) (join [0] (item # of (letter (letter for encoder) of (stuff)) in [list for encoder v])))\n    else\n        set [encoded result v] to (join (Encoded Result) (item # of (letter (letter for encoder) of (stuff)) in [list for encoder v]))\n    end\n    change [letter for encoder v] by (1)\nend\nif <(stuff) = (costume [number v])> then\n    set [costume v] to (Encoded Result)\nend\nif <(stuff) = (round (x position))> then\n    set [x pos v] to (Encoded Result)\nend\nif <(stuff) = (round (y position))> then\n    set [y pos v] to (Encoded Result)\nend\nif <(stuff) = (username)> then\n    set [username v] to (Encoded Result)\nend\nif <(stuff) = (Level)> then\n    set [encoded lvl v] to (Encoded Result)\nend\nif <(stuff) = (round (direction))> then\n    set [direction v] to (Encoded Result)\nend\n\ndefine send cloud data\nEncode (round (x position))\nEncode (round (y position))\nEncode (username)\nEncode (Level)\nEncode (costume [number v])\nEncode (round (direction))\nset [player data v] to (join (Active?) (join (join (X pos) [44]) (join (join (Y pos) [55]) (join (username) (join [66] (join (encoded lvl) (join [77] (join (costume) (join [88] (join (direction) [99]))))))))))\nif <(player #) = [1]> then\n    set [☁ p1 v] to (player data)\nend\nif <(player #) = [2]> then\n    set [☁ p2 v] to (player data)\nend\nif <(player #) = [3]> then\n    set [☁ p3 v] to (player data)\nend\nif <(player #) = [4]> then\n    set [☁ p4 v] to (player data)\nend\nif <(player #) = [5]> then\n    set [☁ p5 v] to (player data)\nend\nif <(player #) = [6]> then\n    set [☁ p6 v] to (player data)\nend\nif <(player #) = [7]> then\n    set [☁ p7 v] to (player data)\nend\nif <(player #) = [8]> then\n    set [☁ p8 v] to (player data)\nend\nif <(player #) = [9]> then\n    set [☁ p9 v] to (player data)\nend\nif <(player #) = [10]> then\n    set [☁ p10 v] to (player data)\nend\n\nwhen I receive [died v]\nrepeat (coins in lvl)\n    change [coin id v] by (-1)\nend\nbroadcast (lvl start v)\n\nwhen I receive [start v]\nset [active? v] to [100]\nforever\n    send cloud data\n    if <(Active?) = [999]> then\n        set [active? v] to [100]\n    else\n        change [active? v] by (1)\n    end\n    broadcast (Tick v)\nend\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\nwhen I receive [start v]\nset [level v] to [1]\nset [skin v] to [1]\nbroadcast (reset v)\nbroadcast (lvl start v)\nforever\n    switch costume to (skin)\n    if <key (space v) pressed?> then\n        broadcast (punch v)\n    end\n    if <<touching (fist v)?> and <(skin) = [3]>> then\n        if <(direction) = [90]> then\n            if <touching (water v)?> then\n                set [xv v] to [15]\n            else\n                set [xv v] to [10]\n            end\n        end\n        if <(direction) = [-90]> then\n            if <touching (water v)?> then\n                set [xv v] to [-15]\n            else\n                set [xv v] to [-10]\n            end\n        end\n    end\n    if <<touching (fist v)?> and <(skin) = [2]>> then\n        if <(direction) = [90]> then\n            set [xv v] to [-5]\n        end\n        if <(direction) = [-90]> then\n            set [xv v] to [5]\n        end\n    end\n    if <<touching (fist v)?> and <(skin) = [4]>> then\n        if <(direction) = [90]> then\n            change [xv v] by (1)\n        end\n        if <(direction) = [-90]> then\n            change [xv v] by (-1)\n        end\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<<mouse down?> and <(mouse x) > (x position)>> and <<(mouse touching shop?) = [0]> and <(mouse touching attack?) = [0]>>>> then\n        point in direction (90)\n        if <touching (water v)?> then\n            if <(skin) = [2]> then\n                change [xv v] by (1.2)\n            else\n                change [xv v] by (.8)\n            end\n        else\n            if <(skin) = [3]> then\n                change [xv v] by (1.2)\n            else\n                change [xv v] by (1)\n            end\n        end\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<<mouse down?> and <(mouse x) < (x position)>> and <<(mouse touching shop?) = [0]> and <(mouse touching attack?) = [0]>>>> then\n        point in direction (-90)\n        if <touching (water v)?> then\n            if <(skin) = [2]> then\n                change [xv v] by (-1.2)\n            else\n                change [xv v] by (-.8)\n            end\n        else\n            if <(skin) = [3]> then\n                change [xv v] by (-1.2)\n            else\n                change [xv v] by (-1)\n            end\n        end\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n        change y by (1)\n        if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n            change y by (1)\n            if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                change y by (1)\n                if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                    change y by (1)\n                    if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                        change y by (1)\n                        if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                            change y by (1)\n                            if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                                change y by (1)\n                                if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                                    change y by (1)\n                                    if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                                        change y by (1)\n                                        if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                                            change y by (1)\n                                            if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n                                                change x by ((Xv) * (-1))\n                                                change y by (-10)\n                                                if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<<mouse down?> and <(mouse y) > ((y position) + (20))>> and <<(mouse touching shop?) = [0]> and <(mouse touching attack?) = [0]>>>> then\n                                                    if <(Xv) > [0]> then\n                                                        set [xv v] to [-8]\n                                                    else\n                                                        set [xv v] to [8]\n                                                    end\n                                                    set [yv v] to [13]\n                                                else\n                                                    set [xv v] to [0]\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    if <touching (water v)?> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<<mouse down?> and <(mouse y) > ((y position) + (20))>> and <<(mouse touching shop?) = [0]> and <(mouse touching attack?) = [0]>>>> then\n            if <(skin) = [2]> then\n                set [yv v] to [6]\n            else\n                set [yv v] to [5]\n            end\n        else\n            if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<<mouse down?> and <((y position) + (-20)) > (mouse y)>> and <<(mouse touching shop?) = [0]> and <(mouse touching attack?) = [0]>>>> then\n                if <(skin) = [2]> then\n                    set [yv v] to [-6]\n                else\n                    set [yv v] to [-5]\n                end\n            else\n                set [yv v] to [-1]\n            end\n        end\n    else\n        if <(skin) = [4]> then\n            change [yv v] by (-.8)\n        else\n            change [yv v] by (-1)\n        end\n    end\n    change y by (Yv)\n    if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <<touching (ground v)?> or <touching (boatest of all time \(sry that doesnt even make sense\) v)?>> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<<mouse down?> and <(mouse y) > ((y position) + (20))>> and <<(mouse touching shop?) = [0]> and <(mouse touching attack?) = [0]>>>> then\n            set [yv v] to [15]\n        end\n    end\n    change y by (1)\n    if <<(y position) < [-180]> or <<<touching (geysers v)?> and <not <(skin) = [2]>>> or <<touching (piranhas v)?> or <touching (baby shark dododododoodododododoododododoodod v)?>>>> then\n        broadcast (died v)\n        broadcast (reset v)\n    end\n    if <<touching (geysers v)?> and <(skin) = [2]>> then\n        set [yv v] to [20]\n    end\n    if <<touching (waves v)?> and <not <(skin) = [2]>>> then\n        change [xv v] by (-2)\n    end\n    if <<key (p v) pressed?> and <not <(Level) = [10]>>> then\n        broadcast (next lvl v)\n        wait (.1) seconds\n    end\nend\n\nwhen I receive [next lvl v]\nchange [level v] by (1)\nbroadcast (reset v)\nbroadcast (lvl start v)\n\nwhen flag clicked\nforever\n    if <(x position) > [220]> then\n        broadcast (next lvl v)\n    end\nend\n\nwhen I receive [reset v]\nset [xv v] to [0]\nset [yv v] to [0]\nset rotation style [left-right v]\ngo to x: (-200) y: (-80)\npoint in direction (90)\nset size to (100) %\nset [ghost v] effect to (0)\nshow\n\n@Cloud Multiplayer Engine\n\ndefine Decode (stuff) list #: (#)\nset [encoded/decoded letters v] to [abcdefghijklmnopqrstuvwxyz0123456789-_]\ndelete all of [list for decoder v]\ndelete all of [list for decoder 2 v]\nset [letter for decoder 1 v] to [1]\nset [decoded result v] to []\nrepeat (length of (encoded/decoded letters))\n    add (letter (letter for decoder 1) of (encoded/decoded letters)) to [list for decoder 2 v]\n    change [letter for decoder 1 v] by (1)\nend\nset [letter for decoder 1 v] to [4]\nset [letter for decoder 2 v] to [5]\nrepeat ((length of (stuff)) / (2))\n    add (join (letter (letter for decoder 1) of (stuff)) (letter (letter for decoder 2) of (stuff))) to [list for decoder v]\n    change [letter for decoder 1 v] by (2)\n    change [letter for decoder 2 v] by (2)\nend\nset [letter for decoder 1 v] to [1]\nrepeat (length of [list for decoder v])\n    if <(letter (1) of (item (letter for decoder 1) of [list for decoder v])) = [4]> then\n        replace item (#) of [x positions v] with (Decoded Result)\n        set [decoded result v] to []\n    else\n        if <(letter (1) of (item (letter for decoder 1) of [list for decoder v])) = [5]> then\n            replace item (#) of [y positions v] with (Decoded Result)\n            set [decoded result v] to []\n        else\n            if <(letter (1) of (item (letter for decoder 1) of [list for decoder v])) = [6]> then\n                replace item (#) of [usernames v] with (Decoded Result)\n                set [decoded result v] to []\n            else\n                if <(letter (1) of (item (letter for decoder 1) of [list for decoder v])) = [7]> then\n                    replace item (#) of [levels v] with (Decoded Result)\n                    set [decoded result v] to []\n                else\n                    if <(letter (1) of (item (letter for decoder 1) of [list for decoder v])) = [8]> then\n                        replace item (#) of [costumes v] with (Decoded Result)\n                        set [decoded result v] to []\n                    else\n                        if <(letter (1) of (item (letter for decoder 1) of [list for decoder v])) = [9]> then\n                            replace item (#) of [directions v] with (Decoded Result)\n                            set [decoded result v] to []\n                        else\n                            set [decoded result v] to (join (Decoded Result) (item (item (letter for decoder 1) of [list for decoder v]) of [list for decoder 2 v]))\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [letter for decoder 1 v] by (1)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [tick v]\nDecode (☁ P1) list #: [1]\nDecode (☁ P2) list #: [2]\nDecode (☁ P3) list #: [3]\nDecode (☁ P4) list #: [4]\nDecode (☁ P5) list #: [5]\nDecode (☁ P6) list #: [6]\nDecode (☁ P7) list #: [7]\nDecode (☁ P8) list #: [8]\nDecode (☁ P9) list #: [9]\nDecode (☁ P10) list #: [10]\n\nwhen I receive [start project v]\ndelete all of [player activity logs v]\nforever\n    if <(item (1) of [player activity logs v]) = []> then\n        insert (☁ P1) at (1) of [player activity logs v] \n    else\n        replace item (1) of [player activity logs v] with (☁ P1)\n    end\n    if <(item (2) of [player activity logs v]) = []> then\n        insert (☁ P2) at (2) of [player activity logs v] \n    else\n        replace item (2) of [player activity logs v] with (☁ P2)\n    end\n    if <(item (3) of [player activity logs v]) = []> then\n        insert (☁ P3) at (3) of [player activity logs v] \n    else\n        replace item (3) of [player activity logs v] with (☁ P3)\n    end\n    if <(item (4) of [player activity logs v]) = []> then\n        insert (☁ P4) at (4) of [player activity logs v] \n    else\n        replace item (4) of [player activity logs v] with (☁ P4)\n    end\n    if <(item (5) of [player activity logs v]) = []> then\n        insert (☁ P5) at (5) of [player activity logs v] \n    else\n        replace item (5) of [player activity logs v] with (☁ P5)\n    end\n    if <(item (6) of [player activity logs v]) = []> then\n        insert (☁ P6) at (6) of [player activity logs v] \n    else\n        replace item (6) of [player activity logs v] with (☁ P6)\n    end\n    if <(item (7) of [player activity logs v]) = []> then\n        insert (☁ P7) at (7) of [player activity logs v] \n    else\n        replace item (7) of [player activity logs v] with (☁ P7)\n    end\n    if <(item (8) of [player activity logs v]) = []> then\n        insert (☁ P8) at (8) of [player activity logs v] \n    else\n        replace item (8) of [player activity logs v] with (☁ P8)\n    end\n    if <(item (9) of [player activity logs v]) = []> then\n        insert (☁ P9) at (9) of [player activity logs v] \n    else\n        replace item (9) of [player activity logs v] with (☁ P9)\n    end\n    if <(item (10) of [player activity logs v]) = []> then\n        insert (☁ P10) at (10) of [player activity logs v] \n    else\n        replace item (10) of [player activity logs v] with (☁ P10)\n    end\n    wait (.5) seconds\n    if <(item (1) of [player activity logs v]) = (☁ P1)> then\n        set [☁ p1 v] to [0]\n    end\n    if <(item (2) of [player activity logs v]) = (☁ P2)> then\n        set [☁ p2 v] to [0]\n    end\n    if <(item (3) of [player activity logs v]) = (☁ P3)> then\n        set [☁ p3 v] to [0]\n    end\n    if <(item (4) of [player activity logs v]) = (☁ P4)> then\n        set [☁ p4 v] to [0]\n    end\n    if <(item (5) of [player activity logs v]) = (☁ P5)> then\n        set [☁ p5 v] to [0]\n    end\n    if <(item (6) of [player activity logs v]) = (☁ P6)> then\n        set [☁ p6 v] to [0]\n    end\n    if <(item (7) of [player activity logs v]) = (☁ P7)> then\n        set [☁ p7 v] to [0]\n    end\n    if <(item (8) of [player activity logs v]) = (☁ P8)> then\n        set [☁ p8 v] to [0]\n    end\n    if <(item (9) of [player activity logs v]) = (☁ P9)> then\n        set [☁ p9 v] to [0]\n    end\n    if <(item (10) of [player activity logs v]) = (☁ P10)> then\n        set [☁ p10 v] to [0]\n    end\nend\n\nwhen I receive [start project v]\nset [player # v] to [0]\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nswitch costume to (costume1 v)\ndelete all of [player activity logs v]\nrepeat (2)\n    switch costume to (costume1 v)\n    wait (.6) seconds\n    switch costume to (costume3 v)\n    wait (.6) seconds\n    switch costume to (costume4 v)\n    wait (.6) seconds\nend\nif <(☁ P1) = [0]> then\n    set [player # v] to [1]\nelse\n    if <(☁ P2) = [0]> then\n        set [player # v] to [2]\n    else\n        if <(☁ P3) = [0]> then\n            set [player # v] to [3]\n        else\n            if <(☁ P4) = [0]> then\n                set [player # v] to [4]\n            else\n                if <(☁ P5) = [0]> then\n                    set [player # v] to [5]\n                else\n                    if <(☁ P6) = [0]> then\n                        set [player # v] to [6]\n                    else\n                        if <(☁ P7) = [0]> then\n                            set [player # v] to [7]\n                        else\n                            if <(☁ P8) = [0]> then\n                                set [player # v] to [8]\n                            else\n                                if <(☁ P9) = [0]> then\n                                    set [player # v] to [9]\n                                else\n                                    if <(☁ P10) = [0]> then\n                                        set [player # v] to [10]\n                                    else\n                                        switch costume to (costume2 v)\n                                        set [online players: v] to [10]\n                                        broadcast (hide thumbnail v)\n                                        stop [all v]\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nbroadcast (start v)\nhide\n\n@others\n\ndefine position clone #: (#)\nset x to (item (#) of [x positions v])\nset y to (item (#) of [y positions v])\nthink (item (#) of [usernames v])\nswitch costume to (item (#) of [costumes v])\npoint in direction (item (#) of [directions v])\nif <(item (#) of [levels v]) = (Level)> then\n    show\nelse\n    hide\nend\nif <<touching (boatest of all time \(sry that doesnt even make sense\) v)?> or <<touching (geysers v)?> or <<touching (piranhas v)?> or <touching (baby shark dododododoodododododoododododoodod v)?>>>> then\n    set [ghost v] effect to (50)\nelse\n    clear graphic effects\nend\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nset rotation style [left-right v]\nif <(Clone ID) = [1]> then\n    forever\n        if <not <<(☁ P1) = [0]> or <(player #) = [1]>>> then\n            position clone #: [1]\n        else\n            hide\n        end\n    end\nend\nif <(Clone ID) = [2]> then\n    forever\n        if <not <<(☁ P2) = [0]> or <(player #) = [2]>>> then\n            position clone #: [2]\n        else\n            hide\n        end\n    end\nend\nif <(Clone ID) = [3]> then\n    forever\n        if <not <<(☁ P3) = [0]> or <(player #) = [3]>>> then\n            position clone #: [3]\n        else\n            hide\n        end\n    end\nend\nif <(Clone ID) = [4]> then\n    forever\n        if <not <<(☁ P4) = [0]> or <(player #) = [4]>>> then\n            position clone #: [4]\n        else\n            hide\n        end\n    end\nend\nif <(Clone ID) = [5]> then\n    forever\n        if <not <<(☁ P5) = [0]> or <(player #) = [5]>>> then\n            position clone #: [5]\n        else\n            hide\n        end\n    end\nend\nif <(Clone ID) = [6]> then\n    forever\n        if <not <<(☁ P6) = [0]> or <(player #) = [6]>>> then\n            position clone #: [6]\n        else\n            hide\n        end\n    end\nend\nif <(Clone ID) = [7]> then\n    forever\n        if <not <<(☁ P7) = [0]> or <(player #) = [7]>>> then\n            position clone #: [7]\n        else\n            hide\n        end\n    end\nend\nif <(Clone ID) = [8]> then\n    forever\n        if <not <<(☁ P8) = [0]> or <(player #) = [8]>>> then\n            position clone #: [8]\n        else\n            hide\n        end\n    end\nend\nif <(Clone ID) = [9]> then\n    forever\n        if <not <<(☁ P9) = [0]> or <(player #) = [9]>>> then\n            position clone #: [9]\n        else\n            hide\n        end\n    end\nend\nif <(Clone ID) = [10]> then\n    forever\n        if <not <<(☁ P10) = [0]> or <(player #) = [10]>>> then\n            position clone #: [10]\n        else\n            hide\n        end\n    end\nend\n\nwhen I receive [start project v]\ndelete all of [x positions v]\ninsert [] at (1) of [x positions v] \ninsert [] at (2) of [x positions v] \ninsert [] at (3) of [x positions v] \ninsert [] at (4) of [x positions v] \ninsert [] at (5) of [x positions v] \ninsert [] at (6) of [x positions v] \ninsert [] at (7) of [x positions v] \ninsert [] at (8) of [x positions v] \ninsert [] at (9) of [x positions v] \ninsert [] at (10) of [x positions v] \ndelete all of [y positions v]\ninsert [] at (1) of [y positions v] \ninsert [] at (2) of [y positions v] \ninsert [] at (3) of [y positions v] \ninsert [] at (4) of [y positions v] \ninsert [] at (5) of [y positions v] \ninsert [] at (6) of [y positions v] \ninsert [] at (7) of [y positions v] \ninsert [] at (8) of [y positions v] \ninsert [] at (9) of [y positions v] \ninsert [] at (10) of [y positions v] \ndelete all of [usernames v]\ninsert [] at (1) of [usernames v] \ninsert [] at (2) of [usernames v] \ninsert [] at (3) of [usernames v] \ninsert [] at (4) of [usernames v] \ninsert [] at (5) of [usernames v] \ninsert [] at (6) of [usernames v] \ninsert [] at (7) of [usernames v] \ninsert [] at (8) of [usernames v] \ninsert [] at (9) of [usernames v] \ninsert [] at (10) of [usernames v] \ndelete all of [levels v]\ninsert [] at (1) of [levels v] \ninsert [] at (2) of [levels v] \ninsert [] at (3) of [levels v] \ninsert [] at (4) of [levels v] \ninsert [] at (5) of [levels v] \ninsert [] at (6) of [levels v] \ninsert [] at (7) of [levels v] \ninsert [] at (8) of [levels v] \ninsert [] at (9) of [levels v] \ninsert [] at (10) of [levels v] \ndelete all of [costumes v]\ninsert [] at (1) of [costumes v] \ninsert [] at (2) of [costumes v] \ninsert [] at (3) of [costumes v] \ninsert [] at (4) of [costumes v] \ninsert [] at (5) of [costumes v] \ninsert [] at (6) of [costumes v] \ninsert [] at (7) of [costumes v] \ninsert [] at (8) of [costumes v] \ninsert [] at (9) of [costumes v] \ninsert [] at (10) of [costumes v] \ndelete all of [directions v]\ninsert [] at (1) of [directions v] \ninsert [] at (2) of [directions v] \ninsert [] at (3) of [directions v] \ninsert [] at (4) of [directions v] \ninsert [] at (5) of [directions v] \ninsert [] at (6) of [directions v] \ninsert [] at (7) of [directions v] \ninsert [] at (8) of [directions v] \ninsert [] at (9) of [directions v] \ninsert [] at (10) of [directions v] \nset size to (100) %\nhide\nset [clone id v] to [0]\nrepeat (10)\n    change [clone id v] by (1)\n    create clone of (_myself_ v)\nend\n\n@Intro\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\npoint in direction (90)\nswitch costume to (white4 v)\nclear graphic effects\nset size to (100) %\nClone [Skip thingy]\nwait (1.85) seconds\nstart sound [TheFatRat - Monody.mp3 v]\nwait (.25) seconds\nClone [Green thing]\nwait (1.2) seconds\nset [# for white stuff v] to [1]\nbroadcast (intro delete thing v)\nClone [Background]\nrepeat (4)\n    Clone (join [White stuff] (# for white stuff))\n    change [# for white stuff v] by (1)\n    wait (.1) seconds\nend\nbroadcast (intro white stuff thing v)\nwait (.6) seconds\nClone [Logo]\n\ndefine Clone (name)\nset [intro: clone id v] to (name)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nif <(Intro: Clone ID) = [Green thing]> then\n    switch costume to (green thing v)\n    show\n    go to x: (0) y: (-500)\n    set size to (30) %\n    point in direction (165)\n    repeat until <<<(round (y position)) = [0]> and <(round (direction)) = [90]>> and <(round (size)) = [100]>>\n        change y by (((0) - (round (y position))) / (5))\n        turn right (((90) - (round (direction))) / (5)) degrees\n        change size by (((100) - (round (size))) / (5))\n    end\n    repeat until <(size) = [1000]>\n        switch costume to (nothing v)\n        change size by (((1100) - (size)) / (5))\n        switch costume to (green thing v)\n    end\n    go to [back v] layer\nend\nif <(Intro: Clone ID) = [Background]> then\n    switch costume to (background v)\n    show\n    go to x: (0) y: (0)\n    forever\n        go to [back v] layer\n    end\nend\nif < (Intro: Clone ID) contains [White stuff]?> then\n    if <(# for white stuff) = [1]> then\n        switch costume to (white1 v)\n    else\n        if <(# for white stuff) = [2]> then\n            switch costume to (white2 v)\n        else\n            if <(# for white stuff) = [3]> then\n                switch costume to (white3 v)\n            else\n                if <(# for white stuff) = [4]> then\n                    switch costume to (white4 v)\n                end\n            end\n        end\n    end\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    set size to (80) %\n    repeat (10)\n        change [ghost v] effect by (-10)\n        change size by (2)\n    end\nend\nif <(Intro: Clone ID) = [Logo]> then\n    switch costume to (logo v)\n    show\n    clear graphic effects\n    go to [front v] layer\n    go to x: (0) y: (-500)\n    reset timer\n    Clone [White line3]\n    Clone [White line4]\n    Clone [White line1]\n    Clone [White line2]\n    repeat (20)\n        point in direction (((([tan v] of ((timer) * (120)) ) * (30)) * (-1)) + (90))\n        change y by (([tan v] of ((timer) * (100)) ) * (18))\n    end\n    set [y pos v] to (y position)\n    Side confetti\n    go to x: (0) y: (Y Pos)\n    repeat (25)\n        point in direction (((([tan v] of ((timer) * (120)) ) * (30)) * (-1)) + (90))\n    end\n    set [bounce v] to ((11) * (1.5))\n    set [bounce2 v] to (((90) - (direction)) * (1.5))\n    set [bounce3 v] to (((100) - (size)) * (1.5))\n    Confetti\n    Clone [Text]\n    Clone [Dot thingy]\n    Clone [Other white thing]\n    repeat (50)\n        go to [front v] layer\n        go [backward v] (1) layers\n        set [bounce v] to (((Bounce) * (.9)) + (((0) - (y position)) / (8)))\n        set [bounce2 v] to (((Bounce2) * (.9)) + (((90) - (direction)) / (8)))\n        set [bounce3 v] to (((Bounce3) * (.9)) + (((100) - (size)) / (8)))\n        change y by (Bounce)\n        turn right (Bounce2) degrees\n        change size by (Bounce3)\n    end\n    forever\n        show\n    end\nend\nif <(Intro: Clone ID) = [Confetti]> then\n    switch costume to (pick random (6) to (8))\n    set size to (pick random (50) to (95)) %\n    clear graphic effects\n    show\n    go to x: (0) y: (0)\n    set [confetti gravity v] to (pick random (8) to (18))\n    set [confetti momentum v] to (pick random (-20) to (20))\n    repeat until <(y position) < [-175]>\n        set [confetti momentum v] to ((Confetti momentum) * (.9))\n        change [confetti gravity v] by (-1)\n        change x by (Confetti momentum)\n        change y by (Confetti gravity)\n        turn right ((Confetti momentum) - (Confetti gravity)) degrees\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [Text]> then\n    switch costume to (text v)\n    clear graphic effects\n    show\n    go to x: (0) y: (0)\n    set [bounce v] to (((110) - (size)) * (1.5))\n    set [bounce2 v] to (((90) - (direction)) * (1.5))\n    repeat (50)\n        go to [front v] layer\n        set [bounce v] to (((Bounce) * (.9)) + (((110) - (size)) / (8)))\n        set [bounce2 v] to (((Bounce2) * (.9)) + (((90) - (direction)) / (8)))\n        turn right (Bounce2) degrees\n        change size by (Bounce)\n    end\n    broadcast (intro next message v)\nend\nif <(Intro: Clone ID) = [Explosion]> then\n    switch costume to (pick random (12) to (14))\n    clear graphic effects\n    set size to (pick random (50) to (95)) %\n    show\n    go to x: (0) y: (0)\n    set [confetti gravity v] to (pick random (pick random (-6) to (-5)) to (pick random (5) to (6)))\n    set [confetti momentum v] to (pick random (pick random (-6) to (-5)) to (pick random (5) to (6)))\n    repeat (50)\n        set [confetti momentum v] to ((Confetti momentum) * (.99))\n        change [confetti gravity v] by ((<[0] > (Confetti gravity)> - <(Confetti gravity) > [0]>) * (.1))\n        change x by (Confetti momentum)\n        change y by (Confetti gravity)\n        turn right ((Confetti momentum) - (Confetti gravity)) degrees\n    end\n    repeat (10)\n        change [ghost v] effect by (10)\n        change size by (2)\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [En]> then\n    switch costume to (en v)\n    clear graphic effects\n    set size to (100) %\n    go to [front v] layer\n    show\n    point in direction (90)\n    set [bounce v] to ((0) - (y position))\n    repeat (150)\n        set [bounce v] to (((Bounce) * (.9)) + (((0) - (y position)) / (10)))\n        change y by (Bounce)\n    end\n    wait (.1) seconds\n    repeat until <(y position) < [-200]>\n        change y by (((-400) - (y position)) / (10))\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [Joy]> then\n    Clone [Line thingy]\n    switch costume to (joy v)\n    clear graphic effects\n    set size to (100) %\n    go to [front v] layer\n    show\n    point in direction (90)\n    go to x: (0) y: (200)\n    set [bounce v] to ((0) - (y position))\n    repeat (150)\n        set [bounce v] to (((Bounce) * (.9)) + (((0) - (y position)) / (10)))\n        change y by (Bounce)\n    end\n    wait (.1) seconds\n    repeat until <[200] < (y position)>\n        change y by (((400) - (y position)) / (10))\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [Line thingy]> then\n    switch costume to (line thingy v)\n    clear graphic effects\n    set size to (0) %\n    go to [front v] layer\n    show\n    go to x: (0) y: (0)\n    point in direction (90)\n    repeat until <(size) > [400]>\n        switch costume to (nothing v)\n        change size by (((400) - (size)) / (20))\n        switch costume to (line thingy v)\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [Dot thingy]> then\n    switch costume to (dot thingy v)\n    clear graphic effects\n    set size to (0) %\n    go to [front v] layer\n    show\n    set [ghost v] effect to (25)\n    go to x: (0) y: (0)\n    point in direction (90)\n    repeat until <(size) > [400]>\n        switch costume to (nothing v)\n        change size by (((500) - (size)) / (10))\n        switch costume to (dot thingy v)\n        turn right (((500) - (size)) / (25)) degrees\n    end\n    repeat (4)\n        change [ghost v] effect by (25)\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [Other white thing]> then\n    switch costume to (other white thing v)\n    clear graphic effects\n    set size to (100) %\n    show\n    set [bounce v] to ((120) - (size))\n    set [bounce2 v] to ((90) - (direction))\n    point in direction (0)\n    Clone [Line thingy]\n    repeat (60)\n        set [bounce v] to (((Bounce) * (.9)) + (((110) - (size)) / (8)))\n        set [bounce2 v] to (((Bounce2) * (.9)) + (((90) - (direction)) / (8)))\n        turn right (Bounce2) degrees\n        change size by (Bounce)\n    end\n    repeat until <(size) > [425]>\n        switch costume to (nothing v)\n        change size by (((425) - (size)) / (10))\n        switch costume to (other white thing v)\n        turn right (((425) - (size)) / (25)) degrees\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [Side confetti]> then\n    switch costume to (pick random (22) to (23))\n    clear graphic effects\n    set size to (100) %\n    show\n    set [confetti gravity v] to (pick random (8) to (16))\n    set [confetti momentum v] to ((x position) / (pick random (-14) to (-24)))\n    repeat until <(y position) < [-175]>\n        set [confetti momentum v] to ((Confetti momentum) * (.9))\n        change [confetti gravity v] by (-1)\n        change x by (Confetti momentum)\n        change y by (Confetti gravity)\n        turn right ((Confetti momentum) - (Confetti gravity)) degrees\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [White line1]> then\n    switch costume to (white line v)\n    clear graphic effects\n    set size to (100) %\n    set [ghost v] effect to (50)\n    show\n    go to x: (150) y: (-250)\n    repeat until <(round (y position)) = [0]>\n        change y by (((0) - (y position)) / (8))\n        change [ghost v] effect by (-5)\n    end\n    repeat until <(y position) > [200]>\n        change y by (((300) - (y position)) / (8))\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [White line2]> then\n    switch costume to (white line v)\n    clear graphic effects\n    set size to (100) %\n    set [ghost v] effect to (50)\n    show\n    go to x: (-150) y: (250)\n    repeat until <(round (y position)) = [0]>\n        change y by (((0) - (y position)) / (8))\n        change [ghost v] effect by (-5)\n    end\n    repeat until <[-200] > (y position)>\n        change y by (((-300) - (y position)) / (8))\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [White line3]> then\n    switch costume to (white line2 v)\n    clear graphic effects\n    set size to (100) %\n    set [ghost v] effect to (50)\n    show\n    go to x: (-250) y: (140)\n    repeat until <(round (x position)) = [0]>\n        change x by (((0) - (x position)) / (8))\n        change [ghost v] effect by (-5)\n    end\n    repeat until <(x position) > [200]>\n        change x by (((300) - (x position)) / (8))\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [White line4]> then\n    switch costume to (white line2 v)\n    clear graphic effects\n    set size to (100) %\n    set [ghost v] effect to (50)\n    show\n    go to x: (250) y: (-140)\n    repeat until <(round (x position)) = [0]>\n        change x by (((0) - (x position)) / (8))\n        change [ghost v] effect by (-5)\n    end\n    repeat until <[-200] > (x position)>\n        change x by (((-300) - (x position)) / (8))\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\nif <(Intro: Clone ID) = [Skip thingy]> then\n    switch costume to (skip thingy v)\n    clear graphic effects\n    set size to (70) %\n    set [ghost v] effect to (50)\n    show\n    go to x: (0) y: (-181)\n    repeat until <(round (y position)) = [0]>\n        change y by (((0) - (y position)) / (8))\n        change [ghost v] effect by (-5)\n        change size by (((100) - (size)) / (8))\n    end\n    wait (.1) seconds\n    repeat until <(y position) > [175]>\n        change y by (((200) - (y position)) / (8))\n        change [ghost v] effect by (5)\n        change size by (-1)\n    end\n    delete this clone\nend\n\ndefine Confetti\nrepeat (20)\n    Clone [Confetti]\nend\n\nwhen flag clicked\ndelete this clone\n\ndefine Explosion\nrepeat (20)\n    Clone [Explosion]\nend\n\nwhen I receive [intro next message v]\nif <(costume [name v]) = [Logo]> then\n    go to x: (0) y: (-200)\n    Clone [En]\n    set y to (0)\n    wait (.1) seconds\n    Clone [Joy]\n    reset timer\n    repeat (45)\n        point in direction (((([tan v] of ((timer) * (120)) ) * (30)) * (-1)) + (90))\n        set y to ((([tan v] of ((timer) * (100)) ) * (30)) * (-1))\n    end\n    Explosion\n    set [bounce v] to (((120) - (size)) * (1.5))\n    set [bounce2 v] to (((90) - (direction)) * (1.5))\n    set [bounce3 v] to (((0) - (y position)) * (1.5))\n    point in direction (0)\n    repeat (50)\n        set [bounce v] to (((Bounce) * (.9)) + (((110) - (size)) / (8)))\n        set [bounce2 v] to (((Bounce2) * (.9)) + (((90) - (direction)) / (8)))\n        set [bounce3 v] to (((Bounce3) * (.9)) + (((0) - (y position)) / (8)))\n        turn right (Bounce2) degrees\n        change size by (Bounce)\n        change y by (Bounce3)\n    end\n    Confetti\n    set [logo gravity v] to [16]\n    point in direction (90)\n    set size to (100) %\n    reset timer\n    repeat until <(y position) < [-220]>\n        change y by (Logo gravity)\n        change [logo gravity v] by (-1)\n        change size by ((Logo gravity) / (8))\n        point in direction ((([tan v] of ((timer) * (120)) ) * (30)) + (90))\n    end\n    hide\n    go to x: (0) y: (0)\n    point in direction (90)\n    clear graphic effects\n    set size to (100) %\n    set [ghost v] effect to (100)\n    set [# for white stuff v] to [1]\n    broadcast (intro delete all v)\n    wait (.1) seconds\n    repeat (4)\n        Clone (join [White stuff] (# for white stuff))\n        change [# for white stuff v] by (1)\n        wait (.1) seconds\n    end\nend\nif <(costume [name v]) = [Text]> then\n    go to [back v] layer\n    repeat until <(y position) < [-175]>\n        change y by (((-500) - (y position)) / (10))\n    end\n    delete this clone\nend\nif <(costume [name v]) = [Background]> then\n    wait (1.75) seconds\n    set [bounce v] to ((130) - (size))\n    set [bounce2 v] to ((90) - (direction))\n    point in direction (0)\n    Clone [Line thingy]\n    repeat (50)\n        set [bounce v] to (((Bounce) * (.9)) + (((110) - (size)) / (8)))\n        set [bounce2 v] to (((Bounce2) * (.9)) + (((90) - (direction)) / (8)))\n        turn right (Bounce2) degrees\n        change size by (Bounce)\n    end\nend\n\nwhen I receive [intro delete thing v]\nif <(costume [name v]) = [Green thing]> then\n    wait (.6) seconds\n    delete this clone\nend\n\nwhen I receive [intro white stuff thing v]\nif < (costume [name v]) contains [White]?> then\n    wait (join [.] (letter (6) of (costume [name v]))) seconds\n    repeat until <(y position) < [-345]>\n        change y by (((-500) - (y position)) / (10))\n    end\n    repeat (4)\n        change [ghost v] effect by (25)\n    end\n    delete this clone\nend\n\nwhen I receive [intro delete all v]\nwait (1.2) seconds\nstop [other scripts in sprite v]\nif <(costume [name v]) = [Logo]> then\n    broadcast (Start project v)\nend\ndelete this clone\n\ndefine Side confetti\nrepeat (15)\n    go to x: (-240) y: (-50)\n    Clone [Side confetti]\n    go to x: (240) y: (-50)\n    Clone [Side confetti]\nend\n\nwhen flag clicked\nforever\n    if <key (space v) pressed?> then\n        broadcast (intro skipped v)\n    end\nend\n\nwhen I receive [intro skipped v]\nstop [other scripts in sprite v]\nstop all sounds\nbroadcast (Start project v)\ndelete this clone\n\nwhen I receive [start project v]\nstop [other scripts in sprite v]\ndelete this clone\n\n
SKIN POWERS ARE DOWN BELOW\n1. Arrow keys/WASD/Mobile to move.\n2. Space/Attack button to attack and defeat piranhas. NOTE: ATTACKS CANNOT DEFEAT SHARKS, THEY CAN ONLY SUBDUE THEM\n3. Swim in water (down/s/mobile makes you go down).\n4. Avoid geysers (unless you have the wave skin), piranhas, and sharks.\n5. Waves push you around (unless you have the wave skin).\n6. Collect coins and buy skins from the shop to gain special abilities.\n-The WAVE SKIN can move faster in water, is unaffected by waves, is immune to geysers (although they might push you up), and can attack with a wave ability\n-The BOAT SKIN can move faster than the others and boost itself forward with a boat, which is also its attack. The boat boosts you extra fast if you're in water\n-The TREE SKIN can jump higher and fall slower than the others and can boost itself with a tree, which is also its attack