Platformer Part-4 (Plants)

Instructions: ╔∘ ★ ∘══════╗\n::PLATFORMER::\n╚══════∘ ★ ∘╝\n@jindalsargun\nLove, fav, remix, and follow! \nPart-01 - https://scratch.mit.edu/projects/511930996/\nPart-02 - https://scratch.mit.edu/projects/520595337/\nPart-03 - https://scratch.mit.edu/projects/524135352/\nPart-04 - https://scratch.mit.edu/projects/526959655/\nPart-05 - https://scratch.mit.edu/projects/528697474/\nPart-06 - https://scratch.mit.edu/projects/529835140/\nPart-07 - https://scratch.mit.edu/projects/530465929/\nPart-08 - https://scratch.mit.edu/projects/532679243/\nPart-09 - https://scratch.mit.edu/projects/535570060/\nPart-10 - https://scratch.mit.edu/projects/538021056/  Part-11 - https://scratch.mit.edu/projects/540774309/\nPart-12 - https://scratch.mit.edu/projects/542317456/\n   ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧\n                               INSTRUCTIONS\nPress WASD or arrow buttons to move.\nAvoid lava (red) and spikes (grey).\nYou can jump higher on mushrooms.\nThere are 9 levels.\nEvery level is possible.\nIS MOBILE-FRIENDLY\n     ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧\n                                    UPDATES\n8th May 2021 - Shared\n9th May 2021 - made some changes in the 'plants' behind\n- added more spikes\n12th May 2021 - changed the trampolines to trees in response to a comment\n17th May 2021 - interchanged the mushrooms and trees in response to a comment\n     ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧

