Destiny Platformer

Instructions: After a week of hard ( not that hard ) work, I present you RED BALL - 1\n\nNOTE THAT THIS IS NOT CONNECTED WITH THE REAL STORY\n\nEXACTLY - 238 BLOCKS!!! WHAT!?\n\n#38 on Trending all, #14 on art!!!? - 8-1-2022\n#6 on Trending, #1 on stories!!! What? - 9-1-2022

@Stage\n\nwhen flag clicked\nforever\n    play sound [2019-04-20_-_Quiet_Time_-_David_Fesliyan v] until done\nend\n\nwhen flag clicked\nforever\n    set [brightness v] effect to ((0) + ((10) * ([sin v] of (((timer) - (50)) * (15)) )))\nend\n\n@my friend\n\nwhen flag clicked\nhide\n\nwhen I receive [boing v]\nset [fallspeed v] to [18]\n\nwhen I receive [coolieu v]\nstarting position\n\nbroadcast (coolieu v)\n\nwhen I receive [end of end v]\n\nwhen flag clicked\n\nwait (17) seconds\n\nwhen I receive [end intro v]\n\nstarting position\n\nwhen I receive [back v]\ngo to x: (-220) y: (-70)\nif <(level) = [6]> then\n    go to x: (-220) y: (120)\nend\nif <(level) = [7]> then\n    go to x: (-220) y: (50)\nend\nif <(level) = [8]> then\n    go to x: (-220) y: (-50)\nend\nif <(level) = [9]> then\n    go to x: (-220) y: (0)\nend\nif <(level) = [10]> then\n    go to x: (-220) y: (50)\nend\nset [player x v] to (x position)\nwait (0.1) seconds\nset [fallspeed v] to [0]\nset [dead v] to [0]\n\ndefine starting position\nchange [level v] by (1)\ngo to x: (-220) y: (0)\nif <(level) = [6]> then\n    go to x: (-220) y: (120)\nend\nif <(level) = [7]> then\n    go to x: (-220) y: (50)\nend\nif <(level) = [8]> then\n    go to x: (-220) y: (-50)\nend\nif <(level) = [9]> then\n    go to x: (-220) y: (0)\nend\nif <(level) = [10]> then\n    go to x: (-220) y: (50)\nend\nset [fallspeed v] to [0]\n\nrepeat (5)\n    change [brightness v] effect by (-10)\nend\n\nwhen I receive [begin! v]\ngo to x: (0) y: (0)\nset size to (100) %\nhide\nshow\ngo to [front v] layer\nset [ghost v] effect to (100)\nset [good v] to [1]\nset [takeoffspeed v] to [12]\nset [runspeed v] to [0]\nset [fallspeed v] to [0]\ngo to x: (0) y: (0)\nforever\n    if <(good) = [1]> then\n        change [fallspeed v] by (-1)\n        if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n            change [runspeed v] by (-1)\n        end\n        if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n            change [runspeed v] by (1)\n        end\n        if <(runspeed) > [7]> then\n            set [runspeed v] to [7]\n        end\n        if <[-7] > (runspeed)> then\n            set [runspeed v] to [-7]\n        end\n        if <not <<<key (a v) pressed?> or <key (left arrow v) pressed?>> or <<key (d v) pressed?> or <key (right arrow v) pressed?>>>> then\n            set [runspeed v] to ((runspeed) * (0.8))\n        end\n        if <touching (water v)?> then\n            change x by ((runspeed) / (3))\n        else\n            change x by (runspeed)\n        end\n        if <touching (ground v)?> then\n            change y by (1)\n        end\n        if <touching (ground v)?> then\n            change y by (1)\n        end\n        if <touching (ground v)?> then\n            change y by (1)\n        end\n        if <touching (ground v)?> then\n            change y by (1)\n        end\n        if <touching (ground v)?> then\n            change y by (-4)\n            change x by ((runspeed) * (-1))\n            if <<<key (w v) pressed?> or <key (w v) pressed?>> or <<key (up arrow v) pressed?> or <key (up arrow v) pressed?>>> then\n                set [fallspeed v] to [10]\n                if <([abs v] of (runspeed) ) = (runspeed)> then\n                    set [runspeed v] to [-4]\n                else\n                    set [runspeed v] to [4]\n                end\n            else\n                set [runspeed v] to [0]\n            end\n        end\n        change y by (fallspeed)\n        set [y v] to (y position)\n        if <touching (ground v)?> then\n            change y by ((fallspeed) - ((fallspeed) * (2)))\n            set [fallspeed v] to [0]\n        end\n        change y by (-1)\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <touching (ground v)?>> then\n            set [fallspeed v] to [12]\n        end\n        change y by (1)\n        if <touching (spikes v)?> then\n            set [player x v] to (x position)\n            set [dead v] to [1]\n            broadcast (dead v)\n            repeat (5)\n                change [brightness v] effect by (20)\n            end\n            wait until <(dead) = [0]>\n        end\n        if <(x position) > [230]> then\n            starting position\n        end\n        if <(y position) < [-160]> then\n            set [player x v] to (x position)\n            set [dead v] to [1]\n            broadcast (dead v)\n            repeat (5)\n                change [brightness v] effect by (20)\n            end\n            wait until <(dead) = [0]>\n        end\n        if <touching (trampoline v)?> then\n            set [fallspeed v] to [18]\n            broadcast (jump v)\n        end\n        if <key (n v) pressed?> then\n            starting position\n            wait until <not <key (n v) pressed?>>\n        end\n    end\nend\n\n@Decor\n\nwhen flag clicked\nset [level v] to [1]\nswitch costume to (level)\nhide\n\nwhen I receive [begin! v]\nshow\ngo to [front v] layer\nforever\n    switch costume to (level)\nend\n\n@Clouds\n\nwhen flag clicked\nforever\n    set x to ((0) + ((10) * ([sin v] of (((timer) - (50)) * (50)) )))\nend\n\n@Ground\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    switch costume to (level)\nend\n\n@Tire Swing\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (29) y: (91)\nforever\n    point in direction ((90) + ((10) * ([cos v] of (((timer) - (50)) * (100)) )))\nend\n\nwhen flag clicked\nforever\n    if <(level) = [1]> then\n        show\n        go to x: (29) y: (91)\n    end\n    if <(level) = [2]> then\n        show\n        go to x: (220) y: (108)\n    end\n    if <(level) = [3]> then\n        hide\n    end\n    if <(level) = [4]> then\n        hide\n    end\n    if <(level) = [5]> then\n        hide\n    end\n    if <(level) = [6]> then\n        show\n        go to x: (50) y: (100)\n    end\n    if <(level) = [7]> then\n        hide\n    end\n    if <(level) = [8]> then\n        show\n        go to x: (-100) y: (0)\n    end\n    if <(level) = [9]> then\n        hide\n    end\n    if <(level) = [10]> then\n        hide\n    end\n    if <(level) = [11]> then\n        show\n        go to x: (-230) y: (130)\n    end\n    if <(level) = [12]> then\n        show\n        go to x: (-230) y: (130)\n    end\n    if <(level) = [13]> then\n        hide\n    end\n    if <(level) = [14]> then\n    if <(level) = [15]> then\n    if <(level) = [16]> then\n        show\n        go to x: (-100) y: (100)\n    end\nend\n\n@CharacterSprite1Sprite1\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen I receive [back v]\nwait (0.1) seconds\nshow\nrepeat (5)\n    change [brightness v] effect by (-20)\nend\n\nwhen I receive [dead v]\nrepeat (5)\n    change [brightness v] effect by (20)\nend\nhide\n\nrepeat (10)\n    change [brightness v] effect by (-20)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [begin! v]\nwait (0.2) seconds\ngo to [front v] layer\n\nwhen I receive [begin! v]\nshow\nset [brightness v] effect to (0)\ngo to [front v] layer\nforever\n    go to (my friend v)\n    if <(fallspeed) = [0]> then\n        switch costume to (costume1 v)\n    end\n    if <(fallspeed) > [0]> then\n        switch costume to (costume4 v)\n    end\n    set [x of player v] to (x position)\n    set [y of player v] to (y position)\n    if <[0] > (fallspeed)> then\n        switch costume to (costume5 v)\n    end\n    if <<(fallspeed) = [0]> and <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n        switch costume to (costume3 v)\n    end\n    if <<(fallspeed) = [0]> and <<key (d v) pressed?> or <key (right arrow v) pressed?>>> then\n        switch costume to (costume2 v)\n    end\n    if <<(fallspeed) > [0]> and <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n        switch costume to (costume7 v)\n    end\n    if <<(fallspeed) > [0]> and <<key (d v) pressed?> or <key (right arrow v) pressed?>>> then\n        switch costume to (costume6 v)\n    end\n    if <<[0] > (fallspeed)> and <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n        switch costume to (costume8 v)\n    end\n    if <<[0] > (fallspeed)> and <<key (d v) pressed?> or <key (right arrow v) pressed?>>> then\n        switch costume to (costume9 v)\n    end\nend\n\nwhen I receive [begin! v]\nwait (1.1) seconds\ngo to [front v] layer\n\n@Spikes\n\nwhen flag clicked\nhide\n\nwhen I receive [begin! v]\nshow\nwait (0.1) seconds\ngo to [front v] layer\nforever\n    switch costume to (level)\nend\n\n@Death Animation\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen I receive [dead v]\ngo to [front v] layer\nset x to (player x)\nswitch costume to (costume1 v)\nshow\nrepeat (5)\n    change [ghost v] effect by (-20)\n    next costume\nend\nrepeat (5)\n    change [ghost v] effect by (20)\n    next costume\nend\nbroadcast (Back v)\nwait (0.1) seconds\nset x to (player x)\nswitch costume to (costume1 v)\nrepeat (5)\n    change [ghost v] effect by (-20)\n    next costume\nend\nrepeat (5)\n    change [ghost v] effect by (20)\n    next costume\nend\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    show\n    set [ghost v] effect to (100)\nend\n\n@Water\n\nwhen flag clicked\nforever\n    switch costume to (level)\n    set [ghost v] effect to (50)\n    set y to ((0) + ((10) * ([cos v] of (((timer) - (50)) * (300)) )))\nend\n\n@Trampoline\n\nwhen flag clicked\nforever\n    if <(level) = [1]> then\n        hide\n    end\n    if <(level) = [2]> then\n        hide\n    end\n    if <(level) = [3]> then\n        show\n        go to x: (-29) y: (-91)\n        go to [front v] layer\n    end\n    if <(level) = [4]> then\n        hide\n    end\n    if <(level) = [5]> then\n    if <(level) = [6]> then\n    if <(level) = [7]> then\n    if <(level) = [8]> then\n        show\n        go to x: (0) y: (-130)\n        go to [front v] layer\n    end\n    if <(level) = [9]> then\n        show\n        go to x: (-80) y: (-20)\n        go to [front v] layer\n    end\n    if <(level) = [10]> then\n        hide\n    end\n    if <(level) = [11]> then\n        hide\n    end\n    if <(level) = [12]> then\n        hide\n    end\n    if <(level) = [13]> then\n        hide\n    end\n    if <(level) = [14]> then\n        hide\n    end\n    if <(level) = [15]> then\n        show\n        go to x: (-150) y: (-90)\n        go to [front v] layer\n    end\n    if <(level) = [16]> then\n        hide\n    end\nend\n\ngo to x: (220) y: (108)\n\nwhen I receive [jump v]\nset [trampoline animation v] to [-5]\nrepeat until <(trampoline animation) = [0]>\n    change [trampoline animation v] by (1)\n    change y by (trampoline animation)\nend\nset [trampoline animation v] to [5]\nrepeat until <(trampoline animation) = [0]>\n    change [trampoline animation v] by (-1)\n    change y by (trampoline animation)\nend\n\n@Sprite1\n\n@INTRO \n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (0) y: (20)\nset [ghost v] effect to (0)\nset size to (300) %\nswitch costume to (ezgif v)\nrepeat (82)\n    next costume\nend\nbroadcast (BEGIN! v)\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nstop [other scripts in sprite v]\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Shadow\n\nwhen flag clicked\n\ndefine assign y position\nset y to (y of player)\nrepeat until <<touching (ground v)?> or <touching (_edge_ v)?>>\n    change y by (-1)\nend\nchange y by (-10)\n\nwhen I receive [explode v]\nhide\n\nwhen I receive [begin! v]\nhide\nshow\ngo to [front v] layer\nset rotation style [left-right v]\nforever\n    set size to ((100) - ((distance to [charactersprite1sprite1 v]) / (3))) %\n    set [ghost v] effect to ((50) + ((distance to [charactersprite1sprite1 v]) / (5)))\n    set x to (x of player)\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        point in direction (-90)\n    end\n    if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n        point in direction (90)\n    end\n    assign y position\nend\n\nwhen I receive [begin! v]\nwait (1) seconds\ngo to [front v] layer\n\n