|| Revenge || Platformer ||

Instructions: Dont die\n\n\n►If the music doesn't play when you start the project, double click the green flag.\n►Arrow keys to move\n►Touch red if you're smart\n\n►To reduce lag:\n1. Open a new window\n2. Click into my profile\n3. Follow.

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop1 v)\n\nwhen I receive [start v]\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [nextlevel v]\nnext backdrop\n\nwhen [x v] key pressed\nif <(username) = [Deathstriding]> then\n    broadcast (NextLevel v)\nend\n\nwhen backdrop switches to [backdrop23 v]\nset [part v] to [2]\n\nwhen I receive [victory v]\nswitch backdrop to (backdrop24 v)\n\n@Strider\n\ndefine Run (times) times with delay (delay)\nrepeat (times)\n    wait (delay) seconds\n    switch costume to (striderrun v)\n    wait (delay) seconds\n    switch costume to (striderrun2 v)\n    wait (delay) seconds\n    switch costume to (striderrun3 v)\n    wait (delay) seconds\n    switch costume to (striderrun4 v)\n    wait (delay) seconds\n    switch costume to (striderrun5 v)\n    wait (delay) seconds\n    switch costume to (striderrun6 v)\nend\n\nwhen flag clicked\ngo to x: (-180) y: (-40)\nhide\nforever\n    if <(x position) > [230]> then\n        broadcast (NextLevel v)\n    end\nend\n\nwhen I receive [start v]\nshow\n\nwhen I receive [start v]\nswitch costume to (strider v)\ngo to x: (-180) y: (-40)\nset [xv v] to [0]\nset [yv v] to [0]\nset rotation style [left-right v]\nforever\n    if <<<(y position) < [-175]> or <touching color (#ff0000)?>> or <touching (sprite3 v)?>> then\n        go to x: (-180) y: (-40)\n        set [xv v] to [0]\n        set [yv v] to [0]\n    else\n        if <key (left arrow v) pressed?> then\n            point in direction (-90)\n            change [xv v] by (-1)\n        else\n            if <key (right arrow v) pressed?> then\n                point in direction (90)\n                change [xv v] by (1)\n            else\n                switch costume to (strider v)\n            end\n        end\n    end\n    set [xv v] to ((xv) * (.85))\n    change x by (xv)\n    if <touching color (#000008)?> then\n        change y by (-2)\n        if <touching color (#000008)?> then\n            change y by (1)\n            if <touching color (#000008)?> then\n                change y by (1)\n                if <touching color (#000008)?> then\n                    change y by (1)\n                    if <touching color (#000008)?> then\n                        change y by (1)\n                        if <touching color (#000008)?> then\n                            change y by (1)\n                            if <touching color (#000008)?> then\n                                change y by (-5)\n                                change x by ((-1) * (xv))\n                                if <<key (up arrow v) pressed?> and <not <(xv) = [0]>>> then\n                                    set [mode v] to [walljump]\n                                    set [yv v] to [8]\n                                    set [xv v] to (((xv) / ([abs v] of (xv) )) * (-10))\n                                else\n                                    set [mode v] to [wallslide]\n                                    set [xv v] to [0]\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (2)\n    end\n    change y by (-3)\n    if <touching color (#000008)?> then\n        if <(yv) = [-3]> then\n            if <<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> then\n                set [mode v] to [run]\n            else\n                if <([abs v] of (xv) ) > [.1]> then\n                    set [mode v] to [skid]\n                else\n                    set [mode v] to [stand]\n                end\n            end\n        end\n        if <key (up arrow v) pressed?> then\n            set [mode v] to [jump]\n            set [yv v] to [9]\n        end\n    end\n    if <<<<(mode) = [jump]> or <(mode) = [walljump]>> and <(yv) < [0]>> or <<<(mode) = [run]> or <(mode) = [skid]>> and <(yv) < [-3]>>> then\n        set [mode v] to [fall]\n    end\n    change y by (3)\n    if <(yv) > [-15]> then\n        change [yv v] by (-0.5)\n    end\n    change y by (-2)\n    if <not <touching color (#000008)?>> then\n        change y by (-1)\n        if <not <touching color (#000008)?>> then\n            change y by (-1)\n            if <not <touching color (#000008)?>> then\n                change y by (-1)\n                if <not <touching color (#000008)?>> then\n                    change y by (-1)\n                    if <not <touching color (#000008)?>> then\n                        change y by (-1)\n                        if <not <touching color (#000008)?>> then\n                            change y by (5)\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change y by (2)\n    change y by (yv)\n    if <touching color (#000008)?> then\n        change y by (-2)\n        if <touching color (#000008)?> then\n            change y by ((-1) * (yv))\n            set [yv v] to [-3]\n        end\n        change y by (2)\n    end\nend\n\nwhen flag clicked\nstop all sounds\nset [part v] to [1]\nrepeat until <([backdrop # v] of [_stage_ v]) = [24]>\n    play sound [1 v] until done\n    play sound [2 v] until done\n    play sound [3 v] until done\nend\n\nwhen flag clicked\nforever\n    Run (1) times with delay (0.1)\nend\n\nwhen I receive [nextlevel v]\ngo to x: (-180) y: (-40)\n\nwhen flag clicked\nforever\n    if <touching color (#2eff00)?> then\n        set [yv v] to [20]\n    end\nend\n\nwhen flag clicked\nforever\n    if <touching color (#21ff00)?> then\n        set [yv v] to [15]\n    end\nend\n\nwhen I receive [victory v]\nstop [other scripts in sprite v]\nhide\nrepeat (100)\n    change volume by (-1)\nend\nstop all sounds\nstart sound [5 v]\nrepeat (100)\n    change volume by (1)\nend\n\nstop [this script v]\n\n@Backstory\n\nwhen flag clicked\nshow\nswitch costume to (1 v)\nrepeat (6)\n    wait until <mouse down?>\n    wait until <not <mouse down?>>\n    set [ghost v] effect to (0)\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    next costume\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\nend\nwait until <mouse down?>\nhide\nbroadcast (Start v)\n\n@Sprite1\n\nwhen flag clicked\ngo to [front v] layer\nswitch costume to (costume4 v)\nset [ghost v] effect to (100)\n\nswitch costume to (revenge v)\n\n@art\n\n@Sprite2\n\nwhen flag clicked\nhide\nhide\ngo to [back v] layer\nwait until <(Part) = [2]>\nshow\nforever\n    if <touching (sprite4 v)?> then\n        broadcast (Victory v)\n    end\nend\n\nwhen I receive [victory v]\nhide\n\n@Sprite3\n\nwhen flag clicked\nhide\nwait until <(Part) = [2]>\nrepeat until <(Part) = [3]>\n    wait (pick random (0.01) to (1)) seconds\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nset rotation style [left-right v]\nshow\ngo to (sprite2 v)\npoint towards (strider v)\nrepeat until <<<touching (strider v)?> or <touching (sprite4 v)?>> or <touching (_edge_ v)?>>\n    move (10) steps\nend\ndelete this clone\n\nwhen I receive [victory v]\nhide\nstop [other scripts in sprite v]\n\n@Sprite4\n\nwhen flag clicked\nhide\nforever\n    go to x: (([x position v] of [strider v]) + (20)) y: (([y position v] of [strider v]) + (-3))\nend\n\nwhen [space v] key pressed\nshow\ngo to x: (([x position v] of [strider v]) + (20)) y: (([y position v] of [strider v]) + (-3))\nswitch costume to (sword2 v)\nrepeat (18)\n    turn right (20) degrees\nend\nhide\n\nwhen I receive [victory v]\nstop [other scripts in sprite v]\nhide\n\n@Sprite5\n\nwhen I receive [victory v]\nshow\nswitch costume to (costume2 v)\nrepeat (6)\n    wait until <mouse down?>\n    wait until <not <mouse down?>>\n    set [ghost v] effect to (0)\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    next costume\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [victory v]\nset [part v] to [3]\n\n