Misery || a platformer  [contest entry]
@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [message1 v]\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [next v]\nnext backdrop\n\nwhen I receive [startproject v]\nforever\n    play sound [2018-08-21_-_Tears_Wont_Stop_-_David_Fesliyan v] until done\nend\n\n@If\n\nwhen flag clicked\ngo to [back v] layer\nset [ghost v] effect to (75)\n\n@You\n\nwhen flag clicked\nhide\nset size to (100) %\n\nset x to (36)\n\ndefine Newton\nswitch costume to ( v)\nset rotation style [left-right v]\nset [lvl v] to [0]\nset [xv v] to [0]\nset [yv v] to [0]\ngo to x: (-226) y: (-20)\nforever\n    change [yv v] by (-1)\n    if <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [xv v] by (0.8)\n    end\n    if <<key (left arrow v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [xv v] by (-0.8)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\n    if <touching (the v)?> then\n        change y by (1)\n        if <touching (the v)?> then\n            change y by (1)\n            if <touching (the v)?> then\n                change y by (1)\n                if <touching (the v)?> then\n                    change y by (1)\n                    if <touching (the v)?> then\n                        change y by (1)\n                        change x by ((Xv) * (-1))\n                        change y by (-5)\n                    end\n                end\n            end\n        end\n    end\n    change y by (Yv)\n    if <touching (the v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    change y by (-1)\n    if <touching (the v)?> then\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            set [yv v] to [12]\n        end\n        if <touching (bounce pad v)?> then\n            set [yv v] to [25]\n        end\n    end\n    change y by (1)\n    if <(x position) > [240]> then\n        broadcast (DYEET v)\n        change [lvl v] by (1)\n        go to x: (-226) y: (-20)\n    end\n    if  then\n        broadcast (Reset v)\n    end\n    if <touching (water v)?> then\n        change y by ([abs v] of ((Xv) + (1)) )\n        change [yv v] by (0.001)\n        if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            change [yv v] by (3)\n            set [yv v] to ((Yv) * (0.8))\n        else\n            change [yv v] by (-0.2)\n        end\n    end\n    if <touching (sprite7 v)?> then\n        change [xv v] by (7)\n    end\n    if <<(x position) < [-230]> and <(Lvl) = [6]>> then\n        broadcast (Reset v) and wait\n        change [lvl v] by (1)\n        broadcast (DYEET v)\n    end\n    if <touching (sprite10 v)?> then\n        go to [front v] layer\n        set [ghost v] effect to (0)\n        switch costume to (costume1 v)\n        repeat until <(size) = [593]>\n            go [forward v] (62) layers\n            change size by (10)\n        end\n        repeat (10)\n            change volume by (-10)\n        end\n        stop [this script v]\n    end\nend\n\n\n\nwhen I receive [reset v]\ngo to x: (-226) y: (-20)\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nrepeat (10)\n    change size by (-5)\n    change [ghost v] effect by (7)\nend\ndelete this clone\n\nwhen I receive [let’s start for realz v]\nshow\nNewton\n\n@The\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\nforever\n    if <(Lvl) > [8]> then\n        set [ghost v] effect to (75)\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\nwhen I receive [dyeet v]\nnext costume\n\nwhen I receive [let’s start for realz v]\nshow\n\n@Bounce pad\n\nwhen flag clicked\nhide\n\ndefine Position\nif <touching (you v)?> then\n    switch costume to (costume2 v)\nelse\n    if <not <touching (you v)?>> then\n        switch costume to (costume1 v)\n    end\nend\nif <(Lvl) = [0]> then\n    show\n    go to x: (48) y: (-80)\nend\nif <(Lvl) = [1]> then\n    hide\nend\nif <(Lvl) = [2]> then\n    show\n    go to x: (-178) y: (-80)\nend\nif <(Lvl) = [3]> then\n    go to x: (-178) y: (-100)\nend\nif <(Lvl) = [5]> then\n    hide\nend\nif <(Lvl) = [7]> then\n    show\n    go to x: (-101) y: (16)\nend\nif <(Lvl) = [8]> then\n    show\n    go to x: (-161) y: (-135)\nend\nif <(Lvl) = [9]> then\n    hide\nend\n\nwhen I receive [let’s start for realz v]\nshow\nforever\n    Position\nend\n\n@Sprite3\n\nwhen flag clicked\ngo to [back v] layer\nhide\n\nwhen flag clicked\npoint in direction (90)\ngo to x: (36) y: (28)\nswitch costume to (costume1 v)\n\nwhen I receive [dyeet v]\nnext costume\n\nwhen flag clicked\nforever\n    if <(Lvl) = [5]> then\n        turn right (5) degrees\n        go to x: (47) y: (-82)\n    end\n    if <(Lvl) = [6]> then\n        go to x: (36) y: (28)\n        point in direction (90)\n    end\n    if <(Lvl) = [7]> then\n        go to [back v] layer\n        go to x: (62) y: (-86)\n        turn right (5) degrees\n    end\n    if <(Lvl) = [8]> then\n        go to x: (36) y: (28)\n        point in direction (90)\n    end\nend\n\nwhen I start as a clone\n\nwhen I receive [startproject v]\nshow\n\n@Sprite1\n\nwhen flag clicked\nset [lock v] to [0]\ngo to [back v] layer\nswitch costume to (costume1 v)\nforever\n    if <(Lock) = [0]> then\n        switch costume to (costume1 v)\n    else\n        switch costume to (costume2 v)\n    end\n    if <(Lvl) = [8]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen this sprite clicked\nset [lock v] to [1]\nswitch costume to (costume2 v)\n\n@Sprite2\n\nwhen flag clicked\nforever\n    if <(Lock) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen this sprite clicked\nrepeat (5)\n    change [brightness v] effect by (4)\nend\nbroadcast (Reset v)\nset [brightness v] effect to (0)\n\n@Sprite4\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    if <(Lock) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen this sprite clicked\nswitch costume to (costume2 v)\nwait (1) seconds\nwait until <key (space v) pressed?>\nset [brightness v] effect to (0)\nswitch costume to (costume1 v)\n\nwhen this sprite clicked\nrepeat (5)\n    change [brightness v] effect by (4)\nend\n\n@Sprite5\n\nwhen flag clicked\nforever\n    if <(Lock) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen this sprite clicked\nset [lock v] to [0]\n\n@Sprite6\n\nwhen flag clicked\nforever\n    if <<not <(Lvl) = [12]>> and <(Lock) = [1]>> then\n        show\n    else\n        hide\n    end\nend\n\nwhen this sprite clicked\nrepeat (5)\n    change [brightness v] effect by (4)\nend\nbroadcast (DYEET v)\nbroadcast (Reset v)\nchange [lvl v] by (1)\nset [brightness v] effect to (0)\n\n@Water\n\nwhen I receive [dyeet v]\nnext costume\n\nwhen flag clicked\ngo to [back v] layer\nswitch costume to (0 v)\n\n@Sprite7\n\nwhen flag clicked\nset [lvl v] to [0]\nhide\nforever\n    if <(Lvl) = [5]> then\n        show\n    end\n    if <(Lvl) = [6]> then\n        hide\n    end\n    if <(Lvl) = [8]> then\n        show\n    end\n    if <(Lvl) = [9]> then\n        hide\n    end\nend\n\n@intro\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    set size to (0) %\n    wait (0.1) seconds\n    show\n    go to [front v] layer\n    repeat until <(round (size)) = [100]>\n        change size by (((100) - (size)) * (.2))\n    end\n    wait (1) seconds\n    hide\n    delete this clone\nelse\n    if <(costume [number v]) = [2]> then\n        set size to (0) %\n        wait (0.2) seconds\n        show\n        go to [front v] layer\n        repeat until <(round (size)) = [100]>\n            change size by (((100) - (size)) * (.2))\n        end\n        wait (1) seconds\n        hide\n        delete this clone\n    else\n        if <(costume [number v]) = [3]> then\n            set size to (0) %\n            wait (0.3) seconds\n            show\n            go to [front v] layer\n            repeat until <(round (size)) = [100]>\n                change size by (((100) - (size)) * (.2))\n            end\n            wait (1.8) seconds\n            delete this clone\n        else\n            if <(costume [number v]) = [4]> then\n                go to x: (0) y: (500)\n                point in direction (180)\n                set size to (120) %\n                wait (0.8) seconds\n                show\n                go to [front v] layer\n                repeat until <<(round (y position)) = [0]> and <(round (direction)) = [90]>>\n                    change y by (((0) - (y position)) * (.2))\n                    turn right (((90) - (direction)) * (.2)) degrees\n                end\n                set [size vel v] to [100]\n                repeat (30)\n                    change size by (size vel)\n                    set [size vel v] to (((size vel) * (0.8)) + (((100) - (size)) * (0.15)))\n                end\n                wait (0.1) seconds\n                hide\n                delete this clone\n            else\n                if <(costume [number v]) = [5]> then\n                    go to x: (0) y: (-500)\n                    set size to (100) %\n                    wait (2.2) seconds\n                    show\n                    go to [front v] layer\n                    repeat until <(round (y position)) = [0]>\n                        change y by (((0) - (y position)) * (.2))\n                    end\n                    wait (0.01) seconds\n                    hide\n                    delete this clone\n                else\n                    if <(costume [number v]) = [6]> then\n                        go to x: (0) y: (-500)\n                        set size to (100) %\n                        wait (2.3) seconds\n                        show\n                        go to [front v] layer\n                        repeat until <(round (y position)) = [0]>\n                            change y by (((0) - (y position)) * (.2))\n                        end\n                        broadcast (introMusicStop v)\n                        repeat (20)\n                            change [ghost v] effect by (5)\n                        end\n                        broadcast (startProject v)\n                        hide\n                        delete this clone\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [intromusicstop v]\nrepeat (50)\n    change volume by (-1)\nend\nstop all sounds\nwait (0.2) seconds\nset volume to (100) %\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\ngo to [front v] layer\nshow list [output text v]\nswitch costume to (1 v)\nwait (0.5) seconds\nrepeat (6)\n    create clone of (_myself_ v)\n    next costume\nend\n\nwhen flag clicked\nset volume to (0) %\nwait (0.17) seconds\nset volume to (100) %\nplay sound [UNSPEAKABLEGAMING-INTRO-SONG-FULL-SOUNDTRACK-.mp3 v] until done\n\n@Sprite8\n\nwhen I receive [startproject v]\nshow\nrepeat (20)\n    turn left (5) degrees\n    change size by (5)\nend\n\nwhen flag clicked\nset size to (100) %\npoint in direction (90)\nhide\nrepeat (20)\n    turn right (5) degrees\n    change size by (-5)\nend\n\nwhen I receive [let’s start for realz v]\nhide\n\n@Shadow\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to [back v] layer\nset [ghost v] effect to (25)\ngo [backward v] (1) layers\nhide\n\nwhen I receive [dyeet v]\nnext costume\n\nwhen I receive [let’s start for realz v]\nshow\n\n@Text\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen I receive [let’s start for realz v]\nshow\n\nwhen I receive [dyeet v]\nnext costume\n\n@Sprite9\n\nwhen this sprite clicked\nstop [other scripts in sprite v]\nbroadcast (Let’s start for realz v)\nrepeat (10)\n    turn right (15) degrees\n    change size by (-10)\nend\nhide\n\nwhen I receive [startproject v]\nshow\nrepeat (10)\n    change size by (10)\nend\n\nwhen I receive [startproject v]\nwait (1) seconds\nforever\n    point in direction ((([cos v] of ((tic) * (1.4)) ) * (5)) + (90))\n    change y by (([cos v] of ((tic) * (2.1)) ) * (1.4))\n    change size by (([cos v] of ((tic) * (1.4)) ) * (0.3))\n    change [tic v] by (5)\nend\n\nwhen flag clicked\npoint in direction (90)\nset size to (0) %\nhide\n\n@Sprite10\n\nwhen flag clicked\nhide\nforever\n    if <(Lvl) = [12]> then\n        show\n    else\n        hide\n    end\nend\n\n@Sprite11\n\nwhen flag clicked\ngo to [front v] layer\ngo [forward v] (1) layers\nset [ghost v] effect to (100)\n\n@Sprite12\n\nwhen I start as a clone\npoint in direction (pick random (20) to (168))\nset [ghost v] effect to (pick random (45) to (90))\nshow\nset y to (pick random (-180) to (180))\nglide (3) secs to x: (274) y: (pick random (-180) to (180))\nforever\n    delete this clone\nend\n\nwhen I start as a clone\n\nwhen I receive [let’s start for realz v]\nhide\ngo to [back v] layer\ngo [backward v] (3) layers\nset [ghost v] effect to (50)\nset x to (-240)\nforever\n    create clone of (_myself_ v)\n    wait (0.2) seconds\nend\n\n
Sequel: https://scratch.mit.edu/projects/382918538\nAn Easter egg! Where?\nArrow keys or mobile\nThis might be the first in a series\nStoryline: ‘in the early eras of ‘joyformer’ and ‘unlock’, all was good. Then, the land started rotting. A little character was to save the day. But the ground is half-dead. All is sad.’\nIf you wanna know how to complete lvl 7, scroll down\nYa really wanna cry when you get to the end\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nGo left