~ Classic 2 ~ (A Platformer)
@Stage\n\nwhen flag clicked\nset volume to (100) %\nforever\n    play sound [The March v] until done\nend\n\nwhen flag clicked\nforever\n    switch backdrop to (Ground Type)\nend\n\nwhen flag clicked\nwait until <(Ground Type) = [4]>\nrepeat (100)\n    change volume by (-1)\nend\n\nwhen flag clicked\nset [vibrate x v] to [0]\nset [vibrate y v] to [0]\nforever\n    broadcast (Animate v)\nend\n\nwhen I receive [vibrate v]\nrepeat (5)\n    if <(pick random (1) to (2)) = [1]> then\n        set [vibrate x v] to [5]\n        wait (0.01) seconds\n        set [vibrate x v] to [0]\n        wait (0.01) seconds\n    else\n        set [vibrate x v] to [-5]\n        wait (0.01) seconds\n        set [vibrate x v] to [0]\n        wait (0.01) seconds\n    end\n    if <(pick random (1) to (2)) = [1]> then\n        set [vibrate y v] to [5]\n        wait (0.01) seconds\n        set [vibrate y v] to [0]\n        wait (0.01) seconds\n    else\n        set [vibrate y v] to [-5]\n        wait (0.01) seconds\n        set [vibrate y v] to [0]\n        wait (0.01) seconds\n    end\nend\n\nwhen flag clicked\nwait until <(Level) = [101]>\nforever\n    broadcast (Vibrate v)\n    wait (0.5) seconds\nend\n\n@You\n\ndefine Up\nif <(Touching Ground?) = [True]> then\n    if <touching (moving platforms v)?> then\n        repeat (50)\n            if <<(Touching Ground?) = [True]> and <[180] > (y position)>> then\n                change y by (1)\n                Touching Ground?\n            end\n        end\n        if <(Touching Ground?) = [True]> then\n            set [suicide v] to [True]\n        end\n    else\n        repeat until <<(Touching Ground?) = [False]> or <(y position) > [180]>>\n            change y by (1)\n            Touching Ground?\n        end\n    end\nend\nchange y by (-1)\n\nwhen flag clicked\nhide\n\ndefine Touching Ground?\nif <<<touching (ground 1 v)?> or <touching (ground 2 v)?>> or <<touching (ground 3 v)?> or <<touching (ground 4 v)?> or <touching (moving platforms v)?>>>> then\n    set [touching ground? v] to [True]\nelse\n    set [touching ground? v] to [False]\nend\n\nwhen I receive [walljump left v]\nset [wall- jumping v] to [1]\nrepeat (3)\n    change [x velocity v] by (-5)\n    point in direction (-90)\n    set [x velocity v] to ((X Velocity) * (0.9))\nend\nset [wall- jumping v] to [0]\n\nwhen I receive [walljump right v]\nset [wall- jumping v] to [2]\nrepeat (3)\n    change [x velocity v] by (5)\n    point in direction (90)\n    set [x velocity v] to ((X Velocity) * (0.9))\nend\nset [wall- jumping v] to [0]\n\nwhen I receive [start game v]\nclear graphic effects\nswitch costume to (hitbox v)\nset size to (200) %\nshow\nset rotation style [left-right v]\npoint in direction (90)\ngo to x: (-240) y: (0)\nset [x velocity v] to [0]\nset [y velocity v] to [0]\nset [suicide v] to [False]\nforever\n    if <(Ground Type) = [3]> then\n        switch costume to (spec hit v)\n    else\n        switch costume to (hitbox v)\n    end\n    set rotation style [left-right v]\n    Touching Ground?\n    if <(Touching Ground?) = [True]> then\n        set [y velocity v] to [1]\n    end\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        change y by (-10)\n        if <touching (water v)?> then\n            set [y velocity v] to [5]\n        end\n        if <(Touching Ground?) = [True]> then\n            set [y velocity v] to [20]\n        end\n        change y by (10)\n    end\n    if <(Umbrella Open?) = [Boing]> then\n        set [y velocity v] to [25]\n        set [umbrella open? v] to [False]\n    end\n    change y by (1)\n    if <<touching (water v)?> or <<(Umbrella Open?) = [True]> and <(Y Velocity) < [0]>>> then\n        change [y velocity v] by (-0.1)\n        change y by (5)\n    else\n        change [y velocity v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [x velocity v] by (1)\n        point in direction (90)\n    end\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [x velocity v] by (-1)\n        point in direction (-90)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n        set [x velocity v] to ((X Velocity) * (0.9))\n    else\n        set [x velocity v] to ((X Velocity) * (0.7))\n    end\n    change x by ((X Velocity) + (Movement for You))\n    Touching Ground?\n    if <(Touching Ground?) = [True]> then\n        change y by (5)\n        Touching Ground?\n        if <(Touching Ground?) = [True]> then\n            change y by (-5)\n            change x by ((X Velocity) * (-1))\n            set [x velocity v] to [0]\n        else\n            change y by (-5)\n            Up\n        end\n    end\n    change y by (-5)\n    Touching Ground?\n    if <(Touching Ground?) = [False]> then\n        switch costume to (hitbox 2 v)\n        Touching Ground?\n        if <(Touching Ground?) = [True]> then\n            if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                if <(Wall- Jumping) = [1]> then\n                    point in direction (90)\n                    broadcast (Walljump Right v)\n                    set [x velocity v] to [5]\n                else\n                    if <(Wall- Jumping) = [2]> then\n                        point in direction (-90)\n                        broadcast (Walljump Left v)\n                        set [x velocity v] to [-5]\n                    else\n                        if <(direction) = [90]> then\n                            point in direction (-90)\n                            broadcast (Walljump Left v)\n                            set [x velocity v] to [-5]\n                        else\n                            point in direction (90)\n                            broadcast (Walljump Right v)\n                            set [x velocity v] to [5]\n                        end\n                    end\n                end\n                set [y velocity v] to [20]\n            end\n        end\n    end\n    if <(Ground Type) = [3]> then\n        switch costume to (spec hit v)\n    else\n        switch costume to (hitbox v)\n    end\n    change y by (Y Velocity)\n    Touching Ground?\n    if <<(Touching Ground?) = [True]> and <(Y Velocity) > [0]>> then\n        if <(Touching Ground?) = [True]> then\n            change y by ((Y Velocity) * (-1.5))\n            set [y velocity v] to [-1]\n        end\n    end\n    if <not <<key (right arrow v) pressed?> or <key (left arrow v) pressed?>>> then\n        Touching Ground?\n        if <(Touching Ground?) = [True]> then\n            change y by (-10)\n            change x by (10)\n            Touching Ground?\n            if <(Touching Ground?) = [True]> then\n                change x by (-20)\n                Touching Ground?\n                if <(Touching Ground?) = [True]> then\n                    change x by (10)\n                    change y by (10)\n                end\n            end\n        end\n    end\n    Up\n    if <<[-180] > (y position)> or <<<touching (enemies v)?> or <<<touching (lava 1 v)?> or <touching (sawblades v)?>> or <<touching (lava 3 v)?> or <touching (lava 2 v)?>>>> or <<key (r v) pressed?> or <<touching (bullet hell v)?> or <<<touching (boss 4 laser beam v)?> or <<touching (turret v)?> or <touching (carriages v)?>>> or <(Suicide) = [True]>>>>>> then\n        if <(Level) = [100]> then\n            broadcast (Whoops! v)\n        end\n        set [x velocity v] to [0]\n        set [y velocity v] to [0]\n        set rotation style [all around v]\n        set [y velocity v] to [15]\n        start sound [Whiz v]\n        if <(Ground Type) = [3]> then\n            switch costume to (spec hit v)\n        else\n            switch costume to (costume1 v)\n        end\n        if <not <(Level) = [100]>> then\n            repeat until <(y position) < [-170]>\n                turn right (15) degrees\n                change y by (Y Velocity)\n                change [y velocity v] by (-1)\n            end\n        end\n        go to x: (-240) y: (0)\n        set [x velocity v] to [0]\n        set [y velocity v] to [0]\n        set [suicide v] to [False]\n        point in direction (90)\n        set rotation style [left-right v]\n        if <<(Level) > [69]> and <(Level) < [75]>> then\n            broadcast (Send Back v)\n        end\n        broadcast (Dieded v)\n    end\n    if <(x position) > [230]> then\n        if <(Level) < [99]> then\n            broadcast (Nextly Levelly v)\n            go to x: (-240) y: (0)\n            set [x velocity v] to [0]\n            set [y velocity v] to [0]\n        end\n    end\n    set [movement for you v] to [0]\n    Touching Ground?\n    if <not <(Ground Type) = [3]>> then\n        if <(Y Velocity) > [1]> then\n            switch costume to (costume8 v)\n            if <(X Velocity) > [1]> then\n                set rotation style [all around v]\n                point in direction ((((timer) * (25)) mod (12)) * (30))\n                if <(((timer) * (25)) mod (10)) < [1]> then\n                    start sound [Whiz v]\n                end\n            else\n                if <[-1] > (X Velocity)> then\n                    set rotation style [all around v]\n                    point in direction ((((timer) * (25)) mod (12)) * (-30))\n                    if <(((timer) * (25)) mod (10)) < [1]> then\n                        start sound [Whiz v]\n                    end\n                end\n            end\n        else\n            if <[-1] > (Y Velocity)> then\n                switch costume to (costume9 v)\n            else\n                if <<(X Velocity) > [1]> or <(X Velocity) < [-1]>> then\n                    switch costume to ((((timer) * (25)) mod (8)) + (2))\n                    if <(((timer) * (25)) mod (8)) < [1]> then\n                        start sound [Hand Clap v]\n                    end\n                else\n                    switch costume to (costume1 v)\n                end\n            end\n            if <(Umbrella Open?) = [True]> then\n                set rotation style [all around v]\n                point in direction ((([sin v] of ((timer) * (150)) ) * (25)) + ([direction v] of [umbrella v]))\n            end\n        end\n    end\n    go to [front v] layer\nend\n\nwhen I receive [end game v]\nrepeat (150)\n    change [ghost v] effect by (1)\nend\n\nwhen I receive [credits v]\nstop [other scripts in sprite v]\nhide\n\n@Classic\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (costume1 v)\nclear graphic effects\nhide\n\nwhen I start as a clone\ngo to [back v] layer\nswitch costume to (My Cost)\nset [brightness v] effect to (100)\nwait (1) seconds\nclear graphic effects\nhide\nrepeat until <[-360] < (My Y)>\n    change [my y v] by (1)\n    set y to (My Y)\nend\ngo to [front v] layer\nshow\nrepeat until <[360] < (My Y)>\n    change [my y v] by (10)\n    set y to (My Y)\n    go to [front v] layer\nend\ndelete this clone\n\nwhen I receive [credits v]\nswitch costume to (costume5 v)\nshow\nwait (2) seconds\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\nswitch costume to (costume2 v)\nset [my y v] to [-360]\nset [my cost v] to [4]\nrepeat (2)\n    create clone of (_myself_ v)\n    change [my y v] by (-360)\n    change [my cost v] by (1)\nend\nswitch costume to (costume2 v)\nrepeat (10)\n    change [brightness v] effect by (10)\nend\nwait (5) seconds\nrepeat (100)\n    change [brightness v] effect by (-1)\nend\nswitch costume to (costume5 v)\nwait (2) seconds\nstop [all v]\n\n@Ground 1\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ground type v] to [1]\nset [level v] to [1]\nshow\nswitch costume to (costume1 v)\nDraw Outline\nwait until <(costume [name v]) = [You're Not Supposed To See This]>\nhide\nchange [ground type v] by (1)\n\ndefine Draw Outline\nerase all\nset [brightness v] effect to (-100)\nset rotation style [don't rotate v]\nmove (2) steps\nturn right (90) degrees\nmove (2) steps\nrepeat (4)\n    stamp\n    turn right (90) degrees\n    move (4) steps\nend\nmove (-2) steps\nturn left (90) degrees\nmove (-2) steps\nclear graphic effects\n\nwhen I receive [nextly levelly v]\nchange [level v] by (1)\nif <(Ground Type) = [1]> then\n    next costume\n    Draw Outline\nend\n\n@Ground 2\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [2]>\nshow\nDraw Outline\nwait until <(costume [name v]) = [You're Not Supposed To See This]>\nhide\nchange [ground type v] by (1)\n\ndefine Draw Outline\nerase all\nset [brightness v] effect to (-100)\nset rotation style [don't rotate v]\nmove (2) steps\nturn right (90) degrees\nmove (2) steps\nrepeat (4)\n    stamp\n    turn right (90) degrees\n    move (4) steps\nend\nmove (-2) steps\nturn left (90) degrees\nmove (-2) steps\nclear graphic effects\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) = [2]> then\n    next costume\n    Draw Outline\nend\n\n@Ground 3\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [3]>\nshow\nDraw Outline\nwait until <(costume [name v]) = [You're Not Supposed To See This]>\nhide\nchange [ground type v] by (1)\n\ndefine Draw Outline\nerase all\nset [brightness v] effect to (-100)\nset rotation style [don't rotate v]\nmove (2) steps\nturn right (90) degrees\nmove (2) steps\nrepeat (4)\n    stamp\n    turn right (90) degrees\n    move (4) steps\nend\nmove (-2) steps\nturn left (90) degrees\nmove (-2) steps\nclear graphic effects\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) = [3]> then\n    next costume\n    Draw Outline\nend\n\nwhen I receive [send back v]\nswitch costume to (costume20 v)\nset [level v] to [70]\n\n@Ground 4\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [4]>\nshow\nDraw Outline\nwait until <(costume [number v]) = [12]>\nchange [ground type v] by (1)\n\ndefine Draw Outline\nerase all\nset [brightness v] effect to (-100)\nset rotation style [don't rotate v]\nmove (2) steps\nturn right (90) degrees\nmove (2) steps\nrepeat (4)\n    stamp\n    turn right (90) degrees\n    move (4) steps\nend\nmove (-2) steps\nturn left (90) degrees\nmove (-2) steps\nclear graphic effects\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) > [3]> then\n    if <<(Level) = [98]> and <(The Cut) = [False]>> then\n        broadcast (Cut! v)\n    else\n        next costume\n        Draw Outline\n        set [the cut v] to [False]\n    end\nend\n\nwhen flag clicked\nset volume to (0) %\nforever\n    play sound [dump 22 v] until done\nend\n\nwhen flag clicked\nwait until <(Ground Type) = [4]>\nrepeat (100)\n    change volume by (1)\nend\nwait until <(Ground Type) = [5]>\nrepeat (100)\n    change volume by (-1)\nend\n\nwhen flag clicked\nforever\n    if <(Ground Type) > [3]> then\n        go to x: (Vibrate X) y: (Vibrate Y)\n        Draw Outline\n    end\nend\n\n@Text 1\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [1]>\nshow\nwait until <not <(Ground Type) = [1]>>\nhide\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) = [1]> then\n    next costume\nend\n\n@Text 2\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [2]>\nshow\nwait until <not <(Ground Type) = [2]>>\nhide\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) = [2]> then\n    next costume\nend\n\n@Text 3\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [3]>\nshow\nwait until <not <(Ground Type) = [3]>>\nhide\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) = [3]> then\n    next costume\nend\n\nwhen I receive [send back v]\nswitch costume to (costume20 v)\n\n@Text 4\n\nwhen flag clicked\ngo to [back v] layer\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [4]>\nshow\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) > [3]> then\n    if <<not <(Level) = [99]>> or <(The Cut) = [True]>> then\n        next costume\n    end\nend\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\nwhen flag clicked\nwait until <(Ground Type) = [5]>\nrepeat (100)\n    change volume by (1)\nend\nwait until <(Level) = [99]>\nrepeat (10)\n    change volume by (-10)\nend\n\nwhen flag clicked\nset volume to (0) %\nforever\n    play sound [Factory v] until done\nend\n\nwhen flag clicked\nforever\n    go to x: (Vibrate X) y: (Vibrate Y)\nend\n\n@Lava 1\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) = [1]> then\n    next costume\nend\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [1]>\nshow\nwait until <not <(Ground Type) = [1]>>\nhide\n\n@Lava 2\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) = [2]> then\n    next costume\nend\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [2]>\nshow\nwait until <not <(Ground Type) = [2]>>\nhide\n\n@Lava 3\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) = [3]> then\n    next costume\nend\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [3]>\nshow\nwait until <not <(Ground Type) = [3]>>\nhide\n\nwhen flag clicked\nforever\n    go to x: (0) y: (([sin v] of ((timer) * (100)) ) * (5))\n    point in direction ((([sin v] of ((timer) * (75)) ) * (2)) + (90))\n    set [brightness v] effect to ([abs v] of (([sin v] of ((timer) * (200)) ) * (10)) )\nend\n\nwhen I receive [send back v]\nswitch costume to (costume20 v)\n\n@Sawblades\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) > [3]> then\n    next costume\nend\n\nwhen I receive [dieded v]\ndelete this clone\n\nwhen I receive [nextly levelly v]\ndelete this clone\n\nwhen I receive [nextly levelly v]\nwait (0.01) seconds\nReset\n\ndefine Sawblades (x1) (y1) (x2) (y2) (level)\nif <<(Level) = (level)> and <(Is a Clone?) = [No]>> then\n    go to x: (x1) y: (y1)\n    set [x2 v] to (x2)\n    set [y2 v] to (y2)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [dieded v]\nReset\n\nwhen flag clicked\nset [is a clone? v] to [No]\nhide\n\nwhen I start as a clone\nset [is a clone? v] to [Yes]\nshow\nforever\n    There and back again (x position) (y position)\nend\n\ndefine There and back again (x) (y)\nwait (1) seconds\nglide (1.5) secs to x: (X2) y: (Y2)\nwait (1) seconds\nglide (1.5) secs to x: (x) y: (y)\n\nwhen I start as a clone\ngo to [back v] layer\nforever\n    start sound [Whir v]\n    next costume\n    point in direction ((([sin v] of ((timer) * (150)) ) * (25)) + (90))\nend\n\ndefine Reset\nSawblades [30] [-140] [-130] [-140] [86]\nSawblades [-125] [50] [240] [50] [87]\nSawblades [240] [-125] [-150] [-125] [87]\nSawblades [-150] [-50] [150] [-50] [88]\nSawblades [240] [100] [-240] [100] [88]\nSawblades [240] [-155] [-240] [-155] [88]\nSawblades [-170] [50] [-170] [-140] [89]\nSawblades [40] [-140] [40] [50] [89]\nSawblades [230] [50] [230] [-140] [89]\nSawblades [-200] [-240] [-200] [20] [90]\nSawblades [-100] [20] [-100] [-240] [90]\nSawblades [0] [-240] [0] [20] [90]\nSawblades [100] [20] [100] [-240] [90]\nSawblades [200] [-240] [200] [20] [90]\nSawblades [-200] [-240] [-200] [20] [91]\nSawblades [-100] [20] [-100] [-240] [91]\nSawblades [0] [-240] [0] [20] [91]\nSawblades [100] [20] [100] [-240] [91]\nSawblades [200] [-240] [200] [20] [91]\nSawblades [0] [0] [240] [0] [92]\nSawblades [220] [-80] [220] [180] [94]\nSawblades [-50] [-20] [-200] [-20] [95]\nSawblades [0] [-90] [200] [-90] [95]\nSawblades [-160] [90] [-160] [0] [96]\nSawblades [-160] [0] [-160] [90] [96]\nSawblades [-160] [90] [-160] [0] [97]\nSawblades [-160] [0] [-160] [90] [97]\n\n@Enemies\n\nwhen I start as a clone\nset [is a clone? v] to [Yep]\nshow\nswitch costume to (hitbox v)\nset size to (200) %\nswitch costume to (costume10 v)\nrepeat until <(Grounded?) = [True]>\n    change y by (-10)\n    Touching Ground?\nend\nswitch costume to (hitbox v)\nUp\nswitch costume to (costume1 v)\nwait (pick random (0.5) to (1.5)) seconds\nforever\n    set rotation style [left-right v]\n    repeat (50)\n        if <(x position) < ([x position v] of [you v])> then\n            point in direction (90)\n        else\n            point in direction (-90)\n        end\n        switch costume to (hitbox 2 v)\n        Touching Ground?\n        if <(Grounded?) = [False]> then\n            switch costume to (hitbox 3 v)\n            Touching Ground?\n            if <(Grounded?) = [True]> then\n                switch costume to (hitbox v)\n                if <(x position) < ([x position v] of [you v])> then\n                    change [my x velocity v] by (1)\n                else\n                    change [my x velocity v] by (-1)\n                end\n            end\n        end\n        Animate\n    end\n    switch costume to (costume1 v)\n    wait (pick random (0.5) to (1.5)) seconds\nend\n\nwhen I receive [nextly levelly v]\ndelete this clone\n\ndefine Touching Ground?\nif <<<touching (ground 1 v)?> or <touching (ground 2 v)?>> or <<touching (ground 3 v)?> or <<touching (ground 4 v)?> or <touching (moving platforms v)?>>>> then\n    set [grounded? v] to [True]\nelse\n    set [grounded? v] to [False]\nend\n\ndefine Up\nif <(Grounded?) = [True]> then\n    repeat until <<(Grounded?) = [False]> or <(y position) > [180]>>\n        change y by (1)\n        Touching Ground?\n    end\nend\nchange y by (-1)\n\nwhen I start as a clone\nforever\n    change x by (My X Velocity)\n    set [my x velocity v] to ((My X Velocity) * (0.7))\nend\n\ndefine Animate\nif <[1] < ([abs v] of (My X Velocity) )> then\n    switch costume to ((((timer) * (25)) mod (7)) + (5))\n    if <(((timer) * (25)) mod (8)) < [1]> then\n        start sound [Hand Clap v]\n    end\nelse\n    switch costume to (costume1 v)\nend\n\ndefine Enemies (x) (y) (level)\nif <<(Level) = (level)> and <(Is a Clone?) = [No]>> then\n    go to x: (x) y: (y)\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nset [is a clone? v] to [No]\nhide\n\nwhen I receive [nextly levelly v]\nwait (0.01) seconds\nReset\n\ndefine Reset\nEnemies [-30] [0] [9]\nEnemies [30] [0] [9]\nEnemies [0] [0] [10]\nEnemies [60] [0] [10]\nEnemies [120] [0] [10]\nEnemies [-240] [180] [11]\nEnemies [0] [-50] [12]\nrepeat (10)\n    Enemies [240] [180] [15]\nend\nEnemies [-100] [0] [22]\nEnemies [-20] [0] [22]\nEnemies [90] [0] [22]\nEnemies [0] [0] [27]\nEnemies [-100] [0] [33]\nEnemies [240] [0] [33]\nEnemies [-50] [-100] [60]\nEnemies [0] [-100] [60]\nEnemies [50] [-100] [60]\nrepeat (10)\n    Enemies [240] [-100] [74]\nend\nEnemies [0] [-100] [79]\nrepeat (10)\n    Enemies [-50] [50] [97]\nend\n\nwhen I receive [dieded v]\nReset\n\nwhen I receive [dieded v]\ndelete this clone\n\n@Moving Platforms\n\ndefine Touching Ground?\nif <<<touching (ground 1 v)?> or <touching (ground 2 v)?>> or <<touching (ground 3 v)?> or <<touching (ground 4 v)?> or <touching (_edge_ v)?>>>> then\n    set [grounded? v] to [True]\nelse\n    set [grounded? v] to [False]\nend\n\nwhen I receive [dieded v]\nReset\n\nwhen flag clicked\nset [is a clone? v] to [No]\nhide\n\nwhen I receive [nextly levelly v]\nwait (0.01) seconds\nReset\n\ndefine Platforms (x) (y) (level) (axis)\nif <<(Level) = (level)> and <(Is a Clone?) = [No]>> then\n    point in direction (axis)\n    go to x: (x) y: (y)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [nextly levelly v]\ndelete this clone\n\nwhen I receive [dieded v]\ndelete this clone\n\ndefine Reset\nPlatforms [0] [0] [13] [90]\nPlatforms [110] [0] [14] [0]\nPlatforms [0] [-100] [15] [90]\nPlatforms [-150] [-20] [17] [0]\nPlatforms [0] [-50] [17] [0]\nPlatforms [155] [-80] [17] [0]\nPlatforms [0] [50] [21] [-90]\nPlatforms [0] [50] [23] [-90]\nPlatforms [0] [0] [44] [0]\nPlatforms [-150] [0] [44] [0]\nPlatforms [150] [0] [44] [0]\nPlatforms [-200] [-75] [57] [-90]\nPlatforms [-150] [0] [58] [-90]\nPlatforms [0] [0] [86] [-90]\nPlatforms [-180] [-50] [90] [180]\nPlatforms [-100] [-25] [90] [180]\nPlatforms [0] [0] [90] [180]\nPlatforms [100] [25] [90] [180]\nPlatforms [180] [50] [90] [180]\nPlatforms [-180] [-100] [91] [180]\nPlatforms [-100] [-50] [91] [180]\nPlatforms [0] [0] [91] [180]\nPlatforms [100] [50] [91] [180]\nPlatforms [180] [100] [91] [180]\nPlatforms [0] [20] [92] [-90]\nPlatforms [53] [-150] [96] [0]\nPlatforms [53] [-150] [97] [0]\n\nwhen I start as a clone\nset [is a clone? v] to [Yep]\nset rotation style [don't rotate v]\nshow\nforever\n    move (10) steps\n    Touching Ground?\n    if <(Grounded?) = [True]> then\n        move (-5) steps\n        Forward\n        wait (0.5) seconds\n        turn right (180) degrees\n    end\n    if <(Grounded?) = [False]> then\n        move (-5) steps\n        change y by (5)\n        if <touching (you v)?> then\n            if <(direction) = [90]> then\n                set [movement for you v] to [5]\n            else\n                if <(direction) = [-90]> then\n                    set [movement for you v] to [-5]\n                end\n            end\n            if <<([abs v] of ((x position) - ([x position v] of [you v])) ) > [52]> and <<(direction) = [90]> or <(direction) = [-90]>>> then\n                set [suicide v] to [True]\n            end\n            if <<([abs v] of ((y position) - ([y position v] of [you v])) ) > [36]> and <(direction) = [180]>> then\n                set [suicide v] to [True]\n            end\n        end\n        change y by (-5)\n    end\nend\n\ndefine Forward\nTouching Ground?\nrepeat until <(Grounded?) = [True]>\n    move (1) steps\n    Touching Ground?\nend\nmove (-1) steps\n\n@Bullet Hell\n\nwhen flag clicked\nhide\nforever\n    if <(Level) = [23]> then\n        go to x: (pick random (-180) to (240)) y: (-150)\n        point in direction (0)\n        create clone of (_myself_ v)\n        wait (0.2) seconds\n    end\n    if <(Level) = [24]> then\n        go to x: (50) y: (100)\n        repeat (4)\n            turn right (90) degrees\n            create clone of (_myself_ v)\n        end\n        turn right (45) degrees\n        wait (0.5) seconds\n    end\n    if <(Level) = [32]> then\n        go to x: (50) y: (100)\n        repeat (4)\n            turn right (90) degrees\n            create clone of (_myself_ v)\n        end\n        go to x: (-50) y: (100)\n        repeat (4)\n            turn right (90) degrees\n            create clone of (_myself_ v)\n        end\n        turn right (45) degrees\n        wait (0.75) seconds\n    end\n    if <(Level) = [49]> then\n        go to x: (220) y: (160)\n        point in direction ((pick random (15) to (11)) * (20))\n        create clone of (_myself_ v)\n        wait (0.2) seconds\n    end\nend\n\nwhen I start as a clone\nshow\nrepeat until <<touching (_edge_ v)?> or <touching (moving platforms v)?>>\n    move (10) steps\nend\ndelete this clone\n\nwhen I receive [nextly levelly v]\ndelete this clone\n\n@Turret\n\nwhen I receive [dieded v]\ndelete this clone\n\nwhen I receive [nextly levelly v]\ndelete this clone\n\nwhen I receive [nextly levelly v]\nwait (0.01) seconds\nReset\n\ndefine Enemies (x) (y) (level)\nif <<(Level) = (level)> and <(Is a Clone?) = [No]>> then\n    go to x: (x) y: (y)\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nset [is a clone? v] to [No]\nhide\n\nwhen I receive [dieded v]\nReset\n\ndefine Touching Ground?\nif <<<touching (ground 1 v)?> or <touching (ground 2 v)?>> or <<touching (ground 3 v)?> or <<touching (ground 4 v)?> or <<touching (_edge_ v)?> or <touching (moving platforms v)?>>>>> then\n    set [grounded? v] to [True]\nelse\n    set [grounded? v] to [False]\nend\n\nwhen I start as a clone\nif <(Is a Clone?) = [Yep]> then\n    start sound [Pew v]\n    show\n    switch costume to (costume5 v)\n    move (20) steps\n    repeat until <(Grounded?) = [True]>\n        move (10) steps\n        Touching Ground?\n    end\n    delete this clone\nelse\n    wait (0.01) seconds\n    set [is a clone? v] to [Yep]\n    show\n    forever\n        switch costume to (costume1 v)\n        wait (pick random (1.5) to (2.5)) seconds\n        create clone of (_myself_ v)\n        switch costume to (costume2 v)\n        wait (0.01) seconds\n        repeat (2)\n            next costume\n            wait (0.01) seconds\n        end\n    end\nend\n\ndefine Reset\nEnemies [0] [0] [28]\nEnemies [-150] [120] [29]\nEnemies [-75] [120] [29]\nEnemies [0] [120] [29]\nEnemies [75] [120] [29]\nEnemies [150] [120] [29]\nEnemies [240] [180] [33]\nEnemies [230] [-20] [40]\nEnemies [-180] [40] [40]\nEnemies [230] [110] [40]\nEnemies [90] [-100] [47]\nEnemies [-15] [-150] [48]\ngo to x: (-200) y: (150)\nrepeat (9)\n    Enemies (x position) [150] [58]\n    change x by (50)\nend\nEnemies [220] [0] [62]\nEnemies [0] [0] [73]\n\nwhen I start as a clone\nif <(Is a Clone?) = [No]> then\n    forever\n        point towards (you v)\n    end\nend\n\n@Water\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (25)\n    go to x: (0) y: (([sin v] of ((timer) * (100)) ) * (5))\n    point in direction ((([sin v] of ((timer) * (75)) ) * (2)) + (90))\n    go to [back v] layer\nend\n\nwhen I receive [nextly levelly v]\nif <(Ground Type) > [3]> then\n    if <<not <(Level) = [99]>> or <(The Cut) = [True]>> then\n        next costume\n    end\nend\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nhide\nswitch costume to (costume1 v)\nwait until <(Ground Type) = [4]>\nshow\n\n@Fire\n\nwhen I start as a clone\nset [is a clone? v] to [Yes]\nshow\ngo to [back v] layer\nswitch costume to (costume1 v)\nwait (Wait Time) seconds\nset rotation style [left-right v]\nforever\n    switch costume to (costume1 v)\n    wait (0.5) seconds\n    repeat (2)\n        next costume\n        wait (0.05) seconds\n    end\n    start sound [Ocean Wave v]\n    repeat (20)\n        turn right (90) degrees\n    end\n    repeat (2)\n        next costume\n        wait (0.05) seconds\n    end\n    repeat (10)\n        turn right (90) degrees\n    end\n    repeat (3)\n        next costume\n        wait (0.02) seconds\n    end\nend\n\nwhen I receive [dieded v]\ndelete this clone\n\nwhen I receive [nextly levelly v]\ndelete this clone\n\nwhen I receive [nextly levelly v]\nwait (0.01) seconds\nReset\n\ndefine Flames (x) (y) (level) (wait time)\nif <<(Level) = (level)> and <(Is a Clone?) = [No]>> then\n    go to x: (x) y: (y)\n    set [wait time v] to (wait time)\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nset [is a clone? v] to [No]\nhide\n\nwhen I receive [dieded v]\nReset\n\ndefine Reset\nFlames [0] [-35] [53] [0]\nFlames [-100] [-110] [54] [0]\nFlames [0] [-110] [54] [0.5]\nFlames [100] [-110] [54] [1]\nFlames [200] [5] [55] [2]\nFlames [100] [5] [55] [2.5]\nFlames [0] [5] [55] [3]\nFlames [-100] [5] [55] [3.5]\nFlames [-100] [-180] [55] [3.2]\nFlames [0] [-180] [55] [3.7]\nFlames [100] [-180] [55] [4.2]\nFlames [200] [-180] [55] [4.7]\nFlames [-200] [-220] [57] [0]\nFlames [-150] [-220] [57] [0.1]\nFlames [-100] [-220] [57] [0.2]\nFlames [-50] [-220] [57] [0.3]\nFlames [0] [-220] [57] [0.4]\nFlames [50] [-220] [57] [0.5]\nFlames [100] [-220] [57] [0.6]\nFlames [150] [-220] [57] [0.7]\nFlames [200] [-220] [57] [0.8]\nFlames [-100] [-110] [58] [0]\nFlames [100] [-110] [58] [1]\nFlames [-100] [-110] [60] [1]\nFlames [100] [-110] [60] [0]\nFlames [-200] [-50] [62] [1]\nFlames [-100] [-50] [62] [0]\nFlames [0] [-50] [62] [1]\nFlames [100] [-50] [62] [0]\nFlames [200] [-50] [62] [1]\nFlames [-30] [-50] [65] [0]\nFlames [-100] [-110] [71] [0]\nFlames [0] [-110] [71] [0]\nFlames [100] [-110] [71] [0]\nFlames [-100] [-110] [72] [0]\nFlames [100] [-110] [72] [0]\nFlames [-150] [-30] [88] [0]\nFlames [0] [-30] [88] [0]\nFlames [150] [-30] [88] [0]\nFlames [-150] [-155] [88] [0]\nFlames [0] [-155] [88] [0]\nFlames [150] [-155] [88] [0]\nFlames [90] [-140] [89] [0]\nFlames [230] [50] [90] [0.5]\nFlames [230] [50] [91] [0.5]\nFlames [20] [-100] [92] [0]\nFlames [220] [-200] [93] [0]\nFlames [220] [-200] [93] [0.5]\nFlames [220] [-200] [93] [1]\nFlames [220] [-200] [93] [1.5]\nFlames [220] [-200] [94] [0]\nFlames [220] [-200] [94] [0.5]\nFlames [220] [-200] [94] [1]\nFlames [220] [-200] [94] [1.5]\nFlames [80] [15] [95] [0.5]\nFlames [50] [10] [96] [0]\nFlames [200] [10] [96] [1]\nFlames [50] [10] [97] [0]\nFlames [200] [10] [97] [1]\n\nwhen I start as a clone\nforever\n    if <<touching (you v)?> and <(costume [number v]) = [5]>> then\n        set [suicide v] to [True]\n    end\nend\n\n@Your Trail\n\nwhen flag clicked\nset size to (200) %\nhide\nforever\n    if <(Ground Type) = [3]> then\n        go to (you v)\n        point in direction ([direction v] of [you v])\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I start as a clone\nshow\nset rotation style [left-right v]\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-10)\nend\ndelete this clone\n\n@Cover\n\nwhen flag clicked\nhide\n\n@"Boss" 3\n\nwhen flag clicked\nset rotation style [left-right v]\nhide\nwait until <(Level) = [70]>\ngo to x: (100) y: (0)\npoint in direction (-90)\nset [my x velocity v] to [0]\nset [my y velocity v] to [0]\nshow\nrepeat until <[74] < (Level)>\n    if <touching (ground 3 v)?> then\n        set [my y velocity v] to [17.5]\n    end\n    if <((Level) mod (2)) = [0]> then\n        if <(x position) < ([x position v] of [you v])> then\n            change [my x velocity v] by (0.5)\n            point in direction (90)\n        else\n            change [my x velocity v] by (-0.5)\n            point in direction (-90)\n        end\n    end\n    set [my x velocity v] to ((My X Velocity) * (0.9))\n    change [my y velocity v] by (-1)\n    change x by (My X Velocity)\n    change y by (My Y Velocity)\n    Up\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\nhide\n\ndefine Up\nrepeat until <not <touching (ground 3 v)?>>\n    change y by (1)\nend\nchange y by (-1)\n\nwhen I receive [nextly levelly v]\ngo to x: (150) y: (0)\n\nwhen I receive [dieded v]\ngo to x: (100) y: (0)\n\n@Umbrella\n\nwhen flag clicked\nset rotation style [all around v]\nhide\nset [umbrella open? v] to [False]\nwait until <(Level) = [81]>\nforever\n    wait until <<key (space v) pressed?> and <<<key (down arrow v) pressed?> and <(Touching Ground?) = [True]>> or <(Y Velocity) < [0]>>>\n    if <(Y Velocity) < [0]> then\n        start sound [Drum v]\n        point in direction (90)\n        show\n        switch costume to (closed v)\n        wait (0.01) seconds\n        repeat (3)\n            next costume\n            wait (0.01) seconds\n        end\n        set [y velocity v] to [-0.01]\n        switch costume to (open v)\n        set [umbrella open? v] to [True]\n        wait until <<not <key (space v) pressed?>> or <(Y Velocity) > [-0.01]>>\n        start sound [Crank v]\n        point in direction (90)\n        set [umbrella open? v] to [False]\n        repeat (3)\n            next costume\n            wait (0.01) seconds\n        end\n        hide\n    else\n        start sound [Big Boing v]\n        point in direction (-90)\n        show\n        set [umbrella open? v] to [Boing]\n        switch costume to (closed v)\n        wait (0.01) seconds\n        repeat (3)\n            next costume\n            wait (0.01) seconds\n        end\n        switch costume to (open v)\n        wait (0.01) seconds\n        repeat (3)\n            next costume\n            wait (0.01) seconds\n        end\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    go to (you v)\n    if <(Umbrella Open?) = [True]> then\n        if <key (right arrow v) pressed?> then\n            turn right (((135) - (direction)) / (4)) degrees\n        end\n        if <key (left arrow v) pressed?> then\n            turn right (((45) - (direction)) / (4)) degrees\n        end\n        if <not <<key (left arrow v) pressed?> or <key (right arrow v) pressed?>>> then\n            turn right (((90) - (direction)) / (4)) degrees\n        end\n    end\nend\n\n@Monitor\n\nwhen flag clicked\nhide\nwait until <(Level) = [99]>\nshow\nbroadcast (Boss 4 Intro v)\n\nwhen I receive [boss 4 intro v]\nshow\nstop [other scripts in sprite v]\nAnimate [1]\nAnimate [2]\nbroadcast (Boss 4 Phase 1 v)\n\ndefine Animate (costume)\nswitch costume to (costume)\nrepeat (50)\n    set x to (([sin v] of ((timer) * (250)) ) * (10))\n    set y to ((([abs v] of (x position) ) * (-1)) + (10))\n    point in direction (((x position) / (2)) + (90))\nend\n\ndefine Lookat (costume)\nset x to (([sin v] of ((timer) * (250)) ) * (10))\nset y to ((([abs v] of (x position) ) * (-1)) + (10))\npoint in direction (((x position) / (2)) + (90))\nif <([x position v] of [you v]) < [-100]> then\n    switch costume to (costume)\nelse\n    if <[100] < ([x position v] of [you v])> then\n        switch costume to ((costume) + (2))\n    else\n        switch costume to ((costume) + (1))\n    end\nend\n\nwhen I receive [boss 4 phase 1 v]\nstop [other scripts in sprite v]\nrepeat (5)\n    repeat (50)\n        Lookat [3]\n    end\n    broadcast (B4LH1 v)\n    repeat (50)\n        Lookat [3]\n    end\n    broadcast (B4RH1 v)\nend\nbroadcast (Boss 4 Phase 2 v)\n\nwhen I receive [boss 4 phase 2 v]\nstop [other scripts in sprite v]\nbroadcast (B4LH2 v)\nrepeat (5)\n    repeat (75)\n        Lookat [6]\n    end\n    broadcast (B4P2C v)\n    repeat (75)\n        Lookat [6]\n    end\n    broadcast (B4RH2 v)\nend\nAnimate [12]\nbroadcast (Boss 4 Phase 3 v)\n\nwhen I receive [boss 4 phase 3 v]\nstop [other scripts in sprite v]\nrepeat (3)\n    set [handle phase 3 v] to [True]\n    repeat (150)\n        Lookat [9]\n    end\n    set [handle phase 3 v] to [False]\n    repeat (10)\n        switch costume to (costume13 v)\n        repeat (1)\n            set x to (([sin v] of ((timer) * (250)) ) * (10))\n            set y to ((([abs v] of (x position) ) * (-1)) + (10))\n            point in direction (((x position) / (2)) + (90))\n        end\n        switch costume to (costume14 v)\n        repeat (1)\n            set x to (([sin v] of ((timer) * (250)) ) * (10))\n            set y to ((([abs v] of (x position) ) * (-1)) + (10))\n            point in direction (((x position) / (2)) + (90))\n        end\n    end\n    broadcast (B4P3S v)\nend\nAnimate [12]\nset [the cut v] to [True]\nbroadcast (Vibrate v)\nbroadcast (Fire v)\nbroadcast (Nextly Levelly v)\nbroadcast (Boss 4 Win v)\nhide\n\n@Intro\n\nwhen flag clicked\nshow\ngo to x: (0) y: (0)\ngo to [front v] layer\nclear graphic effects\nset [brightness v] effect to (-100)\nrepeat (5)\n    switch costume to (costume1 v)\n    wait (0.1) seconds\n    change [brightness v] effect by (10)\n    start sound [Crank v]\n    next costume\n    wait (0.1) seconds\n    change [brightness v] effect by (10)\n    start sound [Crank v]\nend\nrepeat (19)\n    next costume\n    wait (0.1) seconds\n    start sound [Crank v]\nend\nwait (1) seconds\nbroadcast (Startup v)\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\nnext costume\nrepeat (10)\n    change [brightness v] effect by (10)\nend\nwait (2) seconds\nrepeat (10)\n    change [brightness v] effect by (-10)\n    change [ghost v] effect by (10)\nend\nhide\nbroadcast (Start Game v)\n\n@Fan\n\nwhen flag clicked\nforever\n    turn right (15) degrees\n    go to x: (-130) y: (-100)\n    if <(Ground Type) = [5]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    go to [back v] layer\nend\n\nwhen flag clicked\nforever\n    if <(Ground Type) = [5]> then\n        play sound [High Whoosh v] until done\n    end\nend\n\n@Doors\n\nwhen I start as a clone\nshow\ngo to x: (300) y: (180)\nrepeat until <(x position) < [-300]>\n    if <(Myself) = [sin]> then\n        point in direction ((([sin v] of ((timer) * (200)) ) * (10)) + (70))\n        change x by ((((90) - (direction)) * (-1)) / (5))\n        go to [back v] layer\n    else\n        point in direction ((([cos v] of ((timer) * (200)) ) * (10)) + (70))\n        change x by ((((90) - (direction)) * (-1)) / (5))\n        go to [back v] layer\n    end\n    if <(Ground Type) = [5]> then\n        set [ghost v] effect to (0)\n    else\n        set [ghost v] effect to (100)\n    end\nend\ndelete this clone\n\nwhen flag clicked\nhide\nclear graphic effects\nforever\n    wait (1) seconds\n    create clone of (_myself_ v)\n    if <(Myself) = [cos]> then\n        set [myself v] to [sin]\n    else\n        set [myself v] to [cos]\n    end\n    change [color v] effect by ((pick random (3) to (5)) * (10))\nend\n\n@Dewt\n\nwhen flag clicked\nset [the cut v] to [False]\nhide\nforever\n    go to [front v] layer\nend\n\nwhen I receive [cut! v]\nswitch costume to (costume1 v)\nshow\nrepeat (5)\n    wait (0.01) seconds\n    next costume\nend\nset [the cut v] to [True]\nbroadcast (Nextly Levelly v)\nrepeat (5)\n    wait (0.01) seconds\n    switch costume to ((costume [number v]) - (1))\nend\nhide\n\nwhen I receive [whoops! v]\nswitch costume to (costume1 v)\nshow\nrepeat (5)\n    wait (0.01) seconds\n    next costume\nend\nbroadcast (Boss 4 Intro v)\nrepeat (5)\n    wait (0.01) seconds\n    switch costume to ((costume [number v]) - (1))\nend\nhide\n\n@Left Hand\n\nwhen flag clicked\nhide\nwait until <(Level) = [99]>\nshow\n\nwhen I receive [boss 4 intro v]\nstop [other scripts in sprite v]\nswitch costume to (idle v)\ngo to x: (-200) y: (-150)\nshow\n\nwhen I receive [boss 4 phase 1 v]\nstop [other scripts in sprite v]\nrepeat (6)\n    switch costume to (idle v)\n    change y by (50)\nend\nforever\n    switch costume to (idle v)\n    change x by ((([x position v] of [you v]) - (x position)) / (20))\nend\n\nwhen I receive [animate v]\nforever\n    point in direction ((([sin v] of ((timer) * (250)) ) * (5)) + (90))\n    change x by ([sin v] of ((timer) * (250)) )\n    change y by ([cos v] of ((timer) * (250)) )\nend\n\nwhen I receive [b4lh1 v]\nset y to (150)\nset [my x v] to (x position)\nstart sound [Crank v]\nrepeat (10)\n    if <(pick random (1) to (2)) = [1]> then\n        wait (0.01) seconds\n        change x by (5)\n        wait (0.01) seconds\n        change x by (-5)\n    else\n        wait (0.01) seconds\n        change x by (-5)\n        wait (0.01) seconds\n        change x by (5)\n    end\n    set x to (My X)\nend\nstart sound [High Whoosh v]\nset y to (0)\nrepeat (2)\n    set x to (My X)\n    switch costume to (costume3 v)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\nrepeat (2)\n    set x to (My X)\n    switch costume to (costume4 v)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\nrepeat (2)\n    set x to (My X)\n    switch costume to (costume5 v)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\nrepeat (2)\n    set x to (My X)\n    switch costume to (costume6 v)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\nswitch costume to (costume2 v)\nset y to (-150)\nbroadcast (Vibrate v)\nstart sound [Bowling Strike v]\nrepeat (10)\n    set x to (My X)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\n    switch costume to (costume2 v)\nend\nrepeat (10)\n    change y by (((150) - (y position)) / (4))\n    set x to (My X)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\n    switch costume to (costume1 v)\nend\nset y to (150)\n\nwhen I receive [boss 4 phase 2 v]\nstop [other scripts in sprite v]\nswitch costume to (idle v)\nrepeat (10)\n    change x by (((-300) - (x position)) / (4))\n    change y by (((250) - (y position)) / (4))\nend\nhide\n\nwhen I receive [boss 4 phase 3 v]\nstop [other scripts in sprite v]\nshow\nset x to (200)\nrepeat (5)\n    change y by (((150) - (y position)) / (4))\nend\nswitch costume to (costume1 v)\nforever\n    glide (1) secs to x: (-200) y: (150)\n    create clone of (_myself_ v)\n    glide (1) secs to x: (200) y: (150)\n    create clone of (_myself_ v)\nend\n\nwhen I receive [boss 4 intro v]\ndelete this clone\n\nwhen I start as a clone\nswitch costume to (costume7 v)\nrepeat until <(y position) < [-180]>\n    point in direction ((([sin v] of ((timer) * (250)) ) * (5)) + (90))\n    change y by (-5)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\ndelete this clone\n\nwhen I receive [boss 4 win v]\nstop [other scripts in sprite v]\nhide\n\n@Right Hand\n\nwhen flag clicked\nhide\nwait until <(Level) = [99]>\nshow\n\nwhen I receive [boss 4 intro v]\nstop [other scripts in sprite v]\nswitch costume to (costume1 v)\ngo to x: (150) y: (10)\n\nwhen flag clicked\nhide\nwait until <(Level) = [99]>\nshow\n\nwhen I receive [boss 4 phase 1 v]\nstop [other scripts in sprite v]\nrepeat (10)\n    switch costume to (idle v)\n    change x by (5)\n    set y to ([y position v] of [you v])\nend\nforever\n    switch costume to (idle v)\n    change y by ((([y position v] of [you v]) - (y position)) / (20))\nend\n\nwhen I receive [b4rh1 v]\nset x to (200)\nset [my y v] to (y position)\nstart sound [Crank v]\nrepeat (10)\n    if <(pick random (1) to (2)) = [1]> then\n        change y by (5)\n        wait (0.01) seconds\n        change y by (-5)\n        wait (0.01) seconds\n    else\n        change y by (-5)\n        wait (0.01) seconds\n        change y by (5)\n        wait (0.01) seconds\n    end\n    set y to (My Y)\nend\nstart sound [Low Whoosh v]\nset x to (0)\nrepeat (2)\n    set y to (My Y)\n    switch costume to (costume4 v)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\nrepeat (2)\n    set y to (My Y)\n    switch costume to (costume5 v)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\nrepeat (2)\n    set y to (My Y)\n    switch costume to (costume6 v)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\nbroadcast (Vibrate v)\nstart sound [Bowling Strike v]\nrepeat (10)\n    switch costume to (costume3 v)\n    set x to (-200)\n    set y to (My Y)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\nrepeat (10)\n    change x by (((200) - (x position)) / (4))\n    set y to (My Y)\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\n    switch costume to (costume2 v)\nend\nset x to (200)\n\nwhen I receive [animate v]\nforever\n    point in direction ((([sin v] of ((timer) * (250)) ) * (5)) + (90))\n    change x by ([sin v] of ((timer) * (250)) )\n    change y by ([cos v] of ((timer) * (250)) )\nend\n\nwhen I receive [boss 4 phase 2 v]\nstop [other scripts in sprite v]\nswitch costume to (costume7 v)\nwait (0.5) seconds\nrepeat (5)\n    next costume\n    wait (0.01) seconds\nend\nbroadcast (B4P2 v)\n\nwhen I receive [b4rh2 v]\nstop [other scripts in sprite v]\nrepeat (10)\n    start sound [Ocean Wave v]\n    switch costume to (costume11 v)\n    wait (0.01) seconds\n    switch costume to (costume12 v)\n    wait (0.01) seconds\nend\nnext costume\nwait (0.01) seconds\nbroadcast (Fire v)\nrepeat (5)\n    start sound [A Bass v]\n    switch costume to (costume14 v)\n    repeat (2)\n        if <touching (you v)?> then\n            set [suicide v] to [True]\n        end\n    end\n    switch costume to (costume15 v)\n    repeat (2)\n        if <touching (you v)?> then\n            set [suicide v] to [True]\n        end\n    end\nend\nrepeat (3)\n    switch costume to ((costume [number v]) - (1))\n    wait (0.01) seconds\nend\nbroadcast (B4P2 v)\n\nwhen I receive [b4p2 v]\nforever\n    change x by (((([x position v] of [you v]) + (150)) - (x position)) / (4))\n    change y by (((([y position v] of [you v]) - (75)) - (y position)) / (4))\nend\n\nwhen I receive [b4p2 v]\nforever\n    switch costume to (costume12 v)\n    wait (0.01) seconds\n    switch costume to (costume16 v)\n    wait (0.01) seconds\nend\n\nwhen I receive [boss 4 phase 3 v]\nstop [other scripts in sprite v]\nswitch costume to (costume17 v)\nwait (0.1) seconds\nswitch costume to (costume18 v)\nwait (0.1) seconds\nswitch costume to (costume2 v)\nrepeat (5)\n    change y by (((-120) - (y position)) / (4))\nend\nforever\n    if <(Handle Phase 3) = [True]> then\n        change x by ((([x position v] of [you v]) - (x position)) / (200))\n    end\n    if <touching (you v)?> then\n        set [suicide v] to [True]\n    end\nend\n\nwhen I receive [boss 4 win v]\nstop [other scripts in sprite v]\nhide\n\n@Boss 4 Music\n\nwhen flag clicked\nset volume to (0) %\nforever\n    play sound [dark shrums theme v] until done\nend\n\nwhen flag clicked\nwait until <(Level) = [99]>\nrepeat (10)\n    change volume by (10)\nend\n\n@Smoke Puff\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [boss 4 phase 2 v]\nshow\nswitch costume to (costume1 v)\nwait (0.01) seconds\nrepeat (6)\n    next costume\n    wait (0.01) seconds\nend\nhide\n\nwhen I receive [boss 4 phase 3 v]\nshow\nswitch costume to (costume1 v)\nwait (0.01) seconds\nrepeat (6)\n    next costume\n    wait (0.01) seconds\nend\nhide\n\n@Carriages\n\nwhen flag clicked\nhide\nset [is clone? v] to [False]\nclear graphic effects\n\nwhen I start as a clone\nset [is clone? v] to [True]\nshow\ngo to x: (300) y: (0)\nrepeat until <(x position) < [-250]>\n    start sound [Whir v]\n    change x by (-5)\n    next costume\n    wait (0.01) seconds\n    change x by (-5)\n    switch costume to ((costume [number v]) - (1))\n    wait (0.01) seconds\nend\ndelete this clone\n\nwhen I receive [b4p2c v]\nif <(Is Clone?) = [False]> then\n    switch costume to (costume3 v)\n    repeat ((pick random (0) to (2)) * (2))\n        next costume\n    end\n    create clone of (_myself_ v)\nend\n\nwhen I receive [boss 4 intro v]\ndelete this clone\n\n@Boss 4 Laser Beam\n\nwhen flag clicked\ngo to x: (0) y: (-100)\nhide\n\nwhen I receive [b4p3s v]\nstart sound [Pew v]\nbroadcast (Vibrate v)\nbroadcast (Fire v)\nswitch costume to (costume1 v)\nshow\nwait (0.1) seconds\nrepeat (3)\n    next costume\n    wait (0.05) seconds\nend\nhide\n\n@Boss 4 Flame Effects\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\nforever\n    go to x: (Vibrate X) y: (Vibrate Y)\nend\n\nwhen I receive [fire v]\nshow\nrepeat (20)\n    set [ghost v] effect to (((pick random (-5) to (5)) * (5)) + (75))\n    set [brightness v] effect to ((pick random (-5) to (5)) * (5))\nend\nset [ghost v] effect to (100)\nhide\n\n@Dust\n\nwhen flag clicked\nhide\nclear graphic effects\n\nwhen I start as a clone\npoint in direction (pick random (0) to (360))\nchange x by (pick random (-5) to (5))\nchange y by (pick random (-5) to (5))\nshow\nrepeat (20)\n    turn right (15) degrees\n    change y by (-10)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\nwhen I receive [vibrate v]\nrepeat (5)\n    go to x: ((pick random (-12) to (12)) * (20)) y: (180)\n    repeat (5)\n        create clone of (_myself_ v)\n    end\nend\n\n@Boss 4 Gem\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\npoint in direction (90)\nset size to (100) %\nwait until <(Level) = [101]>\nshow\nset [ghost v] effect to (100)\nset [brightness v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\n    go to x: (0) y: ((([sin v] of ((timer) * (250)) ) * (10)) + (20))\nend\nrepeat (10)\n    change [brightness v] effect by (-10)\n    go to x: (0) y: ((([sin v] of ((timer) * (250)) ) * (10)) + (20))\nend\nrepeat until <touching (you v)?>\n    go to x: (0) y: ((([sin v] of ((timer) * (250)) ) * (10)) + (20))\nend\nbroadcast (End Game v)\nrepeat (10)\n    repeat (10)\n        go to x: (pick random ((size) / (-20)) to ((size) / (20))) y: (((([sin v] of ((timer) * (250)) ) * (10)) + (pick random ((size) / (20)) to ((size) / (-20)))) + (20))\n    end\n    create clone of (_myself_ v)\n    go to [front v] layer\n    change size by (10)\n    change [brightness v] effect by (10)\nend\nrepeat (10)\n    go to x: (pick random (-10) to (10)) y: ((([sin v] of ((timer) * (250)) ) * (10)) + (pick random (10) to (30)))\nend\nhide\n\nwhen I start as a clone\ngo to x: (0) y: (0)\npoint in direction ((pick random (1) to (12)) * (30))\nswitch costume to (costume2 v)\nwait (0.1) seconds\nrepeat (2)\n    next costume\n    wait (0.1) seconds\nend\n\nwhen I receive [credits v]\ndelete this clone\n\n@Whiteness\n\nwhen flag clicked\ngo to x: (0) y: (0)\nclear graphic effects\nset [ghost v] effect to (100)\nshow\n\nwhen I receive [end game v]\nrepeat (150)\n    change [ghost v] effect by (-1)\nend\nbroadcast (Credits v)\ngo to [front v] layer\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ngo to [back v] layer\n\n
It's Classic- but better. Now with actual enemies and moving platforms! Can Top Hat Man get away from the increasing quality of the game before it robs him of his simplicity?\n\n===CONTROLS===\n⬆ or W to jump,\n⬅, ➡, A, or D to move left and right.\n\n===TIPS===\n➡ Play in fullscreen.\n➡ Don't use Safari.