Cuber's Journey-part 3-The Flood-A platformer

Instructions: --------------------------------------------------------\nCuber's Journey-part 3-The Flood-a platformer\n--------------------------------------------------------\nLaggy? Use turbowarp!\nhttps://turbowarp.org/585865457\n--------------------------------------------------------\nSpeedrun:\nhttps://scratch.mit.edu/discuss/youtube/QB13u4YWCos/\nCan you beat my time?!\n[There will be more speedruns coming soon for parts 1-7!]\n--------------------------------------------------------\nFeatures:\n17 levels\n2 cutscenes\nA flood!\nCharacters\nAll levels are possible!\nNOTE: Level 16 is VERY hard (But possible) So if you get so angry you destroy your computer, don't say I didn't warn you ;)\n--------------------------------------------------------\nInstructions:\nPlay part 1 and 2 first, because this has a story\nUse  arrow keys to move\nR to restart\nB to go to last level (Go back a level)\nN to go to next level (Skip)\n(Note: You can't skip while cutscenes play, and if you go back to a level with a cutscene it will not play)\nAvoid spikes and the flood.\n--------------------------------------------------------\nUpdates:\n19/10/2021-Shared\n18/7/2022 - Unshared and reshared all parts so that people can find them easier on my profile\n--------------------------------------------------------\nFirst love/star by: @Yellow_Bear_Hewo\n------------------------------------------------------\nGoals:\n1- 5 views-Done in 30 minutes :O!\n2- 5 hearts-Done!\n3- 5 stars-Done!\n4- 15 views-Done!\n5- 10 hearts-Done!\n6- 10 stars-Done!\n7- 50 views-Done!\n8- 25 stars-Done!\n9- 25 hearts-Done!\n10- 100 views-Done!\n11- 50 hearts-DONE!\n12- 50 stars-DONE!\n13- 500 views -Done!\n14- 500 stars\n15- 500 hearts\n16- 1,000 views-DONE, I CAN'T BELIEVE IT! IT'S MY DREAM!\n17- 1,000 hearts\n18- 1,000 stars\n19- 5,000 views - Done\n20- 2,500 stars\n21-2,500 hearts\n22- 10,000 views\n---------------------------------------------------------\nParts:\nhttps://scratch.mit.edu/studios/30406675\n-------------------------------------------------------\nPls propose this to be featured! \nhttps://scratch.mit.edu/studios/4228481/\n\n@MysticCr8tor for engine, modified by me, and some art heavily modified by me. \n\nMusic by TheFatRat\n\nSpecial shoutout to @Yellow_Bear_Hewo for suggesting to feature\n\nThe rest by me\n\nIn summary:\nAbout 60% or 65% by me\n---------------------------------------------------------tags: #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #sus_secret_tag #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #games #trending #IPutALotOfTagsBecausePopularPeoplePutALotOfTagsSoMaybeThatWayMaybeIWillBeOnTopTrending #LOL #Joshisaurio #Yoshisaurio #Joshi