@Stage\n\n@Thumbnail\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\ngo to [front v] layer\ngo to x: (0) y: (0)\nset volume to (100) %\n\nwhen I receive [start v]\nforever\n    play sound [Nebula v] until done\nend\n\nwhen I receive [outro v]\nstop [other scripts in sprite v]\n\nset [level v] to [9]\n\n@Player\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\nwhen I receive [start v]\nshow\nset [signal v] to [disactivated]\npoint in direction (90)\ngo to x: (-190) y: (20)\nset [xs v] to [0]\nset [ys v] to [0]\nforever\n    go to [front v] layer\n    go [backward v] (9) layers\n    if <<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>> then\n        change [xs v] by (1.5)\n        switch costume to (right 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 [xs v] by (-1.5)\n        switch costume to (left v)\n    end\n    if <<<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>>> and <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>> then\n        switch costume to (upright v)\n    end\n    if <<<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < (x position)>>>> and <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>>> then\n        switch costume to (upleft v)\n    end\n    if <not <<key (right arrow v) pressed?> or <<key (left arrow v) pressed?> or <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<key (a v) pressed?> or <<key (d v) pressed?> or <<<mouse down?> and <(mouse x) > (x position)>> or <<mouse down?> and <(mouse x) < (x position)>>>>>>>>>> then\n        switch costume to (normal v)\n    end\n    if <<key (down arrow v) pressed?> or <<key (s v) pressed?> or <<mouse down?> and <(mouse y) < (y position)>>>> then\n        switch costume to (down v)\n    end\n    change x by (Xs)\n    if <touching (ground v)?> then\n        change x by ((Xs) * (-1))\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n            if <(Xs) > [0]> then\n                set [xs v] to [-15]\n                set [ys v] to [10]\n            else\n                set [xs v] to [15]\n                set [ys v] to [10]\n            end\n        else\n            set [xs v] to [0]\n        end\n    else\n        set [xs v] to ((Xs) * (0.8))\n    end\n    change y by (Ys)\n    if <touching (ground v)?> then\n        change y by ((Ys) * (-1))\n        set [ys v] to [0]\n        if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n            switch costume to (player - up v)\n            if <(Jumping) = [yes]> then\n                set [ys v] to [12]\n                set [jumping v] to [no]\n            end\n        end\n    else\n        change [ys v] by (-1)\n        set [jumping v] to [yes]\n    end\n    if <(x position) > [239]> then\n        change [level v] by (1)\n        go to x: (-190) y: (20)\n        set [xs v] to [0]\n        set [ys v] to [0]\n    end\n    if <<<touching (spikes and lava v)?> or <(y position) < [-178]>> or <touching (saws v)?>> then\n        go to x: (-190) y: (50)\n        set [xs v] to [0]\n        set [ys v] to [0]\n    end\n    if <touching (trampoline v)?> then\n        set [ys v] to [20]\n    end\nend\n\nwhen I receive [outro v]\nhide\n\n@Ground\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\nswitch costume to (1 v)\nforever\n    if <(Level) < [10]> then\n        switch costume to (Level)\n    else\n        switch costume to (10 v)\n        wait (1) seconds\n        switch costume to (11 v)\n        broadcast (Outro v)\n        wait (9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999) seconds\n    end\nend\n\nbroadcast (Outro v)\n\nwhen flag clicked\nhide\n\n@Trampoline\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\nswitch costume to (1 v)\nforever\n    switch costume to (Level)\nend\n\n@Spikes and lava\n\nwhen I receive [start v]\ngo to [back v] layer\ngo to x: (0) y: (0)\nshow\nswitch costume to (1 v)\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\nwait (0.5) seconds\n\n@GreenaryTree\n\nwhen I receive [start v]\ngo to [back v] layer\ngo to x: (0) y: (0)\nshow\nswitch costume to (1 v)\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\n@INTRO\n\ndefine Shake\npoint in direction (90)\ngo to x: (0) y: (0)\nset [i v] to [0]\nset [costume v] to (costume [number v])\nswitch costume to (blank v)\nset size to (250) %\nrepeat until <(size) < [101]>\n    switch costume to (blank v)\n    go to x: (0) y: (0)\n    change y by (([cos v] of ((i) * (500)) ) * (((100) - (size)) * (0.2)))\n    change x by (([sin v] of ((i) * (500)) ) * (((100) - (size)) * (0.2)))\n    change size by (((100) - (size)) * (0.2))\n    change [i v] by (10)\n    point in direction ((([sin v] of ((i) * (500)) ) * (((100) - (size)) * (0.2))) + (90))\n    switch costume to (costume)\nend\n\ndefine Slide (#)\nhide\ngo to [back v] layer\nset [clone id v] to [Slide]\nrepeat (#)\n    create clone of (_myself_ v)\n    change [brightness v] effect by (5)\n    wait (0.1) seconds\nend\n\ndefine Smooth Grow label size (size) speed (speed)\nrepeat until <(round (size)) = (round (size))>\n    change size by (((size) - (size)) / (speed))\nend\n\ndefine Smooth Glide and Ghost | x: (x) y: (y) speed: (speed) ghost: (ghost)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((x) - (x position)) / (speed))\n    change [ghost v] effect by (ghost)\n    change y by (((y) - (y position)) / (speed))\nend\n\ndefine Smooth Glide and stuff | x: (x) y: (y) direction: (direction) speed: (speed) size: (size) ghost: (ghost)\nrepeat until <<(round (x position)) = (round (x))> and <<(round (y position)) = (round (y))> and <<(round (size)) = (round (size))> and <(round (direction)) = (round (direction))>>>>\n    change x by (((x) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\n    change size by (((size) - (size)) / (speed))\n    change [ghost v] effect by (ghost)\n    turn right (((direction) - (direction)) / (speed)) degrees\nend\n\nwhen flag clicked\nstart sound [Emdi x Coorby - Lonewolf \(feat. Kristi-Leah\) v]\nset [clone id v] to [0]\nset [dr v] to [90]\nhide\nclear graphic effects\nrepeat (20)\n    create clone of (_myself_ v)\n    change [clone id v] by (1)\nend\nSlide [6]\nwait (0.3) seconds\nrepeat (5)\n    Particles | repeat: [40]\n    wait (0.9) seconds\nend\nwait (3.5) seconds\nbroadcast (Start v)\n\nwhen I start as a clone\nif <(Clone ID) = [1]> then\n    set size to (-100) %\n    point in direction (90)\n    switch costume to (name v)\n    show\n    go to [front v] layer\n    Smooth Grow label size [200] speed [4]\n    Smooth Grow label size [120] speed [6]\n    wait (0.3) seconds\n    Shake\n    repeat (2)\n        Smooth Grow label size [140] speed [1]\n        Smooth Grow label size [120] speed [7]\n    end\n    set [dr v] to (direction)\n    set [dr v] to [90]\n    wait (0) seconds\n    point in direction (90)\n    repeat (20)\n        set [dr v] to (direction)\n        turn right (var1) degrees\n        change size by (((200) - (size)) / (4))\n        change [var1 v] by ((var1) / (5))\n    end\n    repeat until <<(round (direction)) = (round (90))> and <(round (size)) = (round (120))>>\n        set [dr v] to (direction)\n        change size by (((120) - (size)) / (4))\n        turn right (((90) - (direction)) / (10)) degrees\n    end\n    point in direction (90)\n    Shake\n    wait (0.5) seconds\n    delete this clone\nend\nif <(Clone ID) = [3]> then\n    Spawn chevrons | repeat: [3]\nend\nif <(Clone ID) = [4]> then\n    Spawn chevrons 2 | [3]\nend\nif <(Clone ID) = [Chevron]> then\n    set size to (0) %\n    wait (1.8) seconds\n    point in direction (90)\n    chevron\n    delete this clone\nend\nif <(Clone ID) = [5]> then\n    wait (0.7) seconds\n    repeat (100)\n        point in direction (90)\n        go to [back v] layer\n        set size to (100) %\n        switch costume to (bg v)\n        show\n        go to [back v] layer\n    end\n    wait (4.5) seconds\n    delete this clone\nend\nif <(Clone ID) = [Chevron2]> then\n    set size to (0) %\n    point in direction (90)\n    wait (2.4) seconds\n    chevron 2\n    delete this clone\nend\nif <(Clone ID) = [6]> then\n    point in direction (90)\n    wait (2) seconds\n    go to [back v] layer\n    set size to (100) %\n    switch costume to (grid1 v)\n    show\n    wait (6.5) seconds\n    delete this clone\nend\nif <(Clone ID) = [7]> then\n    point in direction (90)\n    wait (1.7) seconds\n    go to x: (0) y: (0)\n    go to [front v] layer\n    set size to (150) %\n    switch costume to (ring1 v)\n    set [ghost v] effect to (100)\n    show\n    set size to (150) %\n    repeat (90)\n        turn right (3) degrees\n        change [ghost v] effect by (-10)\n    end\n    repeat (20)\n        turn right (12) degrees\n    end\n    repeat (60)\n        turn right (3) degrees\n    end\n    repeat (10)\n        turn right (3) degrees\n        change [ghost v] effect by (10)\n        change [pixelate v] effect by (10)\n    end\n    delete this clone\nend\nif <(Clone ID) = [8]> then\n    point in direction (90)\n    wait (1.7) seconds\n    repeat (6)\n        go to x: (pick random (150) to (-150)) y: (pick random (150) to (-150))\n        go to [front v] layer\n        set [brightness v] effect to (100)\n        set size to (-100) %\n        switch costume to (line explosion - 1 v)\n        set [ghost v] effect to (0)\n        show\n        repeat until <(costume [name v]) = [Last Line Explosion]>\n            next costume\n            turn right (3) degrees\n            change size by (((50) - (size)) / (4))\n        end\n        hide\n        wait (0.28) seconds\n    end\n    delete this clone\nend\nif <(Clone ID) = [9]> then\n    point in direction (90)\n    wait (7.5) seconds\n    switch costume to (slide - end v)\n    set size to (100) %\n    go to x: (0) y: (1000)\n    show\n    go to [front v] layer\n    Smooth Glide and stuff | x: [0] y: [0] direction: [90] speed: [8] size: [100] ghost: [0]\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\ndefine Particles | repeat: (#)\nrepeat (#)\n    set [clone id v] to [Particles]\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(Clone ID) = [Particles]> then\n    set size to (pick random (30) to (80)) %\n    switch costume to (pick random (3) to (5))\n    set [i v] to (pick random (10) to (15))\n    show\n    point in direction (pick random (0) to (360))\n    go to [front v] layer\n    set size to (pick random (30) to (80)) %\n    repeat (25)\n        move (I) steps\n        change size by (-2)\n        set [i v] to ((I) * (0.9))\n    end\n    set [brightness v] effect to (-100)\n    repeat (25)\n        move (I) steps\n        change size by (-1)\n        change [ghost v] effect by (13)\n        set [i v] to ((I) * (0.9))\n    end\nend\n\nwhen I start as a clone\nif <(Clone ID) = [1]> then\n    point in direction (90)\n    set [var1 v] to [1]\n    repeat (20)\n        turn right (var1) degrees\n        change [var1 v] by ((var1) / (5))\n    end\n    set [var1 v] to [1]\n    repeat until <(round (direction)) = (round (90))>\n        turn right (((90) - (direction)) / (10)) degrees\n    end\n    point in direction (90)\n    wait (4) seconds\nend\n\ndefine chevron\nset size to (-100) %\npoint in direction (90)\nswitch costume to (chevron v)\nshow\ngo to x: (0) y: (0)\nset size to (-100) %\nset size to (0) %\ngo to [back v] layer\ngo [forward v] (10) layers\npoint in direction (DR)\nrepeat (5)\n    change size by (12)\nend\nrepeat until <(size) > [300]>\n    switch costume to (hack v)\n    change size by (Val)\n    change [val v] by (((12) - (Val)) / (50))\n    point in direction (DR)\n    switch costume to (chevron v)\nend\npoint in direction (DR)\nswitch costume to (chevron v)\nrepeat until <(size) > [800]>\n    switch costume to (hack v)\n    change size by (Val)\n    point in direction (DR)\n    change [val v] by (((12) - (Val)) / (50))\n    switch costume to (chevron v)\nend\ndelete this clone\n\ndefine Spawn chevrons | repeat: (#)\nrepeat (#)\n    set [clone id v] to [Chevron]\n    create clone of (_myself_ v)\n    wait (1.2) seconds\nend\n\nwhen I start as a clone\nif <(Clone ID) = [Slide]> then\n    set size to (200) %\n    point in direction (90)\n    go to x: (0) y: (-1000)\n    switch costume to (slide v)\n    set size to (200) %\n    show\n    go [forward v] (0) layers\n    Smooth Glide and stuff | x: [0] y: [0] direction: [90] speed: [3] size: [155] ghost: [0]\n    go to [back v] layer\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\ndefine Spawn chevrons 2 | (#)\nrepeat (#)\n    set [clone id v] to [Chevron2]\n    create clone of (_myself_ v)\n    wait (1.2) seconds\nend\n\ndefine chevron 2\nset size to (-100) %\npoint in direction (90)\nswitch costume to (chevron v)\nshow\ngo to x: (0) y: (0)\nset size to (-100) %\nset size to (0) %\ngo to [back v] layer\ngo [forward v] (1) layers\npoint in direction (DR)\nrepeat (10)\n    change size by (12)\nend\nrepeat until <(size) > [800]>\n    switch costume to (hack v)\n    change size by (Val)\n    change [val v] by (((12) - (Val)) / (50))\n    switch costume to (chevron v)\nend\ndelete this clone\n\nwhen I start as a clone\nif <(Clone ID) = [Chevron]> then\n    point in direction (90)\n    forever\n        point in direction (DR)\n    end\nend\n\nwhen I start as a clone\nif <(Clone ID) = [Chevron2]> then\n    point in direction (90)\n    forever\n        point in direction (DR)\n    end\nend\n\n@OUTRO\n\nwhen I start as a clone\nif <(Clone) = [credit down]> then\n    show\n    switch costume to (down v)\n    go to x: (0) y: (-251)\n    forever\n        if <touching (mouse-pointer v)?> then\n            if <(mouse y) > [-180]> then\n                Smooth Glide X [0] Y [-170] Speed [3]\n            end\n        else\n            wait until <not <touching (mouse-pointer v)?>>\n            Smooth Glide X [0] Y [-250] Speed [3]\n        end\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [Name]> then\n    go to [front v] layer\n    show\n    point in direction (90)\n    go to x: (0) y: (0)\n    switch costume to (name v)\n    set size to (100) %\n    wait (0) seconds\n    forever\n        point in direction ((([tan v] of ((timer) * (140)) ) * (20)) + (90))\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [BG]> then\n    set [color v] effect to (75)\n    show\n    point in direction (90)\n    go to x: (0) y: (0)\n    switch costume to (bg v)\n    go to [front v] layer\n    Size Hack [200]\n    forever\n        point in direction ((([tan v] of ((timer) * (130)) ) * (20)) + (90))\n    end\nend\n\ndefine Size Hack (#)\nswitch costume to (blank v)\nset size to (#) %\nswitch costume to (bg v)\n\ndefine Smooth Glide X (x) Y (y) Speed (speed)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    change x by (((x) - (x position)) / (speed))\n    change y by (((y) - (y position)) / (speed))\nend\ngo to x: (x) y: (y)\n\nwhen I start as a clone\nif <(Clone) = [credit down]> then\n    forever\n        go to [front v] layer\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [Love]> then\n    go to x: (0) y: (160)\n    go to [front v] layer\n    show\n    switch costume to (up v)\n    set size to (pick random (30) to (60)) %\n    set [ghost v] effect to (pick random (10) to (30))\n    forever\n        glide (1) secs to x: (0) y: (160)\n        glide (1) secs to x: (0) y: (140)\n    end\nend\n\ndefine Line\nset [clone v] to [Line]\npoint in direction (90)\ngo to x: (0) y: (0)\nrepeat (20)\n    turn right (18) degrees\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nif <(Clone) = [Line]> then\n    go to x: (0) y: (0)\n    go to [front v] layer\n    set [brightness v] effect to (100)\n    set [outro: i v] to [35]\n    switch costume to (line v)\n    set size to (0) %\n    show\n    repeat (5)\n        set [outro: i v] to ((OUTRO: i) * (0.85))\n        change size by (((100) - (size)) / (5))\n        move (OUTRO: i) steps\n    end\n    repeat (10)\n        set [outro: i v] to ((OUTRO: i) * (0.85))\n        change size by (((100) - (size)) / (5))\n        move (OUTRO: i) steps\n        next costume\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\nwhen I start as a clone\nif <(Clone) = [Name]> then\n    forever\n        go to [front v] layer\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [Name]> then\n    forever\n        wait (5) seconds\n        repeat (15)\n            turn right (10) degrees\n            switch costume to (blank v)\n            change size by (200)\n            switch costume to (name v)\n        end\n        repeat (15)\n            turn right (10) degrees\n            switch costume to (blank v)\n            change size by (-200)\n            switch costume to (name v)\n        end\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [credit left]> then\n    show\n    switch costume to (left v)\n    go to x: (-200) y: (0)\n    forever\n        if <touching (mouse-pointer v)?> then\n            if <(mouse y) > [-180]> then\n                Smooth Glide X [-140] Y [0] Speed [3]\n            end\n        else\n            wait until <not <touching (mouse-pointer v)?>>\n            Smooth Glide X [-270] Y [0] Speed [3]\n        end\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [credit left]> then\n    forever\n        go to [front v] layer\n    end\nend\n\nwhen I start as a clone\nif <(Clone) < [4]> then\n    show\n    switch costume to ((Clone) + (1))\n    set size to (0) %\n    set [ghost v] effect to (0)\n    repeat (14)\n        change [ghost v] effect by (-10)\n        switch costume to (size hack v)\n        change size by (((1075) - (size)) / (5))\n        switch costume to ((Clone) + (1))\n    end\nend\n\ndefine Clone (id)\nset [clone v] to (id)\ncreate clone of (_myself_ v)\nwait (0) seconds\n\nwhen I start as a clone\nif <(Clone) = [cir1]> then\n    set [color v] effect to (-85)\n    set [brightness v] effect to (-10)\n    point in direction (-50)\n    go to [front v] layer\n    go to x: (0) y: (0)\n    switch costume to (circle v)\n    set size to (5) %\n    show\n    set [\[intro\] 2 v] to [10]\n    repeat (20)\n        change y by (\[Intro\] 2)\n        change [\[intro\] 2 v] by (-2)\n    end\n    set [\[intro\] 1 v] to [1]\n    Smooth Size to: [500] SPD [15] Costume [circle]\n    go to x: (0) y: (0)\n    wait until <(\[Intro\] 1) = [2]>\n    go to x: (0) y: (0)\n    Smooth Size to: [10] SPD [5] Costume [circle]\n    set [\[intro\] 2 v] to [20]\n    repeat (40)\n        change y by (\[Intro\] 2)\n        change [\[intro\] 2 v] by (-1.8)\n        change [ghost v] effect by (3)\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [cir2]> then\n    set [brightness v] effect to (-30)\n    set [color v] effect to (-70)\n    point in direction (-50)\n    repeat (2)\n        go to [front v] layer\n    end\n    go to x: (0) y: (0)\n    switch costume to (circle v)\n    set size to (5) %\n    show\n    set [\[intro\] 2 v] to [-10]\n    repeat (20)\n        change y by (\[Intro\] 2)\n        change [\[intro\] 2 v] by (2)\n    end\n    set [\[intro\] 1 v] to [1]\n    Smooth Size to: [500] SPD [15] Costume [circle]\n    go to x: (0) y: (0)\n    wait until <(\[Intro\] 1) = [2]>\n    go to x: (0) y: (0)\n    Smooth Size to: [10] SPD [5] Costume [circle]\n    set [\[intro\] 2 v] to [20]\n    repeat (40)\n        change y by (\[Intro\] 2)\n        change [\[intro\] 2 v] by (1.8)\n        change [ghost v] effect by (3)\n    end\nend\n\nwhen flag clicked\n\ndefine Smooth Size to: (size) SPD (speed) Costume (prev cos)\nrepeat until <(round (size)) = (round (size))>\n    if <(size) > [1000]> then\n        switch costume to ( v)\n        change size by (((size) - (size)) / (speed))\n        switch costume to (prev cos)\n    else\n        if <<(size) < [100]> and <(size) > [0]>> then\n            change size by (((size) - (size)) / (speed))\n            switch costume to (prev cos)\n        else\n            if <not <(size) = [0]>> then\n                switch costume to ( v)\n                change size by (((size) - (size)) / (speed))\n                switch costume to (prev cos)\n            else\n                stop [this script v]\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [cir1]> then\n    repeat (2)\n        go to [front v] layer\n    end\nend\n\nwhen I start as a clone\nif <(Clone) = [cir2]> then\n    repeat (2)\n        go to [front v] layer\n    end\nend\n\nwhen I receive [outro v]\nwait (4) seconds\nset [clone v] to [Name]\ncreate clone of (_myself_ v)\nset [clone v] to [BG]\ncreate clone of (_myself_ v)\nset [clone v] to [credit down]\ncreate clone of (_myself_ v)\nset [clone v] to [Love]\ncreate clone of (_myself_ v)\nset [clone v] to [credit left]\ncreate clone of (_myself_ v)\n\nwhen I receive [outro v]\ngo to x: (0) y: (0)\nset size to (100) %\nswitch costume to (size hack v)\nhide\nreset timer\npoint in direction (90)\nhide\nwait (4) seconds\nforever\n    wait (1.2) seconds\n    Line\nend\n\nwhen I receive [outro v]\nwait (0) seconds\nwait (.2) seconds\nClone [2]\nwait (.2) seconds\nClone [3]\nwait (.2) seconds\nClone [1]\nwait (1) seconds\n\nwhen I receive [outro v]\nwait (1.5) seconds\nset [clone v] to [cir1]\ncreate clone of (_myself_ v)\nwait (.8) seconds\nset [clone v] to [cir2]\ncreate clone of (_myself_ v)\n\nwhen I receive [outro v]\nstop all sounds\nclear sound effects\nset volume to (100) %\nforever\n    play sound [Ashes Remain - On My Own \[HD Animated Lyrics!\].mp3 v] until done\nend\n\nwhen flag clicked\n\nforever\n    wait (1) seconds\n    if <(Level) > [9]> then\n        broadcast (Outro v)\n        wait (60) seconds\n    end\nend\n\n@Effects\n\nhide\n\n