NEON - Platformer

Instructions:         ✿ The Lost Creature ✿\n      ✿ Multiplayer Scrolling Platformer ✿\n\nWant to advertise? Go here:\nhttps://scratch.mit.edu/studios/26606276/\n\nCheck it out on itch.io thanks to @runnyanimate!\nhttps://officialiglusstudos.itch.io/the-lost-creature\n\nEnter the dark cave! This cave is filled with treasures,\nsuch as loves and favorites! On your journey, collect 20 total. Play with other creatures to explore together! If you enjoyed it, a ❤️ and ⭐ would be appreciated ツ\n         ✦✦✦Instructions✦✦✦\n➜ Collect 10 loves and 10 favorites total\n➜ Comment your time below! My best is 87 sec.\n➜ [T] to chat, [#] to select phrase/tap on player and tap on phrase (mobile)\n➜ [N] to toggle names\n➜ [WASD], arrow keys, or mobile to move\n➜ [R] to restart\n         ✦✦✦News✦✦✦\n(5/9/20) #3 on trending!\n(5/8/20) Top REMIXED!!✨\n(5/7/20) TOP LOVED!! ❤️ 2 Days?!?!\n(5/6/20) Trending!\n(5/5/20) Project shared (finally)\n(4/0/20) Project created\n         ✦✦✦Loves/faves✦✦✦\n@Sterlon ❤️⭐\n@sharkyshar ❤️⭐\n@TimMcTest ❤️⭐\n@TimMcCool ❤️⭐\n@-PhantomAnimations- ❤️\n@CapAnimation ❤️⭐\n@Capt_Boanerges ❤️\n@krishtheking123 ❤️⭐\n@noodlebot743 ❤️⭐\n@Lukas1410 ❤️⭐\n@icmy123 ❤️\n@PaddlerGames ❤️\n@Game-Cloud ❤️⭐\n@Lazy_otter2_0 ❤️⭐\n@IcedSnow ❤️⭐\n@judgefan99 ❤️\n@Benelem12 ❤️⭐\n@dayfin ❤️\n@Awesomebricks1 ❤️⭐\n          ✦✦✦Credits✦✦✦\n➜ Big thanks to @ivanbb3 for cloud beta testing!\n➜ Multiplayer engine @StratfordJames\n➜ Art drawn by @StratfordJames\n➜ Art inspired @CrystalKeeper7\n       ✦✦✦Inspiring Quotes✦✦✦\n\n       "It's one of the best scrolling \n       platformers I have ever played"\n           @Timmccool\n\n          "AMAZING"\n          @Lukas1410\n\n          "great game!"\n           @Sterlon\n\n           "cool!"\n          @JWhandle\n\n          ✦✦✦Tags✦✦✦\n#games #multiplayer #scrolling #platformer #cloud  #platformers #player #lost #creature #stratfordjames #art #videogames #trending\n\nsymbols I used: ❤️⭐✨❌✔✦✿➜☁️⚠️★

