Narrator 2 | A Platformer

Instructions: You must defeat the Evil King! Listen to the narrator this time!\n\nWASD or Arrow Keys.\n\nPART 1 - https://scratch.mit.edu/projects/525266385/\n\nIf you remix, you will be unique out of 1074 people as only 4 others remixed!

@Stage\n\nwhen flag clicked\nforever\n    if <(level) = [1]> then\n        switch backdrop to (sky v)\n    end\n    if <(level) = [2]> then\n        switch backdrop to (sky v)\n    end\n    if <(level) = [3]> then\n        switch backdrop to (sky v)\n    end\n    if <(level) = [4]> then\n        switch backdrop to (sky v)\n    end\n    if <(level) = [5]> then\n        switch backdrop to (sky v)\n    end\n    if <(level) = [6]> then\n        switch backdrop to (cave v)\n    end\n    if <(level) = [7]> then\n        switch backdrop to (cave v)\n    end\n    if <(level) = [8]> then\n        switch backdrop to (cave v)\n    end\n    if <(level) = [9]> then\n        switch backdrop to (sky v)\n    end\n    if <(level) = [10]> then\n        switch backdrop to (sky v)\n    end\nend\n\n@Player\n\ndefine Run physics (acceleration) (deacceleration) (gravity) (jump height)\nchange [sy v] by (gravity)\nchange [sx v] by (((<<key (d v) pressed?> or <key (right arrow v) pressed?>> - <<key (a v) pressed?> or <key (left arrow v) pressed?>>) * (1.7)) * (acceleration))\nset [sx v] to ((sx) * (deacceleration))\nif <touching (trampoline v)?> then\n    set [sy v] to [19]\nend\nchange x by (sx)\nif <touching (level v)?> then\n    change y by (1)\nend\nif <touching (level v)?> then\n    change y by (1)\nend\nif <touching (level v)?> then\n    change y by (1)\nend\nif <touching (level v)?> then\n    change y by (1)\nend\nif <touching (level v)?> then\n    change y by (-4)\n    change x by ((sx) * (-1))\n    if <<<key (up arrow v) pressed?> or <<key (w v) pressed?> or <key (space v) pressed?>>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        set [sy v] to ((jump height) - (2))\n        if <[0] < (sx)> then\n            set [sx v] to [-13]\n        else\n            set [sx v] to [13]\n        end\n    else\n        set [sx v] to [0]\n    end\nend\nchange y by (sy)\nif <touching (level v)?> then\n    change y by ((sy) * (-1))\n    set [sy v] to [0]\nend\nchange y by (-1)\nif <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n    if <touching (level v)?> then\n        set [sy v] to [15]\n    end\nend\nchange y by (1)\n\ndefine Respawn (x) (y)\ngo to x: (x) y: (y)\nset [sy v] to [0]\nset [sx v] to [0]\n\ndefine Walk\nif <(x position) < [-220]> then\n    set x to (-220)\nend\nif <(x position) > [221]> then\n    set x to (221)\nend\nif <(<<key (d v) pressed?> or <key (right arrow v) pressed?>> - <<key (a v) pressed?> or <key (left arrow v) pressed?>>) = [1]> then\n    switch costume to (moving player v)\n    point in direction (90)\nend\nif <(<<key (a v) pressed?> or <key (left arrow v) pressed?>> - <<key (d v) pressed?> or <key (right arrow v) pressed?>>) = [1]> then\n    switch costume to (moving player v)\n    point in direction (-90)\nend\nif <(<<key (a v) pressed?> or <key (left arrow v) pressed?>> - <<key (d v) pressed?> or <key (right arrow v) pressed?>>) = [0]> then\n    switch costume to (still player v)\n    point in direction (0)\nend\n\nwhen I receive [start game loop v]\nset [in air v] to [10]\nforever\n    Run physics [1] [0.8] [-1] [14]\n    Walk\n    Next Level Check\n    Respawn Check\n    create clone of (_myself_ v)\nend\n\ndefine Respawn Check\nif <<touching (spike v)?> or <<touching (lava v)?> or <touching (saw v)?>>> then\n    stop [other scripts in sprite v]\n    change [total deaths this level v] by (1)\n    repeat (20)\n        change [ghost v] effect by (5)\n    end\n    if <(Level) = [5]> then\n        Respawn [-200] [0]\n    else\n        Respawn [-180] [0]\n    end\n    wait (0.4) seconds\n    repeat (20)\n        change [ghost v] effect by (-5)\n    end\n    broadcast (Start Game Loop v)\nend\n\ndefine Next Level Check\nif <(Level) = [9]> then\n    if <(x position) > [80]> then\n        broadcast (END v)\n    end\nelse\n    if <(x position) > [215]> then\n        stop [other scripts in sprite v]\n        set [total deaths this level v] to [0]\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        change [level v] by (1)\n        Respawn [-180] [0]\n        wait (0.5) seconds\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        broadcast (Start Game Loop v)\n    end\nend\n\nwhen I start as a clone\nswitch costume to (blank v)\nrepeat (20)\n    change size by (-5)\n    change [ghost v] effect by (5)\nend\ndelete this clone\n\nwhen I receive [green flag v]\nRespawn [-180] [0]\ngo to [front v] layer\nset [ghost v] effect to (100)\nshow\nrepeat (25)\n    change [ghost v] effect by (-4)\nend\nbroadcast (Start Game Loop v) and wait\n\nwhen flag clicked\nset [level v] to [1]\nset [fix outro glitch v] to [0]\nhide\n\nwhen I receive [create clone v]\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I receive [end v]\nhide\n\n@Level\n\nwhen I receive [end v]\nhide\n\nwhen flag clicked\nhide\n\nwhen I receive [green flag v]\nshow\nforever\n    go to [front v] layer\n    switch costume to (Level)\nend\n\nwhen I receive [game - play v]\nhide\n\n@Spike\n\nwhen I receive [green flag v]\nshow\nforever\n    go to x: (0) y: (0)\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\n@Text\n\nwhen flag clicked\nset [green flag v] to [0]\nforever\n    switch costume to (Level)\n    if <(green flag) = [0]> then\n        hide\n    else\n        show\n    end\nend\n\nwhen I receive [outro v]\nwait (8) seconds\nhide\n\nwhen I receive [end v]\nhide\n\nwhen I receive [green flag v]\nset [green flag v] to [1]\n\n@Thumbnail\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\n\nshow\ngo to [front v] layer\n\n@Saw\n\nwhen I receive [start game loop v]\nhide\nwait until <(Clone Adder Glitch) = [0]>\nCreate Level Trampoline\nswitch costume to (costume1 v)\n\ndefine clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\ndefine Create Level Trampoline\nif <(Level) = [2]> then\n    set size to (100) %\n    clone at x: [100] y: [-10]\nend\nif <(Level) = [5]> then\n    set size to (115) %\n    clone at x: [13] y: [5]\nend\nif <(Level) = [7]> then\n    set size to (90) %\n    clone at x: [165] y: [-70]\nend\n\nwhen I receive [start game loop v]\nforever\n    set [mouse v] to (join (mouse x) (join [, ] (mouse y)))\nend\n\nwhen I start as a clone\nshow\nforever\n    if <(Clone Adder Glitch) = [1]> then\n        delete this clone\n    end\n    turn right (10) degrees\nend\n\nwhen I receive [start game loop v]\nset [clone adder glitch v] to [1]\nwait (0.01) seconds\nset [clone adder glitch v] to [0]\n\n@Trampoline\n\nwhen I receive [start game loop v]\nwait (0.01) seconds\nhide\nwait until <(Clone Adder Glitch) = [0]>\nCreate Level Trampoline\nswitch costume to (costume1 v)\n\ndefine clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\ndefine Create Level Trampoline\nif <(Level) = [6]> then\n    clone at x: [-100] y: [-92]\n    clone at x: [15] y: [-92]\n    clone at x: [130] y: [-92]\nend\nif <(Level) = [8]> then\n    clone at x: [-50] y: [-92]\nend\n\nwhen I receive [start game loop v]\nforever\n    set [mouse v] to (join (mouse x) (join [, ] (mouse y)))\nend\n\nwhen I start as a clone\nshow\nforever\n    if <(Clone Adder Glitch) = [1]> then\n        delete this clone\n    end\n    if <touching (player v)?> then\n        repeat (3)\n            next costume\n            wait (0.01) seconds\n        end\n        wait (0.1) seconds\n        switch costume to (costume4 v)\n        wait (0.01) seconds\n        switch costume to (costume3 v)\n        wait (0.01) seconds\n        switch costume to (costume1 v)\n    end\nend\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\npoint in direction (90)\n\nwhen I receive [start game loop v]\nset [clone adder glitch v] to [1]\nwait (0.01) seconds\nset [clone adder glitch v] to [0]\n\n@Lava\n\nwhen I receive [green flag v]\nshow\nforever\n    switch costume to (Level)\n    go to x: (0) y: ((([cos v] of (((timer) - (3)) * (200)) ) * (7)) - (10))\nend\n\nwhen I receive [outro v]\nhide\n\nwhen flag clicked\nhide\n\n@Game Start\n\nwhen flag clicked\nset [hide2 v] to [0]\ngo to x: (0) y: (0)\nswitch costume to (quest of darkness tb2 v)\nshow\nwait (1) seconds\ncreate clone of (_myself_ v)\nwait until <(hide2) = [1]>\nhide\nbroadcast (Green Flag v)\n\nwhen I start as a clone\ngo to [front v] layer\nswitch costume to (triangle play v)\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait until <(hide2) = [1]>\nhide\n\nwhen this sprite clicked\nif <(costume [number v]) = [1]> then\n    set [hide2 v] to [1]\nend\n\n@END SCREEN\n\nwhen flag clicked\nhide\ngo to [front v] layer\n\nwhen I receive [end v]\nshow\ngo to [front v] layer\n\n