☁Warmland - 100%pen MMO platformer☁ v0.999


@Stage\n\nwhen [space v] key pressed\nset [quantity of every time elements v] to [2]\nset [quantity of only one time elements v] to [2]\nset [☁ 1 v] to []\nset [☁ 2 v] to []\nset [☁ 3 v] to []\nset [☁ 4 v] to []\nset [☁ 5 v] to []\nset [☁ 6 v] to []\nset [☁ 7 v] to []\nset [☁ 8 v] to []\nset [☁ 9 v] to []\nset [☁ 10 v] to []\n\nwhen flag clicked\nreset timer\nif <(clicked?) = [0]> then\n    broadcast (\[#1.intro for me by xX_Freezer_Xx\] v) and wait\n    set [clicked? v] to [1]\nend\nreset timer\nbroadcast (load v)\n\nwhen flag clicked\n\nwhen I receive [goal v]\nrepeat (500)\n    change volume by (-0.2)\nend\n\nwhen I receive [load v]\nforever\n    play sound [New start! \(1\) \(1\) v] until done\nend\n\nwhen I receive [load v]\nset volume to (0) %\nrepeat (10)\n    change volume by (10)\nend\n\nwhen I receive [setup2 v]\nset [clicked? v] to [0]\n\nbroadcast (setup2 v)\n\n@blank\n\n@cloud\n\ndefine encoded (character)\nset [encode i v] to [0]\nrepeat until <(encode i) = (length of (character))>\n    change [encode i v] by (1)\n    set [encoded v] to (join (encoded) (item # of (letter (encode i) of (character)) in [character v]))\nend\nset [encoded v] to (join (encoded) [00])\n\ndefine decode (num)\nset [decoded v] to []\n\n    change [decode i v] by (2)\n    set [idx v] to (join (letter ((decode i) - (1)) of (num)) (letter (decode i) of (num)))\n    if <(idx) = [00]> then\n        stop [this script v]\n    end\n    set [decoded v] to (join (decoded) (item (idx) of [character v]))\nend\n\ndefine ☁cloud datas\ndownload from cloud\nrecord my datas\ndecode\nif <(timer) > (time to send datas)> then\n    encode\n    send to cloud (pick random (1) to (10)) (encoded)\n    change [time to send datas v] by (pick random (0.2) to (0.3))\n    delete all of [datas which will be sended v]\nend\nif <(timer) > (time to check active users)> then\n    active check\n    record user's timer\n    change [time to check active users v] by (3)\nend\n\ndefine setup\nset [clone count v] to [0]\nset [myid v] to (pick random (100000) to (1000000))\nset [quantity of every time elements v] to [4]\nset [quantity of only one time elements v] to [3]\ndelete all of [users v]\ndelete all of [datas which will be sended v]\ndelete all of [user's timer v]\ndelete all of [clones v]\nset [log v] to (((days since 2000) * (86400)) * (1000))\nset [timer v] to [0]\nset [time to send datas v] to (pick random (0.1) to (0.15))\nset [time to check active users v] to [0]\nadd characters to the list [abcdefghijklmnopqrstuvwxyz0123456789-_.+ ]\ndelete all of [cloud datas v]\ndelete all of [decode result v]\ndelete all of [cloud pid v]\nrepeat (10)\n    add [] to [cloud pid v]\n    add [#] to [cloud datas v]\nend\nrepeat (10)\n    add [] to [cloud datas v]\nend\nreplace item (11) of [cloud datas v] with (join [#] (☁ 1))\nreplace item (12) of [cloud datas v] with (join [#] (☁ 2))\nreplace item (13) of [cloud datas v] with (join [#] (☁ 3))\nreplace item (14) of [cloud datas v] with (join [#] (☁ 4))\nreplace item (15) of [cloud datas v] with (join [#] (☁ 5))\nreplace item (16) of [cloud datas v] with (join [#] (☁ 6))\nreplace item (17) of [cloud datas v] with (join [#] (☁ 7))\nreplace item (18) of [cloud datas v] with (join [#] (☁ 8))\nreplace item (19) of [cloud datas v] with (join [#] (☁ 9))\nreplace item (20) of [cloud datas v] with (join [#] (☁ 10))\n\ndefine download from cloud\nif <not <(join [#] (☁ 1)) = (item (11) of [cloud datas v])>> then\n    replace item (1) of [cloud datas v] with (join [#] (☁ 1))\nend\nif <not <(join [#] (☁ 2)) = (item (12) of [cloud datas v])>> then\n    replace item (2) of [cloud datas v] with (join [#] (☁ 2))\nend\nif <not <(join [#] (☁ 3)) = (item (13) of [cloud datas v])>> then\n    replace item (3) of [cloud datas v] with (join [#] (☁ 3))\nend\nif <not <(join [#] (☁ 4)) = (item (14) of [cloud datas v])>> then\n    replace item (4) of [cloud datas v] with (join [#] (☁ 4))\nend\nif <not <(join [#] (☁ 5)) = (item (15) of [cloud datas v])>> then\n    replace item (5) of [cloud datas v] with (join [#] (☁ 5))\nend\nif <not <(join [#] (☁ 6)) = (item (16) of [cloud datas v])>> then\n    replace item (6) of [cloud datas v] with (join [#] (☁ 6))\nend\nif <not <(join [#] (☁ 7)) = (item (17) of [cloud datas v])>> then\n    replace item (7) of [cloud datas v] with (join [#] (☁ 7))\nend\nif <not <(join [#] (☁ 8)) = (item (18) of [cloud datas v])>> then\n    replace item (8) of [cloud datas v] with (join [#] (☁ 8))\nend\nif <not <(join [#] (☁ 9)) = (item (19) of [cloud datas v])>> then\n    replace item (9) of [cloud datas v] with (join [#] (☁ 9))\nend\nif <not <(join [#] (☁ 10)) = (item (20) of [cloud datas v])>> then\n    replace item (10) of [cloud datas v] with (join [#] (☁ 10))\nend\n\ndefine record my datas\nif <(length of [datas which will be sended v]) = [0]> then\n    add (myid) to [datas which will be sended v]\n    add (timer) to [datas which will be sended v]\n    add (username) to [datas which will be sended v]\nend\nadd (round (x)) to [datas which will be sended v]\nadd (round (y)) to [datas which will be sended v]\nadd (dire) to [datas which will be sended v]\nadd (chat) to [datas which will be sended v]\n\ndefine encode\nset [encoded v] to []\nset [encode i2 v] to [0]\nrepeat (length of [datas which will be sended v])\n    change [encode i2 v] by (1)\n    encoded (item (encode i2) of [datas which will be sended v])\nend\n\ndefine send to cloud (cloud name) (num)\nif <(cloud name) = [1]> then\n    set [☁ 1 v] to (num)\nelse\n    if <(cloud name) = [2]> then\n        set [☁ 2 v] to (num)\n    else\n        if <(cloud name) = [3]> then\n            set [☁ 3 v] to (num)\n        else\n            if <(cloud name) = [4]> then\n                set [☁ 4 v] to (num)\n            else\n                if <(cloud name) = [5]> then\n                    set [☁ 5 v] to (num)\n                else\n                    if <(cloud name) = [6]> then\n                        set [☁ 6 v] to (num)\n                    else\n                        if <(cloud name) = [7]> then\n                            set [☁ 7 v] to (num)\n                        else\n                            if <(cloud name) = [8]> then\n                                set [☁ 8 v] to (num)\n                            else\n                                if <(cloud name) = [9]> then\n                                    set [☁ 9 v] to (num)\n                                else\n                                    if <(cloud name) = [10]> then\n                                        set [☁ 10 v] to (num)\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine add characters to the list (characters)\ndelete all of [character v]\nset [encode i v] to [0]\nrepeat (9)\n    add [] to [character v]\nend\n\n    change [encode i v] by (1)\n    if <(encode i) = (length of (characters))> then\n        stop [this script v]\n    end\n    add (letter (encode i) of (characters)) to [character v]\nend\n\nwhen I receive [load v]\nset [loaded? v] to [0]\nsetup\nset [loaded? v] to [1]\nbroadcast (game v)\n\nwhen I receive [game v]\nforever\n    ☁cloud datas\n    broadcast (tick v)\nend\n\nwhen I receive [load v]\nforever\n    set [timer v] to (((((days since 2000) * (86400)) * (1000)) - (log)) / (1000))\nend\n\ndefine decode\nset [decode i2 v] to [0]\nrepeat (10)\n    change [decode i2 v] by (1)\n    if <(item (decode i2) of [cloud datas v]) = [#]> then\n        replace item (decode i2) of [cloud pid v] with []\n    else\n        delete all of [returns v]\n        set [decode i v] to [1]\n        repeat (quantity of only one time elements)\n            decode (item (decode i2) of [cloud datas v])\n            add (decoded) to [returns v]\n        end\n        searchindex of pid (item (1) of [returns v])\n        replace item (decode i2) of [cloud pid v] with (item (1) of [returns v])\n        if <(index of pid) = [0]> then\n            if <not <(join [#] (item (1) of [returns v])) = (join [#] (myid))>> then\n                add (decode i2) to [decode result v]\n                add (decode i) to [decode result v]\n                add (item (decode i2) of [cloud datas v]) to [decode result v]\n                set [decode i3 v] to [0]\n                repeat (length of [returns v])\n                    change [decode i3 v] by (1)\n                    add (item (decode i3) of [returns v]) to [decode result v]\n                end\n            end\n        else\n            set [posision of data v] to ((index of pid) - (4))\n            if <(item (2) of [returns v]) > (item ((posision of data) + (5)) of [decode result v])> then\n                replace item ((posision of data) + (1)) of [decode result v] with (decode i2)\n                replace item ((posision of data) + (2)) of [decode result v] with (decode i)\n                replace item ((posision of data) + (3)) of [decode result v] with (item (decode i2) of [cloud datas v])\n                set [decode i3 v] to [0]\n                repeat (length of [returns v])\n                    change [decode i3 v] by (1)\n                    replace item (((posision of data) + (3)) + (decode i3)) of [decode result v] with (item (decode i3) of [returns v])\n                end\n            end\n        end\n    end\nend\nset [decode i2 v] to [0]\nrepeat ((length of [decode result v]) / ((quantity of only one time elements) + (3)))\n    if <not <[clones v] contains (item ((decode i2) + (4)) of [decode result v])?>> then\n        set [urid v] to (item ((decode i2) + (4)) of [decode result v])\n        create clone of (opponents v)\n        change [clone count v] by (1)\n        add (item ((decode i2) + (4)) of [decode result v]) to [users v]\n        repeat (quantity of every time elements)\n            add [] to [users v]\n        end\n        add (item ((decode i2) + (6)) of [decode result v]) to [users v]\n    end\n    change [decode i2 v] by ((quantity of only one time elements) + (3))\nend\n\ndefine active check\nset [active check i v] to [0]\nrepeat ((length of [user's timer v]) / (3))\n    searchindex of pid (item ((active check i) + (2)) of [user's timer v])\n    set [active check posision v] to ((index of pid) - (4))\n    if <(join (item ((active check i) + (3)) of [user's timer v]) [a]) = (join (item ((active check posision) + (5)) of [decode result v]) [a])> then\n        set [active check i2 v] to [0]\n        repeat (10)\n            change [active check i2 v] by (1)\n            if <(item ((active check i) + (2)) of [user's timer v]) = (item (active check i2) of [cloud pid v])> then\n                send to cloud (active check i2) []\n            end\n        end\n        repeat ((quantity of only one time elements) + (3))\n            delete ((active check posision) + (1)) of [decode result v]\n        end\n    end\n    change [active check i v] by (3)\nend\n\ndefine searchindex of pid (pid)\nset [index of pid v] to [4]\nrepeat ((length of [decode result v]) / ((quantity of only one time elements) + (3)))\n    if <(join (item (index of pid) of [decode result v]) [a]) = (join (pid) [a])> then\n        stop [this script v]\n    end\n    change [index of pid v] by ((quantity of only one time elements) + (3))\nend\nset [index of pid v] to [0]\n\ndefine record user's timer\ndelete all of [user's timer v]\nset [record i v] to [0]\nrepeat ((length of [decode result v]) / ((quantity of only one time elements) + (3)))\n    add (item ((record i) + (1)) of [decode result v]) to [user's timer v]\n    add (item ((record i) + (4)) of [decode result v]) to [user's timer v]\n    add (item ((record i) + (5)) of [decode result v]) to [user's timer v]\n    change [record i v] by ((quantity of only one time elements) + (3))\nend\n\nadd characters to the list [abcdefghijklmnopqrstuvwxyz0123456789_- ]\n\nwhen I receive [game v]\n\n@opponents\n\nwhen I start as a clone\nset\nwait until <not <(length of [mydecoded v]) = [0]>>\n\n    searchindex of pid (my id)\n    if <(index of pid) = [0]> then\n        if <(delete forecast) = [1]> then\n            if <(timer) > (time to check)> then\n                delete\n            end\n        else\n            set [delete forecast v] to [1]\n            set [time to check v] to ((timer) + (1))\n        end\n    else\n        set [delete forecast v] to [0]\n        clone\n    end\nend\n\ndefine decode (num)\nset [decoded v] to []\n\n    change [decode i v] by (2)\n    set [idx v] to (join (letter ((decode i) - (1)) of (num)) (letter (decode i) of (num)))\n    if <(idx) = [00]> then\n        stop [this script v]\n    end\n    set [decoded v] to (join (decoded) (item (idx) of [character v]))\nend\n\ndefine set\nset [delete forecast v] to [0]\nset [mytimer v] to [0]\nset [started? v] to [0]\nset [is clone? v] to [1]\nset [my id v] to (urid)\nif <[clones v] contains (my id)?> then\n    delete this clone\nend\nadd (my id) to [clones v]\ndelete all of [mydecoded v]\ndelete all of [myclouddatas v]\nrepeat (quantity of every time elements)\n    add [] to [mydecoded v]\nend\n\ndefine clone\nadd datas\ndecode\nif <(timer) > [6.1]> then\n    set [add lister v] to [0]\n    repeat (quantity of every time elements)\n        change [add lister v] by (1)\n        replace item ((item # of (my id) in [users v]) + (add lister)) of [users v] with (item (add lister) of [mydecoded v])\n    end\nend\n\nwhen I receive [load v]\nset [is clone? v] to [0]\nhide\n\ndefine decode\nif <not <(length of [myclouddatas v]) = [0]>> then\n    set [decode i v] to (item (1) of [myclouddatas v])\n    set [i v] to [0]\n    repeat (quantity of every time elements)\n        change [i v] by (1)\n        decode (item (2) of [myclouddatas v])\n        replace item (i) of [mydecoded v] with (decoded)\n    end\n    replace item (1) of [myclouddatas v] with (decode i)\n    if <<(item (1) of [myclouddatas v]) = (length of (item (2) of [myclouddatas v]))> or <(item (1) of [myclouddatas v]) > (length of (item (2) of [myclouddatas v]))>> then\n        repeat (2)\n            delete (1) of [myclouddatas v]\n        end\n    end\nend\n\ndefine add datas\nsearchindex of pid (my id)\nset [pos v] to ((index of pid) - (4))\nif <not <[myclouddatas v] contains (join (item ((pos) + (3)) of [decode result v]) [])?>> then\n    if <(item ((pos) + (5)) of [decode result v]) > (mytimer)> then\n        add (item ((pos) + (2)) of [decode result v]) to [myclouddatas v]\n        add (item ((pos) + (3)) of [decode result v]) to [myclouddatas v]\n        set [mytimer v] to (item ((pos) + (5)) of [decode result v])\n    end\nend\n\ndefine searchindex of pid (pid)\nset [index of pid v] to [4]\nrepeat ((length of [decode result v]) / ((quantity of only one time elements) + (3)))\n    if <(join (item (index of pid) of [decode result v]) [a]) = (join (pid) [a])> then\n        stop [this script v]\n    end\n    change [index of pid v] by ((quantity of only one time elements) + (3))\nend\nset [index of pid v] to [0]\n\ndefine delete\ndelete (item # of (my id) in [clones v]) of [clones v]\nset [add lister v] to (item # of (my id) in [users v])\nrepeat ((quantity of every time elements) + (2))\n    delete (add lister) of [users v]\nend\nchange [clone count v] by (-1)\ndelete this clone\n\n@pen\n\ndefine triangle fill (x1) (y1) (x2) (y2) (x3) (y3) (res)\npen up\nset [1 to 2 v] to ([sqrt v] of ((((x1) - (x2)) * ((x1) - (x2))) + (((y1) - (y2)) * ((y1) - (y2)))) )\nset [1 to 3 v] to ([sqrt v] of ((((x1) - (x3)) * ((x1) - (x3))) + (((y1) - (y3)) * ((y1) - (y3)))) )\nset [2 to 3 v] to ([sqrt v] of ((((x2) - (x3)) * ((x2) - (x3))) + (((y2) - (y3)) * ((y2) - (y3)))) )\nset [1~3 v] to ((1 to 2) + ((1 to 3) + (2 to 3)))\nset [center of x v] to ((((1 to 2) * (x3)) + (((1 to 3) * (x2)) + ((2 to 3) * (x1)))) / (1~3))\nset [center of y v] to ((((1 to 2) * (y3)) + (((1 to 3) * (y2)) + ((2 to 3) * (y1)))) / (1~3))\nset [size of pen v] to (((4) * ([sqrt v] of (((1~3) / (2)) * ((((1~3) / (2)) - (1 to 2)) * ((((1~3) / (2)) - (1 to 3)) * (((1~3) / (2)) - (2 to 3))))) )) / (1~3))\nset [make pen smaller v] to [0.5]\n\n    set pen size to ((size of pen) * (make pen smaller))\n    go to ((x1) - ((make pen smaller) * ((x1) - (center of x)))) ((y1) - ((make pen smaller) * ((y1) - (center of y))))\n    pen down\n    go to ((x2) - ((make pen smaller) * ((x2) - (center of x)))) ((y2) - ((make pen smaller) * ((y2) - (center of y))))\n    go to ((x3) - ((make pen smaller) * ((x3) - (center of x)))) ((y3) - ((make pen smaller) * ((y3) - (center of y))))\n    go to ((x1) - ((make pen smaller) * ((x1) - (center of x)))) ((y1) - ((make pen smaller) * ((y1) - (center of y))))\n    pen up\n    if <((size of pen) * (make pen smaller)) < (res)> then\n        stop [this script v]\n    end\n    set [make pen smaller v] to ((make pen smaller) / (2))\nend\n\ndefine go to (x) (y)\ngo to x: (x) y: (y)\n\ndefine square fill (x1) (y1) (x2) (y2) (x3) (y3) (x4) (y4) (res)\ntriangle fill (x1) (y1) (x2) (y2) (x3) (y3) (res)\ntriangle fill (x3) (y3) (x4) (y4) (x1) (y1) (res)\n\ndefine add ground (xcenter) (ycenter) (xlength) (ylength) (color) (grass?) (with grass?) move? (y/n) (x2) (y2) (speed)\nadd (xcenter) to [stage data\[square\] v]\nadd (ycenter) to [stage data\[square\] v]\nadd (xlength) to [stage data\[square\] v]\nadd (ylength) to [stage data\[square\] v]\nadd (color) to [stage data\[square\] v]\nadd (with grass?) to [stage data\[square\] v]\nif <(y/n) = []> then\n    repeat (3)\n        add [n] to [stage data\[square\] v]\n    end\n    repeat (4)\n        add [0] to [stage data\[square\] v]\n    end\nelse\n    add (x2) to [stage data\[square\] v]\n    add (y2) to [stage data\[square\] v]\n    add [1] to [stage data\[square\] v]\n    repeat (2)\n        add [0] to [stage data\[square\] v]\n    end\n    add ((360) / (speed)) to [stage data\[square\] v]\n    add [270] to [stage data\[square\] v]\nend\nif <(y/n) = []> then\n    if <not <(grass?) = []>> then\n        set [i v] to [1]\n        repeat (((xlength) * (2)) / (15))\n            add (((xcenter) - (xlength)) + (i)) to [stage data\[grass\] v]\n            add (((ycenter) + (ylength)) - (0)) to [stage data\[grass\] v]\n            add (pick random (5) to (25)) to [stage data\[grass\] v]\n            add [0] to [stage data\[grass\] v]\n            add [0] to [stage data\[grass\] v]\n            add [0] to [stage data\[grass\] v]\n            change [i v] by (15)\n        end\n    end\nend\n\ndefine draw square (x) (y) (xlength) (ylength) (color) <with grass?>\nset pen color to (color)\nsquare fill ((x) + (xlength)) ((y) + (ylength)) ((x) + (xlength)) ((y) - (ylength)) ((x) - (xlength)) ((y) - (ylength)) ((x) - (xlength)) ((y) + (ylength)) [1]\npen up\nif <with grass?> then\n    set pen [#2d8000] [10]\n    go to ((x) + (xlength)) (((y) + (ylength)) - (10))\n    pen down\n    go to ((x) - (xlength)) (((y) + (ylength)) - (10))\n    pen up\n    set pen [#59ff00] [10]\n    go to ((x) + (xlength)) (((y) + (ylength)) - (0))\n    pen down\n    go to ((x) - (xlength)) (((y) + (ylength)) - (0))\n    pen up\nend\n\ndefine draw character (x) (y) (color) (dire)\nset pen (color) [20]\npen up\ngo to ((x) + (15)) ((y) + (15))\npen down\ngo to ((x) + (15)) ((y) - (15))\ngo to ((x) - (15)) ((y) - (15))\ngo to ((x) - (15)) ((y) + (15))\ngo to ((x) + (15)) ((y) + (15))\npen up\nset pen [#ffffff] [35]\ngo to ((x) + (xeye)) ((y) + (yeye))\npen down\npen up\nset pen (color) [15]\ngo to ((x) + ((5) * (dire))) ((y) + (5))\npen down\npen up\nset pen [#ffffff] [5]\ngo to ((x) + ((7) * (dire))) ((y) + (7))\npen down\npen up\n\ndefine pen (draw?)\ndelete all of [moving v]\ndelete all of [hit v]\nif <(draw?) = []> then\n    cloud data\n    erase all\n    draw background\n    draw cloud\n    set [i v] to [0]\n    repeat ((length of [stage data\[tree\] v]) / (3))\n        draw tree (item ((i) + (1)) of [stage data\[tree\] v]) (item ((i) + (2)) of [stage data\[tree\] v]) (item ((i) + (3)) of [stage data\[tree\] v])\n        change [i v] by (3)\n    end\n    change [i3 v] by (3)\n    go to [240] [180]\n    change [sun v] by (([sin v] of (i3) ) * (2))\n    set [i v] to [2]\n    repeat (10)\n        set pen [#ffad50] ((sun) * (i))\n        set pen (transparency v) to (70)\n        pen down\n        pen up\n        set [i v] to ((i) / (2))\n    end\n    flag\n    change [i2 v] by (1)\n    draw grass\n    draw character ((x) - (camx)) ((y) - (camy)) [#005eff] (dire)\n    repeat ((length of [in range users v]) / (5))\n        draw character (item ((i4) + (1)) of [in range users v]) (item ((i4) + (2)) of [in range users v]) [#005eff] (item ((i4) + (3)) of [in range users v])\n    end\nend\nset [i v] to [0]\nrepeat ((length of [stage data\[water\] v]) / (5))\n    draw water (item ((i) + (1)) of [stage data\[water\] v]) (item ((i) + (2)) of [stage data\[water\] v]) (item ((i) + (3)) of [stage data\[water\] v]) (item ((i) + (4)) of [stage data\[water\] v]) (item ((i) + (5)) of [stage data\[water\] v]) pen? (draw?)\n    change [i v] by (5)\nend\ndraw spike <(draw?) = []>\ndraw square <(draw?) = []>\ndraw circle <(draw?) = []>\nif <(timer) > ((chat timer) + (3))> then\n    set [chat v] to [0]\nend\nif <(chat?) = [1]> then\n    set pen color to (#c1c1c1)\n    square fill [-235] [90] [-235] [-90] [-165] [-90] [-165] [90] [2]\n    if <([abs v] of ((mouse x) + (200)) ) < [35]> then\n        set [i v] to [70]\n        repeat (8)\n            if <([abs v] of ((mouse y) + (i)) ) < [5]> then\n                go to [-225] ((i) * (-1))\n                set pen [#313131] [15]\n                set pen (transparency v) to (100)\n                pen down\n                set pen (transparency v) to (50)\n                go to [-175] ((i) * (-1))\n                pen up\n                if <mouse down?> then\n                    if <(timer) > ((chat timer) + (3))> then\n                        set [chat v] to (((((i) * (0.1)) + (7)) / (2)) + (1))\n                        set [chat timer v] to (timer)\n                    end\n                end\n            end\n            change [i v] by (-20)\n        end\n    end\nend\nbroadcast (text v)\n\ndefine game\nif <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > [0]>>> then\n    change [xx v] by (1)\n    set [dire v] to [1]\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < [0]>>> then\n    change [xx v] by (-1)\n    set [dire v] to [-1]\nend\nset [xx v] to ((xx) * (0.9))\nchange [x v] by (xx)\nif <[hit v] contains [#673200]?> then\n    change [y v] by (5)\n    pen [e]\n    if <[hit v] contains [#673200]?> then\n        change [y v] by (-5)\n        change [x v] by ((xx) * (-1))\n        if <[0] < (xx)> then\n            set [xx v] to [-10]\n        else\n            set [xx v] to [10]\n        end\n        set [yy v] to [10]\n    end\nend\nchange [y v] by (5)\nif <<<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [30]>>> and <(land) = [0]>> then\n    if <not <[hit v] contains [#00ffff]?>> then\n        set [yy v] to [15]\n    end\nend\nif <[hit v] contains [#00ffff]?> then\n    change [yy v] by (((0) - (yy)) / (5))\n    if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [30]>>> then\n        change [yy v] by (2)\n    end\n    if <<key (down arrow v) pressed?> or <<mouse down?> and <(mouse y) < [-30]>>> then\n        change [yy v] by (-2)\n    end\nend\nchange [y v] by (-5)\nchange [y v] by (yy)\nchange [yy v] by (-1)\npen [e]\nif <[hit v] contains [#673200]?> then\n    change [y v] by (((yy) * (-1)) - (1))\n    set [yy v] to [0]\n    set [land v] to [0]\nelse\n    set [land v] to [1]\nend\nchange [camx v] by (((x) - (camx)) / (5))\nchange [camy v] by (((y) - (camy)) / (5))\nif <<(y) < [-2000]> or <[hit v] contains [#ff0000]?>> then\n    reset\nend\nif <[hit v] contains [#ffea00]?> then\n    set [yy v] to [30]\nend\nif <[hit v] contains [#cc00ff]?> then\n    set [goal? v] to [1]\nend\nset [movingi v] to [0]\nrepeat ((length of [moving v]) / (2))\n    change [x v] by ((item ((movingi) + (1)) of [moving v]) * (2))\n    change [y v] by ((item ((movingi) + (2)) of [moving v]) * (2))\n    change [movingi v] by (2)\nend\nif <key (c v) pressed?> then\n    if <(pressed c) = [0]> then\n        set [chat? v] to ((chat?) * (-1))\n    end\nend\nif <key (c v) pressed?> then\n    set [pressed c v] to [1]\nelse\n    set [pressed c v] to [0]\nend\nif <key (r v) pressed?> then\n    reset\nend\nif <key (n v) pressed?> then\n    if <(pressed n) = [0]> then\n        set [show name v] to ((show name) * (-1))\n    end\nend\nif <key (n v) pressed?> then\n    set [pressed n v] to [1]\nelse\n    set [pressed n v] to [0]\nend\n\ndefine reset\nset [dire v] to [1]\nset [yy v] to [0]\nset [xx v] to [0]\nset [y v] to ((item ((flag) - (1)) of [stage datas\[flag\] v]) + (100))\nset [x v] to (item ((flag) - (2)) of [stage datas\[flag\] v])\n\nset [camx v] to [1000]\nset [camy v] to [1000]\n\ndefine set pen (color) (size)\nset pen color to (color)\nset pen size to (size)\n\ndefine draw tree (x) (y) (pattern)\nif <<<((300) - (weight)) > ((x) - (camx))> and <((-300) + (weight)) < ((x) - (camx))>> and <<((-250) + (weight)) < ((y) - (camy))> and <((250) - (weight)) > ((y) - (camy))>>> then\n    if <(pattern) = [1]> then\n        set pen [#673200] [10]\n        pen up\n        go to ((x) - (camx)) (((y) - (camy)) - (50))\n        pen down\n        change y by (50)\n        pen up\n        set pen [#59ff00] [20]\n        pen down\n        change x by (-20)\n        point in direction (15)\n        move (80) steps\n        point in direction (165)\n        move (80) steps\n        change x by (-20)\n        change y by (30)\n        pen up\n    end\n    if <(pattern) = [2]> then\n        set pen [#673200] [10]\n        pen up\n        go to ((x) - (camx)) (((y) - (camy)) - (50))\n        pen down\n        change y by (50)\n        pen up\n        set pen [#59ff00] [50]\n        change y by (10)\n        pen down\n        change y by (30)\n        pen up\n    end\n    if <(pattern) = [3]> then\n        pen up\n        set pen [#673200] [10]\n        go to ((x) - (camx)) (((y) - (camy)) - (50))\n        pen down\n        change y by (50)\n        pen up\n        set pen [#3cb300] [30]\n        change x by (-30)\n        pen down\n        change x by (60)\n        pen up\n        set pen [#49da00] [30]\n        change x by (-50)\n        change y by (30)\n        pen down\n        change x by (40)\n        pen up\n        set pen [#55ff00] [30]\n        change x by (-30)\n        change y by (30)\n        pen down\n        change x by (20)\n        pen up\n    end\n    if <(pattern) = [4]> then\n        set pen [#673200] [10]\n        pen up\n        go to ((x) - (camx)) (((y) - (camy)) - (50))\n        pen down\n        change y by (50)\n        pen up\n        set pen [#55ff00] [50]\n        pen down\n        pen up\n        change y by (20)\n        change x by (-10)\n        set pen [#55ff00] [50]\n        pen down\n        pen up\n        change x by (20)\n        set pen [#55ff00] [50]\n        pen down\n        pen up\n        change x by (-10)\n        change y by (20)\n        set pen [#55ff00] [50]\n        pen down\n        pen up\n    end\nend\n\ndefine draw water (x1) (y1) (x2) (y2) (color) pen? (pen)\npen up\nset pen (color) [5]\nif <not <<<((240) - (weight)) < ((x1) - (camx))> or <((-240) + (weight)) > ((x2) - (camx))>> or <<((180) - (weight)) < ((y1) - (camy))> or <((-180) + (weight)) > ((y2) - (camy))>>>> then\n    insert (color) at <<([abs v] of (((y1) + (((y2) - (y1)) / (2))) - (y)) ) < ((((y2) - (y1)) / (2)) + (30))> and <([abs v] of (((x1) + (((x2) - (x1)) / (2))) - (x)) ) < ((((x2) - (x1)) / (2)) + (30))>> of [hit v] \n    if <(pen) = []> then\n        set [waterloop v] to [-0.5]\n        repeat ([floor v] of (([abs v] of ((x1) - (x2)) ) / (5)) )\n            change [waterloop v] by (1)\n            go to (((x1) - (camx)) + ((waterloop) * (5))) (((y1) - (camy)) - (5))\n            set pen (transparency v) to (100)\n            pen down\n            set pen (transparency v) to (20)\n            go to (((x1) - (camx)) + ((waterloop) * (5))) (((y2) - (camy)) + (([cos v] of (((waterloop) + (i2)) * (7)) ) * (5)))\n            pen up\n        end\n    end\nend\n\ndefine add tree (x) (y) (type)\nadd (x) to [stage data\[tree\] v]\nadd (y) to [stage data\[tree\] v]\nadd (type) to [stage data\[tree\] v]\n\ndefine draw grass\npen up\nset pen [#59ff00] [6]\nset [i v] to [0]\nrepeat (((length of [stage data\[grass\] v]) / (6)) - (1))\n    pen up\n    change [i v] by (6)\n    if <<((item ((i) + (1)) of [stage data\[grass\] v]) - (camx)) > ((-240) + (weight))> and <((item ((i) + (1)) of [stage data\[grass\] v]) - (camx)) < ((240) - (weight))>> then\n        if <<((item ((i) + (2)) of [stage data\[grass\] v]) - (camy)) > ((-180) + (weight))> and <((item ((i) + (2)) of [stage data\[grass\] v]) - (camy)) < ((180) - (weight))>> then\n            if <<([abs v] of ((item ((i) + (1)) of [stage data\[grass\] v]) - (x)) ) < [40]> and <([abs v] of ((item ((i) + (2)) of [stage data\[grass\] v]) - (y)) ) < [40]>> then\n                replace item ((i) + (5)) of [stage data\[grass\] v] with [0]\n                replace item ((i) + (4)) of [stage data\[grass\] v] with (((xx) * (-1)) + (pick random (3) to (-3.0)))\n            end\n            replace item ((i) + (6)) of [stage data\[grass\] v] with ((([sin v] of (item ((i) + (5)) of [stage data\[grass\] v]) ) * (10)) * (item ((i) + (4)) of [stage data\[grass\] v]))\n            replace item ((i) + (4)) of [stage data\[grass\] v] with ((item ((i) + (4)) of [stage data\[grass\] v]) * (0.9))\n            replace item ((i) + (5)) of [stage data\[grass\] v] with ((item ((i) + (5)) of [stage data\[grass\] v]) - (10))\n            go to ((item ((i) + (1)) of [stage data\[grass\] v]) - (camx)) ((item ((i) + (2)) of [stage data\[grass\] v]) - (camy))\n            pen down\n            point in direction (item ((i) + (6)) of [stage data\[grass\] v])\n            move (item ((i) + (3)) of [stage data\[grass\] v]) steps\n            pen up\n        end\n    end\nend\n\ndefine add water (x1) (y1) (x2) (y2) (color)\nadd (x1) to [stage data\[water\] v]\nadd (y1) to [stage data\[water\] v]\nadd (x2) to [stage data\[water\] v]\nadd (y2) to [stage data\[water\] v]\nadd (color) to [stage data\[water\] v]\n\ndefine setup\nswitch costume to (costume2 v)\nset size to (999999999999999999) %\nswitch costume to (costume1 v)\nset [show name v] to [1]\nset [goal? v] to [0]\nset [chat? v] to [-1]\nset [flag v] to [3]\nset [chat timer v] to [0]\nreplace item (3) of [stage datas\[flag\] v] with [1]\ndelete all of [stage data\[cloud\] v]\nset [i v] to [0]\nrepeat (30)\n    change [i v] by (500)\n    add (i) to [stage data\[cloud\] v]\n    add (pick random (10) to (130)) to [stage data\[cloud\] v]\nend\nset [sun v] to [125]\nset [camx v] to [5000]\nset [camy v] to [1000]\nset [i v] to [3]\nrepeat ((length of [stage datas\[flag\] v]) / (3))\n    replace item (i) of [stage datas\[flag\] v] with [0]\n    change [i v] by (4)\nend\nreplace item (3) of [stage datas\[flag\] v] with [1]\nreset\nbroadcast (start game v)\n\ndefine draw cloud (x) (y)\npen up\ngo to ((x) - (camx)) (y)\nset pen [#ffffff] [40]\nchange y by (40)\nchange x by (-40)\npen down\nchange x by (80)\npen up\nchange x by (-120)\nchange y by (-30)\npen down\nchange x by (80)\npen up\n\ndefine draw cloud\nif <(item ((length of [stage data\[cloud\] v]) - (1)) of [stage data\[cloud\] v]) < [19500]> then\n    add [20000] to [stage data\[cloud\] v]\n    add (pick random (10) to (130)) to [stage data\[cloud\] v]\nend\nset [i v] to [0]\nrepeat ((length of [stage data\[cloud\] v]) / (2))\n    replace item ((i) + (1)) of [stage data\[cloud\] v] with ((item ((i) + (1)) of [stage data\[cloud\] v]) - (0.2))\n    if <([abs v] of ((item ((i) + (1)) of [stage data\[cloud\] v]) - (camx)) ) < ((330) - (weight))> then\n        draw cloud ((item ((i) + (1)) of [stage data\[cloud\] v]) - ((camx) / (50))) ((item ((i) + (2)) of [stage data\[cloud\] v]) - ((camy) * (-0.03)))\n    end\n    if <(item ((i) + (1)) of [stage data\[cloud\] v]) < [-500]> then\n        delete ((i) + (1)) of [stage data\[cloud\] v]\n        delete ((i) + (2)) of [stage data\[cloud\] v]\n    end\n    change [i v] by (2)\nend\n\ndefine draw flag (x) (y) <on?> (bright)\npen up\nif <on?> then\n    set pen color to (#80a8ff)\n    change pen (saturation v) by ((bright) * (-1))\nelse\n    set pen color to (#a7a7a7)\n    change pen (brightness v) by (bright)\nend\ntriangle fill ((x) - (camx)) (((y) - (camy)) + (100)) ((x) - (camx)) (((y) - (camy)) + (75)) (((x) - (camx)) + (45)) (((y) - (camy)) + (75)) [3]\npen up\nif <on?> then\n    set pen color to (#b0c9ff)\n    change pen (saturation v) by ((bright) * (-1))\nelse\n    set pen color to (#cbcbcb)\n    change pen (brightness v) by (bright)\nend\ntriangle fill ((x) - (camx)) (((y) - (camy)) + (75)) ((x) - (camx)) (((y) - (camy)) + (50)) (((x) - (camx)) + (45)) (((y) - (camy)) + (75)) [3]\nset pen [#f6f6f6] [10]\nchange pen (brightness v) by (bright)\ngo to ((x) - (camx)) ((y) - (camy))\npen down\ngo to ((x) - (camx)) (((y) - (camy)) + (100))\npen up\ngo to ((x) - (camx)) (((y) - (camy)) + (105))\nset pen [#f6f6f6] [20]\nchange pen (brightness v) by (bright)\npen down\npen up\npen up\nif <on?> then\n    set pen [#80a8ff] [10]\n    change pen (saturation v) by ((bright) * (-1))\nelse\n    set pen [#a7a7a7] [10]\n    change pen (brightness v) by (bright)\nend\npen down\npen up\n\ndefine add flag (x) (y)\nadd (x) to [stage datas\[flag\] v]\nadd (y) to [stage datas\[flag\] v]\nadd [0] to [stage datas\[flag\] v]\nadd [0] to [stage datas\[flag\] v]\n\ndefine flag\nset [i v] to [0]\nrepeat ((length of [stage datas\[flag\] v]) / (4))\n    if <<([abs v] of ((item ((i) + (1)) of [stage datas\[flag\] v]) - (camx)) ) < ((270) - (weight))> and <([abs v] of ((item ((i) + (2)) of [stage datas\[flag\] v]) - (camy)) ) < ((210) - (weight))>> then\n        if <<<((x) - (item ((i) + (1)) of [stage datas\[flag\] v])) < [70]> and <((x) - (item ((i) + (1)) of [stage datas\[flag\] v])) > [-30]>> and <<((y) - (item ((i) + (2)) of [stage datas\[flag\] v])) < [180]> and <((y) - (item ((i) + (2)) of [stage datas\[flag\] v])) > [-30]>>> then\n            if <(item ((i) + (3)) of [stage datas\[flag\] v]) = [0]> then\n                start sound [Magic Spell v]\n                replace item ((i) + (3)) of [stage datas\[flag\] v] with [1]\n                replace item ((i) + (4)) of [stage datas\[flag\] v] with [100]\n                replace item (flag) of [stage datas\[flag\] v] with [0]\n                set [flag v] to ((i) + (3))\n            end\n        end\n        draw flag (item ((i) + (1)) of [stage datas\[flag\] v]) (item ((i) + (2)) of [stage datas\[flag\] v]) <(item ((i) + (3)) of [stage datas\[flag\] v]) = [1]> (item ((i) + (4)) of [stage datas\[flag\] v])\n    end\n    replace item ((i) + (4)) of [stage datas\[flag\] v] with ((item ((i) + (4)) of [stage datas\[flag\] v]) + (((0) - (item ((i) + (4)) of [stage datas\[flag\] v])) / (5)))\n    change [i v] by (4)\nend\n\nwhen I receive [start game v]\nwait (0) seconds\nrepeat until <(goal?) = [1]>\n    game\nend\nbroadcast (goal v)\n\nwhen I receive [start game v]\nwait (0) seconds\nrepeat until <(goal?) = [1]>\n    pen []\nend\n\ndefine draw square <draw>\nset [i v] to [0]\nrepeat ((length of [stage data\[square\] v]) / (13))\n    if <not <<<((((item ((i) + (1)) of [stage data\[square\] v]) + (item ((i) + (10)) of [stage data\[square\] v])) - (item ((i) + (3)) of [stage data\[square\] v])) - (camx)) > ((240) - (weight))> or <((((item ((i) + (1)) of [stage data\[square\] v]) + (item ((i) + (10)) of [stage data\[square\] v])) + (item ((i) + (3)) of [stage data\[square\] v])) - (camx)) < ((-240) + (weight))>> or <<((((item ((i) + (2)) of [stage data\[square\] v]) + (item ((i) + (11)) of [stage data\[square\] v])) - (item ((i) + (4)) of [stage data\[square\] v])) - (camy)) > ((180) - (weight))> or <((((item ((i) + (2)) of [stage data\[square\] v]) + (item ((i) + (11)) of [stage data\[square\] v])) + (item ((i) + (4)) of [stage data\[square\] v])) - (camy)) < ((-180) + (weight))>>>> then\n        if <draw> then\n            draw square (((item ((i) + (1)) of [stage data\[square\] v]) + (item ((i) + (10)) of [stage data\[square\] v])) - (camx)) (((item ((i) + (2)) of [stage data\[square\] v]) + (item ((i) + (11)) of [stage data\[square\] v])) - (camy)) (item ((i) + (3)) of [stage data\[square\] v]) (item ((i) + (4)) of [stage data\[square\] v]) (item ((i) + (5)) of [stage data\[square\] v]) <(item ((i) + (6)) of [stage data\[square\] v]) = [1]>\n        end\n    end\n    if <<([abs v] of (((item ((i) + (1)) of [stage data\[square\] v]) + (item ((i) + (10)) of [stage data\[square\] v])) - (x)) ) < ((item ((i) + (3)) of [stage data\[square\] v]) + (30))> and <([abs v] of (((item ((i) + (2)) of [stage data\[square\] v]) + (item ((i) + (11)) of [stage data\[square\] v])) - (y)) ) < ((item ((i) + (4)) of [stage data\[square\] v]) + (30))>> then\n        insert (item ((i) + (5)) of [stage data\[square\] v]) at (1) of [hit v] \n        if <not <(item ((i) + (7)) of [stage data\[square\] v]) = [n]>> then\n            add ((((([sin v] of ((item ((i) + (13)) of [stage data\[square\] v]) + (item ((i) + (12)) of [stage data\[square\] v])) ) + (1)) / (2)) * (item ((i) + (7)) of [stage data\[square\] v])) - (((([sin v] of (item ((i) + (13)) of [stage data\[square\] v]) ) + (1)) / (2)) * (item ((i) + (7)) of [stage data\[square\] v]))) to [moving v]\n            add ((((([sin v] of ((item ((i) + (13)) of [stage data\[square\] v]) + (item ((i) + (12)) of [stage data\[square\] v])) ) + (1)) / (2)) * (item ((i) + (8)) of [stage data\[square\] v])) - (((([sin v] of (item ((i) + (13)) of [stage data\[square\] v]) ) + (1)) / (2)) * (item ((i) + (8)) of [stage data\[square\] v]))) to [moving v]\n        end\n    end\n    if <draw> then\n        if <not <(item ((i) + (7)) of [stage data\[square\] v]) = [n]>> then\n            replace item ((i) + (10)) of [stage data\[square\] v] with (((([sin v] of (item ((i) + (13)) of [stage data\[square\] v]) ) + (1)) / (2)) * (item ((i) + (7)) of [stage data\[square\] v]))\n            replace item ((i) + (11)) of [stage data\[square\] v] with (((([sin v] of (item ((i) + (13)) of [stage data\[square\] v]) ) + (1)) / (2)) * (item ((i) + (8)) of [stage data\[square\] v]))\n            replace item ((i) + (13)) of [stage data\[square\] v] with ((item ((i) + (13)) of [stage data\[square\] v]) + (item ((i) + (12)) of [stage data\[square\] v]))\n        end\n    end\n    change [i v] by (13)\nend\n\ndefine add circle (x) (y) (size) (color) grass (with grass?) move (move?) (x2) (y2) (speed)\nadd (x) to [stage data\[circle\] v]\nadd (y) to [stage data\[circle\] v]\nadd (size) to [stage data\[circle\] v]\nadd (color) to [stage data\[circle\] v]\nadd (with grass?) to [stage data\[circle\] v]\nif <(move?) = []> then\n    repeat (3)\n        add [n] to [stage data\[circle\] v]\n    end\n    repeat (4)\n        add [0] to [stage data\[circle\] v]\n    end\nelse\n    add (x2) to [stage data\[circle\] v]\n    add (y2) to [stage data\[circle\] v]\n    add [1] to [stage data\[circle\] v]\n    repeat (2)\n        add [0] to [stage data\[circle\] v]\n    end\n    add ((360) / (speed)) to [stage data\[circle\] v]\n    add [270] to [stage data\[circle\] v]\nend\n\ndefine draw circle (x) (y) (size) (color) <with grass?>\ngo to (x) (y)\nif <with grass?> then\n    set pen [#59ff00] ((size) * (1.4))\n    pen down\n    pen up\n    set pen [#2d8000] ((size) * (1.25))\n    pen down\n    pen up\nend\nset pen (color) (size)\npen down\npen up\n\ndefine draw circle <pen?>\nset [i v] to [0]\nrepeat ((length of [stage data\[circle\] v]) / (12))\n    if <<([abs v] of (((item ((i) + (1)) of [stage data\[circle\] v]) + (item ((i) + (9)) of [stage data\[circle\] v])) - (camx)) ) < ((item ((i) + (3)) of [stage data\[circle\] v]) + ((240) - (weight)))> and <([abs v] of (((item ((i) + (2)) of [stage data\[circle\] v]) + (item ((i) + (10)) of [stage data\[circle\] v])) - (camy)) ) < ((item ((i) + (3)) of [stage data\[circle\] v]) + ((180) - (weight)))>> then\n        if <pen?> then\n            draw circle (((item ((i) + (1)) of [stage data\[circle\] v]) + (item ((i) + (9)) of [stage data\[circle\] v])) - (camx)) (((item ((i) + (2)) of [stage data\[circle\] v]) + (item ((i) + (10)) of [stage data\[circle\] v])) - (camy)) (item ((i) + (3)) of [stage data\[circle\] v]) (item ((i) + (4)) of [stage data\[circle\] v]) <not <[] = (item ((i) + (5)) of [stage data\[circle\] v])>>\n        end\n    end\n    if <([sqrt v] of (([abs v] of ((((item ((i) + (1)) of [stage data\[circle\] v]) + (item ((i) + (9)) of [stage data\[circle\] v])) - (x)) * (((item ((i) + (1)) of [stage data\[circle\] v]) + (item ((i) + (9)) of [stage data\[circle\] v])) - (x))) ) + ([abs v] of ((((item ((i) + (2)) of [stage data\[circle\] v]) + (item ((i) + (10)) of [stage data\[circle\] v])) - (y)) * (((item ((i) + (2)) of [stage data\[circle\] v]) + (item ((i) + (10)) of [stage data\[circle\] v])) - (y))) )) ) < (((item ((i) + (3)) of [stage data\[circle\] v]) / (2)) + (30))> then\n        add (item ((i) + (4)) of [stage data\[circle\] v]) to [hit v]\n        if <not <(item ((i) + (6)) of [stage data\[circle\] v]) = [n]>> then\n            add ((((([sin v] of ((item ((i) + (12)) of [stage data\[circle\] v]) + (item ((i) + (11)) of [stage data\[circle\] v])) ) + (1)) / (2)) * (item ((i) + (6)) of [stage data\[circle\] v])) - (((([sin v] of (item ((i) + (12)) of [stage data\[circle\] v]) ) + (1)) / (2)) * (item ((i) + (6)) of [stage data\[circle\] v]))) to [moving v]\n            add ((((([sin v] of ((item ((i) + (12)) of [stage data\[circle\] v]) + (item ((i) + (11)) of [stage data\[circle\] v])) ) + (1)) / (2)) * (item ((i) + (7)) of [stage data\[circle\] v])) - (((([sin v] of (item ((i) + (12)) of [stage data\[circle\] v]) ) + (1)) / (2)) * (item ((i) + (7)) of [stage data\[circle\] v]))) to [moving v]\n        end\n    end\n    if <pen?> then\n        if <not <(item ((i) + (6)) of [stage data\[circle\] v]) = [n]>> then\n            replace item ((i) + (9)) of [stage data\[circle\] v] with (((([sin v] of (item ((i) + (12)) of [stage data\[circle\] v]) ) + (1)) / (2)) * (item ((i) + (6)) of [stage data\[circle\] v]))\n            replace item ((i) + (10)) of [stage data\[circle\] v] with (((([sin v] of (item ((i) + (12)) of [stage data\[circle\] v]) ) + (1)) / (2)) * (item ((i) + (7)) of [stage data\[circle\] v]))\n            replace item ((i) + (12)) of [stage data\[circle\] v] with ((item ((i) + (12)) of [stage data\[circle\] v]) + (item ((i) + (11)) of [stage data\[circle\] v]))\n        end\n    end\n    change [i v] by (12)\nend\n\ndefine draw spike (x) (y) (size)\npen up\nset pen color to (#a7a7a7)\ntriangle fill (x) (y) (x) ((y) + ((45) * (size))) ((x) + ((-20) * (size))) (y) [3]\npen up\nset pen color to (#cbcbcb)\ntriangle fill (x) (y) (x) ((y) + ((45) * (size))) ((x) + ((20) * (size))) (y) [3]\n\ndraw spike [0] [0] [1]\n\ndefine draw spike <pen?>\nset [i v] to [0]\nrepeat ((length of [stage datas\[spike\] v]) / (3))\n    if <pen?> then\n        if <<([abs v] of ((item ((i) + (1)) of [stage datas\[spike\] v]) - (camx)) ) < (((item ((i) + (3)) of [stage datas\[spike\] v]) * (40)) + (240))> and <([abs v] of (((item ((i) + (2)) of [stage datas\[spike\] v]) - (camy)) - (25)) ) < (((item ((i) + (3)) of [stage datas\[spike\] v]) * (40)) + (180))>> then\n            draw spike ((item ((i) + (1)) of [stage datas\[spike\] v]) - (camx)) ((item ((i) + (2)) of [stage datas\[spike\] v]) - (camy)) (item ((i) + (3)) of [stage datas\[spike\] v])\n        end\n    end\n    if <<([abs v] of ((item ((i) + (1)) of [stage datas\[spike\] v]) - (x)) ) < (((item ((i) + (3)) of [stage datas\[spike\] v]) * (40)) + (10))> and <([abs v] of (((item ((i) + (2)) of [stage datas\[spike\] v]) - (y)) + (15)) ) < (((item ((i) + (3)) of [stage datas\[spike\] v]) * (40)) + (15))>> then\n        add [#ff0000] to [hit v]\n    end\n    change [i v] by (3)\nend\n\ndefine add spike (x) (y) (size)\nadd (x) to [stage datas\[spike\] v]\nadd (y) to [stage datas\[spike\] v]\nadd (size) to [stage datas\[spike\] v]\n\ndefine setup stages\ndelete all of [stage data\[tree\] v]\ndelete all of [stage datas\[flag\] v]\ndelete all of [stage data\[grass\] v]\ndelete all of [stage data\[square\] v]\ndelete all of [stage data\[water\] v]\ndelete all of [stage data\[circle\] v]\ndelete all of [stage datas\[spike\] v]\ndelete all of [chats v]\nadd [hi] to [chats v]\nadd [nice] to [chats v]\nadd [yey] to [chats v]\nadd [nooooo] to [chats v]\nadd [lol] to [chats v]\nadd [bye] to [chats v]\nadd [:\)] to [chats v]\nadd [:\(] to [chats v]\nadd ground [-225] [100] [25] [150] [#ff0000] [] [] move? [] [] [] []\nadd flag [0] [50]\nadd ground [100] [0] [300] [50] [#673200] [5] [1] move? [] [] [] []\nadd ground [450] [50] [50] [100] [#673200] [5] [1] move? [] [] [] []\nadd ground [550] [100] [50] [150] [#673200] [5] [1] move? [] [] [] []\nadd ground [800] [200] [35] [50] [#673200] [5] [1] move? [] [] [] []\nadd water [600] [-50] [1250] [150] [#ff0000]\nadd ground [1050] [200] [35] [50] [#673200] [5] [1] move? [] [] [] []\nadd ground [1300] [100] [50] [150] [#673200] [5] [1] move? [] [] [] []\nadd ground [1600] [25] [250] [100] [#673200] [5] [1] move? [] [] [] []\nadd spike [1600] [125] [1]\nadd spike [1450] [125] [1]\nadd ground [1900] [100] [50] [25] [#673200] [5] [1] move? [r] [300] [100] [200]\nadd ground [2400] [200] [150] [25] [#673200] [5] [1] move? [] [] [] []\nadd flag [2400] [225]\nadd ground [2700] [300] [25] [100] [#673200] [] [1] move? [] [] [] []\nadd ground [2550] [600] [25] [100] [#673200] [] [1] move? [] [] [] []\nadd ground [2700] [900] [25] [100] [#673200] [] [1] move? [] [] [] []\nadd ground [3075] [950] [200] [50] [#673200] [5] [1] move? [] [] [] []\nadd ground [3100] [1040] [25] [35] [#ff0000] [] [] move? [] [] [] []\nadd ground [3100] [1300] [25] [100] [#ff0000] [] [] move? [] [] [] []\nadd ground [3250] [1040] [25] [35] [#ff0000] [] [] move? [] [] [] []\nadd ground [3250] [1300] [25] [100] [#ff0000] [] [] move? [] [] [] []\nadd water [3275] [500] [4200] [1000] [#00ffff]\nadd ground [3225] [600] [50] [300] [#673200] [] [] move? [] [] [] []\nadd ground [3900] [1300] [300] [300] [#673200] [] [] move? [] [] [] []\nadd ground [3600] [1300] [25] [300] [#ff0000] [] [] move? [] [] [] []\nadd ground [3600] [900] [25] [100] [#ff0000] [] [] move? [] [] [] []\nadd ground [3325] [900] [50] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [3525] [825] [50] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [3750] [200] [550] [300] [#673200] [] [] move? [] [] [] []\nadd ground [3350] [550] [25] [100] [#673200] [] [] move? [] [] [] []\nadd ground [3300] [550] [25] [200] [#673200] [] [] move? [] [] [] []\nadd ground [3650] [525] [300] [25] [#673200] [] [] move? [] [] [] []\nadd ground [3500] [575] [25] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [3650] [800] [25] [100] [#ff0000] [] [] move? [] [] [] []\nadd ground [3800] [575] [25] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [3850] [600] [25] [50] [#ff0000] [] [] move? [] [] [] []\nadd ground [3750] [800] [100] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [3950] [800] [100] [25] [#673200] [] [] move? [] [] [] []\nadd ground [4250] [625] [50] [200] [#673200] [5] [1] move? [] [] [] []\nadd ground [3875] [900] [25] [100] [#673200] [] [] move? [] [] [] []\nadd flag [3970] [825]\nadd ground [4175] [1300] [25] [300] [#ff0000] [] [] move? [] [] [] []\nadd ground [3900] [1000] [25] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [3975] [525] [25] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [3975] [725] [25] [50] [#ff0000] [] [] move? [] [] [] []\nadd ground [4150] [650] [50] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [4400] [800] [25] [25] [#673200] [] [1] move? [] [] [] []\nadd ground [4450] [800] [25] [25] [#ffea00] [] [] move? [] [] [] []\nadd ground [5100] [800] [200] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [5400] [800] [25] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [5600] [900] [25] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [5800] [800] [25] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [6000] [900] [25] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [6200] [800] [25] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [6600] [400] [100] [300] [#673200] [5] [1] move? [] [] [] []\nadd water [6700] [100] [8000] [700] [#00ffff]\nadd flag [6600] [700]\nadd ground [7350] [50] [850] [50] [#673200] [] [] move? [] [] [] []\nadd ground [8100] [400] [100] [300] [#673200] [5] [1] move? [] [] [] []\nadd ground [7350] [300] [25] [250] [#673200] [] [] move? [] [] [] []\nadd ground [7350] [750] [25] [100] [#ff0000] [] [] move? [] [] [] []\nadd ground [6975] [500] [25] [250] [#673200] [] [] move? [] [] [] []\nadd ground [6975] [750] [25] [100] [#ff0000] [] [] move? [] [] [] []\nadd ground [7725] [500] [25] [250] [#673200] [] [] move? [] [] [] []\nadd ground [7725] [750] [25] [100] [#ff0000] [] [] move? [] [] [] []\nadd ground [6900] [600] [50] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [6725] [600] [25] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [6750] [450] [50] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [6925] [450] [25] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [6900] [300] [50] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [6725] [300] [25] [25] [#ff0000] [] [] move? [] [] [] []\nsetup stages2\n\ndefine setup stages2\nadd ground [7162.5] [75] [162.5] [25] [#ffea00] [] [] move? [] [] [] []\nadd ground [7162.5] [200] [162.5] [25] [#ffea00] [] [] move? [] [] [] []\nadd ground [7162.5] [325] [162.5] [25] [#ffea00] [] [] move? [] [] [] []\nadd ground [7162.5] [450] [162.5] [25] [#ffea00] [] [] move? [] [] [] []\nadd ground [7162.5] [675] [162.5] [25] [#ff0000] [] [] move? [] [] [] []\nadd ground [7425] [500] [50] [25] [#ff0000] [] [] move? [r] [225] [] [100]\nadd ground [7425] [300] [50] [25] [#ff0000] [] [] move? [r] [225] [] [75]\nadd circle [7800] [300] [100] [#ff0000] grass [] move [r] [150] [] [200]\nadd circle [7800] [550] [100] [#ff0000] grass [] move [r] [150] [] [100]\nadd flag [8100] [700]\nadd ground [8250] [600] [50] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [8350] [500] [50] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [8450] [400] [50] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [8550] [300] [50] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [8650] [200] [50] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [8750] [75] [50] [100] [#673200] [5] [1] move? [] [] [] []\nadd water [8750] [-25] [9250] [100] [#ff0000]\nadd ground [8850] [150] [50] [25] [#673200] [] [1] move? [gfd] [350] [] [200]\nadd ground [9300] [75] [50] [100] [#673200] [5] [1] move? [] [] [] []\nadd water [9300] [-25] [9800] [100] [#ff0000]\nadd ground [9400] [150] [50] [25] [#673200] [] [1] move? [gfd] [350] [] [150]\nadd ground [9850] [75] [50] [100] [#673200] [5] [1] move? [] [] [] []\nadd water [9850] [-25] [10350] [100] [#ff0000]\nadd ground [9950] [150] [50] [25] [#673200] [] [1] move? [gfd] [350] [] [250]\nadd ground [10400] [75] [50] [100] [#673200] [5] [1] move? [] [] [] []\nadd ground [10750] [25] [300] [100] [#673200] [5] [1] move? [] [] [] []\nadd spike [10700] [130] [1]\nadd spike [10500] [130] [1]\nadd spike [10900] [130] [1]\nadd ground [11225] [500] [25] [600] [#ff0000] [] [] move? [] [] [] []\nadd ground [11025] [700] [25] [400] [#ff0000] [] [] move? [] [] [] []\nadd ground [11125] [0] [75] [25] [#673200] [5] [1] move? [r] [] [1050] [200]\nadd ground [11225] [1100] [25] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [11500] [1350] [300] [100] [#673200] [] [1] move? [] [] [] []\nadd ground [11900] [1100] [100] [25] [#673200] [5] [1] move? [] [] [] []\nadd ground [11900] [1175] [25] [50] [#cc00ff] [] [] move? [] [] [] []\nadd trees\n\nadd ground [] [] [] [] [] [] [] move? [] [] [] []\n\ndefine draw background\nerase all\ngo to [] []\nset pen [#47ffda] [9999]\npen down\npen up\nset pen [#9bff59] [9]\ntriangle fill [-350] [-260] [-150] [60] [50] [-300] [50]\ntriangle fill [-50] [-260] [150] [150] [350] [-300] [50]\ntriangle fill [-175] [-300] [25] [50] [225] [-300] [50]\n\ndefine add trees\nadd tree [-50] [100] [1]\nadd tree [-125] [100] [2]\nadd tree [25] [100] [3]\nadd tree [100] [100] [4]\nadd tree [450] [200] [1]\nadd tree [550] [300] [2]\nadd tree [1300] [300] [3]\nadd tree [1400] [175] [1]\nadd tree [1500] [175] [1]\nadd tree [1600] [175] [1]\nadd tree [1700] [175] [1]\nadd tree [1800] [175] [1]\nadd tree [240] [100] [3]\nadd tree [315] [100] [4]\nadd tree [2300] [285] [2]\nadd tree [2375] [285] [1]\nadd tree [2450] [285] [2]\nadd tree [2900] [1060] [4]\nadd tree [3000] [1060] [4]\nadd tree [3175] [1060] [3]\nadd tree [4250] [885] [4]\nadd tree [5000] [885] [3]\nadd tree [5075] [885] [4]\nadd tree [5150] [885] [2]\nadd tree [5225] [885] [1]\nadd tree [6550] [760] [1]\nadd tree [6650] [760] [3]\nadd tree [8050] [760] [3]\nadd tree [8150] [760] [1]\nadd tree [8250] [675] [1]\nadd tree [8355] [575] [4]\nadd tree [8455] [475] [1]\nadd tree [8555] [375] [2]\nadd tree [8655] [275] [3]\nadd tree [8750] [225] [1]\nadd tree [9300] [225] [2]\nadd tree [9850] [225] [3]\nadd tree [10400] [225] [3]\nadd tree [10550] [175] [1]\nadd tree [10650] [175] [2]\nadd tree [10750] [175] [3]\nadd tree [10850] [175] [4]\nadd tree [10950] [175] [1]\n\ndefine [developer tool]go to (x) (y)\nset [x v] to (x)\nset [y v] to (y)\n\n[developer tool]go to [10410] [250]\n\nadd tree [10650] [175] [2]\nadd tree [10750] [175] [3]\nadd tree [10850] [175] [4]\n\ndefine cloud data\nset [user count v] to (((length of [users v]) / ((quantity of every time elements) + (2))) + (1))\ndelete all of [in range users v]\nset [i v] to [0]\nrepeat ((length of [users v]) / ((quantity of every time elements) + (2)))\n    if <<([abs v] of ((item ((i) + (2)) of [users v]) - (camx)) ) < [270]> and <([abs v] of ((item ((i) + (3)) of [users v]) - (camy)) ) < [210]>> then\n        add ((item ((i) + (2)) of [users v]) - (camx)) to [in range users v]\n        add ((item ((i) + (3)) of [users v]) - (camy)) to [in range users v]\n        add (item ((i) + (4)) of [users v]) to [in range users v]\n        add (item ((i) + (5)) of [users v]) to [in range users v]\n        add (item ((i) + (6)) of [users v]) to [in range users v]\n    end\n    change [i v] by (6)\nend\n\nwhen I receive [load v]\nsetup\n\nwhen I receive [setup2 v]\nsetup stages\n\n@TextEngine\n\ndefine _calcWW (text) (width) (firstwidth) (cspace) (spacewidth)\ndelete all of [_ww0 v]\ndelete all of [_ww1 v]\ndelete all of [_ww2 v]\nset [_i3 v] to [1]\nset [_i4 v] to [0]\nset [_i5 v] to [0]\nset [_i6 v] to [0]\nset [_i7 v] to (firstwidth)\nrepeat (length of (text))\n    if <(letter (_i3) of (text)) = [ ]> then\n        if <(_i4) = [0]> then\n            if <((_i7) + ((_i5) - (cspace))) > (width)> then\n                insert [1] at (1) of [_ww0 v] \n                add [0] to [_ww1 v]\n                add [0] to [_ww2 v]\n                set [_i6 v] to [1]\n            end\n            change [_i7 v] by ((_i5) - (cspace))\n        else\n            if <((_i7) + ((spacewidth) + (_i5))) > (width)> then\n                if <(_i4) > (_i6)> then\n                    add (_i7) to [_ww1 v]\n                    add (((_i4) - (_i6)) - (1)) to [_ww2 v]\n                end\n                set [_i6 v] to (_i4)\n                set [_i7 v] to ((_i5) - (cspace))\n            else\n                change [_i7 v] by ((spacewidth) + (_i5))\n            end\n        end\n        add [1] to [_ww0 v]\n        set [_i4 v] to (length of [_ww0 v])\n        set [_i5 v] to [0]\n    else\n        switch costume to (blank v)\n        switch costume to (join (letter (_i3) of (text)) [_])\n        set [_i9 v] to ((costume [number v]) - (1))\n        if <(_i9) > [0]> then\n            set [_i8 v] to (item (_i9) of [_chwidth v])\n            if <((_i5) + (_i8)) > (width)> then\n                if <(_i4) > (_i6)> then\n                    add (_i7) to [_ww1 v]\n                    add (((_i4) - (_i6)) - (1)) to [_ww2 v]\n                end\n                add ((_i5) - (cspace)) to [_ww1 v]\n                add ((length of [_ww0 v]) - (_i4)) to [_ww2 v]\n                add [1] to [_ww0 v]\n                set [_i4 v] to (length of [_ww0 v])\n                set [_i5 v] to ((_i8) + (cspace))\n                set [_i6 v] to (_i4)\n                set [_i7 v] to ((-1) * ((cspace) + (spacewidth)))\n            else\n                change [_i5 v] by ((_i8) + (cspace))\n            end\n            add (_i9) to [_ww0 v]\n        end\n    end\n    change [_i3 v] by (1)\nend\nif <(length of [_ww0 v]) > (_i6)> then\n    if <(_i4) = [0]> then\n        if <((_i7) + ((_i5) - (cspace))) > (width)> then\n            insert [1] at (1) of [_ww0 v] \n            add [0] to [_ww1 v]\n            add [0] to [_ww2 v]\n            set [_i6 v] to [1]\n        end\n        change [_i7 v] by ((_i5) - (cspace))\n    else\n        if <((_i7) + ((spacewidth) + (_i5))) > (width)> then\n            if <(_i4) > (_i6)> then\n                add (_i7) to [_ww1 v]\n                add (((_i4) - (_i6)) - (1)) to [_ww2 v]\n            end\n            set [_i6 v] to (_i4)\n            set [_i7 v] to ((_i5) - (cspace))\n        else\n            change [_i7 v] by ((spacewidth) + (_i5))\n        end\n    end\n    add (_i7) to [_ww1 v]\n    add ((length of [_ww0 v]) - (_i6)) to [_ww2 v]\nend\n\nwhen flag clicked\npen up\nhide\nswitch costume to (blank v)\nset size to (100000) %\nswitch costume to ( _ v)\ngo to x: (0) y: (0)\npoint in direction (90)\nset rotation style [don't rotate v]\n\ndefine Clear | Character Data\nswitch costume to (blank v)\nswitch costume to ((costume [number v]) - (1))\nif <((costume [number v]) - (1)) > (length of [_chindex v])> then\n    set [_i0 v] to ((costume [number v]) - (1))\nelse\n    set [_i0 v] to (length of [_chindex v])\nend\ndelete all of [_chindex v]\ndelete all of [_chwidth v]\ndelete all of [_chdata0 v]\ndelete all of [_chdata1 v]\ndelete all of [_chdata2 v]\ndelete all of [_chdata3 v]\nrepeat (_i0)\n    add [__] to [_chdata0 v]\n    add [none] to [_chdata1 v]\n    add [] to [_chdata2 v]\n    add [] to [_chdata3 v]\n    add ((length of [_chdata0 v]) + (1)) to [_chindex v]\n    add ((1) * (0)) to [_chwidth v]\n    repeat (25)\n        add [] to [_chdata0 v]\n        add [] to [_chdata1 v]\n        add [] to [_chdata2 v]\n        add [] to [_chdata3 v]\n    end\nend\nadd [__] to [_chdata0 v]\nadd [none] to [_chdata1 v]\nadd [] to [_chdata2 v]\nadd [] to [_chdata3 v]\n\ndefine Load | Font (fontname)\nset [_i0 v] to (item # of (fontname) in [_fontname v])\nif <(_i0) < [1]> then\n    stop [this script v]\nend\nset [_i0 v] to (item (_i0) of [_fontindex v])\nset [_i1 v] to (item (_i0) of [_fontdata v])\nchange [_i0 v] by (2)\nrepeat (item ((_i0) - (1)) of [_fontdata v])\n    set [_i2 v] to (item (_i0) of [_fontdata v])\n    replace item (_i2) of [_chwidth v] with (item ((_i0) + (1)) of [_fontdata v])\n    set [_i3 v] to (item (_i2) of [_chindex v])\n    if <not <(item ((_i3) - (1)) of [_chdata1 v]) = (_i1)>> then\n        replace item ((_i3) - (1)) of [_chdata1 v] with (_i1)\n        replace item ((_i3) - (1)) of [_chdata2 v] with []\n        replace item ((_i3) - (1)) of [_chdata3 v] with []\n        _unpackDef (_i2) (_i3) (item ((_i0) + (2)) of [_fontdata v])\n    end\n    change [_i0 v] by (3)\nend\n\ndefine Set Pen Color | RGBA (r) (g) (b) (a)\nset pen color to ((round (b)) + ((256) * ((round (g)) + ((256) * ((round (r)) + ((256) * (round (a))))))))\n\ndefine _unpackDef (id) (idx) (d)\nset [_i5 v] to (length of (d))\nset [_i6 v] to (idx)\nset [_i7 v] to [1]\nset [_i8 v] to [0]\nrepeat until <(_i7) > (_i5)>\n    if <(item (_i6) of [_chdata0 v]) = [__]> then\n        insert [] at (_i6) of [_chdata0 v] \n        insert [] at (_i6) of [_chdata1 v] \n        insert [] at (_i6) of [_chdata2 v] \n        insert [] at (_i6) of [_chdata3 v] \n        change [_i8 v] by (1)\n    end\n    set [_i9 v] to []\n    repeat until < [;] contains (letter (_i7) of (d))?>\n        set [_i9 v] to (join (_i9) (letter (_i7) of (d)))\n        change [_i7 v] by (1)\n    end\n    change [_i7 v] by (1)\n    if <(_i9) = ((1) * (_i9))> then\n        replace item (_i6) of [_chdata0 v] with ((1) * (_i9))\n    else\n        replace item (_i6) of [_chdata0 v] with (_i9)\n    end\n    set [_i9 v] to []\n    repeat until < [;] contains (letter (_i7) of (d))?>\n        set [_i9 v] to (join (_i9) (letter (_i7) of (d)))\n        change [_i7 v] by (1)\n    end\n    change [_i7 v] by (1)\n    if <(_i9) = ((1) * (_i9))> then\n        replace item (_i6) of [_chdata1 v] with ((1) * (_i9))\n    else\n        replace item (_i6) of [_chdata1 v] with (_i9)\n    end\n    set [_i9 v] to []\n    repeat until < [;] contains (letter (_i7) of (d))?>\n        set [_i9 v] to (join (_i9) (letter (_i7) of (d)))\n        change [_i7 v] by (1)\n    end\n    change [_i7 v] by (1)\n    if <(_i9) = ((1) * (_i9))> then\n        replace item (_i6) of [_chdata2 v] with ((1) * (_i9))\n    else\n        replace item (_i6) of [_chdata2 v] with (_i9)\n    end\n    set [_i9 v] to []\n    repeat until < [;] contains (letter (_i7) of (d))?>\n        set [_i9 v] to (join (_i9) (letter (_i7) of (d)))\n        change [_i7 v] by (1)\n    end\n    change [_i7 v] by (1)\n    if <(_i9) = ((1) * (_i9))> then\n        replace item (_i6) of [_chdata3 v] with ((1) * (_i9))\n    else\n        replace item (_i6) of [_chdata3 v] with (_i9)\n    end\n    change [_i6 v] by (1)\nend\nif <(_i8) > [0]> then\n    set [_i5 v] to (id)\n    repeat ((length of [_chindex v]) - (_i5))\n        change [_i5 v] by (1)\n        replace item (_i5) of [_chindex v] with ((item (_i5) of [_chindex v]) + (_i8))\n    end\nend\n\ndefine _getWidth (text) (size) (cspace)\nset [_width v] to [0]\nset [_i0 v] to [1]\nset [_i1 v] to [0]\nrepeat (length of (text))\n    switch costume to (blank v)\n    switch costume to (join (letter (_i0) of (text)) [_])\n    set [_i2 v] to ((costume [number v]) - (1))\n    if <(_i2) > [0]> then\n        change [_width v] by (((size) * (item (_i2) of [_chwidth v])) + (cspace))\n        change [_i1 v] by (1)\n    end\n    change [_i0 v] by (1)\nend\nif <(_i1) > [0]> then\n    change [_width v] by ((-1) * (cspace))\nend\n\ndefine New Lines | Number (lines) Size (size) Space (lspace)\nchange [_y v] by (((lines) + <(lines) = []>) * (((size) + ((12) * <(size) = []>)) * ((-1) - ((0.7) * ((lspace) + <(lspace) = []>)))))\n\ndefine Print | Pos (x) (y) Size (size) (width) Bounds (xmin) (xmax) Space (cspace) Style (weight) (slant) Underline (ul.height) (ul.weight) Align (al.x) (al.y) Text (text)\npen up\nset [_i8 v] to ((size) + ((12) * <(size) = []>))\nif <not <(_i8) > [0]>> then\n    set [_x v] to ((1) * (x))\n    set [_y v] to ((1) * (y))\n    switch costume to ( _ v)\n    stop [this script v]\nend\nset [_i7 v] to (((width) + <(width) = []>) * (_i8))\nset [_i9 v] to (([tan v] of (slant) ) * (_i8))\nset [_i2 v] to ((al.x) + (((0.5) * <(al.x) = [c]>) + <(al.x) = [r]>))\nset [_i3 v] to ((al.y) + (((0.5) * <(al.y) = [c]>) + <(al.y) = [t]>))\nset [_i4 v] to (((cspace) + <(cspace) = []>) * ((0.27) * (_i8)))\nset pen size to ((0.125) * (((weight) + <(weight) = []>) * (_i8)))\n_printText (text) ((1) * (x)) ((y) - ((_i3) * (_i8))) ((xmin) + (<(xmin) = []> * ((-1) / (0)))) ((xmax) + (<(xmax) = []> * ((1) / (0)))) (_i4) (ul.height) (((weight) + <(weight) = []>) * ((ul.weight) + <(ul.weight) = []>)) ((-1) * (_i2))\n\ndefine Get Width | Size (size) (width) Space (cspace) Text (text)\n_getWidth (text) (((size) + ((12) * <(size) = []>)) * ((width) + <(width) = []>)) (((cspace) + <(cspace) = []>) * ((0.27) * ((size) + ((12) * <(size) = []>))))\n\ndefine Print WW | Pos (x) (y) Size (size) (width) Bounds (xmin) (xmax) (ymax) (ymin) Space (cspace) (lspace) Style (weight) (slant) Underline (ul.height) (ul.weight) Align (al.x) (al.y) Text (text)\npen up\nset [_i0 v] to ((size) + ((12) * <(size) = []>))\nif <not <(_i0) > [0]>> then\n    set [_x v] to ((1) * (x))\n    set [_y v] to ((1) * (y))\n    switch costume to ( _ v)\n    stop [this script v]\nend\nset [_i0 v] to (((width) + <(width) = []>) * (_i0))\nset [_i1 v] to ((xmin) + ((-230) * <(xmin) = []>))\nset [_i2 v] to ((xmax) + ((230) * <(xmax) = []>))\nset [_i3 v] to (item (1) of [_chwidth v])\nset [_i4 v] to (((0.27) * ((cspace) + <(cspace) = []>)) / ((width) + <(width) = []>))\n_calcWW (text) (((_i2) - (_i1)) / (_i0)) (<not <(x) = []>> * (((x) - (_i1)) / (_i0))) (_i4) ((_i4) + (_i3))\nset [_i7 v] to (_i0)\nset [_i8 v] to ((size) + ((12) * <(size) = []>))\nset [_i3 v] to ((al.x) + (((0.5) * <(al.x) = [c]>) + <(al.x) = [r]>))\nset [_i0 v] to ((lspace) + <(lspace) = []>)\nif <(al.y) = []> then\n    set [_i4 v] to [1]\nelse\n    if <(al.y) = ((1) * (al.y))> then\n        set [_i4 v] to (al.y)\n    else\n        if <(al.y) = [b]> then\n            set [_i4 v] to ((length of [_ww1 v]) - <<(item (1) of [_ww2 v]) = [0]> and <(x) = []>>)\n        else\n            if <(al.y) = [c]> then\n                set [_i4 v] to ((0.5) * ((((0.7) * (_i0)) / (((0.7) * (_i0)) + (1))) + ((length of [_ww1 v]) - <<(item (1) of [_ww2 v]) = [0]> and <(x) = []>>)))\n            else\n                set [_i4 v] to (((0.7) * (_i0)) / (((0.7) * (_i0)) + (1)))\n            end\n        end\n    end\nend\nset [_i5 v] to ((0.1) * ((((ul.weight) + <(ul.weight) = []>) * ((weight) + <(weight) = []>)) * (_i8)))\nif <(ymax) = []> then\n    set [_i6 v] to ((1) / (0))\nelse\n    set [_i6 v] to ((ymax) - (_i0))\nend\nset [_i9 v] to (([tan v] of (slant) ) * (_i8))\n_printWW ((((1) - (_i3)) * (_i1)) + ((_i3) * (_i2))) (x) ((1) - <(x) = []>) ((1) * (y)) (_i6) ((ymin) + (<(ymin) = []> * ((-1) / (0)))) (((cspace) + <(cspace) = []>) * ((0.27) * (_i8))) ((_i8) * ((-1) - ((0.7) * (_i0)))) ((0.125) * (((weight) + <(weight) = []>) * (_i8))) ((ul.height) * (_i8)) (_i5) ((ul.height) * (_i9)) <not <(ul.height) = []>> ((-1) * ((_i3) * (_i7))) (_i4)\n\ndefine _printText (text) (x) (y) (xmin) (xmax) (cspace) (ul.height) (ul.weight) (al.x)\nset [_x v] to (x)\nset [_y v] to (y)\nif <not <(al.x) = [0]>> then\n    set [_width v] to [0]\n    _getWidth (text) (_i7) (cspace)\n    change [_x v] by ((al.x) * (_width))\nend\nset [_bq v] to ([ceiling v] of (((0.075) * ([sqrt v] of ((_i7) * (_i8)) )) + (0.5)) )\nset [_bq2 v] to ((4) * ((_bq) * (_bq)))\nset [_i0 v] to [1]\nif <<(xmin) = ((-1) / (0))> and <(xmax) = ((1) / (0))>> then\n    if <(_i9) = [0]> then\n        repeat (length of (text))\n            switch costume to (blank v)\n            switch costume to (join (letter (_i0) of (text)) [_])\n            if <(costume [number v]) > [1]> then\n                _printCh ((costume [number v]) - (1))\n                change [_x v] by (cspace)\n            end\n            change [_i0 v] by (1)\n        end\n    else\n        repeat (length of (text))\n            switch costume to (blank v)\n            switch costume to (join (letter (_i0) of (text)) [_])\n            if <(costume [number v]) > [1]> then\n                _printChSl ((costume [number v]) - (1))\n                change [_x v] by (cspace)\n            end\n            change [_i0 v] by (1)\n        end\n    end\nelse\n    repeat (length of (text))\n        switch costume to (blank v)\n        switch costume to (join (letter (_i0) of (text)) [_])\n        if <(costume [number v]) > [1]> then\n            if <not <<(_x) < (xmin)> or <((_x) + ((_i7) * (item ((costume [number v]) - (1)) of [_chwidth v]))) > (xmax)>>> then\n                _printChSl ((costume [number v]) - (1))\n            else\n                change [_x v] by ((_i7) * (item ((costume [number v]) - (1)) of [_chwidth v]))\n            end\n            change [_x v] by (cspace)\n        end\n        change [_i0 v] by (1)\n    end\nend\nswitch costume to ( _ v)\nif <not <(ul.height) = []>> then\n    set pen size to ((0.1) * (((ul.weight) + <(ul.weight) = []>) * (_i8)))\n    set [_i1 v] to ((x) + ((al.x) * (_width)))\n    if <(_i1) < (xmin)> then\n        set [_i1 v] to (xmin)\n    end\n    go to x: (((_i1) + ((_i9) * (ul.height))) - ((0.13) * (_i7))) y: ((y) + ((ul.height) * (_i8)))\n    pen down\n    set [_i2 v] to ((_x) - (cspace))\n    if <(_i2) > (xmax)> then\n        set [_i2 v] to (xmax)\n    end\n    set x to (((_i2) + ((_i9) * (ul.height))) + ((0.13) * (_i7)))\n    pen up\nend\n\ndefine _printWW (x) (firstx) (firstline) (y) (ymax) (ymin) (cspace) (lspace) (wt) (ul.height) (ul.weight) (ul.offset) <undl> (al.x) (al.y)\nswitch costume to ( _ v)\nset [_x v] to (x)\nset [_y v] to ((y) - (((al.y) - (1)) * (lspace)))\nset [_i0 v] to [1]\nset [_i1 v] to [1]\nif <(item (1) of [_ww2 v]) = [0]> then\n    change [_i0 v] by (1)\n    change [_i1 v] by (1)\n    if <(firstline) = [1]> then\n        change [_y v] by (lspace)\n    end\nend\nrepeat until <<not <(_y) > (ymax)>> or <(_i0) > (length of [_ww1 v])>>\n    change [_i1 v] by ((item (_i0) of [_ww2 v]) + (1))\n    change [_i0 v] by (1)\n    change [_y v] by (lspace)\nend\nset [_bq v] to ([ceiling v] of (((0.075) * ([sqrt v] of ((_i7) * (_i8)) )) + (0.5)) )\nset [_bq2 v] to ((4) * ((_bq) * (_bq)))\nrepeat until <<(_y) < (ymin)> or <(_i0) > (length of [_ww1 v])>>\n    if <(_i0) = (firstline)> then\n        set [_x v] to (firstx)\n    else\n        set [_x v] to ((x) + ((al.x) * (item (_i0) of [_ww1 v])))\n    end\n    set pen size to (wt)\n    if <(_i9) = [0]> then\n        repeat (item (_i0) of [_ww2 v])\n            _printCh (item (_i1) of [_ww0 v])\n            change [_x v] by (cspace)\n            change [_i1 v] by (1)\n        end\n    else\n        repeat (item (_i0) of [_ww2 v])\n            _printChSl (item (_i1) of [_ww0 v])\n            change [_x v] by (cspace)\n            change [_i1 v] by (1)\n        end\n    end\n    if <undl> then\n        set pen size to (ul.weight)\n        if <(_i0) = (firstline)> then\n            go to x: (((firstx) + (ul.offset)) - ((0.13) * (_i7))) y: ((_y) + (ul.height))\n        else\n            go to x: ((((x) + ((al.x) * (item (_i0) of [_ww1 v]))) + (ul.offset)) - ((0.13) * (_i7))) y: ((_y) + (ul.height))\n        end\n        pen down\n        set x to ((((_x) - (cspace)) + (ul.offset)) + ((0.13) * (_i7)))\n        pen up\n    end\n    change [_i0 v] by (1)\n    change [_i1 v] by (1)\n    change [_y v] by (lspace)\nend\nif <((length of [_ww1 v]) - <(item (1) of [_ww2 v]) = [0]>) > [0]> then\n    change [_y v] by ((-1) * (lspace))\nend\ndelete all of [_ww0 v]\ndelete all of [_ww1 v]\ndelete all of [_ww2 v]\n\ndefine _printCh (id)\nset [_i2 v] to (item (id) of [_chindex v])\nif <(item (_i2) of [_chdata1 v]) = [Q]> then\n    repeat (item (_i2) of [_chdata0 v])\n        change [_i2 v] by (1)\n        go to x: ((_x) + ((_i7) * (item (_i2) of [_chdata0 v]))) y: ((_y) + ((_i8) * (item (_i2) of [_chdata1 v])))\n        pen down\n        repeat (item (_i2) of [_chdata2 v])\n            change [_i2 v] by (1)\n            if <(item (_i2) of [_chdata0 v]) = [L]> then\n                go to x: ((x position) + ((_i7) * (item (_i2) of [_chdata1 v]))) y: ((y position) + ((_i8) * (item (_i2) of [_chdata2 v])))\n            else\n                set [_i3 v] to (((_i7) * (item (_i2) of [_chdata0 v])) / (_bq2))\n                set [_i4 v] to ((((_i7) * (item (_i2) of [_chdata1 v])) / (_bq)) + ((_i3) / (2)))\n                set [_i5 v] to (((_i8) * (item (_i2) of [_chdata2 v])) / (_bq2))\n                set [_i6 v] to ((((_i8) * (item (_i2) of [_chdata3 v])) / (_bq)) + ((_i5) / (2)))\n                repeat (_bq)\n                    go to x: ((x position) + (_i4)) y: ((y position) + (_i6))\n                    change [_i4 v] by (_i3)\n                    change [_i6 v] by (_i5)\n                    go to x: ((x position) + (_i4)) y: ((y position) + (_i6))\n                    change [_i4 v] by (_i3)\n                    change [_i6 v] by (_i5)\n                end\n            end\n        end\n        pen up\n    end\nelse\n    repeat (item (_i2) of [_chdata0 v])\n        change [_i2 v] by (1)\n        go to x: ((_x) + ((_i7) * (item (_i2) of [_chdata0 v]))) y: ((_y) + ((_i8) * (item (_i2) of [_chdata1 v])))\n        pen down\n        repeat (item (_i2) of [_chdata2 v])\n            change [_i2 v] by (1)\n            go to x: ((x position) + ((_i7) * (item (_i2) of [_chdata0 v]))) y: ((y position) + ((_i8) * (item (_i2) of [_chdata1 v])))\n        end\n        pen up\n    end\nend\nchange [_i2 v] by (1)\nchange pen size by (1)\nrepeat (item (_i2) of [_chdata0 v])\n    change [_i2 v] by (1)\n    go to x: ((_x) + ((_i7) * (item (_i2) of [_chdata0 v]))) y: ((_y) + ((_i8) * (item (_i2) of [_chdata1 v])))\n    pen down\n    pen up\nend\nchange pen size by (-1)\nchange [_x v] by ((_i7) * (item (id) of [_chwidth v]))\n\ndefine _printChSl (id)\nset [_i2 v] to (item (id) of [_chindex v])\nif <(item (_i2) of [_chdata1 v]) = [Q]> then\n    repeat (item (_i2) of [_chdata0 v])\n        change [_i2 v] by (1)\n        go to x: ((_x) + (((_i7) * (item (_i2) of [_chdata0 v])) + ((_i9) * (item (_i2) of [_chdata1 v])))) y: ((_y) + ((_i8) * (item (_i2) of [_chdata1 v])))\n        pen down\n        repeat (item (_i2) of [_chdata2 v])\n            change [_i2 v] by (1)\n            if <(item (_i2) of [_chdata0 v]) = [L]> then\n                go to x: ((x position) + (((_i7) * (item (_i2) of [_chdata1 v])) + ((_i9) * (item (_i2) of [_chdata2 v])))) y: ((y position) + ((_i8) * (item (_i2) of [_chdata2 v])))\n            else\n                set [_i3 v] to ((((_i7) * (item (_i2) of [_chdata0 v])) + ((_i9) * (item (_i2) of [_chdata2 v]))) / (_bq2))\n                set [_i4 v] to (((((_i7) * (item (_i2) of [_chdata1 v])) + ((_i9) * (item (_i2) of [_chdata3 v]))) / (_bq)) + ((_i3) / (2)))\n                set [_i5 v] to (((_i8) * (item (_i2) of [_chdata2 v])) / (_bq2))\n                set [_i6 v] to ((((_i8) * (item (_i2) of [_chdata3 v])) / (_bq)) + ((_i5) / (2)))\n                repeat (_bq)\n                    go to x: ((x position) + (_i4)) y: ((y position) + (_i6))\n                    change [_i4 v] by (_i3)\n                    change [_i6 v] by (_i5)\n                    go to x: ((x position) + (_i4)) y: ((y position) + (_i6))\n                    change [_i4 v] by (_i3)\n                    change [_i6 v] by (_i5)\n                end\n            end\n        end\n        pen up\n    end\nelse\n    repeat (item (_i2) of [_chdata0 v])\n        change [_i2 v] by (1)\n        go to x: ((_x) + (((_i7) * (item (_i2) of [_chdata0 v])) + ((_i9) * (item (_i2) of [_chdata1 v])))) y: ((_y) + ((_i8) * (item (_i2) of [_chdata1 v])))\n        pen down\n        repeat (item (_i2) of [_chdata2 v])\n            change [_i2 v] by (1)\n            go to x: ((x position) + (((_i7) * (item (_i2) of [_chdata0 v])) + ((_i9) * (item (_i2) of [_chdata1 v])))) y: ((y position) + ((_i8) * (item (_i2) of [_chdata1 v])))\n        end\n        pen up\n    end\nend\nchange [_i2 v] by (1)\nchange pen size by (1)\nrepeat (item (_i2) of [_chdata0 v])\n    change [_i2 v] by (1)\n    go to x: ((_x) + (((_i7) * (item (_i2) of [_chdata0 v])) + ((_i9) * (item (_i2) of [_chdata1 v])))) y: ((_y) + ((_i8) * (item (_i2) of [_chdata1 v])))\n    pen down\n    pen up\nend\nchange pen size by (-1)\nchange [_x v] by ((_i7) * (item (id) of [_chwidth v]))\n\nwhen I receive [text v]\npen\n\ndefine pen\nSet Pen Color | RGBA [255] [255] [255] []\nif <(show name) = [1]> then\n    print username ((x) - (camx)) (((y) - (camy)) - (30)) (chat) (username)\n    set [i v] to [0]\n    repeat ((length of [in range users v]) / (6))\n        print username (item ((i) + (1)) of [in range users v]) ((item ((i) + (2)) of [in range users v]) - (30)) (item ((i) + (4)) of [in range users v]) (item ((i) + (5)) of [in range users v])\n    end\n    Print | Pos [-190] [150] Size [20] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text (round (timer))\n    Print | Pos [190] [150] Size [20] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text (user count)\nend\nif <(chat?) = [1]> then\n    Print | Pos [-200] [70] Size [10] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text [hi]\n    Print | Pos [-200] [50] Size [10] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text [nice]\n    Print | Pos [-200] [30] Size [10] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text [yey]\n    Print | Pos [-200] [10] Size [10] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text [nooooo]\n    Print | Pos [-200] [-10] Size [10] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text [lol]\n    Print | Pos [-200] [-30] Size [10] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text [bye]\n    Print | Pos [-200] [-50] Size [10] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text [:\)]\n    Print | Pos [-200] [-70] Size [10] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text [:\(]\nend\n\ndefine print username (x) (y) (chat) (name)\nif <(chat) = [0]> then\n    Print | Pos (x) (y) Size [12] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text (name)\nelse\n    Print | Pos (x) (y) Size [12] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text (join (name) (join [ : ] (item (chat) of [chats v])))\nend\n\nwhen I receive [goal v]\nset [p1 v] to [0]\nrepeat until <(p1) > [29.9]>\n    erase all\n    change [p1 v] by (((30) - (p1)) / (5))\n    Print | Pos [] [] Size (p1) [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text [Game clear!]\nend\nPrint | Pos [] [-100] Size [20] [] Bounds [] [] Space [1] Style [] [] Underline [] [] Align [0.5] [0.5] Text (join [time : ] (round (timer)))\n\n@intro\n\ndefine (var) = new variable[gv]\nif <not <[gv v] contains (var)?>> then\n    add [0] to [gv v]\n    add (var) to [gv v]\nend\n\ndefine change (var) by (num) [gv]\nreplace item ((item # of (var) in [gv v]) - (1)) of [gv v] with ((item ((item # of (var) in [gv v]) - (1)) of [gv v]) + (num))\n\ndefine (var) = (num) [gv]\nreplace item ((item # of (var) in [gv v]) - (1)) of [gv v] with (num)\n\ndefine cos (cos) colors (color) (brightness) (ghost) size (size) pos (x) (y) (direction) front? (front) show (show)\nfirst (cos) (color) (brightness) (ghost) (x) (y) (direction) (size) (front)\nwait\nif <(show) = []> then\n    show\nelse\n    hide\nend\n\ndefine intro\nerase all\nhide\nset [transport v] to [0]\ndelete all of [gv v]\ndelete all of [cv v]\n[log] = new variable[gv]\n[log] = ((days since 2000) * (8640000)) [gv]\n[timer] = new variable[gv]\n[x] = new variable[gv]\n[y] = new variable[gv]\n[size] = new variable[gv]\n[dire] = new variable[gv]\n[calx] = new variable[gv]\n[caly] = new variable[gv]\n[calz] = new variable[gv]\n[arrow] = new variable[gv]\n[calx2] = new variable[gv]\n[caly2] = new variable[gv]\n[calz2] = new variable[gv]\n[caldire2] = new variable[gv]\n[start?] = new variable[gv]\n[finish?] = new variable[gv]\n[x] = new variable[cv];\n[y] = new variable[cv];\n[dire] = new variable[cv];\n[size] = new variable[cv];\n[demo] = new variable[cv];\n[distance] = new variable[cv];\nset camera [0] [0] [0] [-80]\ndelete all of [line v]\nadd line [0] [150] 1 [-100] [50] 2 [10] speed [0] wait\nadd line [-100] [50] 1 [0] [-150] 2 [10] speed [0.1] wait\nadd line [0] [150] 1 [100] [50] 2 [10] speed [0.2] wait\nadd line [100] [50] 1 [0] [-150] 2 [10] speed [0.3] wait\nadd line [0] [150] 1 [40] [60] 2 [10] speed [0.6] wait\nadd line [0] [150] 1 [-40] [60] 2 [10] speed [0.5] wait\nadd line [-100] [50] 1 [-40] [60] 2 [10] speed [0.8] wait\nadd line [100] [50] 1 [40] [60] 2 [10] speed [1] wait\nadd line [20] [60] 1 [-20] [60] 2 [10] speed [1.5] wait\nadd line [-20] [20] 1 [20] [20] 2 [10] speed [1.8] wait\nadd line [0] [-150] 1 [30] [20] 2 [10] speed [0.5] wait\nadd line [0] [-150] 1 [-30] [20] 2 [10] speed [0.7] wait\nadd line [30] [20] 1 [100] [50] 2 [10] speed [1.2] wait\nadd line [-30] [20] 1 [-100] [50] 2 [10] speed [1.3] wait\n[timer] = [0] [gv]\n[log] = ((days since 2000) * (8640000)) [gv]\n[start?] = [1] [gv]\n\ndefine change (var) by (num) [cv]\nreplace item ((item # of (var) in [cv v]) - (1)) of [cv v] with ((item ((item # of (var) in [cv v]) - (1)) of [cv v]) + (num))\n\ndefine (var) = new variable[cv];\nif <not <[cv v] contains (var)?>> then\n    add [0] to [cv v]\n    add (var) to [cv v]\nend\n\ndefine set camera (x) (y) (z) (direction)\n[x] = (x) [gv]\n[y] = (y) [gv]\n[size] = (z) [gv]\n[dire] = (direction) [gv]\n\ndefine record (x) (y) (dire) (size)\n[x] = (x) [cv];\n[y] = (y) [cv];\n[dire] = (dire) [cv];\n[size] = (size) [cv];\n[demo] = ((([atan v] of ((x) / (y)) ) + (<(y) < [0]> * (180))) + (<(letter (1) of (item (9) of [cv v])) = [-]> * (360))) [cv];\n[distance] = ([sqrt v] of (((x) * (x)) + ((y) * (y))) ) [cv];\n\ndefine go to (x) (y) (direction) (size) (cos)\nrecord (x) (y) (direction) (size)\npos hack (costume) (size)\nset [calculatedx v] to (((((([sin v] of ((item (11) of [gv v]) + (item (9) of [cv v])) ) * (item (11) of [cv v])) + (item (5) of [gv v])) + ((item (13) of [gv v]) * (1))) * ((item (9) of [gv v]) / (100))) * (1))\nset [calculatedy v] to (((((([cos v] of ((item (11) of [gv v]) + (item (9) of [cv v])) ) * (item (11) of [cv v])) + (item (7) of [gv v])) + ((item (13) of [gv v]) * (1))) * ((item (9) of [gv v]) / (100))) * (1))\ngo to x: (calculatedx) y: (calculatedy)\npoint in direction ((item (5) of [cv v]) + (item (11) of [gv v]))\nfixed\nif <(((item (7) of [cv v]) * ((item (9) of [gv v]) / (100))) + ()) > [100]> then\n    switch costume to (blank v)\nelse\n    switch costume to (all v)\nend\nset size to (((item (7) of [cv v]) * ((item (9) of [gv v]) / (100))) + ((item (17) of [gv v]) / (5))) %\nswitch costume to (cos)\n\ndefine pos hack (cos) (size)\nset [cos\(record\) v] to (cos)\nset [size\(record\) v] to (size)\nswitch costume to (blank v)\nset size to ((1) / (0)) %\n\ndefine change camera (x) (y) (z) (direction)\n[x] = ((x) + (item (5) of [gv v])) [gv]\n[y] = ((y) + (item (7) of [gv v])) [gv]\n[size] = ((z) + (item (9) of [gv v])) [gv]\n[dire] = ((direction) + (item (11) of [gv v])) [gv]\n\nwhen I receive [\[#1.intro for me by xx_freezer_xx\] v]\nintro\nrepeat until <[1] = (item (31) of [gv v])>\n    checker\n    erase all\n    intro programs\nend\nerase all\nstop all sounds\n\ndefine move (num) steps\nchange [intro: x v] by (([sin v] of (direction) ) * (num))\nchange [intro: y v] by (([cos v] of (direction) ) * (num))\n\ndefine wait\nwait until <(item (29) of [gv v]) = [1]>\n\ndefine first (cos) (color) (bright) (ghost) (x) (y) (direction) (size) (front)\nset [costume v] to (cos)\nset [intro: x v] to (x)\nset [intro: y v] to (y)\nset [size v] to (size)\nset [direction v] to (direction)\nhide\nclear graphic effects\nif <(size) > [100]> then\n    switch costume to (blank v)\nelse\n    switch costume to (all v)\nend\nset size to (size) %\nset [color v] effect to (color)\nset [brightness v] effect to (bright)\nset [ghost v] effect to (ghost)\npos hack (cos) (size)\nswitch costume to (all v)\ngo to x: (x) y: (y)\nfixed\nswitch costume to (cos)\npoint in direction (direction)\nif <[] = (front)> then\n    go to [front v] layer\nend\n\ndefine size hack (size) (cos)\nif <(size) > [100]> then\n    switch costume to (blank v)\nelse\n    switch costume to (all v)\nend\nset size to (size) %\nswitch costume to (cos)\n\ndefine fixed\nif <(size\(record\)) > [100]> then\n    switch costume to (blank v)\nelse\n    switch costume to (all v)\nend\nset size to (size\(record\)) %\nswitch costume to (cos\(record\))\n\ndefine (var) = (num) [cv];\nreplace item ((item # of (var) in [cv v]) - (1)) of [cv v] with (num)\n\ndefine checker\n[timer] = ((((days since 2000) * (8640000)) - (item (1) of [gv v])) / (100)) [gv]\nif <mouse down?> then\n    [finish?] = [1] [gv]\n    broadcast (\[intro\]\[#1\]end intro v)\nend\nchange [calz] by ((() - (item (17) of [gv v])) / (7)) [gv]\n[calx] = (([sin v] of ((item (3) of [gv v]) * (550)) ) * ((item (17) of [gv v]) / (3))) [gv]\n[caly] = (([cos v] of ((item (3) of [gv v]) * (450)) ) * ((item (17) of [gv v]) / (3))) [gv]\ncos [copyright] colors [] [] [100] size [100] pos [] [] [90] front? [] show [rt]\n\ndefine set pen (size) size (color) color (bright) bright (transportancy) transportancy (saturation) saturation\nset pen size to (size)\nchange pen (color v) by (color)\nset pen (brightness v) to (bright)\nset pen (transparency v) to (transportancy)\nset pen (saturation v) to (saturation)\n\ndefine objects\npen up\nmemo [line]\nset [i v] to [0]\nrepeat ((length of [line v]) / (9))\n    if <(item (3) of [gv v]) > (item ((i) + (6)) of [line v])> then\n        pen up\n        replace item ((i) + (1)) of [line v] with ((item ((i) + (1)) of [line v]) + (((item ((i) + (3)) of [line v]) - (item ((i) + (1)) of [line v])) / (item ((i) + (5)) of [line v])))\n        replace item ((i) + (2)) of [line v] with ((item ((i) + (2)) of [line v]) + (((item ((i) + (4)) of [line v]) - (item ((i) + (2)) of [line v])) / (item ((i) + (5)) of [line v])))\n        replace item ((i) + (9)) of [line v] with ((item ((i) + (9)) of [line v]) + (((0) - (item ((i) + (9)) of [line v])) / (item ((i) + (5)) of [line v])))\n        set pen ((item ((i) + (9)) of [line v]) / (2)) size [] color [100] bright (transport) transportancy [0] saturation\n        go to (item ((i) + (1)) of [line v]) (item ((i) + (2)) of [line v]) [90] [999999] [all]\n        pen down\n        pen up\n        set pen [1] size [] color [100] bright (transport) transportancy [0] saturation\n        go to (item ((i) + (7)) of [line v]) (item ((i) + (8)) of [line v]) [90] [999999] [all]\n        pen down\n        go to (item ((i) + (1)) of [line v]) (item ((i) + (2)) of [line v]) [90] [999999] [all]\n        pen up\n    end\n    change [i v] by (9)\nend\n\ndefine memo (memo)\n\ndefine add line (x1) (y1) 1 (x2) (y2) 2 (speed) speed (wait) wait\nadd (x1) to [line v]\nadd (y1) to [line v]\nadd (x2) to [line v]\nadd (y2) to [line v]\nadd (speed) to [line v]\nadd (wait) to [line v]\nadd (x1) to [line v]\nadd (y1) to [line v]\nadd [10] to [line v]\n\ndefine intro programs\nchecker\nbg\nobjects\nFX\n\nwhen I receive [\[#1.intro for me by xx_freezer_xx\] v]\nstart sound [Minimalistic Intro for TIG \(dual\) v]\n\nwhen I receive [\[#1.intro for me by xx_freezer_xx\] v]\nrepeat until <(item (3) of [gv v]) > [2.3]>\n    change camera [] [] (((70) - (item (9) of [gv v])) / (13)) ((() - (item (11) of [gv v])) / (20))\n    if <[1] = (item (31) of [gv v])> then\n        stop [this script v]\n    end\nend\nrepeat until <(item (3) of [gv v]) > [2.8]>\n    change camera [] [] (((10) - (item (9) of [gv v])) / (10)) ((() - (item (11) of [gv v])) / (20))\n    if <[1] = (item (31) of [gv v])> then\n        stop [this script v]\n    end\nend\nrepeat until <(item (3) of [gv v]) > [4.5]>\n    change camera [] [] (((100) - (item (9) of [gv v])) / (10)) ((() - (item (11) of [gv v])) / (20))\n    if <(transport) < [105]> then\n        change [transport v] by (5)\n    end\n    if <[1] = (item (31) of [gv v])> then\n        stop [this script v]\n    end\nend\ndelete all of [line v]\nset [transport v] to [100]\nset [p1 v] to [1]\nrepeat until <(item (3) of [gv v]) > [6]>\n    change [p1 v] by ((p1) / (3))\n    change [transport v] by (-5)\n    change [size] by (p1) [gv]\n    if <[1] = (item (31) of [gv v])> then\n        stop [this script v]\n    end\nend\nif <[0] = (item (31) of [gv v])> then\n    [finish?] = [1] [gv]\n    broadcast (\[intro\]\[#1\]end intro v)\nend\n\ngo to [100] [] [90] [] [all]\n\ndefine FX\nif <(item (3) of [gv v]) > [2.8]> then\n    cos [logo] colors [] [] (((transport) * (-1)) + (100)) size [100] pos [] [] [90] front? [] show [45]\n    go to [] [] [90] [100] [logo]\n    stamp\nend\n\ndefine bg\ngo to x: (0) y: (0)\nset pen [99999999999] size [] color [-100] bright ((((transport) * (-1)) + (100)) * <(item (3) of [gv v]) > [4]>) transportancy [] saturation\npen down\npen up\ngo to x: (0) y: (0)\ncos [copyright] colors [] [-50] ((((transport) * (-1)) + (100)) * <(item (3) of [gv v]) > [4]>) size [100] pos [] [] [90] front? [] show [45]\nstamp\n\n@image20\n\nwhen flag clicked\nhide\n\nwhen I receive [setup2 v]\nerase all\nshow\n\n