The Void (mobile friendly) #all #games #platformer

Instructions: Welcome to "The Void" made by me @-Games_Central-\n\nWARNING: Mobile people cant use Down arrow and weapon. Sorry :(\n \nHOW TO PLAY: \nWASD, Arrow Keys, or mobile controls to move.\nDown Arrow or S to duck. \nSpace or click to advance text.\nZ to use weapon.\nJump onto the gray enemies to kill them. \nUse the saws to your advantage kill the ghosts.\nUse the correct key to Win!\n\nGood luck... the world is on your hands. 

@Stage\n\n@Lag Reduce\n\n@Player\n\nwhen flag clicked\nswitch costume to (idle v)\nhide\nset [level v] to [0]\n\nwhen I receive [next level v]\nbroadcast (Restart v)\n\nwhen I receive [restart v]\nset [x vel v] to [0]\nset [y vel v] to [0]\nset [dead? v] to [0]\nshow\ngo to x: (-221) y: (0)\n\nwhen [r v] key pressed\nif <<<(dead?) = [0]> and <(MovementALLOWED?) = [1]>> and <(MEET BOSS YET) = [NO]>> then\n    broadcast (Restart v)\nend\n\ndefine Spin off screen\nset [dead? v] to [1]\nbroadcast (Restart v)\n\ndefine Physics\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n    point in direction (-90)\n    change [x vel v] by (-1)\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    point in direction (90)\n    change [x vel v] by (1)\nend\nset [x vel v] to ((x vel) * (.9))\nchange x by (x vel)\nif <<touching (level move 2 v)?> or <touching (level v)?>> then\n    change y by (1)\nend\nif <<touching (level move 2 v)?> or <touching (level v)?>> then\n    change y by (1)\nend\nif <<touching (level move 2 v)?> or <touching (level v)?>> then\n    change y by (1)\nend\nif <<touching (level move 2 v)?> or <touching (level v)?>> then\n    change y by (1)\nend\nif <<touching (level move 2 v)?> or <touching (level v)?>> then\n    change y by (-4)\n    change x by ((x vel) * (-1))\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n        if <(x vel) > [0]> then\n            set [x vel v] to [-10]\n        else\n            set [x vel v] to [10]\n        end\n        set [y vel v] to [15]\n    else\n        set [x vel v] to [0]\n    end\nend\nchange [y vel v] by (-1)\nchange y by (y vel)\nif <<touching (level move 2 v)?> or <touching (level v)?>> then\n    change y by ((y vel) - ((y vel) * (2)))\n    set [y vel v] to [0]\nend\nchange y by (-1)\nif <<<touching (level move 2 v)?> or <touching (level v)?>> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n    set [y vel v] to [15]\nend\nchange y by (1)\nif <touching (portal v)?> then\n    change [level v] by (1)\n    broadcast (Next Level v) and wait\nend\nif <touching (spikes v)?> then\n    Spin off screen\nend\nif <touching (saws v)?> then\n    Spin off screen\nend\nif <touching (ghost enemy v)?> then\n    Spin off screen\nend\nif <<(y position) < [-170]> and <touching (_edge_ v)?>> then\n    Spin off screen\nend\nif <touching (enemy v)?> then\n    set [y vel v] to [15]\nend\nif <touching (bounce v)?> then\n    set [y vel v] to [20]\nend\n\nwhen I receive [start v]\nforever\n    if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n        switch costume to (idle2 v)\n    else\n        if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(x position) > (mouse x)>>> then\n            switch costume to (left v)\n        else\n            if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n                switch costume to (right v)\n            else\n                if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>> then\n                    switch costume to (up v)\n                else\n                    switch costume to (idle v)\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start v]\nset [level v] to [1]\nset [movementallowed? v] to [1]\nshow\nbroadcast (Restart v)\nforever\n    if <(MovementALLOWED?) = [1]> then\n        Physics\n    else\n        wait until <(MovementALLOWED?) = [1]>\n    end\nend\n\nwhen I receive [boss fight v]\nforever\n    if <touching (boss v)?> then\n        broadcast (Reset Boss v)\n    end\nend\n\nwhen I receive [reset boss v]\nset [x vel v] to [0]\nset [y vel v] to [0]\nset [dead? v] to [0]\nshow\ngo to x: (-221) y: (0)\n\nwhen flag clicked\nforever\n    repeat until <(Level) = [21]>\n        play sound [Palpitations  v] until done\n    end\nend\n\n@Clone\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\ngo to (player v)\ngo to [back v] layer\nif <([costume # v] of [player v]) = [5]> then\n    switch costume to (costume2 v)\nelse\n    switch costume to (costume1 v)\nend\nshow\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-10)\nend\ndelete this clone\n\nwhen I receive [start v]\nhide\nforever\n    create clone of (_myself_ v)\nend\n\n@Level\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nswitch costume to (costume6 v)\nif <(Level) = [5]> then\n    go to x: (-99) y: (-100)\n    show\n    forever\n        glide (3) secs to x: (120) y: (-100)\n        glide (3) secs to x: (-99) y: (-100)\n    end\nend\nif <(Level) = [8]> then\n    go to x: (-99) y: (-130)\n    show\n    forever\n        glide (3) secs to x: (120) y: (-130)\n        glide (3) secs to x: (-99) y: (-130)\n    end\nend\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\nif <(Level) = [5]> then\n    create clone of (_myself_ v)\nend\nif <(Level) = [8]> then\n    repeat (2)\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I receive [start v]\nshow\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\nend\n\ndefine Clone at x: (x) y: (y)\n\nwhen I start as a clone\n\nwhen I start as a clone\n\nforever\n\n@Level move 2\n\nwhen flag clicked\nhide\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\nif <(Level) = [8]> then\n    create clone of (_myself_ v)\nend\nif <(Level) = [10]> then\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\ngo to [back v] layer\nif <(Level) = [8]> then\n    go to x: (120) y: (10)\n    show\n    forever\n        glide (3) secs to x: (-99) y: (10)\n        glide (3) secs to x: (120) y: (10)\n    end\nend\nif <(Level) = [10]> then\n    go to x: (125) y: (70)\n    show\n    forever\n        glide (3) secs to x: (125) y: (70)\n        glide (3) secs to x: (-105) y: (70)\n    end\nend\n\n@Spikes\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nforever\n    switch costume to (Level)\nend\n\n@Saws\n\nwhen flag clicked\nhide\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\nif <(Level) = [8]> then\n    Clone at x: [236] y: [-77] size: [100]\n    Clone at x: [237] y: [7] size: [100]\n    Clone at x: [237] y: [89] size: [100]\nend\nif <(Level) = [10]> then\n    Clone at x: [144] y: [-59] size: [100]\nend\nif <(Level) = [11]> then\n    Clone at x: [-180] y: [114] size: [50]\n    Clone at x: [10] y: [-140] size: [50]\nend\nif <(Level) = [12]> then\n    Clone at x: [18] y: [-20] size: [50]\nend\nif <(Level) = [14]> then\n    Clone at x: [-107] y: [-107] size: [70]\n    Clone at x: [61] y: [68] size: [200]\nend\nif <(Level) = [15]> then\n    Clone at x: [145] y: [-110] size: [70]\nend\n\ndefine Clone at x: (x) y: (y) size: (size)\ngo to x: (x) y: (y)\nset size to (size) %\nif <(Level) > [11]> then\n    switch costume to (costume2 v)\nelse\n    switch costume to (costume1 v)\nend\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\ngo to [back v] layer\nforever\n    turn right (4) degrees\nend\n\n@Portal\n\nwhen I receive [restart v]\ndelete this clone\n\ndefine Clone (x) (y) (costume)\ngo to x: (x) y: (y)\nswitch costume to (costume)\nset [ghost v] effect to (100)\nshow\npoint in direction (90)\nforever\n    set rotation style [all around v]\n    change [ghost v] effect by (-10)\n    turn right (5) degrees\nend\n\nwhen I receive [restart v]\nhide\nif  then\n    delete this clone\nend\nif <(Level) = [1]> then\n    Clone [204] [-106] [1]\nend\nif <(Level) = [2]> then\n    Clone [204] [-106] [1]\nend\nif <(Level) = [3]> then\n    Clone [129] [134] [1]\nend\nif <(Level) = [4]> then\n    Clone [-208] [103] [1]\nend\nif <(Level) = [5]> then\n    Clone [204] [-106] [1]\nend\nif <(Level) = [6]> then\n    Clone [150] [130] [1]\nend\nif <(Level) = [7]> then\n    Clone [-207] [62] [1]\nend\nif <(Level) = [8]> then\n    Clone [-212] [126] [1]\nend\nif <(Level) = [9]> then\n    Clone [-208] [-104] [1]\nend\nif <(Level) = [10]> then\n    Clone [199] [148] [1]\nend\nif <(Level) = [11]> then\n    Clone [198] [117] [1]\nend\nif <(Level) = [12]> then\n    Clone [203] [-49] [1]\nend\nif <(Level) = [13]> then\n    Clone [195] [-74] [1]\nend\nif <(Level) = [14]> then\n    Clone [204] [-82] [1]\nend\nif <(Level) = [15]> then\n    Clone [202] [-7] [1]\nend\nif <(Level) = [16]> then\n    Clone [202] [-7] [1]\nend\nif <(Level) = [17]> then\n    Clone [185] [-70] [1]\nend\nif <(Level) = [18]> then\n    Clone [185] [-70] [1]\nend\nif <(Level) = [20]> then\n    Clone [183] [-94] [2]\nend\n\nwhen flag clicked\n\nwait (1) seconds\n\ngo to [back v] layer\ngo [forward v] (1) layers\n\nwhen flag clicked\nhide\n\nwhen I receive [player win v]\nif <(Level) = [21]> then\n    Clone [183] [-94] [1]\nend\n\n@Enemy\n\nwhen flag clicked\nset [x vel v] to [0]\nset [y vel v] to [0]\nhide\n\ndefine Clone at ( x pos) (y pos)\ngo to x: ( x pos) y: (y pos)\nif <(Level) > [10]> then\n    switch costume to (costume1 v)\nelse\n    switch costume to (idle v)\nend\ncreate clone of (_myself_ v)\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\nif <(Level) = [3]> then\n    Clone at [63] [132]\nend\nif <(Level) = [4]> then\n    Clone at [-123] [-107]\n    Clone at [-161] [91]\nend\nif <(Level) = [7]> then\n    Clone at [0] [0]\n    Clone at [10] [0]\nend\nif <(Level) = [10]> then\n    Clone at [31] [-112]\nend\nif <(Level) = [11]> then\n    Clone at [212] [-26]\n    Clone at [212] [106]\nend\nif <(Level) = [12]> then\n    Clone at [160] [80]\nend\nif <(Level) = [15]> then\n    Clone at [138] [20]\n    Clone at [-89] [-71]\nend\nif <(Level) = [16]> then\n    Clone at [147] [123]\n    Clone at [151] [123]\n    Clone at [211] [-10]\n    Clone at [-28] [-94]\nend\nif <(Level) = [18]> then\n    Clone at [218] [111]\n    Clone at [139] [102]\n    Clone at [55] [44]\n    Clone at [87] [44]\nend\n\nwhen I start as a clone\nshow\nforever\n    if <([x position v] of [player v]) < (x position)> then\n        change [x vel v] by (-0.5)\n    end\n    if <(x position) < ([x position v] of [player v])> then\n        change [x vel v] by (0.5)\n    end\n    set [x vel v] to ((x vel) * (.9))\n    change x by (x vel)\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by (-4)\n        change x by ((x vel) * (-1))\n        if <(([y position v] of [player v]) - (50)) > (y position)> then\n            if <(x vel) > [0]> then\n                set [x vel v] to [-10]\n            else\n                set [x vel v] to [10]\n            end\n            set [y vel v] to [15]\n        else\n            set [x vel v] to [0]\n        end\n    end\n    change [y vel v] by (-1)\n    change y by (y vel)\n    if <touching (level v)?> then\n        change y by ((y vel) - ((y vel) * (2)))\n        set [y vel v] to [0]\n    end\n    change y by (-1)\n    change y by (1)\n    if <touching (player v)?> then\n        change y by (-1)\n        if <<touching (level v)?> and <(([y position v] of [player v]) - (5)) > (y position)>> then\n            repeat (5)\n                change [ghost v] effect by (20)\n                wait (0.1) seconds\n            end\n            delete this clone\n        else\n            broadcast (Restart v)\n            set [dead? v] to [1]\n        end\n        change y by (1)\n    end\n    if <touching (weapon v)?> then\n        repeat (5)\n            change [ghost v] effect by (20)\n            wait (0.1) seconds\n        end\n        delete this clone\n    end\nend\n\n@Ghost enemy\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    if <([x position v] of [player v]) < (x position)> then\n        switch costume to (right v)\n    else\n        if <(x position) < ([x position v] of [player v])> then\n            switch costume to (right v)\n        else\n            if <(([y position v] of [player v]) - (50)) > (y position)> then\n                switch costume to (up v)\n            end\n        end\n    end\nend\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\nif <(Level) = [9]> then\n    Clone at x: [-98] y: [-25]\nend\nif <(Level) = [10]> then\n    Clone at x: [51] y: [-30]\nend\nif <(Level) = [12]> then\n    Clone at x: [-65] y: [-108]\nend\nif <(Level) = [16]> then\n    Clone at x: [5] y: [-86]\nend\nif <(Level) = [18]> then\n    Clone at x: [120] y: [-86]\n    Clone at x: [199] y: [-77]\nend\n\ndefine Clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nforever\n    point towards (player v)\n    move (2) steps\n    if <touching (spikes v)?> then\n        delete this clone\n    end\n    if <touching (saws v)?> then\n        delete this clone\n    end\n    if <touching (weapon v)?> then\n        delete this clone\n    end\nend\n\n@Bounce\n\ndefine Clone (x) (y)\ngo to x: (x) y: (y)\nswitch costume to (idle v)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nforever\n    show\n    if <touching (player v)?> then\n        repeat (4)\n            next costume\n        end\n        repeat (4)\n            switch costume to ((costume [number v]) - (1))\n        end\n        wait (0.2) seconds\n    end\nend\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\nif <(Level) = [6]> then\n    Clone [-103] [-122]\nend\nif <(Level) = [11]> then\n    Clone [20] [28]\nend\nif <(Level) = [12]> then\n    Clone [-59] [-123]\nend\nif <(Level) = [13]> then\n    Clone [-103] [-97]\n    Clone [1] [-100]\n    Clone [101] [-102]\nend\n\n@Start scene\n\ndefine say (text) at x: (x) y: (y)\ngo to [front v] layer\ngo to x: (x) y: ((y) - (50))\nset [ghost v] effect to (100)\nshow\nset [# v] to [0]\nbroadcast (Clear v) and wait\nrepeat until <(round (y position)) = (y)>\n    change y by (((y) - (y position)) / (5))\n    change [ghost v] effect by (-8)\nend\nrepeat (length of (text))\n    change [# v] by (1)\n    if <(letter (#) of (text)) > []> then\n        set [asset v] to (letter (#) of (text))\n    else\n        set [asset v] to [space]\n    end\n    create clone of (_myself_ v)\nend\nwait until <<key (space v) pressed?> or <mouse down?>>\nhide\nbroadcast (Clear v) and wait\nset [# v] to [0]\n\nwhen I start as a clone\nswitch costume to (asset)\nset size to (100) %\nif <(costume [number v]) = [1]> then\n    switch costume to (space v)\nend\nchange x by (-42)\nchange y by (22)\nset [org. x v] to (x position)\nrepeat (#)\n    change x by (7)\n    if <([abs v] of ((x position) - (org. x)) ) = [100]> then\n        set x to ((org. x) + (7))\n        change y by (-9)\n    end\nend\nstart sound [text blip2 v]\nshow\ngo to [front v] layer\n\nwhen I receive [clear v]\ndelete this clone\n\nwhen flag clicked\nhide\nsay [hello press space] at x: [-25] y: [0]\nsay [you are embarking on  an adventure to save the world] at x: [-140] y: [0]\nsay [to the void...] at x: [0] y: [0]\nsay [where the void is planning to pull everyone into him...] at x: [-140] y: [0]\nsay ['why???' you may ask] at x: [-25] y: [0]\nsay [to destroy the world. \(press space to play\)] at x: [-100] y: [0]\nbroadcast (Start v)\n\n@Level text\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nforever\n    switch costume to (Level)\nend\n\n@Particles\n\nwhen flag clicked\nhide\nforever\n    if <<(Level) > [2]> and <(Level) < [17]>> then\n        repeat (10)\n            repeat (2)\n                create clone of (_myself_ v)\n            end\n        end\n        go to [front v] layer\n    end\nend\n\nwhen I start as a clone\nif <<(Level) > [2]> and <(Level) < [8]>> then\n    switch costume to (costume1 v)\n    show\n    go to x: (pick random (-240) to (240)) y: (184)\n    glide (pick random (0.005) to (2)) secs to x: (x position) y: (-184)\n    delete this clone\nelse\n    if <<(Level) > [7]> and <(Level) < [12]>> then\n        switch costume to (costume2 v)\n        show\n        go to x: (-240) y: (pick random (-184) to (184))\n        glide (pick random (0.005) to (2)) secs to x: (240) y: (y position)\n        delete this clone\n    else\n        if <<(Level) > [11]> and <(Level) < [17]>> then\n            switch costume to (costume3 v)\n            set size to (pick random (100) to (400)) %\n            show\n            go to x: (-240) y: (pick random (-184) to (184))\n            glide (pick random (0.005) to (2)) secs to x: (240) y: (pick random (-184) to (184))\n            delete this clone\n        else\n            delete this clone\n        end\n    end\nend\n\n@Weapon\n\nwhen flag clicked\nhide\nhide variable [bullets used v]\nwait until <(Level) = [1]>\nforever\n    if <(Level) = [17]> then\n        show\n        go to x: (64) y: (-60)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    point in direction (90)\n    switch costume to (costume1 v)\n    set size to (150) %\n    repeat (10)\n        change y by (1)\n    end\n    repeat (20)\n        change y by (-1)\n    end\n    repeat (10)\n        change y by (1)\n    end\n    go to x: (64) y: (-60)\nend\n\nwhen flag clicked\ndelete this clone\n\nwhen flag clicked\nhide\nset [bullets used v] to [0]\nset [weapon use v] to [0]\nwait until <touching (player v)?>\nset [weapon use v] to [1]\nbroadcast (Get ready weapon... v)\nhide\n\nwhen I receive [get ready weapon... v]\nshow variable [bullets used v]\nforever\n    if <<<(MovementALLOWED?) = [1]> and <(Bullets Used) < [10]>> and <<(Weapon Use) = [1]> and <key (z v) pressed?>>> then\n        create clone of (_myself_ v)\n        change [bullets used v] by (1)\n        wait until <not <key (z v) pressed?>>\n    end\nend\n\nwhen I start as a clone\ngo to (player v)\nshow\nswitch costume to (costume2 v)\nset size to (100) %\nclear graphic effects\nif <([direction v] of [player v]) = [90]> then\n    repeat until <<<touching (level v)?> or <touching (_edge_ v)?>> or <touching (boss v)?>>\n        change x by (10)\n    end\nelse\n    repeat until <<<touching (level v)?> or <touching (_edge_ v)?>> or <touching (boss v)?>>\n        change x by (-10)\n    end\nend\ndelete this clone\n\n@Sprite1\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nshow\nforever\n    if <touching (player v)?> then\n        change [bullets used v] by (-10)\n        delete this clone\n    end\nend\n\ndefine Clone (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [restart v]\nif  then\n    delete this clone\nend\nif <(Level) = [20]> then\n    Clone [-83] [-77]\n    Clone [48] [-77]\nend\n\n@Friend\n\nwhen I receive [restart v]\nif <(Level) = [19]> then\n    go to x: (44) y: (-98)\n    show\n    set [movementallowed? v] to [0]\n    Say [I am a guardian of the void.] for [-] seconds with an interval of [0.05]\n    Say [But he is doing things which are wrong.] for [-] seconds with an interval of [0.05]\n    Say [So...] for [-] seconds with an interval of [0.05]\n    Say [I will help you.] for [-] seconds with an interval of [0.05]\n    Say [The void has 3 keys, and only one key,] for [-] seconds with an interval of [0.05]\n    Say [will let you go back home.] for [-] seconds with an interval of [0.05]\n    Say [The other two will revive the void, giving the void power to destroy the whole universe.] for [-] seconds with an interval of [0.05]\n    Say [Your choice matters. I am the key to your survival.] for [-] seconds with an interval of [0.05]\n    Say [The void also gave you resources to meet him, thinking that you are a weakling.] for [-] seconds with an interval of [0.05]\n    Say [Beware.] for [-] seconds with an interval of [0.05]\n    hide\n    change [level v] by (1)\n    set [movementallowed? v] to [1]\n    broadcast (Next Level v)\nend\n\nwhen flag clicked\nhide\n\ndefine Say (text) for (time) seconds with an interval of (interval)\nset [digit number v] to [0]\nset [past text v] to []\nset [say v] to []\nrepeat until <(past text) = (text)>\n    change [digit number v] by (1)\n    set [say v] to (join (past text) (letter (digit number) of (text)))\n    say (say)\n    set [past text v] to (say)\n    play note (84) for (interval) beats\nend\nif <not <(time) = [-]>> then\n    say (text) for (time) seconds\nend\nwait until <<key (space v) pressed?> or <mouse down?>>\n\n@BOSS\n\nwhen flag clicked\nclear graphic effects\nhide\nhide variable [boss lives v]\nhide variable [player lives v]\nset [meet boss yet v] to [NO]\nset [boss lives v] to [15]\nset [player lives v] to [10]\n\nwhen I receive [restart v]\nif <(Level) = [21]> then\n    set [meet boss yet v] to [YES]\n    go to x: (195) y: (-97)\n    show\n    set [movementallowed? v] to [0]\n    Say [You are that weakling, right?] for [-] seconds with an interval of [0.05]\n    Say [I was waiting for you.] for [-] seconds with an interval of [0.05]\n    Say [And yes, I am the void...] for [-] seconds with an interval of [0.05]\n    Say [You can only defeat me with your weapon...] for [-] seconds with an interval of [0.05]\n    Say [So, shall we start the fight?] for [0.3] seconds with an interval of [0.05]\n    Broadcast boss fight\n    set [movementallowed? v] to [1]\nend\n\ndefine Say (text) for (time) seconds with an interval of (interval)\nset [digit number v] to [0]\nset [past text v] to []\nset [say v] to []\nrepeat until <(past text) = (text)>\n    change [digit number v] by (1)\n    set [say v] to (join (past text) (letter (digit number) of (text)))\n    say (say)\n    set [past text v] to (say)\n    play note (84) for (interval) beats\nend\nif <not <(time) = [-]>> then\n    say (text) for (time) seconds\nend\nwait until <<key (space v) pressed?> or <mouse down?>>\n\nwhen I receive [boss fight v]\ngo to x: (195) y: (-97)\nshow variable [boss lives v]\nshow variable [player lives v]\nwait (1) seconds\nforever\n    glide (0.5) secs to x: (-199) y: (-97)\n    wait (0.5) seconds\n    glide (0.5) secs to x: (195) y: (-97)\n    repeat (3)\n        wait (0.5) seconds\n        glide (0.5) secs to x: ([x position v] of [player v]) y: (80)\n        wait (0.3) seconds\n        glide (0.5) secs to x: (x position) y: (-97)\n    end\n    wait (1.5) seconds\nend\n\nwhen I receive [boss fight v]\nforever\n    if <touching (weapon v)?> then\n        change [boss lives v] by (-1)\n    end\nend\n\nwhen I receive [reset boss v]\nchange [player lives v] by (-1)\nstop [other scripts in sprite v]\nbroadcast (BOSS FIGHT v)\n\nwhen I receive [boss fight v]\nforever\n    if <<(Player lives) < [1]> or <(Boss lives) < [1]>> then\n        stop [other scripts in sprite v]\n        if <(Player lives) = [0]> then\n            repeat (25)\n                change [ghost v] effect by (5)\n            end\n            hide\n            broadcast (Enemy WIN v)\n        end\n        if <(Boss lives) = [0]> then\n            repeat (25)\n                change [ghost v] effect by (5)\n            end\n            hide\n            broadcast (Player win v)\n        end\n        stop [this script v]\n    end\nend\n\ndefine Broadcast boss fight\nbroadcast (BOSS FIGHT v)\n\nwhen I receive [player win v]\nhide variable [boss lives v]\nhide variable [player lives v]\nset [bullets used v] to [10]\nhide variable [bullets used v]\nset [meet boss yet v] to [NO]\n\nwhen I receive [enemy win v]\nbroadcast (Lost v)\n\n@Sprite2\n\nwhen I receive [lost v]\nhide variable [boss lives v]\nhide variable [boss lives v]\nhide variable [bullets used v]\nswitch costume to (costume1 v)\ngo to [front v] layer\nshow\nstop [all v]\n\nwhen flag clicked\nhide\n\nwhen I receive [won v]\nwait (1) seconds\nswitch costume to (costume2 v)\ngo to [front v] layer\nshow\nstop [all v]\n\n@Sprite3\n\n@Lock\n\nwhen I receive [restart v]\nif <(Level) = [22]> then\n    go to x: (0) y: (0)\n    show\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [won v]\nhide\n\n@Fake keys\n\nwhen flag clicked\nclear graphic effects\nhide\n\nwhen I receive [restart v]\nif <(Level) = [22]> then\n    show\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        repeat (20)\n            change [ghost v] effect by (5)\n        end\n        broadcast (Enemy WIN v)\n        stop [this script v]\n    end\nend\n\n@Key\n\nwhen flag clicked\nclear graphic effects\nhide\n\nwhen I receive [restart v]\nif <(Level) = [22]> then\n    show\nend\n\nwhen flag clicked\nforever\n    if <touching (player v)?> then\n        play sound [Magic Spell v] until done\n        repeat (20)\n            change [ghost v] effect by (5)\n        end\n        broadcast (Won v)\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\nclear graphic effects\ngo to [front v] layer\nshow\nchange [ghost v] effect by (100)\n\nwhen flag clicked\nforever\n    switch backdrop to (Level)\nend\n\n@L/F DETECTOR\n\nwhen flag clicked\nhide\nset [faved___ v] to [0]\nset [loved__ v] to [0]\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.2) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(LOVED__) = [1]> and <(FAVED___) = [1]>>\nwait (1) seconds\nshow\ngo to x: (0) y: (50)\nreset timer\nswitch costume to (pick random (1) to (4))\nset [ghost v] effect to (100)\nrepeat until <(timer) > [3.5]>\n    change y by ((y position) / (-15))\n    change [ghost v] effect by (-3)\nend\nreset timer\nrepeat until <(timer) > [3.5]>\n    change y by (((y position) - (-100)) / (-15))\n    change [ghost v] effect by (10)\nend\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved__ v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved__ v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved___ v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved___ v] to [1]\n        end\n    end\nend\n\n