| The Multiverse | a platformer 

Instructions: WASD, and arrow keys to move.\nAs always, follow for more of this kind of stuff.\nExtra level added since we hit 200 loves :)\n-------------------------------------------------------------------------\nPart 2: https://scratch.mit.edu/projects/647287951/\n-------------------------------------------------------------------------\nGame Changelog/Bug Fixes:\n2/24/22 Fixed major glitch where traps after relic collected would not work in some cases.\n2/24/22 Fixed minor glitch where the moving platform would appear at the last level/end screen.\n2/25/22 Fixed minor glitch where using the skip button would cause problems for the last level.\n2/25/22 Changed character art and villager art, and added shadows to levels.\n2/27/22 Added the extra level & removed the skip button from the last level.\nAccidentally unshared on my phone, sorry\n-------------------------------------------------------------------------\nAlso, before anyone says it's too short, I wanted to see if it was something people would want more of before making it longer. If people do like it, I will make a Part 2 (hopefully.)\n-------------------------------------------------------------------------Credits:\n@MCBRex for the platformer engine (which I have modified to add extra stuff, like saws, moving spikes, moving platforms, traps, lava, villagers, etc.).\n@cheekyscuola for transition and particle tutorial.\n@Benelem12/@StratfordJames for character/Earth background art inspiration.  \n\nMusic: [Oak Studios] Suspense Scary Music - Standard Quality\n\nOh yeah, and the multiverse was inspired by What If/Loki series from Marvel Studios.\n-------------------------------------------------------------------------\n\n\n\n\n\n\n#Games #Trending #All #Platformer #Marvel

