Green Pea Apocalypse a platformer V1.8 (out of the jungle)

Instructions: GPA stand for Green Pea Apocalypse use arrow key to move also it is same with water don't touch spikes spinning spike wheels or don't touch the bottom of the water and shooting darts, aim to get to the other side jump on the enemy to destroy them. Every level is 100% tested by me (they are easy but harder ones coming soon) (don't put remix of my game into any studios)\n\nhey scratchers my new platformer is released here it is my new platformer called bunker mayhem. https://scratch.mit.edu/projects/406597946\n\nV1.0 : released\n\nV1.1 : add music\n\nV1.2 : add text\n\nV1.3 : add 5 more levels\n\nV1.4 : added moving vines\n\nV1.5 : added fog\n\nV1.6 : A storm is on its way added rain\n\nV1.7 now there are 19 levels, 20 will be a cut screen\n\nV1.8 : mobile Friendly !!

@Stage\n\nwhen I receive [next v]\nchange [map number v] by (1)\n\nwhen flag clicked\nset [map number v] to [1]\n\nwhen I receive [splim v]\nforever\n    play sound [Music-Jungle v] until done\nend\n\n@player\n\nwhen flag clicked\nset size to (120) %\ngo to x: (-170) y: (-28)\nset [x v] to [0]\nset [y v] to [0]\nforever\n    if <(y position) < [-178]> then\n        set [y v] to [0]\n    end\n    if <<key (left arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>> then\n        switch costume to (costume3 v)\n        change [x v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> or <<(x position) < (mouse x)> and <mouse down?>>> then\n        switch costume to (costume2 v)\n        change [x v] by (1)\n    end\n    if <touching (ground v)?> then\n        set [x v] to ((x) * (0.95))\n    else\n        set [x v] to ((x) * (0.9))\n    end\n    change x by (x)\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (1)\n    end\n    if <touching (ground v)?> then\n        change y by (-4)\n        change x by ((x) * (-1))\n        if <<key (up arrow v) pressed?> or <<(mouse y) > [0]> and <mouse down?>>> then\n            set [y v] to [10]\n            if <([abs v] of (x) ) = (x)> then\n                set [x v] to [-10]\n            else\n                set [x v] to [10]\n            end\n        else\n            set [x v] to [0]\n        end\n    end\n    change y by (y)\n    if <touching (ground v)?> then\n        change y by ((y) - ((y) * (2)))\n        set [y v] to [0]\n    end\n    change y by (-1)\n    if <<<key (up arrow v) pressed?> or <<(mouse y) > [0]> and <mouse down?>>> and <touching (ground v)?>> then\n        set [y v] to [11]\n    end\n    if <<<(mouse y) > [0]> and <mouse down?>> and <touching (ground v)?>> then\n        set [y v] to [14]\n    end\n    change y by (1)\n    if <(x position) > [230]> then\n        broadcast (next v)\n        go to x: (-170) y: (-28)\n    end\n    if <<touching (traps v)?> or <<(y position) < [-170]> or <<touching (spin traps v)?> or <<touching (spin traps2 v)?> or <<touching (dart v)?> or <touching (dart2 v)?>>>>>> then\n        repeat (10)\n            change size by (-10)\n            change [ghost v] effect by (1-)\n            change y by (-2)\n        end\n        set size to (120) %\n        clear graphic effects\n        go to x: (-170) y: (-28)\n    end\n    if <touching (water v)?> then\n        change [y v] by (1.08)\n    end\n    if <not <touching (ground v)?>> then\n        change [y v] by (-1)\n    end\n    if <<key (right arrow v) pressed?> and <touching (water v)?>> then\n        change [x v] by (-0.8)\n        if <<<key (left arrow v) pressed?> or <<(x position) < (mouse x)> and <mouse down?>>> and <touching (water v)?>> then\n            change [x v] by (0.8)\n        end\n    end\n    if <touching (water v)?> then\n        change [y v] by (0.1)\n        if <<key (up arrow v) pressed?> or <<(mouse y) > [0]> and <mouse down?>>> then\n            change [y v] by (0.1)\n        end\n        if <<key (down arrow v) pressed?> or <<[0] > (mouse y)> and <mouse down?>>> then\n            change [y v] by (-0.12)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n\nwhen I receive [water funktion v]\nforever\n    if <touching (water v)?> then\n        set [y v] to [-5]\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <touching (water v)?>> then\n        broadcast (water funktion v)\n        wait (1) seconds\n    end\nend\n\nwhen I receive [player die v]\nrepeat (4)\n    if <key (left arrow v) pressed?> then\n        switch costume to (costume3 v)\n        change [x v] by (1)\n    end\n    if <key (right arrow v) pressed?> then\n        switch costume to (costume2 v)\n        change [x v] by (-1)\n    end\n    change size by (-10)\n    change [ghost v] effect by (-1)\n    change y by (-2)\nend\nset size to (120) %\nclear graphic effects\ngo to x: (-170) y: (-28)\n\nwhen I receive [player jump v]\nchange [y v] by (15)\n\nwhen I receive [skip v]\ngo to x: (-170) y: (-28)\n\nwhen [space v] key pressed\ngo to (mouse-pointer v)\n\n@ground\n\nforever\n    go to x: (([x position v] of [player v]) / (-10)) y: (([y position v] of [player v]) / (10))\nend\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\nwhen I receive [next v]\nnext costume\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    if <(costume [number v]) = [5]> then\n        set [water fall v] to [true]\n    end\n    if <not <(costume [number v]) = [5]>> then\n        set [water fall v] to [false]\n    end\n    if <(costume [number v]) = [8]> then\n        broadcast (dart v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [dart v]\nforever\n    if <not <(map number) = [8]>> then\n        stop [other scripts in sprite v]\n        broadcast (ground fucn v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [dart v]\nforever\n    repeat (pick random (3) to (5))\n        create clone of (dart v)\n        wait (0.1) seconds\n    end\n    wait (1) seconds\nend\n\nwhen I receive [ground fucn v]\nforever\n    if <(costume [number v]) = [9]> then\n        broadcast (dart2 v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [dart2 v]\nforever\n    repeat (pick random (3) to (5))\n        create clone of (dart2 v)\n        wait (0.1) seconds\n        if <(costume [number v]) = [10]> then\n            broadcast (wait for lv 11 v)\n            stop [this script v]\n        end\n    end\n    if <<(costume [number v]) = [10]> or <(costume [number v]) > [10]>> then\n        stop [this script v]\n    end\n    wait (1.5) seconds\nend\n\nwhen I receive [skip v]\nnext costume\nchange [map number v] by (1)\n\nwhen I receive [wait for lv 11 v]\nforever\n    if <(costume [number v]) = [11]> then\n        broadcast (gp spawn 1 v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [gp spawn 1 v]\nforever\n    if <(costume [number v]) = [13]> then\n        broadcast (darker v)\n        stop [this script v]\n    end\nend\n\nwhen I receive [darker v]\nforever\n    if <(costume [number v]) = [14]> then\n        broadcast (gp spawn 2 v)\n        stop [this script v]\n    end\nend\n\n@front layer\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    go to x: (0) y: (0)\nend\n\nwhen I receive [next v]\nnext costume\n\nwhen I receive [skip v]\nnext costume\n\n@traps\n\nwhen I receive [next v]\nnext costume\n\nwhen flag clicked\nswitch costume to (costume1 v)\n\ngo to [back v] layer\n\nwhen I receive [skip v]\nnext costume\n\n@for copy paste\n\n@back layer\n\nwhen flag clicked\nswitch costume to (costume1 v)\nforever\n    go to [back v] layer\nend\n\nwhen I receive [next v]\nnext costume\n\nwhen I receive [skip v]\nnext costume\n\n@water\n\nwhen flag clicked\nswitch costume to (costume1 v)\nset [ghost v] effect to (30)\n\nwhen I receive [next v]\nnext costume\n\nwhen I receive [skip v]\nnext costume\n\n@water fall\n\nwhen I start as a clone\nset [ghost v] effect to (0)\ngo to [back v] layer\nif <(CloneID) = [1]> then\n    hide\n    set [color v] effect to (10)\n    set [coloreffec v] to (pick random (2) to (3))\n    go to x: (pick random (100) to (100)) y: (-185)\n    set [effec: y v] to (pick random (-80) to (-80))\n    fly\nelse\n    change [color v] effect by (pick random (10) to (25))\n    set [xv v] to (pick random (4) to (-10))\n    set [yv v] to (pick random (0) to (0))\n    if <(water fall) = [true]> then\n        show\n    else\n        hide\n        delete this clone\n    end\n    repeat until <(y position) < [-170]>\n        Physics\n    end\nend\ndelete this clone\n\ndefine boom\nbroadcast (boom v)\nset [cloneid v] to [2]\nrepeat (3)\n    create clone of (_myself_ v)\nend\n\ndefine Physics\nset size to ((pick random (90) to (170)) + ((Yv) * (2))) %\nchange [yv v] by (-1)\nset [xv v] to ((Xv) * (0.92))\nset [yv v] to ((Yv) * (0.92))\nchange x by (Xv)\nchange y by (Yv)\n\nwhen I start as a clone\nif <(CloneID) = [2]> then\n    wait (0.5) seconds\n    repeat (25)\n        change [ghost v] effect by (4)\n    end\n    delete this clone\nend\n\nwhen flag clicked\nhide\ndelete this clone\n\ndefine fly\nrepeat (16)\n    change [effec: y v] by (10)\n    set y to (Effec: Y)\n    if <(y position) > [-175]> then\n        show\n    end\nend\n\nwhen flag clicked\nforever\n    boom\nend\n\n@spin traps\n\nwhen flag clicked\nforever\n    turn right (pick random (5) to (10)) degrees\nend\n\nwhen flag clicked\nset size to (100) %\ngo to x: (-20) y: (-144)\nforever\n    if <(map number) = [6]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nset [map number v] to [0]\nforever\n    if <(map number) = [7]> then\n        set size to (50) %\n        go to x: (16) y: (-76)\n        turn right (pick random (5) to (10)) degrees\n        show\n        stop [other scripts in sprite v]\n    else\n        if <(map number) = [8]> then\n            hide\n        end\n    end\nend\n\nwhen I receive [next v]\nhide\n\n@heart and star\n\nwhen I start as a clone\nset [yvelocity v] to [0]\nif <(yvelocity) = [0]> then\n    set [yvelocity v] to [25]\nend\nrepeat (50)\n    change y by (yvelocity)\n    change [yvelocity v] by (-1)\n    turn right (turn) degrees\nend\ndelete this clone\n\nwhen I start as a clone\nset [turn v] to (pick random (3) to (15))\ngo to x: (pick random (-235) to (235)) y: (-195)\nset size to (pick random (75) to (115)) %\nswitch costume to (pick random (1) to (8))\ngo [forward v] (50) layers\nshow\n\nwhen I receive [hideeeee v]\nhide\ngo to x: (0) y: (-195)\nrepeat (25)\n    create clone of (_myself_ v)\n    wait (0.1) seconds\nend\n\n@ghost square\n\nwhen flag clicked\nhide\ngo to x: (10) y: (0)\nwait (2.9) seconds\nrepeat (8)\n    go to [front v] layer\n    create clone of (_myself_ v)\n    wait (0.45) seconds\nend\n\nwhen I start as a clone\ngo to x: (10) y: (0)\nshow\nclear graphic effects\nreset timer\nrepeat (10)\n    change [ghost v] effect by (10)\n    change size by ((([cos v] of ((sine) * (1)) ) * (1)) + (1))\n    point in direction ((([sin v] of (sine) ) * (15)) + (90))\nend\n\n@starting ani character\n\nwhen flag clicked\ngo to [front v] layer\nset [intro size v] to [90]\nhide\nwait (2) seconds\nset [sine v] to [0]\nforever\n    point in direction ((([sin v] of (sine) ) * (15)) + (90))\n    set size to ((([sin v] of ((sine) * (2)) ) * (10)) + (intro size)) %\nend\n\nforever\n\nwhen flag clicked\n\nwhen I receive [ani3 v]\ngo to [front v] layer\nset size to (100) %\nswitch costume to (costume1 v)\nshow\nrepeat (9)\n    next costume\n    change [intro size v] by (-1)\nend\nrepeat (9)\n    next costume\n    wait (0.01) seconds\n    change [intro size v] by (-1.5)\nend\nrepeat (9)\n    next costume\n    change [intro size v] by (-2)\n    wait (0.05) seconds\nend\nrepeat (9)\n    change [intro size v] by (-3)\n    next costume\n    wait (0.07) seconds\nend\nrepeat (6)\n    change [intro size v] by (-4)\nend\nhide\nbroadcast (splim v)\n\nbroadcast (start2 v)\nbroadcast (start v)\nbroadcast (start4 v)\n\nwhen I receive [fombell v]\nwait (0.01) seconds\ngo to [front v] layer\nshow\nset size to (1) %\nswitch costume to (costume1 v)\nrepeat (10)\n    change size by (10)\nend\nwait (1) seconds\nbroadcast (ani2 v)\nhide\n\n@starting ani character2\n\nwhen flag clicked\ngo to [front v] layer\nhide\nwait (2) seconds\nbroadcast (ani2 v)\nshow\nset [sine v] to [0]\nforever\n    change [sine v] by (10)\n    point in direction ((([sin v] of (sine) ) * (15)) + (90))\n    set size to ((([sin v] of ((sine) * (2)) ) * (10)) + (100)) %\nend\n\nwhen I receive [ani2 v]\ngo to [front v] layer\nswitch costume to (costume1 v)\nshow\nrepeat (16)\n    next costume\n    wait (0.01) seconds\nend\nwait (0.4) seconds\nhide\nbroadcast (ani3 v)\n\nwhen I receive [start2 v]\nhide\n\n@starting ani backround\n\nwhen I receive [stop music v]\nset volume to (0) %\n\nwhen I receive [start music v]\nset volume to (100) %\n\nbroadcast (start2 v)\nbroadcast (start v)\nbroadcast (start4 v)\n\nwhen flag clicked\nswitch costume to (costume1 v)\ngo to [front v] layer\nclear graphic effects\nshow\nwait (1.3) seconds\nstart sound [Unison-Aperture-NCS-Release v]\nbroadcast (HIDEEEEE v)\n\nwhen I receive [start2 v]\nhide\nstop [other scripts in sprite v]\nstop all sounds\n\nwhen I receive [splim v]\nswitch costume to (costume2 \(7\) v)\n\nwhen I receive [splim v]\nforever\n    play sound [Music-Title_Screen v] until done\nend\n\nwhen I receive [splim v]\nforever\n    play sound [earcing v] until done\n    wait (pick random (3) to (10)) seconds\nend\n\nwhen I receive [//lightout v]\nset volume to (0) %\nstop [other scripts in sprite v]\n\nwhen I receive [hideeeee v]\nset volume to (100) %\nwait (3) seconds\nrepeat (100)\n    change volume by (-1)\nend\n\nwhen I receive [splim v]\nhide\n\n@spin traps2\n\nwhen flag clicked\nforever\n    turn right (pick random (5) to (10)) degrees\nend\n\nwhen flag clicked\nset size to (50) %\nset [map number v] to [7]\nforever\n    if <(map number) = [7]> then\n        go to x: (16) y: (-29)\n        turn right (pick random (5) to (10)) degrees\n        show\n        stop [other scripts in sprite v]\n    else\n        hide\n    end\nend\n\nwhen I receive [next v]\nhide\n\n@green pea\n\nwhen flag clicked\nhide\ngo to x: (41) y: (-99)\nwait (1) seconds\nforever\n    if <(map number) = [3]> then\n        show\n        if <<(y) < [-4]> and <touching (player v)?>> then\n            stop [other scripts in sprite v]\n            switch costume to (costume1 v)\n            broadcast (player jump v)\n            repeat (5)\n                next costume\n            end\n            hide\n            stop [this script v]\n        else\n            if <<(y) > [-4]> and <touching (player v)?>> then\n                broadcast (player die v)\n            end\n        end\n    end\nend\n\nwhen flag clicked\nforever\n\nwhen [space v] key pressed\ngo to (mouse-pointer v)\n\nwhen I receive [water funktion v]\nforever\n    if <touching (water v)?> then\n        set [y v] to [-5]\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <touching (water v)?>> then\n        broadcast (water funktion v)\n        wait (1) seconds\n    end\nend\n\nwhen flag clicked\nforever\n    switch costume to (costume3 v)\n    glide (1.5) secs to x: (41) y: (-99)\n    switch costume to (costume2 v)\n    glide (1.5) secs to x: (140) y: (-99)\nend\n\nwhen I receive [next v]\nhide\n\nwhen I receive [skip v]\nhide\n\nwhen I receive [gp spawn 1 v]\nforever\n    switch costume to (costume3 v)\n    glide (1.5) secs to x: (0) y: (-101)\n    switch costume to (costume2 v)\n    glide (1.5) secs to x: (80) y: (-101)\nend\n\nwhen I receive [gp spawn 1 v]\ngo to [front v] layer\nhide\ngo to x: (80) y: (-101)\nforever\n    if <(map number) = [11]> then\n        show\n        if <<(y) < [-4]> and <touching (player v)?>> then\n            stop [other scripts in sprite v]\n            switch costume to (costume1 v)\n            broadcast (player jump v)\n            repeat (5)\n                next costume\n            end\n            hide\n            stop [this script v]\n        else\n            if <<(y) > [-4]> and <touching (player v)?>> then\n                broadcast (player die v)\n            end\n        end\n    end\nend\n\nwhen I receive [gp spawn 2 v]\nforever\n    switch costume to (costume2 v)\n    glide (1.5) secs to x: (230) y: (-101)\n    switch costume to (costume3 v)\n    glide (1.5) secs to x: (130) y: (-101)\nend\n\nwhen I receive [gp spawn 2 v]\ngo to [front v] layer\nhide\ngo to x: (230) y: (-101)\nforever\n    if <(map number) = [14]> then\n        show\n        if <<(y) < [-4]> and <touching (player v)?>> then\n            stop [other scripts in sprite v]\n            switch costume to (costume1 v)\n            broadcast (player jump v)\n            repeat (5)\n                next costume\n            end\n            hide\n            stop [this script v]\n        else\n            if <<(y) > [-4]> and <touching (player v)?>> then\n                broadcast (player die v)\n            end\n        end\n    end\nend\n\n@dart\n\nwhen I start as a clone\nset size to (30) %\nshow\ngo to x: (pick random (-60) to (-10)) y: (-107)\nrepeat until <touching (_edge_ v)?>\n    change y by (10)\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\n@dart2\n\nwhen I start as a clone\nset size to (30) %\nshow\ngo to x: (-22) y: (pick random (-81) to (-116))\nrepeat until <touching (_edge_ v)?>\n    change x by (-10)\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\n@hint arrow\n\n@skip\n\nforever\n    set [heath v] to [1000]\nend\n\nwhen flag clicked\nwait (7) seconds\nshow\nswitch costume to (costume2 v)\nset size to (25) %\nshow\nforever\n    go to [front v] layer\n    go [forward v] (1) layers\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (15)\n        if <mouse down?> then\n            set size to ((size) + (((30) - (size)) / (2))) %\n            broadcast (skip v)\n            wait (0.1) seconds\n        end\n        set size to ((size) + (((60) - (size)) / (2))) %\n    else\n        go to [front v] layer\n        point in direction (90)\n        set size to ((size) + (((50) - (size)) / (2))) %\n        clear graphic effects\n    end\nend\n\nwhen flag clicked\nforever\n    if <(map number) = [20]> then\n        hide\n        stop [other scripts in sprite v]\n    end\nend\n\n@Sprite1\n\nwhen flag clicked\ngo to [front v] layer\nclear graphic effects\nrepeat (50)\n    go to [front v] layer\n    change [ghost v] effect by (2)\nend\n\n@text\n\nwhen I receive [splim v]\nshow\nswitch costume to (costume v)\nchange [brightness v] effect by (-40)\nforever\n    go to [front v] layer\n    if <(map number) = [20]> then\n        hide\n    end\n    if <(map number) = [11]> then\n        set [brightness v] effect to (40)\n    end\n    if <(map number) = [16]> then\n        set [brightness v] effect to (-40)\n    end\nend\n\nwhen I receive [next v]\nnext costume\n\nwhen I receive [skip v]\nnext costume\n\n@wind particle\n\nwhen I receive [gp spawn 1 v]\nforever\n    change [x v] by (wind x)\n    change [wind x v] by (-0.01)\n    if <(wind x) > [-0.2]> then\n        set [wind x v] to [-0.2]\n    end\n    if <<key (right arrow v) pressed?> or <<(mouse x) < (x position)> and <mouse down?>>> then\n        set [wind x v] to [-0.1]\n    end\n    if <touching (water v)?> then\n        set [wind x v] to [0]\n    end\n    if <(map number) = [16]> then\n        stop [this script v]\n    end\nend\n\nwhen I start as a clone\nshow\ngo [backward v] (pick random (-10) to (10)) layers\nset y to (pick random (-170) to (170))\nset size to (100) %\nswitch costume to (pick random (1) to (2))\nrepeat until <touching (_edge_ v)?>\n    turn right (15) degrees\n    change x by (-5)\n    change [ghost v] effect by (1)\n    change size by (-1)\nend\ndelete this clone\n\nwhen I receive [gp spawn 1 v]\nhide\nforever\n    create clone of (_myself_ v)\n    wait (0) seconds\n    if <(map number) = [16]> then\n        stop [this script v]\n    end\nend\n\n@dark\n\nwhen I receive [gp spawn 1 v]\nshow\nset [ghost v] effect to (100)\nrepeat (80)\n    change [ghost v] effect by (-0.5)\n    go to [front v] layer\nend\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\n    if <(map number) = [16]> then\n        repeat (140)\n            change [ghost v] effect by (0.5)\n        end\n        hide\n    end\nend\n\nwhen I receive [darker v]\nrepeat (60)\n    change [ghost v] effect by (-0.5)\nend\n\n@moving vines\n\nwhen flag clicked\nhide\nforever\n    if <not <touching (player v)?>> then\n        if <(direction) > [91]> then\n            reset timer\n            repeat until <(direction) < [80]>\n                turn left ((timer) * (3)) degrees\n            end\n            repeat until <(direction) > (pick random (85) to (85))>\n                turn right ((timer) * (3)) degrees\n            end\n            repeat until <(direction) < [91]>\n                turn left ((timer) * (3)) degrees\n            end\n            point in direction (90)\n        end\n        if <(direction) < [89]> then\n            reset timer\n            repeat until <(direction) > [100]>\n                turn right ((timer) * (3)) degrees\n            end\n            repeat until <(direction) < (pick random (85) to (85))>\n                turn left ((timer) * (3)) degrees\n            end\n            repeat until <(direction) > [89]>\n                turn right ((timer) * (3)) degrees\n            end\n            point in direction (90)\n        end\n    end\nend\n\nwhen flag clicked\nset [d vel v] to [0]\ngo to x: (0) y: (0)\npoint in direction (90)\nforever\n    if <not <touching (player v)?>> then\n        change [d vel v] by (3)\n    end\n    if <not <touching (player v)?>> then\n        change [d vel v] by (-3)\n    end\n    set [d vel v] to ((D vel) * (0.75))\n    turn right (2) degrees\n    if <not <touching (player v)?>> then\n        change [d vel v] by (1)\n    end\n    turn left (4) degrees\n    if <not <touching (player v)?>> then\n        change [d vel v] by (-1)\n    end\n    turn right (2) degrees\n    turn right (10) degrees\n    if <not <touching (player v)?>> then\n        change [d vel v] by (2)\n    end\n    turn left (20) degrees\n    if <not <touching (player v)?>> then\n        change [d vel v] by (-2)\n    end\n    turn right (10) degrees\n    turn right (D vel) degrees\n    if <(direction) > [110]> then\n        point in direction (110)\n    end\n    if <(direction) < [70]> then\n        point in direction (70)\n    end\nend\n\nif <touching color (#000008)?> then\n    change y by (1)\nend\nif <touching color (#000008)?> then\n    change y by (1)\nend\nif <touching color (#000008)?> then\n    change y by (1)\nend\nif <touching color (#000008)?> then\n    change y by (1)\nend\nif <touching color (#000008)?> then\n    change y by (1)\nend\nif <touching color (#000008)?> then\n    change y by (1)\nend\nif <touching color (#000008)?> then\n    change y by (1)\nend\nif <touching color (#000008)?> then\n    change y by (1)\nend\nif <touching color (#000008)?> then\n    change y by (1)\nend\nif <touching color (#000008)?> then\n    change y by (1)\nend\nchange y by (-5)\n\nwhen flag clicked\nforever\n    if <(map number) = [1]> then\n        show\n        go to x: (-81) y: (88)\n    end\n    if <(map number) = [2]> then\n        go to x: (147) y: (18)\n    end\n    if <(map number) = [3]> then\n        go to x: (-126) y: (40)\n    end\n    if <(map number) = [4]> then\n        go to x: (56) y: (133)\n    end\n    if <(map number) = [5]> then\n        go to x: (8) y: (10)\n    end\n    if <(map number) = [6]> then\n        go to x: (75) y: (-6)\n    end\n    if <(map number) = [7]> then\n        go to x: (71) y: (125)\n    end\n    if <(map number) = [8]> then\n        go to x: (-108) y: (102)\n    end\n    if <(map number) = [9]> then\n        go to x: (-61) y: (45)\n    end\n    if <(map number) = [10]> then\n        go to x: (-132) y: (35)\n    end\n    if <(map number) = [11]> then\n        go to x: (-132) y: (35)\n    end\n    if <(map number) = [12]> then\n        go to x: (25) y: (-10)\n    end\n    if <(map number) = [13]> then\n        go to x: (-23) y: (38)\n    end\n    if <(map number) = [14]> then\n        go to x: (0) y: (-11)\n    end\n    if <(map number) = [15]> then\n        go to x: (-184) y: (41)\n    end\n    if <(map number) = [16]> then\n        hide\n    end\nend\n\nforever\n    go to [front v] layer\nend\n\n@fog\n\nwhen flag clicked\nhide\n\nwhen I receive [splim v]\nshow\nforever\n    set [ghost v] effect to (70)\n    go [forward v] (999) layers\n    forever\n        go to x: (([x position v] of [player v]) / (-3)) y: (([y position v] of [player v]) / (3))\n    end\nend\n\n@rain\n\nwhen flag clicked\nforever\n    if <<(map number) = [5]> or <<(map number) = [6]> or <<(map number) = [7]> or <(map number) = [8]>>>> then\n        create clone of (_myself_ v)\n    else\n        if <(map number) = [9]> then\n            create clone of (_myself_ v)\n            wait (0.02) seconds\n        end\n    end\nend\n\nwhen flag clicked\n\nwhen flag clicked\nset [global dir v] to [-10]\nforever\n    set [strength v] to (pick random (-5) to (10))\n    repeat (100)\n        change [global dir v] by ((strength) / (100))\n    end\n    repeat (100)\n        change [global dir v] by (((strength) / (100)) * (-1))\n    end\nend\n\nwhen I start as a clone\nswitch costume to (costume1 v)\nset size to (100) %\nset [ghost v] effect to (30)\ngo to x: (pick random (-240) to (230)) y: (175)\nset [dir v] to (pick random (-2) to (2))\nset [speed v] to (pick random (20) to (25))\nshow\nset pen color to (#62acd5)\npen down\nset pen size to (3)\nrepeat until <<(y position) < [-170]> or <<touching (player v)?> or < or <touching (ground v)?>>>>\n    point in direction (((180) + (dir)) + (global dir))\n    move (((1) * (((Falling Speed) + (1)) / (30))) * (Speed)) steps\nend\nmove (((1) * (((Falling Speed) + (1)) / (30))) * (Speed)) steps\nturn left (pick random (-60) to (110)) degrees\nswitch costume to (pick random (2) to (7))\nset size to (0) %\nset [i v] to [25]\nrepeat (10)\n    change size by (i)\n    change [ghost v] effect by ((i) / (2))\n    change [i v] by (-2)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    if <<(map number) = [5]> or <<(map number) = [6]> or <<(map number) = [7]> or <(map number) = [8]>>>> then\n        play sound [rain-07.mp2 v] until done\n    else\n        if <(map number) = [9]> then\n            play sound [rain-07.mp4 v] until done\n        end\n    end\nend\n\n@rain1\n\nwhen flag clicked\nhide variable [trail v]\nset [vis? v] to [0]\nset [falling speed v] to [20]\nswitch costume to (costume1 v)\ngo to x: (0) y: (0)\nset [trail v] to [65]\nforever\n    set [ghost v] effect to (Trail)\n    stamp\nend\n\nwhen flag clicked\nforever\n    hide\n    wait (pick random (5) to (10)) seconds\n    switch costume to (costume2 v)\n    repeat (3)\n        set [ghost v] effect to (0)\n        stamp\n    end\n    switch costume to (costume1 v)\n    play sound (pick random (1) to (2)) until done\nend\n\nswitch costume to (rain v)\n\n