TOTALLY NORMAL GENERIC PLATFORMER #Games #all #Trending

Instructions: This is so much more than what you think it is ;)\n\nThis is mostly a story-based game, and  while the  gameplay itself is rather typical, ( Theres like maybe 2 hard levels in this game) The story hopefully makes up for it :D

@Stage\n\n@Player\n\nwhen flag clicked\nforever\n    if <(x) = [21]> then\n        hide\n    end\nend\n\nwhen flag clicked\ngo to x: (-172) y: (-90)\nset [x vel v] to [0]\nset [y vel v] to [0]\nforever\n    physics (11) (0.8) (0) (1) (11) (8)\nend\n\nrepeat ([abs v] of (y vel) )\n    if <touching (terrain v)?> then\n        change y by (((y vel) / ([abs v] of (y vel) )) * (-1))\n    end\nend\nif <touching (terrain v)?> then\n    change y by (y vel)\nend\n\ndefine physics (jump height) (friction) (ceiling cling?) (slopes?) (wall jump horizontal power) (wall jump vertical power)\nchange y by (y vel)\nif <touching (terrain v)?> then\n    repeat ([abs v] of (y vel) )\n        if <touching (terrain v)?> then\n            change y by (((y vel) / ([abs v] of (y vel) )) * (-1))\n        end\n    end\n    if <touching (terrain v)?> then\n        change y by (y vel)\n    end\n    if <<<(y vel) < [0.01]> or <(ceiling cling?) = [1]>> and <key (up arrow v) pressed?>> then\n        set [y vel v] to (jump height)\n    else\n        set [y vel v] to [0]\n    end\nelse\n    change [y vel v] by (-1)\nend\nif <key (right arrow v) pressed?> then\n    change [x vel v] by (1)\nend\nif <key (left arrow v) pressed?> then\n    change [x vel v] by (-1)\nend\nchange x by (x vel)\nif <touching (terrain v)?> then\n    if <(slopes?) = [1]> then\n        set [old_y v] to (y position)\n        repeat (([abs v] of (x vel) ) + (1))\n            if <touching (terrain v)?> then\n                change y by (1)\n            end\n        end\n        if <touching (terrain v)?> then\n            set y to (old_y)\n            repeat ([ceiling v] of ([abs v] of (x vel) ) )\n                if <touching (terrain v)?> then\n                    change x by (((x vel) / ([abs v] of (x vel) )) * (-1))\n                end\n            end\n            if <touching (terrain v)?> then\n                change x by (([ceiling v] of ([abs v] of (x vel) ) ) * ((x vel) / ([abs v] of (x vel) )))\n            end\n            set [x vel v] to [0]\n        end\n    else\n        repeat ([ceiling v] of ([abs v] of (x vel) ) )\n            if <touching (terrain v)?> then\n                change x by (((x vel) / ([abs v] of (x vel) )) * (-1))\n            end\n        end\n        if <touching (terrain v)?> then\n            change x by (([ceiling v] of ([abs v] of (x vel) ) ) * ((x vel) / ([abs v] of (x vel) )))\n        end\n        set [x vel v] to [0]\n    end\n    if <<key (up arrow v) pressed?> and <<not <(wall jump horizontal power) = [0]>> and <not <(wall jump vertical power) = [0]>>>> then\n        change y by (-1)\n        if <touching (terrain v)?> then\n            change y by (1)\n        else\n            change y by (1)\n            change x by (1)\n            if <<touching (terrain v)?> and <key (right arrow v) pressed?>> then\n                set [x vel v] to (([abs v] of (wall jump horizontal power) ) * (-1))\n                set [y vel v] to (wall jump vertical power)\n            end\n            change x by (-2)\n            if <<touching (terrain v)?> and <key (left arrow v) pressed?>> then\n                set [x vel v] to ([abs v] of (wall jump horizontal power) )\n                set [y vel v] to (wall jump vertical power)\n            end\n            change x by (1)\n        end\n    end\nend\nset [x vel v] to ((x vel) * (friction))\n\nset [old_y v] to (y position)\nrepeat (([abs v] of (x vel) ) + (1))\n    if <touching (terrain v)?> then\n        change y by (1)\n    end\nend\nif <touching (terrain v)?> then\n    set y to (old_y)\n    repeat ([ceiling v] of ([abs v] of (x vel) ) )\n        if <touching (terrain v)?> then\n            change x by (((x vel) / ([abs v] of (x vel) )) * (-1))\n        end\n    end\n    if <touching (terrain v)?> then\n        change x by (([ceiling v] of ([abs v] of (x vel) ) ) * ((x vel) / ([abs v] of (x vel) )))\n    end\n    set [x vel v] to [0]\nend\n\nwhen flag clicked\nforever\n    if <touching (sprite1 v)?> then\n        go to x: (-196) y: (-98)\n        change [x v] by (1)\n    end\nend\n\nwhen flag clicked\nif <touching color (#d60000)?> then\n    go to x: (-153) y: (-149)\nend\n\nwhen flag clicked\nif <(y position) = [-186]> then\n    go to x: (-155) y: (-149)\nend\n\nif <(username) = [Bill-0]> then\n    move (10) steps\n    physics (1) (1) (1) (1) (1) (1)\nend\n\nwhen flag clicked\nset size to (75) %\n\nwhen flag clicked\nshow\nset [x v] to [1]\n\nwhen flag clicked\nforever\n    if <(y position) = [-184]> then\n        go to x: (-196) y: (-98)\n    end\nend\n\nwhen flag clicked\nforever\n    play sound [2wei-SurvivorepicCover-TombRaider-Trailer2Music v] until done\nend\n\n@Sprite1\n\nwhen flag clicked\nforever\n    if <(x) = [21]> then\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    turn right (15) degrees\nend\n\nwhen flag clicked\nshow\ngo to x: (207) y: (-113)\n\n@Terrain\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset size to (100) %\nshow\ngo to [front v] layer\nswitch costume to (1 v)\n\nwhen flag clicked\nforever\n    switch costume to (x)\nend\n\nwhen flag clicked\nforever\n    if <(timer) = [2000]> then\n        stop [all v]\n    end\nend\n\nwhen flag clicked\nswitch costume to (1 v)\n\nif <(username) = [Bill-0]> then\n    next costume\nend\n\nwhen flag clicked\nforever\n    if <(x) = [21]> then\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    if <(x) = [21]> then\n        hide\n    end\nend\n\n@370-3703571_flappy-bird-sprite-png-clipart\n\nwhen flag clicked\nif <(x) = [9]> then\n    show\nelse\n    hide\nend\n\nforever\n    if  then\n    end\nend\n\n\n\n@Sprite2\n\nwhen flag clicked\nforever\n    if <(x) = [21]> then\n        show\n        switch costume to (costume1 v)\n        wait (3) seconds\n        switch costume to (costume2 v)\n        wait (3) seconds\n    end\nend\n\nswitch costume to (costume4 v)\n\nwhen flag clicked\nhide\n\nswitch costume to (costume4 v)\n\nshow\nswitch costume to (costume1 v)\nwait (3) seconds\nswitch costume to (costume2 v)\nhide\n\nhide\n\n@Sprite3\n\nwhen flag clicked\nhide\n\n