Color - Platformer

Instructions: Help Red Sonic defeat Eggman!\n\n< < < How to Play > > >\n<> WASD or Arrow Keys to move!\n<> Run against a wall and hold jump to wall jump!

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [start bruh v]\nswitch backdrop to (backdrop1 v)\n\n@B L A N K\n\nset [level v] to [1]\n\nset [level v] to [2]\n\nset [level v] to [3]\n\nset [level v] to [12]\n\nset [level v] to [5]\n\nset [level v] to [6]\n\nset [level v] to [7]\n\nset [level v] to [9]\n\nset [level v] to [9]\n\n@Astronaut\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\nwhen I receive [bouce v]\nset [yvel v] to [20]\n\nwhen I receive [death v]\ngo to x: (-210) y: (50)\n\nwhen I receive [start bruh v]\nshow\nset [a v] to [0]\ngo to x: (-200) y: (80)\nset [yvel v] to [0]\nset [xvel v] to [0]\nset [dir v] to [0]\nforever\n    change [yvel v] by (-1)\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <(STICK X) < [-0.5]>> then\n        change [xvel v] by (-1)\n        set [dir v] to [Left]\n        point in direction (-90)\n    end\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <[0.5] < (STICK X)>> then\n        change [xvel v] by (1)\n        set [dir v] to [Right]\n        point in direction (90)\n    end\n    set [xvel v] to ((xVel) * (0.9))\n    change x by (xVel)\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 ((xVel) * (-1))\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <[0.5] < (STICK Y)>> then\n            set [yvel v] to [17]\n            if <(xVel) > [0]> then\n                set [xvel v] to [-10]\n            else\n                set [xvel v] to [10]\n            end\n        else\n            set [xvel v] to [0]\n        end\n    end\n    change y by (yVel)\n    if <touching (level v)?> then\n        change y by ((yVel) - ((yVel) * (2)))\n        set [yvel v] to [0]\n    end\n    change y by (-1)\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <[0.5] < (STICK Y)>> and <touching (level v)?>> then\n        set [yvel v] to [15]\n    end\n    change y by (1)\n    if <[220] < (x position)> then\n        change [level v] by (1)\n        set x to (-220)\n    end\n    if <touching (dangerous stuf v)?> then\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        clear graphic effects\n        go to x: (-220) y: (50)\n    end\n    if <key (r v) pressed?> then\n        go to x: (-200) y: (50)\n    end\nend\n\nwhen I receive [start bruh v]\nforever\n    if <touching (checkpoint v)?> then\n        set [a v] to [1]\n    end\nend\n\nwhen I receive [start bruh v]\nset [max health v] to [200]\nset [health v] to (MAX HEALTH)\nforever\n    if <(HEALTH) < [1]> then\n        set [health v] to [0]\n    end\nend\n\nwhen I receive [start bruh v]\nset [max o2 v] to [200]\nset [o2 v] to (MAX O2)\nforever\n    if <(O2) < [1]> then\n        set [o2 v] to [0]\n    end\nend\n\n@Level\n\nwhen flag clicked\nhide\n\nwhen I receive [start bruh v]\ngo to x: (0) y: (0)\nshow\nforever\n    go to [back v] layer\n    switch costume to (Level)\nend\n\n@dAnGeRoUs StUf\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start bruh v]\nshow\n\n@Control Stick\n\nwhen I start as a clone\nswitch costume to (stick v)\ngo [forward v] (1) layers\nset [ghost v] effect to (25)\nforever\n    if <([costume # v] of [mobile v]) = [1]> then\n        set [stick power v] to []\n        set [stick x v] to [0]\n        set [stick y v] to [0]\n        repeat until <mouse down?>\n            go to (myself)\n        end\n        if <(distance to [mouse-pointer v]) < ((size) * (0.6))> then\n            Stick Drag\n        else\n            wait until <not <mouse down?>>\n        end\n        show\n    else\n        hide\n    end\nend\n\ndefine Stick Drag\nrepeat until <not <mouse down?>>\n    go to (mouse-pointer v)\n    point towards (myself)\n    turn right (180) degrees\n    set [stick direction v] to (direction)\n    set [stick power v] to (distance to [(myself) v])\n    if <(STICK POWER) > (max stick)> then\n        move ((max stick) - (STICK POWER)) steps\n        set [stick power v] to (max stick)\n    end\n    set [stick power v] to ((STICK POWER) / (max stick))\n    set [stick x v] to ((STICK POWER) * ([sin v] of (STICK DIRECTION) ))\n    set [stick y v] to ((STICK POWER) * ([cos v] of (STICK DIRECTION) ))\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start bruh v]\nhide\ngo to [front v] layer\nshow\ngo to x: (173) y: (-114)\nset [myself v] to [Control Stick]\nset [max stick v] to ((size) / (4))\nswitch costume to (base v)\nset [ghost v] effect to (60)\ncreate clone of (_myself_ v)\nforever\n    if <([costume # v] of [mobile v]) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\n@space gun\n\nwhen I receive [start bruh v]\nhide\nset [hide gunv v] to [nope]\nforever\n    if <<(collect?) = [true]> or <(hide gunv) = [nope]>> then\n        if <<(.Gun mobile) = [1]> or <key (space v) pressed?>> then\n            if <(collect?) = [true]> then\n                if <[0] < (ammo)> then\n                    change [ammo v] by (-1)\n                    create clone of (bullet v)\n                    wait (0) seconds\n                else\n                    change [ammo v] by (0)\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start bruh v]\nhide\nset [ammo v] to [50]\nset rotation style [left-right v]\nforever\n    go to (astronaut v)\n    if <(dir) = [Right]> then\n        switch costume to (space gun v)\n        change x by (50)\n    end\n    if <(dir) = [Left]> then\n        switch costume to (space gun2 v)\n        change x by (-50)\n    end\n    if <(collect?) = [true]> then\n        show\n    end\nend\n\nwhen flag clicked\nhide\n\n@Enemy\n\ndefine touching player\nif <touching (astronaut v)?> then\n    if <([y position v] of [astronaut v]) > (y position)> then\n        set [tcp v] to [1]\n        broadcast (Bouce v)\n        switch costume to (costume2 v)\n        repeat (10)\n            change [brightness v] effect by (10)\n            change [pixelate v] effect by (5)\n        end\n        hide\n    end\n    if <not <([y position v] of [astronaut v]) > (y position)>> then\n        broadcast (Death v)\n    end\nend\n\nwhen flag clicked\nclear graphic effects\nset [tcp v] to [0]\n\nwhen flag clicked\nhide\n\nwhen I receive [start bruh v]\ngo [backward v] (1) layers\nswitch costume to (costume1 v)\ngo to x: (120) y: (-72)\nshow\nset [enemy y v] to [0]\nforever\n    change [enemy y v] by (-1)\n    change y by (enemy y)\n    if <touching (level v)?> then\n        set [enemy y v] to [0]\n        change y by (1)\n        if <touching (level v)?> then\n            change y by (1)\n            if <touching (level v)?> then\n                change y by (1)\n                if <touching (level v)?> then\n                    change y by (1)\n                    if <touching (level v)?> then\n                        change y by ((yVel) - ((yVel) * (2)))\n                        set [yvel v] to [0]\n                    end\n                    change y by (-1)\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [start bruh v]\nforever\n    if <<(Health) < [0]> or <<(Health) = [0]> or <<(Level) = [2]> or <(Level) = [13]>>>> then\n        repeat (10)\n            change [brightness v] effect by (10)\n            change [pixelate v] effect by (10)\n        end\n        hide\n        repeat until <(Level) = [12]>\n            go to x: (-50) y: (10)\n        end\n    end\nend\n\nwhen I receive [start bruh v]\nset [health v] to [10]\npoint in direction (90)\nclear graphic effects\nforever\n    if <touching (bullet v)?> then\n        change [health v] by (-1)\n    end\nend\n\nwhen I receive [start bruh v]\nforever\n    if <(TCP) = [0]> then\n        repeat (20)\n            switch costume to (costume1 v)\n            move (6) steps\n        end\n        repeat (20)\n            switch costume to (costume4 v)\n            move (-6) steps\n        end\n    end\nend\n\nforever\n\n\n\nwhen I receive [start bruh v]\nforever\n    touching player\nend\n\nwhen flag clicked\nwait until <[12] = (Level)>\nset [tcp v] to [0]\nclear graphic effects\nshow\n\n@Bullet\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nif <(hide gunv) = [nope]> then\n    if <[true] = (collect?)> then\n        if <(ammo) > [0]> then\n            show\n            go to (space gun v)\n            change y by (5)\n            if <(dir) = [Right]> then\n                change x by (22)\n                repeat until <<<touching (enemy v)?> or <<touching (_edge_ v)?> or <(dir) = [Left]>>> or <touching (level v)?>>\n                    move (9) steps\n                end\n                delete this clone\n            end\n            if <(dir) = [Left]> then\n                change x by (-22)\n                repeat until <<<<touching (_edge_ v)?> or <(dir) = [Right]>> or <touching (enemy v)?>> or <touching (level v)?>>\n                    move (-9) steps\n                end\n                delete this clone\n            end\n        end\n    else\n        hide\n    end\nend\n\n\n\nwhen flag clicked\nhide\n\n@collect space gun pew pew\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set [on v] to [on]\n    else\n        set [on v] to [off]\n    end\n    if <<(Level) = [2]> or <[1] < (Level)>> then\n        hide\n    end\nend\n\nwhen flag clicked\nset [iof v] to [0]\nwait until <touching (astronaut v)?>\ngo to [back v] layer\nhide\nset [iof v] to [1]\nset [collect? v] to [true]\nset [on v] to [off]\n\nwhen flag clicked\nset [collect? v] to [false]\nhide\n\nwhen I receive [start bruh v]\nset [fr v] to [0]\ngo to [front v] layer\nshow\ngo to x: (0) y: (0)\nforever\n    change [fr v] by (10)\n    change y by ([sin v] of (Fr) )\nend\n\n@minecraft thingy\n\nwhen flag clicked\nhide\n\nwhen I receive [start bruh v]\nforever\n    go to (mouse-pointer v)\n    if <(on) = [on]> then\n        go to [front v] layer\n        show\n    else\n        go to [back v] layer\n        hide\n    end\n    if <(iOF) = [1]> then\n        go to [back v] layer\n        hide\n    end\nend\n\n@PARTICALS\n\nwhen flag clicked\nhide\ngo to [back v] layer\nswitch costume to (תלבושת1 v)\n\ndefine PARTICALS (r)\nrepeat (r)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nshow\nset x to (0)\nset y to (0)\nswitch costume to (תלבושת2 v)\nBOOM [0.1] [5] (pick random (1) to (2)) (pick random (Y) to ((Y) - (2)))\n\ndefine BOOM (c) (x) (1/2) (y)\nset [y v] to (y)\nif <[1] = (1/2)> then\n    set [c v] to (c)\n    set [x v] to ((-1) * (x))\nelse\n    set [c v] to ((-1) * (c))\n    set [x v] to (x)\nend\nrepeat until <touching (_edge_ v)?>\n    change y by (Y)\n    change x by (X)\n    change [y v] by (-1)\n    change [x v] by (C)\nend\ndelete this clone\n\n@Intro\n\ndefine size effect\nset [size eff v] to [0]\nwait (0.2) seconds\nrepeat (10)\n    change [size eff v] by (1)\n    change size by (size eff)\nend\nset [size eff v] to [0]\nrepeat (10)\n    turn left (-5) degrees\n    change [size eff v] by (-5)\n    change [ghost v] effect by (10)\n    change size by (size eff)\nend\nbroadcast (start bruh v)\nhide\n\nwhen flag clicked\nsetup intro\nsize effect\n\ndefine setup intro\npoint in direction (90)\nif <<(current [date v]) < [25]> and <(current [month v]) = [12]>> then\n    switch costume to (christmas edition v)\nelse\n    switch costume to (logo v)\nend\nset size to (100) %\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (0.1) seconds\n\n@Music chosen by mixible \n\nwhen I receive [start bruh v]\nset volume to (100) %\nforever\n    play sound [Music v] until done\nend\n\nwhen flag clicked\nstop all sounds\n\n@tb\n\nwhen flag clicked\nforever\n    go to x: (0) y: (0)\n    show\n    clear graphic effects\n    set [ghost v] effect to (100)\n    go to [front v] layer\nend\n\n@settings\n\nwhen this sprite clicked\nbroadcast (Settings v)\nhide\n\nwhen I receive [start bruh v]\nforever\n    if <(settings on/off) = [Settings On]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [start bruh v]\ngo to x: (-210) y: (149)\nswitch costume to (icon v)\nset size to (90) %\n\nwhen flag clicked\nhide\n\n@settings page\n\nwhen flag clicked\nset [settings on/off v] to [Settings Off]\ngo to [back v] layer\nhide\n\nwhen I receive [settings v]\ngo to [front v] layer\nset [settings on/off v] to [Settings On]\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nshow\nrepeat (5)\n    change [ghost v] effect by (-20)\nend\n\nwhen this sprite clicked\nset [settings on/off v] to [Settings Off]\nrepeat (5)\n    change [ghost v] effect by (20)\nend\n\n@text\n\nwhen flag clicked\nhide\n\nwhen I receive [start bruh v]\nshow\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\n    if <touching (astronaut v)?> then\n        set [ghost v] effect to (50)\n    else\n        set [ghost v] effect to (0)\n    end\nend\n\n@Mobile\n\nwhen flag clicked\ngo to [back v] layer\nswitch costume to (on v)\ngo to x: (-171) y: (81)\nforever\n    if <(settings on/off) = [Settings On]> then\n        go to [front v] layer\n        show\n        if <mouse down?> then\n            if <touching (mouse-pointer v)?> then\n                next costume\n                wait until <not <mouse down?>>\n            end\n        end\n    else\n        hide\n    end\nend\n\n@shoot\n\nwhen flag clicked\nshow list [users v]\nshow list [people v]\nhide\nset size to (130) %\nset [ghost v] effect to (43)\n\nwhen I receive [start bruh v]\nforever\n    if <mouse down?> then\n        if <touching (mouse-pointer v)?> then\n            set [.gun mobile v] to [1]\n        end\n    else\n        set [.gun mobile v] to [0]\n    end\n    if <([costume # v] of [mobile v]) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nadd (username) to [users v]\nif <<<<(username) = [Griffpatch]> or <(username) = [TimMcCool]>> or <(username) = [will_wam]>> or <(username) = [GentleX]>> then\n    add (username) to [people v]\nend\n\n@ammo\n\nwhen flag clicked\nhide\n\nwhen I receive [start bruh v]\nset [fr2 v] to [0]\ngo to x: (0) y: (0)\nforever\n    change [fr2 v] by (10)\n    change y by ([sin v] of (fr2) )\nend\n\nwhen I receive [start bruh v]\nrepeat until <touching (astronaut v)?>\n    if <(Level) = [10]> then\n        show\n    else\n        hide\n    end\nend\nset [ammo v] to [50]\nhide\n\n@W A L L   E\n\nwhen flag clicked\nhide\n\n@BAZOOKA\n\nwhen I receive [start bruh v]\nset [fr v] to [0]\ngo to [front v] layer\ngo to x: (0) y: (0)\nforever\n    change [fr v] by (10)\n    change y by ([sin v] of (Fr) )\nend\n\nwhen flag clicked\nset [iof v] to [0]\nwait until <touching (astronaut v)?>\ngo to [back v] layer\nhide\nset [bzk v] to [1]\nset [collect bzk v] to [true]\nset [on v] to [off]\n\nwhen flag clicked\nforever\n    if <touching (mouse-pointer v)?> then\n        set [on v] to [on]\n    else\n        set [on v] to [off]\n    end\n    if <<(Level) = [14]> or <[13] < (Level)>> then\n        hide\n    end\nend\n\nwhen flag clicked\nset [collect bzk v] to [false]\nhide\n\n@war-rocket-missile-launch-svgrepo-com\n\n