Santa | A Mobile Platformer

Instructions: @Toonimator\nSo, uh, use arrow keys, WASD or mobile controls, Find Boomer\nand thats basicly it.\nLove, Favorite, and Follow or Boomer will steal your gifts too. \nNote: The intro is exactly 16 seconds long\n

@Stage\n\n@ character\n\nwhen flag clicked\n\ngo to x: (0) y: (200)\n\nset [ghost v] effect to (100)\ngo to [front v] layer\n\nset [yv v] to [5]\n\nset [yv v] to [-1]\n\nset [yv v] to [-5]\n\nwhen I receive [next level v]\nset [yv v] to [0]\nset [xv v] to [0]\ngo to x: (-200) y: (0)\nset [ghost v] effect to (0)\n\nwhen flag clicked\nhide\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\nforever\n    if <touching (spikes v)?> then\n        change [yv v] by (1.3)\n    end\nend\n\nwhen I receive [start v]\nshow\ngo to x: (-200) y: (0)\ngo to [front v] layer\npoint in direction (90)\nset [xvel v] to [0]\nset [yvel v] to [0]\nforever\n    set size to (100) %\n    show\n    set rotation style [all around v]\n    if <<<mouse down?> and <(x position) > (mouse x)>> or <<key (left arrow v) pressed?> or <key (a v) pressed?>>> then\n        change [xv v] by (-1)\n    end\n    if <<<mouse down?> and <(x position) < (mouse x)>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>> then\n        change [xv v] by (1)\n    end\n    set [xv v] to ((Xv) * (0.9))\n    change x by (Xv)\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 x by ((Xv) * (-1))\n                            change y by (-5)\n                            if <<<mouse down?> and <(y position) < (mouse y)>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n                                if <(Xv) > [0]> then\n                                    set [xv v] to [-7]\n                                else\n                                    set [xv v] to [7]\n                                end\n                                set [yv v] to [10]\n                            else\n                                set [xv v] to [ 0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (-1)\n    if <touching (level v)?> then\n        if <<<mouse down?> and <(y position) < (mouse y)>> or <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n            set [yv v] to [14]\n        end\n    end\n    change y by (1)\n    change [yv v] by (-1)\n    set [yv v] to ((Yv) * (0.99))\n    change y by (Yv)\n    if <touching (level v)?> then\n        change y by ((Yv) * (-1))\n        set [yv v] to [0]\n    end\n    hide variable [xv v]\n    if <(x position) > [250]> then\n        broadcast (next level v)\n    end\n    if <(y position) < [-170]> then\n        go to x: (-200) y: (0)\n    end\n    if <<touching (spikes v)?> or <touching (boomer servant v)?>> then\n        repeat (10)\n            change size by (-10)\n            turn right (5) degrees\n        end\n        set [yv v] to [0]\n        set [xv v] to [0]\n        set size to (100) %\n        set [ghost v] effect to (0)\n        go to x: (-200) y: (0)\n        point in direction (90)\n    end\n    if <touching (are  v)?> then\n        set [yv v] to [20]\n    end\n    if <touching ( move fast v)?> then\n        set [xv v] to [21]\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <touching color (#00cccc)?> then\n        if <color (#ffae00) is touching (#00cccc)?> then\n            change [yv v] by (0.07)\n        else\n            set [yv v] to ((Yv) * (0.9))\n            set [yv v] to ((Yv) * (0.9))\n            set [yv v] to ((Yv) * (0.9))\n            set [yv v] to ((Yv) * (0.9))\n            if <key (up arrow v) pressed?> then\n                set [yv v] to [4]\n            end\n        end\n        if <key (up arrow v) pressed?> then\n            change [yv v] by (0.3)\n        end\n        if <key (down arrow v) pressed?> then\n            change [yv v] by (-0.3)\n        end\n        if <key (left arrow v) pressed?> then\n            point in direction (-90)\n            change [xv v] by (-0.3)\n        end\n        if <key (right arrow v) pressed?> then\n            point in direction (90)\n            change [xv v] by (0.3)\n        end\n    end\nend\n\nwhen flag clicked\n\n@level\n\nwhen flag clicked\nhide\n\nwhen I receive [next level v]\nnext costume\n\ngo [forward v] (3) layers\n\nwhen flag clicked\n\nwhen I receive [start v]\nswitch costume to (costume1 v)\ngo [forward v] (6) layers\nshow\n\nwhen flag clicked\nset [level v] to [1]\nset [level v] to (costume [number v])\n\n@intro\n\nwhen flag clicked\nshow\ngo to [back v] layer\nwait (4) seconds\n\nwhen flag clicked\nswitch costume to (costume1 v)\nrepeat (4)\n    wait (4) seconds\n    next costume\nend\nbroadcast (start v)\nhide\n\n@spikes\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nshow\nswitch costume to (costume1 v)\ngo [forward v] (2) layers\n\nif <(costume [number v]) = [5]> then\n    go to x: (29) y: (-17)\nend\n\nchange y by (10)\n\nchange x by (30)\n\nchange x by (-30)\n\n@Sprite1\n\nwhen flag clicked\n\nforever\n\nwhen I start as a clone\ngo to [front v] layer\nset size to (pick random (50) to (100)) %\nset [brightness v] effect to (pick random (0) to (70))\ngo to x: (pick random (-237) to (237)) y: (180)\nrepeat until <<touching (level v)?> or <touching ( character v)?>>\n    change y by (pick random (-3) to (-1))\nend\nwait (0.1) seconds\nif <<touching (level v)?> or <touching ( character v)?>> then\n    repeat (20)\n        change [ghost v] effect by (5)\n    end\nelse\n    repeat until <<touching (level v)?> or <touching ( character v)?>>\n        change y by (pick random (-3) to (-1))\n    end\nend\ndelete this clone\n\nwait (10) seconds\n\nwait (pick random (1) to (3)) seconds\n\nstamp\n\nwhen I receive [start v]\nforever\n    create clone of (_myself_ v)\nend\n\n@Boomer servant\n\ngo to x: (29) y: (-17)\n\nwhen flag clicked\nforever\n    if <(costume [number v]) = [5]> then\n        glide (1) secs to x: (50) y: (23)\n        wait (0.1) seconds\n        glide (1) secs to x: (-30) y: (23)\n    end\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\n\nforever\n\nchange x by (-20)\n\nchange x by (-20)\nwait (0.1) seconds\n\nwhen flag clicked\nrepeat (10)\n    play sound [Lost-Control-Alan-Walker-Sorana v] until done\nend\n\n@thumbnail\n\nwhen flag clicked\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n