Laser-Man - A Platformer

Instructions: This is a BIG game!!! Enjoy! (Mobile Friendly)\n---------------------------------------------------------------\nFor a smooth gameplay, go to TurboWarp: https://turbowarp.org/#401066317\n---------------------------------------------------------------\nNOTE: If your player happens to disappear for no reason  then skip the level; your player should then appear again. This is a pretty heavily packed game with lots of functions, so ... yeah.\n---------------------------------------------------------------\nThis is the #third platformer of the Climber series. If you haven't played the other two then here's the link.\n> Climber - A Platformer:\nhttps://scratch.mit.edu/projects/386626325.\n> Jewel - A Scrolling Platformer:\nhttps://scratch.mit.edu/projects/388934412\n---------------------------------------------------------------\n> Overview:\nAfter claiming the magical jewel, the climber sets out on another adventure into the unknown caves below Everest. The cave has more traps and obstacles than ever, like lava, dropping rocks, buttons, destructive objects, chainsaws, lava, and...A BOSS!\n---------------------------------------------------------------\n> Controls:\nArrow keys to move or touch to move. Laser shooting will be explained in the game. This is 100% mobile friendly.\n---------------------------------------------------------------\n> Skins: Skin requests are open: 7/15.\nThe Climber: Main Character of the "Climber" series.\nYeti (Cyclops): Enemy from "Climber - A Platformer."\n@Whiteout12 Logo: Current logo of @Whiteout12.\nLaser-Man: Enemy from "Jewel - A Scrolling Platformer."\nIce-Lord: Special Edition.\n@Xhort OC: Special Edition.\n@XXX_FIRE_XXX Parkour Skin: Special Edition.\n@carot3 Logo Skin: Special Edition.\n---------------------------------------------------------------\n> Credits:\n2% of codes (platforming codes) from @griffpatch.\n98% of codes all by @Whiteout12.\nArt 100% by @Whiteout12.\nSpecial thanks to @JS_Coder for the music.\n---------------------------------------------------------------\n_________________________________________________\n#All #Platformer #Games

