Light: 100% pen Platformer


@Stage\n\n@Main\n\ndefine print: (text) at x: (x) y: (y) with font size: (s) and color: (c)\nset [drawcount v] to [0]\nset [writex v] to (x)\nset [writey v] to (y)\npen up\nset pen size to ((s) / (4))\nset pen color to (#eeff00)\nrepeat (length of (text))\n    change [drawcount v] by (1)\n    if <[characters v] contains (letter (drawCount) of (text))?> then\n        if <not <(letter (drawCount) of []) = [_]>> then\n            set [loopcount v] to [0]\n            repeat until <(item (loopCount) of [characters v]) = (letter (drawCount) of (text))>\n                change [loopcount v] by (1)\n            end\n            set [writey v] to (y)\n            set [letter # v] to (loopCount)\n            set [loopcount v] to [0]\n            repeat (10)\n                repeat (10)\n                    change [loopcount v] by (1)\n                    change [writex v] by ((0.1) * (s))\n                    go to x: ((writeX) - (Camera X)) y: ((writeY) - (Camera Y))\n                    if <(letter (loopCount) of (item (Letter #) of [letters v])) = [1]> then\n                        pen down\n                    end\n                    pen up\n                end\n                change [writex v] by ((-1) * (s))\n                change [writey v] by ((-0.1) * (s))\n            end\n        end\n        if <(letter (drawCount) of (text)) = [']> then\n            change [writex v] by ((0.5) * (s))\n        else\n            change [writex v] by ((1.5) * (s))\n        end\n    end\nend\n\ndefine Player Light\ngo to x: ((Player X) - (Camera X)) y: ((Player Y) - (Camera Y))\nset pen color to (#f2ff43)\nset pen size to ((170) + ((5) * ([sin v] of ((100) * (timer)) )))\nset pen (transparency v) to (50)\npen down\npen up\nset pen color to (#f1ff39)\nset pen size to ((140) + ((10) * ([cos v] of ((100) * (timer)) )))\nset pen (transparency v) to (50)\npen down\npen up\n\nwhen flag clicked\nset [level v] to [1]\nbroadcast (Home Screen v) and wait\n\ndefine Draw Line From (x) (y) To (x2) (y2) <add?> (type) (fade) <player?> <end>\nset pen size to (8)\nif <player?> then\n    set pen size to (14)\n    set pen color to (#eeff00)\nend\nSet Color (type)\nset pen (transparency v) to (fade)\nif <add?> then\n    if <<((Player X) - (240)) < (x2)> and <((Player X) + (240)) > (x)>> then\n        if <<((Player Y) - (180)) < (y2)> and <((Player Y) + (180)) > (y)>> then\n            Add (x) (y) (x2) (y2) (type) []\n        end\n    end\nend\npen up\ngo to x: ((x) - (Camera X)) y: ((y) - (Camera Y))\npen down\ngo to x: ((x2) - (Camera X)) y: ((y2) - (Camera Y))\npen up\n\ndefine Level Check\nif <(Level) = [1]> then\n    Level 1\nelse\n    if <(Level) = [2]> then\n        Level 2\n    else\n        if <(Level) = [3]> then\n            Level 3\n        end\n    end\nend\n\ndefine Player (x) (y) (fade) <fill?>\nDraw Line From ((x) + (4)) ((y) + (4)) To ((x) + (4)) ((y) - (4)) <> [6] (fade)  <>\nDraw Line From ((x) - (4)) ((y) - (4)) To ((x) + (4)) ((y) - (4)) <> [6] (fade)  <>\nDraw Line From ((x) - (4)) ((y) + (4)) To ((x) - (4)) ((y) - (4)) <> [6] (fade)  <>\nDraw Line From ((x) - (4)) ((y) + (4)) To ((x) + (4)) ((y) + (4)) <> [6] (fade)  <>\n\ndefine Touch Y <colliding dangers?>\nTouching?\nif <<<(Touching?) = [1]> and <not <colliding dangers?>>> or <<colliding dangers?> and <not <(Touching?) = [0]>>>> then\n    if <not <(SY) > [0]>> then\n        set [player y v] to ((item ((Col Save) - (0)) of [collision list v]) + (12))\n    else\n        set [player y v] to ((item ((Col Save) - (2)) of [collision list v]) + (-12))\n    end\n    if <(SY) < [0]> then\n        set [jumping v] to [0]\n    end\n    set [sy v] to [0]\n    Touch Y <>\nend\n\ndefine Touch X <colliding dangers?>\nTouching?\nif <<<(Touching?) = [1]> and <not <colliding dangers?>>> or <<colliding dangers?> and <not <(Touching?) = [0]>>>> then\n    if <(SX) < [0]> then\n        set [player x v] to ((item ((Col Save) - (1)) of [collision list v]) + (12))\n    else\n        set [player x v] to ((item ((Col Save) - (3)) of [collision list v]) + (-12))\n    end\n    if <<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > [20]>>>> then\n        set [sy v] to [13]\n        if <(SX) < [0]> then\n            set [sx v] to [9]\n        else\n            set [sx v] to [-9]\n        end\n    else\n        set [sx v] to [0]\n    end\n    Touch X <>\nend\n\ndefine Touching?\nset [collision counter v] to [0]\nset [touching? v] to [0]\nrepeat until <(length of [collision list v]) = (Collision Counter)>\n    change [collision counter v] by (5)\n    if <((Player X) - (12)) < ((item ((Collision Counter) - (1)) of [collision list v]) - (0))> then\n        if <((Player X) + (12)) > ((item ((Collision Counter) - (3)) of [collision list v]) + (0))> then\n            if <((Player Y) - (12)) < ((item ((Collision Counter) - (0)) of [collision list v]) - (0))> then\n                if <((Player Y) + (12)) > ((item ((Collision Counter) - (2)) of [collision list v]) + (0))> then\n                    if <(item ((Collision Counter) - (4)) of [collision list v]) > (Touching?)> then\n                        set [touching? v] to (item ((Collision Counter) - (4)) of [collision list v])\n                        set [col save v] to (Collision Counter)\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine Background\nset pen size to (1000)\nset pen color to (#000000)\npen up\ngo to x: (0) y: (0)\npen down\npen up\n\ndefine Set Camera <stationary?>\nif <not <stationary?>> then\n    change [camera x v] by (((Player X) - (Camera X)) / (4))\n    change [camera y v] by (((Player Y) - (Camera Y)) / (4))\n    if <(Camera Y) < [0]> then\n        set [camera y v] to [0]\n    end\n    if <(Camera X) < [0]> then\n        set [camera x v] to [0]\n    end\nend\n\ndefine Add (x1) (y1) (x2) (y2) (type) (end?)\nadd (type) to [collision list v]\nif <<(y1) < (y2)> or <(x1) < (x2)>> then\n    add (x1) to [collision list v]\n    add (y1) to [collision list v]\n    add (x2) to [collision list v]\n    add (y2) to [collision list v]\nelse\n    add (x2) to [collision list v]\n    add (y2) to [collision list v]\n    add (x1) to [collision list v]\n    add (y1) to [collision list v]\nend\nif <(end?) = [1]> then\n    add (x1) to [endpoint v]\n    add (y1) to [endpoint v]\n    add (x2) to [endpoint v]\n    add (y2) to [endpoint v]\nelse\n    add (x2) to [endpoint v]\n    add (y2) to [endpoint v]\n    add (x1) to [endpoint v]\n    add (y1) to [endpoint v]\nend\n\ndefine Set Color (type)\nif <(type) = [1]> then\n    set pen color to (#000000)\nelse\n    if <(type) = [2]> then\n        set pen color to (#ff4747)\n    else\n        if <(type) = [3]> then\n            set pen color to (#fbff47)\n        else\n            if <(type) = [4]> then\n                set pen color to (#5cff47)\n            end\n        end\n    end\nend\n\ndefine Respawn <x/y> (exit?)\nif <x/y> then\n    Touch Y \nelse\n    Touch X \nend\nset [fade v] to [0]\nrepeat (10)\n    Frame (Fade)\n    change [fade v] by (10)\nend\nset [sx v] to [0]\nset [sy v] to [0]\nset [jumping v] to [1]\nrepeat (10)\n    change [player x v] by (((item (((#) * (2)) - (1)) of [spawnpoints v]) - (Player X)) / (exit?))\n    change [player y v] by (((item ((#) * (2)) of [spawnpoints v]) - (Player Y)) / (exit?))\n    Frame (Fade)\nend\nset [player x v] to (item (((#) * (2)) - (1)) of [spawnpoints v])\nset [player y v] to (item ((#) * (2)) of [spawnpoints v])\nrepeat (4)\n    Frame (Fade)\n    change [fade v] by (-25)\nend\nif <(exit?) = [8]> then\n    change [level v] by (1)\nend\n\ndefine Frame (fade)\ndelete all of [collision list v]\nBackground\nPlayer Light\nPlayer ([floor v] of (Player X) ) (Player Y) (Fade) \nLevel Check\nSet Camera \nGrid\n\ndefine Die Check <x/y>\nif <<(Touching?) = [2]> or <(Player Y) < [-100]>> then\n    if <x/y> then\n        Respawn  [2]\n    else\n        Respawn <> [2]\n    end\nend\n\ndefine Level 1\nDraw Line From [-100] [0] To [100] [0]  [1] [0] <> <>\nDraw Line From [-100] [-180] To [-100] [0]  [1] [0] <> <>\nDraw Line From [60] [-180] To [60] [-80]  [1] [0] <> <>\nDraw Line From [100] [-80] To [100] [0]  [1] [0] <> <>\nDraw Line From [60] [-80] To [100] [-80]  [1] [0] <> <>\nDraw Line From [0] [0] To [-50] [0]  [2] [0] <> <>\nDraw Line From [150] [0] To [250] [0]  [1] [0] <> <>\nDraw Line From [300] [0] To [300] [50]  [2] [0] <> <>\nDraw Line From [350] [0] To [450] [0]  [1] [0] <> <>\nDraw Line From [500] [0] To [550] [0]  [3] [0] <> <>\nDraw Line From [520] [150] To [520] [150]  [3] [0] <> <>\nDraw Line From [590] [150] To [590] [250]  [2] [0] <> <>\nDraw Line From [620] [250] To [720] [250]  [1] [0] <> <>\nprint: [Welcome_to_My_Platformer! ] at x: (0) y: (75) with font size: (10) and color: (1)\nDraw Line From [750] [250] To [750] [300]  [2] [0] <> <>\nDraw Line From [790] [170] To [870] [170]  [1] [0] <> <>\nDraw Line From [940] [170] To [1200] [170]  [1] [0] <> <>\nDraw Line From [1380] [170] To [1380] [17]  [4] [0] <> <>\n\nprint: [Jump_pads_are_fake!] at x: (940) y: (150) with font size: (10) and color: (1)\nDraw Line From [940] [170] To [1300] [170]  [1] [0] <> <>\nDraw Line From [940] [300] To [1200] [300]  [2] [0] <> <>\nDraw Line From [990] [170] To [1060] [170]  [3] [0] <> <>\nDraw Line From [1150] [170] To [1210] [170]  [3] [0] <> <>\n\ndefine Level 2\nDraw Line From [-100] [0] To [100] [0]  [1] [0] <> <>\nDraw Line From [-100] [-180] To [-100] [0]  [1] [0] <> <>\nDraw Line From [60] [-180] To [60] [-80]  [1] [0] <> <>\nDraw Line From [100] [-80] To [100] [0]  [1] [0] <> <>\nDraw Line From [60] [-80] To [100] [-80]  [1] [0] <> <>\nDraw Line From [0] [0] To [-50] [0]  [2] [0] <> <>\nprint: [Level_2] at x: (0) y: (100) with font size: (10) and color: (1)\nDraw Line From [130] [70] To [200] [70]  [1] [0] <> <>\nDraw Line From [150] [70] To [200] [70]  [2] [0] <> <>\nDraw Line From [250] [70] To [320] [70]  [1] [0] <> <>\nDraw Line From [270] [70] To [320] [70]  [2] [0] <> <>\nDraw Line From [350] [110] To [470] [110]  [1] [0] <> <>\nDraw Line From [420] [110] To [420] [250]  [1] [0] <> <>\nDraw Line From [570] [170] To [670] [170]  [1] [0] <> <>\nDraw Line From [720] [230] To [820] [230]  [1] [0] <> <>\nDraw Line From [870] [290] To [970] [290]  [1] [0] <> <>\nDraw Line From [1020] [350] To [1120] [350]  [3] [0] <> <>\nDraw Line From [950] [550] To [1010] [550]  [1] [0] <> <>\nDraw Line From [1010] [600] To [1010] [500]  [1] [0] <> <>\nDraw Line From [1130] [600] To [1170] [600]  [1] [0] <> <>\nprint: [Which_way?] at x: (1000) y: (670) with font size: (10) and color: (1)\nDraw Line From [900] [600] To [830] [600]  [1] [0] <> <>\nDraw Line From [760] [660] To [690] [660]  [1] [0] <> <>\nDraw Line From [620] [720] To [430] [720]  [1] [0] <> <>\nDraw Line From [470] [660] To [430] [660]  [2] [0] <> <>\nDraw Line From [430] [660] To [430] [800]  [2] [0] <> <>\nDraw Line From [470] [800] To [430] [800]  [2] [0] <> <>\nprint: [wrong_way] at x: (470) y: (880) with font size: (10) and color: (1)\nDraw Line From [1240] [650] To [1300] [650]  [1] [0] <> <>\nDraw Line From [1360] [700] To [1420] [700]  [1] [0] <> <>\nDraw Line From [1480] [770] To [1600] [770]  [1] [0] <> <>\nDraw Line From [1750] [700] To [1750] [870]  [4] [0] <> <>\nDraw Line From [1600] [700] To [1750] [700]  [2] [0] <> <>\nDraw Line From [1600] [707] To [1670] [707]  [1] [0] <> <>\nDraw Line From [1600] [870] To [1750] [870]  [2] [0] <> <>\n\ndefine Jump Check <x/y>\nif <(Touching?) = [3]> then\n    set [sy v] to [18]\nend\n\ndefine Player Ren. (x) (y) (fade)\ninsert (((Player Y) + (Old Y)) * (1)) at (1) of [character places v] \ninsert (((Player X) + (Old X)) * (1)) at (1) of [character places v] \ninsert (Player Y) at (1) of [character places v] \ninsert (Player X) at (1) of [character places v] \nrepeat (2)\n    delete (length of [character places v]) of [character places v]\nend\nset [old y v] to (Player Y)\nset [old x v] to (Player X)\nset [count v] to [42]\nset [player transparency v] to (fade)\nrepeat (19)\n    change [count v] by (-2)\n    Player ((item ((Count) + (1)) of [character places v]) - (Player X)) ((item ((Count) + (0)) of [character places v]) - (-1)) (Player Transparency) \n    change [player transparency v] by (-5)\nend\n\nwhen I receive [home screen v]\nerase all\nBackground\nLoading screen\n\ndefine Add Lists\ndelete (all) of [letters v]\ndelete (all) of [characters v]\nadd [1111111111100000000110000000011111111111100000000110000000011000000001100000000110000000011000000001] to [letters v]\nadd [1111111110100000001010000000101111111111100000000110000000011000000001100000000110000000011111111111] to [letters v]\nadd [1111111111100000000010000000001000000000100000000010000000001000000000100000000010000000001111111111] to [letters v]\nadd [1111111110100000000110000000011000000001100000000110000000011000000001100000000110000000011111111111] to [letters v]\nadd [1111111111100000000010000000001111111100100000000010000000001000000000100000000010000000001111111111] to [letters v]\nadd [1111111111100000000010000000001111111100100000000010000000001000000000100000000010000000001000000000] to [letters v]\nadd [1111111111100000000010000000001000111111100000000110000000011000000001100000000110000000011111111111] to [letters v]\nadd [1000000001100000000110000000011111111111100000000110000000011000000001100000000110000000011000000001] to [letters v]\nadd [1111111111000010000000001000000000100000000010000000001000000000100000000010000000001000001111111111] to [letters v]\nadd [1111111111000010000000001000000000100000000010000000001000000000100000000010000000001000001111100000] to [letters v]\nadd [1000000100100000010010000001001111111100100000000110000000011000000001100000000110000000011000000001] to [letters v]\nadd [1000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001111111111] to [letters v]\nadd [1000000001110000001111000000111010000101101000010110010010011001001001100011000110001100011000110001] to [letters v]\nadd [1111111110100000000110000000011000000001100000000110000000011000000001100000000110000000011000000001] to [letters v]\nadd [1111111111100000000110000000011000000001100000000110000000011000000001100000000110000000011111111111] to [letters v]\nadd [1111111111100000000110000000011111111111100000000010000000001000000000100000000010000000001000000000] to [letters v]\nadd [1111111110100000001010000000101000000010100000001010000000101000000010100000011011111111100000000001] to [letters v]\nadd [1111111100100000010010000001001111111111100000000110000000011000000001100000000110000000011000000001] to [letters v]\nadd [1111111111100000000010000000001111111111000000000100000000010000000001000000000100000000011111111111] to [letters v]\nadd [1111111111000100000000010000000001000000000100000000010000000001000000000100000000010000000001000000] to [letters v]\nadd [1000000001100000000110000000011000000001100000000110000000011000000001100000000110000000011111111111] to [letters v]\nadd [1000000001100000000101000000100100000010001000010000100001000001001000000100100000001100000000110000] to [letters v]\nadd [1000000001100000000110000000010100110010010011001001001100100010110100001011010000010010000001001000] to [letters v]\nadd [1000000001010000001000100001000001001000000011000000001100000001001000001000010001000000101000000001] to [letters v]\nadd [1000000010010000010000100010000001010000000010000000001000000000100000000010000000001000000000100000] to [letters v]\nadd [1111111111000000001000000001000000001000000001000000001000000001000000001000000001000000001111111111] to [letters v]\nadd [0000000000000000000000000000000000000000000000000000000000000000000000000000000011000000001100000000] to [letters v]\nadd [0000000000000000000000000000000000000000000000000000000000000000000000110000000001000000001000000000] to [letters v]\nadd [1000000000100000000010000000001000000000100000000010000000001000000000000000000000000000001000000000] to [letters v]\nadd [1111000000000010000000001000000001000000001000000001000000001000000000000000000000000000001000000000] to [letters v]\nadd [1000000000100000000010000000000000000000000000000000000000000000000000000000000000000000000000000000] to [letters v]\nadd [0000000000000000000010000000000000000000000000000000000000001000000000000000000000000000000000000000] to [letters v]\nadd [1111111111100000001110000001011000001001100001000110001000011001000001101000000111000000011111111111] to [letters v]\nadd [0001000000001100000001010000001001000000000100000000010000000001000000000100000000010000001111111111] to [letters v]\nadd [1111111111000000000100000000011111111111100000000010000000001000000000100000000010000000001111111111] to [letters v]\nadd [1111111111000000000100000000010011111111000000000100000000010000000001000000000100000000011111111111] to [letters v]\nadd [1000000001100000000110000000011111111111000000000100000000010000000001000000000100000000010000000001] to [letters v]\nadd [1111111111100000000010000000001111111111000000000100000000010000000001000000000100000000011111111111] to [letters v]\nadd [1111111111100000000010000000001111111111100000000110000000011000000001100000000110000000011111111111] to [letters v]\nadd [1111111111000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001] to [letters v]\nadd [1111111111100000000110000000011111111111100000000110000000011000000001100000000110000000011111111111] to [letters v]\nadd [1111111111100000000110000000011111111111000000000100000000010000000001000000000100000000010000000001] to [letters v]\nadd [A] to [characters v]\nadd [B] to [characters v]\nadd [C] to [characters v]\nadd [D] to [characters v]\nadd [E] to [characters v]\nadd [F] to [characters v]\nadd [G] to [characters v]\nadd [H] to [characters v]\nadd [I] to [characters v]\nadd [J] to [characters v]\nadd [K] to [characters v]\nadd [L] to [characters v]\nadd [M] to [characters v]\nadd [N] to [characters v]\nadd [O] to [characters v]\nadd [P] to [characters v]\nadd [Q] to [characters v]\nadd [R] to [characters v]\nadd [S] to [characters v]\nadd [T] to [characters v]\nadd [U] to [characters v]\nadd [V] to [characters v]\nadd [W] to [characters v]\nadd [X] to [characters v]\nadd [Y] to [characters v]\nadd [Z] to [characters v]\nadd [.] to [characters v]\nadd [,] to [characters v]\nadd [!] to [characters v]\nadd [?] to [characters v]\nadd ['] to [characters v]\nadd [:] to [characters v]\nadd [0] to [characters v]\nadd [1] to [characters v]\nadd [2] to [characters v]\nadd [3] to [characters v]\nadd [4] to [characters v]\nadd [5] to [characters v]\nadd [6] to [characters v]\nadd [7] to [characters v]\nadd [8] to [characters v]\nadd [9] to [characters v]\nadd [_] to [characters v]\n\nwhen I receive [start v]\nhide\nset pen size to (5)\nset pen color to (#000000)\nset [player x v] to (item (((Level) * (2)) - (1)) of [spawnpoints v])\nset [player y v] to (item ((Level) * (2)) of [spawnpoints v])\nset [camera x v] to (Player X)\nset [camera y v] to (Player Y)\nset [sx v] to [0]\nset [sy v] to [0]\nset [jumping v] to [1]\ndelete all of [collision list v]\nshow list [chat v]\nAdd Lists\nforever\n    erase all\n    change [sy v] by (-1)\n    if <<<key (up arrow v) pressed?> or <<key (w v) pressed?> or <<mouse down?> and <(mouse y) > [20]>>>> and <<(Jumping) = [0]> and <(SY) > [-2]>>> then\n        set [sy v] to [13]\n        set [jumping v] to [1]\n    end\n    change [player y v] by (SY)\n    Touch Y <>\n    Die Check \n    change [sx v] by ((<<key (right arrow v) pressed?> or <<key (d v) pressed?> or <<mouse down?> and <(mouse x) > [20]>>>> - <<key (left arrow v) pressed?> or <<key (a v) pressed?> or <<mouse down?> and <(mouse x) < [-20]>>>>) * (1.5))\n    set [sx v] to ((SX) * (0.8))\n    change [player x v] by (SX)\n    Set Camera <>\n    Touch X <>\n    Jump Check <>\n    Die Check <>\n    Exit Check <>\n    Frame []\nend\n\ndefine Exit Check <x/y>\nif <(Touching?) = [4]> then\n    if <x/y> then\n        Respawn  [8]\n    else\n        Respawn <> [8]\n    end\nend\n\nchange [player x v] by (((item (((#) * (2)) - (1)) of [endpoint v]) - (Player X)) / (8))\nchange [player y v] by (((item ((#) * (2)) of [endpoint v]) - (Player Y)) / (8))\nFrame (Fade)\n\ndefine Level 3\nDraw Line From [-100] [0] To [100] [0]  [1] [0] <> <>\nDraw Line From [-100] [-180] To [-100] [0]  [1] [0] <> <>\nDraw Line From [60] [-180] To [60] [-80]  [1] [0] <> <>\nDraw Line From [100] [-80] To [100] [0]  [1] [0] <> <>\nDraw Line From [60] [-80] To [100] [-80]  [1] [0] <> <>\nprint: [Level_3] at x: (0) y: (100) with font size: (10) and color: (1)\nprint: [not_done] at x: (0) y: (50) with font size: (10) and color: (1)\nDraw Line From [0] [0] To [-50] [0]  [2] [0] <> <>\nDraw Line From [100] [75] To [200] [75]  [1] [0] <> <>\nDraw Line From [300] [150] To [400] [150]  [1] [0] <> <>\nDraw Line From [300] [200] To [400] [200]  [1] [0] <> <>\nDraw Line From [300] [400] To [400] [400]  [1] [0] <> <>\n\nDraw Line From [] [] To [] [] <> [] [] <> <>\n\nif <([sin v] of (((item ((Count) + (item (((Count) + (0)) * (2)) of [character places v])) of [character places v]) - (-1)) + (1)) ) < (((item ((Count) + (item (((Count) + (0)) * (2)) of [character places v])) of [character places v]) + ([cos v] of (((item ((Count) + (item ((Count) + (1)) of [character places v])) of [character places v]) - (-1)) + (0)) )) + (1))> then\n    set [old y v] to (Player Y)\n    set [old x v] to (Player X)\n    set [count v] to [42]\n    set [player transparency v] to (fade)\n    repeat (19)\n        change [count v] by (-2)\n        Player ((item ((Count) + (1)) of [character places v]) - (Player X)) ((item ((Count) + (0)) of [character places v]) - (-1)) (Player Transparency) \n        change [player transparency v] by (-5)\n    end\nend\nif <(([sin v] of (((item ((Count) + (item ((Count) + (0)) of [character places v])) of [character places v]) - (-1)) + (0)) ) + ([cos v] of (((item ((Count) + (item ((Count) + (1)) of [character places v])) of [character places v]) - (-1)) + (0)) )) < [0.6]> then\n    set [old y v] to (Player Y)\n    set [old x v] to [0]\n    set [count v] to [42]\n    set [player transparency v] to (fade)\n    repeat (19)\n        change [count v] by (-2)\n        Player ((item ((Count) + (1)) of [character places v]) - (Player X)) ((item ((Count) + (0)) of [character places v]) - (-1)) (Player Transparency) \n        change [player transparency v] by (-5)\n    end\nend\n\ndefine Grid\nset pen size to (20)\nset pen color to (#000000)\ngo to x: (240) y: (180)\npen down\ngo to x: (-240) y: (180)\ngo to x: (-240) y: (-180)\ngo to x: (240) y: (-180)\ngo to x: (240) y: (180)\npen up\n\ndefine Loading screen\nset [_loading max v] to [100]\nLoad\n\ndefine Load\nset [_loaded v] to [0]\nrepeat until <(_Loaded) > (_Loading max)>\n    set [_size v] to ((([sin v] of ((_Loaded) * (10)) ) * (10)) + (50))\n    set pen size to (25)\n    erase all\n    set pen color to (#00a90e)\n    Draw Circle at [0] [0] Radius: (_Size)\n    set pen color to (#00f314)\n    Draw Arc at: [0] [0] Size: (_Size) Angle: (((_Loaded) / (_Loading max)) * (720)) Length: (((_Loaded) / (_Loading max)) * (360))\n    change [_loaded v] by (1)\nend\nbroadcast (Start v)\n\ndefine Draw Circle at (x) (y) Radius: (radius)\npen up\nset [_direction v] to [0]\nrepeat (181)\n    go to x: ((([sin v] of (_Direction) ) * (radius)) + (x)) y: ((([cos v] of (_Direction) ) * (radius)) + (y))\n    pen down\n    change [_direction v] by (2)\nend\n\ndefine Draw Arc at: (x) (y) Size: (size) Angle: (angle) Length: (length)\npen up\nset [_direction v] to (angle)\nrepeat ((length) + (1))\n    go to x: ((([sin v] of (_Direction) ) * (size)) + (x)) y: ((([cos v] of (_Direction) ) * (size)) + (y))\n    pen down\n    change [_direction v] by (2)\nend\n\nwhen I receive [start v]\nforever\n    play sound [Waterflame - Final Battle v] until done\nend\n\n@Thumbnail\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\n@Maintenance\n\nwhen flag clicked\nset [ghost v] effect to (100)\n\nshow\n\n