@Stage\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    switch backdrop to (Level)\nend\n\nwhen flag clicked\nplay sound [\[Oak Studios\] Suspense Scary Music - Standard Quality v] until done\n\n@Level\n\nwhen flag clicked\ngo to x: (0) y: (0)\ngo to [front v] layer\nforever\n    switch costume to (Level)\nend\n\n@Player\n\nwhen flag clicked\nforever\n    if <touching (enemy ai v)?> then\nend\n\nbroadcast (Restart v)\n\nwhen I start as a clone\nswitch costume to (fantasia2 v)\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by (-3)\nend\ndelete this clone\n\ndefine Place Player: (x) (y) Set Size To: (size)\ngo to x: (x) y: (y)\nset size to (size) %\n\nwhen flag clicked\nset [level v] to [1]\nshow\nPlace Player: [-200] [500] Set Size To: [40]\nhide variable [y v]\nhide variable [x v]\nset [y v] to [0]\nset [x v] to [0]\nforever\n    Gravity, Platform Detection, Physics....\nend\n\ndefine Gravity, Platform Detection, Physics....\nforever\n    change [y v] by (-1)\n    if  then\n        change [x v] by (-1)\n        point in direction (90)\n    end\n    if  then\n        change [x v] by (1)\n        point in direction (-90)\n    end\n    set [x v] to ((x) * (0.9))\n    change x by (x)\n    if <<touching (level v)?> or <<touching (moving plat v)?> or <touching (moving plat2 v)?>>> then\n        change y by (1)\n    end\n    if <<touching (level v)?> or <<touching (moving plat v)?> or <touching (moving plat2 v)?>>> then\n        change y by (1)\n    end\n    if <<touching (level v)?> or <<touching (moving plat v)?> or <touching (moving plat2 v)?>>> then\n        change y by (1)\n    end\n    if <<touching (level v)?> or <<touching (moving plat v)?> or <touching (moving plat2 v)?>>> then\n        change y by (1)\n    end\n    if <<touching (level v)?> or <<touching (moving plat v)?> or <touching (moving plat2 v)?>>> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        if  then\n            set [y v] to [17]\n            if <(x) > [0]> then\n                set [x v] to [-10]\n            else\n                set [x v] to [10]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <<<touching (level v)?> or <touching (moving plat v)?>> or <touching (moving plat2 v)?>> then\n        change y by ((y) - ((y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if < and <<<touching (level v)?> or <touching (moving plat v)?>> or <touching (moving plat2 v)?>>> then\n        set [y v] to [15]\n    end\n    change y by (1)\n    if <<<<touching (obstacles v)?> or <(y position) < [-175]>> or <<touching (lava v)?> or <touching (saw2 v)?>>> or <touching (saw1 v)?>> then\n        set [ghost v] effect to (0)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        Place Player: [-200] [0] Set Size To: [40]\n        set [x v] to [0]\n        set [y v] to [0]\n        set [ghost v] effect to (0)\n    end\n    if <(x position) > [230]> then\n        broadcast (@cheekyscuola's Transition v)\n        wait (0.5) seconds\n        change [level v] by (1)\n        set [y v] to [0]\n        set [x v] to [0]\n        Place Player: [-200] [0] Set Size To: [40]\n    end\n    if <touching (sprite1 v)?> then\n        set [y v] to [20]\n    end\nend\n\nif <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n    switch costume to (crouch v)\nelse\n    switch costume to (1 v)\nend\n\nwhen flag clicked\nswitch costume to (1 v)\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I receive [restart v]\nPlace Player: [-200] [500] Set Size To: [40]\n\nbroadcast (@cheekyscuola's Transition v) and wait\n\n@info\n\nwhen flag clicked\ngo to x: (210) y: (-155)\nforever\n    if <touching (mouse-pointer v)?> then\n        set size to (120) %\n    else\n        set size to (100) %\n    end\n    if <(Level) = [16]> then\n        hide\n    else\n        show\n    end\nend\n\nstop [other scripts in sprite v]\n\nwhen flag clicked\nshow\n\nwhen this sprite clicked\nchange [level v] by (1)\n\nwhen I receive [outro v]\nhide\n\nwhen flag clicked\nshow\nwait (0.01) seconds\ngo to [front v] layer\ngo [forward v] (50) layers\nshow\n\npoint in direction ((([sin v] of ((timer) * (300)) ) * (10)) + (90))\n\n\n\nwhen flag clicked\nshow\n\n@Lava\n\nwhen I start as a clone\nshow\nforever\n    set [ghost v] effect to (050)\n    switch costume to (Level)\n    set y to ((([sin v] of (((timer) + (me)) * (300)) ) * (8)) - ((me) * (5)))\nend\n\nwhen flag clicked\ngo [forward v] (1) layers\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [outro v]\nhide\n\nwhen flag clicked\nhide\nforever\n    go to x: (0) y: (0)\n    switch costume to (Level)\nend\n\nwhen flag clicked\nclear graphic effects\ngo to x: (0) y: (0)\nset [me v] to [1]\nrepeat (3)\n    create clone of (_myself_ v)\n    change y by (-0)\n    change [brightness v] effect by (-10)\n    change [me v] by (1)\nend\n\n@Sprite1\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Level)\nend\n\n@Saw1\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [2]> then\n        go to x: (-80) y: (-90)\n        forever\n            glide (1) secs to x: (-80) y: (-120)\n            wait (0.7) seconds\n            glide (1) secs to x: (-80) y: (-70)\n        end\n    end\n    if <(Level) = [13]> then\n        go to x: (6) y: (-82)\n    end\n    if <(Level) = [17]> then\n        go to x: (-100) y: (-50)\n    end\n    if <(Level) = [18]> then\n        go to x: (100) y: (100)\n    end\nend\n\n@Saw2\n\nif <(Level) = [9]> then\n    go to x: (-50) y: (-110)\nend\n\nwhen flag clicked\nforever\n    turn left (15) degrees\nend\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [5]> then\n        go to x: (145) y: (-110)\n    end\n    if <(Level) = [7]> then\n        go to x: (160) y: (-110)\n    end\n    if <(Level) = [9]> then\n        go to x: (-50) y: (-110)\n    end\n    if <(Level) = [10]> then\n        go to x: (-125) y: (-110)\n    end\n    if <(Level) = [13]> then\n        go to x: (235) y: (-115)\n    end\n    if <(Level) = [15]> then\n        go to x: (-0) y: (-115)\n    end\nend\n\n@prticles\n\nwhen I start as a clone\nset [ghost v] effect to (65)\ngo to [back v] layer\nshow\nif <(size) > [99]> then\n    glide (6) secs to x: (x position) y: (200)\n    delete this clone\nend\nif <(size) > [80]> then\n    glide (5) secs to x: (x position) y: (200)\n    delete this clone\nend\nif <(size) > [65]> then\n    glide (4) secs to x: (x position) y: (200)\n    delete this clone\nend\nif <(size) > [50]> then\n    glide (3) secs to x: (x position) y: (200)\n    delete this clone\nend\nif <(size) > [40]> then\n    glide (2.5) secs to x: (x position) y: (200)\n    delete this clone\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [stop all v]\nhide\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen flag clicked\nforever\n    set [brightness v] effect to (pick random (-10) to (10))\n    set size to (pick random (41) to (90)) %\n    go to x: (pick random (-200) to (200)) y: (-180)\n    create clone of (_myself_ v)\n    wait (pick random (0.2) to (0.6)) seconds\nend\n\n@the portal master\n\nwhen flag clicked\nhide\nforever\n    if <touching (player v)?> then\n        broadcast (nerdsss v)\n        stop [this script v]\n    end\nend\n\nbroadcast (DIALOGUE VILLAGE v) and wait\n\nwhen flag clicked\nhide\nforever\n    if <(Level) = [4]> then\n        show\n    else\n        hide\n        broadcast (get away villager! v)\n    end\nend\n\nwhen I receive [get away villager! v]\nhide\n\n@dialouge\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\n\nwhen I receive [dialogue village v]\nswitch costume to (1 v)\nclear graphic effects\ngo to x: (0) y: (90)\nshow\ngo [forward v] (999999999999999999999999999999999999999999999999) layers\nforever\n    if <<mouse down?> and <touching (mouse-pointer v)?>> then\n        repeat (10)\n            change [ghost v] effect by (20)\n        end\n        next costume\n        repeat (10)\n            change [ghost v] effect by (-20)\n        end\n    end\nend\n\nshow\n\n\n\nwhen I receive [get away villager! v]\nhide\n\nwhen I receive [nerdsss v]\nbroadcast (DIALOGUE VILLAGE v)\nset [dialogue on or off? v] to [On]\nswitch costume to (1 v)\n\n@Thumbnail\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\n    show\n    go to [front v] layer\nend\n\n@moving plat\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Level)\nend\n\nturn left (15) degrees\n\n\n\nwhen flag clicked\nforever\n    if <(Level) > [7]> then\n        hide\n        hide\n    end\nend\n\nwhen I receive [oopppp v]\nif <(Level) = [7]> then\n    show\n    go to x: (30) y: (40)\n    forever\n        wait (0.5) seconds\n        glide (3) secs to x: (235) y: (40)\n        wait (0.5) seconds\n        glide (3) secs to x: (30) y: (40)\n    end\nelse\n    hide\nend\n\nforever\n\nforever\n\nif <(Level) = [7]> then\n    broadcast (OOPPPP v)\nend\n\nswitch costume to (costume1 v)\nhide\nrepeat (10)\nstop [this script v]\n\n\n\n@trapp!!!!!!!\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\nshow\nset [ghost v] effect to (0)\nforever\n    if <(Level) = [8]> then\n        show\n        go to x: (140) y: (-108)\n    end\n    if <<(Level) = [8]> and <touching (player v)?>> then\n        show\n        set [ghost v] effect to (0)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nhide\nforever\n    switch costume to (Level)\nend\n\nshow\n\nwait (1.5) seconds\n\nglide (3) secs to x: (235) y: (40)\n\nwait (1.5) seconds\nglide (3) secs to x: (30) y: (40)\n\nset [ghost v] effect to (0)\n\nwhen I receive [oops v]\nshow\nset [ghost v] effect to (0)\nforever\n    if <(Level) = [13]> then\n        show\n        go to [front v] layer\n        show\n        go to x: (0) y: (0)\n    end\n    if <<(Level) = [13]> and <touching (player v)?>> then\n        show\n        set [ghost v] effect to (0)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) > [13]> then\n        hide\n        broadcast (alliop v)\n        show\n        wait (1) seconds\n        stop [this script v]\n    end\n    show\nend\n\nwhen I receive [alliop v]\nforever\n\n\n\n@trapp!!!!!!!2\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    if <<(Level) = [8]> and <touching (player v)?>> then\n        set [ghost v] effect to (0)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        stop [this script v]\n    end\nend\n\nforever\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Level)\nend\n\nwait (1.5) seconds\nglide (3) secs to x: (235) y: (40)\nwait (1.5) seconds\nglide (3) secs to x: (30) y: (40)\n\nbroadcast (OOPPPP v)\n\n@Sprite2\n\nwhen flag clicked\nforever\n    hide\nend\n\n@trapp!!!!!!!3\n\nwhen flag clicked\nshow\nshow\nforever\n    go to x: (0) y: (0)\n    show\n    show\n    forever\n        if <(Level) = [9]> then\n            show\n            show\n            go to x: (0) y: (0)\n        end\n        if <<(Level) = [9]> and <touching (player v)?>> then\n            set [ghost v] effect to (0)\n            repeat (10)\n                change [ghost v] effect by (10)\n            end\n            stop [this script v]\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nwait (1.5) seconds\nglide (3) secs to x: (235) y: (40)\nwait (1.5) seconds\nglide (3) secs to x: (30) y: (40)\n\nwhen flag clicked\nforever\n    if <(Level) = [7]> then\n        broadcast (OOPPPP v)\n        stop [this script v]\n    end\nend\n\nforever\n\nhide\n\nwhen flag clicked\nforever\n    if <(Level) > [9]> then\n        hide\n        broadcast (Oops v)\n        stop [this script v]\n    end\nend\n\n@moving plat2\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\nshow\nforever\n    switch costume to (Level)\nend\n\nturn left (15) degrees\n\n\n\nwhen flag clicked\n\nwhen I receive [oopppp v]\nshow\nforever\n    go to x: (0) y: (0)\nend\n\nforever\n\nrepeat (10)\nstop [this script v]\n\nforever\n\nif <(Level) = [7]> then\n    broadcast (OOPPPP v)\nend\n\nswitch costume to (costume1 v)\nhide\n\n@relic\n\nwhen flag clicked\nhide\npoint in direction (90)\nforever\n    go to x: (2) y: (-12)\n    forever\n        if <(Level) = [12]> then\n            go to [front v] layer\n            show\n            show\n            show\n            show\n            set [ghost v] effect to (25)\n            set y to ((([sin v] of (((timer) + (me)) * (300)) ) * (8)) - ((me) * (5)))\n            if <touching (player v)?> then\n                repeat (20)\n                    turn right (15) degrees\n                    change [ghost v] effect by (5)\n                end\n                hide\n                stop [this script v]\n            end\n        else\n            hide\n        end\n    end\nend\n\nwhen flag clicked\nhide\nhide\n\nwait (1) seconds\n\n@Sprite3\n\nwhen flag clicked\nshow\ngo [forward v] (1) layers\nset [ghost v] effect to (50)\nforever\n    switch costume to (Level)\nend\n\nhide\n\n@Transition by @cheekyscuola (Backpack This)\n\nwhen flag clicked\nhide\n\nwhen I receive [@cheekyscuola's transition v]\ngo [forward v] (999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999) layers\nshow\nrepeat (20)\n    change y by (((0) - (y position)) / (5))\nend\nwait (0.2) seconds\nrepeat (20)\n    change y by (((345) - (y position)) / (5))\nend\nhide\n\nwhen flag clicked\nforever\n    switch costume to (costume1 v)\nend\n\n\n\nif <(Level) > [2]> then\n\nswitch costume to (backpack this! v)\n\n@Sprite4\n\n