Life - A Mobile Platformer (15 Levels)

Instructions: Please propose this to be featured right here: https://scratch.mit.edu/studios/4228481/comments/\n\nThis project has been falsely reported many times. Please do not report a project without a good reason. If you do have a reason, please tell me and I might be able to fix it. The project is back up again, so thanks to the scratch team.\n\nClick here to play with less lag: https://forkphorus.github.io/#386556324\n\nWash you hands with soap and water for at least 20 seconds before playing this game.\n\nSPAM that green flag until your fingers start numbing.\n\n*IF YOU ARE BEING PULLED TO THE LEFT OF THE SCREEN, RELOAD THE PAGE AND CLICK THE GREEN FLAG AT LEAST TWICE*\n\nIf you're having trouble with level 8 or having trouble finding the Easter egg, scroll to the bottom.\n\nHello! Thanks for checking out this project, and thanks to all of you for 400 views, and if you enjoyed, please love, favorite, and follow me for more games like this one. There are a total of 15 levels, and the last level has an Easter egg. See if you can find it :D\n\n--------------------------Instructions--------------------------\n• Arrow keys or WAD to move or if you're on mobile, mobile controls\n• Try to reach the right side of the screen\n• All of the levels are possible, but if it's too hard, then just press the skip button or press 's'\n• If you get stuck or you just want to retry, then press 'r' or the retry button\nI hope you enjoy it!\n• IF YOU WANT TO FIND THE EASTER EGG YOURSELF, DON'T SCROLL DOWN\n\n\n\n\n\n\nHint: The Easter egg is on level 15, and the only way to get to level 15 is to press the skip button on level 14.\n\nAlso, for level 8, try going into the crevices of the castle on the top of it, to reveal a secret passage...\n\n

