2 Player Platformer Race


@Stage\n\nwhen I receive [start brodcast v]\nswitch backdrop to (cutscene 1 v)\nbroadcast (Green Flag v)\nbroadcast (Play Game v)\n\nwhen I receive [start v]\nwait (2) seconds\nbroadcast (quit v)\n\nwhen I receive [start v]\nbroadcast (cutscene 1 v)\n\nwhen flag clicked\nswitch backdrop to (empty v)\n\nwhen I receive [play game v]\nstop all sounds\nforever\n    play sound [music 1 1 v] until done\n    play sound [music 1 2 v] until done\n    play sound [music 1 3 v] until done\nend\n\nwhen I receive [cutscene 2 v]\nstop all sounds\nstop [other scripts in sprite v]\nplay sound [music 2 v] until done\n\n@blank\n\n@menu\n\nwhen I receive [information v]\nstart sound [menu music v]\ngo to x: (0) y: (0)\npoint in direction (90)\nswitch backdrop to (space v)\ngo to [front v] layer\nclear graphic effects\nswitch costume to (size v)\nset size to (100) %\nswitch costume to (information planel v)\nset [ghost v] effect to (100)\nshow\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nclear graphic effects\nforever\n    switch costume to (information planel v)\n    wait (.7) seconds\n    switch costume to (information plane2 v)\n    wait (.7) seconds\nend\n\nwhen I receive [info quit v]\nstop [other scripts in sprite v]\nhide\nstop all sounds\nbroadcast (information v)\ndelete this clone\n\nwhen I receive [information v]\nwait (1) seconds\nwait until <<key (any v) pressed?> or <mouse down?>>\nstop [other scripts in sprite v]\nhide\nbroadcast (transition v)\nbroadcast (menu v)\nswitch backdrop to (empty v)\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nclear graphic effects\n\nwhen I start as a clone\nif <(id) = [2]> then\n    go to x: (202) y: (40)\n    point in direction (95)\n    clear graphic effects\n    switch costume to (size v)\n    set size to (100) %\n    switch costume to (planet real v)\n    show\n    forever\n        go to x: ((202) + ((mouse x) / (-50))) y: ((40) + ((mouse y) / (-50)))\n        repeat (120)\n            turn right (.01) degrees\n            go to x: ((202) + ((mouse x) / (-50))) y: ((40) + ((mouse y) / (-50)))\n        end\n        repeat (120)\n            turn right (.01) degrees\n            go to x: ((202) + ((mouse x) / (-50))) y: ((40) + ((mouse y) / (-50)))\n        end\n    end\nend\nif <(id) = [4]> then\n    switch costume to (start v)\n    set size to (90) %\n    clear graphic effects\n    point in direction (90)\n    go to x: (-40) y: (-10)\n    show\n    forever\n        if <touching (mouse-pointer v)?> then\n            switch costume to (start slected v)\n            if <mouse down?> then\n                play sound [slect v] until done\n                broadcast (start v)\n                hide\n                delete this clone\n            end\n        else\n            switch costume to (start v)\n        end\n    end\nend\nif <(id) = [5]> then\n    switch costume to (information v)\n    set size to (90) %\n    clear graphic effects\n    point in direction (90)\n    go to x: (-40) y: (-10)\n    show\n    forever\n        if <touching (mouse-pointer v)?> then\n            switch costume to (information slected v)\n            if <mouse down?> then\n                play sound [slect v] until done\n                broadcast (info quit v)\n                hide\n            end\n        else\n            switch costume to (information v)\n        end\n    end\nend\nif <(id) = [6]> then\n    switch costume to (quit v)\n    set size to (90) %\n    clear graphic effects\n    point in direction (90)\n    go to x: (-40) y: (-10)\n    show\n    forever\n        if <touching (mouse-pointer v)?> then\n            switch costume to (quit slected v)\n            if <mouse down?> then\n                play sound [slect v] until done\n                broadcast (thumbnail v)\n                broadcast (quit v)\n                hide\n            end\n        else\n            switch costume to (quit v)\n        end\n    end\nend\nif <(id) = [7]> then\n    set size to (100) %\n    clear graphic effects\n    point in direction (90)\n    go to x: (0) y: (0)\n    show\n    forever\n        if <(stars) = [7]> then\n            switch costume to (title admin v)\n        else\n            if <(stars) = [6]> then\n                switch costume to (title 6 star v)\n            else\n                if <(stars) = [5]> then\n                    switch costume to (title 5 star v)\n                else\n                    if <(stars) = [4]> then\n                        switch costume to (title 4 star v)\n                    else\n                        if <(stars) = [3]> then\n                            switch costume to (title 3 star v)\n                        else\n                            if <(stars) = [2]> then\n                                switch costume to (title 2 star v)\n                            else\n                                if <(stars) = [1]> then\n                                    switch costume to (title 1 star v)\n                                else\n                                    switch costume to (title v)\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nif <(id) = [8]> then\n    switch costume to (space background v)\n    set size to (100) %\n    clear graphic effects\n    go to [back v] layer\n    point in direction (90)\n    go to x: (0) y: (0)\n    show\n    forever\n        go to x: ((0) + ((mouse x) / (-100))) y: ((0) + ((mouse y) / (-100)))\n    end\nend\nif <(id) = [9]> then\n    switch costume to (hardcore v)\n    set size to (90) %\n    clear graphic effects\n    point in direction (90)\n    go to x: (-40) y: (-10)\n    show\n    forever\n        if <touching (mouse-pointer v)?> then\n            switch costume to (hardcore slected v)\n            if <mouse down?> then\n                play sound [slect v] until done\n                set [hardcore? v] to [YES]\n                broadcast (start v)\n                hide\n                delete this clone\n            end\n        else\n            switch costume to (hardcore v)\n        end\n    end\nend\n\nwhen I receive [quit v]\nstop [other scripts in sprite v]\nhide\nstop all sounds\ndelete this clone\n\nwhen I receive [start v]\nstop [other scripts in sprite v]\nbroadcast (transition v)\nbroadcast (quit v)\n\nwhen I receive [menu v]\nset [id v] to [2]\ncreate clone of (_myself_ v)\nset [id v] to [4]\ncreate clone of (_myself_ v)\nset [id v] to [5]\ncreate clone of (_myself_ v)\nset [id v] to [6]\ncreate clone of (_myself_ v)\nset [id v] to [7]\ncreate clone of (_myself_ v)\nset [id v] to [8]\ncreate clone of (_myself_ v)\nset [id v] to [9]\ncreate clone of (_myself_ v)\nstop all sounds\nforever\n    play sound [menu music v] until done\nend\n\nwhen I receive [creds v]\nset [id v] to [2]\ncreate clone of (_myself_ v)\nstop all sounds\n\nwhen flag clicked\nset [stars v] to [0]\n\nwhen I receive [menu v]\n\nwait (1) seconds\nwait until <[admins v] contains (username)?>\nset [stars v] to [7]\n\n@cutscene 1\n\nwhen flag clicked\nhide\nclear graphic effects\nset size to (100) %\npoint in direction (90)\ngo to x: (0) y: (0)\nswitch costume to (1 v)\n\nwhen I receive [cutscene 1 v]\nclear graphic effects\nset size to (100) %\npoint in direction (90)\ngo to x: (0) y: (0)\nswitch costume to (1 v)\nshow\nswitch backdrop to (cutscene 1 v)\nswitch costume to (1 v)\nset size to (100) %\nwait (1.5) seconds\nstart sound [walk v]\nrepeat (8)\n    next costume\n    wait (.1) seconds\nend\nwait (1) seconds\nstart sound [apear v]\nstart sound [in2 v]\nrepeat (5)\n    next costume\n    wait (.025) seconds\nend\nwait (.5) seconds\nstart sound [in v]\nwait (.5) seconds\nrepeat (5)\n    next costume\n    wait (.1) seconds\nend\nwait (3) seconds\nstart sound [dissapera v]\nrepeat (4)\n    next costume\n    wait (.025) seconds\nend\nwait (3) seconds\nbroadcast (transition v)\nset [id v] to [1]\ncreate clone of (_myself_ v)\nwait (1) seconds\ngo to [back v] layer\nswitch backdrop to (space v)\nswitch costume to (blackhole v)\ngo to x: (-202) y: (40)\npoint in direction (95)\nbroadcast (blackhole spin \(cutscene 1\) v)\nwait (3) seconds\nbroadcast (transition v)\ngo to x: (0) y: (0)\npoint in direction (90)\nswitch costume to (2 1-0 v)\nstop [other scripts in sprite v]\nstart sound [BONUS v]\nwait (4) seconds\nstart sound [apear v]\nrepeat (5)\n    next costume\n    wait (.03) seconds\nend\nwait (2) seconds\nstart sound [in v]\nrepeat (4)\n    next costume\n    wait (.04) seconds\nend\nwait (1) seconds\nstart sound [dissapera v]\nrepeat (4)\n    next costume\n    wait (.03) seconds\nend\nstop [other scripts in sprite v]\nbroadcast (long transistion v)\nwait (1) seconds\nstop [other scripts in sprite v]\nhide\nswitch backdrop to (blackhole v)\nbroadcast (start brodcast v)\n\nwhen I start as a clone\nif <(id) = [1]> then\n    clear graphic effects\n    set size to (100) %\n    point in direction (90)\n    go to x: (0) y: (0)\n    switch costume to (planet v)\n    go to [front v] layer\n    show\n    wait (2) seconds\n    repeat (10)\n        turn right (3) degrees\n    end\n    repeat (8)\n        turn right (3) degrees\n        next costume\n        wait (.025) seconds\n    end\n    delete this clone\nend\n\nwhen I receive [cutscene 1 v]\nwait (.3) seconds\nwait until <<mouse down?> or <key (space v) pressed?>>\nstop [other scripts in sprite v]\nbroadcast (transition v)\nhide\nbroadcast (start brodcast v)\ndelete this clone\n\nbroadcast (long transistion v)\nwait (1) seconds\nhide\nswitch backdrop to (empty v)\n\nwhen I receive [blackhole spin \(cutscene 1\) v]\nforever\n    turn right (.01) degrees\nend\n\nwhen I receive [blackhole spin \(cutscene 1\) v]\n\nwhen I receive [end v]\n\nbroadcast (cutscene 2 v)\n\ndefine Screen Shake | strengthX (strengthx) strengthY (strengthy) interval (interval) duration (duration)\nset [_screenshake_starttime v] to (timer)\nset [screenshake_x v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthx))\nset [screenshake_y v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthy))\nset [_screenshake_lasttime v] to (timer)\nrepeat until <(timer) > ((_screenShake_startTime) + (duration))>\n    wait ((interval) - ((timer) - (_screenShake_lastTime))) seconds\n    set [_screenshake_fraction v] to ((1) - (((timer) - (_screenShake_startTime)) / (duration)))\n    set [screenshake_x v] to ((((ScreenShake_X) / ([abs v] of (ScreenShake_X) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthx))))\n    set [screenshake_y v] to ((((ScreenShake_Y) / ([abs v] of (ScreenShake_Y) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthy))))\n    set [_screenshake_lasttime v] to (timer)\nend\nset [screenshake_x v] to [0]\nset [screenshake_y v] to [0]\n\ndefine Move with ScreenShake | amount (0 to 1) (amount)\nforever\n    change x by (((_lastSCX) * (-1)) * (amount))\n    change y by (((_lastSCY) * (-1)) * (amount))\n    set [_lastscx v] to (ScreenShake_X)\n    set [_lastscy v] to (ScreenShake_Y)\n    change x by ((_lastSCX) * (amount))\n    change y by ((_lastSCY) * (amount))\nend\n\nwhen I receive [screen shake v]\nMove with ScreenShake | amount (0 to 1) [1]\n\nwhen I receive [cutscene 1 v]\nforever\n    play sound [BONUS v] until done\nend\n\nreset timer\nset size to (110) %\nwait (1) seconds\nshow\nswitch costume to (2 9 v)\nwait (3) seconds\nstart sound [apear v]\nrepeat (4)\n    switch costume to ((costume [number v]) - (1))\n    wait (.03) seconds\nend\nwait (2) seconds\nstart sound [in v]\nrepeat (4)\n    switch costume to ((costume [number v]) - (1))\n    wait (.04) seconds\nend\nwait (1) seconds\nstart sound [dissapera v]\nrepeat (5)\n    switch costume to ((costume [number v]) - (1))\n    wait (.03) seconds\nend\nwait (4) seconds\nbroadcast (long transistion v)\nwait (1) seconds\nstop [other scripts in sprite v]\nhide\nswitch backdrop to (space v)\nbroadcast (cutscene final v)\n\n@Player walk\n\nwhen flag clicked\nhide\npoint in direction (90)\ngo to x: (-262) y: (-111)\nset size to (300) %\n\nwhen I receive [cutscene 1 v]\n\ngo to x: (-262) y: (-111)\nshow\nforever\n    switch costume to (walk f1 v)\n    repeat (3)\n        next costume\n        wait (.1) seconds\n    end\nend\n\nwhen I receive [cutscene 1 v]\n\nwait (.6) seconds\nglide (2) secs to x: (297) y: (-111)\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [play game v]\nhide\nforever\n    if <<<<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> or <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>>> and <not <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>>>> and <(AIR) = [0]>> then\n        play sound (pick random (1) to (4)) until done\n    end\nend\n\n@game states\n\nwhen flag clicked\nhide\nset [hardcore? v] to [NO]\nswitch costume to (hardcore fail v)\n\nwhen I receive [hardcore fail v]\nswitch backdrop to (space v)\nswitch costume to (hardcore fail v)\ngo to [front v] layer\nshow\nwait (8) seconds\nbroadcast (transition v)\nbroadcast (Reset v)\nbroadcast (quit v) and wait\nbroadcast (menu v)\nset [hardcore? v] to [NO]\nhide\n\nwhen I receive [hardcore fail v]\nwait (1) seconds\nwait until <key (space v) pressed?>\nbroadcast (transition v)\nbroadcast (Reset v)\nbroadcast (quit v) and wait\nbroadcast (menu v)\nset [hardcore? v] to [NO]\nhide\n\nwhen I receive [wr ani v]\nswitch backdrop to (space v)\nswitch costume to (wr v)\ngo to [front v] layer\nshow\nwait (15) seconds\nbroadcast (transition v)\nbroadcast (quit v) and wait\nbroadcast (menu v)\nhide\n\nbroadcast (transition v)\nbroadcast (Reset v)\nbroadcast (quit v) and wait\nbroadcast (menu v)\nset [hardcore? v] to [NO]\nhide\n\n@transition\n\nwhen I receive [transition v]\ngo to [front v] layer\nshow\nclear graphic effects\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nswitch costume to (1 v)\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nhide\nclear graphic effects\n\nwhen I receive [long transistion v]\nchange [ghost v] effect by (100)\nshow\nrepeat (25)\n    change [ghost v] effect by (-5)\nend\nwait (2) seconds\nrepeat (25)\n    change [ghost v] effect by (5)\nend\nswitch costume to (1 v)\nhide\nstop [other scripts in sprite v]\ngo to [back v] layer\n\nwhen I receive [transition v]\nforever\n    go to [front v] layer\nend\n\nwhen I receive [long transistion v]\nforever\n    go to [front v] layer\nend\n\n@Player\n\nwhen flag clicked\nset [checkpoint x v] to [0]\nhide\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [play game v]\nset [level v] to [1]\nforever\n    broadcast (Reset v) and wait\n    broadcast (Setip v) and wait\n    Game on\n    repeat until <(EXIT) > []>\n        Tick\n        broadcast (Tick v) and wait\n    end\n    if <(EXIT) = [Win]> then\n        Game - Win\n    else\n        Game - Die\n    end\n    if <touching (front art v)?> then\n        Game - Die\n    end\nend\n\ndefine Game on\nset [y v] to ((Checkpoint Y) + (1))\nset [x v] to ((Checkpoint X) + (1))\nset [speed y v] to [0]\nset [speed x v] to [0]\nset [air v] to [0]\nset [exit v] to []\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset size to (130) %\nclear graphic effects\nshow\n\ndefine Tick\nif <<[admins v] contains (username)?> and <key (space v) pressed?>> then\n    switch costume to (hitbox v)\n    if <key (left arrow v) pressed?> then\n        change [scroll x v] by (-12)\n        change [x v] by (-12)\n    end\n    if <key (right arrow v) pressed?> then\n        if <key (c v) pressed?> then\n            change [scroll x v] by (40)\n            change [x v] by (40)\n        else\n            change [scroll x v] by (12)\n            change [x v] by (12)\n        end\n    end\n    if <key (up arrow v) pressed?> then\n        change [scroll y v] by (12)\n        change [y v] by (12)\n    end\n    if <key (down arrow v) pressed?> then\n        change [scroll y v] by (-12)\n        change [y v] by (-12)\n    end\n    if <(SCROLL Y) < [0]> then\n        set [scroll y v] to [0]\n    end\nelse\n    switch costume to (hitbox v)\n    if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> and <<not <<key (down arrow v) pressed?> or <key (s v) pressed?>>> and <(move) = [yes]>>> then\n        change [speed x v] by (-2)\n        point in direction (-90)\n    end\n    if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>> and <<not <<key (down arrow v) pressed?> or <key (s v) pressed?>>> and <(move) = [yes]>>> then\n        change [speed x v] by (2)\n        point in direction (90)\n    end\n    set [speed x v] to ((Speed x) * (0.8))\n    if <([abs v] of (Speed x) ) > [0.9]> then\n        Change player x by (round (Speed x))\n    end\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> and <<(move) = [yes]> and <not <<key (down arrow v) pressed?> or <key (s v) pressed?>>>>> then\n        if <(AIR) < [5]> then\n            set [speed y v] to [16]\n        end\n    end\n    if <<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> or <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<mouse down?> and <(mouse x) < (x position)>>> or <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<mouse down?> and <(mouse x) > (x position)>>>>> then\n        set [movement buttons v] to [1]\n    else\n        set [movement buttons v] to [0]\n    end\n    if <(Speed y) > [-20]> then\n        change [speed y v] by (-2)\n    end\n    Change player y by (Speed y)\n    Test - Die\n    set [scroll x v] to (x)\n    if <(SCROLL X) < [0]> then\n        set [scroll x v] to [0]\n    end\n    change [scroll y v] by (round (((y) - (SCROLL Y)) / (10)))\n    if <(SCROLL Y) < [0]> then\n        set [scroll y v] to [0]\n    end\n    Position\n    if <<<(y) < [-178]> or <touching (hurt- v)?>> or <key (r v) pressed?>> then\n        start sound [oof v]\n        set [exit v] to [Die]\n    end\n    if <(x) < [0]> then\n        set [x player global v] to (x position)\n    else\n        set [x player global v] to [0]\n    end\n    set [y player global v] to (y position)\n    if <(move) = [yes]> then\n        if <<<<(movement buttons) = [1]> or <mouse down?>> and <(AIR) < [3]>> and <not <(already loved/faved?) = [yes]>>> then\n            change [animatetimervariable v] by (1)\n            set [animateshowsprite v] to (((AnimateShowSprite) + ([floor v] of ((((AnimateTimerVariable) mod (3)) + (1)) / (3)) )) mod (4))\n            switch costume to ((AnimateShowSprite) + (4))\n        else\n            if <not <(already loved/faved?) = [yes]>> then\n                if <(AIR) < [3]> then\n                    set [animateshowsprite v] to [0]\n                    set [animatetimervariable v] to [0]\n                    switch costume to (still v)\n                else\n                    switch costume to (up v)\n                end\n            end\n        end\n        if <<<<(movement buttons) = [1]> or <mouse down?>> and <(AIR) < [3]>> and <(already loved/faved?) = [yes]>> then\n            change [animatetimervariable v] by (1)\n            set [animateshowsprite v] to (((AnimateShowSprite) + ([floor v] of ((((AnimateTimerVariable) mod (3)) + (1)) / (3)) )) mod (4))\n            switch costume to ((AnimateShowSprite) + (10))\n        else\n            if <(already loved/faved?) = [yes]> then\n                if <(AIR) < [3]> then\n                    set [animateshowsprite v] to [0]\n                    set [animatetimervariable v] to [0]\n                    switch costume to (still skin v)\n                else\n                    switch costume to (up2 v)\n                end\n            end\n        end\n        if <(already loved/faved?) = [yes]> then\n            change [color v] effect by (1)\n        end\n    else\n        switch costume to (still v)\n    end\n    if <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n        switch costume to (duck v)\n    end\nend\n\ndefine Change player y by (sy)\nchange [y v] by (sy)\nchange [air v] by (1)\nPosition\nrepeat until <not <touching (platforms v)?>>\n    if <(sy) > [0]> then\n        change [y v] by (-1)\n    else\n        change [y v] by (1)\n        set [air v] to [0]\n    end\n    Position\n    set [speed y v] to [0]\nend\n\ndefine Position\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\n\ndefine Change player x by (sx)\nchange [x v] by (sx)\nPosition\nif <touching (platforms v)?> then\n    repeat (12)\n        change [y v] by (1)\n        Position\n        if <not <touching (platforms v)?>> then\n            stop [this script v]\n        end\n    end\n    change [y v] by (-12)\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<mouse down?> and <(mouse y) > (y position)>>> then\n        if <(sx) > [0]> then\n            set [speed x v] to [-16]\n        else\n            set [speed x v] to [16]\n        end\n        set [air v] to [0]\n    else\n        set [speed x v] to [0]\n    end\n    repeat until <not <touching (platforms v)?>>\n        if <(sx) > [0]> then\n            change [x v] by (-1)\n        else\n            change [x v] by (1)\n        end\n        Position\n    end\nend\n\ndefine Game - Die\nif <not <(HARDCORE?) = [yes]>> then\n    set [exit v] to []\n    hide\nelse\n    broadcast (hardcore fail v)\n    broadcast (transition v)\n    stop [other scripts in sprite v]\n    hide\nend\n\ndefine Game - Win\nwait (1) seconds\nhide\n\ndefine Test - Die\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [menu v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [play game v]\nswitch backdrop to (blackhole v)\nset [checkpoint x v] to [0]\nset [checkpoint y v] to [0]\nwait (4) seconds\nwait until <<(LEVEL) = [1]> and <(SCROLL X) > [4741]>>\nset [checkpoint x v] to [4741]\nset [checkpoint y v] to [160]\nwait until <<(LEVEL) = [1]> and <(SCROLL X) > [7781]>>\nbroadcast (pad text v) and wait\nwait until <<(LEVEL) = [1]> and <(SCROLL X) > [9035]>>\nswitch backdrop to (cave  v)\nswitch costume to (still v)\nset [checkpoint y v] to [0]\nset [checkpoint x v] to [0]\nset [level v] to [2]\nset [exit v] to [Win]\nbroadcast (transition v) and wait\nwait (1.5) seconds\nbroadcast (level 2 v)\nwait until <<(LEVEL) = [2]> and <(SCROLL X) > [4200]>>\nset [checkpoint x v] to [4321]\nset [checkpoint y v] to [140]\nwait until <<(LEVEL) = [2]> and <(SCROLL X) > [7000]>>\nset [checkpoint x v] to [7401]\nwait until <<(LEVEL) = [2]> and <(SCROLL X) > [8300]>>\nswitch backdrop to (blackhole v)\nswitch costume to (still v)\nset [checkpoint x v] to [0]\nset [level v] to [3]\nset [exit v] to [Win]\nbroadcast (transition v) and wait\nwait (1.5) seconds\nbroadcast (level 3 v)\nwait until <<(LEVEL) = [3]> and <(SCROLL X) > [950]>>\nswitch backdrop to (blackhole v)\nswitch costume to (still v)\nbroadcast (transition v)\nwait (.5) seconds\nbroadcast (cutscene 2 v)\n\nswitch backdrop to (cave  v)\nswitch costume to (still v)\nset [level v] to [2]\nset [exit v] to [Win]\nbroadcast (transition v) and wait\nwait (1.5) seconds\nbroadcast (level 2 v)\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nstop [other scripts in sprite v]\nhide\nbroadcast (Screen Shake v)\nbroadcast (Reset v)\n\nset [checkpoint y v] to [140]\n\nset [checkpoint x v] to [4741]\n\nset [checkpoint y v] to [140]\n\nset [checkpoint x v] to [4321]\n\n@Platforms\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setip v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    switch backdrop to (blackhole v)\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (2 1 v)\n        switch backdrop to (cave  v)\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (3 1 v)\n            switch backdrop to (blackhole close v)\n            Clone at x: [480] y: [0]\n            Clone at x: [480] y: [0]\n        end\n    end\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen flag clicked\nset [checkpoint x v] to [0]\ngo [forward v] (10000) layers\nset [ghost v] effect to (100)\n\nwhen I receive [play game v]\n\nwait (5) seconds\nwait until <(SCROLL X) > [5784]>\nset [checkpoint x v] to [5784]\nwait until <(SCROLL X) > [11249]>\nstop [other scripts in sprite v]\nbroadcast (transition v)\nwait (.5) seconds\nbroadcast (cutscene 2 v)\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen I receive [hardcore fail v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nclear graphic effects\n\n@FRONT Art\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setip v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (2 1 v)\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (3 1 v)\n            Clone at x: [480] y: [0]\n            Clone at x: [480] y: [0]\n        end\n    end\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen I receive [hardcore fail v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\n@HURT-\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setip v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (2 1 v)\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (3 1 v)\n            Clone at x: [480] y: [0]\n            Clone at x: [480] y: [0]\n        end\n    end\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\ngo to [front v] layer\n\nwhen I receive [hardcore fail v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen flag clicked\ngo [forward v] (10000) layers\nset [ghost v] effect to (100)\n\n@BACK ART\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nif <<(LEVEL) = [1]> or <(LEVEL) = [3]>> then\n    Position ((x) - ((SCROLL X) * (.1))) ((y) - ((SCROLL Y) * (.1)))\nend\n\nwhen I receive [setip v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nelse\n    if <(LEVEL) = [2]> then\n        switch costume to (2 1 v)\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n        Clone at x: [480] y: [0]\n    else\n        if <(LEVEL) = [3]> then\n            switch costume to (3 1 v)\n            Clone at x: [480] y: [0]\n        end\n    end\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\ngo to [back v] layer\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen I receive [hardcore fail v]\nstop [other scripts in sprite v]\nhide\n\ndelete this clone\n\nwhen I receive [hardcore fail v]\n\nwhen I receive [tick v]\nif <(LEVEL) = [2]> then\n    Position ((x) - (SCROLL X)) ((y) - (SCROLL Y))\nend\n\n@backnorm Art\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setip v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen I receive [hardcore fail v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\ngo [backward v] (99) layers\n\n@artartback\n\nwhen I receive [green flag v]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - ((SCROLL X) * (.5))) ((y) - ((SCROLL Y) * (.5)))\n\nwhen I receive [setip v]\nhide\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (1 1 v)\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\n    Clone at x: [480] y: [0]\nelse\n    hide\n    delete this clone\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\ngo to [front v] layer\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\nnext costume\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen I receive [hardcore fail v]\nstop [other scripts in sprite v]\nhide\n\ndelete this clone\n\nwhen I receive [hardcore fail v]\n\n@robo\n\nwhen I receive [green flag v]\nset [robo1 talked? v] to [0]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setip v]\nhide\nset size to (100) %\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [1]> then\n    switch costume to (empty v)\n    Clone at x: [480] y: [-89]\nelse\n    hide\n    delete this clone\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen I receive [hardcore fail v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen I start as a clone\nshow\nswitch costume to (1 v)\npoint in direction (90)\nset [y v] to [230]\nset [x v] to [1854]\nif <not <(robo1 talked?) = [1]>> then\n    forever\n        point in direction (90)\n        repeat (250)\n            change [x v] by (1)\n        end\n        wait (pick random (1) to (3)) seconds\n        point in direction (-90)\n        repeat (250)\n            change [x v] by (-1)\n        end\n        wait (pick random (1) to (3)) seconds\n    end\nend\n\nwhen I start as a clone\nif <(robo1 talked?) = [1]> then\n    point towards (player v)\n    switch costume to (2 v)\nelse\n    wait (5) seconds\n    wait until <touching (player v)?>\n    set [robo1 talked? v] to [1]\n    stop [other scripts in sprite v]\n    point towards (player v)\n    broadcast (robot text v) and wait\n    point in direction (90)\n    switch costume to (2 v)\nend\n\nif <(robo talk2) = [1]> then\n    point towards (player v)\n    switch costume to (2 v)\nelse\nend\n\nif <not <(robo talk2) = [1]>> then\nend\n\n@robo2\n\nwhen I receive [green flag v]\nset [robo talk2 v] to [0]\nhide\n\nwhen I receive [tick v]\nPosition ((x) - (SCROLL X)) ((y) - (SCROLL Y))\n\nwhen I receive [setip v]\nhide\nset size to (100) %\nset [x v] to [0]\nset [y v] to [0]\nif <(LEVEL) = [2]> then\n    switch costume to (empty v)\n    Clone at x: [480] y: [-89]\nelse\n    hide\n    delete this clone\nend\n\ndefine Position (x) (y)\ngo to x: (x) y: (y)\nif <<(x) = (x position)> and <(y) = (y position)>> then\n    show\nelse\n    hide\nend\n\nwhen I receive [reset v]\ndelete this clone\n\ndefine Clone at x: (x) y: (y)\ncreate clone of (_myself_ v)\nchange [x v] by (x)\nchange [y v] by (y)\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen I receive [hardcore fail v]\nstop [other scripts in sprite v]\nhide\ndelete this clone\n\nwhen I start as a clone\nshow\nswitch costume to (1 v)\npoint in direction (90)\nset [y v] to [-50]\nset [x v] to [6912]\nif <not <(robo talk2) = [1]>> then\n    forever\n        point in direction (90)\n        repeat (250)\n            change [x v] by (1)\n        end\n        wait (pick random (1) to (3)) seconds\n        point in direction (-90)\n        repeat (250)\n            change [x v] by (-1)\n        end\n        wait (pick random (1) to (3)) seconds\n    end\nend\n\nwhen I start as a clone\nif <(robo talk2) = [1]> then\n    point towards (player v)\n    switch costume to (2 v)\nelse\n    wait (5) seconds\n    wait until <touching (player v)?>\n    set [robo1 talked? v] to [1]\n    stop [other scripts in sprite v]\n    point towards (player v)\n    broadcast (robo text 2 v) and wait\n    point in direction (90)\n    switch costume to (2 v)\nend\n\n@thumbnail\n\nwhen flag clicked\nhide\n\nwhen I receive [thumbnail v]\nhide variable [time v]\nhide variable [☁ wr v]\ngo to [front v] layer\ngo to x: (0) y: (200)\nset [brightness v] effect to (45)\nswitch costume to (thumb current v)\nshow\nrepeat (45)\n    change y by (((0) - (y position)) / (7))\n    change [brightness v] effect by (-1)\nend\n\n@intro\n\nwhen flag clicked\n\nwhen flag clicked\nwait (.3) seconds\nwait until <key (any v) pressed?>\nstop [other scripts in sprite v]\nstop all sounds\nbroadcast (transition v)\nhide\nbroadcast (menu v)\n\nswitch costume to (me presents v)\nwait (3) seconds\nswitch costume to (me presents2 v)\nwait (1) seconds\n\nset [level v] to [3]\nset [exit v] to [Win]\nbroadcast (transition v) and wait\nwait (1.5) seconds\nbroadcast (level 3 v)\n\nwhen flag clicked\nbroadcast (Green Flag v)\nshow\nstart sound [sound v]\nswitch backdrop to (space v)\nswitch costume to (first - normal v)\nwait (1) seconds\nrepeat (2)\n    next costume\n    wait (.1) seconds\nend\nstart sound [up v]\nwait (.5) seconds\nstart sound [upup v]\nrepeat (4)\n    next costume\n    wait (.07) seconds\nend\nrepeat (4)\n    next costume\n    wait (.07) seconds\nend\nstart sound [land v]\nnext costume\nwait (2) seconds\nbroadcast (transition v)\nswitch costume to (last gone v)\nwait (3) seconds\nbroadcast (long transistion v)\nwait (1) seconds\nhide\nwait (1.1) seconds\nstop all sounds\nstop [other scripts in sprite v]\nbroadcast (menu v)\n\nhide\nbroadcast (quit v)\nbroadcast (start brodcast v)\nwait (1) seconds\nrepeat (10)\n    broadcast (quit v)\nend\nswitch costume to (still v)\nset [level v] to [2]\nset [exit v] to [Win]\nbroadcast (transition v) and wait\nwait (1.5) seconds\nbroadcast (level 2 v)\n\n@creds\n\nwhen flag clicked\nhide\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nswitch costume to (text 1 v)\n\nwhen I receive [creds v]\nshow\nset [ghost v] effect to (100)\ngo to [front v] layer\ngo to [front v] layer\nswitch costume to (text v)\ngo to x: (0) y: (0)\nwait (3) seconds\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (2) seconds\nrepeat (1800)\n    change y by (1)\nend\nwait (.9) seconds\nstop [other scripts in sprite v]\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nswitch costume to (me v)\ngo to x: (0) y: (0)\nwait (.9) seconds\nrepeat (50)\n    change [ghost v] effect by (-2)\nend\nwait (1.3) seconds\nrepeat (50)\n    change [ghost v] effect by (2)\nend\nhide\nif <(stars) = [0]> then\n    set [stars v] to [1]\nend\nif <(HARDCORE?) = [YES]> then\n    set [stars v] to [2]\nend\nstop [other scripts in sprite v]\nstop all sounds\nbroadcast (transition v)\nbroadcast (quit v) and wait\nbroadcast (menu v)\n\nwhen I receive [creds v]\nforever\n    switch costume to (text 1 v)\n    wait (.6) seconds\n    switch costume to (text 2 v)\n    wait (.6) seconds\nend\n\nwhen I receive [wr ani v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [creds v]\nforever\n    play sound [music v] until done\nend\n\n@game 2\n\n@TIMER\n\nwhen flag clicked\nset [win? v] to [no]\nset [time v] to [0]\nhide variable [time v]\nhide variable [☁ wr v]\nhide\nif <(☁ WR) = [0]> then\n    set [☁ wr v] to [300]\nend\n\nwhen I receive [play game v]\nshow variable [time v]\nset [time v] to [0]\nset [win? v] to [no]\nhide variable [☁ wr v]\nwait (1) seconds\nset [time v] to [0]\nforever\n    repeat until <(Win?) = [yes]>\n        change [time v] by (1)\n        wait (1) seconds\n    end\n    stop [this script v]\nend\n\nwhen I receive [cutscene 2 v]\nset [win? v] to [yes]\nshow variable [☁ wr v]\n\nwhen I receive [creds v]\nif <(time) < (☁ WR)> then\n    set [☁ wr v] to (time)\n    broadcast (WR ANI v)\nend\n\nwhen I receive [menu v]\nset [win? v] to [no]\nhide variable [☁ wr v]\nhide variable [time v]\n\n@Sprite1\n\n@dialouge\n\ndefine Text: (string) Character: (char) Bubble Type: (bubble) Character Dark?: (dark)\nbroadcast (delete text v)\nset [dark chracter v] to (dark)\nset [bubble type v] to (bubble)\nset [clone type v] to [bubble]\ncreate clone of (_myself_ v)\nset [character v] to (char)\nset [clone type v] to [char]\ncreate clone of (_myself_ v)\nset [clone type v] to [text]\ngo to x: (-200) y: (-80)\nset [letter v] to [1]\nrepeat (length of (string))\n    hide\n    if <not <(letter (letter) of (string)) = [ ]>> then\n        start sound [text v]\n        switch costume to (letter (letter) of (string))\n        create clone of (_myself_ v)\n        change x by (12)\n    else\n        start sound [text v]\n        switch costume to (  v)\n        create clone of (_myself_ v)\n        change x by (12)\n    end\n    change [letter v] by (1)\n    wait (0) seconds\n    if <(x position) > [200]> then\n        set x to (-200)\n        change y by (-20)\n    end\nend\nwait until <not <<key (any v) pressed?> or <mouse down?>>>\nwait until <<key (any v) pressed?> or <mouse down?>>\nwait until <not <<key (any v) pressed?> or <mouse down?>>>\nstart sound [Click v]\nbroadcast (delete text v)\n\nwhen I start as a clone\ngo to [front v] layer\nshow\n\nwhen I receive [delete text v]\ndelete this clone\n\nwhen I start as a clone\nclear graphic effects\ngo to [front v] layer\nshow\nif <(clone type) = [bubble]> then\n    set size to (100) %\n    clear graphic effects\n    go to x: (0) y: (-115)\n    switch costume to (bubble type)\n    if <(bubble type) = [textbox4]> then\n        forever\n            set [pixelate v] effect to (pick random (0) to (50))\n        end\n    end\nend\nif <(clone type) = [char]> then\n    set size to (100) %\n    go [backward v] (1) layers\n    clear graphic effects\n    if <(Dark chracter) = [1]> then\n        set [brightness v] effect to (-100)\n    end\n    switch costume to (character)\n    go to x: (-150) y: (-5)\n    glide (0.1) secs to x: (-141) y: (-5)\n    if <(bubble type) = [textbox4]> then\n        forever\n            set [pixelate v] effect to (pick random (0) to (50))\n        end\n    end\nend\nif <(clone type) = [text]> then\n    set size to (80) %\n    if <(bubble type) = [textbox4]> then\n        forever\n            set [pixelate v] effect to (pick random (0) to (50))\n        end\n    end\nend\n\nwhen I receive [play game v]\nset [move v] to [no]\nwait (1) seconds\nText: [huh, that was weird] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [I need to find a way to get out of here] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nset [move v] to [yes]\n\nwhen I receive [level 2 v]\nset [move v] to [no]\nText: [UGH, all this running is making me tired] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [I need to find a ship or something that can get me back to earth] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [Where is the exit to this cave anyways?] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nset [move v] to [yes]\n\nif <<key (any v) pressed?> or <mouse down?>> then\n    wait until <not <<key (any v) pressed?> or <mouse down?>>>\n    stop [this script v]\nend\n\nwhen I receive [level 3 v]\nset [move v] to [no]\nText: [The blackhole seems to be getting closer] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [I need to leave, NOW] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nset [move v] to [yes]\n\nwhen I receive [robot text v]\nset [move v] to [no]\nText: [hello I guess?] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [THE WORLD IS ENDING] Character: [robo] Bubble Type: [textbox1] Character Dark?: []\nText: [ALL CIVILIANS MUST EVACUATE] Character: [robo] Bubble Type: [textbox1] Character Dark?: []\nText: [THE NEIGHBORING BLACKHOLE WILL ENGULF THE PLANET IN 832 YEARS] Character: [robo] Bubble Type: [textbox1] Character Dark?: []\nText: [huh, the robot looks pretty old] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [wait a minute...] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [how long ago was this message sent?!?!] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [NEXT EMERGENCY VEHICLE WILL BE SENT IN -832 YEARS] Character: [robo] Bubble Type: [textbox1] Character Dark?: []\nText: [oh no...] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nset [move v] to [yes]\n\nwhen I receive [pad text v]\nset [move v] to [no]\nText: [This must be the where the escape vehicles took off] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nset [move v] to [yes]\n\nwhen I receive [robo text 2 v]\nset [move v] to [no]\nText: [HELLO I AM HELPER ROBOT \[441\]] Character: [robo] Bubble Type: [textbox1] Character Dark?: []\nText: [oh another one of you?] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [HOW CAN I HELP YOU TODAY?] Character: [robo] Bubble Type: [textbox1] Character Dark?: []\nText: [what happened to the civilization that was evacuated from this planet? ] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [832 YEARS AGO A BLACKHOLE WAS DETECTED TO BE APPROACHING THIS PLANET ] Character: [robo] Bubble Type: [textbox1] Character Dark?: []\nText: [DUE TO THIS THE INTERGLACIAL INTELLIGENCE CIVILIZATION EVACUATED THE PLANET] Character: [robo] Bubble Type: [textbox1] Character Dark?: []\nText: [huh, thats interesting...] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [how much longer till the blackhole engulfs this planet?] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [PLANET BLACKHOLE DETECTION SYSTEM IS OFFLINE] Character: [robo] Bubble Type: [textbox1] Character Dark?: []\nText: [oh] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nText: [THERE IS 1 MORE EVACUATION SHIP AVAILABLE, LOCATION ESTIMATED 300 METERS FROM THIS CURRENT LOCATION ] Character: [robo] Bubble Type: [textbox1] Character Dark?: []\nText: [looks like I will have to run for a little longer] Character: [astronout] Bubble Type: [textbox1] Character Dark?: []\nset [move v] to [yes]\n\nset [move v] to [yes]\n\n@Sprite2\n\nwhen I receive [tick v]\nif <<<(LEVEL) = [1]> or <(LEVEL) = [2]>> and <not <(move) = [no]>>> then\n    go to [front v] layer\n    point in direction (SCROLL Y)\nend\n\nwhen flag clicked\ngo to [front v] layer\npoint in direction (90)\nset size to (150) %\nhide\n\nwhen I receive [play game v]\nswitch costume to (rod v)\ngo to x: (-153) y: (118)\nshow\ngo to [front v] layer\n\ngo to x: (175) y: (-107)\n\nforever\n    go to [front v] layer\n    point in direction (SCROLL Y)\nend\n\nswitch costume to (rod v)\ngo to x: (175) y: (-107)\n\ngo to [front v] layer\n\nchange [scroll y v] by (1)\n\nwhen I receive [tick v]\nif <<(LEVEL) = [3]> and <not <(move) = [no]>>> then\n    go to [front v] layer\n    turn right ((25) + (SCROLL Y)) degrees\nend\n\nwhen I receive [cutscene 2 v]\nstop [other scripts in sprite v]\nhide\n\nwhen I receive [menu v]\nstop [other scripts in sprite v]\nhide\n\n@Sprite3\n\nwhen flag clicked\ngo to [front v] layer\npoint in direction (90)\nset size to (150) %\nhide\n\nwhen I receive [play game v]\nswitch costume to (knob v)\ngo to [front v] layer\npoint in direction (90)\ngo to x: (-153) y: (118)\nshow\n\nwhen I receive [cutscene 2 v]\nhide\n\nwhen I receive [menu v]\nstop [other scripts in sprite v]\nhide\n\n@hand\n\nwhen I start as a clone\nbroadcast (clock v)\ngo to [front v] layer\nshow\nswitch costume to (spin boi v)\npoint in direction (78)\ngo to x: (43) y: (19)\nrepeat (200)\n    turn right (30) degrees\nend\nrepeat until <(direction) = [78]>\n    turn right (30) degrees\nend\ndelete this clone\n\nwhen flag clicked\n\ndefine Screen Shake | strengthX (strengthx) strengthY (strengthy) interval (interval) duration (duration)\nset [_screenshake_starttime v] to (timer)\nset [screenshake_x v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthx))\nset [screenshake_y v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthy))\nset [_screenshake_lasttime v] to (timer)\nrepeat until <(timer) > ((_screenShake_startTime) + (duration))>\n    wait ((interval) - ((timer) - (_screenShake_lastTime))) seconds\n    set [_screenshake_fraction v] to ((1) - (((timer) - (_screenShake_startTime)) / (duration)))\n    set [screenshake_x v] to ((((ScreenShake_X) / ([abs v] of (ScreenShake_X) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthx))))\n    set [screenshake_y v] to ((((ScreenShake_Y) / ([abs v] of (ScreenShake_Y) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthy))))\n    set [_screenshake_lasttime v] to (timer)\nend\nset [screenshake_x v] to [0]\nset [screenshake_y v] to [0]\n\ndefine Move with ScreenShake | amount (0 to 1) (amount)\nforever\n    change x by (((_lastSCX) * (-1)) * (amount))\n    change y by (((_lastSCY) * (-1)) * (amount))\n    set [_lastscx v] to (ScreenShake_X)\n    set [_lastscy v] to (ScreenShake_Y)\n    change x by ((_lastSCX) * (amount))\n    change y by ((_lastSCY) * (amount))\nend\n\nwhen I receive [screen shake v]\nMove with ScreenShake | amount (0 to 1) [1]\n\nwhen I receive [long transistion v]\nwait (1) seconds\nhide\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [end clone v]\ndelete this clone\n\nwhen I receive [cutscene 2 v]\nshow\ngo to [front v] layer\nswitch costume to (hand grab v)\nset size to (130) %\ngo to x: (0) y: (-400)\npoint in direction (150)\nwait (1) seconds\nrepeat (20)\n    change y by (6)\n    turn left (3) degrees\nend\ncreate clone of (_myself_ v)\nswitch costume to (hand nohand v)\nwait (5) seconds\nbroadcast (end clone v)\ngo to [front v] layer\nswitch costume to (hand grab v)\nwait (1) seconds\nrepeat (15)\n    change y by (-20)\n    turn right (3) degrees\nend\nhide\nbroadcast (END v)\nbroadcast (long transistion v) and wait\n\nwhen I receive [clock v]\nplay sound [Clock Ticking v] until done\n\nwhen flag clicked\nhide\n\n@ground\n\nwhen flag clicked\n\nwhen I start as a clone\nif <(id) = [1]> then\n    show\n    switch costume to (blackhole v)\n    go to x: (-180) y: (120)\n    point in direction (90)\n    switch costume to (size v)\n    set size to (80) %\n    switch costume to (blackhole v)\n    forever\n        switch costume to (size v)\n        change size by (.2)\n        turn right (.1) degrees\n        change x by (.1)\n        switch costume to (blackhole v)\n    end\nend\nif <(id) = [2]> then\n    show\n    switch costume to (ground v)\n    set size to (100) %\n    go to x: (0) y: (0)\n    point in direction (90)\nend\n\ndefine Move with ScreenShake | amount (0 to 1) (amount)\nforever\n    change x by (((_lastSCX) * (-1)) * (amount))\n    change y by (((_lastSCY) * (-1)) * (amount))\n    set [_lastscx v] to (ScreenShake_X)\n    set [_lastscy v] to (ScreenShake_Y)\n    change x by ((_lastSCX) * (amount))\n    change y by ((_lastSCY) * (amount))\nend\n\ndefine Screen Shake | strengthX (strengthx) strengthY (strengthy) interval (interval) duration (duration)\nset [_screenshake_starttime v] to (timer)\nset [screenshake_x v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthx))\nset [screenshake_y v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthy))\nset [_screenshake_lasttime v] to (timer)\nrepeat until <(timer) > ((_screenShake_startTime) + (duration))>\n    wait ((interval) - ((timer) - (_screenShake_lastTime))) seconds\n    set [_screenshake_fraction v] to ((1) - (((timer) - (_screenShake_startTime)) / (duration)))\n    set [screenshake_x v] to ((((ScreenShake_X) / ([abs v] of (ScreenShake_X) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthx))))\n    set [screenshake_y v] to ((((ScreenShake_Y) / ([abs v] of (ScreenShake_Y) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthy))))\n    set [_screenshake_lasttime v] to (timer)\nend\nset [screenshake_x v] to [0]\nset [screenshake_y v] to [0]\n\nwhen I receive [screen shake v]\nMove with ScreenShake | amount (0 to 1) [1]\n\nswitch costume to (blackhole v)\n\nwhen flag clicked\nrepeat (10)\n    go to [back v] layer\nend\n\nwhen I receive [long transistion v]\nwait (1) seconds\nhide\nstop [other scripts in sprite v]\ndelete this clone\n\nwhen I receive [cutscene 2 v]\nshow\nset [id v] to [1]\ncreate clone of (_myself_ v)\nset [id v] to [2]\ncreate clone of (_myself_ v)\n\nwhen I receive [cutscene 2 v]\nbroadcast (Screen Shake v)\n\nwhen flag clicked\nhide\n\nwhen I receive [cutscene 2 v]\nwait (.1) seconds\nstart sound [rummble v]\n\n@Screen Shake\n\nwhen flag clicked\nset [screenshake_x v] to [0]\nset [screenshake_y v] to [0]\n\ndefine Screen Shake | strengthX (strengthx) strengthY (strengthy) interval (interval) duration (duration)\nset [_screenshake_starttime v] to (timer)\nset [screenshake_x v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthx))\nset [screenshake_y v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthy))\nset [_screenshake_lasttime v] to (timer)\nrepeat until <(timer) > ((_screenShake_startTime) + (duration))>\n    wait ((interval) - ((timer) - (_screenShake_lastTime))) seconds\n    set [_screenshake_fraction v] to ((1) - (((timer) - (_screenShake_startTime)) / (duration)))\n    set [screenshake_x v] to ((((ScreenShake_X) / ([abs v] of (ScreenShake_X) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthx))))\n    set [screenshake_y v] to ((((ScreenShake_Y) / ([abs v] of (ScreenShake_Y) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthy))))\n    set [_screenshake_lasttime v] to (timer)\nend\nset [screenshake_x v] to [0]\nset [screenshake_y v] to [0]\n\ndefine Move with ScreenShake | amount (0 to 1) (amount)\nforever\n    change x by (((_lastSCX) * (-1)) * (amount))\n    change y by (((_lastSCY) * (-1)) * (amount))\n    set [_lastscx v] to (ScreenShake_X)\n    set [_lastscy v] to (ScreenShake_Y)\n    change x by ((_lastSCX) * (amount))\n    change y by ((_lastSCY) * (amount))\nend\n\nwhen I receive [screen shake v]\nScreen Shake | strengthX [1] strengthY [1] interval [.02] duration [99]\nMove with ScreenShake | amount (0 to 1) [0]\n\n@cutscene 2\n\nwhen flag clicked\nhide\nclear graphic effects\nset size to (100) %\npoint in direction (90)\ngo to x: (0) y: (0)\nswitch costume to (blackhole v)\n\nwhen I receive [cutscene final v]\nshow\nclear graphic effects\nswitch costume to (size v)\nset size to (100) %\npoint in direction (90)\ngo to x: (0) y: (0)\nwait (1) seconds\nswitch costume to (blackhole v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\ncreate clone of (_myself_ v)\nrepeat (320)\n    switch costume to (size v)\n    change size by (.5)\n    switch costume to (blackhole v)\n    turn right (.1) degrees\nend\nbroadcast (long transistion v)\nwait (1) seconds\nstop [other scripts in sprite v]\nhide\nbroadcast (finalest cutscene v)\n\nhide\n\nset [whirl v] effect to (0)\n\nwhen I start as a clone\nshow\nclear graphic effects\nswitch costume to (size v)\ngo to x: (0) y: (0)\ngo to [front v] layer\nset size to (200) %\nswitch costume to (planet v)\nrepeat (300)\n    move (pick random (1) to (-1)) steps\n    point in direction (pick random (0) to (360))\n    change [whirl v] effect by (10)\n    change size by (-.7)\nend\nrepeat (10)\n    move (pick random (1) to (-1)) steps\n    point in direction (pick random (0) to (360))\n    change [whirl v] effect by (10)\n    change size by (-.7)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nbroadcast (cutscene final v)\nbroadcast (Screen Shake v)\n\ndefine Screen Shake | strengthX (strengthx) strengthY (strengthy) interval (interval) duration (duration)\nset [_screenshake_starttime v] to (timer)\nset [screenshake_x v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthx))\nset [screenshake_y v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthy))\nset [_screenshake_lasttime v] to (timer)\nrepeat until <(timer) > ((_screenShake_startTime) + (duration))>\n    wait ((interval) - ((timer) - (_screenShake_lastTime))) seconds\n    set [_screenshake_fraction v] to ((1) - (((timer) - (_screenShake_startTime)) / (duration)))\n    set [screenshake_x v] to ((((ScreenShake_X) / ([abs v] of (ScreenShake_X) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthx))))\n    set [screenshake_y v] to ((((ScreenShake_Y) / ([abs v] of (ScreenShake_Y) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthy))))\n    set [_screenshake_lasttime v] to (timer)\nend\nset [screenshake_x v] to [0]\nset [screenshake_y v] to [0]\n\ndefine Move with ScreenShake | amount (0 to 1) (amount)\nforever\n    change x by (((_lastSCX) * (-1)) * (amount))\n    change y by (((_lastSCY) * (-1)) * (amount))\n    set [_lastscx v] to (ScreenShake_X)\n    set [_lastscy v] to (ScreenShake_Y)\n    change x by ((_lastSCX) * (amount))\n    change y by ((_lastSCY) * (amount))\nend\n\nwhen I receive [screen shake v]\nMove with ScreenShake | amount (0 to 1) [1]\n\n@animation space\n\nwhen I start as a clone\nif <(id) = [3]> then\n    go to [front v] layer\n    switch costume to (clone v)\n    go to x: (pick random (-125) to (125)) y: (pick random (-150) to (-50))\n    set size to (500) %\n    set [ghost v] effect to (50)\n    repeat (15)\n        change size by (4)\n    end\n    repeat (200)\n        change [ghost v] effect by (.5)\n    end\n    delete this clone\nend\n\nwhen I receive [clone delete v]\nrepeat (10)\n    change [ghost v] effect by (10)\nend\ndelete this clone\n\nwhen I receive [end v]\nwait (1) seconds\nshow\nwait (1) seconds\nclear graphic effects\nswitch costume to (1 v)\nset size to (100) %\ngo to x: (0) y: (0)\nset [id v] to [1]\ncreate clone of (_myself_ v)\nset [id v] to [2]\ncreate clone of (_myself_ v)\nset [id v] to [3]\nrepeat (8)\n    go to [front v] layer\n    show\n    create clone of (_myself_ v)\n    change y by (my variable)\n    wait (0.01) seconds\n    create clone of (_myself_ v)\n    change x by ((my variable) * (-1))\n    wait (0.01) seconds\n    create clone of (_myself_ v)\n    change y by ((my variable) * (-1))\n    wait (0.01) seconds\n    create clone of (_myself_ v)\n    change x by (my variable)\n    wait (0.01) seconds\n    create clone of (_myself_ v)\n    change y by ((my variable) * (-1))\n    wait (0.01) seconds\n    create clone of (_myself_ v)\n    change x by (my variable)\n    wait (0.01) seconds\n    create clone of (_myself_ v)\n    change y by (my variable)\n    wait (0.01) seconds\n    create clone of (_myself_ v)\n    change x by ((my variable) * (-1))\n    wait (0.01) seconds\nend\ngo to x: (0) y: (0)\nrepeat (13)\n    next costume\nend\nhide\nwait (6) seconds\nbroadcast (long transistion v)\nwait (.5) seconds\nbroadcast (clone delete v)\nwait (.5) seconds\nstop [other scripts in sprite v]\nhide\nswitch backdrop to (space v)\nbroadcast (cutscene final v)\ndelete this clone\n\nwhen flag clicked\nhide\nclear graphic effects\nswitch costume to (1 v)\nset size to (100) %\ngo to x: (0) y: (0)\n\nwait (1) seconds\n\nwhen I start as a clone\nif <(id) = [1]> then\n    show\n    clear graphic effects\n    switch costume to (front v)\n    go to [front v] layer\n    set size to (100) %\n    go to x: (0) y: (0)\n    forever\n        show\n        switch costume to (front v)\n        go to [front v] layer\n    end\nend\nif <(id) = [2]> then\n    show\n    clear graphic effects\n    switch costume to (bg v)\n    go to [back v] layer\n    set size to (100) %\n    go to x: (0) y: (0)\nend\n\ndefine Move with ScreenShake | amount (0 to 1) (amount)\nforever\n    change x by (((_lastSCX) * (-1)) * (amount))\n    change y by (((_lastSCY) * (-1)) * (amount))\n    set [_lastscx v] to (ScreenShake_X)\n    set [_lastscy v] to (ScreenShake_Y)\n    change x by ((_lastSCX) * (amount))\n    change y by ((_lastSCY) * (amount))\nend\n\ndefine Screen Shake | strengthX (strengthx) strengthY (strengthy) interval (interval) duration (duration)\nset [_screenshake_starttime v] to (timer)\nset [screenshake_x v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthx))\nset [screenshake_y v] to ((((pick random (0) to (1)) * (2)) - (1)) * (strengthy))\nset [_screenshake_lasttime v] to (timer)\nrepeat until <(timer) > ((_screenShake_startTime) + (duration))>\n    wait ((interval) - ((timer) - (_screenShake_lastTime))) seconds\n    set [_screenshake_fraction v] to ((1) - (((timer) - (_screenShake_startTime)) / (duration)))\n    set [screenshake_x v] to ((((ScreenShake_X) / ([abs v] of (ScreenShake_X) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthx))))\n    set [screenshake_y v] to ((((ScreenShake_Y) / ([abs v] of (ScreenShake_Y) )) * (-1)) * ((_screenShake_fraction) * ((pick random (0.7) to (1.2)) * (strengthy))))\n    set [_screenshake_lasttime v] to (timer)\nend\nset [screenshake_x v] to [0]\nset [screenshake_y v] to [0]\n\nwhen I receive [screen shake v]\nMove with ScreenShake | amount (0 to 1) [1]\n\n@last cut\n\nwhen I start as a clone\nif <(id) = [1]> then\n    show\n    clear graphic effects\n    switch costume to (ship v)\n    set size to (100) %\n    go to x: (0) y: (0)\nend\nif <(id) = [2]> then\n    show\n    clear graphic effects\n    switch costume to (space v)\n    set size to (100) %\n    go to x: (0) y: (0)\n    go to [back v] layer\n    forever\n        turn right (3) degrees\n        change [whirl v] effect by (.1)\n    end\nend\n\nwhen I receive [finalest cutscene v]\nhide\npoint in direction (90)\nclear graphic effects\nswitch costume to (ship v)\nset size to (100) %\ngo to x: (0) y: (0)\nset [id v] to [1]\ncreate clone of (_myself_ v)\nset [id v] to [2]\ncreate clone of (_myself_ v)\ngo to [front v] layer\nswitch costume to (hand v)\npoint in direction (90)\ngo to x: (0) y: (-241)\nwait (5) seconds\nshow\nrepeat (20)\n    change y by (12)\n    turn left (1) degrees\nend\nrepeat (20)\n    change x by (2)\n    turn left (.5) degrees\nend\nwait (3) seconds\nrepeat (20)\n    change y by (-12)\n    turn left (-1) degrees\n    change x by (2)\nend\nhide\nwait (4) seconds\nbroadcast (long transistion v)\nwait (1) seconds\nbroadcast (creds v)\n\nwhen I receive [creds v]\nhide\ndelete this clone\n\n