Thuderstorm || A platformer #games #game #all

Instructions: ==============INSTRUCTIONS==============\nArrow keys or WASD or touch\n\n===============THING TO KNOW============\n\nThis is a trash project so don't judge me by this project\n\n@griffpatch for platformer engine\n\nPlay next:\nhttps://scratch.mit.edu/projects/503934529/\n\nIDK what else to write\n\n\n\n\n\n\n\n\n\n\nIf you find this remix the game\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nComment : Thunder!\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nFollow @iamibrahim and then follow @mfmmaryam\n\n\n\n\n\nYou just wasted time by scrolling down here\n\nanyway while your down here go comment something

@Stage\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\nset [ghost v] effect to (0)\nswitch backdrop to (backdrop1 v)\nforever\n    play sound [Bowser's Galaxy Generator v] until done\nend\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen flag clicked\nbroadcast (Start v)\n\n@Player\n\ndefine Platform Physics (speed) (friction) (jump height)\nset rotation style [left-right v]\nchange [y vel v] by (-1)\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [x vel v] by (speed)\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    change [x vel v] by ((speed) * (-1))\nend\nset [x vel v] to ((X Vel) * (friction))\nchange x by (X Vel)\nset [slpoe v] to [0]\nif <<touching (level v)?> or <touching (tb v)?>> then\n    repeat until <<not <<touching (level v)?> or <touching (tb v)?>>> or <(Slpoe) = [-8]>>\n        change [slpoe v] by (-1)\n        change y by (1)\n    end\nend\nif <<touching (level v)?> or <touching (tb v)?>> then\n    change y by (Slpoe)\n    repeat until <not <<touching (level v)?> or <touching (tb v)?>>>\n        change x by ((([abs v] of (X Vel) ) / (X Vel)) * (-1))\n    end\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        set [y vel v] to [11.5]\n        if <(X Vel) > [0]> then\n            set [x vel v] to [-6]\n        else\n            set [x vel v] to [6]\n        end\n    else\n        set [x vel v] to [0]\n    end\nend\nchange y by (Y Vel)\nif <<touching (level v)?> or <touching (tb v)?>> then\n    repeat until <not <<touching (level v)?> or <touching (tb v)?>>>\n        change y by ((([abs v] of (Y Vel) ) / (Y Vel)) * (-1))\n    end\n    set [y vel v] to [0]\nend\nchange y by (-1)\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <<touching (level v)?> or <touching (tb v)?>>> then\n    start sound [smw_jump v]\n    set [y vel v] to [13]\nend\nchange y by (1)\n\nwhen I receive [start v]\nshow\nset [level v] to [1]\npoint in direction (90)\nswitch costume to (player v)\nset [x vel v] to [0]\nset [y vel v] to [0]\ngo to x: (-215) y: (-30)\nrepeat until <(costume [number v]) = [2]>\n    Platform Physics [1] [0.9] [11]\nend\nforever\n    Platform Physics [2] [0.9] [22]\nend\n\nwhen I receive [start v]\nforever\n    if <(x position) > [210]> then\n        go to x: (-215) y: (-30)\n        change [level v] by (1)\n        broadcast (Next v)\n        if <(Level) = [11]> then\n            hide\n        end\n    end\nend\n\nwhen I receive [start v]\nforever\n    if <<touching (spikes v)?> or <touching (lava v)?>> then\n        set [x vel v] to [0]\n        set [y vel v] to [0]\n        go to x: (-215) y: (-30)\n    end\n    if <[-179] > (y position)> then\n        go to x: (-215) y: (-30)\n    end\nend\n\nwhen flag clicked\nhide\n\nif <(Level) = [11]> then\n    hide\nend\n\n@level\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\ngo to [front v] layer\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\nshow\nshow\nset [brightness v] effect to (0)\nset [dark v] to [0]\nwait (2) seconds\nforever\n    show\n    go to [front v] layer\n    repeat (10)\n        set [dark v] to [1]\n        change [brightness v] effect by (-10)\n    end\n    wait (2) seconds\n    repeat (10)\n        change [brightness v] effect by (10)\n    end\n    set [brightness v] effect to (0)\n    wait (1) seconds\n    set [dark v] to [0]\nend\n\n@spikes\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\nshow\nshow\nset [brightness v] effect to (0)\nwait (2) seconds\nforever\n    go to [back v] layer\n    repeat (10)\n        change [brightness v] effect by (-10)\n    end\n    wait (2) seconds\n    repeat (10)\n        change [brightness v] effect by (10)\n    end\n    set [brightness v] effect to (0)\n    wait (1) seconds\nend\n\n@Thumbnail\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n@Sprite1\n\nwhen flag clicked\nhide\nforever\n    go to x: (pick random (-240) to (240)) y: (180)\n    create clone of (_myself_ v)\n    wait (0.25) seconds\nend\n\nwhen I start as a clone\ngo to [back v] layer\nshow\nglide (2) secs to x: (x position) y: (-180)\ndelete this clone\n\nwhen I receive [start v]\nshow\nshow\nset [brightness v] effect to (0)\nwait (2) seconds\nforever\n    go to [front v] layer\n    repeat (10)\n        change [brightness v] effect by (-2)\n    end\n    wait (2) seconds\n    repeat (10)\n        change [brightness v] effect by (2)\n    end\n    set [brightness v] effect to (0)\n    wait (1) seconds\nend\n\n@Sprite2\n\nwhen flag clicked\nhide\nforever\n    go to x: (pick random (-240) to (240)) y: (180)\n    create clone of (_myself_ v)\n    wait (0.25) seconds\nend\n\nwhen I start as a clone\nswitch costume to (costume2 v)\ngo to [front v] layer\nshow\nglide (2) secs to x: (x position) y: (-180)\ndelete this clone\n\n@Sprite3\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\nwait (2) seconds\nswitch costume to (costume1 v)\nforever\n    create clone of (_myself_ v)\n    create clone of (_myself_ v)\n    wait (5) seconds\nend\n\ngo to [front v] layer\nrepeat (5)\n    show\n    wait (0.1) seconds\n    hide\n    wait (0.1) seconds\nend\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nset [ghost v] effect to (0)\ngo to [front v] layer\nhide\nwait (2) seconds\nshow\nwait (1.5) seconds\n\nwait (0.5) seconds\nshow\n\nwhen I start as a clone\nset [ghost v] effect to (0)\ngo to [front v] layer\nswitch costume to (pick random (2) to (4))\nshow\nwait (0.1) seconds\nhide\nwait (0.05) seconds\nshow\nwait (0.2) seconds\nhide\nwait (0.05) seconds\nshow\nwait (0.1) seconds\nhide\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <(Level) = [11]> then\n        hide\n    end\nend\n\n@TB\n\nwhen flag clicked\nhide\n\n@Sprite5\n\ndefine findCurrentComma\nrepeat until <(letter (Comma#) of (☁ UserNames1)) = [,]>\n    if <(letter (Comma#) of (☁ UserNames1)) = [,]> then\n        change [comma# v] by (1)\n    else\n        change [comma# v] by (1)\n    end\nend\nset [commatoreplace v] to (Comma#)\naddList\n\ndefine Encode username\ndelete all of [encoder v]\nset [my variable v] to [0]\nrepeat (length of [         abcdefghijklmnopqrstuvwxyz1234567890-_])\n    change [my variable v] by (1)\n    add (letter (my variable) of [         abcdefghijklmnopqrstuvwxyz1234567890-_]) to [encoder v]\nend\nset [username encoded v] to []\nset [help v] to [0]\nrepeat (length of (username))\n    change [help v] by (1)\n    set [username encoded v] to (join (Username encoded) (item # of (letter (Help) of (username)) in [encoder v]))\nend\n\ndefine Decode username\nset [decode help v] to [-1]\nset [decoded v] to []\nrepeat ((length of (Username encoded)) / (2))\n    change [decode help v] by (2)\n    set [decoded v] to (join (Decoded) (item (join (letter (Decode help) of (Username encoded)) (letter ((Decode help) + (1)) of (Username encoded))) of [encoder v]))\nend\n\nwhen I start as a clone\ncreate clone of (_myself_ v)\ndelete this clone\n\nwhen flag clicked\nforever\n    wait until <touching (mouse-pointer v)?>\n    wait (0.2) seconds\n    if <touching (mouse-pointer v)?> then\n        set [☁ usernames1 v] to (join (☁ UserNames1) (join [,] (Username encoded)))\n        create clone of (_myself_ v)\n    end\nend\n\nwhen flag clicked\nEncode username\nset [comma# v] to [0]\n\ndefine addList\nset [comma-- v] to ((Comma#) - (1))\nset [splitnew v] to []\nrepeat until <<(letter (Comma--) of (☁ UserNames1)) = [,]> or <(Comma--) = [0]>>\n    set [currentcomma-- v] to (letter (Comma--) of (☁ UserNames1))\n    set [splitnew v] to (join (CurrentComma--) (splitNew))\n    change [comma-- v] by (-1)\nend\nadd (splitNew) to [namesb/e|d/c v]\nif <(commaToReplace) = (length of (☁ UserNames1))> then\n\nwhen [b v] key pressed\nset [decodehelp2 v] to [0]\ndelete all of [rlist v]\nif <(username) = [IAMibrahim]> then\n    findCurrentComma\n    repeat (length of [namesb/e|d/c v])\n        change [decodehelp2 v] by (1)\n        set [username encoded v] to (item (Decodehelp2) of [namesb/e|d/c v])\n        Decode username\n        add (Decoded) to [rlist v]\n    end\nend\n\nwhen flag clicked\n\n