@Stage\n\nwhen I receive [intro done v]\nswitch backdrop to (clear sky v)\nbroadcast (end v)\nforever\n    if <(Level) = [1]> then\n        switch backdrop to (castle entrance2 v)\n    end\n    if <<<<(Level) = [2]> or <(Level) = [3]>> or <<(Level) = [4]> or <(Level) = [5]>>> or <(Level) = [9]>> then\n        switch backdrop to (clear sky v)\n    end\n    if <(Level) = [6]> then\n        switch backdrop to (house v)\n    end\n    if <(Level) = [7]> then\n        switch backdrop to (village v)\n    end\n    if <(Level) = [8]> then\n        switch backdrop to (houses v)\n    end\n    if <<(Level) > [8]> and <(Level) < [18]>> then\n        switch backdrop to (cloudy sky v)\n    end\n    if <(Level) = [18]> then\n        switch backdrop to (boat  v)\n    end\n    if <(Level) = [19]> then\n        switch backdrop to (cloudy sky v)\n    end\nend\n\nwhen flag clicked\nset volume to (100) %\nswitch backdrop to (thumbnail v)\nwait (3) seconds\nswitch backdrop to (backdrop3 v)\n\nwhen flag clicked\nforever\n    play sound [TheFatRat - Unity \(Instrumental\) v] until done\nend\n\n@Cuber\n\ndefine Say (say cuber)\nset [letter v] to [1]\nset [say v] to []\nrepeat (length of (say cuber))\n    if <(letter (Letter) of (say cuber)) = [,]> then\n        set [say v] to (join (Say) (letter (Letter) of (say cuber)))\n        say (Say)\n        change [letter v] by (1)\n        wait (0.2) seconds\n    else\n        if <(letter (Letter) of (say cuber)) = [.]> then\n            set [say v] to (join (Say) (letter (Letter) of (say cuber)))\n            say (Say)\n            change [letter v] by (1)\n            wait (0.5) seconds\n        else\n            if <(letter (Letter) of (say cuber)) = [?]> then\n                set [say v] to (join (Say) (letter (Letter) of (say cuber)))\n                say (Say)\n                change [letter v] by (1)\n                wait (0.5) seconds\n            else\n                if <(letter (Letter) of (say cuber)) = [!]> then\n                    set [say v] to (join (Say) (letter (Letter) of (say cuber)))\n                    say (Say)\n                    change [letter v] by (1)\n                    wait (0.5) seconds\n                else\n                    if <(letter (Letter) of (say cuber)) = [:]> then\n                        set [say v] to (join (Say) (letter (Letter) of (say cuber)))\n                        say (Say)\n                        change [letter v] by (1)\n                        wait (0.5) seconds\n                    else\n                        if <(letter (Letter) of (say cuber)) = [;]> then\n                            set [say v] to (join (Say) (letter (Letter) of (say cuber)))\n                            say (Say)\n                            change [letter v] by (1)\n                            wait (0.5) seconds\n                        else\n                            set [say v] to (join (Say) (letter (Letter) of (say cuber)))\n                            say (Say)\n                            change [letter v] by (1)\n                            wait (0.05) seconds\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nwait (1) seconds\n\ndefine Looks\nif <key (any v) pressed?> then\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<key (right arrow v) pressed?> or <key (d v) pressed?>>> and <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n        if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n            point in direction (90)\n        end\n        if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n            point in direction (-90)\n        end\n    else\n        if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n            point in direction (90)\n        end\n        if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n            point in direction (-90)\n        end\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n    end\nend\nset size to (10) %\n\ndefine Dead?\nif <key (r v) pressed?> then\n    Restart\nend\nif <key (b v) pressed?> then\n    if <<(Move) = [1]> and <not <(Level) = [1]>>> then\n        broadcast (Back a Level v)\n        Restart\n        wait (0.1) seconds\n    end\nend\nif <key (n v) pressed?> then\n    if <<(Move) = [1]> and <not <(Level) = [19]>>> then\n        broadcast (Next Level v)\n        Restart\n        wait (0.1) seconds\n    end\nend\nif <(x position) > [235]> then\n    if <(Level) = [16]> then\n        if <(Boss defeated) = [1]> then\n            broadcast (Next Level v)\n            Restart\n        end\n    else\n        broadcast (Next Level v)\n        Restart\n    end\nend\nif <(y position) < [-160]> then\n    Dead Looks [1]\nend\nif <touching (spikes and other v)?> then\n    Dead Looks [2]\nend\nif <touching (flood! v)?> then\n    Dead Looks [3]\nend\nif <touching (megaball v)?> then\n    Dead Looks [3]\nend\n\ndefine Restart\nset [xv v] to [0]\nset [yv v] to [0]\ngo to x: (-215) y: (0)\nclear graphic effects\nbroadcast (OOF v)\n\ndefine Dead Looks (type)\nif <(type) = [1]> then\n    set [brightness v] effect to (75)\nend\nif <<(type) = [2]> or <(type) = [4]>> then\n    repeat (20)\n        change y by (2.5)\n        change [ghost v] effect by (5)\n        set [yv v] to [0]\n    end\nend\nif <(type) = [3]> then\n    repeat (20)\n        change y by (-0.5)\n        change [ghost v] effect by (5)\n        set [yv v] to [0]\n    end\nend\nRestart\nbroadcast (OOF v)\n\nwhen I receive [end v]\nwait (0.5) seconds\nshow\nRestart\nset rotation style [left-right v]\nforever\n    if <(Move) = [1]> then\n        go to [front v] layer\n        change [yv v] by (-1)\n        if <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n            change [xv v] by (1)\n        end\n        if <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n            change [xv v] by (-1)\n        end\n        set [xv v] to ((Xv) * (0.9))\n        change x by (Xv)\n        if <<touching (ground v)?> or <touching (moving platform v)?>> then\n            change y by (1)\n            if <<touching (ground v)?> or <touching (moving platform v)?>> then\n                change y by (1)\n                if <<touching (ground v)?> or <touching (moving platform v)?>> then\n                    change y by (1)\n                    if <<touching (ground v)?> or <touching (moving platform v)?>> then\n                        change y by (1)\n                        if <<touching (ground v)?> or <touching (moving platform v)?>> then\n                            change y by (-4)\n                            change x by ((Xv) * (-1))\n                            if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n                                set [yv v] to [15]\n                                if <([abs v] of (Xv) ) = (Xv)> then\n                                    set [xv v] to [-10]\n                                else\n                                    set [xv v] to [10]\n                                end\n                            else\n                                set [xv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (Yv)\n        if <<touching (ground v)?> or <touching (moving platform v)?>> then\n            change y by ((Yv) - ((Yv) * (2)))\n            set [yv v] to [0]\n        end\n        change y by (-1)\n        if <<<touching (ground v)?> or <touching (moving platform v)?>> and <<key (up arrow v) pressed?> or <key (w v) pressed?>>> then\n            set [yv v] to [15]\n        end\n        change y by (1)\n        Looks\n        Dead?\n        if <touching (moving platform v)?> then\n            change x by ([xv v] of [moving platform v])\n        end\n    end\nend\n\nwhen flag clicked\nhide\n\nwhen flag clicked\nswitch costume to (cuber/cubie v)\nforever\n    create clone of (_myself_ v)\nend\n\nwhen flag clicked\nswitch costume to (cuber/cubie v)\nset [bb v] to [0]\nset [move v] to [1]\n\nwhen flag clicked\nforever\n    if <(Level) = [19]> then\n        switch costume to (cuber v)\n    end\nend\n\nwhen I start as a clone\ngo to [front v] layer\ngo [backward v] (2) layers\nclear graphic effects\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [animation v]\nswitch costume to (cuber v)\nglide (1) secs to x: (-196) y: (-116)\nsay [Uh... Hi? Do you speak english?] for (5) seconds\nsay [Oh! Whew!] for (2) seconds\nsay [So... What happened here? Why is this place so empty?] for (4) seconds\n\nwhen I receive [animationalmostdone v]\nsay [Ok! And, by the way, what's your name?] for (4) seconds\n\nwhen I receive [animationalmostdone v]\nwait (3) seconds\nswitch costume to (cuber/cubie v)\n\nwhen I receive [meet futurer v]\ngo to x: (-215) y: (-117)\nswitch costume to (cuber v)\nSay [Hi Futurer!]\nwait (1) seconds\nsay []\n\nwhen I receive [got it? v]\nwait (3) seconds\nSay [Bye!]\nwait (1) seconds\nsay []\n\nwhen I receive [move v]\nswitch costume to (cuber/cubie v)\n\nwhen I receive [storm v]\nsay []\nswitch costume to (cuber v)\ngo to x: (-109) y: (-17)\n\nwhen I receive [er- v]\nSay [Right, but is it safe in a storm?]\nbroadcast (Uh oh v)\nsay []\n\nwhen I receive [end v]\nswitch costume to (cuber/cubie v)\n\nwhen I receive [almostdone v]\n\ngo to x: (0) y: (0)\n\nwhen I receive [to be continued... v]\nhide\n\n@Ground\n\nwhen I receive [next level v]\nnext costume\n\nwhen I receive [back a level v]\nswitch costume to ((costume [number v]) - (1))\n\nwhen flag clicked\nhide\n\nwhen I receive [end v]\nshow\nforever\n    set [level v] to (costume [number v])\n    go to x: (0) y: (0)\nend\n\nwhen flag clicked\nswitch costume to (1 v)\n\nwhen I receive [to be continued... v]\nhide\n\n@Moving Platform\n\nwhen flag clicked\nhide\n\nwhen I receive [end v]\nshow\ngo to x: (0) y: (0)\nforever\n    change x by (Xv)\n    switch costume to (Level)\nend\n\nwhen flag clicked\nset [xv v] to [0]\nforever\n    repeat (80)\n        set [xv v] to [1]\n    end\n    repeat (80)\n        set [xv v] to [-1]\n    end\nend\n\n@Spikes and Other\n\nwhen I receive [end v]\nshow\nforever\n    switch costume to (Level)\n    go to x: (0) y: (0)\n    go to [back v] layer\nend\n\nwhen flag clicked\nhide\n\n@Lava and Other\n\nwhen flag clicked\nhide\n\nwhen I receive [end v]\nshow\ngo to [back v] layer\nforever\n    show\n    switch costume to (Level)\nend\n\nwhen flag clicked\nhide\nset x to (0)\nforever\n    repeat (20)\n        change y by (0.2)\n    end\n    repeat (20)\n        change y by (-0.2)\n    end\n    set y to (0)\nend\n\n@Cloud Effects\n\nwhen I receive [end v]\nforever\n    hide\n    if <(Level) < [8]> then\n        hide\n        create clone of (_myself_ v)\n        wait (2) seconds\n    end\n    if <(Level) = [8]> then\n        hide\n        create clone of (_myself_ v)\n        wait (1) seconds\n    end\n    if <(Level) > [8]> then\n        hide\n        create clone of (_myself_ v)\n        wait (0.4) seconds\n    end\nend\n\nwhen I start as a clone\nshow\nif <(Level) < [8]> then\n    switch costume to (pick random (1) to (3))\nend\nif <(Level) = [8]> then\n    switch costume to (pick random (2) to (6))\nend\nif <(Level) > [8]> then\n    switch costume to (pick random (4) to (6))\nend\nset [ghost v] effect to (pick random (50) to (90))\nset size to (pick random (90) to (110)) %\nset y to (pick random (70) to (150))\nset [cloud speed v] to (pick random (0.3) to (1))\nset x to (-250)\nrepeat until <(x position) > [250]>\n    go to [back v] layer\n    move (Cloud Speed) steps\nend\ndelete this clone\n\nwhen flag clicked\nhide\n\n@Cubie\n\ndefine Say cubie (say cubie)\nset [letter v] to [1]\nset [say v] to []\nrepeat (length of (say cubie))\n    if <(letter (Letter) of (say cubie)) = [,]> then\n        set [say v] to (join (Say) (letter (Letter) of (say cubie)))\n        say (Say)\n        change [letter v] by (1)\n        wait (0.2) seconds\n    else\n        if <(letter (Letter) of (say cubie)) = [.]> then\n            set [say v] to (join (Say) (letter (Letter) of (say cubie)))\n            say (Say)\n            change [letter v] by (1)\n            wait (0.5) seconds\n        else\n            if <(letter (Letter) of (say cubie)) = [?]> then\n                set [say v] to (join (Say) (letter (Letter) of (say cubie)))\n                say (Say)\n                change [letter v] by (1)\n                wait (0.5) seconds\n            else\n                if <(letter (Letter) of (say cubie)) = [!]> then\n                    set [say v] to (join (Say) (letter (Letter) of (say cubie)))\n                    say (Say)\n                    change [letter v] by (1)\n                    wait (0.5) seconds\n                else\n                    if <(letter (Letter) of (say cubie)) = [:]> then\n                        set [say v] to (join (Say) (letter (Letter) of (say cubie)))\n                        say (Say)\n                        change [letter v] by (1)\n                        wait (0.5) seconds\n                    else\n                        if <(letter (Letter) of (say cubie)) = [;]> then\n                            set [say v] to (join (Say) (letter (Letter) of (say cubie)))\n                            say (Say)\n                            change [letter v] by (1)\n                            wait (0.5) seconds\n                        else\n                            set [say v] to (join (Say) (letter (Letter) of (say cubie)))\n                            say (Say)\n                            change [letter v] by (1)\n                            wait (0.05) seconds\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nwait (1) seconds\n\nwhen I start as a clone\ngo to [front v] layer\ngo [backward v] (2) layers\nclear graphic effects\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen flag clicked\nhide\nforever\n    create clone of (_myself_ v)\nend\n\nwhen I receive [meet futurer v]\ngo to x: (-215) y: (-89)\nshow\nglide (1) secs to x: (-185) y: (-117)\nwait (5) seconds\nSay cubie [Hi! We tried to defeat the evil cube again, but he escaped again! He always escapes! We can never defeat him! How can we defeat him?]\nbroadcast (The legend v)\nsay []\n\nwhen I receive [got it? v]\nSay cubie [Yes!]\nwait (2) seconds\nsay []\nglide (1) secs to x: (-215) y: (-89)\nbroadcast (Move v)\nhide\nset [move v] to [1]\n\nwhen I receive [end v]\nwait (1) seconds\nwait until <(Level) = [19]>\nset [move v] to [1]\nbroadcast (STORM v)\n\nwhen I receive [storm v]\nsay []\nshow\ngo to x: (96) y: (-17)\nSay cubie [Phew! At least here we are safe from the flood!]\nSay cubie [Right cuber?]\nbroadcast (Er- v)\n\nwhen I receive [uh oh v]\nSay cubie [Uh oh]\nbroadcast (WAVE! v)\n\nwhen I receive [to be continued... v]\nhide\n\nwhen I receive [end v]\nshow variable [time v]\nreset timer\nforever\n    if <not <(Level) = [19]>> then\n        set [time v] to (join [Your time: ] (timer))\n    end\nend\n\nwhen flag clicked\nhide variable [time v]\n\n@The evil cube\n\n@Futurer\n\ndefine Say Futurer (say)\nset [letter v] to [1]\nset [say v] to []\nrepeat (length of (say))\n    if <(letter (Letter) of (say)) = [,]> then\n        set [say v] to (join (Say) (letter (Letter) of (say)))\n        say (Say)\n        change [letter v] by (1)\n        wait (0.2) seconds\n    else\n        if <(letter (Letter) of (say)) = [.]> then\n            set [say v] to (join (Say) (letter (Letter) of (say)))\n            say (Say)\n            change [letter v] by (1)\n            wait (0.5) seconds\n        else\n            if <(letter (Letter) of (say)) = [?]> then\n                set [say v] to (join (Say) (letter (Letter) of (say)))\n                say (Say)\n                change [letter v] by (1)\n                wait (0.5) seconds\n            else\n                if <(letter (Letter) of (say)) = [!]> then\n                    set [say v] to (join (Say) (letter (Letter) of (say)))\n                    say (Say)\n                    change [letter v] by (1)\n                    wait (0.5) seconds\n                else\n                    if <(letter (Letter) of (say)) = [:]> then\n                        set [say v] to (join (Say) (letter (Letter) of (say)))\n                        say (Say)\n                        change [letter v] by (1)\n                        wait (0.5) seconds\n                    else\n                        if <(letter (Letter) of (say)) = [;]> then\n                            set [say v] to (join (Say) (letter (Letter) of (say)))\n                            say (Say)\n                            change [letter v] by (1)\n                            wait (0.5) seconds\n                        else\n                            set [say v] to (join (Say) (letter (Letter) of (say)))\n                            say (Say)\n                            change [letter v] by (1)\n                            wait (0.05) seconds\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nwait (1) seconds\n\nwhen flag clicked\nhide\n\nwhen I receive [end v]\nwait (1) seconds\nwait until <(Level) = [7]>\nshow\nsay [Zzz...]\nbroadcast (meet futurer v)\nset [move v] to [0]\nwait (1.5) seconds\n\nwhen I receive [the legend v]\nSay Futurer [Huh? Oh, ok, so, Hi Cubie! Hi Cuber! There IS a way to defeat him, it's a prophecy]\nSay Futurer [So, the prophesy goes like this:]\nSay Futurer [Far, far away, \(Actually here, the legend came from another place LOL\) there was a black cube who wanted to be king and have all the world to himself ]\nSay Futurer [It was told that he would someday have a castle and a crown, but 2 cubes would stand against him.]\nSay Futurer [One would meet his friend in a volcano, and toguether they would try to defeat the evil cube, but they were going to fail]\nSay Futurer [Afterwards, they would meet a cube who would tell them where the Evil Cube's castle was, but they would fail again]\nSay Futurer [And... Those cubes are you. The cube who told them where the castle was would tell them how to defeat him... And... As circumstances seem... Its me!]\nSay Futurer [Anyway, there you have it. That was the legend, and now I have to tell you how I think you may be able to defeat him]\nSay Futurer [So, there are two things that you have to get: the Epic Sword, and the Gem of Brightness. Together, they may be able to defeat the Evil Cube.]\nSay Futurer [The Epic Sword is located down in the ground, in a cave, and the Bright Gem, on the clouds. It will be a hard journey, but I'm sure you will be able to do it]\nSay Futurer [Sorry if I got you confused. On a easier way, in summary:]\nSay Futurer [Go to the cave, get the Sword, and go to the clouds, and get the Gem, put them together, and us that against the Evil Cube. Got it?]\nbroadcast (Got it? v)\nwait (3) seconds\nSay Futurer [Ok!]\nSay Futurer [Good luck!]\nsay [Good luck!]\nwait until <not <(Level) = [7]>>\nhide\n\n@Intro\n\nwhen [timer v] > (timer)\ngo to x: (0) y: (0)\nforever\n    hide\nend\n\ndefine Play intro\nset [ghost v] effect to (0)\nshow\nset size to (100) %\nbroadcast (Intro sprite2 v)\ngo to [front v] layer\ngo to x: (0) y: (0)\nswitch costume to (joshisaurio!!! v)\nwait (1) seconds\nrepeat (11)\n    wait (0.5) seconds\n    next costume\nend\nbroadcast (Disappear v)\nrepeat (140)\n    change size by (5)\nend\n\nwhen I receive [disappear v]\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nbroadcast (almostdone v)\n\nwhen I receive [start intro v]\nPlay intro\n\nwhen flag clicked\nhide\n\n@Intro2\n\nwhen I receive [intro sprite2 v]\nset [hide v] to [0]\nshow\ngo to x: (-150) y: (90)\ncreate clone of (_myself_ v)\ngo to x: (150) y: (90)\ncreate clone of (_myself_ v)\ngo to x: (-150) y: (-90)\ncreate clone of (_myself_ v)\ngo to x: (150) y: (-90)\ncreate clone of (_myself_ v)\nhide\n\nwhen flag clicked\nhide\n\nwhen I start as a clone\nforever\n    turn right (10) degrees\nend\n\nwhen I start as a clone\nwait until <(Hide) = [1]>\nrepeat (50)\n    change [ghost v] effect by (2)\nend\n\nwhen I receive [disappear v]\nset [hide v] to [1]\n\n@Sprite1\n\nwhen I receive [almostdone v]\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nhide\nbroadcast (Intro Done v)\nhide\n\nwhen flag clicked\nshow\nset [ghost v] effect to (100)\ngo to [back v] layer\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nbroadcast (Start Intro v)\n\n@Lag reducer\n\n@Rain\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (pick random (0) to (60))\nset size to (pick random (90) to (110)) %\nset y to (pick random (70) to (150))\nset [raindrop speed v] to (pick random (-3) to (-4))\nset x to (pick random (-225) to (225))\nrepeat until <<touching (ground v)?> or <touching (flood! v)?>>\n    go to [front v] layer\n    change y by (Raindrop speed)\nend\ndelete this clone\n\nwhen I receive [end v]\nhide\nforever\n    if <(Level) > [8]> then\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I receive [wave! v]\nstop [other scripts in sprite v]\nforever\n    delete this clone\nend\n\n@Rain2\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (pick random (0) to (60))\nset size to (pick random (90) to (110)) %\nset y to (pick random (70) to (150))\nset [raindrop speed v] to (pick random (-3) to (-4))\nset x to (pick random (-225) to (225))\nrepeat until <<touching (ground v)?> or <touching (flood! v)?>>\n    go to [front v] layer\n    change y by (Raindrop speed)\nend\ndelete this clone\n\nwhen I receive [end v]\nhide\nforever\n    if <(Level) > [12]> then\n        create clone of (_myself_ v)\n    end\nend\n\nwhen I receive [wave! v]\nstop [other scripts in sprite v]\nforever\n    delete this clone\nend\n\n@FLOOD!\n\nwhen flag clicked\nhide\n\nwhen I receive [oof v]\nhide\nwait (1) seconds\nif <<(Level) > [13]> and <not <(Level) = [19]>>> then\n    show\n    go to x: (-600) y: (0)\n    glide (15) secs to x: (0) y: (0)\n    go to [front v] layer\nelse\n    hide\nend\n\nwhen I receive [end v]\nwait (1) seconds\nwait until <(Level) > [13]>\nbroadcast (OOF v)\n\nwhen I receive [wave! v]\nshow\ngo to x: (-600) y: (0)\nglide (5) secs to x: (0) y: (0)\ngo to [front v] layer\n\nwhen I receive [storm v]\ngo to x: (-600) y: (0)\nhide\n\n@Dark\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen I receive [wave! v]\ngo to [front v] layer\n\nwhen I receive [wave! v]\nswitch costume to (costume1 v)\nwait (1) seconds\nrepeat (100)\n    change [ghost v] effect by (-1)\nend\nbroadcast (TO BE CONTINUED... v)\n\nwhen I receive [to be continued... v]\ngo to [front v] layer\nforever\n    set [ghost v] effect to (0)\nend\n\n@To be continued\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nwhen I receive [to be continued... v]\nset [ghost v] effect to (100)\ngo to [front v] layer\nrepeat (100)\n    change [ghost v] effect by (-1)\n    go to [front v] layer\nend\nforever\n    set [ghost v] effect to (0)\n    go to [front v] layer\nend\n\n@Sprite2\n\nwhen I receive [end v]\nhide\nwait (1) seconds\nforever\n    wait until <(Level) = [16]>\n    show\n    wait until <not <(Level) = [16]>>\n    hide\nend\n\nwhen flag clicked\nhide\n\nwhen this sprite clicked\nswitch costume to (costume2 v)\nwait until <not <mouse down?>>\nswitch costume to (costume1 v)\n\n@Thumbbnail\n\nwhen [timer v] > (timer)\ngo to x: (0) y: (0)\nshow\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nhide\nset [your time v] to [0.01]\nforever\n    set [your time v] to (timer)\nend\n\n