Arctic || A Scrolling Platformer

Instructions: #4 ON TRENDING!!!!!!!!!! - Aug 30 - 2021 #5 for all #4 for games. Thank you SoOoOooO much\n#2 on What the community is remixing - Sep 2 - 2021\nDOUBLE CLICK GREEN FLAG!!!!!!!!!!\nWith 1400+ blocks, 136 costumes, and 53 days since Part 2, PART 3 IS FIIIIINALLY OUT!!!!!! \nPart 1: https://scratch.mit.edu/projects/400364304/\nPart 2: https://scratch.mit.edu/projects/551098381/\n➠ Arrow keys or WASD to move\n➠ N to skip\n➠ Space for light\n➠ F to shoot\n➠ C for missile\n\nif it lags use turbowarp: https://turbowarp.org/551205351\n\nPlease report any bugs or improvements in the comments. Thanks!\nHave fun!

@Stage\n\nwhen flag clicked\nset [ghost v] effect to (0)\nforever\n    if <(Lev) < [20]> then\n        if <(Lev) = [19]> then\n            if <(Boss HP) < [1]> then\n                switch backdrop to (backdrop1 v)\n            end\n        else\n            switch backdrop to (blue sky v)\n        end\n    else\n        if <(Lev) < [40]> then\n            switch backdrop to (backdrop1 v)\n        else\n            if <(Lev) = [40]> then\n                if <(New world) = [false]> then\n                    switch backdrop to (backdrop1 v)\n                else\n                    switch backdrop to (blue sky2 v)\n                end\n            else\n                switch backdrop to (blue sky3 v)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nswitch backdrop to (blue sky v)\n\n@persona\n\ndefine Water effect\nif <<touching (water v)?> and <not <touching (ground v)?>>> then\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        change [y v] by (1)\n    else\n        if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n            change [y v] by (-1)\n        end\n    end\nend\nif <<touching (water v)?> and <not <touching (ground v)?>>> then\n    change [y v] by (0.95)\n    if <<touching (water v)?> and <not <touching (ground v)?>>> then\n        change [y v] by (0.25)\n    end\nelse\n    if <touching (water v)?> then\n        change [y v] by (-1)\n    end\nend\n\nwhen flag clicked\nbroadcast (Player to x -200 y 0 v) and wait\nset [lev v] to [1]\n\nwhen I receive [player to x -200 y 0 v]\nif <not <(Lev) = [40]>> then\n    go to x: (-200) y: (0)\n    set [x v] to [0]\n    set [y v] to [0]\nelse\n    go to x: (-200) y: (-111)\n    set [x v] to [0]\n    set [y v] to [0]\nend\n\ndefine Move (x)\nif <touching (ground v)?> then\n    set [x v] to [0]\nend\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    change [x v] by (x)\n    set [right or left arrow pressed -> <- v] to [right arrow]\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    change [x v] by ((x) * (-1))\n    set [right or left arrow pressed -> <- v] to [left arrow]\nend\nset [x v] to ((X) * (0.7))\nchange x by (X)\nif <touching (ground v)?> then\n    set [slope v] to [0]\n    repeat until <<(Slope) = [32]> or <not <touching (ground v)?>>>\n        change y by (1)\n        change [slope v] by (4)\n    end\n    if <touching (ground v)?> then\n        change y by (((Slope) * (-1)) * (0.25))\n        repeat ([abs v] of (X) )\n            if <touching (ground v)?> then\n                change x by (([abs v] of (X) ) / ((X) * (-1)))\n            end\n        end\n    end\n    if <([backdrop # v] of [_stage_ v]) = [2]> then\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <not <touching (water v)?>>> then\n            if <(X) > [0]> then\n                if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n                    set [y v] to [10]\n                    set [x v] to [-14]\n                end\n            else\n                if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n                    set [y v] to [10]\n                    set [x v] to [14]\n                end\n            end\n        end\n    end\nend\nchange y by (Y)\nif <touching (ground v)?> then\n    repeat ([abs v] of (Y) )\n        if <touching (ground v)?> then\n            change y by (([abs v] of (Y) ) / ((Y) * (-1)))\n        end\n    end\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> and <not <touching (water v)?>>> then\n        set [y v] to [15]\n    else\n        set [y v] to [0]\n    end\nelse\n    change [y v] by (-1)\nend\n\nwhen flag clicked\nset [lev v] to [1]\nstop all sounds\nset volume to (100) %\nforever\n    if <(Lev) < [19]> then\n        play sound [Xaf - Kaled v] until done\n    else\n        if <(Lev) < [42]> then\n            if <not <(New world) = [true]>> then\n                wait until <(volume) = [100]>\n                play sound [Strings of Valour \(Ambient Mix\) v] until done\n            else\n                wait until <(volume) = [100]>\n                play sound [The Beginning Of Time v] until done\n            end\n        else\n            play sound [Awesome SONG - OMFG - Hello v] until done\n        end\n    end\nend\n\nwhen flag clicked\nwait until <(Lev) = [19]>\nrepeat until <(volume) = [0]>\n    change volume by (-5)\n    wait (0.05) seconds\nend\nwait (3) seconds\nstop all sounds\nset volume to (100) %\nwait until <(Lev) = [40]>\nhide variable [lev v]\nwait until <(New world) = [true]>\nrepeat (20)\n    change volume by (-5)\n    wait (0.01) seconds\nend\nwait (0.05) seconds\nstop all sounds\nset volume to (100) %\n\nwhen flag clicked\nforever\n    if <[235] < (x position)> then\n        if <not <(Lev) = [20]>> then\n            if <not <(Lev) = [40]>> then\n                change [lev v] by (1)\n                broadcast (Player to x -200 y 0 v) and wait\n            else\n                if <(New world) = [true]> then\n                    change [lev v] by (1)\n                    broadcast (Player to x -200 y 0 v) and wait\n                end\n            end\n        else\n            if <(ball) = [hide]> then\n                change [lev v] by (1)\n                broadcast (Player to x -200 y 0 v) and wait\n            end\n        end\n    end\n    if <touching (spickle v)?> then\n        broadcast (Player to x -200 y 0 v) and wait\n    end\n    if <(y position) < [-179]> then\n        broadcast (Player to x -200 y 0 v) and wait\n    end\nend\n\nwhen flag clicked\nwait (1) seconds\nforever\n    if <key (n v) pressed?> then\n        if <not <<(Lev) = [20]> or <(Lev) = [40]>>> then\n            if <not <(Lev) = [19]>> then\n                broadcast (Player to x -200 y 0 v) and wait\n                change [lev v] by (1)\n                wait (0.5) seconds\n            else\n                hide variable [boss hp v]\n                set [boss hp v] to [0]\n                broadcast (Player to x -200 y 0 v) and wait\n                change [lev v] by (1)\n                wait (0.5) seconds\n            end\n        end\n    end\nend\n\nwhen flag clicked\nshow\nshow variable [lev v]\nbroadcast (Player to x -200 y 0 v) and wait\nforever\n    if <(World loaded) = [true]> then\n        Move [2.6]\n    else\n        if <(World loaded) = [lvl40]> then\n            glide (3) secs to x: (115) y: (-111)\n            repeat until <(World loaded) = [false]>\n                Move [2.6]\n            end\n        else\n            glide (5) secs to x: (-200) y: (-111)\n            wait until <(World loaded) = [true]>\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Lev) > [41]> then\n        go to [back v] layer\n        hide\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (boiing v)?> then\n        set [y v] to [20]\n    end\nend\n\nwhen flag clicked\nswitch costume to (persona red v)\nforever\n    if <(Lev) = [1]> then\n        switch costume to (persona red v)\n    end\n    if <(Lev) = [21]> then\n        switch costume to (persona black v)\n    end\n    if <(Lev) = [40]> then\n        if <(New world) = [true]> then\n            switch costume to (persona v)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    Water effect\nend\n\nwhen flag clicked\nwait until <(Lev) = [19]>\nwait until <(Boss HP) < [1]>\nhide variable [boss hp v]\n\n@ground\n\nwhen flag clicked\nshow\nset [brightness v] effect to (0)\nrepeat until <(Lev) > [39]>\n    switch costume to (Lev)\nend\nswitch costume to (Lev)\nhide variable [lev v]\nset [brightness v] effect to (-100)\n\ngo to [back v] layer\nhide\nhide variable [lev v]\nstop [other scripts in sprite v]\nstop [this script v]\n\nwhen I receive [new world v]\nset [brightness v] effect to (0)\nforever\n    switch costume to (Lev)\nend\n\n@spickle\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Lev)\nend\n\ngo to [back v] layer\nhide\n\n@boiing\n\nwhen flag clicked\nforever\n    if <(Lev) = [4]> then\n        show\n        switch costume to (1boing v)\n    else\n        if <(Lev) = [8]> then\n            show\n            switch costume to (2boing v)\n        else\n            if <(Lev) = [14]> then\n                show\n                switch costume to (3boing v)\n            else\n                if <(Lev) = [25]> then\n                    show\n                    switch costume to (4boing v)\n                else\n                    if <(Lev) = [35]> then\n                        show\n                        switch costume to (5boing v)\n                    else\n                        hide\n                        go to [back v] layer\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    set y to (0)\n    if <touching (persona v)?> then\n        change y by (-10)\n        repeat (10)\n            change y by (1)\n        end\n        set y to (0)\n    end\nend\n\n@Balls\n\nwhen flag clicked\nset [ball v] to [hide]\ngo to x: (0) y: (-80)\nset size to (100) %\ngo to [back v] layer\nhide\n\nwhen flag clicked\nforever\n    wait until <(Lev) = [20]>\n    set [ball v] to [show]\n    switch costume to (costume3 v)\n    stop [this script v]\nend\n\nwhen flag clicked\nforever\n    change [8* v] by (8)\n    change [5* v] by (5)\n    change [2* v] by (2)\n    set [sin v] to (([sin v] of (5*) ) * (20))\nend\n\nwhen flag clicked\nforever\n    if <(ball) = [show]> then\n        show\n    end\n    if <(ball) = [hide]> then\n        hide\n        go to [back v] layer\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (persona v)?> then\n        set [ball v] to [hide]\n        hide\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I start as a clone\nset [var for animation for end v] to [no]\nwait until <(Lev) > [39]>\nset [world loaded v] to [lvl40]\nwait until <(Persona touched ball holder) = [true]>\nglide (1.5) secs to x: (176) y: (-25)\nset [var for animation for end v] to [yes]\nrepeat (100)\n    wait (0) seconds\n    set y to ((-25) + (pick random (-3) to (3)))\n    set x to ((176) + (pick random (-3) to (3)))\nend\nwait until <(Var for animation for end) = [hide balls]>\ndelete this clone\n\nwhen flag clicked\nset [clone difference v] to [0]\nwait (0) seconds\nset [clone difference v] to [0]\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\nset [ball v] to [hide]\nset size to (100) %\nforever\n    set size to (((([sin v] of (5*) ) * (20)) * (0.7)) + (100)) %\n    set y to ((-70) + (([sin v] of (2*) ) * (10)))\n    if <(Lev) = [20]> then\n        switch costume to (costume5 v)\n        go to [front v] layer\n        go [backward v] (2) layers\n        if <touching (persona v)?> then\n            set [ball v] to [hide]\n            hide\n            create clone of (_myself_ v)\n        end\n    end\nend\n\nwhen I start as a clone\nif <(Lev) = [1]> then\n    if <(clone difference) = [0]> then\n        change [clone difference v] by (1)\n        show\n        set size to (50) %\n        go to [front v] layer\n        switch costume to (costume1 v)\n        go to x: (210) y: (150)\n        forever\n            if <touching (persona v)?> then\n                set [ghost v] effect to (70)\n            else\n                set [ghost v] effect to (35)\n                forever\n                    set size to ((([sin v] of (2*) ) * (8)) + (50)) %\n                end\n            end\n        end\n    end\n    if <(clone difference) = [1]> then\n        change [clone difference v] by (1)\n        show\n        set size to (50) %\n        go to [front v] layer\n        switch costume to (costume2 v)\n        go to x: (170) y: (150)\n        forever\n            if <touching (persona v)?> then\n                set [ghost v] effect to (70)\n            else\n                set [ghost v] effect to (35)\n                forever\n                    set size to ((([sin v] of (2*) ) * (8)) + (50)) %\n                end\n            end\n        end\n    end\n    if <(clone difference) = [2]> then\n        change [clone difference v] by (1)\n        show\n        set size to (50) %\n        go to [front v] layer\n        switch costume to (costume3 v)\n        go to x: (130) y: (150)\n        forever\n            if <touching (persona v)?> then\n                set [ghost v] effect to (70)\n            else\n                set [ghost v] effect to (35)\n                forever\n                    set size to ((([sin v] of (2*) ) * (8)) + (50)) %\n                end\n            end\n        end\n    end\n    if <(clone difference) = [3]> then\n        change [clone difference v] by (1)\n        show\n        set size to (50) %\n        go to [front v] layer\n        switch costume to (costume4 v)\n        go to x: (90) y: (150)\n        forever\n            if <touching (persona v)?> then\n                set [ghost v] effect to (70)\n            else\n                set [ghost v] effect to (35)\n                forever\n                    set size to ((([sin v] of (2*) ) * (8)) + (50)) %\n                end\n            end\n        end\n    end\nelse\n    if <(Lev) = [20]> then\n        show\n        set size to (50) %\n        go to [front v] layer\n        switch costume to (costume5 v)\n        glide (1) secs to x: (50) y: (150)\n        forever\n            if <touching (persona v)?> then\n                set [ghost v] effect to (70)\n            else\n                set [ghost v] effect to (35)\n                forever\n                    set size to ((([sin v] of (2*) ) * (8)) + (50)) %\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nset [var for animation for end v] to [no]\nset [balls move v] to [0]\nwait until <(Persona touched ball holder) = [true]>\nwait (1.51) seconds\nset [balls move v] to [2]\nrepeat (5)\n    wait (0.3) seconds\n    change [balls move v] by (-1)\nend\nset [boss hp v] to [0]\n\nrepeat (10)\n    turn right (pick random (180) to (-180)) degrees\n    move (Balls move) steps\nend\n\nset [lev v] to [20]\n\nset [lev v] to [40]\n\n@ligiht\n\nwhen flag clicked\nrepeat until <(New world) = [true]>\n    go to [back v] layer\n    if <(Lev) > [19]> then\n        show\n        go to (persona v)\n    else\n        if <key (space v) pressed?> then\n            show\n            go to (persona v)\n        else\n            hide\n        end\n    end\nend\nhide\nstop [this script v]\n\nwhen flag clicked\nset size to (100) %\ngo to [back v] layer\nforever\n    go to (persona v)\n    set size to (((sin) * (0.5)) + (100)) %\nend\n\n@ShOioty bawl\n\nwhen I start as a clone\nshow\ngo to (persona v)\nif <(right or left arrow pressed -> <-) = [right arrow]> then\n    repeat until <(x position) > [230]>\n        move (12) steps\n    end\n    delete this clone\nend\nif <(right or left arrow pressed -> <-) = [left arrow]> then\n    repeat until <(x position) < [-230]>\n        move (-12) steps\n    end\n    delete this clone\nend\n\nwhen flag clicked\nforever\n    hide\nend\n\nwhen flag clicked\nhide\nforever\n    if <key (f v) pressed?> then\n        create clone of (_myself_ v)\n        wait (0.34) seconds\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(Lev) < [21]> then\n        switch costume to (wed bawly v)\n    end\n    if <(Lev) > [20]> then\n        switch costume to (bwak bawly v)\n    end\nend\n\nwhen I start as a clone\nforever\n    if <touching (emeny v)?> then\n        broadcast (emeny ded v)\n        delete this clone\n    end\n    if <touching (emeny2 v)?> then\n        delete this clone\n    end\n    if <touching (boss5 v)?> then\n        wait (0) seconds\n        delete this clone\n    end\n    if <touching (bos spickle v)?> then\n        wait (0) seconds\n        delete this clone\n    end\nend\n\n@Missile2\n\nwhen flag clicked\nhide\nrepeat until <(Lev) = [43]>\n    if <key (c v) pressed?> then\n        create clone of (_myself_ v)\n        wait (7.5) seconds\n    end\nend\n\nwhen I start as a clone\nshow\nif <[21] > (Lev)> then\n    switch costume to (costume2 v)\nelse\n    switch costume to (costume3 v)\nend\npoint in direction (0)\ngo to (persona v)\nglide (0.3) secs to x: (x position) y: ((y position) + (25))\nrepeat (20)\n    turn right (4.5) degrees\n    move (4) steps\n    if <touching (boss5 v)?> then\n        if <[10] < (Boss HP)> then\n            change [boss hp v] by (-10)\n        else\n            set [boss hp v] to [0]\n        end\n        delete this clone\n    end\nend\nif <<(Lev) = [19]> and <not <(Boss HP) < [1]>>> then\n    point towards (boss5 v)\n    repeat until <<touching (boss5 v)?> or <touching (_edge_ v)?>>\n        move (6) steps\n    end\n    if <[10] < (Boss HP)> then\n        change [boss hp v] by (-10)\n    else\n        set [boss hp v] to [0]\n    end\n    delete this clone\nelse\n    repeat until <touching (_edge_ v)?>\n        move (3.5) steps\n    end\n    delete this clone\nend\ndelete this clone\n\nwhen I start as a clone\nforever\n    show\n    if <<touching (ground v)?> or <touching (spickle v)?>> then\n        delete this clone\n    end\nend\n\nif <<(Lev) = [39]> and <not <(Boss HP) < [1]>>> then\n\n@boss5\n\nwhen I start as a clone\nshow\nswitch costume to (spikelay v)\ngo to [back v] layer\ngo to x: (boss x position) y: ((boss y position) - (50))\nrepeat until <<(x position) < [-225]> or <[19] < (Lev)>>\n    if <[19] < (Lev)> then\n        delete this clone\n    else\n        point towards (persona v)\n        if <[125] > (x position)> then\n            move (4) steps\n        end\n        if <(x position) > [125]> then\n            move (50) steps\n        end\n    end\nend\ndelete this clone\n\nwhen flag clicked\nhide variable [boss hp v]\nwait (0) seconds\nhide variable [boss hp v]\nhide\nwait until <(Lev) = [19]>\nshow variable [boss hp v]\ngo to x: (142) y: (-53)\nshow\nswitch costume to (boass v)\npoint in direction (90)\nrepeat until <[19] < (Lev)>\n    if <(Lev) = [19]> then\n        if <[80] < (Boss HP)> then\n            create clone of (_myself_ v)\n            wait (1) seconds\n        end\n        if <(Boss HP) < [81]> then\n            create clone of (_myself_ v)\n            wait (0.7) seconds\n        end\n    else\n        stop [this script v]\n    end\nend\n\nwhen I start as a clone\nforever\n    if <touching (persona v)?> then\n        set [boss hp v] to [100]\n        broadcast (Player to x -200 y 0 v)\n        delete this clone\n    end\nend\n\nwhen flag clicked\nforever\n    set [boss x position v] to (x position)\n    set [boss y position v] to (y position)\nend\n\nwhen I start as a clone\nforever\n    if <[19] < (Lev)> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nset [boss hp v] to [100]\nforever\n    if <touching (persona v)?> then\n        set [boss hp v] to [100]\n        broadcast (Player to x -200 y 0 v) and wait\n        wait (0) seconds\n        delete this clone\n    end\n    if <(Lev) = [19]> then\n        switch costume to (boass v)\n        show\n    else\n        hide\n    end\nend\n\nwhen I start as a clone\nforever\n    if <touching (shoioty bawl v)?> then\n        wait (0) seconds\n        delete this clone\n    end\nend\n\nwhen I receive [hit boss v]\nchange [boss hp v] by (-1)\n\nwhen flag clicked\nforever\n    if <touching (shoioty bawl v)?> then\n        change [boss hp v] by (-1)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Boss HP) = [0]> then\n        hide variable [boss hp v]\n        hide\n        stop [other scripts in sprite v]\n        stop [this script v]\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(Boss HP) = [0]> then\n        hide variable [boss hp v]\n        delete this clone\n    end\nend\n\nwhen I receive [player to x -200 y 0 v]\ngo to x: (142) y: (-53)\nif <(Lev) = [19]> then\n    set [boss hp v] to [100]\nend\n\nwhen flag clicked\nforever\n    if <(Boss HP) > [75]> then\n        if <not <(Boss HP) > [99]>> then\n            wait (5) seconds\n            change [boss hp v] by (1)\n        end\n    else\n        if <(Boss HP) > [50]> then\n            wait (3) seconds\n            change [boss hp v] by (1)\n        else\n            wait (2) seconds\n            change [boss hp v] by (1)\n        end\n    end\nend\n\n@bos spickle\n\nwhen flag clicked\nforever\n    if <(Lev) < [19]> then\n        delete this clone\n    end\n    if <(Lev) > [19]> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nset [sped v] to [10]\nhide\nwait (0) seconds\nhide\nwait until <(Lev) = [19]>\ngo to x: (142) y: (15)\nwait until <(Boss HP) < [81]>\nif <not <(Boss HP) < [1]>> then\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nshow\ngo to x: (142) y: (15)\nrepeat (45)\n    turn right (15) degrees\nend\npoint towards (persona v)\nset [dir v] to (direction)\nrepeat until <<<<touching (persona v)?> or <touching (shoioty bawl v)?>> or <<touching (ground v)?> or <touching (_edge_ v)?>>> or <touching (missile2 v)?>>\n    change x by ((sped) * ([sin v] of (dir) ))\n    change y by ((sped) * ([cos v] of (dir) ))\n    turn right (15) degrees\nend\nif <touching (persona v)?> then\n    wait (0) seconds\n    broadcast (Player to x -200 y 0 v)\n    broadcast (bos spiclke ded v)\n    delete this clone\nelse\n    wait (0) seconds\n    broadcast (bos spiclke ded v)\n    delete this clone\nend\n\nwhen I receive [bos spiclke ded v]\nif <(Boss HP) < [81]> then\n    if <(Boss HP) < [1]> then\n        delete this clone\n    else\n        wait (0.5) seconds\n        create clone of (_myself_ v)\n    end\nelse\n    wait until <(Boss HP) < [81]>\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nwait until <(Lev) = [19]>\nforever\n    if <(Boss HP) < [1]> then\n        delete this clone\n    end\nend\n\n@bos spickle 2\n\nwhen flag clicked\nset [boss hp v] to [100]\nswitch costume to (big v)\nhide\ngo to (boss5 v)\ngo to [back v] layer\nwait until <(Lev) = [19]>\nwait until <(Boss HP) < [51]>\nforever\n    if <<(Boss HP) < [1]> or <[51] < (Boss HP)>> then\n        delete this clone\n    else\n        if <(Boss HP) < [1]> then\n            delete this clone\n        else\n            create clone of (_myself_ v)\n            wait (5) seconds\n        end\n    end\nend\n\nwhen I start as a clone\nswitch costume to (big v)\nshow\nswitch costume to (costume1 v)\ngo to [back v] layer\ngo to (boss5 v)\npoint in direction (0)\nif <(Boss HP) < [51]> then\n    repeat until <touching (_edge_ v)?>\n        repeat (10)\n            move (3) steps\n        end\n    end\n    switch costume to (big v)\n    repeat (10)\n        switch costume to (big v)\n        move (3) steps\n        switch costume to (costume1 v)\n    end\n    switch costume to (costume1 v)\n    go to [front v] layer\n    set x to ([x position v] of [persona v])\n    turn right (180) degrees\n    repeat until <((y position) - ([y position v] of [persona v])) < [175]>\n        move (3) steps\n        point towards (persona v)\n    end\n    repeat (2)\n        set [brightness v] effect to (50)\n        wait (0.1) seconds\n        set [brightness v] effect to (0)\n        wait (0.1) seconds\n    end\n    repeat until <<<touching (persona v)?> or <touching (ground v)?>> or <touching (shoioty bawl v)?>>\n        move (10) steps\n    end\n    wait (0) seconds\n    delete this clone\nelse\n    delete this clone\nend\n\nwhen I start as a clone\nforever\n    if <touching (persona v)?> then\n        set [boss hp v] to [100]\n        broadcast (Player to x -200 y 0 v)\n        delete this clone\n    end\nend\n\nwhen flag clicked\nwait until <(Lev) = [19]>\nforever\n    if <(Boss HP) < [1]> then\n        delete this clone\n    end\nend\n\n@boss darkness\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\nset [brightness v] effect to (0)\nwait until <(Lev) = [19]>\nwait until <(Boss HP) < [26]>\nshow\ngo to [back v] layer\nrepeat (100)\n    if <(Boss HP) < [26]> then\n        show\n        change [ghost v] effect by (-0.85)\n    else\n        hide\n        set [ghost v] effect to (100)\n        set [brightness v] effect to (0)\n    end\nend\nrepeat until <(Boss HP) < [1]>\n    if <(Boss HP) < [1]> then\n        hide\n        set [ghost v] effect to (100)\n        set [brightness v] effect to (0)\n        stop [this script v]\n    else\n        if <(Boss HP) < [26]> then\n            if <(Boss HP) < [1]> then\n                hide\n                set [ghost v] effect to (100)\n                set [brightness v] effect to (0)\n                stop [this script v]\n            else\n                show\n                set [ghost v] effect to (15)\n                set [brightness v] effect to (-100)\n            end\n        else\n            if <(Boss HP) < [1]> then\n                hide\n                set [ghost v] effect to (100)\n                set [brightness v] effect to (0)\n                stop [this script v]\n            else\n                hide\n                set [ghost v] effect to (100)\n                set [brightness v] effect to (0)\n                wait until <(Boss HP) < [26]>\n                repeat (100)\n                    if <(Boss HP) < [26]> then\n                        show\n                        change [ghost v] effect by (-0.85)\n                    else\n                        hide\n                        set [ghost v] effect to (100)\n                        set [brightness v] effect to (0)\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\nset [brightness v] effect to (0)\nforever\n    go to [back v] layer\n    if <(Boss HP) < [1]> then\n        hide\n        set [ghost v] effect to (100)\n        set [brightness v] effect to (0)\n        stop [this script v]\n    else\n        wait until <(Boss HP) < [1]>\n        hide\n        stop [other scripts in sprite v]\n        wait (0) seconds\n        hide\n        stop [this script v]\n    end\nend\n\nwhen I receive [player to x -200 y 0 v]\nhide\nset [ghost v] effect to (100)\nset [brightness v] effect to (0)\n\n@Water\n\nwhen flag clicked\nhide\ngo to [back v] layer\ngo [forward v] (5) layers\n\nwhen flag clicked\nforever\n    if <(Lev) = [5]> then\n        show\n        switch costume to (costume1 v)\n    else\n        if <(Lev) = [7]> then\n            show\n            switch costume to (costume2 v)\n        else\n            if <(Lev) = [10]> then\n                show\n                switch costume to (costume3 v)\n            else\n                if <(Lev) = [15]> then\n                    show\n                    switch costume to (costume4 v)\n                else\n                    if <(Lev) = [24]> then\n                        show\n                        switch costume to (costume5 v)\n                    else\n                        hide\n                        go to [back v] layer\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    set y to ((([sin v] of (8*) ) * (10)) * (0.5))\nend\n\ngo to [back v] layer\ngo [forward v] (5) layers\n\n@emd skreen\n\nwhen flag clicked\nhide\nrepeat until <(Lev) > [41]>\n    hide\nend\nshow\n\nhide\n\nshow\n\n@thoenail\n\nwhen flag clicked\nhide\n\nhide\ngo to [back v] layer\n\nshow variable [lev v]\n\nshow\ngo to [front v] layer\nhide variable [lev v]\n\n@LoFavLow\n\nwhen flag clicked\npoint in direction (90)\nshow variable [lev v]\nhide\nrepeat until <(Lev) > [41]>\n    hide\nend\nshow\npoint in direction (90)\nhide variable [lev v]\nforever\n    point in direction ((([sin v] of ((8*) * (1.5)) ) * (10)) + (90))\nend\n\n@natural light\n\nwhen flag clicked\ngo to [back v] layer\nhide\nforever\n    if <(Lev) = [32]> then\n        show\n        switch costume to (costume1 v)\n        set [ghost v] effect to (60)\n    else\n        if <(Lev) = [33]> then\n            show\n            switch costume to (costume2 v)\n            set [ghost v] effect to (0)\n        else\n            if <(Lev) = [34]> then\n                show\n                switch costume to (costume3 v)\n                set [ghost v] effect to (0)\n            else\n                if <(Lev) = [35]> then\n                    show\n                    switch costume to (costume4 v)\n                    set [ghost v] effect to (0)\n                else\n                    if <(Lev) = [36]> then\n                        show\n                        switch costume to (costume5 v)\n                        set [ghost v] effect to (0)\n                    else\n                        if <(Lev) = [26]> then\n                            show\n                            switch costume to (costume6 v)\n                            set [ghost v] effect to (50)\n                        else\n                            if <(Lev) = [27]> then\n                                show\n                                switch costume to (costume7 v)\n                                set [ghost v] effect to (0)\n                            else\n                                if <(Lev) = [28]> then\n                                    show\n                                    switch costume to (costume8 v)\n                                    set [ghost v] effect to (0)\n                                else\n                                    if <(Lev) = [40]> then\n                                        if <(New world) = [false]> then\n                                            show\n                                            switch costume to (costume9 v)\n                                            set [ghost v] effect to (0)\n                                        else\n                                            hide\n                                            stop [this script v]\n                                        end\n                                    else\n                                        hide\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\ngo to [back v] layer\n\n@Ball holder\n\nwhen flag clicked\ngo to [back v] layer\nset [persona touched ball holder v] to [false]\nhide\nwait until <(Lev) = [40]>\nshow\nwait until <touching (persona v)?>\nbroadcast (Persona touched ball holder v)\nset [persona touched ball holder v] to [true]\nset [world loaded v] to [false]\n\nwhen I receive [new world v]\nhide\nstop [other scripts in sprite v]\nstop [this script v]\n\n@White thingy\n\nwhen flag clicked\nset [world loaded v] to [true]\nset [new world v] to [false]\nhide\nset [ghost v] effect to (100)\nset size to (115) %\nswitch costume to (costume1 v)\nwait until <(Lev) = [40]>\nwait until <(Var for animation for end) = [yes]>\nshow\nrepeat (50)\n    wait (0) seconds\n    change [ghost v] effect by (-2)\nend\nset [var for animation for end v] to [hide balls]\ncreate clone of (_myself_ v)\nrepeat (3)\n    repeat (6)\n        wait (0) seconds\n        change size by (5)\n    end\n    create clone of (_myself_ v)\nend\nrepeat (3)\n    wait (0.4) seconds\n    create clone of (_myself_ v)\nend\nwait (1) seconds\nrepeat until <(size) < [6]>\n    set size to ((size) / (1.2)) %\nend\nhide\nwait (2) seconds\nswitch costume to (costume3 v)\nshow\nrepeat until <[1500] < (size)>\n    switch costume to (big v)\n    switch costume to (costume3 v)\n    set size to ((size) * (2)) %\nend\nnext costume\nswitch costume to (costume9 v)\nbroadcast (New world v)\nset [new world v] to [true]\nbroadcast (Player to x -200 y 0 v)\nwait (3) seconds\nset [ghost v] effect to (0)\nrepeat (100)\n    change [ghost v] effect by (1)\n    wait (0.05) seconds\nend\nset [world loaded v] to [true]\nhide\n\nset [lev v] to [19]\n\nset [lev v] to [40]\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nset [var for animation for end v] to [yes]\n\nwhen I start as a clone\nset [ghost v] effect to (0)\nif <[150] < (size)> then\n    set size to (150) %\nend\nswitch costume to (costume2 v)\nhide\nwait (0.2) seconds\nshow\nset [ghost v] effect to (0)\nswitch costume to (big v)\ngo to x: (0) y: (0)\nswitch costume to (costume2 v)\ngo to x: (175) y: (-24)\nturn right (pick random (180) to (-180)) degrees\nrepeat (20)\n    change [ghost v] effect by (5)\n    turn right (1) degrees\nend\ndelete this clone\n\nset size to (1) %\n\nswitch costume to (costume4 v)\n\n@counter - levels\n\nwhen flag clicked\nset [-idclone v] to [0]\nhide\ngen clones\nforever\n    broadcast (Tick v)\nend\n\nwhen I start as a clone\nset size to (50) %\ngo to [front v] layer\nshow\nclear graphic effects\nset [brightness v] effect to (-100)\nset y to (-157)\npoint in direction (90)\n\ndefine gen clones\nrepeat (10)\n    change [-idclone v] by (1)\n    create clone of (_myself_ v)\nend\nset [-idclone v] to [man]\n\nwhen I receive [tick v]\nif <not <(-idClone) = [man]>> then\n    if <((length of (Lev)) + (1)) > (-idClone)> then\n        show\n        switch costume to (letter (-idClone) of (Lev))\n        set x to ((-240) + ((-idClone) * (20)))\n        set y to ((160) + ([sin v] of ((timer) * (1000)) ))\n        point in direction ((90) + (([sin v] of ((timer) * (200)) ) * (9)))\n        if <[19] < (Lev)> then\n            if <[39] < (Lev)> then\n                if <(Lev) = [42]> then\n                    hide\n                else\n                    if <(New world) = [true]> then\n                        set [brightness v] effect to (-100)\n                    else\n                        set [brightness v] effect to (100)\n                    end\n                end\n            else\n                set [brightness v] effect to (100)\n            end\n        else\n            set [brightness v] effect to (-100)\n        end\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    hide variable [lev v]\nend\n\n