- Glow Platformer Adventure! -

Instructions: if this is too laggy: https://turbowarp.org/448396924 \nPLEASE NO ADS and im sorry its hard :/ \nand its perfectly fine if you dont like this just please tell me why instead of just saying 'i dont like this' or something instructions=================================\n- please spam the flag a few times or else it will be really laggy :P\n- use full screen if you want better graphic effects. don't use full screen if you don't want any lag.\n- arrow keys, WASD or mobile to move\n- don't touch spikes, lava or saws\n- jump pads make you jump higher\n- get all 3 coins to proceed to the next level\n- there are 20 levels to complete\n- rest your mouse/ tap in the top left corner to see which level you're on\nnotes=====================================\n- this is an entry for @ElectromanRocks718's game contest. congrats on 4k @ElectromanRocks718! (yes, I know he's banned :(\n- I know the thumb looks like "dush", it's just the font.\n- i'm sorry I haven't posted a platformer in a long time :P\n- the skin changer is a new thing I've added (credit to the people who gave me the idea by commenting on some of my other platformers) so it might not work that well. if anyone has ideas to improve it feel free to tell me in the comments!\n- all levels are possible.\n- I hope you enjoy, and honest feedback is welcome in the comments as well as reporting any glitches.\ncredits====================================- vexento for the music\n- @electromanrocks718 for the contest\n- I tried to use @antiquark's grass engine but i couldnt get it to work with my platformer :( I'll credit them anyway tho \n- @portishead7 for my awesome logo (used on the thumbnail and the intro)\n- @Aqury for my epic intro!\n- @-Xaf- for the music used in my intro\n- cooltext.com for the text used in the thumbnail and the button design\n- everything else by me.\n\n11/25- fixed the grass on a few of the levels. sorry about that lol (also fixed a few more glitches)\n12/16- YAY I JUST LOADED THIS FOR THE FIRST TIME WITHOUT IT RELOADING ALL THE TABS ON MY CHROMEBOOK :D\nalso 12/16-  made some changes to the layering.\n2/23 (I think)- getting curated by @truegryffindor89 on march 18th! tysm! :))\n3/19 tysm for 550 loves! :D (i still havent beat this game btw)\n3/21 ty for 700 loves (and 1214 messages) xD

