Jungle ll Platformer

Instructions: The Jungle was full of danger can you bring Donald to the helicopter at the very top of the jungle.\n========================================\nUse WASD or Arrow keys to move\nYou can do a wall jump\n=======================================\nNo hacking this game =D\n========================================\nDon't judge how the helicopter looks like because i'm a really bad artist =(.\n========================================\nPlease like,fav and follow\n========================================\nUpdates\n- 3/12/2020 = Added a intro\n- 3/23/2021 = Added a death animation

@Stage\n\nwhen I receive [next level v]\nnext backdrop\n\nwhen I receive [intro end animation v]\nswitch backdrop to (1 v)\n\nwhen flag clicked\nswitch backdrop to (intro v)\n\n@Player\n\ndefine spin off screen\nset rotation style [all around v]\nchange [deaths v] by (1)\nset [y vel v] to [10]\nrepeat until <(y position) < [-179]>\n    switch costume to (costume4 v)\n    go to [front v] layer\n    turn right (10) degrees\n    change y by (Y vel)\n    change [y vel v] by (-1)\nend\nhide\nreset\npoint in direction (90)\nswitch costume to (costume2 v)\n\ngo to x: (-227) y: (-9)\n\nreset\n\ngo to x: (-198) y: (-10)\n\nwhen I receive [nothing to see here v]\n\nwhen flag clicked\n\nwhen flag clicked\n\nwhen flag clicked\nforever\n    wait (0.005) seconds\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\ngo to x: (-11) y: (-169)\n\nwhen I receive [intro v]\nhide\n\nwhen I receive [nothing to see here v]\nshow\ngo to x: (-161) y: (-104)\n\nwhen flag clicked\nset [timer v] to [0]\n\nwhen flag clicked\nwait (1) seconds\n\nwhen I start as a clone\nswitch costume to (costume3 v)\nrepeat (10)\n    change size by (0)\n    change [ghost v] effect by (8)\nend\ndelete this clone\n\nwhen I receive [intro v]\nhide\n\nturn video (on-flipped v)\n\nwhen flag clicked\nforever\n    turn video (off v)\nend\n\nwhen flag clicked\n\nwhen flag clicked\n\nwait (2) seconds\n\nwhen flag clicked\nwait (2) seconds\ngo to x: (-208) y: (189)\nchange y by (10)\n\nwhen I receive [nothing to see here v]\nforever\n    show\nend\n\nhide\n\nwhen I receive [nothing to see here v]\n\nchange x by (10)\n\nwhen I receive [nothing to see here v]\nset [level v] to [1]\nset size to (100) %\nReset player variables\nreset\n\nwhen flag clicked\ngo to x: (-205) y: (-60)\n\nwhen I receive [next level v]\ngo to x: (-205) y: (-60)\n\nwhen I receive [intro end animation v]\nshow\n\nwhen flag clicked\nhide\n\nwhen I receive [intro end animation v]\nswitch costume to (costume2 v)\npoint in direction (90)\ngo to x: (-213) y: (-10)\nset [level v] to [1]\nset size to (100) %\nReset player variables\nreset\nforever\n    if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n        change [x v v] by (.9)\n        switch costume to (costume2 v)\n    end\n    if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n        change [x v v] by (-.9)\n        switch costume to (costume1 v)\n    end\n    set [x v v] to ((X v) * (0.9))\n    change x by (X v)\n    if <<touching (level v)?> or <touching (moving platfom v)?>> then\n        change y by (1)\n        if <<touching (level v)?> or <touching (moving platfom v)?>> then\n            change y by (1)\n            if <<touching (moving platfom v)?> or <touching (level v)?>> then\n                change y by (1)\n                if <<touching (level v)?> or <touching (moving platfom v)?>> then\n                    change y by (1)\n                    if <<touching (moving platfom v)?> or <touching (level v)?>> then\n                        change y by (1)\n                        if <<touching (moving platfom v)?> or <touching (level v)?>> then\n                            change x by ((X v) * (-1))\n                            change y by (-5)\n                            if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n                                if <(X v) > [0]> then\n                                    set [x v v] to [-5]\n                                else\n                                    set [x v v] to [5]\n                                end\n                                set [y v v] to [15]\n                            else\n                                set [x v v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    change [y v v] by (-1)\n    change y by (Y v)\n    if <<touching (level v)?> or <<touching (rotating platform v)?> or <touching (moving platfom v)?>>> then\n        change y by ((Y v) * (-1))\n        set [y v v] to [0]\n    end\n    change y by (-1)\n    if <<touching (level v)?> or <<touching (rotating platform v)?> or <touching (moving platfom v)?>>> then\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > ((y position) + (20))>>>> then\n            set [y v v] to [12]\n        end\n    end\n    change y by (1)\n    if <touching (spike v)?> then\n        spin off screen\n        reset\n        go to x: (-205) y: (-60)\n    end\n    if <touching (jump pad v)?> then\n        set [y v v] to [25]\n    end\n    if <touching (finish line v)?> then\n        go to x: (-201) y: (-54)\n        broadcast (Next level v)\n    end\n    if <touching (lava v)?> then\n        spin off screen\n    end\n    if <touching (smasher v)?> then\n        reset\n        go to x: (-205) y: (-60)\n    end\n    if <touching (monster v)?> then\n        reset\n        go to x: (-210) y: (-95)\n    end\n    if <touching (plants \( killer \) v)?> then\n        spin off screen\n    end\nend\n\ngo to x: (-205) y: (-60)\n\ngo to x: (-205) y: (-60)\n\nglide (0.5) secs to x: (-205) y: (-60)\n\nwhen I receive [intro end animation v]\nforever\n    show\n    play sound [Space Ambience v] until done\nend\n\nwhen I receive [intro end animation v]\nforever\n    play sound [Darkside - Alan Walker v] until done\nend\n\npoint in direction (90)\n\ndefine reset\ngo to x: (-192) y: (-57)\n\ngo to x: (0) y: (0)\n\n@Level\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [intro v]\nhide\n\nwhen I receive [nothing to see here v]\nshow\n\nwhen I receive [skip v]\nnext costume\n\nwhen flag clicked\nhide\nwait (4) seconds\nshow\n\nwhen I receive [intro end animation v]\nshow\nswitch costume to (1 v)\n\nwhen flag clicked\nhide\n\n@Finish line\n\nhide\n\nwhen I receive [intro v]\nhide\n\nwhen I receive [intro end animation v]\nshow\n\nwhen flag clicked\nhide\n\n@Spike\n\nwhen I receive [nothing to see here v]\nshow\nswitch costume to (1 v)\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [intro v]\nhide\n\nwhen flag clicked\nswitch costume to (1 v)\n\nwhen I receive [skip v]\nnext costume\n\nwhen I receive [next level v]\nnext costume\n\nwhen flag clicked\ngo to x: (36) y: (28)\n\nwhen flag clicked\nhide\n\nwhen I receive [intro end animation v]\nswitch costume to (1 v)\nforever\n    show\nend\n\n@LAVA\n\nwhen I receive [intro v]\nhide\n\nwhen I receive [intro end animation v]\nshow\n\nwhen flag clicked\nhide\n\n@Plants ( Killer )\n\nwhen flag clicked\nhide\nforever\n    point towards (player v)\n    set rotation style [left-right v]\nend\n\nwhen backdrop switches to [3 v]\nshow\ngo to x: (17) y: (37)\n\nwhen backdrop switches to [4 v]\nhide\n\nshow\n\nwhen backdrop switches to [8 v]\nhide\n\nwhen backdrop switches to [7 v]\nshow\ngo to x: (169) y: (40)\n\ngo to x: (174) y: (47)\n\ngo to x: (-106) y: (31)\n\ngo to x: (-72) y: (41)\n\n@Intro\n\nwhen flag clicked\nhide\nReset\nset [waiting v] to [0]\nset [clonenumber v] to [0]\nset [sides v] to [0]\nset [value v] to [0]\nset [velocity v] to [0]\ncreate clone of (_myself_ v)\nswitch costume to (name v)\nstart sound [Electro-Light - Symbolism v]\nwait (1.82) seconds\nset [clonenumber v] to [1]\nset [i v] to [5]\nrepeat (10)\n    create clone of (_myself_ v)\n    if <(sides) = [1]> then\n        set [sides v] to [0]\n        change [value v] by (10)\n        change [i v] by (-.4)\n    else\n        set [sides v] to [1]\n    end\nend\nset [clonenumber v] to [2]\nwait (.3) seconds\nrepeat (4)\n    create clone of (_myself_ v)\n    change [value v] by (10)\n    wait (0.1) seconds\nend\nclear graphic effects\nswitch costume to (name v)\ngo [forward v] (99) layers\ngo to [front v] layer\nset size to (0) %\nshow\nrepeat until <(round (size)) = [50]>\n    change size by (((50) - (size)) / (3))\nend\ncreate clone of (_myself_ v)\nwait until <touching color (#fbffe6)?>\nrepeat until <(round (size)) = [100]>\n    change size by (((100) - (size)) / (5))\nend\nset [velocity v] to [17]\nset [waiting v] to [1]\nset [clonenumber v] to [3]\ncreate clone of (_myself_ v)\nset [clonenumber v] to [4]\ncreate clone of (_myself_ v)\nset [waiting v] to [2]\nrepeat (25)\n    go [forward v] (99) layers\n    set [velocity v] to ((velocity) * (.95))\n    set size to ((100) + (velocity)) %\nend\nreset timer\nrepeat until <(timer) > [3]>\n    go to x: (pick random (-3) to (3)) y: (pick random (-3) to (3))\n    change size by (((150) - (size)) / (3))\nend\npoint in direction (90)\nset [value v] to [5]\nrepeat (16)\n    turn right (value) degrees\n    change [value v] by (1)\nend\nrepeat until <(round (direction)) = [90]>\n    turn right (((90) - (direction)) / (5)) degrees\nend\nrepeat until <(timer) > [6]>\n    go to x: (pick random (-3) to (3)) y: (pick random (-3) to (3))\n    change size by (((175) - (size)) / (3))\nend\nset [velocity v] to [12]\nrepeat (30)\n    change size by (velocity)\n    change [velocity v] by (-1)\n    change [ghost v] effect by (3.3)\n    go to x: (pick random (-3) to (3)) y: (pick random (-3) to (3))\nend\nbroadcast (Intro End Animation v)\nhide\n\nwhen I start as a clone\nif <(clonenumber) = [0]> then\n    Reset\n    show\n    set size to (0) %\n    point in direction (-15)\n    switch costume to (square v)\n    set [velocity v] to [0]\n    set [value v] to [0]\n    repeat (15)\n        change [value v] by (1)\n        turn right (value) degrees\n        change [velocity v] by (1)\n        change size by (velocity)\n    end\n    set [value v] to [8]\n    repeat (30)\n        set [value v] to (((value) * (0.69)) + ((90) - (direction)))\n        turn right (value) degrees\n    end\n    repeat (12)\n        next costume\n    end\n    repeat until <(round (size)) = [2000]>\n        switch costume to (blank v)\n        change size by (((2000) - (size)) / (5))\n        switch costume to (square13 v)\n    end\nend\n\ndefine Reset\nclear graphic effects\nset size to (100) %\npoint in direction (90)\ngo to x: (0) y: (0)\n\nwhen I start as a clone\nif <(clonenumber) = [1]> then\n    Reset\n    show\n    switch costume to (blank v)\n    set size to (150) %\n    point in direction (90)\n    switch costume to (square13 v)\n    set [brightness v] effect to (value)\n    go to x: (0) y: (0)\n    set [i v] to (i)\n    if <(sides) = [1]> then\n        repeat until <(round (y position)) = [180]>\n            change y by (((180) - (y position)) / (i))\n            change [ghost v] effect by (5)\n        end\n    else\n        repeat until <(round (y position)) = [-180]>\n            change y by (((-180) - (y position)) / (i))\n            change [ghost v] effect by (5)\n        end\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(clonenumber) = [2]> then\n    Reset\n    show\n    switch costume to (blank v)\n    set size to (150) %\n    point in direction (90)\n    set [brightness v] effect to (value)\n    go to x: (240) y: (-180)\n    point in direction (-135)\n    switch costume to (screen v)\n    repeat until <(round (direction)) = [90]>\n        turn right (((90) - (direction)) / (5)) degrees\n    end\n    point in direction (90)\n    wait until <(waiting) = [1]>\n    delete this clone\nend\n\nwhen I start as a clone\nif <(clonenumber) = [3]> then\n    Reset\n    show\n    go to [front v] layer\n    switch costume to (screennormal v)\n    set size to (100) %\n    point in direction (90)\n    set [brightness v] effect to (100)\n    go to x: (0) y: (0)\n    repeat (5)\n        change [brightness v] effect by (-20)\n    end\nend\n\nwhen I start as a clone\nif <(clonenumber) = [4]> then\n    Reset\n    clear graphic effects\n    show\n    go to [front v] layer\n    go [forward v] (999) layers\n    switch costume to (screennormal v)\n    set size to (100) %\n    point in direction (90)\n    set [brightness v] effect to (100)\n    go to x: (0) y: (0)\n    repeat (20)\n        change [ghost v] effect by (5)\n    end\n    delete this clone\nend\n\ndefine Move and Clones\nset [clonenumber v] to [5]\ncreate clone of (_myself_ v)\ngo to x: (-150) y: (80)\ncreate clone of (_myself_ v)\ngo to x: (150) y: (80)\ncreate clone of (_myself_ v)\ngo to x: (-150) y: (-80)\ncreate clone of (_myself_ v)\ngo to x: (150) y: (-80)\ncreate clone of (_myself_ v)\ngo to x: (0) y: (0)\n\nwhen I start as a clone\nif <(clonenumber) = [5]> then\n    show\n    clear graphic effects\n    set size to (10) %\n    point in direction (90)\n    switch costume to (sidesquareline v)\n    set [velocity v] to [0]\n    set [value v] to [0]\n    go to [front v] layer\n    repeat until <(round (size)) = [300]>\n        change size by (((300) - (size)) / (15))\n        change [ghost v] effect by (4)\n    end\n    delete this clone\nend\n\nwhen flag clicked\nwait until <(waiting) = [2]>\nreset timer\nrepeat until <(timer) > [6]>\n    Move and Clones\n    wait (1) seconds\nend\n\nwhen I receive [intro end animation v]\nif <not <(costume [number v]) = [14]>> then\n    repeat (20)\n        change size by (((0) - (size)) / (5))\n        change [ghost v] effect by (5)\n    end\nelse\n    repeat until <(round (size)) = [100]>\n        change size by (((100) - (size)) / (5))\n        switch costume to (blank v)\n        switch costume to (square v)\n    end\n    set [velocity v] to [12]\n    repeat (30)\n        change size by (velocity)\n        change [velocity v] by (-1)\n        change [ghost v] effect by (3.3)\n        turn right (([abs v] of (velocity) ) / (2)) degrees\n    end\n    delete this clone\nend\n\nhide\n\n@Sprite2\n\nshow\n\nwhen flag clicked\nhide\n\n@Love fave\n\nwhen flag clicked\n\nwhen I receive [intro end animation v]\nset [costume v] to [0]\nhide\nforever\n    if <not <<(LOVED__) = [1]> and <(FAVED___) = [1]>>> then\n        wait (pick random (30) to (40)) seconds\n        switch costume to (costume1 v)\n        go to x: (0) y: (50)\n        show\n        go to [front v] layer\n        start sound [pop v]\n        repeat (9)\n            change y by (-6)\n        end\n        repeat (5)\n            change y by (3)\n        end\n        repeat (5)\n            change y by (-1)\n        end\n        wait (2) seconds\n        repeat (15)\n            change y by (7)\n        end\n        hide\n    end\n    if <(Costume) > [0]> then\n        hide\n        stop [this script v]\n    end\nend\n\n