Moana Platformer

Instructions: Moana, by Disney is a totally awesome movie!\nWASD, arrow keys, and space to control.\n8 epic levels!\nThis game is not supposed to be hard, just fun.\n\nMrGigabyteScratch.com\n\nRecommended Computer Requirements:\nAt least 2GB of ram.\n2Ghz or faster.\nOrganic potato

@Stage\n\nwhen flag clicked\nswitch backdrop to (lvl1 v)\nforever\n    play sound [WhereYouAre v] until done\n    play sound [WeKnowTheWay v] until done\n    play sound [YouAreWelcome v] until done\nend\n\n@Maui\n\nwhen flag clicked\ngo to x: (-200) y: (-60)\npoint in direction (90)\nset [speed y v] to [0]\nforever\n    switch costume to (hitbox v)\n    set [speed x v] to ((speed x) * (0.7))\n    if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n        change [speed x v] by (-1.5)\n    end\n    if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n        change [speed x v] by (1.5)\n    end\n    if <(speed x) < [-0.5]> then\n        Walk (-90) (speed x)\n    else\n        if <(speed x) > [0.5]> then\n            Walk (90) (speed x)\n        end\n    end\n    if <<<key (up arrow v) pressed?> or <<key (space v) pressed?> or <key (w v) pressed?>>> and <(falling?) < [3]>> then\n        set [speed y v] to [12]\n    end\n    change [speed y v] by (-1)\n    change y by (speed y)\n    Touch Ground <(speed y) > [0]>\n    switch costume to (maui v)\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 color (#c69732)?> or <touching (door 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\ndefine Touch Ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <<touching color (#c69732)?> or <touching (door 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 [startlvl2 v]\ngo to x: (196) y: (45)\n\nwhen I receive [startlvl3 v]\ngo to x: (-205) y: (151)\n\nwhen I receive [startlvl4 v]\ngo to x: (0) y: (49)\n\nwhen flag clicked\nset [livesvalue v] to [3]\nforever\n    if <touching color (#3effe6)?> then\n        if <(lvl) = [1]> then\n            go to x: (-200) y: (-60)\n        else\n            if <(lvl) = [2]> then\n                go to x: (196) y: (45)\n            else\n                if <(lvl) = [3]> then\n                    go to x: (-205) y: (151)\n                else\n                    if <(lvl) = [4]> then\n                        go to x: (0) y: (49)\n                    else\n                        if <(lvl) = [5]> then\n                            go to x: (207) y: (-61)\n                        else\n                            if <(lvl) = [6]> then\n                                go to x: (-210) y: (-98)\n                            else\n                                if <(lvl) = [7]> then\n                                    go to x: (168) y: (-104)\n                                else\n                                    go to x: (5) y: (-99)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change [livesvalue v] by (-1)\n        start sound [deatheffect v]\n    end\n    if <(livesvalue) = [0]> then\n        broadcast (gameover v)\n    end\n    set [livesdisplay v] to (join (livesvalue) [ Lives])\nend\n\nwhen I receive [startlvl5 v]\ngo to x: (207) y: (-61)\n\nwhen I receive [startlvl6 v]\ngo to x: (-210) y: (-98)\n\nwhen I receive [startlvl7 v]\ngo to x: (168) y: (-104)\n\nwhen I receive [startlvl8 v]\ngo to x: (5) y: (-99)\n\n@Heart\n\nwhen flag clicked\nset [holdingheart v] to [0]\nforever\n    if <touching (maui v)?> then\n        broadcast (pickedupheart v)\n        start sound [pop v]\n        set [holdingheart v] to [1]\n        hide\n    end\nend\n\nwhen flag clicked\ngo to x: (85) y: (-80)\nshow\n\nwhen I receive [startlvl2 v]\ngo to x: (189) y: (-87)\nshow\n\nwhen I receive [startlvl3 v]\ngo to x: (200) y: (83)\nshow\n\nwhen I receive [startlvl4 v]\ngo to x: (213) y: (-100)\nshow\n\nwhen I receive [startlvl5 v]\ngo to x: (-170) y: (7)\nshow\n\nwhen I receive [startlvl6 v]\ngo to x: (-194) y: (139)\nshow\n\nwhen I receive [startlvl7 v]\ngo to x: (-173) y: (152)\nshow\n\nwhen I receive [startlvl8 v]\ngo to x: (-206) y: (134)\nshow\n\n@HeartMessage\n\nwhen flag clicked\ngo to x: (-62) y: (80)\nhide\n\nwhen I receive [pickedupheart v]\nshow\n\nwhen I receive [nextlvl v]\nhide\n\nwhen I receive [startlvl3 v]\ngo to x: (0) y: (-170)\n\nwhen I receive [startlvl6 v]\ngo to x: (70) y: (-127)\n\nwhen I receive [startlvl7 v]\ngo to x: (0) y: (-170)\n\n@TeFiti\n\nwhen flag clicked\nset [lvl v] to [1]\nforever\n    if <<touching (maui v)?> and <(holdingheart) = [1]>> then\n        broadcast (nextlvl v)\n        start sound [fairydust v]\n        hide\n        change [lvl v] by (1)\n        set [holdingheart v] to [0]\n    end\n    go [backward v] (1) layers\nend\n\nwhen flag clicked\ngo to x: (155) y: (135)\nshow\n\nwhen I receive [startlvl8 v]\ngo to x: (191) y: (123)\nshow\n\nwhen I receive [startlvl7 v]\ngo to x: (-212) y: (-95)\nshow\n\nwhen I receive [startlvl6 v]\ngo to x: (79) y: (38)\nshow\n\nwhen I receive [startlvl5 v]\ngo to x: (200) y: (125)\nshow\n\nwhen I receive [startlvl4 v]\ngo to x: (-207) y: (-92)\nshow\n\nwhen I receive [startlvl3 v]\ngo to x: (-176) y: (-109)\nshow\n\nwhen I receive [startlvl2 v]\ngo to x: (-177) y: (148)\nshow\n\n@lvlchanger\n\nwhen I receive [nextlvl v]\nif <(lvl) = [2]> then\n    broadcast (startlvl2 v)\n    switch backdrop to (lvl2 v)\nelse\n    if <(lvl) = [3]> then\n        broadcast (startlvl3 v)\n        switch backdrop to (lvl3 v)\n    else\n        if <(lvl) = [4]> then\n            broadcast (startlvl4 v)\n            switch backdrop to (lvl4 v)\n        else\n            if <(lvl) = [5]> then\n                broadcast (startlvl5 v)\n                switch backdrop to (lvl5 v)\n            else\n                if <(lvl) = [6]> then\n                    broadcast (startlvl6 v)\n                    switch backdrop to (lvl6 v)\n                else\n                    if <(lvl) = [7]> then\n                        broadcast (startlvl7 v)\n                        switch backdrop to (lvl7 v)\n                    else\n                        if <(lvl) = [8]> then\n                            broadcast (startlvl8 v)\n                            switch backdrop to (lvl8 v)\n                        else\n                            broadcast (beatgame v)\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\n@gameover\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\nwhen I receive [gameover v]\nshow\ngo to [front v] layer\n\n@door\n\nwhen flag clicked\ngo to x: (154) y: (88)\nhide\n\nwhen I receive [startlvl3 v]\nshow\n\nwhen I receive [opendoor v]\nhide\n\nwhen I receive [startlvl4 v]\ngo to x: (174) y: (-96)\nshow\n\nwhen I receive [startlvl5 v]\ngo to x: (160) y: (124)\nshow\n\nwhen I receive [startlvl6 v]\ngo to x: (-125) y: (140)\nshow\n\nwhen I receive [startlvl7 v]\ngo to x: (-172) y: (-97)\nshow\n\nwhen I receive [startlvl8 v]\ngo to x: (-155) y: (137)\nshow\n\n@key\n\nwhen flag clicked\ngo to x: (71) y: (-28)\nhide\n\nwhen I receive [startlvl3 v]\nshow\nforever\n    if <touching (maui v)?> then\n        broadcast (opendoor v)\n        start sound [pop v]\n        hide\n    end\nend\n\nwhen I receive [startlvl4 v]\ngo to x: (200) y: (144)\nshow\n\nwhen I receive [startlvl5 v]\ngo to x: (-169) y: (117)\nshow\n\nwhen I receive [startlvl6 v]\ngo to x: (191) y: (86)\nshow\n\nwhen I receive [startlvl7 v]\ngo to x: (178) y: (130)\nshow\n\nwhen I receive [startlvl8 v]\ngo to x: (191) y: (-24)\nshow\n\n@star\n\nwhen flag clicked\nhide\ngo to x: (-128) y: (-84)\n\nwhen I receive [startlvl2 v]\nshow\nforever\n    if <touching (maui v)?> then\n        change [livesvalue v] by (1)\n        start sound [pop v]\n        hide\n    end\nend\n\nwhen I receive [startlvl4 v]\ngo to x: (-205) y: (161)\nshow\n\nwhen I receive [startlvl5 v]\ngo to x: (-49) y: (-78)\nshow\n\nwhen I receive [nextlvl v]\nhide\n\nwhen I receive [startlvl7 v]\ngo to x: (137) y: (31)\nshow\n\nwhen I receive [startlvl8 v]\ngo to x: (-141) y: (-18)\nshow\n\n@thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nshow variable [livesdisplay v]\nshow variable [lvl v]\n\nshow\ngo to [front v] layer\nstop [all v]\n\n@beatgame\n\nwhen I receive [beatgame v]\nshow\ngo to [front v] layer\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\n