Platformer Part-12 (Last)

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/  \nPart-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.\nThere are 24 levels.\nEvery level is possible.\n     ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧\n                                    UPDATES\n11th June 2021 - shared\n✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧ - - - - ✧

@Stage\n\nwhen flag clicked\ngo to x: (0) y: (0)\nshow\nforever\n    switch backdrop to (Level)\nend\n\n@Player\n\nwhen flag clicked\nset [level v] to [1]\ngo to [front v] layer\nhide\n\nwhen I receive [start v]\nset [level v] to [1]\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    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        set [xs v] to [0]\n        set [ys v] to [0]\n        go to x: (-190) y: (20)\n    end\n    if <<<touching (spikes v)?> or <(y position) < [-178]>> or <<touching (crusher v)?> or <<touching (saws v)?> or <<touching (lava v)?> or <<touching (spikes 0.2 v)?> or <touching (enemy 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\n    if <touching (water v)?> then\n        set [ys v] to [-1]\n        if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n            set [ys v] to [5]\n        end\n        if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <(y position) > (mouse y)>>> then\n            set [ys v] to [-5]\n        end\n    end\n    if <touching (speed ups v)?> then\n        set [xs v] to [20]\n    end\nend\n\nwhen I receive [start v]\nforever\n    play sound [NIVIRO - Memes v] until done\nend\n\nchange [level v] by (4)\n\nset [level v] to [23]\n\n@Ground\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nshow\nswitch costume to (1 v)\ngo to [front v] layer\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    if <(Level) = [5]> then\n        change [color v] effect by (0.3)\n    end\n    if <(Level) = [6]> then\n        change [color v] effect by (0.3)\n    end\n    if <(Level) = [7]> then\n        set [color v] effect to (0)\n    end\nend\n\n@Lava\n\nwhen flag clicked\nset [level v] to [0]\ngo to [front v] layer\ngo to x: (0) y: (0)\nhide\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\ngo to [front v] layer\nshow\n\nwhen I receive [tn v]\nhide\n\nwhen I receive [start v]\nforever\n\nwhen I receive [start v]\nforever\n    if <(Level) = [9]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [10]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [5]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [6]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [11]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [12]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [13]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [14]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [15]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [16]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [20]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [22]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [21]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\nend\n\nwhen I receive [start v]\nforever\n\n@Spikes\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [level v] to [0]\nhide\nforever\n    switch costume to (Level)\nend\n\nwhen I receive [start v]\ngo to [back v] layer\nshow\n\nwhen I receive [tn v]\nhide\n\n@Saws\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nforever\n    if <(Level) = [6]> then\n        go to x: (-130) y: (-110)\n    end\n    if <(Level) = [9]> then\n        go to x: (-10) y: (-90)\n    end\n    if <(Level) = [11]> then\n        go to x: (-10) y: (-90)\n    end\n    if <(Level) = [19]> then\n        go to x: (195) y: (-112)\n    end\nend\n\nwhen I receive [start v]\nswitch costume to (1 v)\nshow\ngo to [back v] layer\nforever\n    switch costume to (Level)\n    turn right (5) degrees\nend\n\n@Spikes 0.2\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\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nforever\n    glide (1) secs to x: (0) y: ((y position) + (50))\n    glide (1) secs to x: (0) y: ((y position) + (-50))\nend\n\nchange [level v] by (1)\n\n@Trampoline\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nswitch costume to (1 v)\nshow\ngo to [back v] layer\nforever\n    switch costume to (Level)\nend\n\n@Water\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nswitch costume to (1 v)\nshow\nforever\n    go to [back v] layer\n    switch costume to (Level)\n    if <(Level) = [15]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [16]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [19]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\n    if <(Level) = [20]> then\n        repeat (30)\n            change y by (-0.4)\n        end\n        repeat (30)\n            change y by (0.4)\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\n@Speed Ups\n\nwhen I receive [start v]\nswitch costume to (1 v)\nshow\ngo to [back v] layer\nforever\n    go to x: (0) y: (0)\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\n@Enemy\n\nwhen flag clicked\nset [level v] to [1]\nhide\n\nwhen flag clicked\nforever\n    if <(Level) = [11]> then\n        switch costume to (forward v)\n        show\n        go to x: (80) y: (-53)\n        glide (1.5) secs to x: (211) y: (-53)\n        switch costume to (backward v)\n        glide (1.5) secs to x: (80) y: (-53)\n    end\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [12]> then\n        hide\n    end\nend\n\n@Extra\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\ngo to x: (0) y: (0)\nswitch costume to (1 v)\nshow\nforever\n    go to [back v] layer\n    switch costume to (Level)\nend\n\n@Text\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    go to [front v] layer\n    switch costume to (Level)\nend\n\n@Intro\n\ndefine Shake x: (x) y: (y) repeat: (#) size1: (size1) size2: (size2) speed: (speed) turn intensity: (#2)\nset size to (size1) %\nrepeat (#)\n    switch costume to (pos v)\n    go to x: ((([sin v] of ((timer) * (900)) ) * (((size2) - (size)) / (2))) + (x)) y: ((([cos v] of ((timer) * (900)) ) * (((size2) - (size)) / (2))) + (y))\n    switch costume to (text  v)\n    change size by (((size2) - (size)) / (speed))\n    point in direction ((([sin v] of ((timer) * (900)) ) * (((size2) - (size)) / (#2))) + (dir2))\n    replace item (1) of [cams v] with (x position)\n    replace item (2) of [cams v] with (y position)\n    replace item (3) of [cams v] with (direction)\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\nreset timer\nset [clone id v] to [0]\npoint in direction (90)\nclear graphic effects\ngo to x: (0) y: (0)\nhide\nstart sound [ \(Jonth & Tom Wilson Remix\) Chainsmokers - Beach House v]\nBeginning\nrepeat (10)\n    change [clone id v] by (1)\n    create clone of (_myself_ v)\nend\nSpawn Chevs\n\nwhen I start as a clone\nif <(Clone ID) = [Beginning]> then\n    set [val v] to [0.9]\n    show\n    switch costume to (beginning v)\n    set size to (0) %\n    repeat (10)\n        change size by (val)\n        turn right ((val) / (2)) degrees\n        change [val v] by ((val) / (2))\n    end\n    repeat (10)\n        switch costume to (hack v)\n        change size by (val)\n        change [val v] by ((val) / (2))\n        turn right ((val) / (2)) degrees\n        switch costume to (beginning v)\n    end\n    delete this clone\nend\nif <(Clone ID) = [2]> then\n    show\n    point in direction (-90)\n    set size to (0) %\n    go to x: (1000) y: (1000)\n    switch costume to (text  v)\n    go to [front v] layer\n    Smooth Glide and stuff | x: [0] y: [0] direction: [90] speed: [5] size: [100] ghost: [0]\n    go to [front v] layer\nend\nif <(Clone ID) = [3]> then\n    show\n    point in direction (-90)\n    set size to (0) %\n    go to x: (1000) y: (1000)\n    switch costume to (text  v)\n    Smooth Glide and stuff | x: [0] y: [0] direction: [90] speed: [5] size: [100] ghost: [0]\nend\nif <(Clone ID) = [1]> then\n    show\n    point in direction (-90)\n    set size to (0) %\n    go to x: (1000) y: (1000)\n    switch costume to (text  v)\n    Smooth Glide and stuff | x: [0] y: [0] direction: [90] speed: [5] size: [100] ghost: [0]\nend\nif <(Clone ID) = [End]> then\n    set [ghost v] effect to (0)\n    show\n    point in direction (90)\n    set size to (100) %\n    go to x: (0) y: (0)\n    switch costume to (end v)\n    repeat (10)\n        change [brightness v] effect by (-10)\n        go to [front v] layer\n    end\n    broadcast (delete most v)\n    wait (0.3) seconds\n    delete this clone\nend\nif <(Clone ID) = [Chevron]> then\n    Chevron code\nend\nif <(Clone ID) = [Chevron2]> then\n    Chevron code\nend\nif <(Clone ID) = [Chevron3]> then\n    Chevron code\nend\nif <(Clone ID) = [4]> then\n    repeat (2)\n        set [ghost v] effect to (30)\n        wait until <(timer) > [1.5]>\n        show\n        go to [front v] layer\n        point in direction (90)\n        go to x: (0) y: (0)\n        switch costume to (hack v)\n        set size to (1500) %\n        switch costume to (hexagonal shutter v)\n        repeat (11)\n            go to [front v] layer\n            turn right (5) degrees\n            switch costume to (hack v)\n            change size by (-100)\n            switch costume to (hexagonal shutter v)\n        end\n        repeat (30)\n            go to [front v] layer\n            switch costume to (hack v)\n            turn right (5) degrees\n            change size by (((1600) - (size)) / (4))\n            switch costume to (hexagonal shutter v)\n        end\n        wait until <(timer) > [4]>\n    end\nend\nif <(Clone ID) = [5]> then\n    wait until <(timer) > [0.8]>\n    repeat (2)\n        show\n        go to [front v] layer\n        set [ghost v] effect to (30)\n        point in direction (90)\n        switch costume to (pos v)\n        go to x: (0) y: (1300)\n        switch costume to (shutter v)\n        repeat (2)\n            go to [front v] layer\n            change y by (-100)\n            switch costume to (shutter v)\n        end\n        repeat (50)\n            go to [front v] layer\n            switch costume to (pos v)\n            change y by (((300) - (y position)) / (6))\n            switch costume to (shutter v)\n        end\n        wait until <(timer) > [2.6]>\n    end\n    wait until <(timer) > [4.2]>\nend\nif <(Clone ID) = [6]> then\n    wait until <(timer) > [0.8]>\n    repeat (2)\n        set [ghost v] effect to (30)\n        show\n        go to [front v] layer\n        point in direction (90)\n        switch costume to (pos v)\n        go to x: (0) y: (-1300)\n        switch costume to (shutter v)\n        repeat (2)\n            go to [front v] layer\n            change y by (100)\n            switch costume to (shutter v)\n        end\n        repeat (50)\n            go to [front v] layer\n            switch costume to (pos v)\n            change y by (((-300) - (y position)) / (6))\n            switch costume to (shutter v)\n        end\n        wait until <(timer) > [2.6]>\n    end\n    wait until <(timer) > [4.2]>\nend\nif <(Clone ID) = [7]> then\n    wait until <(timer) > [0.8]>\n    repeat (2)\n        set [brightness v] effect to (100)\n        set [ghost v] effect to (0)\n        show\n        set size to (0) %\n        go to [back v] layer\n        go [forward v] (9) layers\n        point in direction (90)\n        switch costume to (particle v)\n        go to x: (0) y: (0)\n        Smooth Glide and stuff | x: [0] y: [0] direction: [-90] speed: [6] size: [1000] ghost: [3]\n        wait until <(timer) > [3.4]>\n    end\nend\nif <(Clone ID) = [8]> then\n    set [brightness v] effect to (100)\n    repeat (2)\n        wait until <(timer) > [0.8]>\n        set [ghost v] effect to (0)\n        show\n        set size to (0) %\n        go to [back v] layer\n        go [forward v] (9) layers\n        point in direction (90)\n        switch costume to (shockwave v)\n        go to x: (0) y: (-10)\n        repeat (5)\n            change size by (((400) - (size)) / (10))\n            turn right (((-90) - (direction)) / (10)) degrees\n        end\n        repeat until <(costume [name v]) = [last shock]>\n            change size by (((400) - (size)) / (10))\n            turn right (((-90) - (direction)) / (10)) degrees\n            next costume\n        end\n        hide\n    end\nend\n\nwhen flag clicked\nset [dir2 v] to [90]\ndelete all of [cams v]\nrepeat (3)\n    add [0] to [cams v]\nend\ndelete all of [keyframes v]\nadd [0.8] to [keyframes v]\nadd [1.1] to [keyframes v]\nadd [1.3] to [keyframes v]\nadd [1.5] to [keyframes v]\nadd [1.9] to [keyframes v]\nadd [2.0] to [keyframes v]\nadd [2.2] to [keyframes v]\nadd [2.4] to [keyframes v]\nadd [2.5] to [keyframes v]\nadd [2.6] to [keyframes v]\nadd [2.8] to [keyframes v]\nadd [3.2] to [keyframes v]\nadd [3.4] to [keyframes v]\nadd [3.6] to [keyframes v]\nadd [4] to [keyframes v]\nadd [4.14] to [keyframes v]\nadd [4.3] to [keyframes v]\nadd [4.5] to [keyframes v]\nadd [4.65] to [keyframes v]\nadd [4.7] to [keyframes v]\nadd [4.9] to [keyframes v]\n\nwhen flag clicked\nset [item# v] to [1]\nset [size. v] to [130]\nset [size2. v] to [100]\nrepeat (length of [keyframes v])\n    wait until <(timer) > (item (item#) of [keyframes v])>\n    broadcast (shake v)\n    change [val3 v] by (100)\n    change [item# v] by (1)\nend\n\nwhen I receive [shake v]\nif <(Clone ID) = [1]> then\n    Shake x: [0] y: [0] repeat: [1000] size1: (size.) size2: (size2.) speed: [6] turn intensity: [3]\nend\n\nwhen flag clicked\nwait until <(timer) > [4.3]>\nrepeat (30)\n    change [size. v] by (4)\n    change [size2. v] by (4)\nend\n\nwhen flag clicked\nset [x v] to [0]\nwait until <(timer) > [5]>\nset [clone id v] to [End]\ncreate clone of (_myself_ v)\n\ndefine Beginning\nset [brightness v] effect to (100)\nrepeat (11)\n    set [clone id v] to [Beginning]\n    create clone of (_myself_ v)\n    change [brightness v] effect by (-10)\nend\n\ndefine Spawn Chevs\nrepeat (12)\n    set [clone id v] to [Chevron]\n    create clone of (_myself_ v)\n    set [clone id v] to [Chevron2]\n    create clone of (_myself_ v)\n    set [clone id v] to [Chevron3]\n    create clone of (_myself_ v)\n    wait (0.3) seconds\nend\n\nwhen I start as a clone\nif <(Clone ID) = [Chevron]> then\n    forever\n        switch costume to (pos v)\n        go to x: (x) y: (item (2) of [cams v])\n        point in direction (item (3) of [cams v])\n        switch costume to (chevron v)\n    end\nend\n\ndefine Chevron code\nset [ghost v] effect to (20)\nshow\nswitch costume to (chevron v)\ngo to x: (0) y: (0)\ngo to [back v] layer\ngo [forward v] (10) layers\nset size to (0) %\nrepeat until <(size) > [100]>\n    change size by (val3)\n    change [val3 v] by (((40) - (val3)) / (3))\nend\nrepeat until <(size) > [1000]>\n    switch costume to (hack v)\n    change size by (val3)\n    change [val3 v] by (((40) - (val3)) / (3))\n    switch costume to (chevron v)\nend\nrepeat (10)\n    switch costume to (hack v)\n    change [ghost v] effect by (25)\n    change size by (val3)\n    change [val3 v] by (((40) - (val3)) / (3))\n    switch costume to (chevron v)\nend\ndelete this clone\n\nwhen I start as a clone\nif <(Clone ID) = [Chevron2]> then\n    forever\n        switch costume to (pos v)\n        go to x: ((x) - (750)) y: (item (2) of [cams v])\n        point in direction (item (3) of [cams v])\n        switch costume to (chevron v)\n    end\nend\n\nwhen I start as a clone\nif <(Clone ID) = [1]> then\n    forever\n        switch costume to (pos v)\n        set x to (x)\n        switch costume to (text  v)\n    end\nend\n\nwhen I start as a clone\nif <(Clone ID) = [Chevron3]> then\n    forever\n        switch costume to (pos v)\n        go to x: ((x) + (750)) y: (item (2) of [cams v])\n        point in direction (item (3) of [cams v])\n        switch costume to (chevron v)\n    end\nend\n\nwhen I start as a clone\nif <(Clone ID) = [2]> then\n    forever\n        switch costume to (pos v)\n        go to x: ((x) - (750)) y: (item (2) of [cams v])\n        point in direction (item (3) of [cams v])\n        switch costume to (text  v)\n    end\nend\n\nwhen I start as a clone\nif <(Clone ID) = [3]> then\n    forever\n        switch costume to (pos v)\n        go to x: ((x) + (750)) y: (item (2) of [cams v])\n        point in direction (item (3) of [cams v])\n        switch costume to (text  v)\n    end\nend\n\nwhen flag clicked\nwait until <(timer) > [2.6]>\nrepeat (30)\n    change [x v] by (((750) - (x)) / (6))\nend\nrepeat (20)\n    change [x v] by (((-750) - (x)) / (6))\nend\nrepeat (30)\n    change [x v] by (((0) - (x)) / (6))\nend\n\nwhen flag clicked\nwait until <(timer) > [2.6]>\nrepeat (2)\n    repeat (10)\n        change [dir2 v] by (15)\n    end\n    repeat (20)\n        change [dir2 v] by (((450) - (dir2)) / (6))\n    end\n    set [dir2 v] to [90]\nend\n\ndefine End\nset [brightness v] effect to (-100)\nrepeat (5)\n    set [clone id v] to [Ending]\n    create clone of (_myself_ v)\nend\n\nwhen I receive [delete most v]\nif <not <<(Clone ID) = [Ending]> or <(Clone ID) = [End]>>> then\n    delete this clone\nend\n\nwhen I start as a clone\nif <(Clone ID) = [Ending]> then\n    set [ghost v] effect to (0)\n    set [val v] to [-0.9]\n    show\n    switch costume to (hack v)\n    go [forward v] (1) layers\n    set size to (1200) %\n    switch costume to (beginning v)\n    repeat until <(round (size)) = (round (100))>\n        change [ghost v] effect by (-10)\n        switch costume to (hack v)\n        change size by (val)\n        turn right ((val) / (10)) degrees\n        change [val v] by ((val) / (10))\n        switch costume to (beginning v)\n    end\n    repeat (3)\n        change size by (val)\n        change [val v] by (-10)\n        turn right ((val) / (2)) degrees\n    end\n    delete this clone\nend\n\nwhen flag clicked\nSpawn Particles\nwait until <(timer) > [5.3]>\nEnd\n\ndefine Spawn Particles\nwait until <(timer) > [0.8]>\nrepeat until <(timer) > [5]>\n    set [ghost v] effect to (60)\n    set [clone id v] to [Particle1]\n    create clone of (_myself_ v)\n    set [clone id v] to [Particle2]\n    create clone of (_myself_ v)\n    set [clone id v] to [Particle3]\n    create clone of (_myself_ v)\n    set [clone id v] to [Particle4]\n    create clone of (_myself_ v)\n    set [clone id v] to [Particle5]\n    create clone of (_myself_ v)\n    wait (0.3) seconds\nend\n\nwhen I start as a clone\nif <(Clone ID) = [Particle1]> then\n    go to x: (0) y: (1000)\n    go to [back v] layer\n    go [forward v] (1) layers\n    switch costume to (pos v)\n    show\n    switch costume to (particle v)\n    repeat (10)\n        change y by (((val3) * (-1)) / (4))\n        turn right (5) degrees\n    end\n    repeat until <touching (_edge_ v)?>\n        turn right (5) degrees\n        change y by (((val3) * (-1)) / (4))\n    end\n    repeat (30)\n        switch costume to (pos v)\n        turn right (5) degrees\n        change y by (((val3) * (-1)) / (2))\n        switch costume to (particle v)\n    end\nend\nif <(Clone ID) = [Particle2]> then\n    go to x: (100) y: (-1000)\n    go to [back v] layer\n    go [forward v] (1) layers\n    switch costume to (pos v)\n    show\n    switch costume to (particle v)\n    repeat (10)\n        turn right (5) degrees\n        change y by ((val3) / (4))\n    end\n    repeat until <touching (_edge_ v)?>\n        turn right (5) degrees\n        change y by ((val3) / (4))\n    end\n    repeat (30)\n        turn right (5) degrees\n        switch costume to (pos v)\n        change y by ((val3) / (2))\n        switch costume to (particle v)\n    end\nend\nif <(Clone ID) = [Particle3]> then\n    go to x: (200) y: (1000)\n    switch costume to (pos v)\n    go to [back v] layer\n    go [forward v] (1) layers\n    show\n    switch costume to (particle v)\n    repeat (10)\n        turn right (5) degrees\n        change y by (((val3) * (-1)) / (4))\n    end\n    repeat until <touching (_edge_ v)?>\n        change y by (((val3) * (-1)) / (4))\n        turn right (5) degrees\n    end\n    repeat (30)\n        switch costume to (pos v)\n        change y by (((val3) * (-1)) / (2))\n        turn right (5) degrees\n        switch costume to (particle v)\n    end\nend\nif <(Clone ID) = [Particle4]> then\n    go to x: (-100) y: (-1000)\n    go to [back v] layer\n    go [forward v] (1) layers\n    switch costume to (pos v)\n    show\n    switch costume to (particle v)\n    repeat (10)\n        turn right (5) degrees\n        change y by ((val3) / (4))\n    end\n    repeat until <touching (_edge_ v)?>\n        turn right (5) degrees\n        change y by ((val3) / (4))\n    end\n    repeat (30)\n        switch costume to (pos v)\n        turn right (5) degrees\n        change y by ((val3) / (2))\n        switch costume to (particle v)\n    end\nend\nif <(Clone ID) = [Particle5]> then\n    go to x: (-200) y: (-1000)\n    go to [back v] layer\n    go [forward v] (1) layers\n    switch costume to (pos v)\n    show\n    switch costume to (particle v)\n    repeat (10)\n        turn right (5) degrees\n        change y by ((val3) / (4))\n    end\n    repeat until <touching (_edge_ v)?>\n        change y by ((val3) / (4))\n        turn right (5) degrees\n    end\n    repeat (30)\n        turn right (5) degrees\n        switch costume to (pos v)\n        change y by ((val3) / (2))\n        switch costume to (particle v)\n    end\nend\n\nwhen I start as a clone\nif <(Clone ID) = [9]> then\n    show\n    switch costume to (bg v)\n    go to [back v] layer\n    set size to (100) %\nend\n\nwhen flag clicked\nwait (8) seconds\nbroadcast (Start v)\n\nset [level v] to [1]\n\n@Crusher\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\nwhen I receive [start v]\ngo to x: (0) y: (0)\nforever\n    glide (1) secs to x: (x position) y: ((y position) + (50))\n    glide (1) secs to x: (x position) y: ((y position) + (-50))\nend\n\n@Click Me'\n\nwhen flag clicked\nswitch costume to (costume1 v)\nhide\n\nwhen flag clicked\nforever\n    if <(Level) = [24]> then\n        show\n        forever\n            go to [front v] layer\n        end\n    end\nend\n\nwhen this sprite clicked\nnext costume\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\n