Time-A platformer

Instructions: 100+ likes :O  Thank You!!! thanks for all the positive comments!\nTime 2: https://scratch.mit.edu/projects/673574365/\n~-=Time=-~\nThis is no ordinary platformer,\nhit crystals to go back in time to pass the level.\n!!This is a very hard platformer, be proud if you beat it without skipping anything\n!Warning!\nif you leave this site when you come back it will be very glitchy\nPlease follow if you liked this game\n=Move=\narrow keys

@Stage\n\n@Player\n\nwhen flag clicked\ngo to x: (-192) y: (13)\ngo to [front v] layer\nset [yv v] to [0]\nforever\n    move\nend\n\ndefine move\nswitch costume to (costume2 v)\nif <not <touching (level hitbox v)?>> then\n    if <touching color (#3ca6ca)?> then\n        if <[-3] < (yv)> then\n            if <<not <key (up arrow v) pressed?>> or <<(y position) < (mouse y)> and <mouse down?>>> then\n                change [yv v] by (-2.5)\n            end\n        end\n    else\n        change [yv v] by (-1)\n    end\nend\nchange y by (yv)\nif <touching (level hitbox v)?> then\n    if <(yv) < [.1]> then\n        set [yv v] to [0]\n        set [jump v] to [false]\n        change y by (1)\n        if <touching (level hitbox v)?> then\n            change y by (1)\n            if <touching (level hitbox v)?> then\n                change y by (1)\n                if <touching (level hitbox v)?> then\n                    change y by (1)\n                    if <touching (level hitbox v)?> then\n                        change y by (1)\n                        if <touching (level hitbox v)?> then\n                            change y by (1)\n                            if <touching (level hitbox v)?> then\n                                change y by (1)\n                                if <touching (level hitbox v)?> then\n                                    change y by (1)\n                                    if <touching (level hitbox v)?> then\n                                        change y by (1)\n                                        if <touching (level hitbox v)?> then\n                                            change y by (1)\n                                            if <touching (level hitbox v)?> then\n                                                change y by (1)\n                                                if <touching (level hitbox v)?> then\n                                                    change y by (1)\n                                                    if <touching (level hitbox v)?> then\n                                                        change y by (1)\n                                                        if <touching (level hitbox v)?> then\n                                                            change y by (1)\n                                                            if <touching (level hitbox 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    else\n        set [yv v] to [-1]\n        change y by (-1)\n        if <touching (level hitbox v)?> then\n            change y by (-1)\n            if <touching (level hitbox v)?> then\n                change y by (-1)\n                if <touching (level hitbox v)?> then\n                    change y by (-1)\n                    if <touching (level hitbox v)?> then\n                        change y by (-1)\n                        if <touching (level hitbox v)?> then\n                            change y by (-1)\n                            if <touching (level hitbox v)?> then\n                                change y by (-1)\n                                if <touching (level hitbox v)?> then\n                                    change y by (-1)\n                                    if <touching (level hitbox v)?> then\n                                        change y by (-1)\n                                        if <touching (level hitbox v)?> then\n                                            change y by (-1)\n                                            if <touching (level hitbox v)?> then\n                                                change y by (-1)\n                                                if <touching (level hitbox v)?> then\n                                                    change y by (-1)\n                                                    if <touching (level hitbox v)?> then\n                                                        change y by (-1)\n                                                        if <touching (level hitbox v)?> then\n                                                            change y by (-1)\n                                                            if <touching (level hitbox v)?> then\n                                                                change y by (-1)\n                                                                if <touching (level hitbox v)?> then\n                                                                    change y by (-1)\n                                                                    if <touching (level hitbox v)?> then\n                                                                        change y by (-1)\n                                                                        if <touching (level hitbox v)?> then\n                                                                            change y by (-1)\n                                                                            if <touching (level hitbox v)?> then\n                                                                                change y by (-1)\n                                                                                if <touching (level hitbox v)?> then\n                                                                                    change y by (-1)\n                                                                                    if <touching (level hitbox v)?> then\n                                                                                        change y by (-1)\n                                                                                        if <touching (level hitbox v)?> then\n                                                                                            change y by (-1)\n                                                                                            if <touching (level hitbox v)?> then\n                                                                                                change y by (-1)\n                                                                                                if <touching (level hitbox v)?> then\n                                                                                                    change y by (-1)\n                                                                                                    if <touching (level hitbox 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\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nchange y by (-1)\nif <<key (up arrow v) pressed?> or <<(y position) < (mouse y)> and <mouse down?>>> then\n    if <touching color (#3ca6ca)?> then\n        set [jump v] to [true]\n        set [yv v] to [4]\n    else\n        if <(jump) = [false]> then\n            if <touching (level hitbox v)?> then\n                set [jump v] to [true]\n                change [yv v] by (13)\n            end\n        end\n    end\nend\nswitch costume to (costume2 v)\nif <<key (right arrow v) pressed?> or <<(x position) < (mouse x)> and <mouse down?>>> then\n    if <touching color (#3ca6ca)?> then\n        change [xv v] by (.3)\n    else\n        change [xv v] by (.5)\n    end\nend\nchange x by (xv)\nchange y by (1)\nif <touching (level hitbox v)?> then\n    change x by ((xv) * (-1))\n    if <<key (up arrow v) pressed?> or <<(y position) < (mouse y)> and <mouse down?>>> then\n        set [jump v] to [true]\n        set [xv v] to [-5]\n        set [yv v] to [10]\n    end\nend\nchange y by (-1)\nif <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>> then\n    if <touching color (#3ca6ca)?> then\n        change [xv v] by (-.3)\n    else\n        change [xv v] by (-.5)\n    end\nend\nchange x by (xv)\nchange y by (1)\nif <touching (level hitbox v)?> then\n    change x by ((xv) * (-1))\n    if <<key (up arrow v) pressed?> or <<(y position) < (mouse y)> and <mouse down?>>> then\n        set [jump v] to [true]\n        set [xv v] to [3]\n        set [yv v] to [10]\n    end\nend\nchange y by (-1)\nset [xv v] to ((xv) * (.83))\nif <(time) = [false]> then\n    switch costume to (costume3 v)\nelse\n    switch costume to (costume5 v)\nend\n\nwhen flag clicked\nset [yv v] to [0]\nset [xv v] to [0]\nset [time v] to [false]\nforever\n    if <touching color (#bd00ff)?> then\n        wait until <not <touching color (#bd00ff)?>>\n        change [level v] by (1)\n        set [time v] to [true]\n        switch costume to (costume5 v)\n    end\n    if <touching color (#1fff00)?> then\n        wait until <not <touching color (#1fff00)?>>\n        change [level v] by (-1)\n        set [time v] to [false]\n        switch costume to (costume3 v)\n    end\nend\n\nwhen flag clicked\nset [yv v] to [0]\nset [xv v] to [0]\nforever\n    if <<<touching color (#a7a7a7)?> or <touching color (#8f8f8f)?>> or <touching color (#df2e02)?>> then\n        set [yv v] to [0]\n        set [xv v] to [0]\n        go to x: (-192) y: (13)\n    end\n    if <touching color (#54dc36)?> then\n        if <(level) = [13]> then\n            set [xv v] to [-7]\n        end\n    end\n    if <<touching color (#e0e0e0)?> or <touching color (#d8d8d8)?>> then\n        set [yv v] to [0]\n        set [xv v] to [0]\n        go to x: (-192) y: (13)\n    end\n    if <<touching color (#84afbe)?> or <touching color (#779aa7)?>> then\n        set [yv v] to [0]\n        set [xv v] to [0]\n        go to x: (-192) y: (13)\n    end\n    if <(x position) = [242]> then\n        set [yv v] to [0]\n        set [xv v] to [0]\n        set [time v] to [false]\n        go to x: (-192) y: (13)\n        change [level v] by (1)\n    end\n    if <touching color (#c2c93c)?> then\n        set [yv v] to [-1]\n        set [xv v] to [0]\n    end\n    if <(y position) < [-160]> then\n        set [yv v] to [0]\n        set [xv v] to [0]\n        go to x: (-192) y: (13)\n    end\nend\n\nwhen I receive [position v]\ngo to x: (-192) y: (13)\n\n@level\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    switch costume to (level)\nend\n\n@level hitbox\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    switch costume to (level)\n    go to [back v] layer\nend\n\n@sun\n\nwhen flag clicked\nset [move v] to [3]\ngo to [front v] layer\ngo [backward v] (1) layers\nforever\n    if <not <<<<(level) = [13]> or <<(level) = [19]> or <<(level) = [15]> or <(level) = [14]>>>> or <<<(level) = [16]> or <(level) = [17]>> or <(level) = [18]>>> or <<<<(level) = [5]> or <(level) = [6]>> or <(level) = [7]>> or <(level) = [8]>>>> then\n        show\n        change [move v] by ((((size) - (120)) / (75)) * (-1))\n        change size by (move)\n    else\n        hide\n    end\nend\n\n@moving things\n\nwhen flag clicked\nhide\nforever\n    if <not <<(level) = [13]> or <<(level) = [14]> or <<(level) = [15]> or <<(level) = [16]> or <<(level) = [17]> or <<(level) = [18]> or >>>>>>> then\n        if <<(level) = [5]> or <(level) = [6]>> then\n            create clone of (_myself_ v)\n            wait (pick random (5) to (16)) seconds\n        else\n            create clone of (_myself_ v)\n            wait (pick random (2) to (10)) seconds\n        end\n    end\nend\n\nwhen I start as a clone\nif <<(level) = [5]> or <<(level) = [6]> or <<(level) = [7]> or <(level) = [8]>>>> then\n    go to [back v] layer\n    go [forward v] (2) layers\n    switch costume to (costume6 v)\n    if <not <<<<<(level) = [6]> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [8]>> or <(level) = [5]>>> then\n        delete this clone\n    end\n    show\n    go to x: (-300) y: (pick random (-50) to (160))\n    repeat (150)\n        bat\n        change x by (1)\n        if <not <<<<<(level) = [6]> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [8]>> or <(level) = [5]>>> then\n            delete this clone\n        end\n    end\n    repeat until <touching (_edge_ v)?>\n        bat\n        change x by (1)\n        if <not <<<<<(level) = [6]> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [8]>> or <(level) = [5]>>> then\n            delete this clone\n        end\n    end\n    repeat (50)\n        bat\n        change x by (1)\n        if <<<<(level) = [6]> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [8]>> then\n            delete this clone\n        end\n    end\n    delete this clone\nelse\n    if <<<<<<<(level) = [6]> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [13]>> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [8]>> then\n        delete this clone\n    end\n    go to [front v] layer\n    set [ghost v] effect to (35)\n    switch costume to (pick random (1) to (5))\n    show\n    go to x: (-300) y: (pick random (-50) to (160))\n    repeat (150)\n        change x by (1)\n        if <<<<<<<(level) = [6]> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [13]>> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [8]>> then\n            delete this clone\n        end\n    end\n    repeat until <touching (_edge_ v)?>\n        change x by (1)\n        if <<<<<<<(level) = [6]> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [13]>> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [8]>> then\n            delete this clone\n        end\n    end\n    repeat (50)\n        change x by (1)\n        if <<<<<<<(level) = [6]> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [13]>> or <(level) = [5]>> or <(level) = [7]>> or <(level) = [8]>> then\n            delete this clone\n        end\n    end\n    delete this clone\nend\ndelete this clone\n\ndefine bat\nif <(costume [number v]) = [16]> then\n    switch costume to (costume6 v)\nelse\n    next costume\nend\n\n@lava\n\nwhen flag clicked\ngo to x: (0) y: (-20)\nset [lava v] to [2]\nforever\n    if <(level) = [6]> then\n        change [lava v] by ((((y position) - (-30)) / (20)) * (-1))\n        change y by (lava)\n        show\n        go to [front v] layer\n    else\n        hide\n    end\nend\n\n@lava particles\n\nwhen I start as a clone\ngo to [front v] layer\ngo [backward v] (5) layers\nshow\nclear graphic effects\nset size to (pick random (80) to (100)) %\ngo to x: (pick random (-60) to (60)) y: ((([y position v] of [lava v]) - (80)) + (pick random (10) to (30)))\nrepeat (10)\n    change y by (2)\n    change [ghost v] effect by (10)\n    if <not <(level) = [6]>> then\n        delete this clone\n    end\nend\ndelete this clone\n\nwhen flag clicked\nhide\nforever\n    if <(level) = [6]> then\n        create clone of (_myself_ v)\n        wait () seconds\n    end\nend\n\n@seaweed\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    hide\n    if <(level) = [14]> then\n        switch costume to (costume11 v)\n        show\n    else\n        if <not <(level) = [13]>> then\n            hide\n        end\n    end\n    if <(level) = [13]> then\n        switch costume to (costume1 v)\n        go to [front v] layer\n        show\n        hide\n        next costume\n        wait (.1) seconds\n        show\n        hide\n        next costume\n        wait (.1) seconds\n        next costume\n        show\n        hide\n        wait (.1) seconds\n        show\n        hide\n        next costume\n        wait (.1) seconds\n        next costume\n        show\n        hide\n        wait (.1) seconds\n        show\n        next costume\n        hide\n        wait (.1) seconds\n        show\n        next costume\n        hide\n        wait (.1) seconds\n        hide\n        show\n        next costume\n        hide\n        wait (.1) seconds\n        show\n        hide\n        switch costume to ((costume [number v]) - (1))\n        wait (.1) seconds\n        show\n        hide\n        switch costume to ((costume [number v]) - (1))\n        wait (.1) seconds\n        show\n        hide\n        switch costume to ((costume [number v]) - (1))\n        wait (.1) seconds\n        show\n        hide\n        switch costume to ((costume [number v]) - (1))\n        wait (.1) seconds\n        show\n        hide\n        switch costume to ((costume [number v]) - (1))\n        wait (.1) seconds\n        show\n        hide\n        switch costume to ((costume [number v]) - (1))\n        wait (.1) seconds\n        show\n        hide\n        switch costume to ((costume [number v]) - (1))\n        wait (.1) seconds\n        show\n        hide\n        switch costume to ((costume [number v]) - (1))\n        wait (.1) seconds\n    end\nend\n\ndefine hide\nif <not <(level) = [14]>> then\n    if <not <(level) = [13]>> then\n        hide\n    end\nend\nif <(level) = [14]> then\n    switch costume to (costume11 v)\nend\n\n@yhumb\n\nshow\ngo to [front v] layer\n\nwhen flag clicked\nhide\nforever\n    play sound [Nebula v] until done\nend\n\n@Player2\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\n    if <(time) = [true]> then\n        switch costume to (costume5 v)\n    else\n        switch costume to (costume3 v)\n    end\nend\n\nwhen I start as a clone\nshow\ngo to (player v)\ngo to [front v] layer\nset size to (90) %\nclear graphic effects\nrepeat (10)\n    change size by (-9)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@Sprite2\n\nwhen flag clicked\nhide\nforever\n    set [ghost v] effect to (12)\n    show\n    point in direction (90)\n    go to x: (93) y: (203)\n    repeat (18)\n        change y by (-4)\n    end\n    set [turn v] to [-3]\n    wait (.5) seconds\n    repeat (31)\n        change [turn v] by ((((90) - (direction)) * (-1)) / (6))\n        turn left (turn) degrees\n    end\n    point in direction (90)\n    set [turn v] to [-3]\n    wait (.5) seconds\n    repeat (31)\n        change [turn v] by ((((90) - (direction)) * (-1)) / (6))\n        turn left (turn) degrees\n    end\n    point in direction (90)\n    wait (1) seconds\n    repeat (18)\n        change y by (4)\n    end\n    hide\n    wait (pick random (10) to (45)) seconds\nend\n\n@Sprite1\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        change size by (((115) - (size)) / (5))\n        if <mouse down?> then\n            wait until <not <mouse down?>>\n            change [level v] by (1)\n            broadcast (position v)\n            change size by (10)\n        end\n    else\n        change size by (((100) - (size)) / (5))\n    end\nend\n\n