Auralyst 2

Instructions: Auralyst 2 - The long-awaited sequel to the classic game of Auralyst!\n\n❰ ◄▲► Arrow keys to move || ⚑ Double-click green flag to play ❱\nGame elements interact the same way with you as Auralyst.\n\nWith only five lives, can you finish this insanely hard platformer?\nThese twelve levels are guaranteed to give you a hard time!

@Stage\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\nforever\n    switch backdrop to (level)\nend\n\nwhen flag clicked\nforever\n    play sound [Vexento - Masked Heroes v] until done\nend\n\n@Auralyst\n\nwhen flag clicked\nswitch costume to (costume1 v)\nclear graphic effects\ngo to x: (0) y: (0)\ngo to [front v] layer\ngo [backward v] (1) layers\nhide\n\nwhen I receive [play v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen I receive [intro finished v]\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\n@Player\n\nwhen flag clicked\nset [lives v] to [5]\nset [level v] to [0]\npoint in direction (90)\ngo to x: (-196) y: (-145)\nset size to (90) %\nclear graphic effects\nhide\nforever\n    go to [front v] layer\nend\n\nwhen I receive [intro finished v]\nwait (0.5) seconds\nset [level v] to [1]\n\nwhen I receive [play v]\nshow\nforever\n    if <(lives) > [0]> then\n        set mode to (1) mode 0; portal testing, mode 1; physics\n    end\nend\n\nwhen I receive [player loses v]\nhide\n\ndefine None\nif <(m) = [0]> then\n    if <key (left arrow v) pressed?> then\n        change x by (-1)\n    end\n    if <key (right arrow v) pressed?> then\n        change x by (1)\n    end\n    if <key (up arrow v) pressed?> then\n        change y by (1)\n    end\n    if <key (down arrow v) pressed?> then\n        change y by (-1)\n    end\nelse\n    if <key (left arrow v) pressed?> then\n        change [x velocity v] by (-1)\n    end\n    if <key (right arrow v) pressed?> then\n        change [x velocity v] by (1)\n    end\n    set [x velocity v] to ((x velocity) * (0.9))\n    change x by (x velocity)\n    if <touching (ground v)?> then\n        change y by (1)\n        if <touching (ground v)?> then\n            change y by (1)\n            if <touching (ground v)?> then\n                change y by (1)\n                if <touching (ground v)?> then\n                    change y by (1)\n                    if <touching (ground v)?> then\n                        change y by (1)\n                        if <touching (ground v)?> then\n                            change x by ((x velocity) * (-1))\n                            change y by (-5)\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y velocity v] by (-1)\n    change y by (y velocity)\n    if <touching (ground v)?> then\n        change y by ((y velocity) * (-1))\n        set [y velocity v] to [0]\n    end\n    change y by (-1)\n    if <<touching (ground v)?> and <key (up arrow v) pressed?>> then\n        set [y velocity v] to [12]\n    end\n    change y by (1)\n    if <touching (portal v)?> then\n        go to x: (level finish player x) y: (level finish player y)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        change [level v] by (1)\n        go to x: (-196) y: (-145)\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        set [x velocity v] to [0]\n        set [y velocity v] to [0]\n    end\n    if <touching (lava v)?> then\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        go to x: (-196) y: (-145)\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        set [x velocity v] to [0]\n        set [y velocity v] to [0]\n        change [lives v] by (-1)\n        wait until <not <touching (lava v)?>>\n    end\n    if <touching (trampoline v)?> then\n        set [y velocity v] to [22.5]\n    end\nend\n\n@Ground\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\ngo [backward v] (2) layers\nhide\nforever\n    switch costume to (level)\nend\n\nwhen I receive [play v]\nshow\n\n@Portal\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\ngo [backward v] (1) layers\nhide\nforever\n    switch costume to (level)\nend\n\ndefine set player x: (x) y: (y) for level (level) finish\nwait until <(level) = (level)>\nset [level finish player x v] to (x)\nset [level finish player y v] to (y)\n\ndefine set player x: (x) y: (y) for level 1 finish\nwait until <(level) = [1]>\nset [level finish player x v] to (x)\nset [level finish player y v] to (y)\n\nwhen I receive [play v]\nshow\n\nwhen flag clicked\nforever\n    if <(level) = [1]> then\n        set player x: (201) y: (-114) for level 1 finish\n    else\n        if <(level) = [2]> then\n            set player x: (204) y: (9) for level (2) finish\n        else\n            if <(level) = [3]> then\n                set player x: (169) y: (-88) for level (3) finish\n            else\n                if <(level) = [4]> then\n                    set player x: (214) y: (-147) for level (4) finish\n                else\n                    if <(level) = [5]> then\n                        set player x: (181) y: (-147) for level (5) finish\n                    else\n                        if <(level) = [6]> then\n                            set player x: (129) y: (135) for level (6) finish\n                        else\n                            if <(level) = [7]> then\n                                set player x: (152) y: (66) for level (7) finish\n                            else\n                                if <(level) = [8]> then\n                                    set player x: (68) y: (-147) for level (8) finish\n                                else\n                                    if <(level) = [9]> then\n                                        set player x: (180) y: (-37) for level (9) finish\n                                    else\n                                        if <(level) = [10]> then\n                                            set player x: (90) y: (-31) for level (10) finish\n                                        else\n                                            if <(level) = [11]> then\n                                                set player x: (187) y: (-16) for level (11) finish\n                                            else\n                                                if <(level) = [12]> then\n                                                    set player x: (207) y: (-147) for level (12) finish\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\n\nset [level finish player x v] to [187]\nset [level finish player y v] to [-16]\n\n@Trampoline\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\ngo [backward v] (1) layers\nhide\nforever\n    switch costume to (level)\nend\n\nwhen I receive [play v]\nshow\n\n@Lava\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nforever\n    go to [front v] layer\n    switch costume to (level)\n    if <(level) = [13]> then\n        hide\n    end\nend\n\nwhen I receive [play v]\nshow\n\n@Intro\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nshow\nset pen size to (1)\nset pen color to (#ee7d16)\nerase all\nrepeat (25)\n    pen down\n    change pen size by (7)\nend\nwait (2) seconds\nrepeat (25)\n    erase all\n    change pen size by (-7)\n    pen down\nend\npen up\nerase all\nbroadcast (intro finished v)\nhide\n\n@Hearts\n\nwhen flag clicked\ngo to x: (-242) y: (-241)\nset size to (47.5) %\ngo to [front v] layer\nhide\nforever\n    switch costume to (lives)\n    if <(lives) < [1]> then\n        switch costume to (0 v)\n        repeat (5)\n            hide\n            wait (0.2) seconds\n            show\n            wait (0.2) seconds\n        end\n        broadcast (Player loses v)\n        hide\n    end\nend\n\nwhen I receive [play v]\nshow\n\n@Play Button\n\nwhen flag clicked\ngo to x: (0) y: (0)\nclear graphic effects\ngo to [front v] layer\nhide\nforever\n    go to [front v] layer\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (5)\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen I receive [intro finished v]\nwait (0.5) seconds\nset [ghost v] effect to (100)\nshow\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\n\nwhen this sprite clicked\nhide\nbroadcast (Play v)\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nhide\nforever\n    if <(level) = [13]> then\n        switch costume to (costume1 v)\n        forever\n            go to [front v] layer\n            show\n            stop [all v]\n        end\n    end\n    if <<(username) = [Chirple]> and <key (space v) pressed?>> then\n        switch costume to (costume3 v)\n        go to [front v] layer\n        show\n    end\nend\n\nwhen I receive [player loses v]\nswitch costume to (costume2 v)\nforever\n    go to [front v] layer\n    show\n    stop [all v]\nend\n\n