Darkness|| A Platformer

Instructions: getting curated by @SCRATCH---PIXEL on 7/8! tysm!!!\nI also sorta made a sequel: https://scratch.mit.edu/projects/404517275/\n:00000 22222 (2/27/21)\nIT WAS 2/22/2022 YESTERDAY (2/23/22)\nSO MANY 2s\n\nlol this was curated a year ago (7/8/21)\n\n:0 ty @thegoose2468 for proposing this!\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\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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nhewo\n

@Stage\n\nwhen flag clicked\nforever\n    switch backdrop to (backdrop1 v)\n    if <(level #) = [16]> then\n        switch backdrop to (backdrop2 v)\n    end\nend\n\n@level\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    switch costume to (level #)\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen flag clicked\nforever\n    set [level # v] to (costume [number v])\nend\n\nwhen I receive [next level v]\nchange [level # v] by (1)\n\n@player\n\nwhen flag clicked\nforever\n    play sound [Vicetone_-_United_We_Dance v] until done\nend\n\nwhen I start as a clone\nset [ghost v] effect to (35)\nset size to (100) %\nswitch costume to (costume3 v)\nrepeat (15)\n    change size by (-6)\n    change [ghost v] effect by (3)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\ndefine platform (jump height) (gravity) (friction) (running speed)\nif <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(playerx) < (mouse x)>>>> then\n    change [xvelocity v] by ((running speed) * (1))\n    switch costume to (costume1 v)\nend\nif <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(playerx) > (mouse x)>>>> then\n    change [xvelocity v] by ((running speed) * (-1))\n    switch costume to (costume2 v)\nend\nset [xvelocity v] to ((xvelocity) * (friction))\nchange x by (xvelocity)\nif <touching (level v)?> then\n    set [slope v] to [0]\n    repeat until <<(slope) = [8]> or <not <touching (level v)?>>>\n        change [slope v] by (1)\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by ((slope) * (-1))\n        repeat ([ceiling v] of ([abs v] of (xvelocity) ) )\n            if <touching (level v)?> then\n                change x by ((([abs v] of (xvelocity) ) / (xvelocity)) * (-1))\n            end\n        end\n        set [xvelocity v] to [0]\n    end\nend\nchange y by (yvelocity)\nif <touching (level v)?> then\n    repeat ([ceiling v] of ([abs v] of (yvelocity) ) )\n        if <touching (level v)?> then\n            change y by ((([abs v] of (yvelocity) ) / (yvelocity)) * (-1))\n        end\n    end\n    if <<(([abs v] of (yvelocity) ) / (yvelocity)) = [-1]> and <<key (up arrow v) pressed?> or <<key (w v) pressed?> or >>> then\n        set [yvelocity v] to (jump height)\n    else\n        set [yvelocity v] to [0]\n    end\nelse\n    change [yvelocity v] by (-1)\nend\n\nwhen flag clicked\ngo to x: <[] > [50]> y: (-40)\nset [xvelocity v] to [0]\nset [yvelocity v] to [0]\nforever\n    if <touching (jump pad v)?> then\n        platform [20] [-1] [0.7] [2.3]\n    else\n        platform [12] [-1] [0.7] [2.3]\n    end\nend\n\nwhen flag clicked\nset [ghost v] effect to (0)\nforever\n    if <touching (evil stuff v)?> then\n        broadcast (respawn muahaha  v)\n    end\nend\n\nwhen I receive [respawn muahaha  v]\ngo to x: (-202) y: (-60)\n\nwhen flag clicked\nforever\n    if <touching (goal v)?> then\n        broadcast (respawn muahaha  v)\n        broadcast (next level v)\n    end\nend\n\ndefine out\n\nwhen flag clicked\nforever\n    if <(xvelocity) > [0]> then\n        repeat until <not <touching color (#3bb700)?>>\n            change x by (-1)\n        end\n    else\n        if <(xvelocity) < [0]> then\n            repeat until <not <touching color (#3bb700)?>>\n                change x by (1)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen flag clicked\nforever\n    set [playerx v] to (x position)\n    set [playery v] to (y position)\nend\n\nwhen flag clicked\ngo to x: (-202) y: (-60)\n\nwhen flag clicked\n\nforever\n    if <touching (jump pad v)?> then\n        change y by (1)\n        if <touching (jump pad v)?> then\n            change y by (1)\n            if <touching (jump pad v)?> then\n                change y by (1)\n                if <touching (jump pad v)?> then\n                    change y by (1)\n                    if <touching (jump pad v)?> then\n                        change y by (1)\n                        if <touching (jump pad v)?> then\n                            change y by (1)\n                            if <touching (jump pad v)?> then\n                                change y by (1)\n                                if <touching (jump pad v)?> then\n                                    change y by (1)\n                                    if <touching (jump pad v)?> then\n                                        change y by (1)\n                                        if <touching (jump pad v)?> then\n                                            change y by (1)\n                                            if <touching (jump pad v)?> then\n                                                change y by (1)\n                                                if <touching (jump pad v)?> then\n                                                    change y by (1)\n                                                    if <touching (jump pad v)?> then\n                                                        change y by (1)\n                                                        if <touching (jump pad v)?> then\n                                                            change y by (1)\n                                                            if <touching (jump pad v)?> then\n                                                                change y by (1)\n                                                                if <touching (jump pad v)?> then\n                                                                    change y by (1)\n                                                                end\n                                                            end\n                                                        end\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\n@sign\n\nwhen flag clicked\nforever\n    switch costume to (level #)\nend\n\nwhen flag clicked\ngo [backward v] (2) layers\n\nwhen flag clicked\nforever\n    if <<touching (mouse-pointer v)?> or <touching (player v)?>> then\n        if <(level #) = [1]> then\n            say [welcome to darkness: a platformer] for (2.5) seconds\n        end\n        if <(level #) = [3]> then\n            say [use the jump pad for big jumps.] for (2.5) seconds\n        end\n        if <(level #) = [8]> then\n            say [careful!] for (1.5) seconds\n        end\n        if <(level #) = [11]> then\n            say [h e h e] for (1.5) seconds\n        end\n        if <(level #) = [13]> then\n            say [aim is important here...] for (2) seconds\n        end\n        if <(level #) = [16]> then\n            say [congrats! you have found light :-\)] for (2) seconds\n        end\n    end\nend\n\n@cooltext-357179999502882\n\nwhen this sprite clicked\nbroadcast (respawn muahaha  v)\n\nwhen flag clicked\ngo [forward v] (11) layers\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (-5)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen flag clicked\npoint in direction (90)\nset size to (100) %\nforever\n    repeat (10)\n        change size by (0.5)\n    end\n    repeat (10)\n        change size by (-0.5)\n    end\nend\n\n@evil stuff\n\nwhen flag clicked\nforever\n    switch costume to (level #)\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    repeat (20)\n        change y by (0.5)\n    end\n    repeat (20)\n        change y by (-0.5)\n    end\nend\n\nwhen flag clicked\ngo to [back v] layer\n\n@jump pad\n\nwhen flag clicked\nforever\n    switch costume to (level #)\nend\n\nwhen flag clicked\ngo to [front v] layer\n\n@Sprite1\n\nwhen flag clicked\ngo to x: (-255) y: (125)\nset [ghost v] effect to (100)\nforever\n    create clone of (_myself_ v)\n    wait (0.07) seconds\nend\n\nwhen I start as a clone\ngo to [back v] layer\ngo to x: (-260) y: (pick random (-150) to (180))\nset [ghost v] effect to (pick random (50) to (95))\nset size to (pick random (50) to (150)) %\nrepeat (100)\n    change x by (5)\nend\n\nwhen I start as a clone\nif <(size) > [100]> then\n    wait (1) seconds\nelse\n    wait (1.5) seconds\nend\nrepeat (500)\n    change [ghost v] effect by (0.5)\nend\ndelete this clone\n\nwhen flag clicked\nshow\n\n@goal\n\nwhen flag clicked\nshow\nset size to (100) %\nset size to (75) %\nset [ghost v] effect to (25)\npoint in direction (75)\nforever\n    repeat (30)\n        turn right (1) degrees\n    end\n    repeat (30)\n        turn left (1) degrees\n    end\nend\n\nwhen flag clicked\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\npoint in direction (90)\nset [ghost v] effect to (0)\nforever\n    if <(level #) = [1]> then\n        go to x: (212) y: (-57)\n    end\n    if <(level #) = [5]> then\n        go to x: (212) y: (153)\n    end\n    if <(level #) = [6]> then\n        go to x: (220) y: (110)\n    end\n    if <(level #) = [7]> then\n        go to x: (212) y: (-57)\n    end\n    if <(level #) = [9]> then\n        go to x: (220) y: (38)\n    end\n    if <(level #) = [10]> then\n        go to x: (212) y: (-57)\n    end\n    if <(level #) = [12]> then\n        go to x: (221) y: (49)\n    end\n    if <(level #) = [13]> then\n        go to x: (212) y: (-57)\n    end\n    if <(level #) = [14]> then\n        go to x: (222) y: (-61)\n    end\n    if <(level #) = [15]> then\n        go to x: (225) y: (97)\n    end\n    if <(level #) = [16]> then\n        hide\n        go to x: (225) y: (180)\n    end\nend\n\nwhen flag clicked\ngo to x: (212) y: (-57)\nforever\n    if <(level #) = [1]> then\n        go to x: (212) y: (-57)\n    end\n    if <(level #) = [5]> then\n        go to x: (212) y: (153)\n    end\n    if <(level #) = [6]> then\n        go to x: (220) y: (110)\n    end\n    if <(level #) = [7]> then\n        go to x: (212) y: (-57)\n    end\n    if <(level #) = [9]> then\n        go to x: (220) y: (38)\n    end\n    if <(level #) = [10]> then\n        go to x: (212) y: (-57)\n    end\n    if <(level #) = [12]> then\n        go to x: (221) y: (49)\n    end\n    if <(level #) = [13]> then\n        go to x: (212) y: (-57)\n    end\n    if <(level #) = [14]> then\n        go to x: (222) y: (-61)\n    end\n    if <(level #) = [15]> then\n        go to x: (225) y: (97)\n    end\n    if <(level #) = [16]> then\n        hide\n        go to x: (225) y: (180)\n    end\nend\n\n@Sprite2\n\nwhen flag clicked\ngo to x: (-255) y: (125)\nset [ghost v] effect to (100)\nforever\n    create clone of (_myself_ v)\n    wait (0.07) seconds\nend\n\nwhen I start as a clone\ngo to [back v] layer\ngo to x: (-260) y: (pick random (-150) to (180))\nset [ghost v] effect to (pick random (50) to (95))\nset size to (pick random (50) to (150)) %\nrepeat (50)\n    change x by (10)\nend\n\nwhen I start as a clone\nif <(size) > [100]> then\n    wait (0.5) seconds\nelse\n    wait (0.75) seconds\nend\nrepeat (250)\n    change [ghost v] effect by (1)\nend\ndelete this clone\n\nwhen flag clicked\nshow\n\n@cooltext-357180023871607\n\nwhen flag clicked\nshow\ngo to x: (-124) y: (-155)\npoint in direction (90)\nset size to (100) %\nforever\n    repeat (10)\n        change size by (0.5)\n    end\n    repeat (10)\n        change size by (-0.5)\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (-5)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen this sprite clicked\nbroadcast (next level v)\nbroadcast (respawn muahaha  v)\n\nwhen flag clicked\nshow\nforever\n    if <(level #) = [16]> then\n        hide\n    end\nend\n\n@cooltext-357190316590915\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    hide\n    if <(level #) = [16]> then\n        show\n    end\nend\n\nwhen flag clicked\ngo [backward v] (1) layers\n\n@cooltext-357189699794051\n\nwhen flag clicked\nset [ghost v] effect to (100)\nforever\n    show\n    go to [front v] layer\nend\n\n@Sprite3\n\nwhen flag clicked\nforever\n    go [backward v] (12) layers\n    go to (player v)\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [ghost v] effect to (0)\nset size to (90) %\nforever\n    repeat (40)\n        change size by (0.5)\n    end\n    repeat (40)\n        change size by (-0.5)\n    end\nend\n\nwhen flag clicked\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nset size to (105) %\nswitch costume to (costume2 v)\nforever\n    repeat (40)\n        change size by (-0.5)\n    end\n    repeat (40)\n        change size by (0.5)\n    end\nend\n\nwhen I start as a clone\nforever\n    go to (player v)\nend\n\n