Land || A Mobile Friendly Platformer

Instructions:                               Welcome\n                Spam the Flag for less lag\n        Tell me if there are any bugs in the chat\n                     Add this to a studio\n               Shared date: March 22, 2021\n        if laggy try using turbowarp: https://turbowarp.org/503851596\n-arrows to move or WASD or Mobile controls\n-Wall jump included\n-Tramps make you jump higher\n-Don't touch spike,saws, and lava.\n-Click the Skip button to skip\nSong: Unlimited\n  All levels possible\n          If you Viewed maybe a heart and a star + a follow\n\n\n\n =)  =D =P =B

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [start v]\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [start v]\nforever\n    if <(Level) = [14]> then\n        switch backdrop to (backdrop3 v)\n    end\n    if <(Level) = [15]> then\n        switch backdrop to (backdrop4 v)\n    end\n    if <(Level) = [21]> then\n        switch backdrop to (backdrop1 v)\n    end\nend\n\n@Intro\n\nwhen I start as a clone\nif <(CloneID) = [1]> then\n    point in direction (135)\n    show\n    switch costume to (start v)\n    set size to (100) %\n    go to x: (0) y: (-180)\n    repeat (50)\n        change [ghost v] effect by (-10)\n        set [own v] to (((Own) * (0.8)) + (((0) - (y position)) / (5)))\n        change y by (Own)\n    end\n    repeat until <(Yay) > [1]>\n        point in direction (90)\n        switch costume to (blank v)\n        set [own v] to (((Own) * (0.8)) + (((0) - (y position)) / (5)))\n        change size by (((1750) - (size)) / (4))\n        change y by (Own)\n        switch costume to (start v)\n    end\nend\n\nwhen flag clicked\nhide\nset [booboo v] to [0]\nset [cloneid v] to [0]\nrepeat (3)\n    change [cloneid v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(CloneID) = [2]> then\n    switch costume to (logo v)\n    go to x: (0) y: (0)\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    set size to (0) %\n    hide\n    wait (2) seconds\n    show\n    repeat (10)\n        change size by (10)\n        change [ghost v] effect by (-10)\n        go to x: (pick random (0) to (2)) y: (pick random (0) to (2))\n    end\n    wait (.8) seconds\n    switch costume to (costume1 v)\n    repeat (20)\n        wait (0.01) seconds\n        go to x: (0) y: (320)\n        point in direction (90)\n        switch costume to (blank v)\n        set [own v] to (((Own) * (0.8)) + (((0) - (y position)) / (5)))\n        change size by (((1980) - (size)) / (4))\n        change y by (Own)\n        switch costume to (costume1 v)\n    end\n    set [brightness v] effect to (0)\nend\n\nwhen I start as a clone\nif <(CloneID) = [3]> then\n    switch costume to (name v)\n    go to x: (0) y: (0)\n    go to [front v] layer\n    hide\n    wait (3.9) seconds\n    show\n    repeat (2)\n        go to x: ((Own) * (CloneID)) y: ((Own) * (CloneID))\n    end\n    glide (0.7) secs to x: (0) y: (0)\n    broadcast (FINE v)\nend\n\nwhen I receive [fine v]\nset [cloneid v] to [3]\nrepeat (2)\n    change [cloneid v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(CloneID) = [4]> then\n    switch costume to (circleexplosion1 v)\n    go to x: (0) y: (0)\n    go to [front v] layer\n    show\n    repeat (9)\n        next costume\n        change [brightness v] effect by (4)\n        change [ghost v] effect by (2)\n        change size by (1)\n    end\n    hide\n    set [ghost v] effect to (100)\n    delete this clone\nend\n\nwhen I start as a clone\nif <(CloneID) = [5]> then\n    switch costume to (diamond1 v)\n    go to x: (0) y: (0)\n    go to [front v] layer\n    show\n    wait (0.3) seconds\n    repeat (50)\n        change size by (((110) - (size)) / (12))\n        switch costume to (diamond1 v)\n        change [ghost v] effect by (1)\n    end\n    hide\n    broadcast (HAHA v)\n    delete this clone\nend\n\nwhen I receive [haha v]\nhide\nset [booboo v] to [0]\nrepeat (1)\n    change [booboo v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(BOOBOO) = [1]> then\n    switch costume to (costume2 v)\n    go to [front v] layer\n    show\n    set size to (100) %\n    repeat (20)\n        change size by (-10)\n        change [ghost v] effect by (10)\n    end\n    hide\n    broadcast (HELLO v)\n    delete this clone\nend\n\nwhen I receive [hello v]\nhide\nbroadcast (Start v)\n\n@player\n\nwhen I receive [start v]\nforever\n    if <<[240] < (x position)> and <(dead) = [0]>> then\n        change [level v] by (1)\n        broadcast (NAXT LEVEL v)\n        =P\n    end\nend\n\nwhen flag clicked\nhide variable [xv v]\nhide variable [dead v]\nhide variable [yv v]\nhide\ngo to [back v] layer\n\ndefine =P\nclear graphic effects\npoint in direction (90)\ngo to x: (-220) y: (-16)\nswitch costume to (1 v)\nset [dead v] to [0]\nset [xv v] to [0]\nset [yv v] to [0]\nset size to (20) %\nshow\n\ndefine OW!\nset [dead v] to [1]\nrepeat (25)\n    change [ghost v] effect by (4)\nend\n=P\n\nwhen I start as a clone\nforever\n    switch costume to (3 v)\n    repeat (10)\n        change [ghost v] effect by (10)\n        change size by (-1.5)\n    end\n    delete this clone\nend\n\ndefine =D\ngo to [front v] layer\nset [level v] to [1]\nset [dead v] to [0]\nset size to (20) %\n=P\nforever\n    go to [front v] layer\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        switch costume to (3 v)\n        change [xv v] by (1)\n    end\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> and <(dead) = [0]>> then\n        switch costume to (4 v)\n        change [xv v] by (-1)\n    end\n    set [xv v] to ((Xv) * (.9))\n    if <<key (up arrow v) pressed?> and <key (right arrow v) pressed?>> then\n        switch costume to (1 v)\n    end\n    if <<key (up arrow v) pressed?> and <key (left arrow v) pressed?>> then\n        switch costume to (2 v)\n    end\n    if <not <key (any v) pressed?>> then\n        switch costume to (5 v)\n    end\n    change x by (Xv)\n    if <touching (platform v)?> then\n        change y by (2)\n        if <touching (platform v)?> then\n            change y by (2)\n            if <touching (platform v)?> then\n                change y by (2)\n                if <touching (platform v)?> then\n                    change y by (2)\n                    if <touching (platform v)?> then\n                        change y by (2)\n                        if <touching (platform v)?> then\n                            change x by ((Xv) * (-2))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (10))>>>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-5]\n                                else\n                                    set [xv v] to [5]\n                                end\n                                set [yv v] to [13]\n                            else\n                                set [xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [yv v] by (-0.8)\n    change y by (Yv)\n    if <touching (platform v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (platform v)?> then\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(y position) < (mouse y)>>>> then\n            set [yv v] to [11]\n        end\n    end\n    change y by (1)\n    if <<touching (lava v)?> or <<touching (spike v)?> or <<touching (saws v)?> or <<touching (saws2 v)?> or <touching (saws3 v)?>>>>> then\n        OW!\n    end\n    if <(y position) < [-180]> then\n        OW!\n    end\n    if <touching (tramps v)?> then\n        set [yv v] to [17]\n    end\n    if <touching (tramps2 v)?> then\n        set [yv v] to [13]\n    end\nend\n\nwhen I receive [start v]\n=D\n\ndefine What?\nif <<<(round (MOVE)) = (pick random (timer) to (MOVE))> and <mouse down?>> = ((100000) * <<mouse down?> and <(([abs v] of (mouse x) ) mod (round ((timer) / ((30) * ((2) * ((loudness) + < [:] contains < [:] contains [#]?>?>)))))) = [50]>>)> then\n    reset timer\n    change [move v] by (1)\nend\nif <(MOVE) = [226000]> then\n    set [move v] to [0]\nend\nif <(MOVE) = [5]> then\n    set [move v] to [0]\nend\n\nwhen flag clicked\nforever\n    What?\nend\n\nwhen I receive [1 v]\nhide\nwait (1.2) seconds\ngo to x: (-222) y: (-35)\nshow\n\nwhen I receive [end v]\nforever\n    go to [back v] layer\n    hide\nend\n\nwhen I receive [start v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I receive [haha v]\ngo to [back v] layer\nhide\n\nwhen flag clicked\nforever\n    if <(Level) = [22]> then\n        broadcast (ENDDDDDD v)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [15]> then\n        broadcast (Light v)\n    end\nend\n\nwhen flag clicked\nforever\n    play sound [Unlimited v] until done\nend\n\n@platform\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nhide\n\nwhen I receive [start v]\nshow\nforever\n    switch costume to (Level)\nend\n\n@Clouds\n\nset [speed v] to (pick random (0.1) to (0.2))\n\nwhen I receive [start game! v]\n\nif <key (right arrow v) pressed?> then\n    wait (pick random (0.2) to (0.5)) seconds\nend\n\nshow\n\nwhen flag clicked\nhide\nrepeat (4)\n    set x to (pick random (-230) to (230))\n    create clone of (_myself_ v)\nend\nforever\n    wait (pick random (.5) to (2)) seconds\n    set x to (240)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [start v]\nset y to (pick random (48) to (180))\nset [ghost v] effect to (pick random (25) to (70))\nset size to (pick random (23) to (80)) %\ngo [backward v] (10) layers\nshow\nrepeat until <(x position) < [-240]>\n    change x by (pick random (-.1) to (-5))\nend\nhide\ndelete this clone\n\n@lava\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start v]\nshow\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\nforever\n    if <<(Level) = [4]> or <<(Level) = [8]> or <<(Level) = [10]> or <(Level) = [19]>>>> then\n        show\n        glide (1) secs to x: (0) y: (4)\n        wait (0.10) seconds\n        glide (1) secs to x: (0) y: (0)\n    end\nend\n\n@spike\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start v]\nshow\nforever\n    switch costume to (Level)\nend\n\n@saws\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [back v] layer\nhide\n\nwhen I receive [start v]\nshow\nforever\n    turn right (5) degrees\n    if <(Level) = [1]> then\n        go to x: (0) y: (0)\n    end\n    if <(Level) = [2]> then\n        go to x: (0) y: (0)\n    end\n    if <(Level) = [3]> then\n        go to x: (0) y: (-110)\n    end\n    if <(Level) = [4]> then\n        go to x: (0) y: (-110)\n    end\n    if <(Level) = [5]> then\n        go to x: (0) y: (-110)\n    end\n    if <(Level) = [6]> then\n        go to x: (0) y: (-110)\n    end\n    if <(Level) = [7]> then\n        go to x: (0) y: (-110)\n    end\nend\n\nwhen I receive [start v]\nforever\n    switch costume to (Level)\nend\n\n@Notes\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start v]\nshow\nforever\n    switch costume to (Level)\nend\n\n@End\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nhide\n\nwhen I receive [start v]\nhide\n\nwhen I receive [endddddd v]\ngo to [front v] layer\ngo [forward v] (100) layers\nshow\nset size to (100) %\nwait (0.01) seconds\nrepeat (10)\n    go [forward v] (1) layers\n    change [ghost v] effect by (-10)\nend\nforever\n    go to [front v] layer\nend\n\ngo [forward v] (1) layers\n\n@Thumbnail\n\nwhen flag clicked\ngo to [front v] layer\nhide\nset [ghost v] effect to (100)\n\nwhen I receive [game - tick v]\ngo to [front v] layer\nshow\n\nwhen I receive [tick v]\ngo to [front v] layer\nshow\n\nwhen I receive [game - shut down v]\ngo to [front v] layer\nshow\n\nwhen [timer v] > (0.01)\nhide variable [time v]\nhide variable [mouse v]\nhide variable [currency v]\nhide\ngo to x: (0) y: (-365)\ngo to [front v] layer\nshow\nrepeat (30)\n    change y by (((0) - (y position)) / (3))\nend\n\nwhen I receive [message1 v]\nforever\n    reset timer\nend\n\n@Tramps\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\ngo to [back v] layer\n\nwhen I receive [start v]\nshow\nforever\n    switch costume to (Level)\nend\n\n@Skip\n\nwhen flag clicked\ngo to [front v] layer\nhide\nwait (.01) seconds\ngo to x: (0) y: (0)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (10)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen this sprite clicked\nbroadcast (1 v)\nwait (.1) seconds\nchange [level v] by (1)\n\nwhen I receive [end v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\ngo to [back v] layer\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\nend\n\n@Love fave\n\nwhen flag clicked\nset [love fave: costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (10) to (15)) seconds\n        switch costume to (costume1 v)\n        go to x: (0) y: (50)\n        show\n        go to [front v] layer\n        start sound [pop v]\n        repeat (9)\n            change y by (-6)\n        end\n        repeat (5)\n            change y by (3)\n        end\n        repeat (5)\n            change y by (-1)\n        end\n        wait (2) seconds\n        repeat (15)\n            change y by (7)\n        end\n        hide\n    end\n    if <(Love fave: Costume) > [0]> then\n        hide\n        stop [this script v]\n    end\nend\n\n@Detector\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nbroadcast (Thanks v)\n\ngo to x: (0) y: (0)\nshow\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\n@Thanks\n\nwhen I receive [thanks v]\nswitch costume to (costume3 v)\ngo to x: (-210) y: (50)\nshow\ngo to [front v] layer\nstart sound [pop v]\nrepeat (9)\n    change y by (-6)\nend\nrepeat (5)\n    change y by (3)\nend\nrepeat (5)\n    change y by (-3)\nend\nwait (1) seconds\nrepeat (10)\n    change y by (6)\nend\nhide\n\nwhen I start as a clone\ngo to x: (0) y: (-50)\nshow\ngo to [front v] layer\nrepeat (12)\n    change y by (-9)\nend\nrepeat (5)\n    change y by (3)\nend\nrepeat (5)\n    change y by (-1)\nend\nforever\n    if <touching (mouse-pointer v)?> then\n        set [ghost v] effect to (50)\n        if <(costume [number v]) = [2]> then\n            if <mouse down?> then\n                set [costume v] to [2]\n                repeat (25)\n                    change y by (10)\n                end\n                hide\n                delete this clone\n            end\n        else\n            if <(costume [number v]) = [3]> then\n                if <mouse down?> then\n                    set [costume v] to [1]\n                    repeat (25)\n                        change y by (15)\n                    end\n                    hide\n                    delete this clone\n                end\n            end\n        end\n    else\n        set [ghost v] effect to (0)\n    end\n    if <(Costume) > [0.99]> then\n        repeat (25)\n            change y by (15)\n        end\n        hide\n        delete this clone\n    end\n    hide\n    delete this clone\nend\n\nwhen flag clicked\nhide\nset [costume v] to [0.9]\n\nwhen I receive [begin v]\nset [costume v] to [0.9]\nwait (0.1) seconds\nset [costume v] to [0.9]\nwait (0.2) seconds\nset [costume v] to [0.9]\n\n@Bright Light\n\nwhen flag clicked\nrepeat (10)\n    go to x: (0) y: (0)\n    hide\nend\n\nwhen I receive [light v]\ngo to [back v] layer\nshow\nset size to (100) %\nforever\n    repeat (15)\n        change size by (1)\n    end\n    wait (.15) seconds\n    repeat (15)\n        change size by (-1)\n    end\n    wait (.15) seconds\nend\n\nwhen I receive [light v]\nforever\n    go to (player v)\nend\n\nwhen I receive [start v]\nforever\n    if <(Level) = [21]> then\n        hide\n    end\nend\n\n