Strange II [Platformer]

Instructions: --PLAY THE FIRST ONE BEFORE PLAYING THIS--\n(If you rage quit the first one, or forgot the plot go to the notes and credits)\n\nSTORY:\nYou were pulled underground by the evil roots. You've saved your dimension by closing the rift, but now it leaves you trapped in another dimension with no chance of escape...\n\nSpam the flag (it can be laggy).\nWASD/Arrow Keys: Move\nP: Skip a level.\nDon't touch the roots\nFor Boss Battle: Use SPACE to block the attacks. When you block, you gain points. If you have 3 points, you win. (if the display in the top left is bright, you can block) The boss has 2 larger attacks that have brief warnings before them.\n\nPLAY WITH A HIGH BRIGHTNESS. This one's even harder to see sometimes.\n\nWatch the cut-scenes in small screen for the best experience.\n\nI think this thumbnail tops the last one :)

@Stage\n\nwhen flag clicked\nswitch backdrop to (wait v)\n\nwhen I receive [start v]\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [cut-scene3 v]\nswitch backdrop to (wait v)\n\n@Thumbnail\n\nwhen flag clicked\nhide\nforever\n    reset timer\nend\n\nwhen [timer v] > (0.1)\ngo to [front v] layer\nshow\nstop [all v]\n\n@Slide\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nif <not <(Level) = [15]>> then\n    switch costume to (costume1 v)\n    go to [front v] layer\n    go to x: (287) y: (0)\n    show\n    repeat until <(x position) < [-910]>\n        change x by (-60)\n    end\n    hide\nelse\n    hide\nend\n\nwhen I receive [die v]\nswitch costume to (costume1 v)\ngo to [front v] layer\ngo to x: (287) y: (0)\nshow\nrepeat until <(x position) < [-910]>\n    change x by (-60)\nend\nhide\n\nwhen I receive [end v]\ngo to [front v] layer\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nswitch costume to (costume2 v)\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nbroadcast (Cut-Scene3 v)\n\nwhen I receive [cut-scene3 v]\nwait (0.7) seconds\nstop [other scripts in sprite v]\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nhide\n\n@Player\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\nswitch costume to (costume1 v)\nhide\n\nwhen flag clicked\nhide\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <touching (ground 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 (ground 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))\nend\nif <(speed) < [0]> then\n    change [frame v] by ((speed) / (-8))\nelse\n    change [frame v] by ((speed) / (8))\nend\n\ndefine Set Costume\nif <(Falling?) < [6]> then\n    if <(Frame) = [0]> then\n        switch costume to (costume1 v)\n    else\n        switch costume to ([floor v] of ((4) + ((Frame) mod (7))) )\n    end\nelse\n    if <(Speed Y) > [0]> then\n        switch costume to (jump v)\n    else\n        switch costume to (fall v)\n    end\nend\n\nwhen I receive [start v]\nset [level v] to [1]\nbroadcast (Player Start v)\n\nswitch costume to (costume1 v)\nwait until <not <key (p v) pressed?>>\nchange [level v] by (1)\n\nwhen I receive [start v]\nforever\n    play sound [The Storm - Strange I and II Soundtrack v] until done\n    wait (0.1) seconds\n    play sound [The Storm \(Reprise\) - Strange I and II Soundtrack v] until done\n    wait (1) seconds\nend\n\nwhen I receive [bounce v]\nset [controlbounce v] to [1]\nwait (0.1) seconds\nwait until <<touching (ground v)?> or <touching (mushrooms v)?>>\nset [controlbounce v] to [0]\n\nwhen I receive [teleport v]\ngo to (portal2 v)\n\nwhen I receive [teleport2 v]\ngo to (portal1 v)\n\nwhen I receive [cut-scene2 v]\nstop [other scripts in sprite v]\n\nwhen I receive [player start v]\nif <not <(Level) = [25]>> then\n    point in direction (90)\n    go to x: (-226) y: (0)\nelse\n    go to x: (0) y: (-53)\nend\nshow\nset [energyabsorbed v] to [0]\nset [controlbounce v] to [0]\nset [falling? v] to [0]\nset [speed y v] to [0]\nset rotation style [left-right v]\ngo to [front v] layer\ngo [backward v] (1) layers\nforever\n    switch costume to (hitbox v)\n    change y by (Speed Y)\n    if <(ControlBounce) = [1]> then\n        change [speed y v] by (-2)\n    else\n        if <<(Falling?) < [4]> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n            change [speed y v] by (-1)\n        else\n            change [speed y v] by (-2)\n        end\n    end\n    Touch Ground <(Speed Y) > [1]>\n    set [speed x v] to ((Speed X) * (0.7))\n    if <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n        change [speed x v] by (-1.5)\n    end\n    if <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n        change [speed x v] by (1.5)\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 (w v) pressed?> or <key (up arrow v) pressed?>> then\n        if <<(Jump Key) = [0]> and <(Falling?) < [3]>> then\n            set [speed y v] to [12]\n            set [jump key v] to [1]\n            set [falling? v] to [6]\n        end\n    else\n        set [jump key v] to [0]\n    end\n    if <not <(Level) = [25]>> then\n        if <<(x position) > [235]> or <key (p v) pressed?>> then\n            switch costume to (costume1 v)\n            wait until <not <key (p v) pressed?>>\n            if <not <(Level) = [15]>> then\n                change [level v] by (1)\n                broadcast (Next Level v)\n                if <(Level) = [21]> then\n                    go to x: (-226) y: (115)\n                else\n                    go to x: (-226) y: (-115)\n                end\n            else\n                broadcast (Cut-Scene2 v)\n            end\n        end\n    else\n        if <(EnergyAbsorbed) > [2.9]> then\n            broadcast (End v)\n            stop [this script v]\n        end\n    end\n    if <touching (bad v)?> then\n        if <(Level) = [25]> then\n            if <(Protected?) = [yes]> then\n                change [energyabsorbed v] by (0.02)\n            else\n                if <(EnergyAbsorbed) > [1]> then\n                    change [energyabsorbed v] by (-1)\n                end\n                broadcast (Die v)\n                hide\n                wait until <(Attack) = [0]>\n                go to x: (-226) y: (-115)\n                show\n            end\n        else\n            broadcast (Die v)\n            if <(Level) = [21]> then\n                go to x: (-226) y: (115)\n            else\n                go to x: (-226) y: (-115)\n            end\n        end\n    end\n    Set Costume\nend\n\nwhen I receive [part 2 v]\nforever\n    play sound [The Storm - Strange I and II Soundtrack v] until done\n    wait (0.1) seconds\n    play sound [The Storm \(Reprise\) - Strange I and II Soundtrack v] until done\n    wait (1) seconds\nend\n\nwhen I receive [next level v]\nif <(Level) = [25]> then\n    repeat until <(x position) > [-1]>\n        if <(x position) > [-31]> then\n            glide (0.1) secs to x: (0) y: (-53)\n            broadcast (Boss v)\n        end\n    end\n    stop [other scripts in sprite v]\n    switch costume to (costume1 v)\n    forever\n        play sound [Here Comes The King v] until done\n    end\nend\n\nwhen I receive [start boss fight v]\nbroadcast (Player Start v)\n\n@Ground\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nswitch costume to (level1 v)\nshow\n\nwhen I receive [next level v]\nswitch costume to (join [Level] (Level))\n\n@Bad\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\ngo to x: (0) y: (0)\nclear graphic effects\nhide\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nclear graphic effects\nswitch costume to (level1 v)\nshow\n\nwhen I receive [next level v]\ngo to x: (0) y: (0)\nswitch costume to (join [Level] (Level))\nshow\n\nwhen I receive [start boss fight v]\nset [whichattack? v] to [0]\nif <(pick random (1) to (2)) = [1]> then\n    set [attack v] to [2]\n    broadcast (Pos. 2 v)\n    hide\n    wait (1.1) seconds\n    go to (creature v)\n    switch costume to (join [BossFight] (Attack))\n    show\n    repeat (25)\n        set [ghost v] effect to (100)\n        wait (0.05) seconds\n        set [ghost v] effect to (0)\n    end\n    hide\n    set [attack v] to [0]\nelse\n    set [attack v] to [3]\n    broadcast (Pos.3 v)\n    hide\n    wait (1.1) seconds\n    go to (creature v)\n    switch costume to (join [BossFight] (Attack))\n    show\n    repeat (25)\n        set [ghost v] effect to (100)\n        wait (0.05) seconds\n        set [ghost v] effect to (0)\n    end\n    hide\n    set [attack v] to [0]\nend\nrepeat until <(EnergyAbsorbed) > [2.9]>\n    set [whichattack? v] to (pick random (1) to (5))\n    if <(WhichAttack?) = [1]> then\n        set [attack v] to [1]\n        broadcast (Pos. 1 v)\n        hide\n        wait (1) seconds\n        go to (creature v)\n        switch costume to (join [BossFight] (Attack))\n        show\n        repeat (25)\n            set [ghost v] effect to (100)\n            wait (0.05) seconds\n            set [ghost v] effect to (0)\n        end\n        hide\n        set [attack v] to [0]\n    else\n        if <(WhichAttack?) = [2]> then\n            set [attack v] to [2]\n            broadcast (Pos. 2 v)\n            hide\n            wait (1) seconds\n            go to (creature v)\n            switch costume to (join [BossFight] (Attack))\n            show\n            repeat (25)\n                set [ghost v] effect to (100)\n                wait (0.05) seconds\n                set [ghost v] effect to (0)\n            end\n            hide\n            set [attack v] to [0]\n        else\n            if <(WhichAttack?) = [3]> then\n                set [attack v] to [3]\n                broadcast (Pos.3 v)\n                hide\n                wait (1) seconds\n                go to (creature v)\n                switch costume to (join [BossFight] (Attack))\n                show\n                repeat (25)\n                    set [ghost v] effect to (100)\n                    wait (0.05) seconds\n                    set [ghost v] effect to (0)\n                end\n                hide\n                set [attack v] to [0]\n            else\n                if <(WhichAttack?) = [4]> then\n                    set [attack v] to [4]\n                    broadcast (Pos. 1 v)\n                    hide\n                    wait (1) seconds\n                    go to (creature v)\n                    switch costume to (join [BossFight] (Attack))\n                    show\n                    repeat (25)\n                        set [ghost v] effect to (100)\n                        wait (0.05) seconds\n                        set [ghost v] effect to (0)\n                    end\n                    set [whichattack? v] to [0]\n                    hide\n                    set [attack v] to [0]\n                else\n                    if <(WhichAttack?) = [5]> then\n                        set [attack v] to [5]\n                        broadcast (Pos. 1 v)\n                        wait (1) seconds\n                        go to x: (0) y: (-240)\n                        switch costume to (join [BossFight] (Attack))\n                        show\n                        repeat until <(y position) > [-53]>\n                            change y by (3)\n                            set [ghost v] effect to (100)\n                            wait (0.05) seconds\n                            set [ghost v] effect to (0)\n                        end\n                        repeat (20)\n                            set [ghost v] effect to (100)\n                            wait (0.05) seconds\n                            set [ghost v] effect to (0)\n                        end\n                        set [whichattack? v] to [0]\n                        hide\n                        set [attack v] to [0]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [pos. 2 v]\n\nwhen I receive [pos.3 v]\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\nhide\n\n@Effects\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [next level v]\nif <(Level) = [24]> then\n    switch costume to (caveentrance v)\nelse\n    if <(Level) = [25]> then\n        switch costume to (cave v)\n    else\n        if <(costume [number v]) < [3]> then\n            next costume\n        else\n            switch costume to (1 v)\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nswitch costume to (1 v)\nshow\n\ngo to x: (0) y: (0)\n\n@Text\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [next level v]\ngo to [front v] layer\nif <<(Level) = [1]> or <<(Level) = [2]> or <<(Level) = [3]> or <<(Level) = [4]> or <<(Level) = [7]> or <<(Level) = [10]> or <<(Level) = [11]> or <<(Level) = [12]> or <<(Level) = [13]> or <<(Level) = [16]> or <<(Level) = [17]> or <<(Level) = [18]> or <<(Level) = [24]> or <(Level) = [25]>>>>>>>>>>>>>> then\n    repeat until <not <<(Level) = [1]> or <<(Level) = [2]> or <<(Level) = [3]> or <<(Level) = [4]> or <<(Level) = [7]> or <<(Level) = [10]> or <<(Level) = [11]> or <<(Level) = [12]> or <<(Level) = [13]> or <<(Level) = [16]> or <<(Level) = [17]> or <<(Level) = [18]> or <<(Level) = [24]> or <(Level) = [25]>>>>>>>>>>>>>>>\n        switch costume to (join [Level] (Level))\n        if <touching (player v)?> then\n            set [ghost v] effect to (100)\n        else\n            show\n            if <([x position v] of [player v]) < [-20]> then\n                set [ghost v] effect to ((-1) * ([x position v] of [player v]))\n            else\n                if <([x position v] of [player v]) > [20]> then\n                    set [ghost v] effect to ([x position v] of [player v])\n                else\n                    set [ghost v] effect to (0)\n                end\n            end\n        end\n    end\nelse\n    hide\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nwait (0.3) seconds\nrepeat until <not <(Level) = [1]>>\n    switch costume to (join [Level] (Level))\n    if <touching (player v)?> then\n        set [ghost v] effect to (100)\n    else\n        show\n        if <([x position v] of [player v]) < [-20]> then\n            set [ghost v] effect to ((-1) * ([x position v] of [player v]))\n        else\n            if <([x position v] of [player v]) > [20]> then\n                set [ghost v] effect to ([x position v] of [player v])\n            else\n                set [ghost v] effect to (0)\n            end\n        end\n    end\nend\n\nwhen I receive [boss v]\nstop [other scripts in sprite v]\nwait (1) seconds\nrepeat (20)\n    change [ghost v] effect by (5)\nend\n\n@Mushrooms\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    if <<(Level) = [7]> or <<(Level) = [8]> or <<(Level) = [9]> or <<(Level) = [13]> or <<(Level) = [14]> or <<(Level) = [15]> or <<(Level) = [16]> or <<(Level) = [17]> or <<(Level) = [18]> or <<(Level) = [19]> or <<(Level) = [20]> or <(Level) = [23]>>>>>>>>>>>> then\n        switch costume to (join [Level] (Level))\n        show\n    else\n        hide\n    end\n    if <touching (player v)?> then\n        set [speed y v] to [25]\n        broadcast (Bounce v)\n    end\nend\n\n@Portal1\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nset [teleportable? v] to [yes]\nforever\n    if <<(Level) = [10]> or <<(Level) = [11]> or <<(Level) = [12]> or <<(Level) = [13]> or <<(Level) = [14]> or <<(Level) = [15]> or <<(Level) = [19]> or <<(Level) = [20]> or <(Level) = [22]>>>>>>>>> then\n        show\n        if <(Level) = [10]> then\n            go to x: (-150) y: (-110)\n        else\n            if <(Level) = [11]> then\n                go to x: (150) y: (-80)\n            else\n                if <(Level) = [12]> then\n                    go to x: (-110) y: (-60)\n                else\n                    if <(Level) = [13]> then\n                        go to x: (40) y: (30)\n                    else\n                        if <(Level) = [14]> then\n                            go to x: (-15) y: (50)\n                        else\n                            if <(Level) = [15]> then\n                                go to x: (-70) y: (-80)\n                            else\n                                if <(Level) = [19]> then\n                                    go to x: (-205) y: (150)\n                                else\n                                    if <(Level) = [20]> then\n                                        go to x: (-40) y: (170)\n                                    else\n                                        if <(Level) = [22]> then\n                                            go to x: (165) y: (35)\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        if <(Teleportable?) = [yes]> then\n            if <touching (player v)?> then\n                wait (0.2) seconds\n                set [teleportable? v] to [no]\n                broadcast (Teleport v)\n            end\n        end\n    else\n        hide\n    end\nend\n\nswitch costume to (join [Level] (Level))\nshow\n\nwhen I receive [teleport2 v]\nwait until <not <touching (player v)?>>\nset [teleportable? v] to [yes]\n\n@Portal2\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    if <<(Level) = [10]> or <<(Level) = [11]> or <<(Level) = [12]> or <<(Level) = [13]> or <<(Level) = [14]> or <<(Level) = [15]> or <<(Level) = [19]> or <<(Level) = [20]> or <(Level) = [22]>>>>>>>>> then\n        show\n        if <(Level) = [10]> then\n            go to x: (-80) y: (-110)\n        else\n            if <(Level) = [11]> then\n                go to x: (-80) y: (110)\n            else\n                if <(Level) = [12]> then\n                    go to x: (-90) y: (100)\n                else\n                    if <(Level) = [13]> then\n                        go to x: (-20) y: (-110)\n                    else\n                        if <(Level) = [14]> then\n                            go to x: (110) y: (50)\n                        else\n                            if <(Level) = [15]> then\n                                go to x: (10) y: (-80)\n                            else\n                                if <(Level) = [19]> then\n                                    go to x: (190) y: (130)\n                                else\n                                    if <(Level) = [20]> then\n                                        go to x: (190) y: (130)\n                                    else\n                                        if <(Level) = [22]> then\n                                            go to x: (-15) y: (-100)\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        if <(Teleportable?) = [yes]> then\n            if <touching (player v)?> then\n                wait (0.2) seconds\n                set [teleportable? v] to [no]\n                broadcast (Teleport2 v)\n            end\n        end\n    else\n        hide\n    end\nend\n\nwhen I receive [teleport v]\nwait until <not <touching (player v)?>>\nset [teleportable? v] to [yes]\n\nif <(Level) = [22]> then\n    go to x: (-15) y: (-100)\nend\n\n@CUT-SCENES\n\nwhen I receive [cut-scene3 v]\nwait (0.8) seconds\ngo to x: (0) y: (0)\ngo to [front v] layer\ngo [backward v] (1) layers\nswitch costume to (brace1 v)\nshow\nwait (0.03) seconds\nrepeat until <(costume [name v]) = [Brace15]>\n    next costume\n    wait (0.03) seconds\nend\nrepeat (5)\n    switch costume to (brace10 v)\n    wait (0.03) seconds\n    repeat until <(costume [name v]) = [Brace15]>\n        next costume\n        wait (0.03) seconds\n    end\nend\nrepeat (3)\n    switch costume to (epicshot\(1\)1 v)\n    wait (0.03) seconds\n    repeat until <(costume [name v]) = [EpicShot\(1\)16]>\n        next costume\n        wait (0.03) seconds\n    end\nend\nrepeat (6)\n    switch costume to (brace10 v)\n    wait (0.03) seconds\n    repeat until <(costume [name v]) = [Brace15]>\n        next costume\n        wait (0.03) seconds\n    end\nend\nswitch costume to (nolightning1 v)\nwait (1) seconds\nrepeat until <(costume [name v]) = [NoLightning7]>\n    next costume\n    wait (0.03) seconds\nend\nrepeat (20)\n    change x by (pick random (3) to (-3))\n    wait (0.01) seconds\n    go to x: (0) y: (0)\nend\nrepeat until <(costume [name v]) = [NoLightning12]>\n    next costume\n    wait (0.032) seconds\nend\nswitch costume to (retaliation1 v)\nwait (6) seconds\nswitch costume to (retaliation2 v)\nwait (1) seconds\nrepeat until <(costume [name v]) = [Retaliation8]>\n    next costume\n    wait (0.044) seconds\nend\nwait (1) seconds\nrepeat until <(costume [name v]) = [Retaliation24]>\n    next costume\n    wait (0.03) seconds\nend\nrepeat (10)\n    switch costume to (retaliation22 v)\n    wait (0.03) seconds\n    repeat until <(costume [name v]) = [Retaliation24]>\n        next costume\n        wait (0.03) seconds\n    end\nend\nrepeat (11)\n    switch costume to (retaliation25 v)\n    wait (0.03) seconds\n    repeat until <(costume [name v]) = [Retaliation28]>\n        next costume\n        wait (0.03) seconds\n    end\nend\nswitch costume to (surmountable1 v)\nwait (0.02) seconds\nrepeat until <(costume [name v]) = [Surmountable10]>\n    next costume\n    wait (0.02) seconds\nend\nwait (1) seconds\nrepeat until <(costume [name v]) = [Surmountable30]>\n    next costume\n    wait (0.03222222) seconds\nend\nswitch costume to (surmountable10 v)\nwait (1) seconds\nswitch costume to (surmountable31 v)\nwait (0.02) seconds\nswitch costume to (surmountable32 v)\nwait (1) seconds\nswitch costume to (dodge1 v)\nwait (0.05) seconds\nrepeat until <(costume [name v]) = [Dodge18]>\n    next costume\n    wait (0.02) seconds\nend\nswitch costume to (jump1 v)\nwait (0.1) seconds\nrepeat until <(costume [name v]) = [Jump8]>\n    next costume\n    wait (0.03) seconds\nend\nwait (0.07) seconds\nrepeat until <(costume [name v]) = [Jump20]>\n    next costume\n    wait (0.03) seconds\nend\nswitch costume to (portal1 v)\nwait (1) seconds\nrepeat until <(costume [name v]) = [Portal11]>\n    next costume\n    wait (0.01) seconds\nend\nwait (0.4) seconds\nrepeat until <(costume [name v]) = [Portal20]>\n    next costume\n    wait (0.01) seconds\nend\nswitch costume to (portal1 v)\nrepeat (10)\n    change [brightness v] effect by (10)\nend\nswitch costume to (home1 v)\nwait (2) seconds\nrepeat (10)\n    change [brightness v] effect by (-10)\nend\nclear graphic effects\nwait (2) seconds\nrepeat (20)\n    switch costume to (home1 v)\n    repeat until <(costume [name v]) = [Home5]>\n        next costume\n    end\n    switch costume to (underground1 v)\nend\nstop [all v]\n\nwhen flag clicked\ngo to x: (0) y: (0)\nswitch costume to (underground1 v)\ngo to [front v] layer\nshow\nwait (4) seconds\nrepeat until <(costume [name v]) = [Underground21]>\n    start sound [Lo Geh Tabla v]\n    next costume\n    wait (0.02) seconds\nend\nstart sound [Lo Geh Tabla2 v]\nwait (4) seconds\nstart sound [Lo Geh Tabla2 v]\nswitch costume to (getup1 v)\nwait (2) seconds\nrepeat until <(costume [name v]) = [Getup9]>\n    next costume\n    wait (0.04) seconds\nend\nwait (1) seconds\nrepeat until <(costume [name v]) = [Getup16]>\n    next costume\n    wait (0.04) seconds\nend\nswitch costume to (riftclosing1 v)\nrepeat until <(costume [name v]) = [RiftClosing25]>\n    next costume\n    wait (0.03) seconds\nend\nswitch costume to (view1 v)\nrepeat until <(costume [name v]) = [View8]>\n    next costume\n    wait (0.035) seconds\nend\nwait (1) seconds\nrepeat (8)\n    switch costume to (view8 v)\n    wait (0.02) seconds\n    switch costume to (underground1 v)\n    wait (0.02) seconds\nend\nrepeat (4)\n    switch costume to (view9 v)\n    wait (0.02) seconds\n    switch costume to (underground1 v)\n    wait (0.02) seconds\nend\nwait (1) seconds\nbroadcast (Start v)\n\nwhen I receive [start v]\nhide\n\nwhen I receive [cut-scene2 v]\ngo to [front v] layer\nswitch costume to (teleport1 v)\nshow\nwait (1) seconds\nrepeat until <(costume [name v]) = [Teleport23]>\n    next costume\nend\nwait (1) seconds\nswitch costume to (closeup1 v)\nwait (1) seconds\nswitch costume to (closeup2 v)\nwait (3) seconds\nswitch costume to (personview1 v)\nwait (2) seconds\nrepeat until <(costume [name v]) = [PersonView6]>\n    next costume\n    wait (0.01) seconds\nend\nwait (0.1) seconds\nrepeat until <(costume [name v]) = [PersonView10]>\n    next costume\n    wait (0.03) seconds\nend\nwait (0.3) seconds\nrepeat until <(costume [name v]) = [PersonView12]>\n    next costume\n    wait (0.02) seconds\nend\nwait (0.1) seconds\nrepeat until <(costume [name v]) = [PersonView15]>\n    next costume\n    wait (0.03) seconds\nend\nswitch costume to (creatureview1 v)\nrepeat until <(costume [name v]) = [CreatureView6]>\n    next costume\n    wait (0.03) seconds\nend\nwait (0.3) seconds\nrepeat until <(costume [name v]) = [CreatureView11]>\n    next costume\n    wait (0.03) seconds\nend\nwait (0.05) seconds\nswitch costume to (creatureview1 v)\nrepeat until <(costume [name v]) = [CreatureView6]>\n    next costume\n    wait (0.03) seconds\nend\nwait (0.3) seconds\nrepeat until <(costume [name v]) = [CreatureView11]>\n    next costume\n    wait (0.03) seconds\nend\nwait (0.05) seconds\nswitch costume to (creatureview1 v)\nrepeat until <(costume [name v]) = [CreatureView6]>\n    next costume\n    wait (0.03) seconds\nend\nwait (0.3) seconds\nswitch costume to (hiding1 v)\nwait (0.05) seconds\nrepeat until <(costume [name v]) = [Hiding4]>\n    next costume\n    wait (0.03) seconds\nend\nwait (0.1) seconds\nrepeat until <(costume [name v]) = [Hiding9]>\n    next costume\nend\nrepeat until <(costume [name v]) = [Hiding15]>\n    next costume\n    wait (0.03) seconds\nend\nrepeat (9)\n    switch costume to (hiding15 v)\n    wait (0.03) seconds\n    switch costume to (hiding16 v)\n    wait (0.03) seconds\n    switch costume to (hiding17 v)\n    wait (0.5) seconds\n    switch costume to (hiding16 v)\n    wait (0.03) seconds\n    switch costume to (hiding15 v)\n    wait (0.25) seconds\nend\nswitch costume to (contemplation1 v)\nwait (2) seconds\nswitch costume to (contemplation2 v)\nwait (2) seconds\nswitch costume to (solved1 v)\nrepeat until <(costume [name v]) = [Solved43]>\n    next costume\n    wait (0.03) seconds\nend\nwait (6) seconds\nswitch costume to (underground1 v)\nchange [level v] by (1)\nbroadcast (Next Level v)\nwait (1) seconds\nbroadcast (Part 2 v)\nbroadcast (Player Start v)\n\nwhen I receive [part 2 v]\nhide\n\ngo to [front v] layer\n\n@Creature\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [boss v]\nclear graphic effects\nhide\nwait (2) seconds\nset [brightness v] effect to (-20)\ngo to [back v] layer\ngo [forward v] (1) layers\nswitch costume to (flight1 v)\ngo to x: (0) y: (597)\nshow\nbroadcast (Flapping v)\nglide (5) secs to x: (0) y: (0)\nrepeat (10)\n    change [brightness v] effect by (2)\nend\nwait (1) seconds\nbroadcast (Start Boss Fight v)\n\nwhen I receive [flapping v]\nforever\n    repeat (4)\n        next costume\n        change y by (1)\n        wait (0.03) seconds\n    end\n    wait (0.05) seconds\n    repeat (4)\n        switch costume to ((costume [number v]) - (1))\n        change y by (-1)\n        wait (0.03) seconds\n    end\n    wait (0.3) seconds\nend\n\nwhen I receive [start boss fight v]\n\nwhen flag clicked\nhide\n\nwhen I receive [pos. 1 v]\nglide (1) secs to x: (0) y: (0)\n\nwhen I receive [pos. 2 v]\nglide (1) secs to x: (-150) y: (0)\n\nwhen I receive [pos.3 v]\nglide (1) secs to x: (150) y: (0)\n\n@BossFightPortal\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nset [protected? v] to [0]\ngo to [front v] layer\nhide\nforever\n    go to x: ([x position v] of [player v]) y: (([y position v] of [player v]) + (40))\nend\n\nwhen I receive [start boss fight v]\nset [protected? v] to [no]\nset [portalavailable? v] to [yes]\nrepeat until <(EnergyAbsorbed) > [2.9]>\n    go to [front v] layer\n    if <key (space v) pressed?> then\n        show\n        set [protected? v] to [yes]\n        wait (4) seconds\n        hide\n        set [protected? v] to [no]\n        set [portalavailable? v] to [no]\n        wait (5) seconds\n        set [portalavailable? v] to [yes]\n    end\nend\n\n@Display\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [start boss fight v]\nswitch costume to (display0 v)\ncreate clone of (_myself_ v)\ngo to x: (-210) y: (150)\nrepeat until <(EnergyAbsorbed) > [2.9]>\n    show\n    switch costume to (join [Display] ([floor v] of (EnergyAbsorbed) ))\nend\nswitch costume to (display3 v)\n\nwhen I start as a clone\nswitch costume to (portaldisplay v)\ngo to x: (-160) y: (150)\nrepeat until <(EnergyAbsorbed) > [2.9]>\n    show\n    switch costume to (portaldisplay v)\n    if <(PortalAvailable?) = [no]> then\n        set [brightness v] effect to (0)\n    else\n        set [brightness v] effect to (30)\n    end\nend\ndelete this clone\n\nstop [other scripts in sprite v]\n\n@Warnings\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [start boss fight v]\nwait until <(WhichAttack?) > [3]>\nrepeat until <(EnergyAbsorbed) > [2.9]>\n    if <(WhichAttack?) = [4]> then\n        switch costume to (whichattack?4 v)\n        show\n        repeat (10)\n            hide\n            wait (0.1) seconds\n            show\n        end\n        hide\n        wait until <not <(WhichAttack?) = [4]>>\n    else\n        if <(WhichAttack?) = [5]> then\n            switch costume to (whichattack?5 v)\n            show\n            repeat (10)\n                hide\n                wait (0.1) seconds\n                show\n            end\n            hide\n            wait until <not <(WhichAttack?) = [5]>>\n        else\n            hide\n        end\n    end\nend\nhide\nstop [this script v]\n\nwhen I receive [cut-scene3 v]\nstop [other scripts in sprite v]\n\n