Nature 2 - A platformer #All #Games #Art #Music #Stories #griffpatch

Instructions: -----  Nature 2 by makscratchy  -------\nPlay my new game Summerformer.\n\nFollow me so I can get 600 followers. Do it now!!\n\nI need 100 remixes \n\n--------------- Story ---------------\nIn Nature 2, you will have to go on a dangerous quest to find the second gem.\nYou will face many dangers such as spikes, lava, and adversaries.\n\nNature 1: https://scratch.mit.edu/projects/632883548\n\nInstructions:\n[Up] to jump\n[Right] to move right\n[Left] to move left\nClick the music button to change music\n\nI worked hard, so leave a love and fav, and maybe a follow?

@Stage\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\n\nwhen I receive [play music v]\nstop all sounds\nforever\n    play sound (music) until done\nend\n\nwhen I receive [start game v]\nstop all sounds\nswitch backdrop to (backdrop1 v)\nset [music v] to (pick random (1) to (4))\nbroadcast (Play Music v)\n\nwhen I receive [volume v]\nset volume to (100) %\n\nwhen I receive [no volume v]\nset volume to (0) %\n\n@Blank\n\nwhen flag clicked\ngo to x: (0) y: (0)\n\n@Player\n\nwhen flag clicked\nhide\n\ndefine Fast\nrepeat (6)\n    if <touching (ground v)?> then\n        change y by (1)\n    end\nend\n\ndefine ycoll\nrepeat until <not <touching (ground v)?>>\n    if <(SY) > [0]> then\n        change y by (-1)\n    else\n        change y by (1)\n    end\nend\n\ndefine xcoll\nrepeat until <not <touching (ground v)?>>\n    if <(SX) > [0]> then\n        change x by (-1)\n    else\n        change x by (1)\n    end\nend\n\nwhen I receive [game loop v]\ndelete all of [collected v]\nswitch costume to (costume)\npoint in direction (90)\nset rotation style [left-right v]\nforever\n    go to [front v] layer\n    go [backward v] (2) layers\n    if <(y position) < [-180]> then\n        broadcast (Die v)\n    end\n    change [sy v] by (-1)\n    if <<key (right arrow v) pressed?> or <<(mouse x) > (x position)> and <mouse down?>>> then\n        point in direction (90)\n        change [sx v] by (1)\n    end\n    if <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>> then\n        point in direction (-90)\n        change [sx v] by (-1)\n    end\n    set [sx v] to ((SX) * (0.9))\n    change x by (SX)\n    if <touching (ground v)?> then\n        Fast\n        if <touching (ground v)?> then\n            change y by (-6)\n            xcoll\n            if <<key (up arrow v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>> then\n                set [sy v] to [12]\n                if <([abs v] of (SX) ) = (SX)> then\n                    set [sx v] to [-8]\n                else\n                    set [sx v] to [8]\n                end\n            else\n                set [sx v] to [0]\n            end\n        end\n    end\n    change y by (SY)\n    if <touching (ground v)?> then\n        ycoll\n        if <<<key (up arrow v) pressed?> or <<(mouse y) > (y position)> and <mouse down?>>> and <(SY) < [0]>> then\n            set [sy v] to [14]\n        else\n            set [sy v] to [0]\n        end\n    end\n    Check Touching Hazard <<touching (enemy 2 v)?> or <<touching (enemy 1 v)?> or <<touching (spikes v)?> or <touching (lava v)?>>>>\nend\n\nwhen I receive [die v]\nset [dead? v] to [1]\nstart sound [Crunch v]\nhide\nset [last x v] to (x position)\nset [last y v] to (y position)\nGame On\n\nwhen I receive [game loop v]\nforever\n    if <(x position) > [230]> then\n        set [scene # v] to ((Scene #) + (1))\n        broadcast (Chance Scene v)\n        delete all of [collected v]\n    end\nend\n\ndefine Game On\nset [dead? v] to [0]\nshow\nset [sx v] to [0]\nset [sy v] to [0]\ngo to x: (-220) y: (50)\ngo to [front v] layer\nbroadcast (Set Costume v)\nbroadcast (Chance Scene v)\nbroadcast (Game Loop v)\nbroadcast (Delete Clones v)\n\ndefine Check Touching Hazard <hazard?>\nif <hazard?> then\n    broadcast (Die v)\n    broadcast (Explode v)\nend\n\nwhen I receive [set costume v]\nswitch costume to (costume)\n\nwhen I receive [get out v]\nbroadcast (Game Loop v)\n\nwhen I receive [choose skin v]\nstop [other scripts in sprite v]\n\nwhen [r v] key pressed\nbroadcast (Chance Scene v)\n\nwhen I receive [chance scene v]\ngo to x: (-220) y: (50)\n\nwhen [r v] key pressed\nbroadcast (Chance Scene v)\n\nwhen I receive [start game v]\nshow\nset [costume v] to [1]\nset [down? v] to [0]\nset [scene # v] to [1]\nGame On\n\nwhen [k v] key pressed\nbroadcast (Die v)\n\n@Ground\n\nwhen flag clicked\nhide\n\nwhen I receive [chance scene v]\nI mean Change Scene\n\ndefine I mean Change Scene\nAre you reading this Madrid2030?\n\ndefine Are you reading this Madrid2030?\nswitch costume to (Scene #)\n\nwhen I receive [start game v]\nshow\ngo to [back v] layer\ngo [forward v] (1) layers\n\n@Particles\n\nwhen flag clicked\nhide\n\nwhen I receive [explode v]\nNow!!\n\ndefine Now!!\nrepeat (15)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nswitch costume to (costume)\ngo to [front v] layer\ngo to x: (last x) y: (last y)\nshow\nset [ex v] to (pick random (-5) to (5))\nset [ey v] to (pick random (-5) to (8))\nExplode\n\nwhen I start as a clone\nforever\n    if <touching (ground v)?> then\n        set [ex v] to [0]\n        set [ey v] to [0]\n        wait (0.2) seconds\n        delete this clone\n    end\nend\n\ndefine Explode\nrepeat (10)\n    if <not <touching (ground v)?>> then\n        change x by (EX)\n        change [ey v] by (-1)\n        change y by (EY)\n    end\nend\ndelete this clone\n\n@Spikes\n\nwhen flag clicked\nhide\n\nwhen I receive [chance scene v]\nswitch costume to (Scene #)\n\nwhen I receive [start game v]\nshow\nforever\n    go to [back v] layer\nend\n\n@Trampoline\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nshow\nforever\n    switch costume to (Scene #)\nend\n\nwhen I receive [start game v]\nforever\n    if <touching (player v)?> then\n        set [sy v] to [20]\n        start sound [Big Boing v]\n    end\nend\n\n@Skin\n\nwhen I receive [game loop v]\nhide\nforever\n    if <(in) = [1]> then\n        show\n        go to [front v] layer\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\nset [costume v] to (costume [number v])\nbroadcast (Set Costume v)\nset [in v] to [0]\nbroadcast (Get Out v)\n\nwhen I receive [next skin v]\nnext costume\n\nwhen I receive [previous skin v]\nswitch costume to ((costume [number v]) - (1))\n\nwhen I receive [start game v]\nswitch costume to (stand v)\nforever\n    point in direction ((([sin v] of ((timer) * (300)) ) * (10)) + (90))\nend\n\n@Sprite1\n\nwhen this sprite clicked\nbroadcast (Next Skin v)\n\nwhen flag clicked\nhide\nset [in v] to [0]\n\nwhen I receive [start game v]\nforever\n    if <(in) = [1]> then\n        show\n        go to [front v] layer\n    else\n        hide\n    end\nend\n\n@Lava\n\nwhen flag clicked\nhide\nforever\n    go to [back v] layer\nend\n\nwhen I receive [chance scene v]\nswitch costume to (Scene #)\n\nwhen I receive [start game v]\nshow\nforever\n    set y to ((([sin v] of ((timer) * (300)) ) * (10)) + (30))\nend\n\n@Trail\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nswitch costume to (costume)\nshow\ngo to [back v] layer\ngo [forward v] (2) layers\ngo to (player v)\nrepeat (12)\n    change size by (-8)\nend\nchange size by (-4)\ndelete this clone\n\nwhen I receive [chance scene v]\ndelete this clone\n\nwhen I start as a clone\nforever\n    if <(dead?) = [1]> then\n        delete this clone\n    end\nend\n\nwhen I receive [de v]\ndelete this clone\n\nwhen I receive [start game v]\nforever\n    wait (0.02) seconds\n    create clone of (_myself_ v)\nend\n\n@Cloud\n\nwhen I start as a clone\nswitch costume to (pick random (1) to (3))\nset x to (300)\nset y to (pick random (40) to (163))\nset [ghost v] effect to (70)\nshow\nrepeat until <(x position) < [-300]>\n    change x by (-1)\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nforever\n    go to [back v] layer\nend\n\nwhen I receive [start game v]\ngo to [back v] layer\nwait (3) seconds\nforever\n    create clone of (_myself_ v)\n    wait (pick random (5) to (10)) seconds\nend\n\n@Button\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\ngo to [front v] layer\nif <(in) = [0]> then\n    set [in v] to [1]\n    broadcast (Choose Skin v)\nelse\n    set [in v] to [0]\n    broadcast (Get Out v)\nend\n\nwhen I receive [start game v]\nshow\nset [in v] to [0]\nforever\n    set size to ((([sin v] of ((timer) * (300)) ) * (4)) + (90)) %\nend\n\n@Grey\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nforever\n    if <(in) = [1]> then\n        show\n        go to [front v] layer\n        go [backward v] (1) layers\n    else\n        hide\n    end\nend\n\n@Sprite4\n\nwhen flag clicked\nhide\nwait until <(Scene #) = [18]>\nshow\n\n@Text\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nshow\ngo to [front v] layer\nforever\n    switch costume to (Scene #)\nend\n\n@Grass\n\nwhen flag clicked\nhide\n\nwhen I receive [start game v]\nshow\nforever\n    switch costume to (Scene #)\n    go to [back v] layer\nend\n\n@Music\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\nchange [music v] by (1)\nbroadcast (Play Music v)\n\nwhen I receive [start game v]\nshow\nforever\n    set size to ((([sin v] of ((timer) * (300)) ) * (10)) + (90)) %\nend\n\n@Slide\n\nwhen flag clicked\nset [scene # v] to [0]\nhide\nwait (0.5) seconds\nset [new x v] to [-120]\nset [new y v] to [90]\nset [slide costume v] to [1]\ncreate clone of (_myself_ v)\nwait (2) seconds\nset [new x v] to [120]\nset [new y v] to [90]\nset [slide costume v] to [2]\ncreate clone of (_myself_ v)\nwait (2) seconds\nset [new x v] to [-114]\nset [new y v] to [-80]\nset [slide costume v] to [3]\ncreate clone of (_myself_ v)\nwait (2) seconds\nset [new x v] to [114]\nset [new y v] to [-80]\nset [slide costume v] to [4]\ncreate clone of (_myself_ v)\nwait (3) seconds\nbroadcast (Start Game v)\n\nwhen I start as a clone\nswitch costume to (Slide Costume)\ngo to x: (New X) y: (New Y)\nshow\nset [ghost v] effect to (100)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\n\nwhen I receive [start game v]\nrepeat (1)\n    delete this clone\nend\n\nwhen I receive [skip v]\nstop [other scripts in sprite v]\nrepeat (1)\n    delete this clone\nend\nbroadcast (Start Game v)\n\n@Skip\n\nwhen flag clicked\nshow\n\nwhen I receive [start game v]\nhide\n\nwhen this sprite clicked\nbroadcast (Skip v)\nbroadcast (Start Game v)\n\n@Sound\n\nwhen flag clicked\nhide\nswitch costume to (costume1 v)\nbroadcast (Volume v)\n\nwhen I receive [start game v]\nshow\nforever\n    set size to ((([sin v] of ((timer) * (300)) ) * (10)) + (90)) %\nend\n\nwhen this sprite clicked\nnext costume\nif <(costume [number v]) = [1]> then\n    broadcast (Volume v)\nelse\n    broadcast (No Volume v)\nend\n\n@Enemy 1\n\nwhen flag clicked\nhide\nforever\n    if <<(Scene #) = [16]> or <(Scene #) = [17]>> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    glide (1) secs to x: (-119) y: (-99)\n    glide (1) secs to x: (156) y: (-99)\nend\n\n@Enemy 2\n\nwhen flag clicked\nhide\nforever\n    if <(Scene #) = [17]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    glide (1) secs to x: (156) y: (-99)\n    glide (1) secs to x: (-119) y: (-99)\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    show\n    go to [front v] layer\n    set [ghost v] effect to (100)\nend\n\n@Sprite2\n\nwhen flag clicked\nhide\nwait until <(Scene #) = [18]>\nshow\ngo to [back v] layer\nforever\n    turn right (2) degrees\nend\n\n