@Stage\n\nwhen flag clicked\nforever\n    play sound [HAPPIER x SUNFLOWER \[Mashup\] Marshmello, Post Malone, Swae Lee, Bastille v] until done\nend\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\nshow\ngo to [front v] layer\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.0000001)\nshow\nset [ghost v] effect to (0)\ngo to [front v] layer\n\n@Player\n\nwhen flag clicked\nforever\n    if <key (r v) pressed?> then\n        wait until <not <key (r v) pressed?>>\n        broadcast (Restart v)\n        go to x: (-190) y: (0)\n        set [playerx v] to [0]\n        set [playery v] to [0]\n    end\nend\n\ndefine Player Physics\ngo to [front v] layer\ngo [backward v] (9) layers\nif <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>> then\n    change [playerx v] by (1.5)\n    switch costume to (player - right v)\nend\nif <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> then\n    change [playerx v] by (-1.5)\n    switch costume to (player - left v)\nend\nif <<<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>> and <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>> then\n    switch costume to (player - upright v)\nend\nif <<<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> and <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>> then\n    switch costume to (player - upleft v)\nend\nif <not <<key (right arrow v) pressed?> or <<key (left arrow v) pressed?> or <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<key (a v) pressed?> or <<key (d v) pressed?> or <<<mouse down?> and <(mouse x) > (x position)>> or <<mouse down?> and <(mouse x) < (x position)>>>>>>>>>> then\n    switch costume to (player - normal v)\nend\nif <<key (down arrow v) pressed?> or <<key (s v) pressed?> or <<mouse down?> and <(mouse y) < (y position)>>>> then\n    switch costume to (player - bent v)\nend\nchange x by (PlayerX)\nif <touching (platforms v)?> then\n    change x by ((PlayerX) * (-1))\n    if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n        if <(PlayerX) > [0]> then\n            set [playerx v] to [-15]\n            set [playery v] to [10]\n        else\n            set [playerx v] to [15]\n            set [playery v] to [10]\n        end\n    else\n        set [playerx v] to [0]\n    end\nelse\n    set [playerx v] to ((PlayerX) * (0.8))\nend\nchange y by (PlayerY)\nif <touching (platforms v)?> then\n    change y by ((PlayerY) * (-1))\n    set [playery v] to [0]\n    if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n        switch costume to (player - up v)\n        if <(Jumping?) = [yes]> then\n            set [playery v] to [12]\n            set [jumping? v] to [no]\n        end\n    end\nelse\n    change [playery v] by (-1)\n    set [jumping? v] to [yes]\nend\nif <(x position) > [239]> then\n    change [level v] by (1)\n    go to x: (-190) y: (20)\n    broadcast (Restart v)\n    set [playerx v] to [0]\n    set [playery v] to [0]\nend\nif <touching (bouncy v)?> then\n    if <(Jumping?) = [yes]> then\n        set [playery v] to [16]\n        set [jumping? v] to [no]\n    end\nend\nif <<<touching (danger v)?> or <(y position) < [-178]>> or <<touching (saws v)?> or <touching (lava v)?>>> then\n    go to x: (-190) y: (50)\n    set [playerx v] to [0]\n    set [playery v] to [0]\n    change [death v] by (1)\nend\n\nwhen I receive [-intro done  v]\n\nwhen flag clicked\nhide\nset [level v] to [1]\nset [death v] to [0]\nset [signal v] to [disactivated]\nhide variable [death v]\nshow\npoint in direction (90)\ngo to x: (-190) y: (20)\nset [playerx v] to [0]\nset [playery v] to [0]\nforever\n    Player Physics\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Danger\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Level)\nend\n\n@Platforms\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nforever\n    change [color v] effect by (0.1)\nend\n\n@Art\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Level)\n    set [ghost v] effect to (50)\nend\n\n@Light\n\nwhen flag clicked\ngo to [back v] layer\nforever\n    go to x: ([x position v] of [player v]) y: ([y position v] of [player v])\nend\n\n@Sprite2\n\ndefine size (zz)\nset size to (0) %\nset [ghost v] effect to (100)\nshow\nrepeat (30)\n    change size by (((zz) - (size)) / (5))\n    change [ghost v] effect by (-1)\nend\nwait (0.1) seconds\nrepeat (30)\n    change [ghost v] effect by (1)\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    point in direction (pick random (0) to (360))\n    set size to (pick random (1) to (3)) %\n    create clone of (_myself_ v)\n    wait (0.5) seconds\n    switch costume to (pick random (1) to (3))\nend\n\nwhen I receive [start game v]\nforever\n    create clone of (_myself_ v)\n    wait (0.5) seconds\nend\n\nwhen I start as a clone\nshow\ngo to [back v] layer\npoint in direction (pick random (0) to (360))\ngo to (random position v)\nswitch costume to (pick random (1) to (3))\nsize (pick random (50) to (200))\n\n@Saws\n\ndefine New Saw at (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\ngo to [back v] layer\nforever\n    turn right (5) degrees\nend\n\nwhen I receive [restart v]\nwait (0.01) seconds\nset size to (150) %\nhide\nif <(Level) = [2]> then\n    New Saw at [-80] [-90]\nend\nif <(Level) = [3]> then\n    New Saw at [-54] [77]\nend\nif <(Level) = [4]> then\n    New Saw at [-23] [-85]\n    New Saw at [75] [-91]\nend\nif <(Level) = [5]> then\n    New Saw at [-110] [-91]\n    New Saw at [184] [38]\nend\nif <(Level) = [6]> then\n    New Saw at [2] [3]\n    New Saw at [51] [22]\n    New Saw at [111] [149]\nend\nif <(Level) = [7]> then\n\nwhen I receive [restart v]\ndelete this clone\n\n@Lava\n\nwhen flag clicked\ngo to [back v] layer\nshow\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [end v]\nhide\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    repeat (30)\n        change y by (-0.4)\n    end\n    repeat (30)\n        change y by (0.4)\n    end\nend\n\n@Board\n\nwhen flag clicked\nshow\nforever\n    go to x: (0) y: (0)\n    set [ghost v] effect to (100)\n    wait (pick random (25) to (45)) seconds\n    repeat (25)\n        change [ghost v] effect by (-4)\n    end\n    wait (3) seconds\n    repeat (25)\n        change [ghost v] effect by (4)\n    end\nend\n\n@Who\n\nwhen flag clicked\nRead In Visited Lists\nAdd Me To Visited List (username)\nDisplay and Store Visited List\n\ndefine Read In Visited Lists\ndelete (all) of [who list v]\ndelete (all) of [when list v]\ndelete (all) of [count list v]\nInit Reader (☁ Who Visited)\nrepeat until <(parseIdx) > (length of (parseStr))>\n    Read String\n    add (?Val) to [who list v]\n    Read Number\n    add (?Val) to [when list v]\n    Read Number\n    add (?Val) to [count list v]\nend\n\ndefine Init Reader (text)\nset [parsestr v] to (text)\nset [parseidx v] to [1]\n\nwhen flag clicked\nset [_chars v] to [ !"#$%&'\(\)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ\[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~]\n\ndefine Read Number\nset [?val v] to []\nrepeat (letter (parseIdx) of (parseStr))\n    change [parseidx v] by (1)\n    set [?val v] to (join (?Val) (letter (parseIdx) of (parseStr)))\nend\nif <(?Val) > [8388608]> then\n    set [?val v] to ((?Val) - (16777215))\nend\nchange [parseidx v] by (1)\n\ndefine Write Number (val)\nif <(val) < [0]> then\n    set [?val v] to (round ((val) + (16777215)))\nelse\n    set [?val v] to (round (val))\nend\nset [parsestr v] to (join (parseStr) (join (length of (?Val)) (?Val)))\n\ndefine Write String (txt)\nWrite Number (length of (txt))\nset [?val v] to []\nset [ti v] to [1]\nrepeat (length of (txt))\n    set [tc v] to (letter (ti) of (txt))\n    set [ti2 v] to [1]\n    repeat until <<(tc) = (letter (ti2) of (_Chars))> or <(ti2) > (length of (_Chars))>>\n        change [ti2 v] by (1)\n    end\n    if <(ti2) < [10]> then\n        set [?val v] to (join (?Val) [0])\n    end\n    set [?val v] to (join (?Val) (ti2))\n    change [ti v] by (1)\nend\nset [parsestr v] to (join (parseStr) (?Val))\n\ndefine Read String\nRead Number\nset [parselen v] to (?Val)\nset [?val v] to []\nrepeat (parseLen)\n    set [ti2 v] to (((letter (parseIdx) of (parseStr)) * (10)) + (letter ((parseIdx) + (1)) of (parseStr)))\n    set [?val v] to (join (?Val) (letter (ti2) of (_Chars)))\n    change [parseidx v] by (2)\nend\n\ndefine Add Me To Visited List (who)\nset [whoidx v] to [1]\nset [found? v] to [0]\nrepeat (length of [who list v])\n    set [who v] to (item (whoIdx) of [who list v])\n    if <(who) = (who)> then\n        set [when v] to (item (whoIdx) of [when list v])\n        if <(when) = ([floor v] of (days since 2000) )> then\n            set [found? v] to [1]\n            set [count v] to ((item (whoIdx) of [count list v]) + (1))\n            replace item (whoIdx) of [count list v] with (count)\n        end\n    end\n    change [whoidx v] by (1)\nend\nif <(found?) = [0]> then\n    insert (who) at (1) of [who list v] \n    insert ([floor v] of (days since 2000) ) at (1) of [when list v] \n    insert [1] at (1) of [count list v] \nend\n\ndefine Display and Store Visited List\ndelete (all) of [visited list v]\nset [whoidx v] to [1]\nInit Reader []\nset [last when v] to [0]\nrepeat (length of [who list v])\n    set [who v] to (item (whoIdx) of [who list v])\n    set [when v] to (item (whoIdx) of [when list v])\n    set [count v] to (item (whoIdx) of [count list v])\n    Write String (who)\n    Write Number (when)\n    Write Number (count)\n    if <not <(last when) = (when)>> then\n        set [last when v] to (when)\n        set [when v] to (([floor v] of (days since 2000) ) - (when))\n        if <(when) = [0]> then\n            set [when v] to [Today]\n        else\n            if <(when) = [1]> then\n                set [when v] to [Yesterday]\n            else\n                set [when v] to (join (when) [ days ago])\n            end\n        end\n        add [] to [visited list v]\n        add (join [>>>>>     ] (join (when) [     <<<<<])) to [visited list v]\n        add [] to [visited list v]\n    end\n    add (join (who) (join [     x] (count))) to [visited list v]\n    change [whoidx v] by (1)\nend\ndelete (1) of [visited list v]\nset [☁ who visited v] to (parseStr)\n\nset [☁ who visited v] to []\n\n@Danger2\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Level)\nend\n\n@Lava2\n\nwhen flag clicked\ngo to [back v] layer\nshow\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [end v]\nhide\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    repeat (30)\n        change y by (-0.4)\n    end\n    repeat (30)\n        change y by (0.4)\n    end\nend\n\n