Awesome Platformer

Instructions: Black - Ground\nRed - Danger\nBlue - Speed\nGreen - Bounce\nPurple - Enhanced Gravity\n=================================================\nPress sound button to toggle mute. Press different costumes to switch your costume. All levels are 100% possible.\n*Note* - Some levels cannot be beaten by certain characters.

@Stage\n\nwhen flag clicked\nclear graphic effects\n\n@Player\n\nwhen flag clicked\nshow variable [progress display v]\nset [costume v] to [6]\nset [margain v] to [10]\nshow\nclear graphic effects\nswitch costume to (join [Player] (Costume))\nReset Position Left\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    switch costume to (join [Player] (Costume))\n    change [y v] by (-0.5)\n    if <key (left arrow v) pressed?> then\n        change [x v] by (-1)\n    end\n    if <key (right arrow v) pressed?> then\n        change [x v] by (1)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <<touching (ground v)?> and <touching color (#000000)?>> then\n        change y by (1)\n        if <<touching (ground v)?> and <touching color (#000000)?>> then\n            change y by (1)\n            if <<touching (ground v)?> and <touching color (#000000)?>> then\n                change y by (1)\n                if <<touching (ground v)?> and <touching color (#000000)?>> then\n                    change y by (1)\n                    if <<touching (ground v)?> and <touching color (#000000)?>> then\n                        change y by (1)\n                        if <<touching (ground v)?> and <touching color (#000000)?>> then\n                            change y by (1)\n                            if <<touching (ground v)?> and <touching color (#000000)?>> 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)?> and <touching color (#000000)?>> then\n        change y by ((y) * (-1))\n        set [y v] to [0]\n    end\n    change y by (-0.5)\n    if <key (up arrow v) pressed?> then\n        if <<touching (ground v)?> and <touching color (#000000)?>> then\n            set [y v] to [10]\n        else\n            change y by ((-1) * (Margain))\n            if <<touching (ground v)?> and <touching color (#000000)?>> then\n                set [y v] to [10]\n            end\n            change y by (Margain)\n        end\n    end\n    change y by (0.5)\nend\n\nwhen flag clicked\ngo to [front v] layer\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    switch costume to (join [Player] (Costume))\n    if <(x position) > [230]> then\n        broadcast (next level v)\n        Reset Position Left\n    end\n    if <<touching color (#ff0000)?> and <touching (ground v)?>> then\n        Reset Position Left\n    end\n    if <<touching color (#003fff)?> and <touching (ground v)?>> then\n        change [x v] by ((x) / (5))\n    end\n    if <<touching color (#00ff55)?> and <touching (ground v)?>> then\n        set [y v] to [20]\n    end\n    if <<touching color (#7f00ff)?> and <touching (ground v)?>> then\n        set [y v] to [-20]\n    end\nend\n\ndefine Reset Position Left\nset [x v] to [0]\nset [y v] to [0]\ngo to x: (-200) y: (15)\n\ndefine Reset Position Right\nset [x v] to [0]\nset [y v] to [0]\nif <(Level) = [7]> then\n    go to x: (200) y: (-50)\nelse\n    if <(Level) = [8]> then\n        go to x: (200) y: (150)\n    else\n        if <(Level) = [12]> then\n            go to x: (-150) y: (30)\n        else\n            if <(Level) = [14]> then\n                go to x: (200) y: (-70)\n            else\n                if <(Level) = [5]> then\n                    go to x: (75) y: (15)\n                else\n                    go to x: (200) y: (15)\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nclear graphic effects\nrepeat (20)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\ndefine change x by (x)\nrepeat (20)\n    change x by ((x) / (20))\n    if <not <<(Costume) = [4]> or <<(Costume) = [5]> or <(Costume) = [8]>>>> then\n        turn right ((x) / (10)) degrees\n    else\n        turn right (x) degrees\n    end\nend\n\nwhen flag clicked\nset [height of menu v] to [-130]\nforever\n    if <key (down arrow v) pressed?> then\n        if <(Costume) = [11]> then\n            set [y v] to [-20]\n        end\n    end\n    if <key (space v) pressed?> then\n        if <(Costume) = [1]> then\n            if <(x) > [0]> then\n                change [x v] by (25)\n            end\n            if <(x) < [0]> then\n                change [x v] by (-25)\n            end\n            wait until <not <key (space v) pressed?>>\n        end\n    end\nend\n\n@Ground\n\nwhen flag clicked\nset [level v] to [1]\nset [total levels v] to [24]\ngo to [back v] layer\ngo to x: (0) y: (0)\nforever\n    switch costume to (join [Level ] (Level))\n    Set Progress (round ((((Level) - (1)) / ((total levels) - (1))) * (100)))\nend\n\nwhen I receive [next level v]\nif <(Level) = (total levels)> then\n    hide variable [progress display v]\n    stop [all v]\nend\nif <(Level) < (total levels)> then\n    change [level v] by (1)\nend\n\ndefine Set Progress (progress)\nset [progress display v] to (progress)\nset [progress v] to (progress)\nrepeat ((3) - (length of (progress)))\n    set [progress display v] to (join [ ] (Progress Display))\nend\nset [progress display v] to (join (Progress Display) [%])\n\nset [progress display v] to []\nrepeat (progress)\n    set [progress display v] to (join (Progress Display) [|])\nend\nrepeat ((100) - (progress))\n    set [progress display v] to (join (Progress Display) [ ])\nend\nif <(length of (progress)) = [1]> then\n    set [progress display v] to (join (Progress Display) (join [   ] (join (progress) [%])))\nelse\n    if <(length of (progress)) = [2]> then\n        set [progress display v] to (join (Progress Display) (join [  ] (join (progress) [%])))\n    else\n        set [progress display v] to (join (Progress Display) (join [ ] (join (progress) [%])))\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\nhide\ngo to [front v] layer\n\ndefine thumbnail\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\n\n@Display Player1\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (-220) y: (Height of Menu)\n    if <(Costume) = [1]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (player1 v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-220) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-220) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [1]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to [1]\nend\n\n@Display Player2\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (-180) y: (Height of Menu)\n    if <(Costume) = [2]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (coming soon v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-180) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-180) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [2]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to (Costume)\nend\n\nset [costume v] to [2]\n\n@Display Player3\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (-140) y: (Height of Menu)\n    if <(Costume) = [3]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (coming soon v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-140) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-140) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [3]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to (Costume)\nend\n\nset [costume v] to [3]\n\n@Display Player4\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (-100) y: (Height of Menu)\n    if <(Costume) = [4]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [4]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to [4]\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (player4 v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-100) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-100) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\n@Display Player5\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (-60) y: (Height of Menu)\n    if <(Costume) = [5]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (coming soon v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-60) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-60) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [5]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to (Costume)\nend\n\nset [costume v] to [5]\n\n@Display Player6\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (-20) y: (Height of Menu)\n    if <(Costume) = [6]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (player6 v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-20) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (-20) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [6]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to [6]\nend\n\n@Display Player7\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (20) y: (Height of Menu)\n    if <(Costume) = [7]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (coming soon v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (20) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (20) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [7]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to (Costume)\nend\n\nset [costume v] to [7]\n\n@Display Player8\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (60) y: (Height of Menu)\n    if <(Costume) = [8]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (coming soon v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (60) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (60) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [8]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to (Costume)\nend\n\nset [costume v] to [8]\n\n@Display Player9\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (100) y: (Height of Menu)\n    if <(Costume) = [9]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (coming soon v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (100) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (100) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [9]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to (Costume)\nend\n\nset [costume v] to [9]\n\n@Display Player10\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (140) y: (Height of Menu)\n    if <(Costume) = [10]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (player10 v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (140) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (140) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [10]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to [10]\nend\n\n@Display Player11\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (180) y: (Height of Menu)\n    if <(Costume) = [11]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (basketball v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (180) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (180) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [11]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to [11]\nend\n\n@Display Player12\n\nwhen flag clicked\nset size to (75) %\ngo to [front v] layer\ncreate clone of (_myself_ v)\nforever\n    wait until <((Pause) mod (2)) = [0]>\n    go to x: (220) y: (Height of Menu)\n    if <(Costume) = [12]> then\n        set size to (100) %\n        switch costume to (activated v)\n    else\n        set size to (75) %\n        switch costume to (display v)\n    end\nend\n\nwhen I start as a clone\nset size to (75) %\ngo to [front v] layer\nswitch costume to (coming soon v)\nforever\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (220) y: (Height of Menu)\n        change size by (2)\n    end\n    repeat (12)\n        wait until <<((Pause) mod (2)) = [0]> or <((Delag?) mod (2)) = [1]>>\n        turn right (5) degrees\n        go to x: (220) y: (Height of Menu)\n        change size by (-2)\n    end\nend\n\nwhen this sprite clicked\nif <<not <(Costume) = [12]>> and <((Pause) mod (2)) = [0]>> then\n    set [costume v] to (Costume)\nend\n\n@Switch for DeLag\n\nwhen this sprite clicked\nnext costume\nchange [delag? v] by (1)\n\nwhen flag clicked\nhide\nset [delag? v] to [0]\nswitch costume to (on v)\nforever\n    go to x: (220) y: (160)\nend\n\nwhen I receive [unpause v]\nhide\n\nwhen I receive [pause v]\nshow\n\n@Sound\n\nwhen flag clicked\nhide\nset [color v] to [Black]\nset [volume v] to [0]\nhide variable [volume v]\nswitch costume to (sound highblack v)\nset size to (50) %\nset [play? v] to [1]\nforever\n    set size to (25) %\n    go to x: (-80) y: (30)\n    if <touching color (#000000)?> then\n        set [color v] to [Grey]\n    else\n        set [color v] to [Black]\n    end\n    go to [front v] layer\nend\n\nwhen flag clicked\nSetup\nforever\n    set [song v] to (pick random (1) to (length of [song names v]))\n    play sound (item (Song) of [song names v]) until done\nend\n\nwhen this sprite clicked\nchange [play? v] by (1)\nswitch costume to (join [Sound Off] (Color))\nif <((Play?) mod (2)) = [0]> then\n    set [volume v] to [0]\n    set volume to (0) %\nelse\n    set volume to (100) %\nend\n\ndefine Setup\ndelete (all) of [song names v]\nLog Song [Candy]\nLog Song [Believer]\nLog Song [Marbles]\nLog Song [Immortals]\n\nwhen flag clicked\nforever\n    set volume to (Volume) %\n    if <(Volume) > [66]> then\n        switch costume to (join [Sound High] (Color))\n    else\n        if <(Volume) > [33]> then\n            switch costume to (join [Sound Mid] (Color))\n        else\n            if <(Volume) > [0]> then\n                switch costume to (join [Sound Low] (Color))\n            else\n                switch costume to (join [Sound Off] (Color))\n            end\n        end\n    end\nend\n\nset [song v] to (NextSong)\nset [change songs? v] to [0]\nset [song timer v] to [0]\nset [song name v] to (item (Song) of [song names v])\nstart sound (Song Name)\nwait until <<(change songs?) = [1]> or <(Song Timer) = []>>\nif <(Song Timer) = []> then\n    set [nextsong v] to ((Song) + (1))\nend\n\ndefine Log Song (song)\nadd (song) to [song names v]\n\nwhen I receive [pause v]\nshow variable [volume v]\nshow\n\nwhen I receive [unpause v]\nhide variable [volume v]\nhide\n\n@Pause\n\nwhen flag clicked\nset [pause v] to [0]\nset [color v] to [Black]\nforever\n    show\n    go to x: (-433) y: (0)\n    if <((Pause) mod (2)) = [0]> then\n        switch costume to (join [0] (Color))\n    else\n        switch costume to (join [1] (Color))\n    end\n    if <<touching color (#000000)?> and <not <touching (player v)?>>> then\n        set [color v] to [White]\n    else\n        set [color v] to [Black]\n    end\n    go to [front v] layer\nend\n\nwhen I start as a clone\nhide\nclear graphic effects\nset [ghost v] effect to (50)\ngo to x: (0) y: (0)\nswitch costume to (back v)\ngo to [front v] layer\ngo [backward v] (1) layers\nshow\nwait until <((Pause) mod (2)) = [1]>\nwait until <((Pause) mod (2)) = [0]>\ndelete this clone\n\nwhen flag clicked\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        wait until <not <mouse down?>>\n        if <((Pause) mod (2)) = [0]> then\n            broadcast (Pause v)\n        else\n            broadcast (Unpause v)\n        end\n        change [pause v] by (1)\n    end\nend\n\nwhen I receive [pause v]\ncreate clone of (_myself_ v)\ncreate clone of (bar v)\n\n@Bar\n\nwhen flag clicked\nset [volume v] to [100]\ngo to x: (75) y: (30)\nforever\n    set size to (150) %\n    go to [front v] layer\n    switch costume to (dot v)\n    if <((Pause) mod (2)) = [0]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen flag clicked\nforever\n    if <((Pause) mod (2)) = [1]> then\n        wait until <<not <mouse down?>> or <((Pause) mod (2)) = [0]>>\n        if <((Pause) mod (2)) = [1]> then\n            wait until <<mouse down?> or <((Pause) mod (2)) = [0]>>\n            if <((Pause) mod (2)) = [1]> then\n                if <touching (mouse-pointer v)?> then\n                    repeat until <not <mouse down?>>\n                        if <<(mouse x) > [-21]> and <(mouse x) < [85]>> then\n                            set [volume v] to ((mouse x) + (19))\n                            go to x: (mouse x) y: (30)\n                        else\n                            if <(mouse x) < [-20]> then\n                                go to x: (-25) y: (30)\n                            end\n                            if <(mouse x) > [84]> then\n                                go to x: (75) y: (30)\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    go to [front v] layer\nend\n\nwhen I start as a clone\ngo to [front v] layer\nforever\n    show\n    go to x: (-25) y: (30)\n    set size to (150) %\n    switch costume to (bar v)\n    if <((Pause) mod (2)) = [0]> then\n        delete this clone\n    else\n        show\n    end\nend\n\n@Progress Bar\n\nwhen flag clicked\nclear graphic effects\nset [ghost v] effect to (100)\nshow\nset [progress bar height v] to [-160]\ndraw\n\ndefine draw\nerase all\nset pen size to (25)\nset pen color to (#ffffff)\ngo to x: (-200) y: (Progress Bar Height)\npen down\ngo to x: (200) y: (Progress Bar Height)\npen up\nset pen color to (#00c137)\ngo to x: (-200) y: (Progress Bar Height)\npen down\ngo to x: (200) y: (Progress Bar Height)\npen up\nset pen color to (#c10000)\ngo to x: (-200) y: (Progress Bar Height)\npen down\ngo to x: ((-200) + ((Progress) * (4))) y: (Progress Bar Height)\npen up\n\nwhen I receive [next level v]\ndraw\n\n