Hecklerr platformer
@Stage\n\nwhen flag clicked\nhide variable [mouse v]\nforever\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\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 (egghead 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\nwhen flag clicked\ngo to [front v] layer\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@egghead\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@egg 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
ATTENTION THERE'S EUGENE THE EGGHEAD IN THE PLATFORMER Use the arrow keys to move, when you get your sword, press the space bar to swing. Hop on the trampoline to jump really high. Avoid falling into lava, getting poked by the spikes, and falling to Eugene!! 