@Stage\n\nwhen I receive [green flag v]\nshow\nforever\n    switch costume to (level)\nend\n\nset [level v] to [13]\n\nwhen I receive [green flag v]\nforever\n    play sound [Alan Walker - Faded \[mp3clan\].mp3 v] until done\n    wait (0.6) seconds\nend\n\n@Empty\n\n@Toenail :D\n\nwhen flag clicked\ngo to [front v] layer\nset [ghost v] effect to (0)\nshow\nwait (0.9) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\n    wait (0) seconds\nend\nbroadcast (Green Flag v) and wait\nforever\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    show\nend\n\nwhen I receive [green flag v]\nforever\n    go to [front v] layer\nend\n\nwhen I receive [green flag v]\nforever\n    show\nend\n\nwhen I receive [green flag v]\nforever\n    set [ghost v] effect to (100)\nend\n\n@Sprite2\n\nwhen I start as a clone\ngo to [front v] layer\nif <(Clone ID) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved v] to [0]\n    switch costume to (loved 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 (favorite v)\n    set [faved v] to [0]\n    forever\n        set [favorite 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\nwhen I receive [green flag v]\ngo to [front v] layer\nhide\nset [faved v] to [0]\nset [loved v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(Loved) = [1]> or <(Faved) = [1]>>\nwait (0) seconds\nshow\ngo to x: (0) y: (20)\nreset timer\nswitch costume to (pick random (1) to (3))\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\n@Spikes Real\n\nwhen I receive [green flag v]\nshow\nforever\n    switch costume to (level)\nend\n\n@Ground\n\nwhen I receive [green flag v]\nforever\n    set [costume v] to (costume [number v])\nend\n\nwhen I receive [green flag v]\nforever\n    switch costume to (level)\nend\n\nset [level v] to [12]\n\n@Player\n\nwhen I start as a clone\nswitch costume to (costume3 v)\nset [ghost v] effect to (10)\nrepeat (10)\n    change size by (-1)\n    set [color v] effect to (Color)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [green flag v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\n\nset [wall v] to [10]\n\nswitch costume to (costume1 v)\n\nswitch costume to (costume3 v)\nforever\n    go to x: ([x position v] of [player v]) y: ([y position v] of [player v])\n    change x by (xv)\n    go to [front v] layer\nend\n\nif <(xv) > [0]> then\n    set [xv v] to [-6]\nelse\n    set [xv v] to [6]\nend\n\nset [yv v] to [6]\n\nwhen I receive [green flag v]\nforever\n    switch costume to (costume1 v)\n    repeat (5)\n        next costume\n    end\n    wait (0.35) seconds\n    switch costume to (costume5 v)\n    switch costume to (costume4 v)\n    switch costume to (costume2 v)\n    switch costume to (costume1 v)\n    wait (pick random (2) to (5)) seconds\nend\n\nwait (0) seconds\n\nwait (0) seconds\n\nwait (0) seconds\nwait (0) seconds\n\nwait (0) seconds\nswitch costume to (costume7 v)\nwait (0) seconds\nswitch costume to (costume6 v)\nwait (0) seconds\nswitch costume to (costume1 v)\n\nswitch costume to (costume4 v)\nwait (0.2) seconds\nswitch costume to (costume5 v)\nwait (0.2) seconds\nswitch costume to (costume4 v)\n\nwhen I receive [green flag v]\nset size to (60) %\nset [level v] to [1]\ngo to x: (-210) y: (30)\nforever\n    if <<touching (spikes real v)?> or <(y) < [-170]>> then\n        go to x: (-210) y: (30)\n    end\n    if <(x position) > [222]> then\n        change [level v] by (1)\n        go to x: (-210) y: (30)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [xv v] by (-0.95)\n    end\n    if <<<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> or <key (d v) pressed?>> then\n        change [xv v] by (0.95)\n    end\n    set [xv v] to ((xv) / (1.1))\n    change x by (xv)\n    if <<<touching (moving v)?> or <touching (ground v)?>> or <<touching (door v)?> or <touching (disappering platform v)?>>> then\n        change x by (() - (xv))\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n    end\n    change [yv v] by (-0.5)\n    change y by (yv)\n    if <<<touching (moving v)?> or <touching (ground v)?>> or <<touching (door v)?> or <touching (disappering platform v)?>>> then\n        change y by (() - (yv))\n        set [yv v] to [0]\n    end\n    change y by (-5)\n    if <<<touching (ground v)?> or <touching (moving v)?>> or <<touching (door v)?> or <touching (disappering platform v)?>>> then\n        if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <key (space v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            set [yv v] to [10]\n        end\n    end\n    change y by (5.1)\nend\n\nwhen I receive [green flag v]\n\nwhen I receive [green flag v]\nforever\n    set [x v] to (x position)\n    set [y v] to (y position)\nend\n\nwhen I receive [green flag v]\n\nforever\n    \n        go to x: (-210) y: (0)\n    end\nend\n\nforever\n\nif <(Costume) = [2]> then\n    set size to (35) %\nelse\n    set size to (60) %\nend\n\nwhen I receive [green flag v]\nforever\n    if <<touching (moving v)?> and <(level) = [9]>> then\n        if <(y) > [-114]> then\n            Up\n        else\n            change y by (-5)\n        end\n    end\nend\n\nwhen I receive [green flag v]\nwait (0) seconds\ngo to [front v] layer\n\ndefine Up\nrepeat until <not <touching (moving v)?>>\n    change y by (1)\nend\n\nforever\n\nif <<touching (ground v)?> and <<(level) = [2]> and <(y) < [51]>>> then\n    if <(x) < [-27]> then\n        repeat until <not <touching (ground v)?>>\n            change y by (1)\n        end\n    end\nend\n\nwhen I receive [skip v]\ngo to x: (-210) y: (30)\n\nwhen I receive [reset v]\ngo to x: (-210) y: (30)\n\n@Glow\n\nwhen I receive [green flag v]\nshow\nforever\n    go to (player v)\nend\n\n@Disappering Platform\n\nwhen I receive [green flag v]\nforever\n    switch costume to (level)\nend\n\nwhen I receive [green flag v]\nwait until <(Costume) = [8]>\nset [ghost v] effect to (0)\nshow\nrepeat until <not <(Costume) = [8]>>\n    if <<(y) < [55]> and <<(x) < [39]> and <(x) > [31]>>> then\n        repeat (10)\n            wait (0) seconds\n            change [ghost v] effect by (10)\n        end\n        hide\n    end\nend\n\nwhen I receive [green flag v]\nforever\n    switch costume to (level)\nend\n\n@Castle\n\nwhen I receive [green flag v]\ngo to [front v] layer\nhide\nwait until <(Costume) = [8]>\nset [ghost v] effect to (0)\nshow\nrepeat until <not <(Costume) = [8]>>\n    if <<(y) < [55]> and <<(x) < [37]> and <(x) > [31]>>> then\n        repeat (4)\n            wait (0) seconds\n            change [ghost v] effect by (10)\n        end\n        wait until <not <(Costume) = [8]>>\n        hide\n        stop [this script v]\n    end\nend\n\nwait (0.5) seconds\nif <<(y) < [55]> and <<(x) < [37]> and <(x) > [31]>>> then\nend\n\nwhen I receive [green flag v]\nforever\n    switch costume to (level)\nend\n\n@Spikes  Fake\n\nwhen I receive [green flag v]\nforever\n    switch costume to (level)\nend\n\n@Hidden secret Passageway\n\nwhen I receive [green flag v]\nhide\nwait until <(Costume) = [5]>\nset [ghost v] effect to (0)\nshow\nrepeat until <not <(Costume) = [5]>>\n    if <<(y) < [-70]> and <<(x) < [-31]> and <(x) > [-71]>>> then\n        if <<(y) < [-70]> and <<(x) < [-31]> and <(x) > [-71]>>> then\n            repeat (4)\n                wait (0) seconds\n                change [ghost v] effect by (10)\n            end\n            wait until <not <(Costume) = [5]>>\n            hide\n            stop [other scripts in sprite v]\n            stop [this script v]\n        end\n    end\nend\n\nwhen I receive [green flag v]\nwait (0) seconds\nforever\n    switch costume to (level)\nend\n\nwait (0.5) seconds\n\n@Words\n\nwhen I receive [green flag v]\nforever\n    switch costume to (level)\nend\n\nset [level v] to [14]\n\n@Door\n\nwhen I receive [green flag v]\nset [ghost v] effect to (0)\nrepeat until <(Door: open/closed) = [1]>\n    show\n    switch costume to (level)\nend\nhide\nstop [this script v]\n\nwhen I receive [green flag v]\n\nforever\n    set [costume v] to (costume [number v])\nend\n\nwhen I receive [door open up! v]\nrepeat (10)\n    wait (0) seconds\n    change [ghost v] effect by (10)\nend\nhide\n\n@Key\n\nwhen I receive [green flag clicked v]\nwait (0.01) seconds\ngo to [front v] layer\nshow\n\nforever\n\nwhen I receive [green flag v]\nset [door: open/closed v] to [0]\nrepeat until <touching (player v)?>\n    show\n    switch costume to (level)\nend\nset [door: open/closed v] to [1]\n\nforever\n\nwhen I receive [green flag v]\nforever\n    Effect\n    if <touching (player v)?> then\n        hide\n        broadcast (Door open up! v)\n    end\nend\n\ndefine Effect\npoint in direction ((([sin v] of ((timer) * (300)) ) * (10)) + (90))\n\nturn right (15) degrees\nturn left (15) degrees\nturn right (15) degrees\nturn left (15) degrees\n\nrepeat until <touching (player v)?>\n\nwait (1) seconds\n\n@Moving\n\nwhen I receive [green flag v]\nshow\nforever\n    switch costume to (level)\nend\n\nwhen I receive [green flag v]\nrepeat until <(costume [number v]) = [11]>\n    if <(costume [number v]) = [10]> then\n        repeat until <(costume [number v]) = [11]>\n            glide (3) secs to x: (166) y: (-127)\n            glide (3) secs to x: (-133) y: (-127)\n        end\n    end\nend\n\n@Particle\n\nwhen I start as a clone\nif <<(level) = [13]> or <[13] > (level)>> then\n    switch costume to (costume3 v)\n    go to [back v] layer\n    set [ghost v] effect to (80)\n    set size to (pick random (20) to (80)) %\n    set [rot v] to (pick random (-5) to (5))\n    set [sub2twintrick v] to (pick random (5) to (7))\n    show\n    point in direction (pick random (-180) to (180))\n    go to (random position v)\n    set y to (-180)\n    repeat until <(y position) > [150]>\n        turn right (Rotation) degrees\n        change y by (Sub2TwinTrick)\n    end\n    hide\n    delete this clone\nelse\n    switch costume to (pick random (1) to (3))\n    go to [back v] layer\n    set [ghost v] effect to (80)\n    set size to (pick random (20) to (80)) %\n    set [rot v] to (pick random (-5) to (5))\n    set [sub2twintrick v] to (pick random (5) to (7))\n    show\n    point in direction (pick random (-180) to (180))\n    go to (random position v)\n    set y to (-180)\n    repeat until <(y position) > [150]>\n        turn right (Rotation) degrees\n        change y by (Sub2TwinTrick)\n    end\n    hide\n    delete this clone\nend\n\nset [speed v] to [0]\nset [rotation v] to [0]\n\nwhen I receive [green flag v]\nhide\nforever\n    create clone of (_myself_ v)\nend\n\n\n    create clone of (_myself_ v)\nend\n\n@Sprite3\n\nwhen I receive [green flag v]\ngo to x: (-115) y: (-149)\nforever\n    point in direction ((([sin v] of ((timer) * (300)) ) * (4)) + (90))\nend\n\n\n\nwhen I receive [green flag v]\nshow\nforever\n    if <<touching (mouse-pointer v)?> or <key (s v) pressed?>> then\n        if <(level) < [15]> then\n            show\n            set [brightness v] effect to (15)\n            set size to (110) %\n        else\n            set [brightness v] effect to (0)\n            set size to (100) %\n        end\n    else\n        set [brightness v] effect to (0)\n        set size to (100) %\n    end\nend\n\nchange [brightness v] effect by (25)\n\nwhen this sprite clicked\nif <(level) < [15]> then\n    change [level v] by (1)\n    broadcast (Skip v)\nend\n\n\n\nwhen I receive [green flag v]\nforever\n    if <[14] < (level)> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [green flag v]\nrepeat until <[14] < (level)>\n    if <key (s v) pressed?> then\n        if <(level) < [15]> then\n            change [level v] by (1)\n            broadcast (Skip v)\n        end\n    end\nend\n\n@Sprite4\n\nwhen I receive [green flag v]\nforever\n    point in direction ((([sin v] of ((timer) * (300)) ) * (4)) + (90))\nend\n\nwhen I receive [green flag v]\ngo to x: (-173) y: (-158)\nforever\n    if <<key (r v) pressed?> or <touching (mouse-pointer v)?>> then\n        set [brightness v] effect to (15)\n        set size to (110) %\n    else\n        set [brightness v] effect to (0)\n        set size to (100) %\n    end\nend\n\nwhen this sprite clicked\nbroadcast (reset v)\n\nwhen I receive [green flag v]\nrepeat until <[14] < (level)>\n    if <key (r v) pressed?> then\n        if <(level) < [15]> then\n            broadcast (reset v)\n        end\n    end\nend\n\nchange [level v] by (1)\n\n@Hidden secret Passageway2\n\nwhen I receive [green flag v]\nhide\nwait until <(Costume) = [14]>\nset [ghost v] effect to (0)\nshow\nrepeat until <not <(Costume) = [14]>>\n    if <<[106] < (y)> and <(x) < [-22]>> then\n        repeat (2)\n            wait (0) seconds\n            change [ghost v] effect by (48)\n        end\n        wait until <not <(Costume) = [14]>>\n        hide\n        stop [other scripts in sprite v]\n        stop [this script v]\n    end\nend\n\nif <<[106] < (y)> and <(x) < [-22]>> then\n\nwhen I receive [green flag v]\nforever\n    switch costume to (level)\nend\n\nwait (0.5) seconds\n\nset [level v] to [12]\n\n@Sprite1\n\nwhen I receive [green flag v]\nforever\n    switch costume to (level)\nend\n\n