Saving Santa! Platformer #Games #All

Instructions: NOTICE: *DO NOT SPAM THE SWORD, IT CAN BRING LAG*\n\nSanta has been kidnapped! We must save him before Christmas! Use your weapons to destroy slimes, and use your skills to avoid spikes and lava!\n\nInstead of just jumping, there is another way to solve level 10..\n

@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\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@Arrow1\n\nwhen flag clicked\nhide\n\n