Blob Dungeon (A creative platformer)

Instructions: Welcome to Blob Dungeon! In the making for 6+ months! You are a blob that has found himself in a deadly dungeon! Make your way through while collecting coins and smashing enemies!\n++++++++++++++-Instructions-+++++++++++\n-Arrow keys\n- Jump and click down-arrow to ground-pound\n-Collect coins\n-Ground pound on enemies to collect points\n-Must have the max amount of points to pass level\n-Press "s" to skip

@Stage\n\nwhen flag clicked\nforever\n    set [brightness v] effect to (-25)\nend\n\n@Ground\n\nwhen flag clicked\nforever\n    switch costume to (Level)\n    go to x: (0) y: (0)\n    set [brightness v] effect to (-5)\nend\n\nwhen flag clicked\npoint in direction (90)\n\nwhen flag clicked\nforever\n    play sound [Music v] until done\nend\n\n@Player\n\nwhen flag clicked\nset rotation style [left-right v]\ngo to x: (-180) y: (-120)\nswitch costume to (hitbox v)\nforever\n    switch costume to (hitbox v)\n    change [y v] by (-0.5)\n    if <key (left arrow v) pressed?> then\n        change [x v] by (-0.8)\n        switch costume to (hitbox v)\n    end\n    if <key (right arrow v) pressed?> then\n        change [x v] by (0.8)\n        switch costume to (costume1 v)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching (ground2 v)?> then\n        change y by (1)\n        if <touching (ground2 v)?> then\n            change y by (1)\n            if <touching (ground2 v)?> then\n                change y by (1)\n                if <touching (ground2 v)?> then\n                    change y by (1)\n                    if <touching (ground2 v)?> then\n                        change y by (1)\n                        if <touching (ground2 v)?> then\n                            change y by (1)\n                            if <touching (ground2 v)?> then\n                                change y by (-6)\n                                if <key (up arrow v) pressed?> then\n                                    set [y v] to [10]\n                                    if <(x) > [0]> then\n                                        set [x v] to [-10]\n                                    else\n                                        set [x v] to [10]\n                                    end\n                                else\n                                    change x by ((x) * (-1))\n                                    set [x v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    switch costume to (costume1 v)\n    change y by (y)\n    if <touching (ground2 v)?> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-0.5)\n    if <<touching (ground2 v)?> and <key (up arrow v) pressed?>> then\n        set [y v] to [8]\n    end\n    change y by (0.5)\nend\n\n\n\nwhen flag clicked\nset [groundpound v] to [0]\nforever\n    if <<touching (enemy 1 v)?> and <(Groundpound) = [1]>> then\n        broadcast (Enemy Die v)\n        start sound [Pew v]\n        change [score v] by (1)\n        change [collected v] by (1)\n    else\n        if <<touching (enemy 1 v)?> and <(Groundpound) = [0]>> then\n            start sound [Oops v]\n            broadcast (Player Death v)\n            go to x: (-165) y: (-120)\n        end\n    end\nend\n\nwhen I receive [enemy die v]\nset [y v] to [9]\nset [groundpound v] to [0]\n\nwhen I receive [groundpound v]\nset [groundpound v] to [1]\nchange [y v] by (-8)\nwait until <touching (ground v)?>\nset [groundpound v] to [0]\n\nwhen flag clicked\nforever\n    if <<touching (coin v)?> or <touching (coin 2 v)?>> then\n        change [collected v] by (1)\n        change [score v] by (1)\n        broadcast (Coin v)\n        start sound [Collect v]\n        wait (.5) seconds\n    end\nend\n\nwhen flag clicked\nset [level v] to [1]\n\nwhen flag clicked\n\nwhen flag clicked\nforever\n    if <<touching (flag v)?> and <(Collected) = (Collected Max)>> then\n        set [collected v] to [0]\n        change [level v] by (1)\n        go to x: (-180) y: (-120)\n        broadcast (Next Level v)\n        broadcast (Clone v)\n        play sound [Tada v] until done\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (spikes v)?> then\n        set [groundpound v] to [0]\n        start sound [Oops v]\n        go to x: (-180) y: (-120)\n        set [x v] to [0]\n    end\nend\n\nwhen flag clicked\nset [collected v] to [0]\nforever\n    if <(Level) = [1]> then\n        set [collected max v] to [3]\n    else\n        if <(Level) = [2]> then\n            set [collected max v] to [2]\n        else\n            if <(Level) = [3]> then\n                set [collected max v] to [3]\n            else\n                if <(Level) = [4]> then\n                    set [collected max v] to [4]\n                else\n                    if <(Level) = [5]> then\n                        set [collected max v] to [5]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [next level v]\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\nend\n\nwhen flag clicked\nforever\n    if <<key (down arrow v) pressed?> and <not <touching (ground v)?>>> then\n        broadcast (Groundpound v)\n    else\n        set [groundpound v] to [0]\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching (enemy 2 v)?> and <(Groundpound) = [1]>> then\n        broadcast (Enemy 2 die v)\n        start sound [Pew v]\n        change [score v] by (1)\n        change [collected v] by (1)\n    else\n        if <<touching (enemy 2 v)?> and <(Groundpound) = [0]>> then\n            start sound [Oops v]\n            broadcast (Player Death v)\n            go to x: (-165) y: (-120)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching (ground v)?> then\n        set [groundpound v] to [0]\n    end\nend\n\nstop [this script v]\n\n\n    set [groundpound v] to [0]\nend\n\nwhen I receive [skip v]\ngo to x: (-180) y: (-120)\n\nwait (000.1) seconds\nif <<touching (coin v)?> or <touching (coin 2 v)?>> then\n    change [collected v] by (1)\n    change [score v] by (1)\n    broadcast (Coin v)\n    start sound [Collect v]\n    wait (.5) seconds\nend\n\nwait (000.1) seconds\n\n@Wall\n\nwhen flag clicked\nforever\n    hide\nend\n\ngo to x: (0) y: (0)\nset size to (500) %\ngo to [back v] layer\n\n@Double\n\nwhen flag clicked\n\nhide\n\nshow\nset rotation style [left-right v]\ngo to x: (-190) y: (-110)\nforever\n    change [y v] by (-0.5)\n    if <key (left arrow v) pressed?> then\n        point in direction (90)\n        change [x v] by (-1)\n        switch costume to (costume2 v)\n    end\n    if <key (right arrow v) pressed?> then\n        point in direction (-90)\n        change [x v] by (1)\n        switch costume to (costume1 v)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change y by (1)\n                        if <touching (ground v)?> then\n                            change y by (1)\n                            if <touching (ground v)?> then\n                                change y by (-6)\n                                if <key (up arrow v) pressed?> then\n                                    set [y v] to [10]\n                                    if <(x) > [0]> then\n                                        set [x v] to [-10]\n                                    else\n                                        set [x v] to [10]\n                                    end\n                                else\n                                    change x by ((x) * (-1))\n                                    set [x v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (y)\n    if <touching (ground v)?> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-0.5)\n    if <<touching (ground v)?> and <key (up arrow v) pressed?>> then\n        set [y v] to [7]\n    end\n    change y by (0.5)\nend\n\n@Enemy 1\n\nwhen I start as a clone\nforever\n    if <(Level) = [6]> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [1]> then\n        create clone of (_myself_ v)\n    end\n    stop [this script v]\nend\n\nwhen I receive [enemy die v]\nforever\n    delete this clone\nend\n\nwhen I start as a clone\nshow\nswitch costume to (costume1 v)\nforever\n    forever\n        switch costume to (costume1 v)\n        wait (.5) seconds\n        switch costume to (costume2 v)\n        wait (.5) seconds\n    end\nend\n\nwhen I start as a clone\nforever\n    if <(Level) = [1]> then\n        go to x: (-130) y: (80)\n        show\n        point in direction (-90)\n        glide (2.5) secs to x: (65) y: (80)\n        point in direction (90)\n        glide (2.5) secs to x: (-130) y: (80)\n    end\nend\n\nwhen flag clicked\nforever\n    hide\nend\n\nwhen I receive [show enemy v]\nshow\n\nwhen I start as a clone\nforever\n    show\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [3]> then\n        create clone of (_myself_ v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\n\nwhen flag clicked\nset [enemy x2 v] to [0]\nforever\n    if <<not <(Level) = [6]>> and <key (s v) pressed?>> then\n        set [collected v] to [0]\n        hide\n        broadcast (Skiip 4 coins v)\n        delete this clone\n    end\nend\n\nwhen I receive [skiip 4 coins v]\nforever\n    if <(Level) = [2]> then\n        hide\n    end\nend\n\nwhen I start as a clone\nforever\n    if <<touching (player v)?> and <(Groundpound) = [1]>> then\n        delete this clone\n    end\nend\n\nwhen I start as a clone\nforever\n    show\n    if <(Level) = [3]> then\n        point in direction (-90)\n        go to x: (-117) y: (-55)\n        glide (2.5) secs to x: (61) y: (-55)\n        point in direction (90)\n        glide (2.5) secs to x: (-117) y: (-55)\n    end\nend\n\nwhen I start as a clone\nforever\n    show\n    if <(Level) = [4]> then\n        go to x: (-71) y: (100)\n        glide (1) secs to x: (17) y: (100)\n        point in direction (90)\n        glide (1) secs to x: (-71) y: (100)\n        point in direction (-90)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [4]> then\n        create clone of (_myself_ v)\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [5]> then\n        create clone of (_myself_ v)\n        stop [this script v]\n    end\nend\n\nwhen I start as a clone\nforever\n    show\n    if <(Level) = [5]> then\n        go to x: (93) y: (106)\n        point in direction (90)\n        glide (1) secs to x: (10) y: (106)\n        point in direction (-90)\n        glide (1) secs to x: (93) y: (106)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [6]> then\n        hide\n    end\nend\n\n@Ground2\n\nwhen flag clicked\ngo to x: (0) y: (4)\nset [ghost v] effect to (99)\nforever\n    switch costume to (Level)\nend\n\n@Coin\n\ndefine Clone At X: (x) Y: (y)\nshow\nset [x v] to (x)\nset [y v] to (y)\ncreate clone of (_myself_ v)\n\nwhen flag clicked\nswitch costume to (coin v)\nforever\n    hide\n    set [brightness v] effect to (-15)\n    set size to (50) %\nend\n\nwhen flag clicked\nforever\n    if <(Collected) = (Collected Max)> then\n        broadcast (Flag On v)\n    end\nend\n\nwhen I start as a clone\nforever\n    set x to (X)\n    set y to (Y)\nend\n\nset [brightness v] effect to (-15)\nset size to (50) %\n\nwhen I start as a clone\nforever\n    next costume\nend\n\nwhen I receive [clone v]\nif <(Level) = [2]> then\n    show\n    Clone At X: [65] Y: [-50]\n    Clone At X: [-47] Y: [-130]\nend\nif <(Level) = [3]> then\n    show\n    Clone At X: [193] Y: [-126]\n    Clone At X: [-24] Y: [118]\nend\nif <(Level) = [4]> then\n    show\n    Clone At X: [197] Y: [-53]\n    Clone At X: [-28] Y: [125]\n    Clone At X: [-205] Y: [-50]\nend\nif <(Level) = [5]> then\n    go to [front v] layer\n    show\n    Clone At X: [-207] Y: [48]\n    Clone At X: [196] Y: [111]\n    Clone At X: [175] Y: [-86]\nend\nif <(Level) = [6]> then\n    go to [front v] layer\n    show\n    Clone At X: [-30] Y: [-130]\n    Clone At X: [0] Y: [-130]\n    Clone At X: [30] Y: [-130]\nend\n\nwhen flag clicked\nif <(Level) = [1]> then\n    Clone At X: [3] Y: [-101]\n    Clone At X: [0] Y: [150]\nend\n\nwhen I start as a clone\nforever\n    if <<touching (player v)?> or <(Level) = [6]>> then\n        delete this clone\n    end\nend\n\ndelete this clone\n\nwhen flag clicked\n\nwhen I receive [skiip 4 coins v]\nif <(Level) = [2]> then\n    show\n    Clone At X: [65] Y: [-50]\n    Clone At X: [-47] Y: [-130]\nend\nif <(Level) = [3]> then\n    show\n    Clone At X: [193] Y: [-126]\n    Clone At X: [-24] Y: [118]\nend\nif <(Level) = [4]> then\n    show\n    Clone At X: [197] Y: [-53]\n    Clone At X: [-28] Y: [125]\n    Clone At X: [-205] Y: [-50]\nend\nif <(Level) = [5]> then\n    go to [front v] layer\n    show\n    Clone At X: [-207] Y: [48]\n    Clone At X: [196] Y: [111]\n    Clone At X: [175] Y: [-86]\nend\nif <(Level) = [6]> then\n    go to [front v] layer\n    show\n    Clone At X: [-30] Y: [-130]\n    Clone At X: [0] Y: [-130]\n    Clone At X: [30] Y: [-130]\nend\n\nwhen I start as a clone\nforever\n    if <<not <(Level) = [6]>> and <key (s v) pressed?>> then\n        broadcast (Skiip 4 coins v) and wait\n        delete this clone\n    end\nend\n\n@Score\n\nwhen flag clicked\nswitch costume to (10 v)\nshow\ngo to [front v] layer\ngo to x: (153) y: (153)\nset [score v] to [0]\nforever\n    switch costume to (letter (1) of (Score))\nend\n\nwait (0.2) seconds\n\n@Score2\n\nwhen flag clicked\nswitch costume to (none v)\n\nwhen flag clicked\ngo to [front v] layer\ngo to x: (165) y: (153)\n\ngo to [front v] layer\n\nwhen flag clicked\nhide\nif <(Score) > [9]> then\n    show\n    forever\n        switch costume to (letter (2) of (Score))\n    end\nend\n\n@Deco\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    show\n    switch costume to (Level)\n    set [ghost v] effect to (0)\n    go to [back v] layer\nend\n\ngo [backward v] (2) layers\n\n@Flag\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [brightness v] effect to (-25)\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nforever\n    if <<not <(Level) = [6]>> and <key (s v) pressed?>> then\n        change [level v] by (1)\n        broadcast (Skip v)\n        wait (.3) seconds\n    end\nend\n\n@Spikes\n\nwhen flag clicked\nset [brightness v] effect to (-20)\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\nend\n\n@Score3\n\nwhen flag clicked\nswitch costume to (10 v)\nshow\ngo to [front v] layer\ngo to x: (-170) y: (153)\nforever\n    switch costume to (letter (1) of (Collected))\nend\n\nwait (0.2) seconds\n\n@Score4\n\nwhen flag clicked\nswitch costume to (10 v)\nshow\ngo to [front v] layer\ngo to x: (-135) y: (153)\nforever\n    switch costume to (letter (1) of (Collected Max))\nend\n\nwait (0.2) seconds\n\n@Sprite2\n\nwhen flag clicked\nset size to (150) %\ngo to x: (-153) y: (162)\n\n@Enemy 2\n\nwhen I start as a clone\nforever\n    if <(Level) = [6]> then\n        delete this clone\n    end\nend\n\nwhen I start as a clone\nforever\n    show\n    if <(Level) = [5]> then\n        go to x: (200) y: (106)\n        point in direction (90)\n        glide (1) secs to x: (10) y: (106)\n        point in direction (-90)\n        glide (1) secs to x: (200) y: (106)\n    end\nend\n\nwhen I start as a clone\nshow\nswitch costume to (costume1 v)\nswitch costume to (costume3 v)\nforever\n    forever\n        switch costume to (costume1 v)\n        wait (.5) seconds\n        switch costume to (costume2 v)\n        wait (.5) seconds\n    end\nend\n\nwhen flag clicked\nhide\nforever\n\nwhen I start as a clone\nforever\n    show\nend\n\nwhen I start as a clone\nforever\n    if <<touching (player v)?> and <(Groundpound) = [1]>> then\n        delete this clone\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [5]> then\n        create clone of (_myself_ v)\n        stop [this script v]\n    end\nend\n\nchange [collected v] by (1)\n\nwhen I receive [enemy 2 die v]\ndelete this clone\n\n@Player2\n\nwhen flag clicked\nforever\n    set x to ([x position v] of [player v])\n    set y to (([y position v] of [player v]) - (3))\n    if <key (left arrow v) pressed?> then\n        point in direction (90)\n    end\n    if <key (right arrow v) pressed?> then\n        point in direction (-90)\n    end\nend\n\n@Thumbnail3\n\nwhen flag clicked\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\n    go to x: (0) y: (0)\nend\n\n