Fallout Survivor - A Platformer

Instructions: All instructions are in the game, and all levels are possible (checked several times)\n\nCame up with the idea for this game after learning about different types of radiation and about nuclear reactions. \n\nFor those claiming this game is too hard, this platformer was made that way because too many claimed my previous was too easy...\n\nCodes: me\nArts: me\nMusic and sound: mixkit.co and stock.adobe.com\n\nTags:\n#games #all #fallout #samuelvega #nuclear #radiation #platformer #story\n@samuelvega

@Stage\n\nwhen flag clicked\nset [in game v] to [0]\nset [level v] to [1]\nset [act lock v] to [1]\nset [stage v] to [intro]\nswitch backdrop to (intro v)\nwait until <(Stage) = [menu]>\nswitch backdrop to (menu v)\nforever\n    if <(In game) = [1]> then\n        switch backdrop to (sky v)\n    else\n        if <(Stage) = [menu]> then\n            switch backdrop to (menu v)\n        end\n        if <(Stage) = [help]> then\n            switch backdrop to (join [help] (help slide #))\n        end\n    end\nend\n\nwhen [space v] key pressed\nif <(Stage) = [help]> then\n    broadcast (Help fader v)\nend\n\nwhen flag clicked\nwait (1) seconds\nwait until <(Stage) = [menu]>\nforever\n    play sound [Background music \(stock.adobe.com\) v] until done\n    set volume to (30) %\nend\n\n@Story\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\n\nwhen I start as a clone\ngo to [front v] layer\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait until <(In game) = [1]>\ndelete this clone\n\nrepeat (50)\n    change [ghost v] effect by (2)\nend\n\nwhen I receive [story v]\nswitch costume to (1 v)\nrepeat (11)\n    create clone of (_myself_ v)\n    wait (1) seconds\n    wait until <not <key (space v) pressed?>>\n    wait until <key (space v) pressed?>\n    next costume\nend\nset [next stage v] to [play]\nbroadcast (Fader v)\n\n@Hitbox\n\nwhen flag clicked\nset [ghost v] effect to (100)\nset size to (50) %\n\nwhen flag clicked\nforever\n    change y by (speedY)\n    if <<touching (platform v)?> or <touching (spikes v)?>> then\n        if <touching (spikes v)?> then\n            broadcast (Die v)\n        end\n        set [in jump v] to [0]\n        change y by ((speedY) * (-1))\n        set [speedy v] to [0]\n        if <(jump lock) = [0]> then\n            if <key (up arrow v) pressed?> then\n                set [in jump v] to [1]\n                set [speedy v] to [15]\n                set [jump lock v] to [1]\n            end\n        end\n    else\n        change [speedy v] by (-1)\n        set [jump lock v] to [0]\n    end\nend\n\nwhen flag clicked\ngo to x: (-200) y: (0)\nforever\n    if <(Act lock) = [0]> then\n        if <key (right arrow v) pressed?> then\n            change [speedx v] by (1)\n        end\n        if <key (left arrow v) pressed?> then\n            change [speedx v] by (-1)\n        end\n    else\n        set [speedx v] to [0]\n    end\n    change x by (speedX)\n    if <<touching (platform v)?> or <touching (spikes v)?>> then\n        if <touching (spikes v)?> then\n            broadcast (Die v)\n        end\n        if <(Act lock) = [0]> then\n            if <key (up arrow v) pressed?> then\n                if <(speedX) > [0]> then\n                    set [speedx v] to [-13]\n                else\n                    set [speedx v] to [13]\n                end\n                set [speedy v] to [10]\n            else\n                change x by ((speedX) * (-1))\n                set [speedx v] to [0]\n            end\n        end\n    else\n        set [speedx v] to ((speedX) * (0.8))\n    end\n    set [player x v] to (x position)\n    set [player y v] to (y position)\nend\n\nwhen flag clicked\nforever\n    if <(In game) = [1]> then\n        if <(x position) > [250]> then\n            if <(Level) = [35]> then\n                set [act lock v] to [1]\n                broadcast (End v)\n            else\n                go to x: (-200) y: (0)\n                set [speedy v] to [0]\n                set [speedx v] to [0]\n                change [level v] by (1)\n                broadcast (Next stage v)\n            end\n        end\n    end\nend\n\nwhen I receive [die v]\ngo to x: (-200) y: (0)\nset [speedy v] to [0]\nset [speedx v] to [0]\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\n\n@Player\n\nwhen flag clicked\nshow\nforever\n    if <(Movement) = [walk]> then\n        set [custome counter v] to [0]\n        repeat (8)\n            if <(Movement) = [walk]> then\n                change [custome counter v] by (1)\n                wait (0.05) seconds\n            end\n        end\n    end\n    if <(In game) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen flag clicked\nforever\n    go to (hitbox v)\n    if <(Act lock) = [0]> then\n        if <(in jump) = [1]> then\n            set [movement v] to [j]\n        else\n            if <<<<key (left arrow v) pressed?> or <key (right arrow v) pressed?>> and <(jump lock) = [0]>> and <not <<key (left arrow v) pressed?> and <key (right arrow v) pressed?>>>> then\n                set [movement v] to [walk]\n            else\n                set [movement v] to [none]\n            end\n        end\n        if <<key (left arrow v) pressed?> and <not <key (right arrow v) pressed?>>> then\n            set [left/right v] to [l]\n        end\n        if <<key (right arrow v) pressed?> and <not <key (left arrow v) pressed?>>> then\n            set [left/right v] to [r]\n        end\n    else\n        set [movement v] to [none]\n    end\n    if <(Movement) = [walk]> then\n        switch costume to (join (left/right) (custome counter))\n    end\n    if <(Movement) = [j]> then\n        switch costume to (join (left/right) (Movement))\n    end\n    if <(Movement) = [none]> then\n        switch costume to (join (left/right) [1])\n        set [custome counter v] to [0]\n    end\nend\n\nwhen I receive [die v]\nset [act lock v] to [1]\nset [decline pond death v] to [1]\nset [in jump v] to [0]\nset [ghost v] effect to (0)\nset [left/right v] to [r]\nrepeat (5)\n    hide\n    wait (0.05) seconds\n    show\n    wait (0.05) seconds\nend\nset [act lock v] to [0]\nset [decline pond death v] to [0]\n\nwhen I receive [touching toxic pond v]\nstart sound [Drowning \(mixkit.co\) v]\nset [act lock v] to [1]\nset [pond death counter v] to [0]\nrepeat until <<(Pond death counter) > [49]> or <(Decline pond death) = [1]>>\n    change [pond death counter v] by (1)\n    change [ghost v] effect by (2)\n    set [speedy v] to [-2]\nend\nif <(Decline pond death) = [0]> then\n    set [decline pond death v] to [0]\n    broadcast (Die v)\nend\n\nwhen flag clicked\nset [decline pond death v] to [0]\n\nset [decline pond death v] to [0]\n\nstop [other scripts in sprite v]\n\n@Platform\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\n    if <(In game) = [1]> then\n        set [ghost v] effect to (0)\n    else\n        set [ghost v] effect to (100)\n    end\nend\n\n@Geiger counter\n\nwhen flag clicked\nhide\nswitch costume to (4 v)\ncreate clone of (_myself_ v)\nswitch costume to (3 v)\ncreate clone of (_myself_ v)\nswitch costume to (2 v)\ncreate clone of (_myself_ v)\nswitch costume to (1 v)\ncreate clone of (_myself_ v)\nforever\n    set [geiger counter v] to ((letter (1) of (Radiation distance)) + ((letter (2) of (Radiation distance)) + ((letter (3) of (Radiation distance)) + (letter (4) of (Radiation distance)))))\nend\n\nwhen I start as a clone\nshow\nset [ghost v] effect to (100)\nforever\n    go to (hitbox v)\n    if <touching (radio active material v)?> then\n        if <(item (costume [number v]) of [radiation distance v]) = [0]> then\n            replace item (costume [number v]) of [radiation distance v] with [1]\n        end\n    else\n        if <(item (costume [number v]) of [radiation distance v]) = [1]> then\n            replace item (costume [number v]) of [radiation distance v] with [0]\n        end\n    end\nend\n\ndelete all of [radiation distance v]\ninsert [0] at (1) of [radiation distance v] \ninsert [0] at (1) of [radiation distance v] \ninsert [0] at (1) of [radiation distance v] \ninsert [0] at (1) of [radiation distance v] \n\nset [ghost v] effect to (100)\n\nset [ghost v] effect to (0)\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\n\n@Radio active material\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\nend\n\nset [ghost v] effect to (0)\n\nwhen flag clicked\nforever\n    if <(In game) = [1]> then\n        if <(Geiger counter) = [1]> then\n            play sound [Chomp v] until done\n            wait (0.7) seconds\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(In game) = [1]> then\n        if <(Geiger counter) = [2]> then\n            play sound [Chomp v] until done\n            wait (0.3) seconds\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(In game) = [1]> then\n        if <(Geiger counter) = [3]> then\n            play sound [Chomp v] until done\n            wait (0.08) seconds\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <(In game) = [1]> then\n        if <(Geiger counter) = [4]> then\n            play sound [Chomp v] until done\n        end\n    end\nend\n\n@Background\n\nwhen flag clicked\nset [ghost v] effect to (100)\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\n    if <(In game) = [1]> then\n        set [ghost v] effect to (0)\n    else\n        set [ghost v] effect to (100)\n    end\nend\n\n@Text engine\n\nwhen flag clicked\nhide\n\ndefine Write text (text) (x) (y) (speed) (line length)\ngo to x: (x) y: (y)\nset [letter counter v] to [0]\nset [length counter v] to [0]\nrepeat (length of (text))\n    change [letter counter v] by (1)\n    change [length counter v] by (1)\n    switch costume to (letter (Letter counter) of (text))\n    if <(letter (Letter counter) of (text)) = [ ]> then\n        if <(Length counter) > (line length)> then\n            set [length counter v] to [0]\n            set x to (x)\n            change y by (-23)\n        end\n    else\n        create clone of (_myself_ v)\n    end\n    if <not <(Length counter) = [0]>> then\n        if <(costume [number v]) < [27]> then\n            change x by (item ((item # of (letter (Letter counter) of (text)) in [letters v]) + (26)) of [letter width v])\n        else\n            change x by (item (item # of (letter (Letter counter) of (text)) in [letters v]) of [letter width v])\n        end\n    end\nend\n\nwhen I start as a clone\nset [mystage v] to (Level)\nwait until <not <(MyStage) = (Level)>>\ndelete this clone\n\nwhen I receive [next stage v]\nif <(Level) = [1]> then\n    Write text [There is nothing left... Where should I go?] [-200] [100] [0] [20]\nend\nif <(Level) = [2]> then\n    Write text [That pit look dangerous...] [-150] [80] [0] [20]\nend\nif <(Level) = [3]> then\n    Write text [Well SOMETHING survived the explotion. At least a part of the building...] [-180] [130] [0] [20]\nend\nif <(Level) = [4]> then\n    Write text [I am moving away from the deadzone. Maybe I will find some whole buildings a bit further?] [-180] [130] [0] [20]\nend\nif <(Level) = [5]> then\n    Write text [Oh, the Geiger counter  beeps! The closer I am to the radioactive material, the more it beeps. I must use it to navigate around the source.] [-210] [130] [0] [25]\nend\nif <(Level) = [6]> then\n    Write text [It beeps again, maybe I should jump over the risk area from the highest point?] [-210] [130] [0] [25]\nend\nif <(Level) = [7]> then\n    Write text [Look! This building is still standing! Maybe there is something useful inside?] [-210] [130] [0] [13]\nend\nif <(Level) = [8]> then\n    Write text [Doesn't look so safe...] [-70] [0] [0] [16]\nend\nif <(Level) = [9]> then\n    Write text [Is that acid...?] [-150] [30] [0] [16]\nend\nif <(Level) = [10]> then\n    Write text [The leaking pipe might cause some problems...] [-10] [100] [0] [15]\nend\nif <(Level) = [11]> then\n    Write text [Is that a map?] [-200] [105] [0] [15]\nend\nif <(Level) = [12]> then\n    Write text [Maybe I will be safe if I follow the map?] [-170] [35] [0] [25]\nend\nif <(Level) = [13]> then\n    Write text [It's high humidity. That means even the air can be radioactive...] [-210] [130] [0] [12]\nend\nif <(Level) = [14]> then\n    Write text [Sometimes it might be smart to jump as much as possible to avoid it, but it could be the opposite too...] [-210] [130] [0] [20]\nend\nif <(Level) = [15]> then\n    Write text [I think I am closing in to the forest, but it doesn't look so alive] [-180] [100] [0] [30]\nend\nif <(Level) = [16]> then\n    Write text [First sign of life!] [-210] [150] [0] [12]\nend\nif <(Level) = [17]> then\n    Write text [The plants and trees are getting better the further away I go.] [-210] [150] [0] [30]\nend\nif <(Level) = [18]> then\n    Write text [The fallout can't have reached much longer than this.] [-220] [70] [0] [15]\nend\nif <(Level) = [19]> then\n    Write text [It's been raining here. That means more radiactive fallout....] [-220] [70] [0] [25]\nend\nif <(Level) = [20]> then\n    Write text [How long is it to the town? Can't be too far away.] [-220] [80] [0] [25]\nend\nif <(Level) = [21]> then\n    Write text [It's so much radioactive air everywhere...] [-220] [130] [0] [25]\nend\nif <(Level) = [22]> then\n    Write text [Wait, I think I can see a house a bit further!] [-220] [130] [0] [30]\nend\nif <(Level) = [23]> then\n    Write text [It was a house! That means the underground is close!] [-220] [50] [0] [30]\nend\nif <(Level) = [24]> then\n    Write text [I wonder where everyone went...] [-220] [130] [0] [30]\nend\nif <(Level) = [25]> then\n    Write text [I think I found the carpenter's garage.] [-220] [100] [0] [30]\nend\nif <(Level) = [26]> then\n    Write text [All the tools are there, the carpenter left in a hurry...] [-220] [130] [0] [25]\nend\nif <(Level) = [27]> then\n    Write text [There  is not even anyone to recirculate the garbage anymore...] [-220] [130] [0] [25]\nend\nif <(Level) = [28]> then\n    Write text [Finally! The underground! There is no radioactive material below the surface!] [-220] [140] [0] [25]\nend\nif <(Level) = [29]> then\n    Write text [It's pretty dark here...] [-220] [100] [0] [25]\nend\nif <(Level) = [30]> then\n    Write text [Wow, it's leaking pretty much...] [-180] [0] [0] [25]\nend\nif <(Level) = [31]> then\n    Write text [It's just to keep going.] [-180] [0] [0] [25]\nend\nif <(Level) = [32]> then\n    Write text [How far can it be to the other side?] [-180] [0] [0] [25]\nend\nif <(Level) = [33]> then\n    Write text [Just a bit more!] [-180] [0] [0] [25]\nend\nif <(Level) = [34]> then\n    Write text [Just need to walk up to the surface and I'll be safe!] [-180] [100] [0] [25]\nend\nif <(Level) = [35]> then\n    Write text [It's there, I can see the shelter!!] [-200] [70] [0] [25]\nend\n\nwhen I start as a clone\nset [ghost v] effect to (100)\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\n\n@Spikes\n\nwhen flag clicked\ngo to x: (0) y: (0)\nforever\n    switch costume to (Level)\nend\n\n@Acid\n\nwhen flag clicked\nswitch costume to (a1 v)\nhide\nwait (0.1) seconds\nforever\n    if <(Level) = [8]> then\n        go to x: (67) y: (31)\n        create clone of (_myself_ v)\n        wait (1) seconds\n    end\n    if <(Level) = [9]> then\n        go to x: (-46) y: (32)\n        create clone of (_myself_ v)\n        wait (0.1) seconds\n        if <(Level) = [9]> then\n            go to x: (58) y: (32)\n            create clone of (_myself_ v)\n            wait (1.1) seconds\n            if <(Level) = [9]> then\n                go to x: (162) y: (32)\n                create clone of (_myself_ v)\n                wait (0.1) seconds\n            end\n        end\n    end\n    if <(Level) = [10]> then\n        go to x: (-53) y: (31)\n        create clone of (_myself_ v)\n        wait (1) seconds\n    end\n    if <(Level) = [30]> then\n        go to x: (-30) y: (35)\n        create clone of (_myself_ v)\n        wait (1.1) seconds\n        if <(Level) = [30]> then\n            go to x: (14) y: (35)\n            create clone of (_myself_ v)\n            if <(Level) = [30]> then\n                go to x: (39) y: (35)\n                create clone of (_myself_ v)\n                wait (0.1) seconds\n                if <(Level) = [30]> then\n                    go to x: (130) y: (35)\n                    create clone of (_myself_ v)\n                    if <(Level) = [30]> then\n                        go to x: (226) y: (35)\n                        create clone of (_myself_ v)\n                        wait (0.1) seconds\n                    end\n                end\n            end\n        end\n    end\n    if <(Level) = [31]> then\n        go to x: (-82) y: (35)\n        create clone of (_myself_ v)\n        wait (1.1) seconds\n        if <(Level) = [31]> then\n            go to x: (-50) y: (35)\n            create clone of (_myself_ v)\n            if <(Level) = [31]> then\n                go to x: (-22) y: (35)\n                create clone of (_myself_ v)\n                wait (0.1) seconds\n                if <(Level) = [31]> then\n                    go to x: (66) y: (35)\n                    create clone of (_myself_ v)\n                    if <(Level) = [31]> then\n                        go to x: (102) y: (35)\n                        create clone of (_myself_ v)\n                        wait (0.1) seconds\n                        if <(Level) = [31]> then\n                            go to x: (174) y: (35)\n                            create clone of (_myself_ v)\n                            wait (0.1) seconds\n                        end\n                    end\n                end\n            end\n        end\n    end\n    if <(Level) = [32]> then\n        go to x: (-54) y: (35)\n        create clone of (_myself_ v)\n        wait (1) seconds\n        if <(Level) = [32]> then\n            go to x: (0) y: (35)\n            create clone of (_myself_ v)\n            wait (0.1) seconds\n            if <(Level) = [32]> then\n                go to x: (22) y: (35)\n                create clone of (_myself_ v)\n                if <(Level) = [32]> then\n                    go to x: (190) y: (35)\n                    create clone of (_myself_ v)\n                    wait (0.1) seconds\n                    if <(Level) = [32]> then\n                        go to x: (275) y: (35)\n                        create clone of (_myself_ v)\n                        wait (0.1) seconds\n                    end\n                end\n            end\n        end\n    end\n    if <(Level) = [33]> then\n        go to x: (-50) y: (36)\n        create clone of (_myself_ v)\n        wait (1) seconds\n        if <(Level) = [33]> then\n            go to x: (-24) y: (35)\n            create clone of (_myself_ v)\n            wait (0.1) seconds\n            if <(Level) = [33]> then\n                go to x: (6) y: (36)\n                create clone of (_myself_ v)\n                if <(Level) = [33]> then\n                    go to x: (38) y: (36)\n                    create clone of (_myself_ v)\n                    wait (0.1) seconds\n                    if <(Level) = [33]> then\n                        go to x: (206) y: (36)\n                        create clone of (_myself_ v)\n                        wait (0.1) seconds\n                        if <(Level) = [33]> then\n                            go to x: (255) y: (36)\n                            create clone of (_myself_ v)\n                            wait (0.1) seconds\n                        end\n                    end\n                end\n            end\n        end\n    end\n    if <(Level) = [34]> then\n        go to x: (66) y: (80)\n        create clone of (_myself_ v)\n        wait (0.1) seconds\n        if <(Level) = [34]> then\n            go to x: (122) y: (80)\n            create clone of (_myself_ v)\n            wait (1) seconds\n        end\n    end\n    if <(Level) = [24]> then\n        go to x: (115) y: (-30)\n        create clone of (_myself_ v)\n        wait (1) seconds\n    end\n    if <(Level) = [26]> then\n        go to x: (90) y: (50)\n        create clone of (_myself_ v)\n        wait (1) seconds\n    end\nend\n\nwhen I start as a clone\nset volume to (30) %\nshow\nset [clone acceleration v] to [1]\nrepeat until <<not <touching (platform v)?>> or <(y position) < [-250]>>\n    change y by (Clone acceleration)\n    change [clone acceleration v] by (-1)\nend\nrepeat until <<touching (platform v)?> or <(y position) < [-250]>>\n    if <touching (player v)?> then\n        broadcast (Die v)\n    end\n    change y by (Clone acceleration)\n    change [clone acceleration v] by (-1)\nend\nstart sound [Water Drop v]\nFInd platform edge\nrepeat (7)\n    next costume\n    wait (0.03) seconds\nend\ndelete this clone\n\ndefine FInd platform edge\nrepeat until <not <touching (platform v)?>>\n    change y by (1)\nend\nchange y by (-1)\n\nwhen I start as a clone\nset [clone level of existance v] to (Level)\nforever\n    if <not <(Level) = (Clone level of existance)>> then\n        delete this clone\n    end\nend\n\nwhen I receive [end v]\nstop [other scripts in sprite v]\n\n@DNA failure\n\nwhen flag clicked\nhide\ngo to x: (-165) y: (-160)\nwait (0.1) seconds\nforever\n    if <(Geiger counter) = [4]> then\n        if <(costume [number v]) = [11]> then\n            broadcast (Die v)\n        else\n            next costume\n        end\n        wait (0.05) seconds\n    end\n    if <(In game) = [1]> then\n        show\n    else\n        hide\n    end\nend\n\nwhen I receive [die v]\nswitch costume to (empty v)\n\nwhen flag clicked\nswitch costume to (empty v)\nset [new level? v] to (Level)\nforever\n    if <not <(Level) = (New level?)>> then\n        set [new level? v] to (Level)\n        switch costume to (empty v)\n    end\nend\n\n@Toxic ponds\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (50)\nforever\n    switch costume to (Level)\n    if <touching (player v)?> then\n        broadcast (Touching toxic pond v)\n        wait until <not <touching (player v)?>>\n    end\nend\n\n@Map\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nforever\n    if <<key (space v) pressed?> and <(Current space command) = [map]>> then\n        set [act lock v] to [1]\n        repeat (10)\n            change [ghost v] effect by (-10)\n        end\n        wait until <not <key (space v) pressed?>>\n        wait until <key (space v) pressed?>\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        set [act lock v] to [0]\n    end\nend\n\n@Space bar instruction\n\nwhen flag clicked\nset [ghost v] effect to (100)\nset [y slide v] to [35]\nforever\n    go to x: (0) y: (Y slide)\n    if <<(Player x) > [-100]> and <(Player x) < [100]>> then\n        if <(Level) = [11]> then\n            set [current space command v] to [map]\n            change [ghost v] effect by (-5)\n            if <(Y slide) > [1]> then\n                change [y slide v] by (-3)\n            end\n        end\n    else\n        set [current space command v] to [0]\n        change [ghost v] effect by (5)\n        if <(Y slide) < [45]> then\n            change [y slide v] by (3)\n        end\n    end\nend\n\n@Intro\n\nwhen flag clicked\nshow\nset [intro vanish v] to [0]\nstart sound [Intro \(mixkit.co\) v]\ngo to x: (0) y: (120)\nset [ghost v] effect to (100)\nswitch costume to (s v)\nrepeat (10)\n    wait (0.1) seconds\n    create clone of (_myself_ v)\n    next costume\nend\nwait (1) seconds\ngo to x: (0) y: (20)\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nset [intro vanish v] to [1]\nset [next stage v] to [menu]\nbroadcast (Fader v)\nwait until <(Stage) = [menu]>\nhide\n\nwhen I start as a clone\nset [intro clone yspeed v] to [-5]\nrepeat (50)\n    change [color v] effect by ((Intro clone Yspeed) * (2))\n    change [brightness v] effect by ((Intro clone Yspeed) * (-1))\n    change [intro clone yspeed v] by (0.1)\n    change [ghost v] effect by (-2)\n    change y by (Intro clone Yspeed)\nend\nwait until <(Stage) = [menu]>\ndelete this clone\n\n@Fader\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\n\nwhen I receive [fader v]\ngo to [front v] layer\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nif <(Next stage) = [play]> then\n    set [in game v] to [1]\n    set [act lock v] to [0]\n    broadcast (Next stage v)\nelse\n    set [stage v] to (Next stage)\nend\nwait (0.5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\nwhen I receive [help fader v]\ngo to [front v] layer\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nchange [help slide # v] by (1)\nif <(help slide #) = [5]> then\n    set [stage v] to [menu]\nend\nwait (0.5) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\n\n@Buttons\n\nwhen flag clicked\nhide\nswitch costume to (play v)\ngo to x: (0) y: (-10)\ncreate clone of (_myself_ v)\nswitch costume to (how to play v)\ngo to x: (0) y: (-80)\ncreate clone of (_myself_ v)\n\nwhen I start as a clone\nset [size speed v] to [0]\nforever\n    if <<(Stage) = [menu]> and <(In game) = [0]>> then\n        show\n    else\n        hide\n    end\n    if <touching (mouse-pointer v)?> then\n        change [size speed v] by (1)\n    end\n    set [size speed v] to ((Size speed) * (0.8))\n    set size to ((100) + ((Size speed) * (3))) %\nend\n\nwhen I start as a clone\nforever\n    if <(Stage) = [menu]> then\n        if <<mouse down?> and <touching (mouse-pointer v)?>> then\n            wait until <not <mouse down?>>\n            if <touching (mouse-pointer v)?> then\n                if <(costume [number v]) = [1]> then\n                    start sound [Jump v]\n                    set [stage v] to [none]\n                    broadcast (Story v)\n                end\n                if <(costume [number v]) = [2]> then\n                    start sound [Jump v]\n                    set [next stage v] to [help]\n                    set [help slide # v] to [1]\n                    broadcast (Fader v)\n                end\n            end\n        end\n    end\nend\n\nset [next stage v] to [play]\nbroadcast (Fader v)\n\n@End tale\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\n\nwhen I receive [end v]\nswitch costume to (1 v)\nrepeat (6)\n    create clone of (_myself_ v)\n    wait (2) seconds\n    wait until <key (space v) pressed?>\n    wait until <not <key (space v) pressed?>>\n    next costume\nend\n\nwhen I start as a clone\ngo to [front v] layer\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nforever\n    go to [front v] layer\nend\n\n