Mountains - a platformer  
@Stage\n\nwhen flag clicked\n\nwhen I receive [intro end v]\nforever\n    play sound [Nebula v] until done\nend\n\n@Player\n\ndefine Place Player: (x) (y) Set Size To: (size)\ngo to x: (x) y: (y)\nset size to (size) %\n\nwhen flag clicked\nhide\n\ndefine Gravity, Platform Detection, Physics....\nforever\n    change [y v] by (-1)\n    if <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [x v] by (-1)\n        if <(skin) = [default]> then\n            switch costume to (3 v)\n        end\n        if <(skin) = [flag]> then\n            switch costume to (flag v)\n        end\n        if <(skin) = [circle]> then\n            switch costume to (circle v)\n        end\n        if <(skin) = [Dual]> then\n            switch costume to (d 3 v)\n        end\n    end\n    if <<<key (d v) pressed?> or <key (right arrow v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x v] by (1)\n        if <(skin) = [default]> then\n            switch costume to (2 v)\n        end\n        if <(skin) = [flag]> then\n            switch costume to (flag v)\n        end\n        if <(skin) = [circle]> then\n            switch costume to (circle v)\n        end\n        if <(skin) = [Dual]> then\n            switch costume to (d 2 v)\n        end\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching (levels v)?> then\n        change y by (1)\n    end\n    if <touching (levels v)?> then\n        change y by (1)\n    end\n    if <touching (levels v)?> then\n        change y by (1)\n    end\n    if <touching (levels v)?> then\n        change y by (1)\n    end\n    if <touching (levels v)?> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > [0]>>> then\n            start sound [Wood Tap v]\n            set [y v] to [10]\n            if <(x) > [0]> then\n                set [x v] to [-7]\n            else\n                set [x v] to [7]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <touching (levels v)?> then\n        change y by ((y) - ((y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <((mouse y) - (y position)) > [50]>>> and <touching (levels v)?>> then\n        start sound [Jump v]\n        if <(skin) = [default]> then\n            switch costume to (4 v)\n        end\n        if <(skin) = [flag]> then\n            switch costume to (flag v)\n        end\n        if <(skin) = [Dual]> then\n            switch costume to (d 4 v)\n        end\n        set [y v] to [12]\n    end\n    change y by (1)\n    if <touching (trampolines v)?> then\n        set [y v] to [18]\n        start sound [Drum Boing v]\n    end\n    if <(x position) > [215]> then\n        change [level v] by (1)\n        broadcast (restart v)\n        change [$ v] by (10)\n    end\n    create clone of (_myself_ v)\n    if <touching (spikes v)?> then\n        start sound [Rip v]\n        Place Player: [-200] [0] Set Size To: [100]\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > [0]>>> or <<<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> or <<<key (d v) pressed?> or <key (right arrow v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>>>>> then\n        if <(skin) = [default]> then\n            switch costume to (1 v)\n        end\n        if <(skin) = [flag]> then\n            switch costume to (flag v)\n        end\n        if <(skin) = [circle]> then\n            switch costume to (circle v)\n        end\n        if <(skin) = [Dual]> then\n            switch costume to (d 1 v)\n        end\n    end\nend\n\nwhen flag clicked\nset volume to (100) %\n\nwhen I start as a clone\nswitch costume to (clone v)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [restart v]\nstart sound [Zoop v]\nPlace Player: [-200] [0] Set Size To: [100]\nset [x v] to [0]\nset [y v] to [0]\n\nwhen I receive [skip v]\nPlace Player: [-200] [0] Set Size To: [100]\n\nwhen I receive [intro end v]\nset [level v] to [1]\nshow\nPlace Player: [-200] [0] Set Size To: [100]\nhide variable [y v]\nhide variable [x v]\nset [y v] to [0]\nset [x v] to [0]\nforever\n    Gravity, Platform Detection, Physics....\nend\n\nwhen flag clicked\nset [skin v] to [default]\n\nwhen I receive [close shop v]\n\n@Levels\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [intro end v]\nshow\n\n@text\n\nwhen flag clicked\ngo to [front v] layer\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [intro end v]\nshow\n\n@Spikes\n\nwhen flag clicked\nhide\ngo to [back v] layer\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [intro end v]\nshow\n\n@Trampolines\n\nwhen flag clicked\nhide\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [intro end v]\nshow\n\n@skip\n\nwhen flag clicked\nhide\n\nwhen I receive [intro end v]\nshow\n\nwhen I receive [intro end v]\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (125) %\n    else\n        set size to (100) %\n    end\n    point in direction ((([cos v] of ((timer) * (100)) ) * (10)) + (90))\nend\n\nwhen this sprite clicked\nbroadcast (skip v)\nstart sound [Connect v]\nchange [level v] by (1)\nwait (.01) seconds\n\nwhen I receive [intro end v]\nforever\n    if <(Level) = [15]> then\n        hide\n    else\n        show\n    end\nend\n\n@restart\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (125) %\n    else\n        set size to (100) %\n    end\n    point in direction ((([cos v] of ((timer) * (100)) ) * (10)) + (90))\nend\n\nwhen flag clicked\nforever\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        broadcast (restart v)\n        wait until <not <<mouse down?> and <touching (mouse-pointer v)?>>>\n    end\nend\n\nwhen I receive [intro end v]\nshow\n\nwhen flag clicked\nhide\n\n@thumbnail\n\nshow\ngo to [front v] layer\nstop [all v]\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    hide variable [level v]\nend\n\ngo to x: (0) y: (0)\n\nwhen I receive [intro end v]\n\n@skin shop\n\nwhen flag clicked\nhide\n\nwhen I receive [intro end v]\nshow\nset [shop open? v] to [no]\n\nwhen I receive [intro end v]\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (125) %\n    else\n        set size to (100) %\n    end\n    point in direction ((([cos v] of ((timer) * (100)) ) * (10)) + (90))\nend\n\nwhen this sprite clicked\nset [shop open? v] to [yes]\nstart sound [front-desk-bells-daniel_simon v]\nwait (.08) seconds\nstart sound [front-desk-bells-daniel_simon2 v]\nbroadcast (shop v)\n\nwhen I receive [intro end v]\nforever\n    if <(shop open?) = [yes]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [close shop v]\nset [shop open? v] to [no]\n\n@shop\n\nwhen flag clicked\ngo to x: (0) y: (-180)\nhide\n\nwhen I receive [shop v]\ngo to [front v] layer\nshow\nSmooth Glide x: (0) y: (0) speed: (4)\n\nwhen I receive [close shop v]\ngo to x: (0) y: (-180)\nhide\n\nwhen flag clicked\n\nforever\n\ndefine Smooth Glide x: (x) y: (y) speed: (speed)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (speed))\n    change y by (((round (y)) - (round (y position))) / (speed))\nend\ngo to x: (x) y: (y)\n\n@close shop\n\ndefine Smooth Glide x: (x) y: (y) speed: (speed)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (speed))\n    change y by (((round (y)) - (round (y position))) / (speed))\nend\ngo to x: (x) y: (y)\n\nwhen flag clicked\nhide\ngo to x: (117) y: (-180)\n\nwhen I receive [shop v]\nshow\nSmooth Glide x: (117) y: (96) speed: (5)\n\nwhen this sprite clicked\nbroadcast (close shop v)\nhide\ngo to x: (117) y: (-180)\n\nwhen I receive [shop v]\nwait (.1) seconds\ngo to [front v] layer\n\nwhen I receive [close shop v]\nhide\n\n@flag skin\n\nwhen I receive [close shop v]\ngo to x: (-66) y: (-180)\nhide\n\nwhen I receive [shop v]\nshow\nSmooth Glide x: (-66) y: (79) speed: (3)\n\ndefine Smooth Glide x: (x) y: (y) speed: (speed)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (speed))\n    change y by (((round (y)) - (round (y position))) / (speed))\nend\ngo to x: (x) y: (y)\n\nwhen flag clicked\ngo to x: (-66) y: (-180)\nhide\n\nwhen I receive [shop v]\nwait (.01) seconds\ngo to [front v] layer\n\nwhen this sprite clicked\nif <($) > [29]> then\n    start sound [Collect v]\n    broadcast (close shop v)\n    set [skin v] to [flag]\n    change [$ v] by (-30)\nelse\n    start sound [NOPE v]\n    broadcast (nope v)\nend\n\nwhen flag clicked\nforever\n    if <(skin) = [flag]> then\n        hide\n    end\nend\n\nwhen flag clicked\nset [skin v] to [default]\n\nwhen I receive [intro end v]\nset [$ v] to [0]\n\nwhen flag clicked\nforever\n    if <($) < [0]> then\n        set [$ v] to [0]\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\nhide\nhide variable [$ v]\n\nwhen I receive [intro end v]\nshow variable [$ v]\nshow\n\n@Sprite2\n\nwhen flag clicked\nhide\n\nwhen I receive [nope v]\ngo to [front v] layer\nshow\nwait (1) seconds\nhide\n\n@circle skin\n\nwhen I receive [close shop v]\ngo to x: (-66) y: (-180)\nhide\n\nwhen I receive [shop v]\nshow\nSmooth Glide x: (-66) y: (-27) speed: (4)\n\ndefine Smooth Glide x: (x) y: (y) speed: (speed)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (speed))\n    change y by (((round (y)) - (round (y position))) / (speed))\nend\ngo to x: (x) y: (y)\n\nwhen flag clicked\ngo to x: (-66) y: (-180)\nhide\n\nwhen I receive [shop v]\nwait (.01) seconds\ngo to [front v] layer\n\nwhen this sprite clicked\nif <($) > [49]> then\n    start sound [Collect v]\n    broadcast (close shop v)\n    set [skin v] to [circle]\n    change [$ v] by (-50)\nelse\n    start sound [NOPE v]\n    broadcast (nope v)\nend\n\nwhen flag clicked\nforever\n    if <(skin) = [circle]> then\n        hide\n    end\nend\n\nwhen flag clicked\nset [skin v] to [default]\n\nwhen I receive [intro end v]\nset [$ v] to [0]\n\nwhen flag clicked\nforever\n    if <($) < [0]> then\n        set [$ v] to [0]\n    end\nend\n\nwhen flag clicked\nbroadcast (intro end v)\n\n@Dual skin\n\nwhen I receive [close shop v]\ngo to x: (60) y: (-180)\nhide\n\nwhen I receive [shop v]\nshow\nSmooth Glide x: (60) y: (-17) speed: (4)\n\ndefine Smooth Glide x: (x) y: (y) speed: (speed)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (speed))\n    change y by (((round (y)) - (round (y position))) / (speed))\nend\ngo to x: (x) y: (y)\n\nwhen flag clicked\ngo to x: (60) y: (-180)\nhide\n\nwhen I receive [shop v]\nwait (.01) seconds\ngo to [front v] layer\n\nwhen this sprite clicked\nif <($) > [99]> then\n    start sound [Collect v]\n    broadcast (close shop v)\n    set [skin v] to [Dual]\n    change [$ v] by (-100)\nelse\n    start sound [NOPE v]\n    broadcast (nope v)\nend\n\nwhen flag clicked\nforever\n    if <(skin) = [circle]> then\n        hide\n    end\nend\n\nwhen flag clicked\nset [skin v] to [default]\n\nwhen I receive [intro end v]\nset [$ v] to [0]\n\nwhen flag clicked\nforever\n    if <($) < [0]> then\n        set [$ v] to [0]\n    end\nend\n\n
--------------------------------CONTROLS-------------------------------\nuse arrow keys, wasd, or mobile to move! \n------------------------------------------------------------------------------\n\npress the skip button to skip, and the restart button to restart!\n\nremember to, love, favorite, and follow if you enjoyed!\n\nloved by @etalion!\nloved by @sunarcher!\n\n\n---------------------------UPDATE LOG--------------------------------\njun 30: shared!\njun 31: skin shop added!\njul 1: new backround!\njul 5: new skin in shop and less lag\n