Blissful || Winter Themed Platformer #games
@Stage\n\nwhen I receive [intro done v]\nswitch backdrop to (1 v)\n\nwhen flag clicked\nswitch backdrop to (2 v)\n\n@Blank\n\n@Intro\n\nwhen flag clicked\nIntro\n\ndefine Intro\nhide\ngo to x: (0) y: (0)\nset size to (100) %\npoint in direction (90)\nclear graphic effects\nset [sequence2 v] to [1]\nset [intro: i v] to [0]\nset [i2 v] to [0]\nstart sound [Template v]\nswitch costume to (pink v)\ncreate clone of (_myself_ v)\nwait (.2) seconds\nswitch costume to (circle 1 v)\ncreate clone of (_myself_ v)\nwait until <(Sequence2) = [2]>\nwait (.2) seconds\nswitch costume to (circle 2 v)\ncreate clone of (_myself_ v)\nwait (.01) seconds\nswitch costume to (white bg v)\ncreate clone of (_myself_ v)\nwait until <(Sequence2) = [3]>\nwait (.1) seconds\nswitch costume to (filler 1 v)\ncreate clone of (_myself_ v)\nwait until <(Sequence2) = [4]>\nswitch costume to (logo v)\ncreate clone of (_myself_ v)\nwait until <(Sequence2) = [5]>\nswitch costume to (name v)\ncreate clone of (_myself_ v)\nwait until <(Sequence2) = [6]>\nswitch costume to (filler 2 v)\ncreate clone of (_myself_ v)\nwait until <(Sequence2) = [7]>\nbroadcast (Delete Clones v) and wait\nset [sequence2 v] to [8]\nwait until <(Sequence2) = [9]>\nwait (.2) seconds\nstop [this script v]\n\nwhen I start as a clone\nif <(costume [number v]) = [1]> then\n    show\n    wait until <(Sequence2) = [2]>\n    wait (.2) seconds\n    delete this clone\nelse\n    if <<(costume [number v]) > [1]> and <[4] > (costume [number v])>> then\n        show\n        set size to (0) %\n        repeat (13)\n            switch costume to (blank v)\n            change size by (((1600) - (size)) / (4))\n            switch costume to (circle 1 v)\n        end\n        wait (.1) seconds\n        repeat (15)\n            change [ghost v] effect by (7)\n            switch costume to (circle 1 v)\n            change size by (((0) - (size)) / (4))\n        end\n        set [sequence2 v] to [2]\n        delete this clone\n    else\n        if <<(costume [number v]) > [3]> and <[6] > (costume [number v])>> then\n            show\n            switch costume to (blank2 v)\n            set size to (1600) %\n            go to [front v] layer\n            clear graphic effects\n            repeat (15)\n                change [ghost v] effect by (6)\n                switch costume to (circle 2 v)\n                change size by (((0) - (size)) / (4))\n            end\n            set [sequence2 v] to [3]\n            delete this clone\n        else\n            if <(costume [number v]) = [6]> then\n                show\n                go to [back v] layer\n                wait until <(Sequence2) = [7]>\n                delete this clone\n            else\n                if <(costume [number v]) = [7]> then\n                    show\n                    go to x: (0) y: (360)\n                    repeat (17)\n                        change y by (((0) - (y position)) / (4.5))\n                    end\n                    go to x: (0) y: (0)\n                    set [sequence2 v] to [4]\n                    wait until <(Sequence2) = [7]>\n                    delete this clone\n                else\n                    if <(costume [number v]) = [8]> then\n                        show\n                        point in direction (-45)\n                        set [ghost v] effect to (100)\n                        set size to (0) %\n                        repeat (20)\n                            change size by (((120) - (size)) / (5))\n                            change [ghost v] effect by (-10)\n                            turn right (((90) - (direction)) / (5)) degrees\n                        end\n                        set [sequence2 v] to [5]\n                        repeat (23)\n                            change size by (((85) - (size)) / (5))\n                            change y by (((40) - (y position)) / (5))\n                        end\n                        wait until <(Sequence2) = [7]>\n                        delete this clone\n                    else\n                        if <(costume [number v]) = [9]> then\n                            show\n                            go to x: (-240) y: (-60)\n                            set [ghost v] effect to (100)\n                            repeat (23)\n                                change [ghost v] effect by (-10)\n                                change x by (((0) - (x position)) / (5))\n                            end\n                            wait (.2) seconds\n                            set [sequence2 v] to [6]\n                            wait until <(Sequence2) = [7]>\n                            delete this clone\n                        else\n                            if <(costume [number v]) = [10]> then\n                                show\n                                go to x: (0) y: (360)\n                                repeat (17)\n                                    change y by (((0) - (y position)) / (4.5))\n                                end\n                                go to x: (0) y: (0)\n                                set [sequence2 v] to [7]\n                                wait until <(Sequence2) = [8]>\n                                wait (.01) seconds\n                                set [sequence2 v] to [9]\n                                repeat (10)\n                                    change [ghost v] effect by (10)\n                                end\n                                broadcast (Play Scene v)\n                                broadcast (Play Scene v)\n                                delete this clone\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\n\nwhen I receive [delete clones v]\nif <not <(costume [number v]) = [10]>> then\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    delete this clone\nend\n\n@Player\n\nwhen I receive [move player v]\nif <not <touching (danger v)?>> then\n    change x by (Move X)\n    change y by (Move Y)\nend\n\nwhen flag clicked\nset [level v] to [0]\nset volume to (100) %\nset [deaths v] to [0]\nhide\n\ndefine Platformer Physics (speed) (friction) (jump height)\nif <not <touching (water v)?>> then\n    if <not <touching (ladders v)?>> then\n        change [y velocity v] by (-1)\n    end\nend\nif <touching (ladders v)?> then\n    Ladders\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    change [x velocity v] by (speed)\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    change [x velocity v] by ((0) - (speed))\nend\nset [x velocity v] to ((X Velocity) * (friction))\nchange x by (X Velocity)\nset [slope v] to [0]\nif <<<touching (level v)?> or <touching (locked v)?>> or <<touching (moving v)?> or <<touching (coinlock v)?> or >>> then\n    repeat until <<not <<<touching (level v)?> or <touching (locked v)?>> or <<touching (moving v)?> or >>> or <(Slope) = [-8]>>\n        change [slope v] by (-1)\n        change y by (1)\n    end\nend\nif <<<touching (level v)?> or <touching (locked v)?>> or <<touching (moving v)?> or >> then\n    change y by (Slope)\n    repeat until <not <<<touching (level v)?> or <touching (locked v)?>> or <<touching (pink v)?> or <<touching (coinlock v)?> or <touching (moving v)?>>>>>\n        change x by ((0) - (([abs v] of (X Velocity) ) / (X Velocity)))\n    end\n    set [x velocity v] to [0]\nend\nchange y by (Y Velocity)\nif <<<touching (level v)?> or <touching (locked v)?>> or <<touching (moving v)?> or <<touching (locked v)?> or >>> then\n    repeat until <not <<<touching (level v)?> or <touching (locked v)?>> or <<touching (moving v)?> or >>>\n        change y by ((([abs v] of (Y Velocity) ) / (Y Velocity)) * (-1))\n    end\n    set [y velocity v] to [0]\nend\nchange y by (-1)\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <<<touching (level v)?> or <touching (moving v)?>> or >> then\n    if <not <touching (water v)?>> then\n        set [y velocity v] to (jump height)\n    end\nend\nchange y by (1)\nif <touching (water v)?> then\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        if <(Y Velocity) < [11]> then\n            change [y velocity v] by (0.8)\n        end\n    end\n    if <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <(y position) > (mouse y)>>> then\n        change [y velocity v] by (-0.8)\n    end\n    if <touching (water v)?> then\n        if <not <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <<mouse down?> and <(y position) > (mouse y)>>>> then\n            change [y velocity v] by (-0.1)\n        end\n    end\nend\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <touching (jump rings v)?>> then\n    set [y velocity v] to [13]\nend\nif <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <touching (small jump rings v)?>> then\n    set [y velocity v] to [8]\nend\n\ndefine Detection\nif <<(x position) > [230]> and <not <(Level) = [21]>>> then\n    broadcast (Create Clone v)\n    broadcast (Next v)\n    broadcast (Start Keys v)\n    broadcast (Lock v)\n    broadcast (Reset orb v)\n    broadcast (Next Level v)\n    set size to (100) %\n    start sound [Ding Sound Effect v]\n    set [level v] to ((Level) + (1))\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\n    Respawn Position\nend\nif <<<touching (danger v)?> or <<touching (saws v)?> or <<touching (bullet v)?> or <<touching (turret v)?> or <<(y position) < [-170]> or <<touching (icicles v)?> or <touching (gate v)?>>>>>>> and <not <(CHEAT) = [1]>>> then\n    broadcast (Lock v)\n    broadcast (Start Keys v)\n    broadcast (died v)\n    broadcast (Reset orb v)\n    if <<(Level) = []> or > then\n        broadcast (Reset v)\n    end\n    start sound [Crunch v]\n    set [☁ deaths v] to ((☁ Deaths) + (1))\n    create clone of (_myself_ v)\n    Respawn Position\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\nif <touching (bouncy v)?> then\n    start sound [Big Boing v]\n    set [y velocity v] to [18]\nend\nif <touching (trampolines v)?> then\n    set [y velocity v] to [18]\nend\nif <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> then\n    point in direction (-90)\nend\nif <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> then\n    point in direction (90)\nend\nset rotation style [left-right v]\nif <touching (small v)?> then\n    set size to (75) %\nend\nif <touching (normal v)?> then\n    set size to (100) %\nend\n\ngo to x: (-215) y: (-50)\n\nwhen I receive [intro done v]\npoint in direction (90)\nset size to (100) %\nset [cheat v] to [0]\nwait (0.1) seconds\nshow\nswitch costume to (player v)\ngo to x: (-215) y: (-60)\nset rotation style [left-right v]\nset [level v] to [1]\nset [x velocity v] to [0]\nset [y velocity v] to [0]\nforever\n    if <(size) = [75]> then\n        Platformer Physics [2] [0.78] [10.5]\n        Detection\n    else\n        Platformer Physics [2] [0.8] [12.8]\n        Detection\n    end\nend\n\nwhen flag clicked\nforever\n    Cheats Menu\nend\n\ndefine Cheats Menu\nif <<<key (1 v) pressed?> and <<(username) = [250119code2]> or <(username) = [250119test2]>>> and <not <(CHEAT) = [1]>>> then\n    set [cheat v] to [1]\n    wait (0.3) seconds\nelse\n    if <<key (1 v) pressed?> and <(CHEAT) = [1]>> then\n        set [cheat v] to [0]\n        wait (0.3) seconds\n    end\nend\nif <<key (up arrow v) pressed?> and <(CHEAT) = [1]>> then\n    set [y velocity v] to [8]\nend\nif <<key (down arrow v) pressed?> and <(CHEAT) = [1]>> then\n    set [y velocity v] to [-6]\nend\n\nwhen flag clicked\nforever\n    set [x v] to (round (x position))\n    set [y v] to (round (y position))\nend\n\nwhen I receive [restart v]\nbroadcast (Create Clone v)\nif <<(Level) = []> or > then\n    broadcast (Reset v)\nend\nstart sound [Crunch v]\nset [deaths v] to ((DEATHS) + (1))\ncreate clone of (_myself_ v)\npoint in direction (90)\ngo to x: (-215) y: (-60)\nset [x velocity v] to [0]\nset [y velocity v] to [0]\n\nwhen I receive [transition v]\npoint in direction (90)\ngo to x: (-215) y: (-70)\nset [x velocity v] to [0]\nset [y velocity v] to [0]\n\nwhen I start as a clone\nclear graphic effects\npoint in direction (90)\nset rotation style [all around v]\nrepeat (10)\n    change y by (6)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nforever\n    if <(username) = [250119code2]> then\nend\n\nwhen flag clicked\nforever\n    if <(username) = [250119code2]> then\nend\n\nwhen I receive [intro done v]\ngo to [front v] layer\n\nwhen flag clicked\ngo [forward v] (1) layers\nforever\n    wait until <touching (water v)?>\n    set [y velocity v] to ((Y Velocity) / (2))\n    wait until <not <touching (water v)?>>\nend\n\nwhen I receive [jump v]\nset [y velocity v] to [10]\n\nwhen I receive [intro done v]\nset [level v] to [1]\n\nbroadcast (Create Clone v)\nbroadcast (Next v)\nbroadcast (Start Keys v)\nbroadcast (Lock v)\nset size to (100) %\nstart sound [Ding Sound Effect v]\nset [level v] to ((Level) + (1))\nset [x velocity v] to [0]\nset [y velocity v] to [0]\ngo to x: (-215) y: (-70)\n\nwhen I receive [intro done v]\nwait until <(Level) = [5]>\ngo to x: (170) y: (-50)\n\ndefine Respawn Position\nif <(Level) = [1]> then\n    go to x: (-215) y: (-55)\n    point in direction (90)\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\nif <(Level) = [2]> then\n    go to x: (-215) y: (-55)\n    point in direction (90)\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\nif <(Level) = [3]> then\n    go to x: (-215) y: (-55)\n    point in direction (90)\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\nif <(Level) = [4]> then\n    go to x: (-215) y: (-55)\n    point in direction (90)\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\nif <(Level) = [5]> then\n    go to x: (170) y: (-50)\n    point in direction (-90)\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\nif <(Level) = [6]> then\n    go to x: (0) y: (120)\n    point in direction (90)\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\nif <(Level) = [7]> then\n    go to x: (-215) y: (-55)\n    point in direction (90)\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\nif <(Level) = [8]> then\n    go to x: (0) y: (40)\n    point in direction (-90)\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\nif <(Level) = [9]> then\n    go to x: (-215) y: (-55)\n    point in direction (90)\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\nif <(Level) = [10]> then\n    go to x: (-215) y: (-55)\n    point in direction (90)\n    set size to (100) %\n    set [x velocity v] to [0]\n    set [y velocity v] to [0]\nend\n\nstart sound [Oops v]\nset [deaths v] to ((DEATHS) + (1))\nset [x velocity v] to [0]\nset [y velocity v] to [0]\n\ngo to x: (-215) y: (-70)\n\nwhen I receive [intro done v]\nwait until <(Level) = [6]>\ngo to x: (0) y: (120)\n\ndefine Ladders\nif <touching (ladders v)?> then\n    if <touching (ladders v)?> then\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            if <not <touching (level v)?>> then\n                set [y velocity v] to [6.5]\n            end\n        end\n    end\n    if <touching (ladders v)?> then\n        if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n            if <not <touching (level v)?>> then\n                set [y velocity v] to [-6.5]\n            end\n        end\n    end\nend\nif <not <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <[] = [1]>> or <<<key (down arrow v) pressed?> or <key (s v) pressed?>> or <[] = [1]>>>> then\n    set [y velocity v] to [0]\nend\n\ngo to x: (-215) y: (-55)\n\nwhen I receive [animation start v]\nhide\n\n@Level\n\nwhen flag clicked\nhide\n\nwhen I receive [intro done v]\nshow\ngo [backward v] (9) layers\ngo to x: (0) y: (0)\nforever\n    go to x: (0) y: (0)\n    switch costume to (Level)\nend\n\nwhen I receive [animation start v]\nhide\n\n@Decoration\n\nwhen flag clicked\nhide\n\nwhen I receive [intro done v]\nshow\ngo to [back v] layer\nforever\n    switch costume to (Level)\n    go [backward v] (4) layers\nend\n\ngo to [back v] layer\n\nwhen I receive [animation start v]\nhide\n\n@Snow\n\nwhen I start as a clone\nshow\nchange size by (pick random (1) to (20))\ngo to x: (pick random (-240) to (240)) y: (180)\nglide (pick random (6) to (9)) secs to x: (pick random (-240) to (240)) y: (-180)\ndelete this clone\n\nwhen I receive [start game v]\nwait (0.5) seconds\nhide\ngo [backward v] (1) layers\nforever\n    create clone of (_myself_ v)\n    wait (0.15) seconds\nend\n\ndefine Snow\nSnow\n\nwhen I start as a clone\nforever\n    go [backward v] (2) layers\nend\n\nwhen flag clicked\nbroadcast (Start Game v)\n\n@Danger\n\nwhen flag clicked\nhide\n\nwhen I receive [intro done v]\nshow\ngo to [back v] layer\ngo to [back v] layer\nforever\n    switch costume to (Level)\n    go [backward v] (1) layers\nend\n\nwhen I receive [animation start v]\nhide\n\ngo to [back v] layer\n\n@Water\n\nwhen flag clicked\nhide\n\nwhen I receive [intro done v]\nshow\nforever\n    go [backward v] (6) layers\n    set y to (([sin v] of ((timer) * (100)) ) * (5))\n    set [ghost v] effect to (30)\n    switch costume to (Level)\nend\n\nwhen I receive [animation start v]\nhide\n\n@Mute\n\nwhen flag clicked\nhide\n\nwhen I receive [intro done v]\nshow\nswitch costume to (costume1 v)\nforever\n    if <touching (mouse-pointer v)?> then\n        set [brightness v] effect to (10)\n        play sound [Hover v] until done\n        wait until <not <touching (mouse-pointer v)?>>\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nwhen I receive [play scene v]\nwait (1) seconds\nset volume to (20) %\nforever\n    play sound [Song v] until done\nend\n\nwhen flag clicked\nwait until <(Level) = [16]>\nhide\n\nwhen flag clicked\nwait until <(Level) = [16]>\nhide\n\nwhen this sprite clicked\nif <(volume) = [20]> then\n    set volume to (0) %\n    switch costume to (costume2 v)\nelse\n    switch costume to (costume1 v)\n    set volume to (20) %\nend\n\nwhen flag clicked\nforever\n    if <(Level) = [16]> then\n        hide\n    end\nend\n\n@Transitions\n\nwhen I receive [died v]\ncreate clone of (_myself_ v)\n\ndefine thing\nswitch costume to (hax v)\nset size to (size) %\nchange size by (((4100) - (size)) / (4))\nset [size v] to (size)\nswitch costume to (thing v)\n\ndefine other thing\nswitch costume to (hax v)\nset size to (size) %\nchange size by (((410) - (size)) / (6))\nset [size v] to (size)\nswitch costume to (weird thing v)\n\nwhen flag clicked\nhide\nforever\n    go to [front v] layer\n    go to [front v] layer\nend\n\nwhen I start as a clone\nset [transition> v] to [1]\ngo to x: (0) y: (0)\nset size to (0) %\nshow\nset [size v] to [100]\nrepeat until <(size) > [4080]>\n    thing\nend\nset size to (10) %\nset [size v] to [10]\nrepeat until <(size) > [400]>\n    other thing\nend\nhide\nbroadcast (Move v)\nset [transition> v] to [0]\ndelete this clone\n\n@Trampolines\n\nwhen flag clicked\nhide\n\ndefine Add Bounce At (x) (y)\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nshow\nswitch costume to (costume1 v)\n\nwhen I receive [done v]\n\nwhen I receive [next v]\nif  then\n    delete this clone\nend\nif <(Level) = [2]> then\n    Add Bounce At [-156] [-94]\nend\nif <(Level) = [5]> then\n    Add Bounce At [3] [-18]\nend\nif <(Level) = [8]> then\n    Add Bounce At [47] [-95]\nend\n\nbroadcast (Next v)\n\nwhen I start as a clone\nforever\n    go [backward v] (1) layers\n    if <touching (player v)?> then\n        start sound [Spring v]\n        broadcast (Bounce v)\n    end\nend\n\nAdd Bounce At [-135] [-72]\n\nwhen I receive [bounce v]\nrepeat (4)\n    change y by (-2.5)\nend\nrepeat (10)\n    change y by (1)\nend\n\n@Ladders\n\nwhen I receive [intro done v]\nshow\ngo to [back v] layer\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\n\n@Icicles\n\nwhen flag clicked\nhide\n\ndefine Clone At X: (x) (y) At Size: (size)\nset size to (size) %\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [next v]\nif  then\n    delete this clone\nend\nif <(Level) = [1]> then\n    Clone At X: [103] [90] At Size: [100]\nend\nif <(Level) = [5]> then\n    Clone At X: [85] [92] At Size: [100]\n    Clone At X: [114] [92] At Size: [100]\nend\nif <(Level) = [8]> then\n    Clone At X: [-134] [42] At Size: [100]\nend\n\nwhen I start as a clone\npoint in direction (90)\nshow\ngo [backward v] (3) layers\nclear graphic effects\nset [old y v] to (y position)\nforever\n    go [backward v] (20) layers\n    wait (1.2) seconds\n    set [ice vel v] to [0]\n    start sound [Ricochet v]\n    repeat until <not <touching (level v)?>>\n        change y by (ice vel)\n        change [ice vel v] by (-1)\n    end\n    repeat until <<touching (level v)?> or <touching (_edge_ v)?>>\n        change y by (ice vel)\n        change [ice vel v] by (-1)\n    end\n    start sound [Glass Breaking v]\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    hide\n    set y to (old y)\n    show\n    set [ghost v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\nend\n\nwhen [m v] key pressed\nset [mouse v] to (join (join (mouse x) [ ]) (mouse y))\n\nif <(Level) = [2]> then\n    Clone At X: [2] [93] At Size: [100]\nend\n\nbroadcast (Next v)\n\n@Left Icicle \n\nwhen flag clicked\nhide\n\ndefine Clone At X: (x) (y) At Size: (size)\nset size to (size) %\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\n\nwhen I receive [next v]\nif  then\n    delete this clone\nend\nif <(Level) = [6]> then\n    Clone At X: [227] [164] At Size: [100]\nend\n\nwhen I start as a clone\npoint in direction (90)\nshow\ngo [backward v] (3) layers\nclear graphic effects\nset [old x v] to (x position)\nforever\n    go [backward v] (20) layers\n    wait (1.2) seconds\n    set [ice2 v] to [0]\n    start sound [Ricochet v]\n    repeat until <not <<touching (level v)?> or <<touching (coinlock v)?> or <touching (_edge_ v)?>>>>\n        change x by (ice2)\n        change [ice2 v] by (-1)\n    end\n    repeat until <<touching (level v)?> or <<touching (_edge_ v)?> or <touching (coinlock v)?>>>\n        change x by (ice2)\n        change [ice2 v] by (-1)\n    end\n    start sound [Glass Breaking v]\n    repeat (10)\n        change [ghost v] effect by (10)\n    end\n    hide\n    set x to (old x)\n    show\n    set [ghost v] effect to (100)\n    repeat (10)\n        change [ghost v] effect by (-10)\n    end\nend\n\nwhen [m v] key pressed\nset [mouse v] to (join (join (mouse x) [ ]) (mouse y))\n\nif <(Level) = [2]> then\n    Clone At X: [2] [93] At Size: [100]\nend\n\nbroadcast (Next v)\n\n@next\n\nwhen I receive [next level v]\ngo to [front v] layer\nswitch costume to (pick random (1) to (2))\nset [ghost v] effect to (-100)\ngo to [front v] layer\nshow\ngo to x: (550) y: (0)\nrepeat (20)\n    change x by (((x position) - (0)) / (-5))\nend\nwait (0.5) seconds\nrepeat (20)\n    change x by (((x position) - (-550)) / (-5))\nend\nwait (0) seconds\nset [ghost v] effect to (15)\nwait (0) seconds\nset [ghost v] effect to (40)\ngo to [front v] layer\nwait (0) seconds\nset [ghost v] effect to (75)\nwait (0) seconds\nset [ghost v] effect to (90)\ngo to [front v] layer\nwait (0) seconds\nset [ghost v] effect to (100)\ngo to [front v] layer\n\nstart sound [Next v]\n\nwhen flag clicked\nhide\n\n@TITLE\n\nwhen flag clicked\nset [screen v] to [1]\ngo [backward v] (99) layers\nhide\n\nwhen I receive [play scene v]\ngo [forward v] (4) layers\nforever\n    if <(SCREEN) = [1]> then\n        change [titleturn v] by (1)\n    end\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\n    if <(SCREEN) = [0]> then\n        go [backward v] (6) layers\n    end\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nforever\n    go [forward v] (5) layers\nend\n\nwhen I receive [show v]\nclear graphic effects\nstop [all v]\n\ngo [forward v] (5) layers\n\n@Play Button\n\nwhen I receive [play scene v]\nshow\nwait until <<<touching (mouse-pointer v)?> and <mouse down?>> and <not <(IN) = [1]>>>\nset [screen v] to [0]\nstart sound [Selected v]\nbroadcast (Transition v)\nbroadcast (Intro Done v)\nbroadcast (Next v)\n\nwhen I receive [play scene v]\nforever\n    if <touching (mouse-pointer v)?> then\n        if <<(SCREEN) = [1]> and <<not <(IN) = [1]>> and <not <(IN2) = [1]>>>> then\n            set volume to (100) %\n            start sound [Hover v]\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    end\nend\n\nwhen flag clicked\nset [screen v] to [1]\nhide\n\nwhen I receive [play scene v]\nshow\nforever\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((80) - (size)) / (5))\n        set [brightness v] effect to (5)\n        switch costume to (costume2 v)\n    else\n        change size by (((75) - (size)) / (5))\n        set [brightness v] effect to (0)\n        switch costume to (costume1 v)\n    end\nend\n\n@Instructions\n\nwhen I receive [play scene v]\nset [in v] to [0]\nshow\nwait until <<<touching (mouse-pointer v)?> and <mouse down?>> and <not <(IN) = [1]>>>\nbroadcast (IN v)\n\nwhen I receive [play scene v]\nforever\n    if <touching (mouse-pointer v)?> then\n        if <<(SCREEN) = [1]> and <<not <(IN) = [1]>> and <not <(IN2) = [1]>>>> then\n            set volume to (100) %\n            start sound [Hover v]\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    end\nend\n\nwhen flag clicked\nset [screen v] to [1]\nhide\n\nwhen I receive [play scene v]\nshow\nforever\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((80) - (size)) / (5))\n        switch costume to (costume3 v)\n        set [brightness v] effect to (5)\n        if <mouse down?> then\n            if <(IN) = [0]> then\n                broadcast (IN v)\n                set [in v] to [1]\n            end\n        end\n    else\n        switch costume to (costume1 v)\n        change size by (((75) - (size)) / (5))\n        set [brightness v] effect to (0)\n    end\nend\n\n@Credits\n\nwhen I receive [play scene v]\nset [in2 v] to [0]\nshow\nwait until <<<touching (mouse-pointer v)?> and <mouse down?>> and <not <(IN2) = [1]>>>\nbroadcast (IN v)\n\nwhen I receive [play scene v]\nforever\n    if <touching (mouse-pointer v)?> then\n        if <<(SCREEN) = [1]> and <<not <(IN) = [1]>> and <not <(IN2) = [1]>>>> then\n            set volume to (100) %\n            start sound [Hover v]\n            wait until <not <touching (mouse-pointer v)?>>\n        end\n    end\nend\n\nwhen flag clicked\nset [screen v] to [1]\nhide\n\nwhen I receive [play scene v]\nshow\nforever\n    if <(SCREEN) = [1]> then\n        show\n    else\n        hide\n    end\n    if <touching (mouse-pointer v)?> then\n        change size by (((80) - (size)) / (5))\n        switch costume to (costume3 v)\n        set [brightness v] effect to (5)\n        if <mouse down?> then\n            if <(IN2) = [0]> then\n                broadcast (IN2 v)\n                set [in2 v] to [1]\n            end\n        end\n    else\n        switch costume to (costume1 v)\n        change size by (((75) - (size)) / (5))\n        set [brightness v] effect to (0)\n    end\nend\n\n@Transition\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen I receive [transition v]\ngo to [front v] layer\nset [ghost v] effect to (0)\nwait (.2) seconds\nrepeat (20)\n    change [ghost v] effect by (5)\nend\n\n@title screen\n\nwhen flag clicked\nset [in v] to [0]\nhide\n\nwhen I receive [in v]\nset [in v] to [1]\nif <(SCREEN) = [1]> then\n    show\n    clear graphic effects\n    set size to (10) %\n    go to [front v] layer\n    repeat (20)\n        go to [front v] layer\n        change size by (((100) - (size)) / (5))\n    end\n    wait until <<mouse down?> and <touching (mouse-pointer v)?>>\n    repeat (20)\n        change [ghost v] effect by (5)\n    end\n    hide\n    set [in v] to [0]\nend\n\nwhen flag clicked\nforever\n    if <(IN) = [0]> then\n        go [backward v] (5) layers\n    end\nend\n\n@CreditsButton\n\nwhen flag clicked\nset [in2 v] to [0]\nhide\n\nwhen I receive [in2 v]\nset [in2 v] to [1]\nif <(SCREEN) = [1]> then\n    show\n    clear graphic effects\n    set size to (10) %\n    go to [front v] layer\n    repeat (20)\n        go to [front v] layer\n        change size by (((100) - (size)) / (5))\n    end\n    wait until <<mouse down?> and <touching (mouse-pointer v)?>>\n    repeat (20)\n        change [ghost v] effect by (5)\n    end\n    hide\n    set [in2 v] to [0]\nend\n\nwhen flag clicked\nforever\n    if <(IN2) = [0]> then\n        go [backward v] (5) layers\n    end\nend\n\n@Buttons\n\nforever\n    change y by ((0.5) * ([sin v] of (Coins: frame) ))\n    change [coins: frame v] by (5)\nend\n\nrepeat (10)\n    change [color v] effect by (10)\nend\n\nClone At X: [-102] [100] At Size: [100]\n\nClone At X: [-30] [130] At Size: [100]\n\nwhen flag clicked\nset [buttons clicked v] to [0]\nhide\n\ndefine Clone At X: (x) (y) At Size: (size)\nset size to (size) %\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\npoint in direction (90)\n\nwhen I receive [next v]\nset [buttons clicked v] to [0]\nif  then\n    delete this clone\nend\nif <(Level) = [2]> then\n    Clone At X: [-182] [20] At Size: [100]\n    Clone At X: [-182] [130] At Size: [100]\nend\nif <(Level) = [3]> then\n    Clone At X: [-102] [10] At Size: [100]\n    Clone At X: [-102] [100] At Size: [100]\nend\nif <(Level) = [4]> then\n    Clone At X: [-30] [45] At Size: [100]\n    Clone At X: [-30] [130] At Size: [100]\nend\nif <(Level) = [6]> then\n    Clone At X: [136] [138] At Size: [100]\n    Clone At X: [136] [85] At Size: [100]\nend\nif <(Level) = [7]> then\n    Clone At X: [-190] [120] At Size: [100]\n    Clone At X: [72] [-123] At Size: [100]\nend\nif <(Level) = [9]> then\n    Clone At X: [-35] [2] At Size: [100]\n    Clone At X: [151] [140] At Size: [100]\n    Clone At X: [39] [-98] At Size: [100]\nend\n\nwhen I start as a clone\nshow\nif <(Level) = [2]> then\n    switch costume to (1 v)\n    wait until <touching (player v)?>\n    change [buttons clicked v] by (1)\n    start sound [Collect v]\n    switch costume to (2 v)\nelse\n    if <(Level) = [3]> then\n        switch costume to (1 v)\n        wait until <touching (player v)?>\n        change [buttons clicked v] by (1)\n        start sound [Collect v]\n        switch costume to (2 v)\n    else\n        if <(Level) = [4]> then\n            switch costume to (1 v)\n            wait until <touching (player v)?>\n            change [buttons clicked v] by (1)\n            start sound [Collect v]\n            switch costume to (2 v)\n        else\n            if <(Level) = [6]> then\n                switch costume to (1 v)\n                wait until <touching (player v)?>\n                change [buttons clicked v] by (1)\n                start sound [Collect v]\n                switch costume to (2 v)\n            else\n                if <(Level) = [7]> then\n                    switch costume to (1 v)\n                    wait until <touching (player v)?>\n                    change [buttons clicked v] by (1)\n                    start sound [Collect v]\n                    switch costume to (2 v)\n                else\n                    if <(Level) = [9]> then\n                        switch costume to (1 v)\n                        wait until <touching (player v)?>\n                        change [buttons clicked v] by (1)\n                        start sound [Collect v]\n                        switch costume to (2 v)\n                    end\n                end\n            end\n        end\n    end\nend\n\nbroadcast (Next v)\n\nwhen I start as a clone\n\nwhen [m v] key pressed\nset [mousex v] to (round (mouse x))\nset [mousey v] to (round (mouse y))\n\n@Gate\n\nwhen flag clicked\nhide\npoint in direction (0)\n\ndefine Smooth Rotate to Degrees: (degree) Slowness: (speed)\nrepeat until <<(degree) > ((direction) - (1))> and <(degree) < ((direction) + (1))>>\n    turn right (((degree) - (direction)) / (speed)) degrees\nend\n\nset [endingrotation v] to [90]\nset [rotationspeed v] to [1]\n\nrepeat (25)\n    turn right (((endingRotation) - (direction)) / (rotationSpeed)) degrees\nend\n\nwhen I receive [intro done v]\nset size to (90) %\nwait until <(Level) = [2]>\npoint in direction (0)\ngo to x: (-100) y: (-150)\nswitch costume to (1 v)\nclear graphic effects\nshow\nwait until <(Buttons Clicked) = [2]>\nswitch costume to (2 v)\nSmooth Rotate to Degrees: (91) Slowness: (8)\n\nwhen I receive [intro done v]\nset size to (90) %\nwait until <(Level) = [3]>\npoint in direction (0)\ngo to x: (-40) y: (-65)\nswitch costume to (1 v)\nclear graphic effects\nshow\nwait (1) seconds\nwait until <(Buttons Clicked) = [2]>\nswitch costume to (2 v)\nSmooth Rotate to Degrees: (91) Slowness: (8)\n\nwhen I receive [intro done v]\nset size to (90) %\nwait until <(Level) = [4]>\npoint in direction (0)\ngo to x: (37) y: (-15)\nswitch costume to (1 v)\nclear graphic effects\nshow\nwait (1) seconds\nwait until <(Buttons Clicked) = [2]>\nswitch costume to (2 v)\nSmooth Rotate to Degrees: (91) Slowness: (8)\n\nwhen I receive [intro done v]\nset size to (90) %\nwait until <(Level) = [8]>\nhide\n\nwhen I receive [intro done v]\nset size to (90) %\nwait until <(Level) = [6]>\npoint in direction (0)\ngo to x: (215) y: (-24)\nswitch costume to (1 v)\nclear graphic effects\nshow\nwait (1) seconds\nwait until <(Buttons Clicked) = [2]>\nswitch costume to (2 v)\nSmooth Rotate to Degrees: (-91) Slowness: (8)\n\nSmooth Rotate to Degrees: (-91) Slowness: (8)\n\nwhen flag clicked\nwait until <(Level) = [6]>\nshow\n\nswitch costume to (2 v)\n\nSmooth Rotate to Degrees: (1) Slowness: (8)\n\nshow\nwait (1) seconds\nwait until <[] = [2]>\nswitch costume to (2 v)\nSmooth Rotate to Degrees: (-91) Slowness: (8)\n\nwhen I receive [intro done v]\nset size to (90) %\nwait until <(Level) = [7]>\nwait (1) seconds\npoint in direction (0)\ngo to x: (-3) y: (-59)\npoint in direction (0)\nswitch costume to (1 v)\nclear graphic effects\nshow\nwait (1) seconds\nwait until <(Buttons Clicked) = [2]>\nswitch costume to (2 v)\nSmooth Rotate to Degrees: (91) Slowness: (8)\n\nwhen I receive [intro done v]\nset size to (90) %\nwait until <(Level) = [5]>\nhide\n\nwhen I receive [intro done v]\nset size to (90) %\nwait until <(Level) = [9]>\npoint in direction (0)\ngo to x: (167) y: (-154)\nswitch costume to (1 v)\nclear graphic effects\nshow\nwait (1) seconds\nwait until <(Buttons Clicked) = [3]>\nswitch costume to (2 v)\nSmooth Rotate to Degrees: (-91) Slowness: (8)\n\nwhen I receive [intro done v]\nset size to (90) %\nwait until <(Level) = [10]>\nhide\n\n@Jump Rings\n\nwhen flag clicked\nhide\n\ndefine Clone At X: (x) (y) At Size: (size)\nset size to (size) %\ngo to x: (x) y: (y)\npoint in direction (90)\ncreate clone of (_myself_ v)\n\nwhen I receive [reset orb v]\nclear graphic effects\nif  then\n    delete this clone\nend\nif <(Level) = [2]> then\n    Clone At X: [-183] [75] At Size: [100]\nend\nif <(Level) = [3]> then\n    Clone At X: [-216] [40] At Size: [100]\nend\nif <(Level) = [4]> then\n    Clone At X: [-155] [61] At Size: [100]\nend\nif <(Level) = [7]> then\n    Clone At X: [139] [52] At Size: [100]\nend\nif <(Level) = [8]> then\n    Clone At X: [92] [86] At Size: [100]\nend\nif <(Level) = [9]> then\n    Clone At X: [-123] [2] At Size: [100]\nend\n\nwhen I start as a clone\nshow\nforever\n    point in direction (90)\n    if <touching (player v)?> then\n        set [brightness v] effect to (5)\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            start sound [Jump v]\n            repeat (10)\n                change [ghost v] effect by (10)\n                change size by (-2)\n                change y by (-3)\n            end\n            delete this clone\n        end\n    else\n        set [brightness v] effect to (0)\n    end\nend\n\nbroadcast (Next v)\n\nwhen I start as a clone\nshow\nforever\n    change y by ((0.8) * ([sin v] of (frame) ))\n    change [frame v] by (5)\nend\n\nClone At X: [-200] [60] At Size: [90]\n\n@Moving\n\ndefine Glide (x) (y)\nrepeat until <<(round (x position)) = (x)> and <(round (y position)) = (y)>>\n    set [move x v] to (((x) - (x position)) / (15))\n    set [move y v] to (((y) - (y position)) / (15))\n    change x by (Move X)\n    change y by (Move Y)\n    change y by (3)\n    if <touching (player v)?> then\n        broadcast (Move player v)\n    end\n    change y by (-3)\nend\n\nwhen I receive [next v]\nif <(Level) = [3]> then\n    show\n    switch costume to (costume1 v)\n    go to x: (0) y: (0)\n    repeat until <not <(Level) = [3]>>\n        Glide [30] [0]\n        Glide [130] [0]\n    end\nend\nif <(Level) = [4]> then\n    hide\nend\nif <(Level) = [5]> then\n    show\n    switch costume to (costume2 v)\n    go to x: (0) y: (0)\n    repeat until <not <(Level) = [5]>>\n        Glide [0] [0]\n        Glide [-150] [0]\n    end\nend\nif <(Level) = [6]> then\n    hide\nend\nif <(Level) = [9]> then\n    show\n    switch costume to (costume3 v)\n    go to x: (0) y: (0)\n    repeat until <not <(Level) = [9]>>\n        Glide [0] [0]\n        Glide [150] [0]\n    end\nend\nif <(Level) = [10]> then\n    hide\nend\n\nwhen flag clicked\nhide\n\n@Coins\n\nwhen flag clicked\nset [coinscollected v] to [0]\nhide\n\ndefine Clone At X: (x) (y) At Size: (size)\nset size to (size) %\ngo to x: (x) y: (y)\ncreate clone of (_myself_ v)\npoint in direction (90)\n\nwhen I receive [next v]\nset [coinscollected v] to [0]\nif  then\n    delete this clone\nend\nif <(Level) = [5]> then\n    Clone At X: [-80] [-159] At Size: [100]\n    Clone At X: [44] [150] At Size: [100]\n    Clone At X: [-201] [120] At Size: [100]\nend\nif <(Level) = [6]> then\n    Clone At X: [29] [35] At Size: [100]\n    Clone At X: [-220] [150] At Size: [100]\n    Clone At X: [29] [-80] At Size: [100]\nend\nif <(Level) = [8]> then\n    Clone At X: [159] [-73] At Size: [100]\n    Clone At X: [-221] [-53] At Size: [100]\n    Clone At X: [-50] [-53] At Size: [100]\n    Clone At X: [-135] [95] At Size: [100]\nend\nif <(Level) = [9]> then\n    Clone At X: [-81] [-79] At Size: [100]\n    Clone At X: [-211] [152] At Size: [100]\n    Clone At X: [65] [138] At Size: [100]\nend\n\nwhen I start as a clone\nshow\nif <(Level) = [5]> then\n    wait until <touching (player v)?>\n    change [coinscollected v] by (1)\n    start sound [Collect v]\n    hide\nelse\n    if <(Level) = [6]> then\n        wait until <touching (player v)?>\n        change [coinscollected v] by (1)\n        start sound [Collect v]\n        hide\n    else\n        if <(Level) = [8]> then\n            wait until <touching (player v)?>\n            change [coinscollected v] by (1)\n            start sound [Collect v]\n            hide\n        else\n            if <(Level) = [9]> then\n                wait until <touching (player v)?>\n                change [coinscollected v] by (1)\n                start sound [Collect v]\n                hide\n            end\n        end\n    end\nend\n\nbroadcast (Next v)\n\nwhen I start as a clone\nforever\n    change y by ((0.5) * ([sin v] of (Coins: frame) ))\n    change [coins: frame v] by (5)\nend\n\nwhen [m v] key pressed\nset [mousex v] to (round (mouse x))\nset [mousey v] to (round (mouse y))\n\nClone At X: [-138] [50] At Size: [100]\n\nbroadcast (Next v)\n\n@CoinLock\n\nwhen flag clicked\nhide\nclear graphic effects\n\nwhen I receive [intro done v]\ngo to [back v] layer\nwait until <(Level) = [5]>\nswitch costume to (1 v)\nclear graphic effects\nshow\nwait until <(CoinsCollected) = [3]>\nstart sound [Door Open v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen I receive [intro done v]\ngo to [back v] layer\nwait until <(Level) = [6]>\nwait (1) seconds\nswitch costume to (2 v)\nclear graphic effects\nshow\nwait until <(CoinsCollected) = [3]>\nstart sound [Door Open v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen I receive [intro done v]\ngo to [back v] layer\nwait until <(Level) = [8]>\nwait (1) seconds\nswitch costume to (3 v)\nclear graphic effects\nshow\nwait until <(CoinsCollected) = [4]>\nstart sound [Door Open v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen I receive [intro done v]\nwait until <(Level) = [9]>\nwait (1) seconds\nswitch costume to (4 v)\nclear graphic effects\nshow\nwait until <(CoinsCollected) = [3]>\nstart sound [Door Open v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\n