@Stage\n\nwhen flag clicked\nhide variable [mouse v]\nforever\n    play sound [Vexento - Tevo \(Original Mix\).mp3 v] until done\nend\n\nwhen [m v] key pressed\nset [mouse v] to (join (mouse x) (join [,] (mouse y)))\nshow variable [mouse v]\n\n@Assets\n\nreset timer\n\n@Player\n\ndefine Gravity (gravity) Jump Height (jump height) Speed (speed) Friction (friction) Slope (slope)\nchange [yv v] by (gravity)\nchange y by (YV)\nif <touching (level v)?> then\n    repeat until <not <touching (level v)?>>\n        change y by ((([abs v] of (YV) ) / (YV)) * (-1))\n    end\n    set [yv v] to (<<key (up arrow v) pressed?> and <(([abs v] of (YV) ) / (YV)) = [-1]>> * (jump height))\nend\nset [xv v] to (((XV) + ((<key (left arrow v) pressed?> * ((speed) * (-1))) + (<key (right arrow v) pressed?> * (speed)))) * (friction))\nchange x by (XV)\nset [slope2 v] to [0]\nrepeat until <<(Slope2) = ((slope) * (-1))> or <not <touching (level v)?>>>\n    change y by (1)\n    change [slope2 v] by (-1)\nend\nif <touching (level v)?> then\n    change y by (Slope2)\n    repeat until <not <touching (level v)?>>\n        change x by ((([abs v] of (XV) ) / (XV)) * (-1))\n    end\nend\nif <touching (end v)?> then\n    change [level v] by (1)\n    broadcast (Next v)\nend\nif <<touching (danger v)?> or <<touching (lava v)?> or <touching (enemy v)?>>> then\n    set [x v] to (x position)\n    set [y v] to (y position)\n    go to x: (-203) y: (-50)\n    broadcast (Death v)\nend\nif <key (right arrow v) pressed?> then\n    point in direction (90)\nend\nif <key (left arrow v) pressed?> then\n    point in direction (-90)\nend\nif <<touching (sword v)?> and <(SWORD) = []>> then\n    set [sword v] to [1]\nend\n\nwhen I receive [play v]\ngo to [front v] layer\nrepeat (1)\n    delete this clone\nend\ngo to x: (-200) y: (-50)\nset [xv v] to [0]\nset [level v] to [1]\nset [yv v] to [1]\nset [sword v] to []\nshow\npoint in direction (90)\nset [switch in progress v] to []\nforever\n    broadcast (Tick v)\n    if <not <(Switch In Progress) = [yes]>> then\n        Gravity [-1] Jump Height [13] Speed [3] Friction [.75] Slope [8]\n    end\nend\n\nwhen I receive [next v]\ngo to x: (-203) y: (-50)\n\nwhen flag clicked\nbroadcast (PLAY v)\n\n@Level\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [play v]\nswitch costume to (1 v)\nshow\n\nwhen I receive [next v]\nrepeat (14)\n    move (0) steps\nend\nswitch costume to (LEVEL)\n\nwhen I receive [death v]\nset [switch in progress v] to [yes]\nset [shake v] to [5]\nrepeat (20)\n    broadcast (SHAKE v)\nend\nset [switch in progress v] to []\ngo to x: (0) y: (0)\n\nwhen I receive [shake v]\ngo to x: (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2)))) y: (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2))))\nchange [shake v] by (-0.25)\n\n@Danger\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [play v]\nshow\nswitch costume to (1 v)\n\nwhen I receive [next v]\nrepeat (14)\n    move (0) steps\nend\nswitch costume to (LEVEL)\n\nwhen I receive [shake v]\ngo to x: (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2)))) y: (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2))))\n\nwhen I receive [death v]\nrepeat (20)\n    move (0) steps\nend\ngo to x: (0) y: (0)\n\n@Particles\n\nwhen flag clicked\nhide\nset [is clone? v] to []\n\nwhen I receive [death v]\nstart sound [Punch Sound Effect v]\nif <not <(Is clone?) = [1]>> then\n    repeat (4)\n        Particles\n    end\nend\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (3))\nset [ghost v] effect to (0)\nset [color v] effect to (pick random (-5) to (5))\nset [brightness v] effect to (pick random (-20) to (0))\nset [is clone? v] to [1]\ngo to x: (X) y: (Y)\nshow\nset [xv v] to (pick random (-10) to (10))\nset [yv v] to (pick random (5) to (30))\nrepeat until <<touching (_edge_ v)?> or <touching (level v)?>>\n    change [yv v] by (-2)\n    set [xv v] to ((xv) * (0.9))\n    set [yv v] to ((yv) * (0.9))\n    change x by (xv)\n    change y by (yv)\n    set x to ((x position) + (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2)))))\n    set y to ((y position) + (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2)))))\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 (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 (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 (1)\n                                                else\n                                                    change y by (-1)\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nrepeat (20)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\ndefine Particles\nrepeat (5)\n    create clone of (_myself_ v)\nend\n\n@End\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [play v]\nshow\ngo to x: (188) y: (-73)\nset [checkpoint x v] to (x position)\nset [checkpoint y v] to (y position)\n\nwhen I receive [next v]\nstart sound [Ding Sound Effect v]\nset [switch in progress v] to [yes]\nswitch costume to (1 v)\nrepeat (4)\n    next costume\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nset [switch in progress v] to []\nif <(LEVEL) = [1]> then\n    go to x: (188) y: (-73)\nelse\n    if <(LEVEL) = [2]> then\n        go to x: (200) y: (-73)\n    else\n        if <(LEVEL) = [3]> then\n            go to x: (208) y: (-73)\n        else\n            if <(LEVEL) = [4]> then\n                go to x: (200) y: (-73)\n            else\n                if <(LEVEL) = [5]> then\n                    go to x: (200) y: (-73)\n                else\n                    if <(LEVEL) = [6]> then\n                        go to x: (200) y: (22)\n                    else\n                        if <(LEVEL) = [7]> then\n                            go to x: (200) y: (-73)\n                        else\n                            if <(LEVEL) = [8]> then\n                                go to x: (200) y: (-73)\n                            else\n                                if <(LEVEL) = [9]> then\n                                    go to x: (200) y: (-73)\n                                else\n                                    if <(LEVEL) = [10]> then\n                                        go to x: (200) y: (-73)\n                                    else\n                                        if <(LEVEL) = [11]> then\n                                            go to x: (-150) y: (95)\n                                        else\n                                            if <(LEVEL) = [12]> then\n                                                go to x: (200) y: (120)\n                                            else\n                                                if <(LEVEL) = [13]> then\n                                                    go to x: (207) y: (-73)\n                                                    set [checkpoint x v] to (x position)\n                                                    set [checkpoint y v] to (y position)\n                                                else\n                                                    if <(LEVEL) = [14]> then\n                                                        hide\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nset [checkpoint x v] to (x position)\nset [checkpoint y v] to (y position)\nswitch costume to (1 v)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nset [ghost v] effect to (0)\n\nwhen I receive [death v]\nrepeat (20)\n    move (0) steps\nend\n\nwhen I receive [shake v]\ngo to x: ((Checkpoint X) + (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2))))) y: ((Checkpoint Y) + (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2)))))\n\n@Lava\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [play v]\nswitch costume to (1 v)\nshow\nforever\n    set y to (([cos v] of ((timer) * (150)) ) * (7))\nend\n\nwhen I receive [next v]\nrepeat (14)\n    move (0) steps\nend\nswitch costume to (LEVEL)\n\nwhen I receive [death v]\nset [shake v] to [5]\nrepeat (20)\n    broadcast (SHAKE v)\nend\ngo to x: (0) y: (0)\n\nwhen I receive [shake v]\ngo to x: (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2)))) y: (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2))))\n\n@Words\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [play v]\nswitch costume to (1 v)\nshow\n\nwhen I receive [next v]\nrepeat (14)\n    move (0) steps\nend\nswitch costume to (LEVEL)\n\nwhen I receive [death v]\nset [shake v] to [5]\nrepeat (20)\n    broadcast (SHAKE v)\nend\ngo to x: (0) y: (0)\n\nwhen I receive [shake v]\ngo to x: (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2)))) y: (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2))))\n\n@Walk particles\n\nwhen flag clicked\nhide\n\nwhen I receive [play v]\nhide\nforever\n    if <(YV) < [0]> then\n        wait until <(YV) = [0]>\n        repeat until <(YV) > [0]>\n            repeat (2)\n                move (0) steps\n            end\n            create clone of (_myself_ v)\n        end\n    end\nend\n\nwhen I start as a clone\ngo to [back v] layer\nset [ghost v] effect to (0)\nset size to (pick random (80) to (120)) %\nshow\npoint in direction (pick random (-360) to (360))\ngo to (player v)\nchange x by (XV)\nchange y by (-20)\nwait (0.075) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\n@Enemy\n\ndefine Gravity (gravity) Jump Height (jump height) Speed (speed) Friction (friction) Slope (slope)\nchange [yv v] by (gravity)\nchange y by (yv)\nif <touching (level v)?> then\n    repeat until <not <touching (level v)?>>\n        change y by ((([abs v] of (yv) ) / (yv)) * (-1))\n    end\n    set [yv v] to (<<(y position) < (([y position v] of [player v]) - (25))> and <(([abs v] of (YV) ) / (YV)) = [-1]>> * (jump height))\nend\nset [xv v] to (((xv) + ((<(x position) > ([x position v] of [player v])> * ((speed) * (-1))) + (<(x position) < ([x position v] of [player v])> * (speed)))) * (friction))\nchange x by (xv)\nset [enemy - slope v] to [0]\nrepeat until <<(Enemy - Slope) = ((slope) * (-1))> or <not <touching (level v)?>>>\n    change y by (1)\n    change [enemy - slope v] by (-1)\nend\nif <touching (level v)?> then\n    change y by (Enemy - Slope)\n    repeat until <not <touching (level v)?>>\n        change x by ((([abs v] of (xv) ) / (xv)) * (-1))\n    end\nend\npoint towards (player v)\nif <(y position) < [-180]> then\n    delete this clone\nend\n\nwhen I receive [play v]\ngo to [front v] layer\nhide\n\nwhen I receive [next v]\nrepeat (1)\n    delete this clone\nend\nrepeat (13)\n    move (0) steps\nend\nif <(LEVEL) = [5]> then\n    Clone at [150] [-80]\nelse\n    if <(LEVEL) = [8]> then\n        Clone at [100] [-80]\n        Clone at [200] [-80]\n    else\n        if <(LEVEL) = [11]> then\n            Clone at [-35] [-86]\n            Clone at [50] [-80]\n            Clone at [150] [-80]\n            Clone at [-127] [86]\n            Clone at [-50] [86]\n            Clone at [50] [86]\n            Clone at [120] [86]\n        else\n            if <(LEVEL) = [12]> then\n                Clone at [-20] [98]\n                Clone at [220] [-85]\n                Clone at [150] [-85]\n                Clone at [50] [-85]\n            else\n                if <(LEVEL) = [14]> then\n                    Clone at [215] [-80]\n                end\n            end\n        end\n    end\nend\n\ndefine Clone at (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nforever\n    if <not <(Switch In Progress) = [yes]>> then\n        Gravity [-1] Jump Height [10] Speed [0.5] Friction [.75] Slope [2]\n    end\nend\n\nwhen I receive [death v]\nrepeat (1)\n    delete this clone\nend\nif <(LEVEL) = [5]> then\n    Clone at [150] [-80]\nelse\n    if <(LEVEL) = [8]> then\n        Clone at [100] [-80]\n        Clone at [200] [-80]\n    else\n        if <(LEVEL) = [11]> then\n            Clone at [-35] [-86]\n            Clone at [50] [-80]\n            Clone at [150] [-80]\n            Clone at [-127] [86]\n            Clone at [-50] [86]\n            Clone at [50] [86]\n            Clone at [120] [86]\n        else\n            if <(LEVEL) = [12]> then\n                Clone at [-20] [98]\n                Clone at [220] [-85]\n                Clone at [150] [-85]\n                Clone at [50] [-85]\n            else\n                if <(LEVEL) = [14]> then\n                    Clone at [215] [-80]\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nforever\n    if <touching (sword v)?> then\n        start sound [Hit v]\n        set [slime x v] to (x position)\n        set [slime y v] to (y position)\n        broadcast (Slime Death v)\n        delete this clone\n    end\nend\n\n@Trampolines\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [play v]\nhide\nset [trampoline x v] to (x position)\nset [trampoline y v] to (y position)\nforever\n    if <not <(Switch In Progress) = [yes]>> then\n        if <touching (player v)?> then\n            start sound [jump v]\n            switch costume to (3 v)\n            set [yv v] to [17]\n        else\n            if <(costume [number v]) > [1]> then\n                switch costume to ((costume [number v]) - (1))\n            end\n        end\n    end\nend\n\nwhen I receive [next v]\nrepeat (14)\n    move (0) steps\nend\nif <(LEVEL) = [6]> then\n    show\n    go to x: (30) y: (-73)\nelse\n    if <(LEVEL) = [9]> then\n        show\n        go to x: (-100) y: (-38)\n    else\n        if <(LEVEL) = [10]> then\n            show\n            go to x: (-100) y: (-38)\n        else\n            if <(LEVEL) = [12]> then\n                show\n                go to x: (-210) y: (-70)\n            else\n                hide\n            end\n        end\n    end\nend\nset [trampoline x v] to (x position)\nset [trampoline y v] to (y position)\n\nwhen I receive [shake v]\ngo to x: ((Trampoline X) + (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2))))) y: ((Trampoline Y) + (pick random (SHAKE) to ((SHAKE) - ((SHAKE) * (2)))))\n\nset [sword v] to [1]\n\n@Sword\n\nwhen flag clicked\nswitch costume to (1 v)\ngo to x: (0) y: (0)\nhide\n\nwhen I receive [play v]\nhide\nswitch costume to (1 v)\nset [sword v] to []\nforever\n    if <not <(Switch In Progress) = [yes]>> then\n        set y to ((([sin v] of ((200) * (timer)) ) * (5)) + (-30))\n        if <(SWORD) = [1]> then\n            start sound [sfx2 v]\n            go to [front v] layer\n            show\n            stop [this script v]\n        end\n    end\nend\n\nwhen I receive [next v]\nrepeat (14)\n    move (0) steps\nend\nif <(LEVEL) = [7]> then\n    show\n    go to x: (0) y: (-30)\nelse\n    if <(SWORD) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [tick v]\nif <(SWORD) = [1]> then\n    go to (player v)\n    point in direction ([direction v] of [player v])\nend\n\nwhen [space v] key pressed\nif <not <(Switch In Progress) = [yes]>> then\n    go to [front v] layer\n    if <(SWORD) = [1]> then\n        switch costume to (1 v)\n        start sound [slash v]\n        repeat (7)\n            next costume\n        end\n        repeat (5)\n            change [ghost v] effect by (20)\n        end\n        switch costume to (1 v)\n        set [ghost v] effect to (0)\n        wait until <not <key (space v) pressed?>>\n    end\nend\n\n@Reccomendation\n\nwhen flag clicked\nhide\n\nwhen I receive [next v]\nrepeat (14)\n    move (0) steps\nend\nhide\nif <(LEVEL) = [14]> then\n    go to x: (24) y: (13)\n    switch costume to (heart v)\n    create clone of (_myself_ v)\n    go to x: (142) y: (-55)\n    switch costume to (star v)\n    create clone of (_myself_ v)\nelse\n    hide\nend\n\nwhen I start as a clone\nset [ghost v] effect to (0)\nset [heart/star y v] to (y position)\nshow\nforever\n    set y to ((Heart/Star Y) + (([sin v] of ((timer) * (200)) ) * (8)))\n    if <touching (player v)?> then\n        start sound [sfx2 v]\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        delete this clone\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nforever\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n@Slime Particles\n\nwhen flag clicked\nhide\nset [is clone? v] to []\n\nwhen I receive [slime death v]\nstart sound [Punch Sound Effect v]\nif <not <(Is clone?) = [1]>> then\n    repeat (4)\n        Particles\n    end\nend\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (3))\nset [ghost v] effect to (0)\nset [color v] effect to (pick random (-5) to (5))\nset [brightness v] effect to (pick random (-30) to (10))\nset [is clone? v] to [1]\ngo to x: (SLIME X) y: (SLIME Y)\nshow\nset [xv v] to (pick random (-8) to (8))\nset [yv v] to (pick random (5) to (20))\nrepeat until <<touching (_edge_ v)?> or <touching (level v)?>>\n    change [yv v] by (-2)\n    set [xv v] to ((xv) * (0.9))\n    set [yv v] to ((yv) * (0.9))\n    change x by (xv)\n    change y by (yv)\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 (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 (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 (1)\n                                                else\n                                                    change y by (-1)\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nrepeat (20)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\ndefine Particles\nrepeat (5)\n    create clone of (_myself_ v)\nend\n\n