rainbow platformer

Instructions: [WASD] - Move       [Arrow keys] - Rotate camera\n[Space] - Jump , hold space for larger jump\n[P] - Pause/unpause game\nCollect all power crystals(9) to beat the game.\nReplay levels in time trial to get time crystals.\nTips if you're stuck:\nLevel 2: Try jumping immediately after landing\nLevel 3: Go far away from boss\nLevel 6: Keep jumping\nLevel 9 : Predict boss movement\n

@Stage\n\nwhen flag clicked\nset [pitch v] effect to (0)\nforever\n    set [ghost v] effect to (60)\n    play sound [Vexento_-_Sakura\[Converterino v] until done\nend\n\nwhen flag clicked\nforever\n    reset timer\nend\n\n@Player\n\ndefine Platform Physics movement speed: (x vel.) jump height: (height) gravity: (gravity) friction: (friction) size: (size)\nset size to (size) %\nif <<key (right arrow v) pressed?> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [x vel. v] by (x vel.)\nend\nif <<key (left arrow v) pressed?> or <<mouse down?> and <(x position) > (mouse x)>>> then\n    change [x vel. v] by ((x vel.) * (-1))\nend\nset [x vel. v] to ((x vel.) * (friction))\nchange x by (x vel.)\nif <touching (level v)?> then\n    set [slope v] to [0]\n    repeat until <<not <touching (level v)?>> or <(slope) = [8]>>\n        change [slope v] by (1)\n        change y by (1)\n    end\n    if <touching (level v)?> then\n        change y by ((slope) * (-1))\n        repeat ([ceiling v] of ([abs v] of (x vel.) ) )\n            if <touching (level v)?> then\n                change x by ((([abs v] of (x vel.) ) / (x vel.)) * (-1))\n            end\n        end\n        set [x vel. v] to [0]\n    end\nend\nif <touching (bounce v)?> then\n    broadcast (bounce v)\n    set [y vel. v] to ((height) * (1.75))\nend\nchange y by (y vel.)\nif <touching (level v)?> then\n    repeat ([ceiling v] of ([abs v] of (y vel.) ) )\n        if <touching (level v)?> then\n            change y by ((([abs v] of (y vel.) ) / (y vel.)) * (-1))\n        end\n    end\n    if <<(([abs v] of (y vel.) ) / (y vel.)) = [-1]> and <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>>> then\n        set [y vel. v] to (height)\n    else\n        set [y vel. v] to [0]\n    end\nelse\n    change [y vel. v] by (gravity)\nend\nif <<touching (enemys v)?> or <key (r v) pressed?>> then\n    create clone of (_myself_ v)\n    go to x: (item (#) of [x v]) y: (item (#) of [y v])\n    set [x vel. v] to [0]\n    set [y vel. v] to [0]\nend\nif <<touching (portal v)?> and <([costume name v] of [portal v]) = [open]>> then\n    next level\nend\n\nwhen flag clicked\nshow list [x v]\nshow list [y v]\nswitch costume to (costume4 v)\ngo to x: (-150) y: (-50)\nclear graphic effects\nset [ghost v] effect to (100)\nset [level v] to [1]\nset [x vel. v] to [0]\nset [y vel. v] to [0]\nset [# v] to [1]\nhide\n\nwhen I start as a clone\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\ndefine next level\nstart sound [Finish v]\nchange [# v] by (1)\ngo to x: (item (#) of [x v]) y: (item (#) of [y v])\nchange [level v] by (1)\nset [x vel. v] to [0]\nset [y vel. v] to [0]\nbroadcast (transisit v)\nbroadcast (setup v)\n\nwhen I receive [setup v]\ndelete this clone\n\nadd [0] to [x v]\nadd [-75] to [y v]\n\nwhen I receive [start v]\nwait (1) seconds\nshow\nrepeat (25)\n    change [ghost v] effect by (-4)\nend\nforever\n    Platform Physics movement speed: [1] jump height: [10] gravity: [-1] friction: [0.88] size: [55]\nend\n\nwhen I receive [start v]\nforever\n    if <<key (s v) pressed?> and <<not <(LEVEL) = [1]>> and <<not <(LEVEL) = [5]>> and <<not <(LEVEL) = [10]>> and <not <(LEVEL) = [15]>>>>>> then\n        next level\n        wait until <not <key (s v) pressed?>>\n    end\nend\n\ninsert [thing] at (1) of [x v] \n\nnext level\n\n@LEVEL\n\nwhen flag clicked\nset [level v] to [1]\ngo to x: (0) y: (0)\nclear graphic effects\nset [ghost v] effect to (100)\nhide\nforever\n    switch costume to (LEVEL)\n    go to [front v] layer\n    go [backward v] (2) layers\nend\n\nwhen I receive [start v]\nshow\nrepeat (25)\n    change [ghost v] effect by (-4)\nend\n\n@portal\n\nwhen flag clicked\nset rotation style [all around v]\nhide\npoint in direction (90)\nclear graphic effects\nset [ani v] to [0]\nforever\n    change [ani v] by (10)\n    set [ghost v] effect to ((([sin v] of (ani) ) * (7.5)) * (-1))\n    set size to ((([sin v] of (ani) ) * (10)) + (60)) %\n    turn right (10) degrees\n    if <(LEVEL) = [1]> then\n        go to x: (140) y: (-110)\n    else\n        if <(LEVEL) = [2]> then\n            go to x: (-140) y: (42.5)\n        else\n            if <(LEVEL) = [3]> then\n                go to x: (150) y: (40)\n            else\n                if <(LEVEL) = [4]> then\n                    go to x: (150) y: (100)\n                else\n                    if <(LEVEL) = [5]> then\n                        go to x: (-145) y: (-105)\n                    else\n                        if <(LEVEL) = [6]> then\n                            go to x: (-2) y: (90)\n                        else\n                            if <(LEVEL) = [7]> then\n                                go to x: (150) y: (-110)\n                            else\n                                if <(LEVEL) = [8]> then\n                                    go to x: (-145) y: (-80)\n                                else\n                                    if <(LEVEL) = [9]> then\n                                        go to x: (0) y: (-100)\n                                    else\n                                        if <(LEVEL) = [10]> then\n                                            go to x: (38) y: (-70)\n                                        else\n                                            if <(LEVEL) = [11]> then\n                                                go to x: (75) y: (90)\n                                            else\n                                                if <(LEVEL) = [12]> then\n                                                    go to x: (-147) y: (90)\n                                                else\n                                                    if <(LEVEL) = [13]> then\n                                                        go to x: (-147) y: (40)\n                                                    else\n                                                        if <(LEVEL) = [14]> then\n                                                            go to x: (75) y: (-45)\n                                                        else\n                                                            if <(LEVEL) = [15]> then\n                                                                go to x: (40) y: (80)\n                                                            else\n                                                                if <<(LEVEL) = [16]> or <(LEVEL) = [17]>> then\n                                                                    hide\n                                                                else\n                                                                    show\n                                                                end\n                                                            end\n                                                        end\n                                                    end\n                                                end\n                                            end\n                                        end\n                                    end\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\n    go to [front v] layer\n    go [backward v] (3) layers\n    if <(COLLECTED?) = [yes]> then\n        switch costume to (open v)\n    else\n        switch costume to (closed v)\n    end\nend\n\nwhen I receive [start v]\nshow\n\n@ENEMYS\n\nwhen flag clicked\nhide\nclear graphic effects\nset [level v] to [1]\ngo to x: (0) y: (0)\npoint in direction (90)\nset rotation style [all around v]\n\ndefine clone asset (costume) at x: (x) y: (y) with turn speed: (turn vel.) and size: (size) movement: (x range)\ngo to x: (x) y: (y)\nset [costume v] to (costume)\nset [size v] to (size)\nset [turn vel v] to (turn vel.)\nset [range v] to (x range)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nset size to (size) %\nswitch costume to (costume)\ngo to [back v] layer\nshow\nforever\n    if <<(costume) = [1]> or <(costume) = [2]>> then\n        turn right (turn vel) degrees\n    end\nend\n\nwhen I receive [setup v]\ndelete this clone\n\nwhen I start as a clone\nforever\n    go to [back v] layer\n    if <<(costume) = [1]> or <(costume) = [2]>> then\n        repeat (10)\n            change x by (((range) / (10)) * (-1))\n        end\n        wait (1) seconds\n        repeat (10)\n            change x by ((range) / (10))\n        end\n        wait (1) seconds\n    else\n        if <(costume) = [3]> then\n            repeat (10)\n                change y by (((range) / (10)) * (-1))\n            end\n            wait (1) seconds\n            repeat (10)\n                change y by ((range) / (10))\n            end\n            wait (1) seconds\n        else\n            if <(costume) = [4]> then\n                change y by ((range) * (-1))\n                forever\n                    repeat (10)\n                        change y by ((range) / (10))\n                    end\n                    wait (1) seconds\n                    repeat (10)\n                        change y by (((range) / (10)) * (-1))\n                    end\n                    wait (1) seconds\n                end\n            end\n        end\n    end\nend\n\nwhen [m v] key pressed\nset [mouse v] to (join (mouse x) (join [,] (mouse y)))\n\nwhen I receive [start v]\nforever\n    wait until <(LEVEL) = [1]>\n    clone asset [1] at x: [0] y: [-129] with turn speed: [5] and size: [75] movement: []\n    wait until <(LEVEL) = [2]>\n    clone asset [2] at x: [87] y: [-7] with turn speed: [3] and size: [75] movement: []\n    clone asset [1] at x: [140] y: [123] with turn speed: [5] and size: [50] movement: []\n    wait until <(LEVEL) = [3]>\n    clone asset [1] at x: [0] y: [-130] with turn speed: [5] and size: [125] movement: []\n    clone asset [2] at x: [-172] y: [-8] with turn speed: [3] and size: [75] movement: []\n    clone asset [1] at x: [-100] y: [126] with turn speed: [-5] and size: [125] movement: []\n    clone asset [2] at x: [0] y: [-23] with turn speed: [-7] and size: [50] movement: []\n    wait until <(LEVEL) = [4]>\n    clone asset [2] at x: [0] y: [0] with turn speed: [5] and size: [75] movement: []\n    clone asset [1] at x: [50] y: [0] with turn speed: [5] and size: [75] movement: []\n    clone asset [1] at x: [-50] y: [0] with turn speed: [5] and size: [75] movement: []\n    clone asset [2] at x: [35] y: [30] with turn speed: [-5] and size: [100] movement: [100]\n    clone asset [2] at x: [-60] y: [126] with turn speed: [-5] and size: [100] movement: [-100]\n    wait until <(LEVEL) = [5]>\n    clone asset [3] at x: [50] y: [140] with turn speed: [5] and size: [125] movement: [90]\n    clone asset [4] at x: [-50] y: [140] with turn speed: [5] and size: [125] movement: [90]\n    clone asset [2] at x: [174] y: [-16] with turn speed: [3] and size: [85] movement: [0]\n    clone asset [1] at x: [100] y: [-78] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [1] at x: [50] y: [-131] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [2] at x: [-50] y: [-130] with turn speed: [3] and size: [115] movement: [0]\n    wait until <(LEVEL) = [6]>\n    clone asset [1] at x: [-148] y: [-82] with turn speed: [7] and size: [50] movement: [0]\n    clone asset [1] at x: [148] y: [-82] with turn speed: [-7] and size: [50] movement: [0]\n    clone asset [2] at x: [100] y: [12] with turn speed: [-3] and size: [60] movement: [0]\n    clone asset [2] at x: [-110] y: [12] with turn speed: [3] and size: [60] movement: [0]\n    wait until <(LEVEL) = [7]>\n    clone asset [3] at x: [-100] y: [-30] with turn speed: [6] and size: [100] movement: [85]\n    clone asset [4] at x: [0] y: [-30] with turn speed: [6] and size: [100] movement: [85]\n    clone asset [3] at x: [100] y: [-30] with turn speed: [6] and size: [100] movement: [85]\n    wait until <(LEVEL) = [8]>\n    clone asset [2] at x: [152] y: [-129] with turn speed: [6] and size: [80] movement: [0]\n    clone asset [1] at x: [50] y: [59] with turn speed: [8] and size: [50] movement: [150]\n    clone asset [3] at x: [-65] y: [-30] with turn speed: [6] and size: [115] movement: [50]\n    clone asset [4] at x: [65] y: [-30] with turn speed: [6] and size: [115] movement: [50]\n    clone asset [1] at x: [177] y: [88] with turn speed: [10] and size: [50] movement: [0]\n    wait until <(LEVEL) = [9]>\n    clone asset [2] at x: [-80] y: [23] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [2] at x: [-35] y: [80] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [2] at x: [10] y: [23] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [2] at x: [-106] y: [-77] with turn speed: [6] and size: [50] movement: []\n    clone asset [1] at x: [178] y: [-25] with turn speed: [-3] and size: [125] movement: [0]\n    wait until <(LEVEL) = [10]>\n    clone asset [2] at x: [-50] y: [60] with turn speed: [4] and size: [100] movement: [0]\n    clone asset [3] at x: [50] y: [60] with turn speed: [] and size: [100] movement: [65]\n    clone asset [1] at x: [-150] y: [-130] with turn speed: [4] and size: [100] movement: [0]\n    clone asset [1] at x: [-177] y: [30] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [2] at x: [-104] y: [-17] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [1] at x: [159] y: [-58] with turn speed: [6] and size: [55] movement: [0]\n    wait until <(LEVEL) = [11]>\n    clone asset [1] at x: [50] y: [-132] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [1] at x: [90] y: [-68] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [2] at x: [20] y: [15] with turn speed: [6] and size: [125] movement: [0]\n    clone asset [1] at x: [-103] y: [-5] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [1] at x: [113] y: [65] with turn speed: [4] and size: [35] movement: [0]\n    clone asset [1] at x: [150] y: [126] with turn speed: [4] and size: [35] movement: [0]\n    wait until <(LEVEL) = [12]>\n    clone asset [2] at x: [-78] y: [-137] with turn speed: [2] and size: [140] movement: [0]\n    clone asset [1] at x: [68] y: [-93] with turn speed: [-6] and size: [50] movement: [0]\n    clone asset [1] at x: [150] y: [-50] with turn speed: [-6] and size: [50] movement: [0]\n    clone asset [3] at x: [-50] y: [75] with turn speed: [] and size: [200] movement: [50]\n    wait until <(LEVEL) = [13]>\n    clone asset [1] at x: [50] y: [-132] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [1] at x: [0] y: [-75] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [1] at x: [-50] y: [-132] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [3] at x: [-80] y: [5] with turn speed: [6] and size: [100] movement: [50]\n    clone asset [4] at x: [0] y: [5] with turn speed: [6] and size: [100] movement: [50]\n    clone asset [3] at x: [80] y: [5] with turn speed: [6] and size: [100] movement: [50]\n    clone asset [2] at x: [85] y: [75] with turn speed: [6] and size: [60] movement: [150]\n    wait until <(LEVEL) = [14]>\n    clone asset [3] at x: [90] y: [135] with turn speed: [6] and size: [100] movement: [40]\n    clone asset [3] at x: [55] y: [135] with turn speed: [6] and size: [100] movement: [40]\n    clone asset [4] at x: [-50] y: [135] with turn speed: [6] and size: [100] movement: [40]\n    clone asset [4] at x: [-85] y: [135] with turn speed: [6] and size: [100] movement: [40]\n    clone asset [1] at x: [-114] y: [35] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [1] at x: [-177] y: [-10] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [1] at x: [-114] y: [-55] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [2] at x: [60] y: [2] with turn speed: [-5] and size: [50] movement: [0]\n    clone asset [2] at x: [30] y: [2] with turn speed: [5] and size: [50] movement: [0]\n    clone asset [2] at x: [-20] y: [-75] with turn speed: [5] and size: [55] movement: [50]\n    wait until <(LEVEL) = [15]>\n    clone asset [1] at x: [-90] y: [40] with turn speed: [6] and size: [50] movement: [0]\n    clone asset [2] at x: [42] y: [-135] with turn speed: [5] and size: [72] movement: [0]\n    clone asset [1] at x: [10] y: [-65] with turn speed: [6] and size: [55] movement: [0]\n    clone asset [1] at x: [-7] y: [-25] with turn speed: [-6] and size: [40] movement: [0]\n    clone asset [1] at x: [-60] y: [-25] with turn speed: [6] and size: [40] movement: [0]\n    wait until <(LEVEL) = [16]>\nend\n\nclone asset [4] at x: [0] y: [5] with turn speed: [6] and size: [100] movement: [50]\nclone asset [3] at x: [80] y: [5] with turn speed: [6] and size: [100] movement: [50]\n\nclone asset [2] at x: [-175] y: [90] with turn speed: [5] and size: [50] movement: [0]\n\nclone asset [2] at x: [30] y: [2] with turn speed: [5] and size: [50] movement: [0]\n\n@BOUNCE\n\nwhen flag clicked\nset [level v] to [1]\ngo to x: (0) y: (0)\nhide\nforever\n    wait until <(LEVEL) = [2]>\n    clone at x: [140] y: [-125]\n    wait until <(LEVEL) = [3]>\n    clone at x: [-125] y: [-125]\n    wait until <(LEVEL) = [4]>\n    clone at x: [0] y: [-125]\n    wait until <(LEVEL) = [10]>\n    clone at x: [-51] y: [-125]\n    wait until <(LEVEL) = [11]>\n    clone at x: [150] y: [-125]\n    wait until <(LEVEL) = [13]>\n    clone at x: [155] y: [-55]\n    wait until <(LEVEL) = [14]>\n    clone at x: [150] y: [-125]\nend\n\ndefine clone at x: (x) y: (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nset size to (90) %\nswitch costume to (2 v)\nshow\nforever\n    if <touching (player v)?> then\n        repeat (8)\n            next costume\n        end\n    end\nend\n\nwhen I receive [setup v]\ndelete this clone\n\nbroadcast (refresh boucepads v)\n\n@transition\n\nwhen flag clicked\ngo to [front v] layer\nset [ghost v] effect to (100)\nhide\nforever\n    go to [front v] layer\nend\n\nwhen I receive [transisit v]\ntransist\n\ndefine transist\ngo to x: (0) y: (0)\nshow\ngo to [front v] layer\nset [ghost v] effect to (0)\nwait (0.05) seconds\nrepeat (25)\n    go to [front v] layer\n    change [ghost v] effect by (4)\nend\nhide\n\ntransist\n\n@TB\n\nwhen flag clicked\nclear graphic effects\nswitch costume to (tb v)\nshow\ngo to [front v] layer\nbroadcast (transisit v)\nwait (5) seconds\nrepeat (4)\n    repeat (50)\n        change [ghost v] effect by (2)\n    end\n    next costume\n    repeat (50)\n        change [ghost v] effect by (-2)\n    end\n    wait (3) seconds\nend\nbroadcast (start v)\nrepeat (25)\n    change [ghost v] effect by (4)\nend\nhide\n\nwhen [timer v] > (0.1)\nclear graphic effects\nswitch costume to (tb v)\nshow\ngo to [front v] layer\nbroadcast (transisit v)\n\nwhen [space v] key pressed\n\nstop [other scripts in sprite v]\nbroadcast (start v)\nrepeat (25)\n    change [ghost v] effect by (4)\nend\nhide\n\n@collectibles\n\nwhen flag clicked\nset [thing v] to [0]\nhide\nclear graphic effects\ngo to x: (0) y: (0)\npoint in direction (90)\nset rotation style [all around v]\nforever\n    change [thing v] by (10)\nend\n\ndefine clone asset (costume) at x: (x) y: (y)\ngo to x: (x) y: (y)\nset [costume v] to (costume)\ncreate clone of (_myself_ v)\n\nwhen I receive [start v]\nclone asset [1] at x: [0] y: [-60]\nwait until <(LEVEL) = [5]>\nclone asset [2] at x: [140] y: [80]\nwait until <(LEVEL) = [10]>\nclone asset [3] at x: [110] y: [-10]\nwait until <(LEVEL) = [15]>\nclone asset [4] at x: [110] y: [-75]\n\nwhen I start as a clone\nswitch costume to (costume)\nset [collected? v] to [no]\nshow\nforever\n    if <touching (player v)?> then\n        if <(costume) = [1]> then\n            set [collected? v] to [yes]\n            start sound (pick random (1) to (2))\n            go to (collectibles slot 1 v)\n            stop [this script v]\n        else\n            if <(costume) = [2]> then\n                set [collected? v] to [yes]\n                start sound (pick random (1) to (2))\n                go to (collectibles slot 2 v)\n                stop [this script v]\n            else\n                if <(costume) = [3]> then\n                    set [collected? v] to [yes]\n                    start sound (pick random (1) to (2))\n                    go to (collectibles slot 3 v)\n                    stop [this script v]\n                else\n                    if <(costume) = [4]> then\n                        set [collected? v] to [yes]\n                        start sound (pick random (1) to (2))\n                        go to (collectibles slot 4 v)\n                        stop [this script v]\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I start as a clone\nset [collected? v] to [no]\nshow\nrepeat until <(COLLECTED?) = [yes]>\n    if <<(costume) = [1]> or <(costume) = [2]>> then\n        repeat (10)\n            turn right (1) degrees\n            change [brightness v] effect by (1)\n        end\n        repeat (10)\n            turn right (1) degrees\n            change [brightness v] effect by (-1)\n        end\n    else\n        set [whirl v] effect to (-25)\n        repeat (10)\n            change [brightness v] effect by (1)\n            change [whirl v] effect by (5)\n        end\n        repeat (10)\n            change [brightness v] effect by (-1)\n            change [whirl v] effect by (-5)\n        end\n    end\nend\npoint in direction (90)\nset [brightness v] effect to (-10)\nset [whirl v] effect to (0)\nwait until <(LEVEL) = [16]>\nwait (1) seconds\nglide (pick random (1) to (2)) secs to x: (0) y: (0)\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nwait (1) seconds\nset [level v] to [17]\ndelete this clone\n\nwhen I start as a clone\nforever\n    go to [front v] layer\n    go [backward v] (1) layers\nend\n\nwhen I receive [start v]\nwait until <(LEVEL) = [17]>\nbroadcast (transisit v)\n\n@stages\n\nwhen flag clicked\nhide\n\nwhen I receive [start v]\nset [ghost v] effect to (0)\nshow\nforever\n    switch costume to (LEVEL)\n    go to [front v] layer\n    go [backward v] (1) layers\nend\n\n@collectibles slot 1\n\nwhen flag clicked\nhide\nclear graphic effects\ngo to x: (0) y: (0)\npoint in direction (90)\nset rotation style [all around v]\n\nwhen I receive [start v]\nshow\nforever\n    go to [front v] layer\n    go [backward v] (2) layers\n    switch costume to (gear v)\n    go to x: (-205) y: (-155)\nend\n\n@collectibles slot 2\n\nwhen flag clicked\nhide\nclear graphic effects\ngo to x: (0) y: (0)\npoint in direction (90)\nset rotation style [all around v]\n\nwhen I receive [start v]\nshow\nforever\n    go to [front v] layer\n    go [backward v] (2) layers\n    switch costume to (gear 2 v)\n    go to x: (-175) y: (-155)\nend\n\n@collectibles slot 3\n\nwhen flag clicked\nhide\nclear graphic effects\ngo to x: (0) y: (0)\npoint in direction (90)\nset rotation style [all around v]\n\nwhen I receive [start v]\nshow\nforever\n    go to [front v] layer\n    go [backward v] (2) layers\n    switch costume to (bouncepad v)\n    go to x: (-150) y: (-155)\nend\n\n@collectibles slot 4\n\nwhen flag clicked\nhide\nclear graphic effects\ngo to x: (0) y: (0)\npoint in direction (90)\nset rotation style [all around v]\n\nwhen I receive [start v]\nshow\nforever\n    go to [front v] layer\n    go [backward v] (2) layers\n    switch costume to (stamper v)\n    go to x: (-125) y: (-155)\nend\n\n@deco\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nset [distance v] to [0]\ngo to x: (pick random (-140) to (140)) y: (-150)\nset [ghost v] effect to (25)\npoint in direction (pick random (-45) to (45))\nforever\n    if <<not <(LEVEL) = [17]>> or <(distance) > [100]>> then\n        delete this clone\n    else\n        show\n    end\n    move (1) steps\n    change [distance v] by (1)\n    change [ghost v] effect by (1)\n    go to [back v] layer\nend\n\n@LF\n\nwhen flag clicked\nset [thing v] to [0]\nforever\n    if <(LEVEL) = [17]> then\n        show\n    else\n        hide\n    end\n    set y to (([sin v] of (thing) ) * (3))\n    change [thing v] by (10)\n    set [ghost v] effect to (25)\nend\n\n