Nova: The Platformer

Instructions: ~~~~~~~~~~~~~~~~~~~PLEASE READ~~~~~~~~~~~~~~~~~~~\n✵After the animation in the beginning is over, click anywhere for the controls to start working\n\n✵Use the arrow keys to move around\n\n✵You can use either the up arrow key or the space bar to jump\n\n✵Comment how many deaths you got!\n\nUPDATE:\n\n✵If you hover your mouse over the hint button at the bottom left corner,  it will show a line that gives you the direction of a maybe confusing jump in that level. <33333

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop3 v)\nbroadcast (ahh bear v)\nset [level v] to [0]\n\n@Sprite1\n\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <touching (ground v)?>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\nwhen I receive [start v]\nset rotation style [left-right v]\nset [speed y v] to [0]\nset [falling? v] to [10]\nforever\n    go to [front v] layer\n    change [speed y v] by (-1)\n    change y by (speed y)\n    Touch Ground <(speed y) > [0]>\n    if <key (right arrow v) pressed?> then\n        Walk (90) (4)\n    end\n    if <key (left arrow v) pressed?> then\n        Walk (-90) (-4)\n    end\n    if <<<key (space v) pressed?> or <key (up arrow v) pressed?>> and <(falling?) < [3]>> then\n        set [speed y v] to [12]\n    end\n    if <(y position) < [-160]> then\n        set [speed y v] to [0]\n        broadcast (fall v)\n    end\n    if <touching (goal v)?> then\n        broadcast (win1 v)\n        go to x: (162) y: (100)\n        change [level v] by (1)\n    end\n    if <touching (goal2 v)?> then\n        broadcast (win2 v)\n        change [level v] by (1)\n        go to x: (149) y: (100)\n    end\n    if <touching (goal3 v)?> then\n        broadcast (win3 v)\n        change [level v] by (1)\n        go to x: (154) y: (100)\n    end\n    if <touching (goal4 v)?> then\n        broadcast (win4 v)\n        change [level v] by (1)\n        go to x: (-118) y: (100)\n    end\n    if <touching (goal5 v)?> then\n        change [level v] by (1)\n        broadcast (win5 v)\n        go to x: (0) y: (0)\n    end\n    if <<touching (easteregg v)?> or <touching (easteregg1 v)?>> then\n        broadcast (beforeggunlock v)\n        wait (2) seconds\n        broadcast (eggunlock v)\n        go to x: (152) y: (100)\n    end\n    if <touching (easteregggoal v)?> then\n        broadcast (beforeggwin v)\n        wait (0.1) seconds\n        broadcast (eggwin v)\n        go to x: (-15) y: (0)\n        stop [this script v]\n    end\n    go to [front v] layer\nend\n\nwhen I receive [win1 v]\ngo to x: (110) y: (26)\n\nwhen flag clicked\nset [deaths v] to [0]\nswitch costume to (costume4 v)\nset size to (42) %\ngo to x: (-82) y: (201)\nglide (0.5) secs to x: (-124) y: (-52)\nwait (0.4) seconds\nrepeat until <(costume [number v]) = [9]>\n    next costume\n    wait (0.25) seconds\nend\n\ndefine Walk (direction) (speed)\npoint in direction (direction)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <touching (ground v)?>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\nend\n\nwhen I receive [fall v]\nchange [deaths v] by (1)\nif <(level) = [0]> then\n    go to x: (-87) y: (100)\nend\nif <(level) = [1]> then\n    go to x: (162) y: (100)\nend\nif <(level) = [2]> then\n    go to x: (149) y: (100)\nend\nif <(level) = [3]> then\n    go to x: (154) y: (100)\nend\nif <(level) = [4]> then\n    go to x: (-118) y: (100)\nend\nif <(level) = [5]> then\n    go to x: (152) y: (100)\nend\n\nwhen I receive [win5 v]\nrepeat until <(costume [number v]) = [16]>\n    next costume\n    wait (0.25) seconds\nend\n\nwhen I receive [ready v]\nglide (1) secs to x: (-15) y: (25)\nbroadcast (eggdone v)\n\n@Sprite2\n\nwhen I receive [ahh bear v]\nswitch costume to (costume1 v)\nchange x by (10)\nwait (1) seconds\nswitch costume to (costume2 v)\nchange x by (-20)\nwait (1) seconds\nswitch costume to (costume1 v)\nwait (0.5) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\n    wait (9.999999999999967e-61) seconds\nend\nhide\nbroadcast (start v)\n\nwhen flag clicked\nhide\nset size to (55) %\nswitch costume to (costume1 v)\ngo to x: (-166) y: (-135)\n\n@Ground\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [win2 v]\nswitch costume to (costume3 v)\n\nwhen I receive [win3 v]\nswitch costume to (costume4 v)\n\nwhen I receive [win4 v]\nswitch costume to (costume5 v)\n\nwhen flag clicked\nclear graphic effects\nshow\nstart sound [Jupiter sounds \(so strange!\) NASA-Voyager recording.mp3 v]\n\nwhen I receive [win5 v]\nswitch costume to (costume6 v)\nset [ghost v] effect to (100)\n\nwhen I receive [eggunlock v]\nswitch costume to (costume7 v)\nset [ghost v] effect to (98)\n\nwhen I receive [beforeggwin v]\nhide\n\nwhen I receive [win1 v]\nswitch costume to (costume2 v)\nset [ghost v] effect to (0)\n\n@Goal\n\nwhen I receive [win1 v]\nhide\n\nwhen flag clicked\nshow\n\n@Goal2\n\nwhen flag clicked\nhide\n\nwhen I receive [win1 v]\nshow\n\nwhen I receive [win2 v]\nhide\n\n@Goal3\n\nwhen flag clicked\nhide\n\nwhen I receive [win2 v]\nshow\n\nwhen I receive [win3 v]\nhide\n\n@Goal4\n\nwhen flag clicked\nhide\nset size to (50) %\n\nwhen I receive [win3 v]\nshow\n\nwhen I receive [win4 v]\nhide\n\n@Goal5\n\nwhen flag clicked\nhide\nset size to (60) %\nhide variable [deaths v]\n\nwhen I receive [win4 v]\nshow\n\nwhen I receive [win5 v]\nhide\nshow variable [deaths v]\n\n@Sprite3\n\nwhen I receive [win5 v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [eggunlock v]\nhide\n\n@Sprite6\n\nwhen flag clicked\ngo to [front v] layer\nhide\n\n@Sprite4\n\nwhen I receive [win5 v]\nshow\n\nwhen I receive [eggunlock v]\nhide\nhide variable [deaths v]\n\nwhen flag clicked\nhide\n\nwhen I receive [deaths v]\nwait (0.6) seconds\nshow\nshow variable [deaths v]\n\n@EasterEgg\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\nset size to (50) %\n\nwhen I receive [win5 v]\nshow\n\nwhen I receive [eggunlock v]\nhide\n\nset [ghost v] effect to (0)\n\n@EasterEgg1\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\nset size to (50) %\n\nwhen I receive [win5 v]\nshow\n\nwhen I receive [eggunlock v]\nhide\n\nset [ghost v] effect to (0)\n\n@EasterEggGoal\n\nwhen flag clicked\nhide\nset size to (50) %\nset [ghost v] effect to (0)\n\nwhen I receive [eggunlock v]\nshow\n\nwhen I receive [beforeggwin v]\nhide\n\n@Sprite5\n\nwhen I receive [win1 v]\ngo to x: (110) y: (26)\n\nwhen I receive [win5 v]\nrepeat until <(costume [number v]) = [16]>\n    next costume\n    wait (0.25) seconds\nend\n\nwhen flag clicked\nhide\ngo to x: (89) y: (-180)\n\nwhen I receive [eggwin v]\nshow\nglide (2) secs to x: (89) y: (78)\nbroadcast (ready v)\n\n@Sprite7\n\nwhen I receive [win1 v]\ngo to x: (110) y: (26)\n\nwhen I receive [win5 v]\nrepeat until <(costume [number v]) = [16]>\n    next costume\n    wait (0.25) seconds\nend\n\nwhen flag clicked\nhide\ngo to x: (59) y: (-180)\n\nwhen I receive [eggwin v]\nshow\nglide (2) secs to x: (59) y: (24)\n\n@Sprite8\n\nwhen I receive [win1 v]\ngo to x: (110) y: (26)\n\nwhen I receive [win5 v]\nrepeat until <(costume [number v]) = [16]>\n    next costume\n    wait (0.25) seconds\nend\n\nwhen flag clicked\nhide\ngo to x: (-46) y: (-180)\n\nwhen I receive [eggwin v]\nshow\nglide (2) secs to x: (-46) y: (93)\n\n@Sprite9\n\nwhen I receive [win1 v]\ngo to x: (110) y: (26)\n\nwhen I receive [win5 v]\nrepeat until <(costume [number v]) = [16]>\n    next costume\n    wait (0.25) seconds\nend\n\nwhen flag clicked\nhide\ngo to x: (-124) y: (-180)\n\nwhen I receive [eggwin v]\nshow\nglide (2) secs to x: (-124) y: (113)\n\n@Sprite10\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\n\nwhen I receive [eggdone v]\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\n    wait (1e-61) seconds\nend\nbroadcast (deaths v)\n\n@Sprite11\n\nwhen flag clicked\nhide\nset [ghost v] effect to (100)\n\nwhen I receive [beforeggunlock v]\nwait (0.2) seconds\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\n    wait (1e-61) seconds\nend\n\nwhen I receive [eggunlock v]\nrepeat (50)\n    change [ghost v] effect by (2)\n    wait (1e-61) seconds\nend\n\n@Sprite12\n\nwhen I receive [eggunlock v]\nhide\n\nwhen I receive [deaths v]\nwait (0.6) seconds\nshow\nshow variable [☁ most deaths v]\n\nwhen flag clicked\nhide variable [☁ most deaths v]\nhide\nforever\n    if <<(Deaths) = (☁ Most Deaths)> or <(Deaths) > (☁ Most Deaths)>> then\n        set [☁ most deaths v] to (Deaths)\n    end\nend\n\n@Sprite13\n\nwhen flag clicked\nhide\n\n@Sprite14\n\nwhen flag clicked\nset [hide v] to [0]\nclear graphic effects\nshow\nforever\n    if <touching (mouse-pointer v)?> then\n        if <(level) = [0]> then\n            switch costume to (costume2 v)\n        end\n        if <(level) = [1]> then\n            switch costume to (costume3 v)\n        end\n        if <(level) = [2]> then\n            switch costume to (costume4 v)\n        end\n        if <(level) = [3]> then\n            switch costume to (costume5 v)\n        end\n        if <(level) = [4]> then\n            switch costume to (costume6 v)\n        end\n        if <(level) = [5]> then\n            switch costume to (costume7 v)\n        end\n        if <(level) = [5]> then\n            if <(Hide) = [1]> then\n                hide\n            else\n                show\n            end\n        end\n    else\n        switch costume to (costume1 v)\n    end\nend\n\nwhen I receive [eggwin v]\nhide\nset [hide v] to [1]\n\nwhen I receive [win5 v]\nhide\n\n