☁ The Mountain || Multiplayer Platformer                         #games #all
@Stage\n\nwhen [m v] key pressed\nif <(username) = [Ufhire]> then\n    show variable [mouse v]\n    set [mouse v] to (join ((mouse x) + (SCROLL X)) (join [, ] ((mouse y) + (SCROLL Y))))\nend\n\nwhen flag clicked\nhide variable [mouse v]\n\n@Blank\n\n@Player\n\ndefine Test - Die\nif <touching (lava v)?> then\n    if <(Life2) = [0]> then\n        set [exit v] to [die]\n    end\nend\n\ndefine Game - Die\nbroadcast (Die v) and wait\nhide\nwait (0.5) seconds\nset [exit v] to []\n\nwhen I receive [green flag v]\ngo to [front v] layer\nset size to (100) %\nhide\n\nwhen I receive [play game v]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setup v) and wait\n    game on\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v)\n    end\n    if <(EXIT) = [win]> then\n        Game - Win\n    else\n        Game - Die\n    end\nend\n\ndefine game on\nset [x v] to [-100]\nset [lava touch v] to [0]\nset [y v] to [1100]\nset [scroll x v] to [0]\nset [scroll y v] to [1055]\nset [sy v] to [0]\nset [sx v] to [0]\nset [in air v] to [0]\nset [life2 v] to [3]\nset [costumesused v] to []\nset [exit v] to []\nset [show names v] to [0]\nset [costume_number v] to [1]\nset [flip v] to [0]\npoint in direction (90)\nset size to (50) %\nswitch costume to (o_c v)\nshow\nset [ghost v] effect to (0)\nset [player ghost effect v] to [0]\n\ndefine Tick\ngo to [front v] layer\ngo [backward v] (50) layers\ngo to x: (0) y: (0)\nswitch costume to (hitbox??? v)\nif <(Costume_Number) = [9]> then\n    set [costume_number v] to [1]\nend\nif <(MPTouch) = [1]> then\n    if <(MPlr) = [R]> then\n        change [sx v] by (0.8)\n    else\n        if <(MPlr) = [L]> then\n            change [sx v] by (-0.8)\n        end\n    end\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<(mouse x) < (x position)> and <mouse down?>>> then\n    if <(shop) = [0]> then\n        set [left or right v] to [Left]\n        if <not < (CostumesUsed) contains [S]?>> then\n            change [sx v] by (-1.7)\n        else\n            change [sx v] by (-2)\n        end\n    end\nend\nchange [costume_number v] by (1)\nset [sx v] to ((sx) * (0.8))\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<(mouse x) > (x position)> and <mouse down?>>> then\n    if <(shop) = [0]> then\n        set [left or right v] to [Right]\n        if <not < (CostumesUsed) contains [S]?>> then\n            change [sx v] by (1.7)\n        else\n            change [sx v] by (2)\n        end\n    end\nend\nif <([abs v] of (sx) ) > [0.9]> then\n    Cange player x by (round (sx))\nend\nif <<<key (up arrow v) pressed?> or <<key (space v) pressed?> or <key (w v) pressed?>>> or <<(mouse y) > (y position)> and <mouse down?>>> then\n    if <(shop) = [0]> then\n        if <(in air) < [4]> then\n            if <not < (CostumesUsed) contains [B]?>> then\n                set [sy v] to [18]\n            else\n                set [sy v] to [20]\n            end\n        end\n        if <key (f v) pressed?> then\n            if <(Flip) = [0]> then\n                broadcast (Flip v)\n            end\n        end\n        if <key (g v) pressed?> then\n            if <(Flip) = [0]> then\n                broadcast (Dubble v)\n            end\n        end\n        if <key (b v) pressed?> then\n            if <(Flip) = [0]> then\n                if <not <touching (ladder v)?>> then\n                    broadcast (Backflip v)\n                end\n            end\n        end\n        if <key (v v) pressed?> then\n            if <(Flip) = [0]> then\n                if <not <touching (ladder v)?>> then\n                    broadcast (Dubble backflip v)\n                end\n            end\n        end\n    end\nend\nif <(sy) > [-10]> then\n    change [sy v] by (-2)\nend\nchange player y by (sy)\nTest - Die\nif <<(x) > [-125]> and <(x) < [7950]>> then\n    change [scroll x v] by (round (((x) - (SCROLL X)) / (11)))\nend\nchange [scroll y v] by (round (((y) - (SCROLL Y)) / (11)))\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nPosition\nif <(y) < [-180]> then\n    set [exit v] to [die]\nend\nif <(Flip) = [0 ]> then\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>> or <mouse down?>> then\n        switch costume to (join (letter (1) of (Left or Right)) (Costume_Number))\n    else\n        switch costume to (join [N_] (letter (1) of (Left or Right)))\n    end\nelse\n    switch costume to (join (join (letter (1) of (Left or Right)) [_]) [F])\nend\n\nset [left or right v] to [Center]\n\ndefine change player y by (sy)\nif <(Ladder) = [0]> then\n    if <not <touching (water v)?>> then\n        change [y v] by (sy)\n        change [in air v] by (1)\n    else\n        change [y v] by ((sy) / (5))\n        set [in air v] to [0]\n    end\nelse\n    if <(Ladder) = [1]> then\n        if <not <<<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<(mouse y) < (y position)> and <mouse down?>>> or <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(mouse y) > (y position)> and <mouse down?>>>>> then\n            set [in air v] to [0]\n        else\n            if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(mouse y) > (y position)> and <mouse down?>>> then\n                change [y v] by ((sy) / (2))\n                set [in air v] to [0]\n            else\n                change [y v] by ((sy) / (2))\n                set [in air v] to [0]\n            end\n        end\n    end\nend\nPosition\nrepeat until <not <<<touching (platform v)?> or <touching (sand v)?>> or <touching (moving platform v)?>>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [in air v] to [0]\n    end\n    Position\n    set [sy v] to [0]\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine Cange player x by (sx)\nchange [x v] by (sx)\nPosition\nif <<<touching (platform v)?> or <touching (sand v)?>> or <touching (moving platform v)?>> then\n    repeat (12)\n        change [y v] by (1)\n        Position\n        if <not <<<touching (platform v)?> or <touching (sand v)?>> or <touching (moving platform v)?>>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<(mouse y) > (y position)> and <mouse down?>>> then\n        if <(sx) > [0]> then\n            set [sx v] to [-12]\n        else\n            set [sx v] to [12]\n        end\n        set [in air v] to [0]\n    else\n        set [sx v] to [0]\n    end\n    repeat until <not <<<touching (platform v)?> or <touching (sand v)?>> or <touching (moving platform v)?>>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Game - Win\nrepeat (10)\n    change [ghost v] effect by (10)\n    change [player ghost effect v] by (10)\nend\nhide\nwait (1) seconds\n\nwhen I receive [tick v]\nset [player x v] to (x)\nset [player y v] to (y)\n\nwhen flag clicked\nset [timer2 v] to [0.1]\nforever\n    set [timer2 v] to (timer)\nend\n\nwhen I receive [play game v]\nset [pitch v] effect to (0)\nset [pan left/right v] effect to (0)\nset volume to (round (((Volume) / (10)) * (8))) %\nwait (0.3) seconds\nforever\n    play sound [275807__tyops__adventure-fantasy-theme v] until done\nend\n\nwhen flag clicked\nswitch costume to (o_c v)\nset [costumesused v] to []\nhide variable [timer v]\nforever\n    if <(start timer) = [1]> then\n        set [timer v] to [0]\n        forever\n            wait (0.1) seconds\n            change [timer v] by (0.1)\n        end\n    end\nend\n\nwhen I receive [tick v]\nif <touching (bounce v)?> then\n    if <touching color (#000000)?> then\n        set [sy v] to [33]\n        set [bounce v] to [1]\n    end\nelse\n    set [bounce v] to [0]\nend\n\nwhen I receive [joined v]\nforever\n    if <key (n v) pressed?> then\n        broadcast (show names v) and wait\n    end\nend\n\nwhen I receive [show names v]\nif <(show names) = [0]> then\n    wait until <not <key (n v) pressed?>>\n    set [show names v] to [1]\nelse\n    if <(show names) = [1]> then\n        wait until <not <key (n v) pressed?>>\n        set [show names v] to [0]\n    end\nend\n\nwhen I receive [join game v]\nstop all sounds\n\ndefine send cloud data\nset [encoded v] to []\nwrite (username) to encoded\nwrite (Message) to encoded\nwrite (round ((timer) * (10))) to encoded\nwrite (x) to encoded\nwrite (y) to encoded\nwrite (costume [number v]) to encoded\nwrite (direction) to encoded\nwrite (size) to encoded\nwrite (Player ghost effect) to encoded\nset cloud # (MY PLAYER #) to (encoded)\n\ndefine set cloud # (player) to (value)\nif <(player) = [1]> then\n    set [☁ p1 v] to (value)\nelse\n    if <(player) = [2]> then\n        set [☁ p2 v] to (value)\n    else\n        if <(player) = [3]> then\n            set [☁ p3 v] to (value)\n        else\n            if <(player) = [4]> then\n                set [☁ p4 v] to (value)\n            else\n                if <(player) = [5]> then\n                    set [☁ p5 v] to (value)\n                else\n                    if <(player) = [6]> then\n                        set [☁ p6 v] to (value)\n                    else\n                        if <(player) = [7]> then\n                            set [☁ p7 v] to (value)\n                        else\n                            if <(player) = [8]> then\n                                set [☁ p8 v] to (value)\n                            else\n                                if <(player) = [9]> then\n                                    set [☁ p9 v] to (value)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine write (val) to encoded\nset [letter # v] to [1]\nrepeat (length of (val))\n    set [encoded v] to (join (encoded) (item # of (letter (letter #) of (val)) in [code v]))\n    change [letter # v] by (1)\nend\nset [encoded v] to (join (encoded) [00])\n\nwhen I receive [start v]\nset [my player # v] to [0]\nset [max players v] to [10]\nbroadcast (setup-opponents v) and wait\nbroadcast (join game v) and wait\nif <(MY PLAYER #) > [0]> then\n    broadcast (joined v)\nelse\n    broadcast (server full v)\nend\nbroadcast (begin v)\n\nwhen I receive [begin v]\nforever\n    if <(MY PLAYER #) > [0]> then\n        send cloud data\n    end\nend\n\nwhen I receive [green flag v]\nforever\n    think (item (Message) of [chat v])\nend\n\nwhen I receive [win v]\nset volume to (0) %\n\nwhen I receive [continue v]\nset volume to (round (((Volume) / (10)) * (8))) %\n\nwhen flag clicked\nbroadcast (Green Flag v)\nbroadcast (Play Game v)\nbroadcast (Start v)\n\nswitch costume to (n_r v)\n\nif <(Costume_Number) < [10]> then\n    change [costume_number v] by (1)\nelse\n    set [costume_number v] to [1]\nend\n\n\n\nbroadcast (Walljump v)\n\nwhen I receive [dubble backflip v]\nif <(Flip?) = [0]> then\n    if < (costume [name v]) contains [R]?> then\n        set [flip v] to [1]\n        set rotation style [all around v]\n        point in direction (90)\n        switch costume to (r_f v)\n        repeat (20)\n            turn right (-36) degrees\n        end\n        wait until <not <key (v v) pressed?>>\n        set [flip v] to [0]\n    else\n        if < (costume [name v]) contains [L]?> then\n            set [flip v] to [1]\n            set rotation style [all around v]\n            point in direction (90)\n            switch costume to (l_f v)\n            repeat (20)\n                turn right (36) degrees\n            end\n            wait until <not <key (v v) pressed?>>\n            set [flip v] to [0]\n        end\n    end\nelse\n    point in direction (90)\nend\n\nturn right (15) degrees\n\nwhen I receive [die v]\nif < (costume [name v]) contains [R]?> then\n    switch costume to (n_r v)\nelse\n    switch costume to (n_l v)\nend\nrepeat (20)\n    change size by (5)\n    change [ghost v] effect by (5)\n    change [player ghost effect v] by (5)\nend\n\nwrite [] to encoded\n\nwhen I receive [backflip v]\nif <(Flip?) = [0]> then\n    if < (costume [name v]) contains [R]?> then\n        set [flip v] to [1]\n        set rotation style [all around v]\n        point in direction (90)\n        switch costume to (r_f v)\n        repeat (10)\n            turn right (-36) degrees\n        end\n        wait until <not <key (b v) pressed?>>\n        set [flip v] to [0]\n    else\n        if < (costume [name v]) contains [L]?> then\n            set [flip v] to [1]\n            set rotation style [all around v]\n            point in direction (90)\n            switch costume to (l_f v)\n            repeat (10)\n                turn right (36) degrees\n            end\n            wait until <not <key (b v) pressed?>>\n            set [flip v] to [0]\n        end\n    end\nelse\n    point in direction (90)\nend\n\nwhen I receive [dubble v]\nif <(Flip?) = [0]> then\n    if < (costume [name v]) contains [R]?> then\n        set [flip v] to [1]\n        set rotation style [all around v]\n        point in direction (90)\n        switch costume to (r_f v)\n        repeat (20)\n            turn right (36) degrees\n        end\n        wait until <not <key (g v) pressed?>>\n        set [flip v] to [0]\n    else\n        if < (costume [name v]) contains [L]?> then\n            set [flip v] to [1]\n            set rotation style [all around v]\n            point in direction (90)\n            switch costume to (l_f v)\n            repeat (20)\n                turn right (-36) degrees\n            end\n            wait until <not <key (g v) pressed?>>\n            set [flip v] to [0]\n        end\n    end\nelse\n    point in direction (90)\nend\n\nchange [y v] by (sy)\nchange [in air v] by (1)\n\nwhen I receive [tick v]\nif <touching (ladder v)?> then\n    set [ladder v] to [1]\nelse\n    set [ladder v] to [0]\nend\n\nwhen I receive [flip v]\nif <(Flip?) = [0]> then\n    if < (costume [name v]) contains [R]?> then\n        set [flip v] to [1]\n        set rotation style [all around v]\n        point in direction (90)\n        switch costume to (r_f v)\n        repeat (10)\n            turn right (36) degrees\n        end\n        wait until <not <key (f v) pressed?>>\n        set [flip v] to [0]\n    else\n        if < (costume [name v]) contains [L]?> then\n            set [flip v] to [1]\n            set rotation style [all around v]\n            point in direction (90)\n            switch costume to (l_f v)\n            repeat (10)\n                turn right (-36) degrees\n            end\n            wait until <not <key (f v) pressed?>>\n            set [flip v] to [0]\n        end\n    end\nelse\n    point in direction (90)\nend\n\n\n\nwait until <not <<touching (lava v)?> or <touching (enemies v)?>>>\n\nwhen flag clicked\nforever\n    if <touching (lava v)?> then\n        wait (0.25) seconds\n        set [ghost v] effect to (100)\n        wait (0.25) seconds\n        set [ghost v] effect to (0)\n    end\nend\n\n@cloud player\n\ndefine tick\nif <(Turbo mode) = [0]> then\n    set size to (135) %\n    value = cloud # (Player #)\n    if <(join [A] (value)) = (last value)> then\n        change [offline v] by (1)\n        if <(offline) = [100]> then\n            hide\n            change [players v] by (-1)\n        end\n    else\n        set [last value v] to (join [A] (value))\n        if <(offline) > [99]> then\n            show\n            set [players v] to [1]\n        end\n        set [offline v] to [0]\n    end\n    begin decode of (value)\n    value = read from encoded\n    if <(show names) = [1]> then\n        think (value)\n    else\n        if <(show names) = [0]> then\n            think []\n        end\n    end\n    value = read from encoded\n    if <not <(value) = []>> then\n        think (item (value) of [chat v])\n    end\n    value = read from encoded\n    value = read from encoded\n    set x to ((value) - (SCROLL X))\n    value = read from encoded\n    set y to ((value) - (SCROLL Y))\n    value = read from encoded\n    switch costume to (value)\n    value = read from encoded\n    point in direction (value)\n    value = read from encoded\n    set size to (value) %\n    value = read from encoded\n    set [ghost v] effect to (value)\nend\n\ndefine begin decode of (encoded)\nset [encoded v] to (encoded)\nset [letter # v] to [1]\n\ndefine value = read from encoded\nset [value v] to []\nforever\n    set [idx v] to (join (letter (letter #) of (encoded)) (letter ((letter #) + (1)) of (encoded)))\n    change [letter # v] by (2)\n    if <(idx) < [1]> then\n        stop [this script v]\n    end\n    set [value v] to (join (value) (item (idx) of [code v]))\nend\n\ndefine players setup\nset [color v] effect to (0)\nhide\nset [offline v] to [100]\nset [player # v] to [1]\nrepeat ((Max Players) - (1))\n    create clone of (_myself_ v)\n    change [player # v] by (1)\nend\n\nwhen I receive [begin v]\nforever\n    if <(MY PLAYER #) = (Player #)> then\n        set [offline v] to [100]\n        hide\n    else\n        tick\n    end\nend\n\nwhen I receive [setup-opponents v]\nplayers setup\n\ndefine value = cloud # (player)\nif <(player) = [1]> then\n    set [value v] to (☁ P1)\nelse\n    if <(player) = [2]> then\n        set [value v] to (☁ P2)\n    else\n        if <(player) = [3]> then\n            set [value v] to (☁ P3)\n        else\n            if <(player) = [4]> then\n                set [value v] to (☁ P4)\n            else\n                if <(player) = [5]> then\n                    set [value v] to (☁ P5)\n                else\n                    if <(player) = [6]> then\n                        set [value v] to (☁ P6)\n                    else\n                        if <(player) = [7]> then\n                            set [value v] to (☁ P7)\n                        else\n                            if <(player) = [8]> then\n                                set [value v] to (☁ P8)\n                            else\n                                if <(player) = [9]> then\n                                    set [value v] to (☁ P9)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [join game v]\nvalue = cloud # (Player #)\nset [last value v] to (join [A] (value))\nwait (3) seconds\nvalue = cloud # (Player #)\nif <(join [A] (value)) = (last value)> then\n    set [my player # v] to (Player #)\nend\n\nwhen flag clicked\nset [players v] to [0]\nforever\n    set [active players v] to ((Players) + (1))\nend\n\n@Platform\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [ghost v] effect to (0)\ngo to [back v] layer\ngo [forward v] (20) layers\nset size to (100) %\nhide\nset [x v] to [-335]\nset [y v] to [1000]\nswitch costume to (level 1 1 v)\nClone at x: [500] y: [1000]\nClone at x: [335] y: [1000]\nClone at x: [1000] y: [1000]\nClone at x: [400] y: [1100]\nClone at x: [400] y: [1350]\nClone at x: [400] y: [1600]\nClone at x: [400] y: [1600]\nClone at x: [520] y: [1600]\nClone at x: [-400] y: [1900]\nset [ghost v] effect to (100)\nClone at x: [300] y: [1950]\nClone at x: [-200] y: [2170]\nClone at x: [-300] y: [2300]\nClone at x: [-300] y: [2400]\nClone at x: [300] y: [2600]\nClone at x: [300] y: [2800]\nClone at x: [700] y: [1500]\nset [ghost v] effect to (0)\nClone at x: [500] y: [1450]\nClone at x: [-400] y: [2100]\nClone at x: [405] y: [2300]\nClone at x: [300] y: [1450]\nClone at x: [400] y: [1675]\nClone at x: [-150] y: [2200]\nClone at x: [-230] y: [2700]\nClone at x: [300] y: [2700]\nClone at x: [400] y: [2250]\nClone at x: [400] y: [2400]\nClone at x: [400] y: [2600]\nClone at x: [350] y: [2700]\nClone at x: [350] y: [2850]\nClone at x: [350] y: [3000]\nClone at x: [350] y: [3200]\n\nClone at x: [425] y: [2200]\nClone at x: [325] y: [2150]\nClone at x: [325] y: [2100]\nClone at x: [400] y: [2100]\nhide\n\ndefine position (x) (y)\nset size to (100) %\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\nset [y v] to [1675]\n\nset [y v] to [2250]\n\nchange [x v] by (-100)\n\n@Background\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [ghost v] effect to (0)\ngo to [back v] layer\nset size to (100) %\nhide\ngo to [back v] layer\nset [x v] to [-335]\nset [y v] to [1200]\nswitch costume to (level 1 1 v)\nClone at x: [500] y: [1000]\nClone at x: [335] y: [1000]\nClone at x: [1000] y: [1000]\nClone at x: [400] y: [1100]\nClone at x: [400] y: [1350]\nClone at x: [400] y: [1600]\nClone at x: [400] y: [1600]\n\nClone at x: [425] y: [2200]\nClone at x: [325] y: [2150]\nClone at x: [325] y: [2100]\nClone at x: [400] y: [2100]\nhide\n\ndefine position (x) (y)\nset size to (100) %\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\nset [y v] to [1900]\n\n@Moving Platform\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((Moving platform x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [ghost v] effect to (0)\nset size to (100) %\nhide\nset [moving platform x v] to [4020]\nset [y v] to [120]\nbroadcast (Move platform v)\n\nClone at x: [425] y: [2200]\nClone at x: [325] y: [2150]\nClone at x: [325] y: [2100]\nClone at x: [400] y: [2100]\nhide\n\ndefine position (x) (y)\nset size to (100) %\ngo to [front v] layer\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nset [moving platform x v] to (x)\nset [y v] to (y)\nnext costume\n\nwhen I receive [move platform v]\nforever\n    set [moving platform x v] to [4520]\n    set [y v] to [120]\n    repeat (90)\n        set [mplr v] to [R]\n        change [moving platform x v] by (3)\n    end\n    set [mplr v] to [C]\n    wait (0.1) seconds\n    repeat (90)\n        set [mplr v] to [L]\n        change [moving platform x v] by (-3)\n    end\n    set [mplr v] to [C]\n    wait (0.1) seconds\nend\n\n@Collectables\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    start sound [Magic Spell v]\n    change [coins together v] by (1)\n    change [points v] by (1)\n    broadcast (Show coin v)\n    delete this clone\nend\n\nwhen I receive [setup v]\nset volume to (Volume) %\nhide\nset [x v] to [0]\nset [y v] to [0]\nset [collected max v] to [0]\nset [coins together v] to [0]\nswitch costume to (collectable v)\nset [points v] to [0]\nClone at x: [530] y: [835]\nClone at x: [3333] y: [2925]\nClone at x: [4300] y: [2360]\nClone at x: [5540] y: [1625]\nset [y v] to [-10000]\n\ndefine position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\nset [x v] to (x)\nset [y v] to (y)\nchange [collected max v] by (1)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nforever\n    repeat (10)\n        change [y v] by (1)\n    end\n    repeat (10)\n        change [y v] by (-1)\n    end\nend\n\n@Lava\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [ghost v] effect to (0)\ngo to [back v] layer\nset size to (100) %\nhide\nset [x v] to [-335]\nset [y v] to [1000]\nswitch costume to (level 1 1 v)\nClone at x: [500] y: [1000]\nClone at x: [335] y: [1000]\nClone at x: [1000] y: [1000]\nClone at x: [400] y: [1100]\nClone at x: [400] y: [1350]\nClone at x: [400] y: [1600]\nClone at x: [400] y: [1600]\nClone at x: [520] y: [1600]\nClone at x: [-400] y: [1900]\nClone at x: [300] y: [1950]\nClone at x: [-200] y: [2170]\nClone at x: [-300] y: [2300]\nClone at x: [-300] y: [2400]\nClone at x: [300] y: [2600]\nClone at x: [300] y: [2800]\nClone at x: [700] y: [1500]\nClone at x: [500] y: [1450]\nClone at x: [-400] y: [2100]\nClone at x: [405] y: [2300]\n\nClone at x: [425] y: [2200]\nClone at x: [325] y: [2150]\nClone at x: [325] y: [2100]\nClone at x: [400] y: [2100]\nhide\n\ndefine position (x) (y)\nset size to (100) %\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\nset [y v] to [1900]\n\n@Signs\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\ngo to [front v] layer\ngo [backward v] (90) layers\nset [ghost v] effect to (0)\nset size to (100) %\npoint in direction (90)\nhide\nset [x v] to [11111111]\nset [y v] to [11111111]\nswitch costume to (level 1 1 v)\nClone at x: [175] y: [1000] say: [Welcome to the camp here at the bottom of the mountain! You're now going to climb this big mountain. Good luck!]\nClone at x: [3000] y: [1660] say: [Now you have come to a point where it's getting harder for grass and trees to grow!]\nClone at x: [6940] y: [2855] say: [You're now so high up that it's snowing!]\npoint in direction (93)\n\nClone at x: [425] y: [2200] say: []\nClone at x: [325] y: [2150] say: []\nClone at x: [325] y: [2100] say: []\nClone at x: [400] y: [2100] say: []\nhide\n\ndefine position (x) (y)\nset size to (100) %\ngo to x: (x) y: (y)\nif <touching (player v)?> then\n    say (Say)\nelse\n    say []\nend\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y) say: (say)\ncreate clone of (_myself_ v)\nset [say v] to (say)\nset [x v] to (x)\nset [y v] to (y)\n\nset [y v] to [1900]\n\nset [y v] to [2855]\n\n@Time\n\nwhen I receive [tick v]\ngo to x: (0) y: (0)\n\nwhen I receive [win v]\nset [your time v] to (Timer)\n\nwhen I receive [start screen v]\nhide\nset [win v] to [0]\nset [your time v] to [0]\nhide variable [your time v]\n\nwhen flag clicked\nset [high score? v] to [0]\nswitch costume to (costume1 v)\n\n@Thumbnail\n\nwhen [timer v] > (Timer2)\nswitch costume to (costume3 v)\ngo to x: (-240) y: (180)\nset size to (100) %\nshow\nwait (0.001) seconds\ngo to [front v] layer\nglide (0.2) secs to x: (0) y: (0)\n\nwhen I receive [join game v]\nhide\n\nwhen flag clicked\nhide\nset [continue v] to [0]\n\nwhen I receive [win v]\nstart sound [Tada v]\nset [continue v] to [0]\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\ngo to [front v] layer\nshow\nforever\n    if <key (space v) pressed?> then\n        hide\n        broadcast (Continue v)\n        set [continue v] to [1]\n    end\nend\n\nwhen I receive [tick v]\nset size to (100) %\ngo to [front v] layer\ngo [forward v] (10) layers\nif <(Stop all after win) > [300]> then\n    stop [all v]\nend\ngo to [front v] layer\n\nwhen I receive [win v]\nset [stop all after win v] to [0]\nforever\n    if <(Continue) = [0]> then\n        repeat until <(Continue) = [1]>\n            change [stop all after win v] by (1)\n        end\n    end\nend\n\nwhen I receive [setup v]\nset [continue v] to [0]\nset [stop all after win v] to [0]\n\nwhen I receive [continue v]\nset [stop all after win v] to [0]\n\n@Server messages\n\nwhen I receive [joined v]\nstart sound [Connect v]\nswitch costume to (connected v)\nwait (1) seconds\nhide\n\nwhen I receive [join game v]\nshow\ngo to [front v] layer\nswitch costume to (connecting v)\nwait (3) seconds\nset [timer v] to [0]\nset [timer v] to [0]\n\nwhen flag clicked\nhide\nclear graphic effects\n\nwhen I receive [server full v]\nshow\ngo to [front v] layer\nswitch costume to (server full v)\nwait (2) seconds\nhide\n\nwhen I receive [tick v]\ngo to [front v] layer\n\n@Life\n\nwhen I receive [life up v]\nif <(Life2) < [4]> then\n    change [life2 v] by (1)\nend\n\nwhen I receive [reset life v]\nset [life2 v] to [3]\n\nwhen I receive [tick v]\nif <(Life2) > [2]> then\n    set x to (-27)\nelse\n    if <(Life2) > [1]> then\n        set x to (-13.5)\n    else\n        set x to (0)\n    end\nend\ngo to [front v] layer\nClone (Life2) times\n\nwhen I start as a clone\nwait (0.01) seconds\ndelete this clone\n\ndefine Clone (#) times\nif <(menu show) = [1]> then\n    if <(shop2) = [0]> then\n        show\n    else\n        hide\n    end\nelse\n    hide\nend\ngo to [front v] layer\nrepeat ((#) - (1))\n    create clone of (_myself_ v)\n    set y to (165)\n    change x by (27)\nend\n\nwhen flag clicked\nhide\n\n@Text\n\nwhen I receive [text v]\nwait until <not <key (t v) pressed?>>\nset [text v] to [Start screen text]\nif <(show) = [0]> then\n    switch costume to (start screen text v)\n    show\n    set [ghost v] effect to (0)\n    go to [front v] layer\n    set [show v] to [1]\n    broadcast (Setup text v)\nelse\n    if <(show) = [1]> then\n        hide\n        set [show v] to [0]\n    end\nend\n\nwhen flag clicked\nhide\nset [show v] to [0]\nset [text v] to [Start screen text]\n\nwhen I receive [tick v]\nswitch costume to (text)\nif <key (t v) pressed?> then\n    broadcast (Text v)\nend\n\nbroadcast (Write v)\n\nwhen I receive [write v]\nset [message v] to (text)\nset [text v] to [Start screen text]\nhide\nset [show v] to [0]\nwait (2) seconds\nset [message v] to []\n\nwhen I receive [setup text v]\nforever\n    if <(show) = [1]> then\n        if <(text) = [Start screen text]> then\n            if <key (1 v) pressed?> then\n                wait until <not <key (1 v) pressed?>>\n                broadcast (process text v)\n                set [text v] to [Hi!]\n            end\n            if <key (2 v) pressed?> then\n                wait until <not <key (2 v) pressed?>>\n                broadcast (process text v)\n                set [text v] to [Bye!]\n            end\n            if <key (3 v) pressed?> then\n                wait until <not <key (3 v) pressed?>>\n                broadcast (process text v)\n                set [text v] to [Where is...]\n            end\n            if <key (4 v) pressed?> then\n                wait until <not <key (4 v) pressed?>>\n                broadcast (process text v)\n                set [text v] to [Thanks!]\n            end\n            if <key (5 v) pressed?> then\n                wait until <not <key (5 v) pressed?>>\n                broadcast (process text v)\n                set [text v] to [Sorry!]\n            end\n            if <key (6 v) pressed?> then\n                wait until <not <key (6 v) pressed?>>\n                broadcast (process text v)\n                set [text v] to [No!]\n            end\n            if <key (7 v) pressed?> then\n                wait until <not <key (7 v) pressed?>>\n                broadcast (process text v)\n                set [text v] to [Yes!]\n            end\n            if <key (8 v) pressed?> then\n                wait until <not <key (8 v) pressed?>>\n                broadcast (process text v)\n                set [text v] to [I can help you!]\n            end\n            if <key (9 v) pressed?> then\n                wait until <not <key (9 v) pressed?>>\n                broadcast (process text v)\n                set [text v] to [How do you play?]\n            end\n        end\n    end\nend\n\nwhen I receive [process text v]\nif <(show) = [1]> then\n    forever\n        if <(text) = [Hi!]> then\n            if <key (1 v) pressed?> then\n                set [text v] to [1]\n                broadcast (Write v)\n            end\n            if <key (2 v) pressed?> then\n                set [text v] to [2]\n                broadcast (Write v)\n            end\n            if <key (3 v) pressed?> then\n                set [text v] to [3]\n                broadcast (Write v)\n            end\n            if <key (4 v) pressed?> then\n                set [text v] to [4]\n                broadcast (Write v)\n            end\n            if <key (5 v) pressed?> then\n                set [text v] to [5]\n                broadcast (Write v)\n            end\n            if <key (6 v) pressed?> then\n                set [text v] to [6]\n                broadcast (Write v)\n            end\n            if <key (7 v) pressed?> then\n                set [text v] to [7]\n                broadcast (Write v)\n            end\n            if <key (8 v) pressed?> then\n                set [text v] to [8]\n            end\n            if <key (9 v) pressed?> then\n                set [text v] to [9]\n                broadcast (Write v)\n            end\n        else\n            if <(text) = [Bye!]> then\n                if <key (1 v) pressed?> then\n                    set [text v] to [10]\n                    broadcast (Write v)\n                end\n                if <key (2 v) pressed?> then\n                    set [text v] to [11]\n                    broadcast (Write v)\n                end\n                if <key (3 v) pressed?> then\n                    set [text v] to [12]\n                    broadcast (Write v)\n                end\n                if <key (4 v) pressed?> then\n                    set [text v] to [13]\n                    broadcast (Write v)\n                end\n                if <key (5 v) pressed?> then\n                    set [text v] to [14]\n                    broadcast (Write v)\n                end\n                if <key (6 v) pressed?> then\n                    set [text v] to [15]\n                    broadcast (Write v)\n                end\n                if <key (7 v) pressed?> then\n                    set [text v] to [16]\n                    broadcast (Write v)\n                end\n                if <key (8 v) pressed?> then\n                    set [text v] to [17]\n                    broadcast (Write v)\n                end\n            else\n                if <(text) = [Where is...]> then\n                    if <key (1 v) pressed?> then\n                        set [text v] to [18]\n                        broadcast (Write v)\n                    end\n                    if <key (2 v) pressed?> then\n                        set [text v] to [19]\n                        broadcast (Write v)\n                    end\n                    if <key (3 v) pressed?> then\n                        set [text v] to [20]\n                        broadcast (Write v)\n                    end\n                    if <key (4 v) pressed?> then\n                        set [text v] to [21]\n                        broadcast (Write v)\n                    end\n                    if <key (5 v) pressed?> then\n                        set [text v] to [22]\n                        broadcast (Write v)\n                    end\n                    if <key (6 v) pressed?> then\n                        set [text v] to [23]\n                        broadcast (Write v)\n                    end\n                    if <key (7 v) pressed?> then\n                        set [text v] to [24]\n                        broadcast (Write v)\n                    end\n                    if <key (8 v) pressed?> then\n                        set [text v] to [25]\n                        broadcast (Write v)\n                    end\n                    if <key (9 v) pressed?> then\n                        set [text v] to [26]\n                        broadcast (Write v)\n                    end\n                else\n                    if <(text) = [Thanks!]> then\n                        if <key (1 v) pressed?> then\n                            set [text v] to [27]\n                            broadcast (Write v)\n                        end\n                        if <key (2 v) pressed?> then\n                            set [text v] to [28]\n                            broadcast (Write v)\n                        end\n                        if <key (3 v) pressed?> then\n                            set [text v] to [29]\n                            broadcast (Write v)\n                        end\n                        if <key (4 v) pressed?> then\n                            set [text v] to [30]\n                            broadcast (Write v)\n                        end\n                        if <key (5 v) pressed?> then\n                            set [text v] to [31]\n                            broadcast (Write v)\n                        end\n                        if <key (6 v) pressed?> then\n                            set [text v] to [32]\n                            broadcast (Write v)\n                        end\n                        if <key (7 v) pressed?> then\n                            set [text v] to [33]\n                            broadcast (Write v)\n                        end\n                        if <key (8 v) pressed?> then\n                            set [text v] to [34]\n                            broadcast (Write v)\n                        end\n                    else\n                        if <(text) = [Sorry!]> then\n                            if <key (1 v) pressed?> then\n                                set [text v] to [35]\n                                broadcast (Write v)\n                            end\n                            if <key (2 v) pressed?> then\n                                set [text v] to [36]\n                                broadcast (Write v)\n                            end\n                            if <key (3 v) pressed?> then\n                                set [text v] to [37]\n                                broadcast (Write v)\n                            end\n                            if <key (4 v) pressed?> then\n                                set [text v] to [38]\n                                broadcast (Write v)\n                            end\n                            if <key (5 v) pressed?> then\n                                set [text v] to [39]\n                                broadcast (Write v)\n                            end\n                            if <key (6 v) pressed?> then\n                                set [text v] to [40]\n                                broadcast (Write v)\n                            end\n                            if <key (7 v) pressed?> then\n                                set [text v] to [41]\n                                broadcast (Write v)\n                            end\n                        else\n                            if <(text) = [No!]> then\n                                if <key (1 v) pressed?> then\n                                    set [text v] to [42]\n                                    broadcast (Write v)\n                                end\n                                if <key (2 v) pressed?> then\n                                    set [text v] to [43]\n                                    broadcast (Write v)\n                                end\n                                if <key (3 v) pressed?> then\n                                    set [text v] to [44]\n                                    broadcast (Write v)\n                                end\n                                if <key (4 v) pressed?> then\n                                    set [text v] to [45]\n                                    broadcast (Write v)\n                                end\n                                if <key (5 v) pressed?> then\n                                    set [text v] to [46]\n                                    broadcast (Write v)\n                                end\n                                if <key (6 v) pressed?> then\n                                    set [text v] to [47]\n                                    broadcast (Write v)\n                                end\n                                if <key (7 v) pressed?> then\n                                    set [text v] to [48]\n                                    broadcast (Write v)\n                                    if <key (8 v) pressed?> then\n                                        set [text v] to [49]\n                                        broadcast (Write v)\n                                    end\n                                end\n                            else\n                                if <(text) = [Yes!]> then\n                                    if <key (1 v) pressed?> then\n                                        set [text v] to [50]\n                                        broadcast (Write v)\n                                    end\n                                    if <key (2 v) pressed?> then\n                                        set [text v] to [51]\n                                        broadcast (Write v)\n                                    end\n                                    if <key (3 v) pressed?> then\n                                        set [text v] to [52]\n                                        broadcast (Write v)\n                                    end\n                                    if <key (4 v) pressed?> then\n                                        set [text v] to [53]\n                                        broadcast (Write v)\n                                    end\n                                    if <key (5 v) pressed?> then\n                                        set [text v] to [54]\n                                        broadcast (Write v)\n                                    end\n                                    if <key (6 v) pressed?> then\n                                        set [text v] to [55]\n                                        broadcast (Write v)\n                                    end\n                                    if <key (7 v) pressed?> then\n                                        set [text v] to [56]\n                                        broadcast (Write v)\n                                        if <key (8 v) pressed?> then\n                                            set [text v] to [57]\n                                            broadcast (Write v)\n                                        end\n                                        if <key (9 v) pressed?> then\n                                            set [text v] to [58]\n                                            broadcast (Write v)\n                                        end\n                                    end\n                                else\n                                    if <(text) = [I can help you!]> then\n                                        if <key (1 v) pressed?> then\n                                            set [text v] to [59]\n                                            broadcast (Write v)\n                                        end\n                                        if <key (2 v) pressed?> then\n                                            set [text v] to [60]\n                                            broadcast (Write v)\n                                        end\n                                        if <key (3 v) pressed?> then\n                                            set [text v] to [61]\n                                            broadcast (Write v)\n                                        end\n                                        if <key (4 v) pressed?> then\n                                            set [text v] to [62]\n                                            broadcast (Write v)\n                                        end\n                                        if <key (5 v) pressed?> then\n                                            set [text v] to [63]\n                                            broadcast (Write v)\n                                        end\n                                        if <key (6 v) pressed?> then\n                                            set [text v] to [64]\n                                            broadcast (Write v)\n                                        end\n                                    else\n                                        if <(text) = [How do you play?]> then\n                                            if <key (1 v) pressed?> then\n                                                set [text v] to [65]\n                                                broadcast (Write v)\n                                            end\n                                            if <key (2 v) pressed?> then\n                                                set [text v] to [66]\n                                                broadcast (Write v)\n                                            end\n                                            if <key (3 v) pressed?> then\n                                                set [text v] to [67]\n                                                broadcast (Write v)\n                                            end\n                                            if <key (4 v) pressed?> then\n                                                set [text v] to [68]\n                                                broadcast (Write v)\n                                            end\n                                            if <key (5 v) pressed?> then\n                                                set [text v] to [69]\n                                                broadcast (Write v)\n                                            end\n                                            if <key (6 v) pressed?> then\n                                                set [text v] to [70]\n                                                broadcast (Write v)\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\n@Sans Serif Engine\n\nwhen I start as a clone\nif <(menu show) = [1]> then\n    if <(shop2) = [1]> then\n        hide\n    else\n        show\n    end\nelse\n    hide\nend\nforever\n    set x to ((x) + (offset x))\n    set y to ((y) + (offset y))\n    set size to ((offset size) + (Sans Serif Engine: size)) %\nend\n\ndefine type (text) at size (size) at x (x) y (y) bright (bright)\nset [sans serif engine: size v] to (size)\ngo to [front v] layer\nclear graphic effects\nswitch costume to (a v)\nset size to (size) %\nset [brightness v] effect to (bright)\ngo to x: (x) y: (y)\nset [count v] to [0]\nhide\nrepeat (length of (text))\n    if <(x position) > ((240) - ((size) * (0.2)))> then\n        set x to (x)\n        change y by ((Sans Serif Engine: size) * (-0.3))\n    end\n    change [count v] by (1)\n    if <<(letter (count) of (text)) = [ ]> and <not <(x) = (x position)>>> then\n        change x by ((size) * (0.1))\n    else\n        switch costume to (cs v)\n        switch costume to (letter (count) of (text))\n        if <(costume [number v]) = [90]> then\n            switch costume to (join (letter (count) of (text)) [2])\n        end\n        set [x v] to (x position)\n        set [y v] to (y position)\n        create clone of (_myself_ v)\n        change x by (((() * (size)) / (100)) + ((size) * (0.1)))\n    end\nend\nhide\n\nwhen I start as a clone\nwait (0.001) seconds\ndelete this clone\n\nwhen I receive [green flag v]\nforever\n    type (join [@ ] (POINTS)) at size (120) at x (177) y (164) bright (0)\nend\n\nwhen I receive [tick v]\ngo to [front v] layer\n\n@Shop Button\n\nwhen I receive [setup v]\ngo to x: (-190) y: (160)\ngo to [front v] layer\nshow\n\nwhen I receive [tick v]\nif <touching (mouse-pointer v)?> then\n    set size to ((size) + (((105) - (size)) / (3))) %\n    set [ghost v] effect to (3)\n    set [shop v] to [1]\nelse\n    set size to ((size) + (((99) - (size)) / (3))) %\n    set [ghost v] effect to (0)\n    set [shop v] to [0]\nend\n\nwhen flag clicked\nhide\nset [shop v] to [0]\n\nwhen I receive [tick v]\ngo to [front v] layer\ngo [backward v] (3) layers\nif <<touching (mouse-pointer v)?> and <mouse down?>> then\n    broadcast (Show shop v)\n    set [shop2 v] to [1]\nend\ngo to x: (-190) y: (163)\nif <(menu show) = [1]> then\n    if <(shop2) = [1]> then\n        hide\n        go to x: (1000000) y: (100000000)\n    else\n        show\n    end\nelse\n    hide\nend\n\n@S_B_1\n\nwhen I receive [show shop v]\nwait until <not <mouse down?>>\nset drag mode [not draggable v]\ngo to x: (-160) y: (240)\nshow\ngo to [front v] layer\nglide (1) secs to x: (-160) y: (-10)\n\nwhen flag clicked\nhide\ngo to x: (-160) y: (240)\n\nwhen I receive [setup v]\nswitch costume to (costume2 v)\nhide\n\nwhen I receive [hide shop v]\nglide (1) secs to x: (-160) y: (240)\nhide\nwait (0.1) seconds\n\nwhen I receive [tick v]\nif <touching (mouse-pointer v)?> then\n    set size to ((size) + (((125) - (size)) / (4))) %\n    set [ghost v] effect to (3)\nelse\n    set size to ((size) + (((99) - (size)) / (3))) %\n    set [ghost v] effect to (0)\nend\n\nwhen I receive [tick v]\nCostumes\nShop: Prize: [1] letter: [B]\ngo to [front v] layer\n\ndefine Shop: Prize: (prize) letter: (letter)\nif <(shop2) = [1]> then\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        if <not < (CostumesUsed) contains (letter)?>> then\n            if <(POINTS) > ((prize) - (1))> then\n                set [costumesused v] to (join (CostumesUsed) (letter))\n                change [points v] by (join [-] (prize))\n            else\n                broadcast (not enough money v)\n            end\n        else\n            switch costume to (costume3 v)\n        end\n    end\nend\n\nwhen flag clicked\nbroadcast (Show shop v)\nbroadcast (hide shop v)\n\ndefine Costumes\nif < (CostumesUsed) contains [B]?> then\n    switch costume to (costume3 v)\nelse\n    switch costume to (costume2 v)\nend\n\n@S_B_2\n\nwhen I receive [show shop v]\nwait until <not <mouse down?>>\nset drag mode [not draggable v]\ngo to x: (-50) y: (240)\nshow\ngo to [front v] layer\nglide (1) secs to x: (-50) y: (-10)\n\nwhen flag clicked\nhide\n\nwhen I receive [setup v]\nhide\n\nwhen I receive [hide shop v]\nglide (1) secs to x: (-50) y: (240)\nhide\nwait (0.1) seconds\n\nwhen I receive [tick v]\nif <touching (mouse-pointer v)?> then\n    set size to ((size) + (((125) - (size)) / (4))) %\n    set [ghost v] effect to (3)\nelse\n    set size to ((size) + (((99) - (size)) / (3))) %\n    set [ghost v] effect to (0)\nend\n\nwhen I receive [tick v]\nCostumes\nShop: Prize: [1] letter: [S]\ngo to [front v] layer\n\ndefine Shop: Prize: (prize) letter: (letter)\nif <(shop2) = [1]> then\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        if <not < (CostumesUsed) contains (letter)?>> then\n            if <(POINTS) > ((prize) - (1))> then\n                set [costumesused v] to (join (CostumesUsed) (letter))\n                change [points v] by (join [-] (prize))\n            else\n                broadcast (not enough money v)\n            end\n        else\n            switch costume to (costume3 v)\n        end\n    end\nend\n\ndefine Costumes\nif < (CostumesUsed) contains [S]?> then\n    switch costume to (costume3 v)\nelse\n    switch costume to (costume2 v)\nend\n\n@S_B_3\n\nwhen I receive [show shop v]\nwait until <not <mouse down?>>\nset drag mode [not draggable v]\ngo to x: (50) y: (240)\nshow\ngo to [front v] layer\nglide (1) secs to x: (50) y: (-10)\n\nwhen flag clicked\nhide\n\nwhen I receive [hide shop v]\nglide (1) secs to x: (50) y: (240)\nhide\nwait (0.1) seconds\n\nwhen I receive [setup v]\nhide\n\nwhen I receive [tick v]\nif <touching (mouse-pointer v)?> then\n    set size to ((size) + (((125) - (size)) / (4))) %\n    set [ghost v] effect to (3)\nelse\n    set size to ((size) + (((99) - (size)) / (3))) %\n    set [ghost v] effect to (0)\nend\n\nwhen I receive [tick v]\nCostumes\nShop: Prize: [2] letter: [H]\ngo to [front v] layer\n\ndefine Shop: Prize: (prize) letter: (letter)\nif <(shop2) = [1]> then\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        if <not < (CostumesUsed) contains (letter)?>> then\n            if <(POINTS) > ((prize) - (1))> then\n                set [costumesused v] to (join (CostumesUsed) (letter))\n                change [points v] by (join [-] (prize))\n                broadcast (Life up v)\n            else\n                broadcast (not enough money v)\n            end\n        else\n            switch costume to (costume3 v)\n        end\n    end\nend\n\nwhen I receive [setup v]\nswitch costume to (costume2 v)\n\ndefine Costumes\nif < (CostumesUsed) contains [H]?> then\n    switch costume to (costume3 v)\nelse\n    switch costume to (costume2 v)\nend\n\n@S_B_4\n\nwhen I receive [show shop v]\nwait until <not <mouse down?>>\nset drag mode [not draggable v]\ngo to x: (160) y: (240)\nshow\ngo to [front v] layer\nglide (1) secs to x: (160) y: (-10)\n\nwhen flag clicked\nhide\n\nwhen I receive [hide shop v]\nglide (1) secs to x: (160) y: (240)\nhide\nwait (0.1) seconds\n\nwhen I receive [setup v]\nhide\n\nwhen I receive [tick v]\nif <touching (mouse-pointer v)?> then\n    set size to ((size) + (((125) - (size)) / (4))) %\n    set [ghost v] effect to (3)\nelse\n    set size to ((size) + (((99) - (size)) / (3))) %\n    set [ghost v] effect to (0)\nend\n\nwhen I receive [tick v]\nCostumes\nShop: Prize: [3] letter: [R]\ngo to [front v] layer\ngo [backward v] (3) layers\n\ndefine Shop: Prize: (prize) letter: (letter)\nif <(shop2) = [1]> then\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        if <not < (CostumesUsed) contains (letter)?>> then\n            if <(POINTS) > ((prize) - (1))> then\n                set [costumesused v] to (join (CostumesUsed) (letter))\n                change [points v] by (join [-] (prize))\n                broadcast (Reset life v)\n            else\n                broadcast (not enough money v)\n            end\n        else\n            switch costume to (costume3 v)\n        end\n    end\nend\n\nwhen I receive [setup v]\nswitch costume to (costume2 v)\n\ndefine Costumes\nif < (CostumesUsed) contains [R]?> then\n    switch costume to (costume3 v)\nelse\n    switch costume to (costume2 v)\nend\n\n@Water\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [ghost v] effect to (10)\nhide\nswitch costume to (level 1 1 v)\nset [x v] to [0]\nset [y v] to [1000000]\nClone at x: [1100] y: [930]\nClone at x: [1000] y: [700]\n\ndefine position (x) (y)\ngo to [back v] layer\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\n\nwhen I start as a clone\nforever\n    if <touching (player v)?> then\n        set volume to (round ((Volume) / (3))) %\n        play sound [Splash v] until done\n        wait until <not <touching (player v)?>>\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        set volume to (round ((Volume) / (3))) %\n        play sound [Splash v] until done\n        wait until <not <touching (player v)?>>\n    end\nend\n\nwhen flag clicked\ngo to x: (-500) y: (2000)\n\n@Sand\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [ghost v] effect to (0)\nhide\nswitch costume to (level 1 1 v)\nset [x v] to [600]\nset [y v] to [850]\nClone at x: [720] y: [850]\n\ndefine position (x) (y)\ngo [forward v] (2) layers\ngo to [front v] layer\ngo [backward v] (3) layers\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\nchange [x v] by (-30)\n\n@Exit\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nif <touching (player v)?> then\n    set [win v] to [1]\n    broadcast (Win v) and wait\nend\n\nwhen I receive [setup v]\nset [win v] to [0]\nhide\nswitch costume to (exit v)\nset [x v] to [8000]\nset [y v] to [3170]\n\ndefine position (x) (y)\ngo to [back v] layer\ngo [forward v] (33) layers\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    if <(win) = [0]> then\n        show\n    else\n        hide\n    end\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nset [x v] to (x)\nset [y v] to (y)\n\n@Start\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [ghost v] effect to (0)\ngo to [back v] layer\nset size to (100) %\nhide\nset [x v] to [0]\nset [y v] to [1080]\nswitch costume to (level 1 1 v)\n\nClone at x: [425] y: [2200]\nClone at x: [325] y: [2150]\nClone at x: [325] y: [2100]\nClone at x: [400] y: [2100]\nhide\n\ndefine position (x) (y)\nset size to (100) %\ngo to x: (x) y: (y)\nif <touching (player v)?> then\n    switch costume to (level 1 3 v)\nelse\n    switch costume to (level 1 2 v)\nend\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\nset [y v] to [1900]\n\n@Sprite2\n\nwhen flag clicked\nforever\n    change [ghost v] effect by (100)\n    go to (player v)\nend\n\nwhen flag clicked\nforever\n    if <touching (platform v)?> then\n        set [flip? v] to [1]\n    else\n        set [flip? v] to [0]\n    end\nend\n\n@Bsckground2\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition (((x) - (SCROLL X)) / (4)) (((y) - (SCROLL Y)) / (4))\n\nwhen I receive [setup v]\nhide\nset [x v] to [-300]\nset [y v] to [1200]\nset rotation style [left-right v]\nswitch costume to (paper background3 v)\nClone at x: [1640] y: [1200]\nClone at x: [1640] y: [1200]\nClone at x: [1640] y: [1200]\nClone at x: [1640] y: [1200]\n\ndefine position (x) (y)\ngo to [back v] layer\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\n\nset [y v] to [3189]\n\nwhen flag clicked\n\nset [x v] to [0]\n\nturn right (180) degrees\n\nturn right (180) degrees\n\n@Menu\n\nwhen I receive [tick v]\nforever\n    if <touching (mouse-pointer v)?> then\n        if <(shop2) = [0]> then\n            set [menu show v] to [1]\n            switch costume to (costume1 v)\n            go to x: (0) y: (330)\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    else\n        if <(shop2) = [0]> then\n            set [menu show v] to [0]\n            go to x: (0) y: (360)\n        end\n    end\nend\n\nwhen flag clicked\nset [menu show v] to [0]\n\nwhen I receive [show shop v]\ngo to [front v] layer\nswitch costume to (costume2 v)\nwait until <not <mouse down?>>\nglide (1) secs to x: (0) y: (100)\nforever\n    if <(shop2) = [1]> then\n        if <<not <touching (mouse-pointer v)?>> and <mouse down?>> then\n            broadcast (hide shop v)\n            glide (1) secs to x: (0) y: (330)\n            set [shop2 v] to [0]\n            set [menu show v] to [0]\n        end\n    end\nend\n\nwhen I receive [setup v]\nset [shop2 v] to [0]\n\nwhen I receive [tick v]\ngo to [front v] layer\ngo [backward v] (30) layers\n\nwhen I receive [not enough money v]\nswitch costume to (costume3 v)\nwait (2) seconds\nswitch costume to (costume2 v)\n\n@Sprite3\n\nwhen flag clicked\nforever\n    change [ghost v] effect by (100)\n    go to (player v)\n    if <touching (lava v)?> then\n        change [life2 v] by (-1)\n        wait (2) seconds\n    end\nend\n\n@Cloud\n\nwhen I receive [start screen v]\nhide\n\nwhen I receive [tick v]\nposition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setup v]\nset [ghost v] effect to (0)\ngo to [back v] layer\nset size to (100) %\nhide\nset [x v] to [-335]\nset [y v] to [1000]\nswitch costume to (level 1 1 v)\nClone at x: [500] y: [1000]\nClone at x: [335] y: [1000]\nClone at x: [1000] y: [1000]\nClone at x: [400] y: [1100]\nClone at x: [400] y: [1350]\nClone at x: [400] y: [1600]\nClone at x: [400] y: [1600]\nClone at x: [520] y: [1600]\nClone at x: [-400] y: [1900]\nClone at x: [300] y: [1950]\nClone at x: [-200] y: [2170]\nClone at x: [-300] y: [2300]\nClone at x: [-300] y: [2400]\nClone at x: [300] y: [2600]\nClone at x: [300] y: [2800]\n\nClone at x: [425] y: [2200]\nClone at x: [325] y: [2150]\nClone at x: [325] y: [2100]\nClone at x: [400] y: [2100]\nhide\n\ndefine position (x) (y)\nset size to (100) %\ngo to [front v] layer\ngo [backward v] (35) layers\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nset [y v] to (y)\nnext costume\n\nset [y v] to [2170]\n\n@Snow\n\ndefine clone\ngo to [back v] layer\ncreate clone of (_myself_ v)\nset y to (180)\nset x to (pick random (-240) to (240))\ncreate clone of (_myself_ v)\nset y to (180)\nset x to (pick random (-240) to (240))\n\nwhen I start as a clone\nset [ghost v] effect to (pick random (18) to (85))\nforever\n    change y by (-10)\n    if <touching (bottom v)?> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nforever\n    if <(player x) > [6465]> then\n        show\n        clone\n    else\n        hide\n    end\nend\n\n@Bottom\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\n@Sprite1\n\nwhen [timer v] > (Timer2)\nset size to (100) %\nshow\ngo to [front v] layer\n\nwhen flag clicked\nhide\ngo to [front v] layer\n\n
-------------------⛰️ тнє мσυηтαιη ⛰️-----------------------\n\nʜᴇʟʟᴏ ᴀɴᴅ ᴡᴇʟᴄᴏᴍᴇ ᴛᴏ ᴍʏ ʟᴀᴛᴇꜱᴛ ᴘʀᴏᴊᴇᴄᴛ! ɪᴛ'ꜱ ᴄᴀʟʟᴇᴅ ᴛʜᴇ ᴍᴏᴜɴᴛᴀɪɴ ᴀɴᴅ ʏᴏᴜʀ ɢᴏᴀʟ ɪꜱ ᴛᴏ ᴄʟɪᴍʙ ᴀ ʙɪɢ ᴍᴏᴜɴᴛᴀɪɴ. ᴛʜᴇ ᴘʀᴏᴊᴇᴄᴛ ɪꜱ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ, ꜱᴏ ɪꜰ ʏᴏᴜ ᴀʀᴇ ᴀ ꜱᴄʀᴀᴛᴄʜᴇʀ ʏᴏᴜ ᴄᴀɴ ꜱᴇ ᴏᴛʜᴇʀꜱ ᴘʟᴀʏ ɪɴ ᴛʜᴇ ʙᴀᴄᴋɢʀᴏᴜɴᴅ ᴀɴᴅ ᴄʜᴀᴛ ᴡɪᴛʜ ᴛʜᴇᴍ. \n\nNew Project: https://scratch.mit.edu/projects/432690428/\n\nʜᴏᴡ ᴛᴏ ᴘʟᴀʏ:\nᴜꜱᴇ ᴡᴀꜱᴅ, ᴀʀʀᴏᴡꜱ ᴏʀ ᴛᴀᴘ ᴛᴏ ᴍᴏᴠᴇ. ʏᴏᴜʀ ɢᴏᴀʟ ɪꜱ ᴛᴏ ᴄʟɪᴍʙ ᴛʜᴇ ᴍᴏᴜɴᴛᴀɪɴ ᴀɴᴅ ꜰɪɴᴅ ᴛʜᴇ ɢᴏᴀʟ. ᴏɴ ᴛʜᴇ ᴡᴀʏ, ᴛʜᴇʀᴇ'ꜱ ʜɪᴅᴅᴇɴ ᴄᴏɪɴꜱ ᴡʜɪᴄʜ ʏᴏᴜ ᴄᴀɴ ʙᴜʏ ᴛʜɪɴɢꜱ ɪɴ ᴛʜᴇ ꜱʜᴏᴘ ᴡɪᴛʜ. ᴄᴀɴ ʏᴏᴜ ᴄᴏʟʟᴇᴄᴛ ᴛʜᴇᴍ ᴀʟʟ?\n\nᴄʀᴇᴅɪᴛꜱ:\n@griffpatch ꜰᴏʀ ᴛʜᴇ ᴍᴜʟᴛɪᴘʟᴀʏᴇʀ ᴀɴᴅ ꜱᴄʀᴏʟʟɪɴɢ ᴇɴɢɪɴᴇ\n@Ufhire (ᴍᴇ) ꜰᴏʀ ᴇᴠᴇʀʏᴛʜɪɴɢ ᴇʟꜱᴇ\n@321321em ꜰᴏʀ ʙᴇɪɴɢ ᴍʏ ʙʀᴏᴛʜᴇʀ\nᴍᴜꜱɪᴄ ꜰʀᴏᴍ ꜰʀᴇᴇꜱᴏᴜɴᴅ.ᴏʀɢ\n\nShared 05/10/2020\nReshared 06/10/2020 for a bug fix