Santa, A Platformer

Instructions: <^>/moblie\nYou must collect all of the presents to move on\nAll levels are possible...\n\nHoHoHo!!!

@Stage\n\n@Level Variable\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\n\n@Santa Variable\n\ndefine Physics\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(x position) < (mouse x)>>> then\n    switch costume to (right v)\n    change [xmovement v] by (2)\nelse\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        switch costume to (left v)\n        change [xmovement v] by (-2)\n    end\nend\nset [xmovement v] to ((Xmovement) * ((0.78) - (Friction)))\nchange x by (Xmovement)\nchange [yv v] by (-1.2)\nif <touching (level variable v)?> then\n    change y by (1)\nend\nif <touching (level variable v)?> then\n    change y by (1)\nend\nif <touching (level variable v)?> then\n    change y by (1)\nend\nif <touching (level variable v)?> then\n    change y by (1)\nend\nif <touching (level variable v)?> then\n    change x by ((Xmovement) * (-1))\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>> then\n        set [yv v] to [15]\n        if <(Xmovement) > [0]> then\n            set [xmovement v] to [-7]\n        else\n            set [xmovement v] to [7]\n        end\n    else\n        set [xmovement v] to [0]\n    end\nend\nchange y by (Yv)\nif <touching (level variable v)?> then\n    change y by ((Yv) - ((Yv) * (2)))\n    set [yv v] to [0]\nend\nchange y by (-1)\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(y position) < (mouse y)>>> and <touching (level variable v)?>> then\n    set [yv v] to [15]\nend\nif <<(Presents) = [1]> and <(x position) > [239]>> then\n    broadcast (next level v)\nend\nif <(y position) < [-179]> then\n    go to x: (-198) y: (-45)\nend\nif <touching (reindeer variable v)?> then\n    set [yv v] to [26]\nend\nif <<<touching (kill variable v)?> or <touching (blah v)?>> or <touching color (#e68200)?>> then\n    go to x: (-182) y: (83)\nend\n\nwhen I receive [next level v]\nset [yv v] to [0]\ngo to x: (-182) y: (83)\n\nwhen I start as a clone\nrepeat (10)\n    change size by (-4)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nswitch costume to (costume1 v)\npoint in direction (90)\nshow\nset [yv v] to [0]\ngo to x: (-182) y: (83)\nset size to (100) %\nforever\n    Physics\nend\n\nwhen flag clicked\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nset volume to (100) %\nforever\n    play sound [techno christmas v] until done\nend\n\nwhen flag clicked\nforever\n    if <<(Volume) = [0]> and <key (m v) pressed?>> then\n        broadcast (no music v)\n        set [volume v] to [1]\n        wait (1) seconds\n    end\n    if <<(Volume) = [1]> and <key (m v) pressed?>> then\n        broadcast (yes music v)\n        set [volume v] to [0]\n        wait (1) seconds\n    end\nend\n\nwhen I receive [yes music v]\nset volume to (100) %\n\nwhen I receive [no music v]\nset volume to (0) %\n\n\n\n@Kill Variable\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\n@Thumbnail Variable\n\nwhen flag clicked\nforever\n    go to [front v] layer\n    show\n    set [ghost v] effect to (100)\nend\n\n@snow variable\n\nwhen flag clicked\nforever\n    set size to (pick random (30) to (60)) %\n    go to x: (pick random (-300) to (300)) y: (200)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nglide (1.5) secs to x: (pick random (-300) to (300)) y: (-180)\ndelete this clone\n\n@Present Variable\n\nwhen I receive [next level v]\nset [presents v] to [0]\nnext costume\n\nwhen flag clicked\nset [xmovement v] to [0]\nswitch costume to (1 v)\n\nwhen flag clicked\nforever\n    if <<(Presents) = [0]> and <touching (santa variable v)?>> then\n        change [presents v] by (1)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Presents) = [1]> then\n        hide\n    end\nend\n\nwhen flag clicked\nset [presents v] to [0]\n\nwhen flag clicked\nforever\n    if <(Presents) = [0]> then\n        show\n    end\nend\n\n@reindeer variable\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen flag clicked\nforever\n    if <touching (santa variable v)?> then\n        switch costume to (kick v)\n    else\n        switch costume to (still v)\n    end\nend\n\nwhen I receive [next level v]\nchange [level v] by (1)\n\nwhen flag clicked\nset [level v] to [0]\n\nwhen flag clicked\nforever\n    if <(level) = [7]> then\n        show\n    else\n        hide\n    end\nend\n\n@extra variable\n\nwhen flag clicked\ngo to [back v] layer\nswitch costume to (costume1 v)\n\nwhen I receive [next level v]\nnext costume\n\n