Powers (A Platformer)

Instructions: 日本語は下。\n\n〈English〉\nWelcome to my platformer!\nClick on the player and it will change color.\nMove with the arrow keys.\nIf you hit a thorn or magma, you will have to start over from the beginning of the stage.\n\n〈日本語〉\nkisanakaのプラットフォーマーへようこそ！\nプラフォ君をクリックすると、色が変わります。\n矢印キーで操作します。\nとげやマグマに触れるとそのステージの最初からやり直しになります。

@Stage\n\nwhen I receive [win v]\nstop [other scripts in sprite v]\n\nwhen flag clicked\n\ndefine Time Check\nif < (time) contains [.]?> then\n\nrepeat until <(join (letter ((length of (time)) - (2)) of (time)) (letter ((length of (time)) - (1)) of (time))) = [.1]>\n    set [time v] to (join (time) [.0])\nend\n\nwhen flag clicked\nset [time v] to [0]\nforever\n    Time Check\nend\n\nwhen flag clicked\nwait until <<key (any v) pressed?> or <mouse down?>>\nreset timer\nbroadcast (start v)\n\nwhen I receive [start v]\nforever\n    wait (0.05) seconds\n    set [time v] to ((round ((timer) * (10))) / (10))\nend\n\nwhen flag clicked\nforever\n    play sound [Wallpaper v] until done\nend\n\n@Ground\n\nwhen flag clicked\nforever\n    switch costume to (Level)\n    if <(Speed X) > [7.5]> then\n        set [speed x v] to [7.5]\n    end\nend\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [win v]\nhide\n\nwhen flag clicked\nshow\n\n@Spikes\n\nwhen flag clicked\nset [level v] to [1]\nforever\n    go to [back v] layer\n    switch costume to (Level)\nend\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\n\nwhen flag clicked\nshow\n\n@Lava/MovingSpikes\n\nwhen flag clicked\ngo to x: (0) y: (15)\nforever\n    switch costume to (Level)\n    go to [back v] layer\n    if <(Level) > [11]> then\n        set [level v] to [11]\n    end\nend\n\nwhen flag clicked\nforever\n    repeat (30)\n        change y by (-0.8)\n    end\n    repeat (30)\n        change y by (0.8)\n    end\nend\n\ngo to [back v] layer\n\nwhen I receive [win v]\nstop [other scripts in sprite v]\n\nwhen flag clicked\nshow\n\n@Thumbnail\n\nwhen flag clicked\nset [turbo? v] to [false]\nforever\n    set [ghost v] effect to (100)\n    go to x: (0) y: (0)\n    go to [front v] layer\n    show\nend\n\nwhen flag clicked\nforever\n    if <(turbo?) = [true]> then\n        switch costume to (costume2 v)\n    else\n        switch costume to (costume7 v)\n    end\nend\n\n@Player Hitbox\n\ndefine Touch ground <up?>\nchange [falling? v] by (1)\nrepeat until <not <<touching (ground v)?> or <touching (moving platforms v)?>>>\n    if <up?> then\n        change y by (-1)\n    else\n        change y by (1)\n        set [falling? v] to [0]\n    end\n    set [speed y v] to [0]\nend\n\nwhen flag clicked\nshow\ngo to x: (-200) y: (0)\nset [speed y v] to [0]\nforever\n    change [speed y v] by (-1)\n    set [speed x v] to ((Speed X) * (0.8))\n    change y by (Speed Y)\n    Touch ground <(Speed Y) > [0]>\n    if <(Walljump) > [0]> then\n        change [walljump v] by (-1.)\n    else\n        if <<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <<(Mobile Yes) = [4]> or <(Mobile Yes) = [5]>>> then\n            change [speed x v] by (1.5)\n        end\n        if <<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <<(Mobile Yes) = [2]> or <(Mobile Yes) = [6]>>> then\n            change [speed x v] by (-1.5)\n        end\n    end\n    if <<<<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <(Mobile Yes) = [6]>> or <<(Mobile Yes) = [1]> or <(Mobile Yes) = [5]>>> and <(falling?) < [3]>> then\n        set [speed y v] to [15]\n    end\n    if <(Speed X) < [-0.5]> then\n        Walk [5] (Speed X)\n    else\n        if <[0.5] < (Speed X)> then\n            Walk [5] (Speed X)\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    if <<touching (lava/movingspikes v)?> or <touching (spikes v)?>> then\n        start sound [Lose v]\n        broadcast (die v)\n    end\nend\n\ndefine Walk (x) (speed)\nchange x by (speed)\nset [slope v] to [0]\nrepeat until <<(slope) = [8]> or <not <<touching (ground v)?> or <touching (moving platforms v)?>>>>\n    change y by (1)\n    change [slope v] by (1)\nend\nif <(slope) = [8]> then\n    change x by ((0) - (speed))\n    change y by ((0) - (slope))\n    if <<<<(Mobile Yes) = [6]> or <<(Mobile Yes) = [1]> or <(Mobile Yes) = [5]>>> or <<key (w v) pressed?> or <key (up arrow v) pressed?>>> and <([abs v] of (speed) ) > [3]>> then\n        if <(Walljump) = [0]> then\n            set [speed x v] to ((-2) * (speed))\n            set [speed y v] to [11]\n            set [falling? v] to [6]\n        else\n            set [speed x v] to [0]\n        end\n    end\nend\n\nwhen flag clicked\nforever\n    set [ghost v] effect to (100)\nend\n\nwhen flag clicked\nforever\n    if <<[230] < (x position)> and <(Level) < [11]>> then\n        change [level v] by (1)\n        set [falling? v] to [0]\n        set [speed y v] to [0]\n        set [speed x v] to [0]\n        set [walljump v] to [0]\n        set [slope v] to [0]\n        go to x: (-200) y: (0)\n    end\nend\n\nwhen flag clicked\nforever\n    if <<[230] < (x position)> and <[10] < (Level)>> then\n        change [level v] by (1)\n        set [falling? v] to [0]\n        set [speed y v] to [0]\n        set [speed x v] to [0]\n        set [walljump v] to [0]\n        set [slope v] to [0]\n        broadcast (win v)\n    end\nend\n\nwhen I receive [win v]\nstop [other scripts in sprite v]\n\nwhen I receive [die v]\ngo to x: (-200) y: (0)\nset [falling? v] to [0]\nset [speed y v] to [0]\nset [speed x v] to [0]\nset [walljump v] to [0]\nset [slope v] to [0]\n\n@Player Costumes\n\nwhen flag clicked\nforever\n    go to (player hitbox v)\nend\n\nwhen flag clicked\nblock name\nforever\n    if <key (up arrow v) pressed?> then\nend\n\nwhen flag clicked\nforever\n    set rotation style [left-right v]\n    if <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<<(Mobile Yes) = [6]> or <(Mobile Yes) = [5]>> or <(Mobile Yes) = [1]>>> then\n        repeat until <<touching (ground v)?> or <touching (moving platforms v)?>>\n            if <(Speed Y) < [0]> then\n                switch costume to (run_j2 v)\n            else\n                switch costume to (run_j1 v)\n            end\n        end\n    else\n        if <<<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <(Mobile Yes) = [4]>> or <(Mobile Yes) = [5]>> and <(Speed Y) = [0]>> then\n            point in direction (90)\n            switch costume to (run_r1 v)\n            repeat until <not <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <(Mobile Yes) = [4]>> or <(Mobile Yes) = [5]>>>\n                next costume\n                if <(costume [number v]) = [22]> then\n                    switch costume to (run_r1 v)\n                end\n            end\n        else\n            if <<<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <(Mobile Yes) = [2]>> or <(Mobile Yes) = [6]>> and <(Speed Y) = [0]>> then\n                point in direction (-90)\n                switch costume to (run_r1 v)\n                repeat until <not <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <(Mobile Yes) = [2]>> or <(Mobile Yes) = [6]>>>\n                    next costume\n                    if <(costume [number v]) = [22]> then\n                        switch costume to (run_r1 v)\n                    end\n                end\n            else\n                if <<not <<key (up arrow v) pressed?> or <key (w v) pressed?>>> and <(Speed Y) = [0]>> then\n                    switch costume to (stand v)\n                end\n            end\n        end\n    end\nend\n\ndefine block name\n\nwhen flag clicked\nforever\n    set rotation style [left-right v]\n    if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n        repeat until <<touching (ground v)?> or <touching (moving platforms v)?>>\n            if <(Speed Y) < [0]> then\n                switch costume to (run_j2 v)\n            else\n                switch costume to (run_j1 v)\n            end\n        end\n    end\nend\n\nswitch costume to (run_r1 v)\nrepeat until <not <key (left arrow v) pressed?>>\n    point in direction (-90)\n    next costume\n    if <(costume [number v]) = [22]> then\n        if <(Speed Y) < [0]> then\n            switch costume to (run_i1 v)\n        else\n            switch costume to (run_j2 v)\n        end\n    end\nend\n\nwhen flag clicked\npoint in direction (90)\n\nwhen flag clicked\nset size to (70) %\nset [ghost v] effect to (0)\n\nwait (1) seconds\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\n\nwhen I receive [win v]\nstop [other scripts in sprite v]\n\nwhen flag clicked\nshow\n\nwhen flag clicked\nforever\n    set rotation style [left-right v]\n    if <<<<key (right arrow v) pressed?> or <key (d v) pressed?>> or <(Mobile Yes) = [4]>> or <(Mobile Yes) = [5]>> then\n        point in direction (90)\n    else\n        if <<<<key (left arrow v) pressed?> or <key (a v) pressed?>> or <(Mobile Yes) = [2]>> or <(Mobile Yes) = [6]>> then\n            point in direction (-90)\n        end\n    end\nend\n\nwhen I receive [rainbow v]\nforever\n    change [color v] effect by (2.5)\nend\n\n@Coins\n\nwhen flag clicked\nhide\nCreate ze Coins / Level No. [1] X Pos: [-100] Y Pos: [-75]\nCreate ze Coins / Level No. [1] X Pos: [0] Y Pos: [-75]\nCreate ze Coins / Level No. [1] X Pos: [100] Y Pos: [-75]\nCreate ze Coins / Level No. [2] X Pos: [-98] Y Pos: [-100]\nCreate ze Coins / Level No. [2] X Pos: [30] Y Pos: [0]\nCreate ze Coins / Level No. [2] X Pos: [100] Y Pos: [0]\nCreate ze Coins / Level No. [2] X Pos: [170] Y Pos: [0]\nCreate ze Coins / Level No. [3] X Pos: [-150] Y Pos: [-115]\nCreate ze Coins / Level No. [3] X Pos: [-30] Y Pos: [-115]\nCreate ze Coins / Level No. [3] X Pos: [160] Y Pos: [-15]\nCreate ze Coins / Level No. [4] X Pos: [-160] Y Pos: [-80]\nCreate ze Coins / Level No. [4] X Pos: [-70] Y Pos: [0]\nCreate ze Coins / Level No. [4] X Pos: [30] Y Pos: [-80]\nCreate ze Coins / Level No. [4] X Pos: [130] Y Pos: [0]\nCreate ze Coins / Level No. [4] X Pos: [210] Y Pos: [-80]\nCreate ze Coins / Level No. [5] X Pos: [-150] Y Pos: [-35]\nCreate ze Coins / Level No. [5] X Pos: [-50] Y Pos: [-35]\nCreate ze Coins / Level No. [5] X Pos: [80] Y Pos: [50]\nCreate ze Coins / Level No. [5] X Pos: [200] Y Pos: [-35]\nCreate ze Coins / Level No. [6] X Pos: [-120] Y Pos: [-30]\nCreate ze Coins / Level No. [6] X Pos: [0] Y Pos: [35]\nCreate ze Coins / Level No. [6] X Pos: [175] Y Pos: [35]\nCreate ze Coins / Level No. [7] X Pos: [175] Y Pos: [-115]\nCreate ze Coins / Level No. [7] X Pos: [100] Y Pos: [-115]\nCreate ze Coins / Level No. [7] X Pos: [25] Y Pos: [-115]\nCreate ze Coins / Level No. [7] X Pos: [70] Y Pos: [20]\nCreate ze Coins / Level No. [7] X Pos: [130] Y Pos: [150]\nCreate ze Coins / Level No. [8] X Pos: [-100] Y Pos: [-115]\nCreate ze Coins / Level No. [8] X Pos: [-25] Y Pos: [-115]\nCreate ze Coins / Level No. [8] X Pos: [50] Y Pos: [-115]\nCreate ze Coins / Level No. [8] X Pos: [125] Y Pos: [-115]\nCreate ze Coins / Level No. [8] X Pos: [200] Y Pos: [-115]\nCreate ze Coins / Level No. [8] X Pos: [200] Y Pos: [-30]\nCreate ze Coins / Level No. [8] X Pos: [200] Y Pos: [45]\nCreate ze Coins / Level No. [8] X Pos: [200] Y Pos: [-30]\nCreate ze Coins / Level No. [8] X Pos: [50] Y Pos: [45]\nCreate ze Coins / Level No. [8] X Pos: [125] Y Pos: [45]\nCreate ze Coins / Level No. [8] X Pos: [-25] Y Pos: [45]\nCreate ze Coins / Level No. [8] X Pos: [-60] Y Pos: [100]\nCreate ze Coins / Level No. [8] X Pos: [-10] Y Pos: [150]\nCreate ze Coins / Level No. [8] X Pos: [65] Y Pos: [150]\nCreate ze Coins / Level No. [8] X Pos: [140] Y Pos: [150]\nCreate ze Coins / Level No. [8] X Pos: [215] Y Pos: [150]\nCreate ze Coins / Level No. [9] X Pos: [85] Y Pos: [100]\nCreate ze Coins / Level No. [9] X Pos: [10] Y Pos: [50]\nCreate ze Coins / Level No. [9] X Pos: [-65] Y Pos: [0]\nCreate ze Coins / Level No. [9] X Pos: [-140] Y Pos: [-50]\nCreate ze Coins / Level No. [10] X Pos: [190] Y Pos: [30]\nCreate ze Coins / Level No. [10] X Pos: [50] Y Pos: [-20]\nCreate ze Coins / Level No. [10] X Pos: [-25] Y Pos: [-20]\nCreate ze Coins / Level No. [11] X Pos: [-60] Y Pos: [-50]\nCreate ze Coins / Level No. [11] X Pos: [70] Y Pos: [-50]\nCreate ze Coins / Level No. [11] X Pos: [200] Y Pos: [-50]\n\nwhen I start as a clone\nforever\n    next costume\n    go to [back v] layer\n    if <(CloneID) = (Level)> then\n        show\n    else\n        hide\n    end\nend\n\ncreate clone of (_myself_ v)\n\ndefine Create ze Coins / Level No. (level) X Pos: (x) Y Pos: (y)\ngo to x: (x) y: (y)\nset [cloneid v] to (level)\ncreate clone of (_myself_ v)\n\nwhen I receive [message1 v]\n\nwhen I start as a clone\nforever\n    if <touching (player costumes v)?> then\n        set volume to (40) %\n        start sound [Magic Spell v]\n        repeat (10)\n            change size by (7)\n        end\n    end\nend\n\nwhen I start as a clone\nforever\n    if <touching (player costumes v)?> then\n        change [coins v] by (1)\n        repeat (10)\n            change [ghost v] effect by (10)\n        end\n        delete this clone\n    end\nend\n\nwhen flag clicked\nset [coins v] to [0]\n\nwhen I receive [win v]\n\nwhen I receive [win v]\nhide\nstop [other scripts in sprite v]\ndelete this clone\n\ndelete this clone\n\nforever\nend\n\nwhen I receive [win v]\nset [cloneid v] to [10000]\nhide\nstop [other scripts in sprite v]\ndelete this clone\n\nbroadcast (win v)\n\n@Moving Platforms\n\nwhen flag clicked\nforever\n    switch costume to (Level)\nend\n\nwhen flag clicked\ngo to x: (0) y: (0)\n\nwhen flag clicked\nforever\n    repeat (30)\n        change x by (4)\n    end\n    repeat (30)\n        change x by (-4)\n    end\nend\n\n@You Win!\n\ndefine Smooth Size size: (size) Speed (speed) Costume (costume)\nrepeat until <(round (size)) = (round (size))>\n    switch costume to (hack v)\n    change size by (((round (size)) - (round (size))) / (speed))\n    switch costume to (costume)\nend\n\nwhen I receive [win v]\nif <(length of (Coins)) = [1]> then\n    go to x: (-30) y: (10)\n    show\n    switch costume to (1 v)\n    set size to (1) %\n    switch costume to (3 v)\n    Smooth Size size: [120] Speed [5] Costume [3]\nelse\n    go to x: (-30) y: (10)\n    show\n    switch costume to (1 v)\n    set size to (1) %\n    switch costume to (2 v)\n    Smooth Size size: [120] Speed [5] Costume [2]\nend\n\nwhen flag clicked\nhide variable [time v]\nhide\n\nwhen I receive [win v]\n\nwhen flag clicked\nforever\n    go to [back v] layer\n    go [forward v] (1) layers\nend\n\n@Coins2\n\nwhen I receive [win v]\nhide\ngo to x: (-160) y: (-150)\nset [cloneid v] to [0]\nrepeat (2)\n    change [cloneid v] by (1)\n    create clone of (_myself_ v)\n    move (40) steps\nend\n\nwhen I start as a clone\nshow\nswitch costume to (letter (cloneid) of (Coins))\nif <(length of (Coins)) < (cloneid)> then\n    hide\nend\n\n@Time Front\n\nwhen I receive [win v]\nset [cloneid v] to [10000]\ndelete this clone\n\nwhen I start as a clone\nforever\n    show\n    switch costume to (letter (cloneid) of (time))\n    set size to (150) %\n    go to [front v] layer\nend\n\nwhen flag clicked\nhide\ngo to x: (-200) y: (150)\nset [cloneid v] to [0]\nrepeat (20)\n    change [cloneid v] by (1)\n    create clone of (_myself_ v)\n    move (20) steps\nend\n\nwhen flag clicked\n\nwhen I start as a clone\nforever\n    if <(length of (time)) < (cloneid)> then\n        hide\n    end\nend\n\nforever\n\nif <not < (time) contains [.]?>> then\n    set [time v] to (join (time) [.0])\nend\n\n@Time Back\n\nwhen I receive [win v]\n\nwhen I start as a clone\nforever\n    show\n    switch costume to (letter (cloneid) of (time))\n    if <(length of (time)) < (cloneid)> then\n        hide\n    end\n    set size to (160) %\n    go to [front v] layer\n    go [backward v] (46) layers\n    set [brightness v] effect to (-100)\nend\n\nwhen flag clicked\nhide\ngo to x: (-198) y: (148)\nset [cloneid v] to [0]\nrepeat (20)\n    change [cloneid v] by (1)\n    create clone of (_myself_ v)\n    move (20) steps\nend\n\nwhen I receive [win v]\nset [cloneid v] to [10000]\ndelete this clone\n\n@Time Backdrop\n\nwhen flag clicked\nforever\n    show\n    go to [back v] layer\n    go [forward v] (49) layers\nend\n\nwhen I receive [win v]\nstop [other scripts in sprite v]\nhide\n\nwhen flag clicked\nforever\n    if <(turbo?) = [true]> then\n        hide\n    else\n        show\n    end\nend\n\n@Final Time\n\nwhen I receive [win v]\nhide\ngo to x: (-200) y: (135)\nset [cloneid v] to [0]\nrepeat (length of (time))\n    change [cloneid v] by (1)\n    create clone of (_myself_ v)\n    move (40) steps\nend\n\nwhen I start as a clone\nshow\nswitch costume to (letter (cloneid) of (time))\nif <(length of (time)) < (cloneid)> then\n    hide\nend\n\nbroadcast (win v)\n\n@Tutorial\n\nwhen flag clicked\nshow\nswitch costume to (costume1 v)\nset [ghost v] effect to (20)\nwait until <<<key (up arrow v) pressed?> or <<key (right arrow v) pressed?> or <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<key (d v) pressed?> or <key (w v) pressed?>>>>>> or <(Mobile) = [1]>>\nwait (0) seconds\nrepeat (8)\n    change [ghost v] effect by (10)\nend\nwait (0.2) seconds\nnext costume\nrepeat (4)\n    change [ghost v] effect by (-20)\nend\nwait until <not <(Coins) = [0]>>\nif <(Level) = [1]> then\n    repeat (8)\n        change [ghost v] effect by (10)\n    end\n    wait (0.2) seconds\n    next costume\n    repeat (4)\n        change [ghost v] effect by (-20)\n    end\n    wait until <not <(Level) = [1]>>\n    repeat (8)\n        change [ghost v] effect by (10)\n    end\n    wait (0.2) seconds\n    next costume\nelse\n    repeat (8)\n        change [ghost v] effect by (10)\n    end\n    wait (0.2) seconds\n    switch costume to (costume4 v)\nend\nrepeat (4)\n    change [ghost v] effect by (-20)\nend\nwait until <(Level) = [3]>\nrepeat (5)\n    change [ghost v] effect by (20)\nend\nhide\n\nwait until <not <(Level) = [1]>>\n\nrepeat (4)\n    change [ghost v] effect by (-20)\nend\n\nswitch costume to (costume3 v)\n\nwhen [space v] key pressed\nstop [other scripts in sprite v]\nrepeat (5)\n    change [ghost v] effect by (20)\nend\nhide\n\nwhen I receive [no v]\nstop [other scripts in sprite v]\nrepeat (5)\n    change [ghost v] effect by (20)\nend\nhide\n\nwhen I receive [win v]\nhide\n\nwhen I receive [nope v]\nstop [other scripts in sprite v]\nrepeat (5)\n    change [ghost v] effect by (20)\nend\nhide\n\nwait until <(Level) = [3]>\nrepeat (5)\n    change [ghost v] effect by (20)\nend\nhide\n\n@MobileModeButton\n\nwhen flag clicked\nshow\ngo to x: (-200) y: (-153)\nset [mobile v] to [0]\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        if <(Mobile) = [1]> then\n            set [mobile v] to [0]\n        else\n            set [mobile v] to [1]\n        end\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen I receive [win v]\ngo to [back v] layer\n\nwhen I receive [win v]\nhide\n\n@Mobile Controls\n\nwhen flag clicked\nhide\ngo to x: (36) y: (28)\nset [cloneid v] to [0]\nrepeat (6)\n    change [cloneid v] by (1)\n    create clone of (_myself_ v)\nend\n\nwhen I start as a clone\nforever\n    switch costume to (CloneID)\n    if <(Mobile) = [1]> then\n        show\n        set [ghost v] effect to (40)\n    else\n        change [ghost v] effect by (10)\n    end\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        replace item (CloneID) of [list v] with [1]\n        set [mobile yes v] to (CloneID)\n    else\n        replace item (CloneID) of [list v] with [0]\n    end\nend\n\nwhen flag clicked\nforever\n    if <not <<(item (3) of [list v]) = [1]> or <<(item (2) of [list v]) = [1]> or <<(item (4) of [list v]) = [1]> or <<(item (1) of [list v]) = [1]> or <<(item (6) of [list v]) = [1]> or <(item (5) of [list v]) = [1]>>>>>>> then\n        set [mobile yes v] to [0]\n    end\nend\n\n@MobileModeButton2\n\nwhen flag clicked\nshow\ngo to x: (-150) y: (-153)\nset [mobile v] to [0]\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        if <(Level) > [1]> then\n            broadcast (die v)\n            broadcast (no v)\n            change [level v] by (-1)\n        end\n        wait until <not <mouse down?>>\n    end\nend\n\nwhen flag clicked\ngo to [front v] layer\nforever\nend\n\ngo [backward v] (10000000) layers\n\ngo to [front v] layer\n\nwhen I receive [win v]\ngo to [back v] layer\n\nwhen I receive [win v]\nhide\n\n@SkipTutorial\n\nwhen flag clicked\ngo to x: (-100) y: (-153)\nset [mobile v] to [0]\nforever\n    if <<touching (mouse-pointer v)?> and <mouse down?>> then\n        wait until <not <mouse down?>>\n        broadcast (nope v)\n        hide\n    end\nend\n\nwhen flag clicked\nshow\ngo [forward v] (10000000) layers\nforever\nend\n\nwhen I receive [win v]\ngo to [back v] layer\n\nwhen I receive [win v]\nhide\n\nwhen flag clicked\nwait until <(Level) = [3]>\nrepeat (5)\n    change [ghost v] effect by (20)\nend\nhide\n\n@Love and Fave Detector\n\ndefine Smooth Glide x: (x) y: (y) speed: (speed)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (speed))\n    change y by (((round (y)) - (round (y position))) / (speed))\nend\ngo to x: (x) y: (y)\n\nwhen flag clicked\nset [faved v] to [0]\nset [loved v] to [0]\nhide\nset [clone id v] to [0]\ncreate clone of (_myself_ v)\nwait (0.21) seconds\nset [clone id v] to [1]\ncreate clone of (_myself_ v)\nwait until <<(Loved) = [1]> and <(Faved) = [1]>>\ngo to x: (0) y: (-1000000000)\nbroadcast (yesss v)\nshow\nswitch costume to (3 v)\nwait (6) seconds\n\nwhen I start as a clone\nif <(clone id) = [0]> then\n    go to x: (-15) y: (0)\n    set [loved v] to [0]\n    switch costume to (love v)\n    forever\n        set [love? v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [loved v] to [1]\n        end\n    end\nend\nif <(clone id) = [1]> then\n    go to x: (0) y: (0)\n    switch costume to (fave v)\n    set [faved v] to [0]\n    forever\n        set [fav v] to <touching (mouse-pointer v)?>\n        if <touching (mouse-pointer v)?> then\n            set [faved v] to [1]\n        end\n    end\nend\n\nwhen [timer v] > (0.03)\nhide\n\nwhen I receive [yesss v]\nSmooth Glide x: (0) y: (-280) speed: (5)\n\nwhen I receive [yesss v]\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nbroadcast (rainbow v)\nwait (1) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\n@Love and Fave Detector2\n\ndefine Smooth Glide x: (x) y: (y) speed: (speed)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (speed))\n    change y by (((round (y)) - (round (y position))) / (speed))\nend\ngo to x: (x) y: (y)\n\nwhen [timer v] > (0.03)\nhide\n\nwhen I receive [do it v]\nSmooth Glide x: (64) y: (20) speed: (5)\nwait (2.5) seconds\nSmooth Glide x: (64) y: (76) speed: (5)\n\nwhen I receive [do it v]\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nhide\nforever\n    wait (25) seconds\n    go to x: (64) y: (100000)\n    broadcast (do it v)\nend\n\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\n@Detector\n\nwhen flag clicked\nshow\nswitch costume to (not v)\nforever\n    if <(turbo?) = [true]> then\n        costume [true]\n    else\n        costume [not]\n    end\nend\n\ndefine costume (check)\nif <not <(costume [name v]) = (check)>> then\n    repeat (4)\n        change [ghost v] effect by (25)\n    end\n    switch costume to (check)\n    repeat (4)\n        change [ghost v] effect by (-25)\n    end\nend\n\nwhen flag clicked\nset [tick v] to [0]\nforever\n    change [tick v] by (1)\nend\n\nwhen flag clicked\nset [1 v] to [0]\nforever\n    set [2 v] to (tick)\n    wait (0.01) seconds\n    set [1 v] to ((((tick) - (2)) * (1)) * (1))\n    set [turbo? v] to <((1) * (1)) > [30]>\nend\n\nwhen [timer v] > (0)\nhide\n\n@Sprite1\n\nwhen I receive [not on my watch v]\nhide list [go here v]\n\nwhen flag clicked\nshow list [go here v]\nhide\n\nwhen flag clicked\nforever\n    if <(turbo?) = [true]> then\n        broadcast (not on my watch v)\n        stop [all v]\n    end\nend\n\n@Love and Fave Detector3\n\ndefine Smooth Glide x: (x) y: (y) speed: (speed)\nrepeat until <<(round (x position)) = (round (x))> and <(round (y position)) = (round (y))>>\n    change x by (((round (x)) - (round (x position))) / (speed))\n    change y by (((round (y)) - (round (y position))) / (speed))\nend\ngo to x: (x) y: (y)\n\nwhen [timer v] > (0.03)\nhide\n\nwhen I receive [yuuuuuuuuu v]\nSmooth Glide x: (64) y: (0) speed: (5)\nwait (4) seconds\nSmooth Glide x: (64) y: (76) speed: (5)\n\nwhen I receive [yuuuuuuuuu v]\nshow\nset [ghost v] effect to (100)\nrepeat (10)\n    change [ghost v] effect by (-10)\nend\nwait (3) seconds\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\nwhen flag clicked\nforever\n    go to [front v] layer\nend\n\nwhen flag clicked\nhide\nwait (10) seconds\nforever\n    wait (25) seconds\n    go to x: (64) y: (100000)\n    broadcast (yuuuuuuuuu v)\nend\n\nrepeat (10)\n    change [ghost v] effect by (10)\nend\nhide\n\n