Nature (A Platformer)

Instructions: Scratch 3.0 broke it lol\n\n\n\n\nStop saying it lags because I can't fix that >.<\n________________________________________________________ \nJeez 130 messages o.o \nPlease Note: I read every single comment even if I don't respond :)\n\nAll levels are possible! (Yes, even the cloud one).\n_________________________________________________________\nWelcome to Nature, a platformer showcasing the beauty of nature.\n_________________________________________________________\n☁️ Instructions: WASD or Arrow Keys to move.\n_________________________________________________________\n\n☁️ Can you save nature? The artificial world is taking over. Only you can stop it!\n_________________________________________________________\n\n GOODNESS this is extremely late. I have not shared a game in a while XD This took so long to make. Sorry if it's short. I honestly can't add anything else. Too much art XP

@Stage\n\nwhen flag clicked\nset volume to (30) %\nswitch backdrop to (backdrop19 v)\nwait (5.8) seconds\nswitch backdrop to (backdrop1 v)\nforever\n    play sound [Itro x Valcos - Starbound \[NCS Release\].mp3 v] until done\nend\n\nwhen backdrop switches to [backdrop18 v]\nrepeat (10)\n    change volume by (-10)\nend\nstop [other scripts in stage v]\nstop all sounds\nset volume to (30) %\nforever\n    play sound [「Music Box」Undertale - His Theme \( Undertale \)【Jayn】.mp3 v] until done\nend\n\nrepeat (20)\n\nwhen I receive [next v]\nnext backdrop\n\n@Thumbnail\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\ngo to [front v] layer\nset [ghost v] effect to (100)\n\nset [ghost v] effect to (0)\n\n@You\n\ndefine Touch Ground <>\nchange [falling? v] by (1)\nrepeat until <not <touching (ground v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\nwhen flag clicked\nhide\nwait (5.8) seconds\nshow\nset [ghost v] effect to (0)\npoint in direction (90)\nset size to (25) %\ngo to x: (-204) y: (0)\nshow\nset [speed y v] to [0]\nset [falling? v] to [10]\nforever\n    if <<(speed y) < [4]> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n        change [speed y v] by (-1)\n    else\n        change [speed y v] by (-2)\n    end\n    change y by (speed y)\n    Touch Ground <(speed y) > [0]>\n    if <(wall jump) > [0]> then\n        change [wall jump v] by (-1)\n    else\n        set [speed x v] to ((speed x) * (0.7))\n        if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n            change [velocity x v] by (-0.7)\n            turn right ((Velocity x) + (-2)) degrees\n        end\n        if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n            change [velocity x v] by (0.7)\n            turn right ((Velocity x) + (2)) degrees\n        end\n    end\n    if <<key (w v) pressed?> or <key (up arrow v) pressed?>> then\n        if <<(jump key) = [0]> and <(falling?) < [3]>> then\n            set [speed y v] to [14]\n            set [falling? v] to [6]\n            set [jump key v] to [1]\n        end\n    else\n        set [jump key v] to [0]\n    end\n    if <(y position) < [-180]> then\n        go to x: (-240) y: (-30)\n        set [speed y v] to [0]\n    end\nend\n\nwhen flag clicked\nforever\n    set [velocity x v] to ((Velocity x) * (0.9))\n    set [velocity y v] to ((Velocity y) * (0.9))\n    change x by (Velocity x)\n    change y by (Velocity y)\nend\n\nwhen flag clicked\nforever\n    if <<touching (spikes v)?> or <(y position) < [-173]>> then\n        repeat (4)\n            change [ghost v] effect by (25)\n        end\n        set [ghost v] effect to (0)\n        go to x: (-204) y: (0)\n    end\nend\n\ndefine Touch Ground <>\n\nbroadcast (Next v)\npoint in direction (90)\n\nwhen [r v] key pressed\ngo to x: (-204) y: (-30)\n\nwhen flag clicked\nforever\n    if <(x position) > [230]> then\n        broadcast (Next v)\n        point in direction (90)\n        go to x: (-204) y: (0)\n        go to x: (-204) y: (0)\n    end\nend\n\nwhen I receive [next v]\ngo to x: (-204) y: (-30)\n\nwhen I receive [next v]\nif <([costume # v] of [ground v]) = [24]> then\n    stop [other scripts in sprite v]\n    point in direction (90)\n    go to x: (0) y: (0)\n    broadcast (Credits v)\nend\n\nwhen flag clicked\n\nif <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n    set [slope v] to [0]\n    repeat until <<(slope) = [8]> or <not <touching (ground v)?>>>\n        change y by (1)\n        change [slope v] by (1)\n    end\n    if <(slope) = [8]> then\n        change x by ((0) - (Velocity x))\n        change y by ((0) - (slope))\n    end\nend\n\nwhen [r v] key pressed\ngo to x: (-230) y: (20)\n\nforever\n    if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n        set [slope v] to [0]\n        repeat until <<(slope) = [8]> or <not <touching (ground v)?>>>\n            change y by (1)\n            change [slope v] by (1)\n        end\n        if <(slope) = [8]> then\n            change x by ((0) - (Velocity x))\n            change y by ((0) - (slope))\n        end\n    end\nend\n\n@Ground\n\nwhen I receive [next v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen flag clicked\nhide\nwait (5.8) seconds\nshow\ngo to x: (0) y: (0)\n\n@Spikes\n\nhide\n\nhide\n\ngo [backward v] (20) layers\n\nhide\n\ngo to x: (74) y: (3)\n\nhide\n\nhide\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo [backward v] (20) layers\nhide\ngo to x: (0) y: (-33)\nforever\n    if <([costume # v] of [ground v]) = [4]> then\n        switch costume to (costume1 v)\n        go to x: (92) y: (-33)\n        show\n    else\n        if <([costume # v] of [ground v]) = [7]> then\n            switch costume to (costume2 v)\n            go to x: (-24) y: (-28)\n            show\n        else\n            if <([costume # v] of [ground v]) = [10]> then\n                switch costume to (costume3 v)\n                go to x: (74) y: (3)\n                show\n            else\n                if <([costume # v] of [ground v]) = [11]> then\n                    switch costume to (costume4 v)\n                    go to x: (74) y: (3)\n                    show\n                else\n                    if <([costume # v] of [ground v]) = [12]> then\n                        switch costume to (costume3 v)\n                        go to x: (74) y: (3)\n                        show\n                    else\n                        if <([costume # v] of [ground v]) = [13]> then\n                            switch costume to (costume5 v)\n                            go to x: (38) y: (-32)\n                            show\n                        else\n                            if <([costume # v] of [ground v]) = [14]> then\n                                switch costume to (costume7 v)\n                                go to x: (38) y: (-32)\n                                show\n                            else\n                                if <([costume # v] of [ground v]) = [15]> then\n                                    switch costume to (costume6 v)\n                                    go to x: (38) y: (-32)\n                                    show\n                                else\n                                    if <([costume # v] of [ground v]) = [16]> then\n                                        switch costume to (costume7 v)\n                                        go to x: (38) y: (-32)\n                                        show\n                                    else\n                                        if <([costume # v] of [ground v]) = [18]> then\n                                            switch costume to (costume7 v)\n                                            go to x: (38) y: (-32)\n                                            show\n                                        else\n                                            if <([costume # v] of [ground v]) = [19]> then\n                                                switch costume to (costume7 v)\n                                                go to x: (38) y: (-32)\n                                                show\n                                            else\n                                                if <([costume # v] of [ground v]) = [20]> then\n                                                    switch costume to (costume7 v)\n                                                    go to x: (38) y: (-32)\n                                                    show\n                                                else\n                                                    if <([costume # v] of [ground v]) = [21]> then\n                                                        switch costume to (costume8 v)\n                                                        go to x: (38) y: (-32)\n                                                        show\n                                                    else\n                                                        hide\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    go [backward v] (20) layers\nend\n\nhide\n\nhide\n\nhide\n\nhide\n\nhide\n\n@Transition\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\ngo [backward v] (1) layers\nset [ghost v] effect to (100)\n\nwhen I receive [next v]\nwait (0.1) seconds\nif <<([costume # v] of [ground v]) = [8]> or <([costume # v] of [ground v]) = [23]>> then\n    show\n    go to [front v] layer\n    set [ghost v] effect to (0)\n    wait (0.5) seconds\n    repeat (25)\n        change [ghost v] effect by (4)\n        change [color v] effect by (4)\n    end\nelse\n    set [ghost v] effect to (100)\nend\n\ngo [backward v] (1) layers\n\ngo to x: (0) y: (0)\n\nset [ghost v] effect to (100)\n\n@Elements\n\nwhen flag clicked\nhide\nset size to (100) %\nforever\n    if <touching (you v)?> then\n        hide\n        broadcast (Next v)\n        wait (1) seconds\n    end\nend\n\nset size to (100) %\nshow\n\nhide\n\nhide\n\nhide\n\nbroadcast (Next v)\n\nwhen flag clicked\nforever\n    repeat (10)\n        change y by (1)\n        wait (0.1) seconds\n    end\n    wait (0.1) seconds\n    repeat (10)\n        change y by (-1)\n        wait (0.1) seconds\n    end\n    wait (0.1) seconds\nend\n\nwhen I receive [next v]\nrepeat (3)\n    if <([costume # v] of [ground v]) = [13]> then\n        switch costume to (costume1 v)\n        set size to (100) %\n        go to x: (2) y: (-39)\n        show\n    else\n        if <([costume # v] of [ground v]) = [14]> then\n            switch costume to (costume2 v)\n            set size to (100) %\n            go to x: (159) y: (105)\n            show\n        else\n            if <([costume # v] of [ground v]) = [15]> then\n                switch costume to (costume3 v)\n                set size to (100) %\n                go to x: (-211) y: (127)\n                show\n            else\n                if <([costume # v] of [ground v]) = [16]> then\n                    switch costume to (costume4 v)\n                    set size to (100) %\n                    go to x: (-146) y: (121)\n                    show\n                else\n                    hide\n                end\n            end\n        end\n    end\nend\n\nwait (0.2) seconds\n\nrepeat (10)\n    change size by (-10)\nend\n\ngo to x: (190) y: (105)\n\n@Colors\n\nwhen flag clicked\nhide\nset size to (100) %\nforever\n    if <touching (you v)?> then\n        hide\n        broadcast (Next v)\n        wait (1) seconds\n    end\nend\n\nset size to (100) %\n\nhide\n\nhide\n\nhide\n\nbroadcast (Next v)\n\nwhen flag clicked\nforever\n    repeat (10)\n        change y by (1)\n        wait (0.1) seconds\n    end\n    wait (0.1) seconds\n    repeat (10)\n        change y by (-1)\n        wait (0.1) seconds\n    end\n    wait (0.1) seconds\nend\n\nwhen I receive [next v]\nrepeat (3)\n    if <([costume # v] of [ground v]) = [18]> then\n        switch costume to (costume1 v)\n        set size to (60) %\n        go to x: (114) y: (-93)\n        show\n    else\n        if <([costume # v] of [ground v]) = [19]> then\n            switch costume to (costume2 v)\n            set size to (60) %\n            go to x: (-13) y: (136)\n            show\n        else\n            if <([costume # v] of [ground v]) = [20]> then\n                switch costume to (costume3 v)\n                set size to (60) %\n                go to x: (151) y: (139)\n                show\n            else\n                if <([costume # v] of [ground v]) = [21]> then\n                    switch costume to (costume4 v)\n                    set size to (60) %\n                    go to x: (109) y: (76)\n                    show\n                else\n                    hide\n                end\n            end\n        end\n    end\nend\n\nwait (0.2) seconds\n\nrepeat (10)\n    change size by (-10)\nend\n\nshow\n\n@Sprite1\n\nwhen I receive [credits v]\ngo to x: (0) y: (-350)\nshow\nforever\n    if <(y position) = [629]> then\n        hide\n    else\n        change y by (1)\n    end\nend\n\nwhen flag clicked\nhide\n\n@New Intro\n\nwhen flag clicked\nswitch costume to (new intro-0 v)\nhide\nstart sound [1 v]\ngo to x: (0) y: (-127)\nset [ghost v] effect to (100)\nset [velocity v] to [10]\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\n    change [velocity v] by (0.1)\n    set [velocity v] to ((velocity) * (0.9))\n    change y by (velocity)\nend\nrepeat (47)\n    next costume\n    wait (0.01) seconds\nend\nwait (0.5) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\n\n