@Stage\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\nforever\n    go to [front v] layer\nend\n\n@Intro (OC)\n\nwhen flag clicked\nswitch backdrop to (0 v)\nhide\nset size to (100) %\nset [ghost v] effect to (100)\nset [intro ability v] to [0]\nrepeat (2)\n    wait (0.2) seconds\n    create clone of (_myself_ v)\n    change [intro ability v] by (1)\nend\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nswitch costume to (oc still v)\ngo to x: (0) y: (0)\nwait (0.8) seconds\ngo to [front v] layer\nrepeat (6)\n    wait (0.2) seconds\n    switch costume to (oc wave 2 v)\n    wait (0.2) seconds\n    switch costume to (oc wave 1 v)\nend\nwait (0.2) seconds\nswitch costume to (oc still v)\nwait (0.4) seconds\nswitch costume to (oc draw clock 1 v)\nwait (0.3) seconds\nswitch costume to (oc draw clock 2 v)\ncreate clone of (_myself_ v)\nset [intro ability v] to [3]\nwait (2) seconds\nhide\n\nwhen I start as a clone\nif <(Intro Ability) = [1]> then\n    wait (0.5) seconds\n    set [ghost v] effect to (0)\n    go to [front v] layer\n    repeat (200)\n        show\n        switch costume to (logo v)\n        change [color v] effect by (5)\n        change y by (1)\n    end\n    hide\n    delete this clone\nend\nif <(Intro Ability) = [2]> then\n    set [ghost v] effect to (0)\n    go to [front v] layer\n    show\n    switch costume to (background v)\n    wait (7.5) seconds\n    hide\n    delete this clone\nend\nif <(Intro Ability) = [3]> then\n    set [ghost v] effect to (0)\n    wait (0.8) seconds\n    go to x: (-50) y: (0)\n    go to [front v] layer\n    show\n    set size to (10) %\n    switch costume to (clock 1 v)\n    repeat (50)\n        change x by (1)\n        change size by (10)\n    end\n    switch costume to (clock 1/2 v)\n    wait (0.01) seconds\n    switch costume to (clock 2 v)\n    wait (0.3) seconds\n    repeat (03)\n        change [ghost v] effect by (10)\n    end\n    switch backdrop to (1 v)\n    broadcast (Start v)\n    hide\n    delete this clone\nend\n\nwhen flag clicked\nplay sound [Intro v] until done\n\n@Menu\n\nwhen I receive [start v]\nwait (0.5) seconds\nrepeat (7)\n    change [menu clones v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset [menu clones v] to [0]\nset [menu possible v] to [0]\n\nwhen I start as a clone\nif <(Menu Clones) = [1]> then\n    set size to (100) %\n    set [ghost v] effect to (0)\n    go to x: (0) y: (75)\n    switch costume to (1 v)\n    show\n    go to [front v] layer\n    repeat (11)\n        next costume\n    end\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    next costume\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\n    repeat until <(Menu Clones) = [0]>\n        repeat (10)\n            change [ghost v] effect by (3)\n            change size by (2)\n            if <(Menu Clones) = [0]> then\n                hide\n                delete this clone\n            end\n        end\n        repeat (10)\n            change [ghost v] effect by (-3)\n            change size by (-2)\n            if <(Menu Clones) = [0]> then\n                hide\n                delete this clone\n            end\n        end\n    end\n    hide\n    delete this clone\nend\nif <(Menu Clones) = [2]> then\n    go to x: (-110) y: (-110)\n    set size to (200) %\n    go to [front v] layer\n    show\n    switch costume to (play 1 v)\n    broadcast (Play Animate v)\n    repeat until <(Menu Clones) = [0]>\n        if <(Menu Clones) = [0]> then\n            hide\n            delete this clone\n        end\n        if <touching (mouse-pointer v)?> then\n            switch costume to (play 2 v)\n            if <(Menu Possible) = [0]> then\n                if <<mouse down?> and <touching (mouse-pointer v)?>> then\n                    wait (0.3) seconds\n                    set [menu clones v] to [0]\n                    broadcast (Start Game v)\n                end\n            end\n        else\n            switch costume to (play 1 v)\n        end\n    end\n    hide\n    delete this clone\nend\nif <(Menu Clones) = [3]> then\n    set size to (100) %\n    go to [back v] layer\n    go to x: (0) y: (25)\n    show\n    switch costume to (l1 v)\n    broadcast (Play Animate v)\n    set [ghost v] effect to (10)\n    repeat until <(Menu Clones) = [0]>\n        if <(Menu Clones) = [0]> then\n            hide\n            delete this clone\n        end\n        switch costume to (l1 v)\n        wait (3) seconds\n        repeat (3)\n            next costume\n        end\n    end\n    hide\n    delete this clone\nend\nif <(Menu Clones) = [4]> then\n    go to x: (110) y: (-110)\n    set size to (200) %\n    go to [front v] layer\n    show\n    switch costume to (play 1 v)\n    broadcast (Play Animate v)\n    repeat until <(Menu Clones) = [0]>\n        if <(Menu Clones) = [0]> then\n            hide\n            delete this clone\n        end\n        if <touching (mouse-pointer v)?> then\n            switch costume to (help 2 v)\n            if <<mouse down?> and <touching (mouse-pointer v)?>> then\n                wait (0.3) seconds\n                set [menu possible v] to [1]\n                broadcast (Help Menu v)\n            end\n        else\n            switch costume to (help 1 v)\n        end\n    end\n    hide\n    delete this clone\nend\nif <(Menu Clones) = [5]> then\n    set size to (100) %\n    show\n    go to [front v] layer\n    go to x: (40) y: (-110)\n    switch costume to (arrow 1a v)\n    broadcast (Play Animate v)\n    repeat until <(Menu Clones) = [0]>\n        if <(Menu Clones) = [0]> then\n            hide\n            delete this clone\n        end\n        if <touching (mouse-pointer v)?> then\n            switch costume to (arrow 1b v)\n            if <<mouse down?> and <touching (mouse-pointer v)?>> then\n                if <(Player Skin) < [7]> then\n                    wait (0.4) seconds\n                    change [player skin v] by (1)\n                end\n            end\n        else\n            switch costume to (arrow 1a v)\n        end\n    end\n    hide\n    delete this clone\nend\nif <(Menu Clones) = [6]> then\n    set size to (100) %\n    show\n    go to [front v] layer\n    go to x: (-40) y: (-110)\n    switch costume to (arrow 2a v)\n    broadcast (Play Animate v)\n    repeat until <(Menu Clones) = [0]>\n        if <(Menu Clones) = [0]> then\n            hide\n            delete this clone\n        end\n        if <touching (mouse-pointer v)?> then\n            switch costume to (arrow 2b v)\n            if <<mouse down?> and <touching (mouse-pointer v)?>> then\n                if <(Player Skin) > [0]> then\n                    wait (0.4) seconds\n                    change [player skin v] by (-1)\n                end\n            end\n        else\n            switch costume to (arrow 2a v)\n        end\n    end\n    hide\n    delete this clone\nend\nif <(Menu Clones) = [7]> then\n    set size to (150) %\n    show\n    go to [front v] layer\n    go to x: (0) y: (-110)\n    switch costume to (s0 v)\n    set [player skin v] to [0]\n    repeat until <(Menu Clones) = [0]>\n        if <(Menu Clones) = [0]> then\n            hide\n            delete this clone\n        end\n        if <(Player Skin) = [0]> then\n            switch costume to (s0 v)\n        end\n        if <(Player Skin) = [1]> then\n            switch costume to (s1 v)\n        end\n        if <(Player Skin) = [2]> then\n            switch costume to (s2 v)\n        end\n        if <(Player Skin) = [3]> then\n            switch costume to (s3 v)\n        end\n        if <(Player Skin) = [4]> then\n            switch costume to (s4 v)\n        end\n        if <(Player Skin) = [5]> then\n            switch costume to (s5 v)\n        end\n        if <(Player Skin) = [6]> then\n            switch costume to (s6 v)\n        end\n        if <(Player Skin) = [7]> then\n            switch costume to (s7 v)\n        end\n    end\n    hide\n    delete this clone\nend\n\nwhen I receive [play animate v]\nset [ghost v] effect to (0)\nrepeat until <(Menu Clones) = [0]>\n    repeat (10)\n        change [ghost v] effect by (2)\n        change size by (1)\n        if <(Menu Clones) = [0]> then\n            hide\n            delete this clone\n        end\n    end\n    repeat (10)\n        change [ghost v] effect by (-2)\n        change size by (-1)\n        if <(Menu Clones) = [0]> then\n            hide\n            delete this clone\n        end\n    end\nend\n\n@Skip\n\nwhen flag clicked\nset [ghost v] effect to (0)\nhide\n\nwhen I receive [start game v]\ncreate clone of (_myself_ v)\nset [ghost v] effect to (0)\nswitch costume to (1 v)\ngo to x: (207) y: (-144)\nwait (0.11) seconds\nshow\ngo to [front v] layer\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (2 v)\n    else\n        switch costume to (1 v)\n    end\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        if <not <([costume name v] of [platform v]) = [End]>> then\n            if <not <([costume name v] of [platform v]) = [End]>> then\n                wait (0.3) seconds\n                broadcast (Next Level Load Screen v)\n                wait (0.3) seconds\n                broadcast (Reset Barrier v)\n                broadcast (Reposition v)\n                broadcast (Next Level v)\n            end\n        end\n    end\nend\n\nwhen I receive [help menu v]\ngo to [front v] layer\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nhide\nshow\nswitch costume to (help v)\nrepeat (9)\n    change [ghost v] effect by (-10)\nend\nwait (0.4) seconds\nset [ghost v] effect to (10)\nwait until <<mouse down?> and <touching (mouse-pointer v)?>>\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [menu possible v] to [0]\nhide\n\nwhen I start as a clone\ngo to x: (160) y: (-144)\ngo to [front v] layer\nshow\nswitch costume to (reset 1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        switch costume to (reset 2 v)\n        if <<mouse down?> and <touching (mouse-pointer v)?>> then\n            wait (0.3) seconds\n            broadcast (Reposition v)\n            broadcast (Reset Barrier v)\n            broadcast (Next Level Load Screen v)\n        end\n    else\n        switch costume to (reset 1 v)\n    end\nend\n\n@Player\n\nwhen I receive [start game v]\nset size to (25) %\nset rotation style [left-right v]\ngo to x: (-187) y: (-58)\nshow\nset [speed y v] to [0]\nset [falling? v] to [10]\nforever\n    if <<(speed y) < [4]> or <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [0]>>>> 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 (left arrow v) pressed?> or <<mouse down?> and <<(mouse x) < [0]> and <(mouse y) > [-100]>>>> then\n            change [speed x v] by (-1.5)\n        end\n        if <<key (right arrow v) pressed?> or <<mouse down?> and <<(mouse x) > [0]> and <(mouse y) > [-100]>>>> then\n            change [speed x v] by (1.5)\n        end\n    end\n    if <(speed x) < [-0.5]> then\n        Walk (-90) (speed x)\n    else\n        if <(speed x) > [0.5]> then\n            Walk (90) (speed x)\n        else\n            set [frame v] to [0]\n        end\n    end\n    if <<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [0]>>> 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\nend\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <<touching (barrier v)?> or <touching (platform 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\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <<touching (platform v)?> or <touching (barrier v)?>>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<key (up arrow v) pressed?> or <<mouse down?> and <(mouse y) > [0]>>> and <([abs v] of (speed) ) > [3]>> then\n        if <(wall jump) = [0]> then\n            set [speed x v] to ((-1.2) * (speed))\n            set [speed y v] to [11]\n            set [falling? v] to [6]\n            set [wall jump v] to [15]\n        end\n    else\n        set [speed x v] to [0]\n    end\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\nwhen I receive [start game v]\nset [color v] effect to (0)\nif <(Player Skin) = [0]> then\n    forever\n        switch costume to (1 v)\n        wait (3) seconds\n        repeat (3)\n            next costume\n        end\n        switch costume to (1 v)\n        wait (0.2) seconds\n    end\nend\nif <(Player Skin) = [1]> then\n    forever\n        switch costume to (a1 v)\n        wait (3) seconds\n        repeat (3)\n            next costume\n        end\n        switch costume to (a1 v)\n        wait (0.2) seconds\n    end\nend\nif <(Player Skin) = [2]> then\n    switch costume to (b1 v)\nend\nif <(Player Skin) = [3]> then\n    switch costume to (c1 v)\nend\nif <(Player Skin) = [4]> then\n    forever\n        switch costume to (d1 v)\n        wait (4) seconds\n        switch costume to (d2 v)\n        wait (1) seconds\n    end\nend\nif <(Player Skin) = [5]> then\n    forever\n        switch costume to (e1 v)\n        wait (3) seconds\n        repeat (3)\n            next costume\n        end\n        switch costume to (e1 v)\n        wait (0.2) seconds\n    end\nend\nif <(Player Skin) = [6]> then\n    forever\n        switch costume to (f1 v)\n        wait (3) seconds\n        repeat (3)\n            next costume\n        end\n        switch costume to (f1 v)\n        wait (0.2) seconds\n    end\nend\nif <(Player Skin) = [7]> then\n    forever\n        switch costume to (g1 v)\n        wait (3) seconds\n        repeat (3)\n            next costume\n        end\n        switch costume to (g1 v)\n        wait (0.2) seconds\n    end\nend\n\nwhen I receive [start game v]\ngo to [front v] layer\ngo [backward v] (1) layers\nforever\n    if <<touching (_edge_ v)?> and <(x position) > [180]>> then\n        if <not <<([costume name v] of [platform v]) = [End]> or <([costume name v] of [platform v]) = [13]>>> then\n            repeat (10)\n                change [ghost v] effect by (10)\n            end\n            broadcast (Next Level Load Screen v)\n            wait (0.3) seconds\n            broadcast (Reset Barrier v)\n            broadcast (Reposition v)\n            broadcast (Next Level v)\n            repeat (10)\n                change [ghost v] effect by (-10)\n            end\n        end\n    end\n    if <<touching (spikes v)?> or <touching (lava pit v)?>> then\n        if <(Level #) = [13]> then\n            broadcast (Reposition v)\n            broadcast (Reset Barrier v)\n            broadcast (BOSS BATTL:E!!! v)\n            broadcast (Next Level Load Screen v)\n        else\n            repeat (10)\n                change [ghost v] effect by (10)\n            end\n            broadcast (Reposition v)\n            repeat (10)\n                change [ghost v] effect by (-10)\n            end\n        end\n    end\n    if <touching (barrier v)?> then\n        go to x: (-187) y: (0)\n    end\n    if <touching (boss tech v)?> then\n        broadcast (Reposition v)\n        broadcast (Reset Barrier v)\n        broadcast (BOSS BATTL:E!!! v)\n        broadcast (Next Level Load Screen v)\n    end\nend\n\nwhen I receive [reposition v]\ngo to x: (-187) y: (0)\n\nwhen [r v] key pressed\nbroadcast (Reposition v)\n\nwhen flag clicked\nshow list [users v]\nhide\n\n@Clouds\n\nwhen flag clicked\nset [ghost v] effect to (50)\nhide\n\nwhen I receive [start v]\nforever\n    if <<([costume # v] of [platform v]) < [7]> or <([costume # v] of [platform v]) > [13]>> then\n        wait (2) seconds\n        create clone of (_myself_ v)\n    else\n        hide\n        delete this clone\n    end\nend\n\nwhen I start as a clone\ngo to [back v] layer\ngo to x: (200) y: (pick random (0) to (180))\nshow\nrepeat until <(x position) < [-200]>\n    change x by (-3)\n    if <<([costume name v] of [platform v]) > [6]> and <([costume name v] of [platform v]) < [11]>> then\n        hide\n        delete this clone\n    end\nend\nrepeat (10)\n    hide\n    delete this clone\nend\n\n@Platform\n\nwhen flag clicked\nset [level # v] to [0]\ngo to x: (0) y: (0)\nhide\nset volume to (50) %\n\nwhen I receive [start game v]\nset [level # v] to [1]\nshow\ngo to [front v] layer\nswitch costume to (1 v)\nforever\n    play sound [Vicetone - United We Dance v] until done\nend\n\nwhen I receive [next level v]\nchange [level # v] by (1)\nnext costume\nif <(Level #) = [6]> then\n    switch backdrop to (2 v)\nend\nif <(Level #) = [7]> then\n    switch backdrop to (3 v)\nend\nif <(Level #) = [14]> then\n    switch backdrop to (1 v)\nend\n\n@Spikes\n\nwhen flag clicked\npoint in direction (90)\ngo to [back v] layer\nhide\n\nwhen I receive [reset barrier v]\ngo to [back v] layer\nif <(Level #) > [0]> then\n    hide\n    delete this clone\nend\nwait (0.2) seconds\nset rotation style [all around v]\npoint in direction (90)\nif <([costume name v] of [platform v]) = [2]> then\n    go to x: (0) y: (0)\n    switch costume to (2 v)\n    show\nelse\n    if <([costume name v] of [platform v]) = [3]> then\n        go to x: (0) y: (0)\n        switch costume to (3 v)\n        show\n    else\n        if <([costume name v] of [platform v]) = [4]> then\n            go to x: (0) y: (0)\n            switch costume to (4 v)\n            show\n        else\n            if <([costume name v] of [platform v]) = [5]> then\n                go to x: (0) y: (0)\n                switch costume to (5 v)\n                show\n            else\n                if <([costume name v] of [platform v]) = [6]> then\n                    go to x: (0) y: (0)\n                    switch costume to (6 v)\n                    show\n                else\n                    if <([costume name v] of [platform v]) = [7]> then\n                        go to x: (0) y: (0)\n                        switch costume to (7 v)\n                        show\n                    else\n                        if <([costume name v] of [platform v]) = [8]> then\n                            set [spike clones v] to [0]\n                            create clone of (_myself_ v)\n                            go to x: (18) y: (-67)\n                            switch costume to (chainsaw v)\n                            show\n                            repeat until <not <(Level #) = [8]>>\n                                turn right (5) degrees\n                            end\n                            hide\n                        else\n                            if <([costume name v] of [platform v]) = [9]> then\n                                set [spike clones v] to [0]\n                                go to x: (20) y: (-88)\n                                switch costume to (chainsaw v)\n                                show\n                                repeat until <not <(Level #) = [9]>>\n                                    turn right (5) degrees\n                                end\n                                hide\n                            else\n                                if <([costume name v] of [platform v]) = [11]> then\n                                    set [spike clones v] to [0]\n                                    go to x: (198) y: (42)\n                                    switch costume to (chainsaw v)\n                                    show\n                                    repeat until <not <(Level #) = [11]>>\n                                        turn right (5) degrees\n                                    end\n                                    hide\n                                else\n                                    if <([costume name v] of [platform v]) = [12]> then\n                                        set [spike clones v] to [0]\n                                        create clone of (_myself_ v)\n                                        go to x: (-110) y: (-70)\n                                        switch costume to (chainsaw v)\n                                        wait (0.1) seconds\n                                        go to [back v] layer\n                                        show\n                                        repeat until <not <(Level #) = [12]>>\n                                            turn right (5) degrees\n                                        end\n                                        hide\n                                    else\n                                        hide\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start game v]\ngo to [back v] layer\nwait (0.1) seconds\nif <([costume name v] of [platform v]) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (1 v)\n    show\nend\n\nwhen I start as a clone\nif <(Level #) = [8]> then\n    if <(Spike Clones) = [0]> then\n        switch costume to (chainsaw v)\n        go to [back v] layer\n        show\n        go to x: (196) y: (84)\n        repeat until <not <(Level #) = [8]>>\n            turn right (5) degrees\n        end\n        hide\n        delete this clone\n    end\nend\nif <(Level #) = [12]> then\n    if <(Spike Clones) = [0]> then\n        switch costume to (chainsaw v)\n        go to [back v] layer\n        show\n        go to x: (96) y: (-70)\n        wait (0.1) seconds\n        go to [back v] layer\n        repeat until <not <(Level #) = [12]>>\n            turn right (5) degrees\n        end\n        hide\n        delete this clone\n    end\nend\n\nwhen I receive [drop chainsaw v]\nrepeat (25)\n    change y by (-4)\nend\n\n@Shadow\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nwait (0.2) seconds\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nswitch costume to (player shadow v)\nshow\npoint in direction (90)\nset [ghost v] effect to (30)\nset size to (150) %\ngo to [back v] layer\nforever\n    show\n    go to (player v)\n    if <<(Level #) < [7]> or <(Level #) > [13]>> then\n        switch costume to (player shadow v)\n    else\n        switch costume to (player shadow 2 v)\n    end\nend\n\nwhen I receive [next level v]\nset [ghost v] effect to (30)\nwait (0.2) seconds\nset rotation style [don't rotate v]\npoint in direction (90)\nif <([costume name v] of [platform v]) = [2]> then\n    go to x: (0) y: (0)\n    switch costume to (2 v)\n    show\nelse\n    if <([costume name v] of [platform v]) = [3]> then\n        go to x: (0) y: (0)\n        switch costume to (3 v)\n        show\n    else\n        if <([costume name v] of [platform v]) = [4]> then\n            go to x: (0) y: (0)\n            switch costume to (4 v)\n            show\n        else\n            if <([costume name v] of [platform v]) = [5]> then\n                go to x: (0) y: (0)\n                switch costume to (5 v)\n                show\n            else\n                if <([costume name v] of [platform v]) = [6]> then\n                    go to x: (0) y: (0)\n                    switch costume to (6 v)\n                    show\n                else\n                    if <([costume name v] of [platform v]) = [7]> then\n                        go to x: (0) y: (0)\n                        switch costume to (7 v)\n                        show\n                    else\n                        if <([costume name v] of [platform v]) = [End]> then\n                            go to x: (0) y: (0)\n                            switch costume to (8 v)\n                            show\n                        else\n                            hide\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\n@Level Pass\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (1 v)\nhide\n\nwhen I receive [next level load screen v]\nshow\nswitch costume to (1 v)\ngo to [front v] layer\nrepeat (12)\n    next costume\nend\nwait (0.6) seconds\nrepeat (12)\n    switch costume to ((costume [number v]) - (1))\nend\ngo to [back v] layer\nhide\n\n@Gun Controls\n\nwhen flag clicked\nset [laser button clones v] to [0]\nset [shoot laser? v] to [0]\nhide\n\nwhen I receive [start game v]\nrepeat (2)\n    change [laser button clones v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(Laser Button Clones) = [1]> then\n    go to [front v] layer\n    show\n    go to x: (-199) y: (-154)\n    switch costume to (1a v)\n    repeat until <(Laser Button Clones) = [0]>\n        if <touching (mouse-pointer v)?> then\n            switch costume to (1b v)\n            if <<mouse down?> and <touching (mouse-pointer v)?>> then\n                wait (0.4) seconds\n                broadcast (Aim Laser v) and wait\n            end\n        else\n            switch costume to (1a v)\n        end\n    end\n    hide\n    delete this clone\nend\nif <(Laser Button Clones) = [2]> then\n    go to [front v] layer\n    show\n    go to x: (-134) y: (-154)\n    switch costume to (2a v)\n    repeat until <(Laser Button Clones) = [0]>\n        if <touching (mouse-pointer v)?> then\n            switch costume to (2b v)\n            if <<mouse down?> and <touching (mouse-pointer v)?>> then\n                wait (0.4) seconds\n                if <(Shoot Laser?) = [0]> then\n                    set [shoot laser? v] to [1]\n                else\n                    if <(Shoot Laser?) = [1]> then\n                        set [shoot laser? v] to [0]\n                    end\n                end\n            end\n        else\n            switch costume to (2a v)\n        end\n    end\n    hide\n    delete this clone\nend\n\n@Laser Gun\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\npoint in direction (90)\nswitch costume to (1 v)\ngo to [back v] layer\nshow\nforever\n    go to (player v)\nend\n\nwhen I receive [aim laser v]\nwait (0.1) seconds\nrepeat until <mouse down?>\n    point towards (mouse-pointer v)\n    switch costume to (2 v)\nend\nswitch costume to (1 v)\n\n@Bullets\n\nwhen flag clicked\nhide\nforever\n    if <(Shoot Laser?) = [1]> then\n        wait (0.2) seconds\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I start as a clone\nswitch costume to (1 v)\ngo to [back v] layer\nshow\ngo to (laser gun v)\npoint in direction ([direction v] of [laser gun v])\nmove (13) steps\nrepeat until <touching (_edge_ v)?>\n    move (15) steps\n    if <touching (platform v)?> then\n        point in direction ((direction) * (2))\n    end\n    if <touching (barrier v)?> then\n        if <([costume name v] of [barrier v]) = [5C]> then\n            point in direction ((direction) * (2))\n        end\n    end\n    if <touching (boss tech v)?> then\n        hide\n        delete this clone\n    end\nend\nhide\ndelete this clone\n\n@Barrier\n\nwhen flag clicked\ngo to [back v] layer\nset [ghost v] effect to (0)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [reset barrier v]\nset [ghost v] effect to (0)\nif <(Level #) > [0]> then\n    hide\n    delete this clone\nend\nwait (0.2) seconds\nset rotation style [don't rotate v]\npoint in direction (90)\nif <([costume name v] of [platform v]) = [4]> then\n    go to x: (0) y: (0)\n    switch costume to (4 v)\n    show\n    repeat until <not <(Level #) = [4]>>\n        if <touching (bullets v)?> then\n            hide\n            stop [this script v]\n        end\n    end\nelse\n    if <([costume name v] of [platform v]) = [5]> then\n        set [blocker clones v] to [0]\n        repeat (2)\n            change [blocker clones v] by (1)\n            create clone of (_myself_ v)\n        end\n        set [door trigger v] to [1]\n        go to x: (0) y: (0)\n        switch costume to (5c v)\n        show\n        repeat until <<not <(Level #) = [5]>> or <(Door trigger) = [0]>>\n            repeat (10)\n                change [ghost v] effect by (3)\n            end\n            repeat (10)\n                change [ghost v] effect by (-3)\n            end\n        end\n        hide\n    else\n        if <([costume name v] of [platform v]) = [6]> then\n            set [blocker clones v] to [0]\n            repeat (3)\n                change [blocker clones v] by (1)\n                create clone of (_myself_ v)\n            end\n            set [door trigger v] to [1]\n            go to x: (0) y: (0)\n            switch costume to (6d v)\n            show\n            repeat until <<not <(Level #) = [6]>> or <(Door trigger) = [0]>>\n                repeat (10)\n                    change [ghost v] effect by (3)\n                end\n                repeat (10)\n                    change [ghost v] effect by (-3)\n                end\n            end\n            hide\n        else\n            if <([costume name v] of [platform v]) = [8]> then\n                set [blocker clones v] to [0]\n                repeat (2)\n                    change [blocker clones v] by (1)\n                    create clone of (_myself_ v)\n                end\n                set [door trigger v] to [1]\n                go to x: (0) y: (0)\n                switch costume to (8c v)\n                show\n                repeat until <<not <(Level #) = [8]>> or <(Door trigger) = [0]>>\n                    repeat (10)\n                        change [ghost v] effect by (3)\n                    end\n                    repeat (10)\n                        change [ghost v] effect by (-3)\n                    end\n                end\n                hide\n            else\n                if <([costume name v] of [platform v]) = [9]> then\n                    set [blocker clones v] to [0]\n                    set [door trigger v] to [1]\n                    switch costume to (9a v)\n                    go to x: (0) y: (0)\n                    show\n                    repeat until <not <(Level #) = [9]>>\n                        repeat (10)\n                            change [ghost v] effect by (3)\n                        end\n                        if <(Door trigger) = [0]> then\n                            wait (0.3) seconds\n                            hide\n                        else\n                            show\n                        end\n                        repeat (10)\n                            change [ghost v] effect by (-3)\n                        end\n                    end\n                    hide\n                else\n                    if <([costume name v] of [platform v]) = [10]> then\n                        set [blocker clones v] to [0]\n                        repeat (1)\n                            change [blocker clones v] by (1)\n                            create clone of (_myself_ v)\n                        end\n                        set [door trigger v] to [1]\n                        switch costume to (10b v)\n                        go to x: (0) y: (0)\n                        show\n                        repeat until <not <(Level #) = [10]>>\n                            repeat (10)\n                                change [ghost v] effect by (3)\n                            end\n                            if <(Door trigger) = [0]> then\n                                wait (0.3) seconds\n                                hide\n                            else\n                                show\n                            end\n                            repeat (10)\n                                change [ghost v] effect by (-3)\n                            end\n                        end\n                        hide\n                    else\n                        if <([costume name v] of [platform v]) = [11]> then\n                            set [blocker clones v] to [0]\n                            repeat (2)\n                                change [blocker clones v] by (1)\n                                create clone of (_myself_ v)\n                            end\n                            set [door trigger v] to [1]\n                            switch costume to (11c v)\n                            go to x: (0) y: (0)\n                            show\n                            repeat until <not <(Level #) = [11]>>\n                                repeat (10)\n                                    change [ghost v] effect by (3)\n                                end\n                                if <(Door trigger) = [0]> then\n                                    wait (0.3) seconds\n                                    hide\n                                else\n                                    show\n                                end\n                                repeat (10)\n                                    change [ghost v] effect by (-3)\n                                end\n                            end\n                            hide\n                        else\n                            if <([costume name v] of [platform v]) = [12]> then\n                                set [blocker clones v] to [0]\n                                repeat (2)\n                                    change [blocker clones v] by (1)\n                                    create clone of (_myself_ v)\n                                end\n                                set [door trigger v] to [1]\n                                switch costume to (12c v)\n                                go to x: (0) y: (0)\n                                show\n                                repeat until <not <(Level #) = [12]>>\n                                    repeat (10)\n                                        change [ghost v] effect by (3)\n                                    end\n                                    if <(Door trigger) = [0]> then\n                                        wait (0.3) seconds\n                                        hide\n                                    else\n                                        show\n                                    end\n                                    repeat (10)\n                                        change [ghost v] effect by (-3)\n                                    end\n                                end\n                                hide\n                            else\n                                if <([costume name v] of [platform v]) = [13]> then\n                                    set [ghost v] effect to (0)\n                                    set [blocker clones v] to [0]\n                                    set [door trigger v] to [1]\n                                    switch costume to (13 v)\n                                    go to x: (0) y: (0)\n                                    show\n                                    repeat until <not <(Level #) = [13]>>\n                                        if <(Door trigger) = [0]> then\n                                            repeat (6)\n                                                repeat (10)\n                                                    change [ghost v] effect by (4)\n                                                end\n                                                repeat (10)\n                                                    change [ghost v] effect by (-4)\n                                                end\n                                            end\n                                            set [ghost v] effect to (0)\n                                            wait (0.3) seconds\n                                            repeat (25)\n                                                change y by (-4)\n                                            end\n                                            repeat until <(Door trigger) = [1]>\n                                                hide\n                                            end\n                                            repeat (25)\n                                                change y by (4)\n                                            end\n                                            go to x: (0) y: (0)\n                                            show\n                                        else\n                                            go to x: (0) y: (0)\n                                        end\n                                    end\n                                    hide\n                                else\n                                    hide\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nif <(Level #) = [5]> then\n    if <(Blocker Clones) = [1]> then\n        switch costume to (5a v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [5]>>\n            if <touching (bullets v)?> then\n                hide\n                stop [this script v]\n            end\n        end\n        hide\n        delete this clone\n    end\n    if <(Blocker Clones) = [2]> then\n        switch costume to (5b v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [5]>>\n            if <touching (bullets v)?> then\n                hide\n                stop [this script v]\n            end\n        end\n        hide\n        delete this clone\n    end\nend\nif <(Level #) = [6]> then\n    if <(Blocker Clones) = [1]> then\n        switch costume to (6a v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [6]>>\n            if <touching (bullets v)?> then\n                hide\n                stop [this script v]\n            end\n        end\n        hide\n        delete this clone\n    end\n    if <(Blocker Clones) = [2]> then\n        switch costume to (6b v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [6]>>\n            if <touching (bullets v)?> then\n                hide\n                stop [this script v]\n            end\n        end\n        hide\n        delete this clone\n    end\n    if <(Blocker Clones) = [3]> then\n        switch costume to (6c v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [6]>>\n            if <touching (bullets v)?> then\n                hide\n                stop [this script v]\n            end\n        end\n        hide\n        delete this clone\n    end\nend\nif <(Level #) = [8]> then\n    if <(Blocker Clones) = [1]> then\n        switch costume to (8a v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [8]>>\n            if <touching (bullets v)?> then\n                hide\n                stop [this script v]\n            end\n        end\n        hide\n        delete this clone\n    end\n    if <(Blocker Clones) = [2]> then\n        switch costume to (8b v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [8]>>\n            if <touching (bullets v)?> then\n                hide\n                stop [this script v]\n            end\n        end\n        hide\n        delete this clone\n    end\nend\nif <(Level #) = [10]> then\n    if <(Blocker Clones) = [1]> then\n        switch costume to (10a v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [10]>>\n            if <(distance to [player v]) < [50]> then\n                wait (0.4) seconds\n                repeat (25)\n                    change y by (-4)\n                end\n            end\n        end\n        hide\n        delete this clone\n    end\nend\nif <(Level #) = [11]> then\n    if <(Blocker Clones) = [1]> then\n        switch costume to (11a v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [11]>>\n            if <(distance to [player v]) < [50]> then\n                wait (0.6) seconds\n                repeat (25)\n                    change y by (-4)\n                end\n            end\n        end\n        hide\n        delete this clone\n    end\n    if <(Blocker Clones) = [2]> then\n        switch costume to (11b v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [11]>>\n            if <(distance to [player v]) < [50]> then\n                wait (0.6) seconds\n                repeat (60)\n                    change y by (-4)\n                end\n            end\n        end\n        hide\n        delete this clone\n    end\nend\nif <(Level #) = [12]> then\n    if <(Blocker Clones) = [1]> then\n        switch costume to (12a v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [12]>>\n            if <(distance to [player v]) < [50]> then\n                wait (1) seconds\n                broadcast (Drop Chainsaw v)\n                repeat (25)\n                    change y by (-4)\n                end\n            end\n        end\n        hide\n        delete this clone\n    end\n    if <(Blocker Clones) = [2]> then\n        switch costume to (12b v)\n        go to x: (0) y: (0)\n        go to [back v] layer\n        show\n        repeat until <not <(Level #) = [12]>>\n            if <(distance to [player v]) < [50]> then\n                wait (1) seconds\n                broadcast (Drop Chainsaw v)\n                repeat (60)\n                    change y by (-4)\n                end\n            end\n        end\n        hide\n        delete this clone\n    end\nend\n\n@Button\n\nwhen flag clicked\ngo to [back v] layer\nset [ghost v] effect to (0)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [reset barrier v]\nwait (0.2) seconds\nset rotation style [don't rotate v]\npoint in direction (90)\nif <([costume name v] of [platform v]) = [5]> then\n    set [door trigger v] to [1]\n    go to x: (0) y: (0)\n    switch costume to (5a v)\n    show\n    repeat until <touching (player v)?>\n        repeat (10)\n            change [ghost v] effect by (2)\n        end\n        repeat (10)\n            change [ghost v] effect by (-2)\n        end\n    end\n    set [door trigger v] to [0]\n    switch costume to (5b v)\nelse\n    if <([costume name v] of [platform v]) = [6]> then\n        set [door trigger v] to [1]\n        go to x: (0) y: (0)\n        switch costume to (6a v)\n        show\n        repeat until <touching (player v)?>\n            repeat (10)\n                change [ghost v] effect by (2)\n            end\n            repeat (10)\n                change [ghost v] effect by (-2)\n            end\n        end\n        set [door trigger v] to [0]\n        switch costume to (6b v)\n    else\n        if <([costume name v] of [platform v]) = [8]> then\n            set [door trigger v] to [1]\n            go to x: (0) y: (0)\n            switch costume to (8a v)\n            show\n            repeat until <touching (player v)?>\n                repeat (10)\n                    change [ghost v] effect by (2)\n                end\n                repeat (10)\n                    change [ghost v] effect by (-2)\n                end\n            end\n            set [door trigger v] to [0]\n            switch costume to (8b v)\n        else\n            if <([costume name v] of [platform v]) = [9]> then\n                set [door trigger v] to [1]\n                go to x: (0) y: (0)\n                switch costume to (9a v)\n                show\n                repeat until <not <(Level #) = [9]>>\n                    if <touching (bullets v)?> then\n                        wait (0.1) seconds\n                        set [door trigger v] to [0]\n                        switch costume to (9b v)\n                    else\n                        wait (0.1) seconds\n                        set [door trigger v] to [1]\n                        switch costume to (9a v)\n                    end\n                end\n            else\n                if <([costume name v] of [platform v]) = [10]> then\n                    set [door trigger v] to [1]\n                    go to x: (0) y: (0)\n                    switch costume to (10a v)\n                    show\n                    repeat until <not <(Level #) = [10]>>\n                        if <touching (bullets v)?> then\n                            wait (0.1) seconds\n                            set [door trigger v] to [0]\n                            switch costume to (10b v)\n                        else\n                            wait (0.1) seconds\n                            set [door trigger v] to [1]\n                            switch costume to (10a v)\n                        end\n                    end\n                else\n                    if <([costume name v] of [platform v]) = [11]> then\n                        set [door trigger v] to [1]\n                        go to x: (0) y: (0)\n                        switch costume to (11a v)\n                        show\n                        repeat until <not <(Level #) = [11]>>\n                            if <touching (bullets v)?> then\n                                wait (0.1) seconds\n                                set [door trigger v] to [0]\n                                switch costume to (11b v)\n                            else\n                                wait (0.1) seconds\n                                set [door trigger v] to [1]\n                                switch costume to (11a v)\n                            end\n                        end\n                    else\n                        if <([costume name v] of [platform v]) = [12]> then\n                            set [door trigger v] to [1]\n                            go to x: (0) y: (0)\n                            switch costume to (12a v)\n                            show\n                            repeat until <not <(Level #) = [12]>>\n                                if <touching (bullets v)?> then\n                                    wait (0.1) seconds\n                                    set [door trigger v] to [0]\n                                    switch costume to (12b v)\n                                else\n                                    wait (0.1) seconds\n                                    set [door trigger v] to [1]\n                                    switch costume to (12a v)\n                                end\n                            end\n                        else\n                            hide\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\n@Lava Pit\n\nwhen flag clicked\ngo to [back v] layer\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [next level v]\nset [lava clones v] to [0]\nwait (0.1) seconds\nif <(Level #) = [7]> then\n    repeat (3)\n        change [lava clones v] by (1)\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I start as a clone\nif <(Lava Clones) = [1]> then\n    set [ghost v] effect to (40)\n    go to [back v] layer\n    go [forward v] (5) layers\n    switch costume to (1 v)\n    go to x: (0) y: (0)\n    show\n    repeat until <(Level #) = [100]>\n        repeat (10)\n            change y by (2)\n        end\n        repeat (10)\n            change y by (-2)\n        end\n    end\n    hide\n    delete this clone\nend\nif <(Lava Clones) = [2]> then\n    set [ghost v] effect to (30)\n    go [forward v] (5) layers\n    go to [back v] layer\n    switch costume to (2 v)\n    go to x: (0) y: (0)\n    show\n    wait (0.1) seconds\n    repeat until <(Level #) = [100]>\n        repeat (10)\n            change y by (2)\n        end\n        repeat (10)\n            change y by (-2)\n        end\n    end\n    hide\n    delete this clone\nend\nif <(Lava Clones) = [3]> then\n    set [ghost v] effect to (20)\n    go [forward v] (5) layers\n    go to [back v] layer\n    switch costume to (3 v)\n    go to x: (0) y: (0)\n    show\n    wait (0.2) seconds\n    repeat until <(Level #) = [100]>\n        repeat (10)\n            change y by (2)\n        end\n        repeat (10)\n            change y by (-2)\n        end\n    end\n    hide\n    delete this clone\nend\n\n@The BOSS\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\ngo to [back v] layer\nwait (0.1) seconds\nif <(Level #) = [13]> then\n    broadcast (BOSS BATTL:E!!! v)\nend\n\nwhen I receive [boss animate v]\nrepeat until <not <(Level #) = [13]>>\n    switch costume to (1 v)\n    wait (4) seconds\n    repeat (3)\n        next costume\n    end\nend\n\nwhen I receive [battle order v]\ngo to x: (0) y: (75)\nwait (5) seconds\nrepeat (3)\n    repeat (3)\n        glide (1.5) secs to x: ([x position v] of [player v]) y: (50)\n        repeat (50)\n            change y by (1)\n        end\n        glide (2) secs to x: ([x position v] of [player v]) y: (-100)\n        glide (1) secs to x: (0) y: (75)\n        wait (3.5) seconds\n    end\n    broadcast (Tired?? \(BOSS\) v)\n    wait until <touching (bullets v)?>\n    broadcast (ACTIVE! BOSS!! v)\n    wait (1.5) seconds\n    broadcast (Shower Spikes v) and wait\n    wait (2) seconds\n    set [door trigger v] to [0]\n    broadcast (BOSS Lava v) and wait\n    set [door trigger v] to [1]\n    broadcast (Tired?? \(BOSS\) v)\n    wait until <touching (bullets v)?>\n    broadcast (ACTIVE! BOSS!! v)\n    wait (1) seconds\n    broadcast (Chainsaw Awake v) and wait\n    wait (1) seconds\nend\nstop [this script v]\n\nwhen I receive [boss battl:e!!! v]\nstop [other scripts in sprite v]\nset [boss clones v] to [0]\nbroadcast (BOSS Animate v)\nbroadcast (Battle Order v)\nswitch costume to (1 v)\ngo to x: (0) y: (75)\nshow\nrepeat until <not <(Level #) = [13]>>\n    repeat (20)\n        change y by (1)\n    end\n    repeat (20)\n        change y by (-1)\n    end\nend\nstop [other scripts in sprite v]\nhide\n\n@BOSS Tech\n\nwhen flag clicked\nhide\n\nwhen I receive [boss battl:e!!! v]\nif <(Level #) > [0]> then\n    hide\n    stop [other scripts in sprite v]\nend\nif <(Level #) > [0]> then\n    hide\n    delete this clone\nend\nif <(Level #) = [13]> then\n    go to [back v] layer\n    switch costume to (spike v)\n    go to x: (0) y: (0)\n    show\n    repeat until <not <(Level #) = [13]>>\n        go to (the boss v)\n        turn right (5) degrees\n    end\n    hide\n    delete this clone\nend\n\nwhen I receive [tired?? \(boss\) v]\nhide\n\nwhen I receive [active! boss!! v]\nshow\n\nwhen I receive [shower spikes v]\nset [boss weapon type v] to [0]\nrepeat (10)\n    wait (1.5) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(BOSS Weapon Type) = [0]> then\n    switch costume to (spike projectile v)\n    go to [back v] layer\n    show\n    go to (the boss v)\n    point towards (player v)\n    repeat until <touching (_edge_ v)?>\n        move (5) steps\n        if <touching (bullets v)?> then\n            hide\n            delete this clone\n        end\n    end\n    hide\n    delete this clone\nend\nif <(BOSS Weapon Type) = [1]> then\n    switch costume to (fire v)\n    go to [back v] layer\n    show\n    go to x: (0) y: (-130)\n    point towards (player v)\n    repeat until <touching (_edge_ v)?>\n        move (4) steps\n        if <touching (bullets v)?> then\n            hide\n            delete this clone\n        end\n    end\n    hide\n    delete this clone\nend\nif <(BOSS Weapon Type) = [2]> then\n    switch costume to (warning v)\n    point in direction (90)\n    go to x: (pick random (150) to (-150)) y: (0)\n    go to [back v] layer\n    show\n    repeat (4)\n        wait (0.5) seconds\n        hide\n        wait (0.5) seconds\n        show\n    end\n    set y to (-120)\n    switch costume to (chainsaw v)\n    repeat (20)\n        change y by (2)\n    end\n    set y to (-87)\n    repeat (100)\n        turn right (5) degrees\n    end\n    hide\n    delete this clone\nend\n\nwhen I receive [boss lava v]\nset [boss weapon type v] to [1]\nrepeat (5)\n    wait (2) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I receive [chainsaw awake v]\nset [boss weapon type v] to [2]\nrepeat (3)\n    create clone of (_myself_ v)\nend\n\n@BOSS Health\n\nwhen flag clicked\nhide\n\nwhen I receive [boss battl:e!!! v]\nwait (0.1) seconds\nif <(Level #) = [13]> then\n    go to [back v] layer\n    point in direction (90)\n    switch costume to (h5 v)\n    go to x: (0) y: (0)\n    show\n    wait until <not <(Level #) = [13]>>\n    hide\nend\n\nwhen I receive [active! boss!! v]\nnext costume\nif <(costume [name v]) = [H0]> then\n    wait (0.3) seconds\n    broadcast (Next Level Load Screen v)\n    wait (0.3) seconds\n    broadcast (Reset Barrier v)\n    broadcast (Reposition v)\n    broadcast (Next Level v)\n    hide\nend\n\n