Boxed

Instructions: Please read all instructions....\nBoxed 2: https://scratch.mit.edu/projects/116637324/\n\nTIPS:\n-Be in small mode when you change gravity\n-Don't play fullscreen\n-Press green flag twice\n-If character is in a blank place or the character is below the level  refresh the page by clicking 'F5'\n-READ EVERYTHING DOWN HERE!\n-I will read all comments but I won't answer them all.\n\nINSTRUCTIONS:\n-Arrow keys to move\n-IJKL to attack (1st boss fight)\n-Other instructions are in-game\n-Press 'r' to restart the level and reset your character\n\nNOTES:\n-F5 and 'r' won't work if your character is below the level. Instead, press Cmd-M on Mac or Ctrl-M on Windows to fix that. (Thanks @DragonDesigns)\n-Tell me bugs, glitches and recommendations on comments!\n-WE GOT 200 LOVES! :D SEQUEL SHALL BE MADE!\n\n\n\n\n\n\n\n\n\n-If you read this far, well gg. Here's your prize:\n\nWAFFLES!!!!

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nforever\n    if <([costume name v] of [sprite2 v]) = [Boss1]> then\n        switch backdrop to (backdrop2 v)\n        wait (37) seconds\n        switch backdrop to (backdrop3 v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <([costume name v] of [sprite2 v]) = [Boss1Def]> then\n        switch backdrop to (boss1def v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\nforever\n    if <([costume name v] of [sprite2 v]) = [Boss2]> then\n        switch backdrop to (backdrop4 v)\n        wait (37) seconds\n        switch backdrop to (backdrop5 v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <([costume name v] of [sprite2 v]) = [costume25]> then\n        switch backdrop to (unpossible v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <([costume name v] of [sprite2 v]) = [End]> then\n        switch backdrop to (end1 v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [end v]\nstop [other scripts in stage v]\n\nwhen flag clicked\nforever\n    if <([costume name v] of [sprite2 v]) = [Boss2Def]> then\n        switch backdrop to (boss2def v)\n        stop [this script v]\n    end\nend\n\n@Sprite1\n\ndefine Physics\nif <key (right arrow v) pressed?> then\n    change [xv v] by (0.85)\nend\nif <key (left arrow v) pressed?> then\n    change [xv v] by (-0.85)\nend\nset [xv v] to ((Xv) * (0.87))\nchange x by (Xv)\nif <touching color (#c3c3c3)?> then\n    change x by ((Xv) * (-1))\n    set [xv v] to [0]\nend\nchange y by (Yv)\nif <touching color (#ff6642)?> then\n    broadcast (die v)\n    start sound [Burn v]\nend\nif <touching color (#2ccbb7)?> then\n    broadcast (reverse v)\nend\nif <touching color (#7b2ccb)?> then\n    broadcast (physics v)\nend\nif <touching color (#ffa79a)?> then\n    broadcast (next level v)\nend\nif <touching color (#c3c3c3)?> then\n    change y by ((Yv) * (-1))\n    if <key (up arrow v) pressed?> then\n        if <(Yv) < [0.1]> then\n            if <not <touching color (#ff6642)?>> then\n                set [yv v] to [13]\n            end\n        end\n    else\n        if <(Yv) < [0.1]> then\n            set [yv v] to [0]\n        else\n            change [yv v] by (-1)\n        end\n    end\nend\nchange [yv v] by (-1)\nif <touching color (#cc7700)?> then\n    if <key (up arrow v) pressed?> then\n        set [yv v] to [3]\n    end\nend\n\nwhen I receive [start v]\nshow\ngo to [front v] layer\nset size to (55) %\nforever\n    Physics\n    set [xpos v] to (x position)\n    set [ypos v] to (y position)\n    go to x: (0) y: (0)\n    if <key (r v) pressed?> then\n        stop [other scripts in sprite v]\n    end\nend\n\nwhen I receive [die v]\nset [color v] effect to (-20)\nwait (3) seconds\nrepeat (20)\n    change [color v] effect by (1)\nend\nset [color v] effect to (0)\n\nwhen I receive [boss1 v]\nwait (5) seconds\nsay [No...?] for (2) seconds\nwait (6) seconds\nsay [What challenge?] for (2) seconds\nwait (7) seconds\nsay [I saw it...] for (2) seconds\nwait (7) seconds\nsay [Wait, what?] for (2) seconds\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\n\nwhen I receive [b1d v]\nsay [You failed, boss level has restarted.] for (3) seconds\n\n@Sprite2\n\nwhen I receive [next level v]\npoint in direction (90)\ngo to x: (0) y: (0)\nset [xv v] to [0]\nset [yv v] to [0]\nnext costume\n\nwhen I receive [die v]\ngo to x: (0) y: (0)\nset [xv v] to [0]\nset [yv v] to [0]\n\nwhen I receive [reverse v]\nset rotation style [all around v]\npoint in direction (-90)\ngo to x: (0) y: (0)\n\nwhen I receive [physics v]\npoint in direction (90)\ngo to x: (-500) y: (-300)\n\nwhen flag clicked\nbroadcast (start v)\nswitch costume to (risky v)\nset [yes v] to [0]\n\nwhen [t v] key pressed\nif <(Yes) = [0]> then\n    set rotation style [left-right v]\n    point in direction (-90)\nend\n\nwhen [y v] key pressed\nif <(Yes) = [0]> then\n    set rotation style [all around v]\n    point in direction (90)\nend\n\nwhen I receive [b2 v]\npoint in direction (90)\ngo to x: (0) y: (0)\nset [xv v] to [0]\nset [yv v] to [0]\nnext costume\n\nwhen I receive [start v]\nset [xv v] to [0]\nset [yv v] to [0]\nset [xpos v] to [0]\nset [ypos v] to [0]\nset [yvel v] to [0]\npoint in direction (90)\ngo to x: (0) y: (0)\nset size to (1500) %\nforever\n    change x by ((xPos) * (-1))\n    change y by ((yPos) * (-1))\n    if <(Yes) = [0]> then\n        if <key (b v) pressed?> then\n            set size to (100) %\n            go to x: (0) y: (0)\n        end\n        if <key (s v) pressed?> then\n            set size to (1500) %\n        end\n    end\n    if <key (r v) pressed?> then\n        stop [other scripts in sprite v]\n        point in direction (90)\n        go to x: (0) y: (0)\n        broadcast (start v)\n    end\nend\n\nwhen backdrop switches to [unpossible v]\nchange [yes v] by (1)\nwait until <key (l v) pressed?>\nbroadcast (next level v)\nwait (1) seconds\nwait until <key (l v) pressed?>\nbroadcast (next level v)\nwait (1) seconds\nwait until <key (k v) pressed?>\nbroadcast (next level v)\n\nwhen backdrop switches to [end1 v]\nbroadcast (end v)\n\nwhen I receive [end v]\ngo to x: (0) y: (0)\nstart sound [EarthQuake.mp3 v]\nrepeat (50)\n    go to x: (pick random (-5) to (5)) y: (pick random (-5) to (5))\nend\nstop all sounds\nwait (2) seconds\nstart sound [EarthQuake.mp3 v]\nrepeat (50)\n    go to x: (pick random (-5) to (5)) y: (pick random (-5) to (5))\nend\nstop all sounds\nwait (2) seconds\nstart sound [EarthQuake.mp3 v]\nrepeat (100)\n    go to x: (pick random (-5) to (5)) y: (pick random (-5) to (5))\nend\n\nstop all sounds\n\n@Thumbnail\n\nwhen flag clicked\nswitch costume to (costume3 v)\ngo to x: (0) y: (0)\nhide\n\nshow\ngo to [front v] layer\n\nwhen I receive [end v]\nwait (9) seconds\nswitch costume to (end v)\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nshow\ngo to [front v] layer\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (1) seconds\nswitch costume to (end2 v)\nstop all sounds\nwait (0.5) seconds\nbroadcast (yas v)\n\n@Lutin1\n\nwhen flag clicked\nset volume to (100) %\nswitch costume to (costume2 v)\ngo to x: (0) y: (-160)\nset [music v] to [0]\nwait (0.1) seconds\nif <([costume name v] of [sprite2 v]) = [Risky]> then\n    forever\n        play sound [Descent.mp3 v] until done\n    end\nend\n\nwhen backdrop switches to [boss1def v]\nhide variable [lifes v]\nstop all sounds\nstop [other scripts in sprite v]\nforever\n    play sound [Descent.mp3 v] until done\nend\n\nwhen this sprite clicked\nif <(costume [number v]) = [1]> then\n    switch costume to (costume3 v)\n    set volume to (0) %\n    wait until <not <mouse down?>>\nelse\n    switch costume to (costume2 v)\n    set volume to (100) %\n    wait until <not <mouse down?>>\nend\n\nwhen backdrop switches to [backdrop4 v]\nstop all sounds\nstop [other scripts in sprite v]\nstart sound [Essential.mp3 v]\nstop [this script v]\n\nwhen backdrop switches to [boss2def v]\nhide variable [lifes v]\nstop all sounds\nstop [other scripts in sprite v]\nforever\n    play sound [Descent.mp3 v] until done\nend\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\n\nwhen backdrop switches to [unpossible v]\nstop all sounds\nstop [other scripts in sprite v]\nplay sound [computer beeps1 v] until done\n\nwhen backdrop switches to [end1 v]\nstop all sounds\nstop [other scripts in sprite v]\n\nwhen backdrop switches to [backdrop2 v]\nstop all sounds\nstop [other scripts in sprite v]\nstart sound [Essential.mp3 v]\nstop [this script v]\n\nwhen I receive [yas v]\nstart sound [Descent.mp2 v]\n\n@Lutin2\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\nwait (1) seconds\nwait until <([costume name v] of [sprite2 v]) = [Boss1]>\nwait (3) seconds\ngo to x: (160) y: (-170)\nshow\nrepeat (100)\n    change [ghost v] effect by (-1)\nend\nbroadcast (Boss1 v)\nsay [HAH! You're so frustrated... Do you even remember how you got here?] for (5) seconds\nwait (2) seconds\nsay [I didn't think so... You WANTED to come in here. You wanted to participate to the challenge.] for (6) seconds\nwait (2) seconds\nsay [They challenged five people that if they escaped this box, they would be rewarded. They said it was risky, though.] for (7) seconds\nwait (2) seconds\nsay [However, there can only be one winner. Sorry little one, but I'm the one that will win... Adios!] for (7) seconds\nwait (2) seconds\nrepeat (100)\n    change [ghost v] effect by (1)\nend\nhide\nbroadcast (B1 v)\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\n\n@Lutin3\n\nwhen flag clicked\nhide variable [lifes v]\nset [lifes v] to [3]\nhide\nset size to (35) %\n\nwhen I start as a clone\nforever\n    if <touching (sprite1 v)?> then\n        if <(Lifes) = [1]> then\n            stop [other scripts in sprite v]\n            broadcast (B1D v)\n            change [lifes v] by (-1)\n            delete this clone\n        end\n        change [lifes v] by (-1)\n        wait (1) seconds\n        delete this clone\n    end\n    if <touching (lutin4 v)?> then\n        delete this clone\n    end\nend\n\nwhen I start as a clone\nshow\nset [direc v] to (pick random (179) to (-89))\ngo to (sprite1 v)\nif <<(Direc) < [180]> and <(Direc) > [135]>> then\n    point in direction (180)\nend\nif <<(Direc) < [135]> and <(Direc) > [45]>> then\n    point in direction (90)\nend\nif <<(Direc) < [45]> and <(Direc) > [-45]>> then\n    point in direction (0)\nend\nif <<(Direc) < [-45]> and <(Direc) > [-135]>> then\n    point in direction (-90)\nend\nmove (-220) steps\npoint towards (sprite1 v)\nturn right (5) degrees\nrepeat (48)\n    move (10) steps\nend\ndelete this clone\n\nwhen I receive [b1 v]\nshow variable [lifes v]\nrepeat (15)\n    create clone of (_myself_ v)\n    wait (2) seconds\nend\nwait (2) seconds\nbroadcast (Next Level v)\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\n\nwhen I receive [b1d v]\nwait (1) seconds\nstop [other scripts in sprite v]\nwait (2) seconds\nset [lifes v] to [3]\nrepeat (15)\n    create clone of (_myself_ v)\n    wait (2) seconds\nend\nwait (2) seconds\nbroadcast (Next Level v)\n\n@Lutin4\n\nwhen flag clicked\nhide\npoint in direction (180)\nforever\n    if <key (i v) pressed?> then\n        go to (sprite1 v)\n        point in direction (0)\n        change y by (10)\n        create clone of (_myself_ v)\n        wait (0.5) seconds\n    end\n    if <key (l v) pressed?> then\n        go to (sprite1 v)\n        point in direction (90)\n        create clone of (_myself_ v)\n        wait (0.5) seconds\n    end\n    if <key (j v) pressed?> then\n        go to (sprite1 v)\n        point in direction (-90)\n        create clone of (_myself_ v)\n        wait (0.5) seconds\n    end\n    if <key (k v) pressed?> then\n        go to (sprite1 v)\n        point in direction (180)\n        create clone of (_myself_ v)\n        wait (0.5) seconds\n    end\nend\n\nwhen I start as a clone\nshow\nset size to (25) %\nrepeat (24)\n    move (10) steps\nend\ndelete this clone\n\nrepeat (10)\n    go to x: (-240) y: (pick random (-50) to (50))\nend\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\n\n@Lutin5\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\nwait (1) seconds\nwait until <([costume name v] of [sprite2 v]) = [Boss2]>\nwait (3) seconds\ngo to x: (160) y: (-170)\nshow\nrepeat (100)\n    change [ghost v] effect by (-1)\nend\nbroadcast (Boss2 v)\nsay [So, you're the one that beat Red?] for (5) seconds\nsay [That was expected... He wasn't that smart, but I am.] for (6) seconds\nsay [You got stuck in the rooms, right? That was me. I cheated and made the rooms repeat themselves.] for (7) seconds\nsay [If you got here, that means you're smarter than the rest... But you will never beat my ultimate room! MUAHAHHAHA!] for (7) seconds\nwait (2) seconds\nrepeat (100)\n    change [ghost v] effect by (1)\nend\nhide\nbroadcast (B2 v)\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\n\n