Grassworld 2.0 - A 100% Pen Scrolling Platformer
@Stage\n\nwhen flag clicked\nset [volume music v] to [100]\nstop all sounds\nbroadcast (menu music v)\n\nwhen I receive [win v]\nif <(volume music) > [0]> then\n    repeat (33)\n        change volume by ((-0.03) * (volume music))\n    end\n    stop all sounds\n    set volume to (0) %\n    stop [other scripts in sprite v]\nend\nif <(Level) = [5]> then\n    broadcast (menu music v)\nend\n\nwhen I receive [start music v]\nstop all sounds\nset volume to (volume music) %\nforever\n    wait (1) seconds\n    if <(menu) = [0]> then\n        play sound ((Level) + (1)) until done\n    else\n        stop [this script v]\n    end\nend\n\nwhen I receive [menu music v]\nbroadcast (e v)\nstop all sounds\nset volume to (volume music) %\nforever\n    if <(menu) = [1]> then\n        wait (1) seconds\n        if <<(levels unlocked) = [3]> or <(levels unlocked) = [4]>> then\n            play sound [DJVI - Cycles v] until done\n        else\n            play sound [Vexento - Pixel Party v] until done\n        end\n    else\n        stop [this script v]\n    end\nend\n\nwhen I receive [menu v]\nif <(volume music) > [0]> then\n    if <(menu) = [0]> then\n        repeat (33)\n            change volume by ((-0.03) * (volume music))\n        end\n        stop all sounds\n        set volume to (0) %\n        stop [other scripts in sprite v]\n        broadcast (menu music v)\n    end\nend\n\nwhen [timer v] > (0)\nstop all sounds\n\nwhen I receive [next level v]\nif <(volume music) > [0]> then\n    if <(menu) = [1]> then\n        repeat (33)\n            change volume by ((-0.03) * (volume music))\n        end\n        stop all sounds\n        set volume to (0) %\n        stop [other scripts in sprite v]\n    end\nend\nif <(Level) = [5]> then\n    broadcast (menu music v)\nend\n\nwhen flag clicked\n\nwhen I receive [e v]\nforever\n    if <<(menu) = [1]> and <(submenu) = [3]>> then\n        set volume to (volume music) %\n    end\nend\n\nwhen [timer v] > (0.001)\nstop all sounds\n\n@blank\n\n@Pen\n\ndefine draw equation (min) (max) (y-min) (height)\nif <<(min) < [11]> and <(min) > [-251]>> then\n    set [equation_x v] to (min)\n    repeat ((max) - (min))\n        set [equation_y v] to (([abs v] of ((height) * (((equation_x) - (min)) * ((equation_x) - (max)))) ) + (y-min))\n        go to x: (equation_x) y: (equation_y)\n        pen down\n        go to x: (equation_x) y: (y-min)\n        pen up\n        change [equation_x v] by (1)\n    end\nend\nif <(min) < [-250]> then\n    set [equation_x v] to [-250]\n    repeat ((max) - (-250))\n        set [equation_y v] to (([abs v] of ((height) * (((equation_x) - (min)) * ((equation_x) - (max)))) ) + (y-min))\n        go to x: (equation_x) y: (equation_y)\n        pen down\n        go to x: (equation_x) y: (y-min)\n        pen up\n        change [equation_x v] by (1)\n    end\nend\nif <(min) > [10]> then\n    set [equation_x v] to (min)\n    repeat ((250) - (min))\n        set [equation_y v] to (([abs v] of ((height) * (((equation_x) - (min)) * ((equation_x) - (max)))) ) + (y-min))\n        go to x: (equation_x) y: (equation_y)\n        pen down\n        go to x: (equation_x) y: (y-min)\n        pen up\n        change [equation_x v] by (1)\n    end\nend\n\ndefine draw (string) x: (x) y: (y) size: (dilation) Spacing: (spacing) Horizontal Stretch: (stretch) pensize: (size)\nset [i14 v] to [0]\nset [words length v] to [0]\nrepeat (length of (string))\n    if <<([abs v] of ((x) + (words length)) ) < [600]> and <([abs v] of (y) ) < [600]>> then\n        set [current arc sequence v] to (item (item # of (letter ((i14) + (1)) of (string)) in [chars v]) of [char data arc v])\n        set [current line sequence v] to (item (item # of (letter ((i14) + (1)) of (string)) in [chars v]) of [char data line v])\n    end\n    if <<([abs v] of ((x) + (words length)) ) < [300]> and <([abs v] of (y) ) < [300]>> then\n        set [i15 v] to [1]\n        set pen size to (size)\n        repeat ((length of (current line sequence)) / (8))\n            pen up\n            go to x: (((x) + (((join (letter (i15) of (current line sequence)) (letter ((i15) + (1)) of (current line sequence))) * (stretch)) * (dilation))) + (words length)) y: ((y) - ((join (letter ((i15) + (2)) of (current line sequence)) (letter ((i15) + (3)) of (current line sequence))) * (dilation)))\n            pen down\n            go to x: (((x) + (((join (letter ((i15) + (4)) of (current line sequence)) (letter ((i15) + (5)) of (current line sequence))) * (dilation)) * (stretch))) + (words length)) y: ((y) - ((join (letter ((i15) + (6)) of (current line sequence)) (letter ((i15) + (7)) of (current line sequence))) * (dilation)))\n            pen up\n            change [i15 v] by (8)\n        end\n        set [i15 v] to [1]\n        repeat ((length of (current arc sequence)) / (14))\n            pen up\n            set [k v] to (join (join (letter ((i15) + (8)) of (current arc sequence)) (letter ((i15) + (9)) of (current arc sequence))) (letter ((i15) + (10)) of (current arc sequence)))\n            repeat ((((join (join (letter ((i15) + (11)) of (current arc sequence)) (letter ((i15) + (12)) of (current arc sequence))) (letter ((i15) + (13)) of (current arc sequence))) - (join (join (letter ((i15) + (8)) of (current arc sequence)) (letter ((i15) + (9)) of (current arc sequence))) (letter ((i15) + (10)) of (current arc sequence)))) / (15)) + (1))\n                go to x: ((((x) + (((join (letter (i15) of (current arc sequence)) (letter ((i15) + (1)) of (current arc sequence))) * (dilation)) * (stretch))) + (words length)) + (([cos v] of (k) ) * (((join (letter ((i15) + (4)) of (current arc sequence)) (letter ((i15) + (5)) of (current arc sequence))) * (dilation)) * (stretch)))) y: (((y) - ((join (letter ((i15) + (2)) of (current arc sequence)) (letter ((i15) + (3)) of (current arc sequence))) * (dilation))) + (([sin v] of (k) ) * ((join (letter ((i15) + (6)) of (current arc sequence)) (letter ((i15) + (7)) of (current arc sequence))) * (dilation))))\n                pen down\n                change [k v] by (15)\n            end\n            change [i15 v] by (14)\n        end\n    end\n    change [i14 v] by (1)\n    change [words length v] by ((((join (letter ((length of (current line sequence)) - (1)) of (current line sequence)) (letter (length of (current line sequence)) of (current line sequence))) + (spacing)) * (dilation)) * (stretch))\nend\n\ndefine test collide Rect: (x) (y) (length) (width) Circle: (x2) (y2) (size)\nset [collide v] to [0]\nif <<(x2) > (x)> and <(x2) < ((x) + (length))>> then\n    if <not <([abs v] of (((y) - ((width) / (2))) - (y2)) ) > (((width) / (2)) + ((size) / (2)))>> then\n        set [collide v] to [1]\n    end\nend\nif <<(y2) > ((y) - (width))> and <(y2) < (y)>> then\n    if <not <([abs v] of (((x) + ((length) / (2))) - (x2)) ) > (((length) / (2)) + ((size) / (2)))>> then\n        set [collide v] to [1]\n    end\nend\nfind distance (x) (y) (x2) (y2)\nif <not <(distance) > ((size) / (2))>> then\n    set [collide v] to [1]\nend\nfind distance ((x) + (length)) (y) (x2) (y2)\nif <not <(distance) > ((size) / (2))>> then\n    set [collide v] to [1]\nend\nfind distance ((x) + (length)) ((y) - (width)) (x2) (y2)\nif <not <(distance) > ((size) / (2))>> then\n    set [collide v] to [1]\nend\nfind distance (x) ((y) - (width)) (x2) (y2)\nif <not <(distance) > ((size) / (2))>> then\n    set [collide v] to [1]\nend\n\ndefine find distance (x) (y) (x2) (y2)\nset [distance v] to ([sqrt v] of ((((y2) - (y)) * ((y2) - (y))) + (((x2) - (x)) * ((x2) - (x)))) )\n\ndefine Draw Right Triangle (x) (y) (length) (width) (x-dir) (y-dir)\nset pen size to (2)\nset [i v] to [0]\nrepeat ((length) / (2))\n    pen up\n    go to x: ((x) + ((i) * (x-dir))) y: (((y) + ((width) * (y-dir))) - (((i) * ((width) / (length))) * (y-dir)))\n    pen down\n    go to x: ((x) + ((i) * (x-dir))) y: (y)\n    pen up\n    change [i v] by (2)\nend\ndraw line (x) ((y) + ((width) * (y-dir))) to ((x) + ((length) * (x-dir))) (y) size [2]\n\ndefine draw rect (x) (y) (length) (width) (res) (filled?)\nif <(filled?) = [1]> then\n    if <(length) > (width)> then\n        set pen size to ((width) - ((res) * (2)))\n        pen up\n        go to x: (((x) + (res)) + (((width) - ((res) * (2))) / (2))) y: (((y) - (res)) - (((width) - ((res) * (2))) / (2)))\n        pen down\n        go to x: ((((x) + (length)) - (res)) - (((width) - ((res) * (2))) / (2))) y: (((y) - (res)) - (((width) - ((res) * (2))) / (2)))\n        set pen size to (3)\n        set [i v] to [1]\n        repeat ([ceiling v] of ((0.10355339059327379) * ((width) - ((2) * (res)))) )\n            pen up\n            go to x: (((x) + (res)) + (i)) y: (((y) - (res)) - (i))\n            pen down\n            go to x: ((((x) + (length)) - (res)) - (i)) y: (((y) - (res)) - (i))\n            go to x: ((((x) + (length)) - (res)) - (i)) y: (((y) - (width)) + ((res) + (i)))\n            go to x: (((x) + (res)) + (i)) y: (((y) - (width)) + ((res) + (i)))\n            go to x: (((x) + (res)) + (i)) y: (((y) - (res)) - (i))\n            change [i v] by (2)\n        end\n    else\n        set pen size to ((length) - ((res) * (2)))\n        pen up\n        go to x: (((x) + (res)) + (((length) - ((res) * (2))) / (2))) y: (((y) - (res)) - (((length) - ((res) * (2))) / (2)))\n        pen down\n        if <(length) = (width)> then\n        pen up\n        set pen size to (3)\n        if <(res) > [4]> then\n            set pen size to (4)\n        end\n        set [i v] to [1]\n        repeat ([ceiling v] of ((0.10355339059327379) * ((length) - ((2) * (res)))) )\n            pen up\n            go to x: (((x) + (res)) + (i)) y: (((y) - (res)) - (i))\n            pen down\n            go to x: ((((x) + (length)) - (res)) - (i)) y: (((y) - (res)) - (i))\n            go to x: ((((x) + (length)) - (res)) - (i)) y: (((y) - (width)) + ((res) + (i)))\n            go to x: (((x) + (res)) + (i)) y: (((y) - (width)) + ((res) + (i)))\n            go to x: (((x) + (res)) + (i)) y: (((y) - (res)) - (i))\n            change [i v] by (2)\n        end\n    end\nend\nset pen size to (res)\npen up\ngo to x: ((x) + ((res) / (2))) y: ((y) - ((res) / (2)))\npen down\ngo to x: (((x) + (length)) - ((res) / (2))) y: ((y) - ((res) / (2)))\ngo to x: (((x) + (length)) - ((res) / (2))) y: (((y) - (width)) + ((res) / (2)))\ngo to x: ((x) + ((res) / (2))) y: (((y) - (width)) + ((res) / (2)))\ngo to x: ((x) + ((res) / (2))) y: ((y) - ((res) / (2)))\npen up\n\ndefine Line collision basic (x1) (y1) (x2) (y2) and (x3) (y3) (x4) (y4)\nset [lines touching? v] to [0]\nif <(x1) = (x2)> then\n    set [m2 v] to (((y4) - (y3)) / ((x4) - (x3)))\n    set [int x v] to (x1)\n    set [int y v] to ((((m2) * (int x)) + (y3)) - ((m2) * (x3)))\nelse\n    if <(x3) = (x4)> then\n        set [m1 v] to (((y2) - (y1)) / ((x2) - (x1)))\n        set [int x v] to (x3)\n        set [int y v] to ((((m1) * (int x)) + (y1)) - ((m1) * (x1)))\n    else\n        set [m1 v] to (((y2) - (y1)) / ((x2) - (x1)))\n        set [m2 v] to (((y4) - (y3)) / ((x4) - (x3)))\n        set [int x v] to (((((y1) - (y3)) - ((x1) * (m1))) + ((x3) * (m2))) / ((m2) - (m1)))\n        set [int y v] to ((y1) + (((int x) - (x1)) * (m1)))\n    end\nend\nif <([sqrt v] of ((((x1) - (int x)) * ((x1) - (int x))) + (((y1) - (int y)) * ((y1) - (int y)))) ) > ([sqrt v] of ((((x2) - (int x)) * ((x2) - (int x))) + (((y2) - (int y)) * ((y2) - (int y)))) )> then\n    set [line1 is long enough? v] to <not <([sqrt v] of ((((x1) - (x2)) * ((x1) - (x2))) + (((y1) - (y2)) * ((y1) - (y2)))) ) < ([sqrt v] of ((((x1) - (int x)) * ((x1) - (int x))) + (((y1) - (int y)) * ((y1) - (int y)))) )>>\nelse\n    set [line1 is long enough? v] to <not <([sqrt v] of ((((x1) - (x2)) * ((x1) - (x2))) + (((y1) - (y2)) * ((y1) - (y2)))) ) < ([sqrt v] of ((((x2) - (int x)) * ((x2) - (int x))) + (((y2) - (int y)) * ((y2) - (int y)))) )>>\nend\nif <([sqrt v] of ((((x3) - (int x)) * ((x3) - (int x))) + (((y3) - (int y)) * ((y3) - (int y)))) ) > ([sqrt v] of ((((x4) - (int x)) * ((x4) - (int x))) + (((y4) - (int y)) * ((y4) - (int y)))) )> then\n    set [line2 is long enough? v] to <not <([sqrt v] of ((((x3) - (x4)) * ((x3) - (x4))) + (((y3) - (y4)) * ((y3) - (y4)))) ) < ([sqrt v] of ((((x3) - (int x)) * ((x3) - (int x))) + (((y3) - (int y)) * ((y3) - (int y)))) )>>\nelse\n    set [line2 is long enough? v] to <not <([sqrt v] of ((((x3) - (x4)) * ((x3) - (x4))) + (((y3) - (y4)) * ((y3) - (y4)))) ) < ([sqrt v] of ((((x4) - (int x)) * ((x4) - (int x))) + (((y4) - (int y)) * ((y4) - (int y)))) )>>\nend\nset [lines touching? v] to (<<(Line1 is long enough?) = [1]> and <(Line2 is long enough?) = [1]>> * (1))\n\ndefine test collide rect: (x) (y) (length) (width) Line: (x1) (y1) (x2) (y2)\nLine collision basic (x1) (y1) (x2) (y2) and (x) (y) ((x) + (length)) (y)\nif <(Lines Touching?) = [0]> then\n    Line collision basic (x1) (y1) (x2) (y2) and (x) (y) (x) ((y) - (width))\n    if <(Lines Touching?) = [0]> then\n        Line collision basic (x1) (y1) (x2) (y2) and ((x) + (length)) (y) ((x) + (length)) ((y) - (width))\n        if <(Lines Touching?) = [0]> then\n            Line collision basic (x1) (y1) (x2) (y2) and (x) ((y) - (width)) ((x) + (length)) ((y) - (width))\n        end\n    end\nend\n\nwhen flag clicked\nhide\nset volume to (100) %\nset size to ((1) / (0)) %\nset [color win v] to [white]\nset [menu v] to [1]\nset [submenu v] to [0]\nset [levels unlocked v] to [1]\nset [checkpoint v] to [1]\nset [player_x v] to [0]\nset [player_y v] to [0]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [level v] to [0]\nset [win circle trans v] to [100]\nset [water sound v] to [0]\nset [max scroll offset v] to [0]\nset [offset speed v] to [1]\nset up chars\nreset lists\nCheckpoints []\nlevel reset\nforever\n    change [game_frame v] by (1)\n    erase all\n    if <(menu) = [0]> then\n        reset lists\n        render\n        Draw text\n        if <(die) = [0]> then\n            Player Physics\n            draw player (round ((player_x) - (SCROLL X))) (round ((player_y) - (SCROLL Y))) [1]\n        else\n            if <(die) = [2]> then\n                draw player (round ((player_x) - (SCROLL X))) (round ((player_y) - (SCROLL Y))) [1]\n            end\n        end\n        make grass\n        Draw Particles\n    else\n        Draw menu\n    end\n    if <(color win) = [white]> then\n        set pen color to (#ffffff)\n    else\n        set pen color to (#000000)\n    end\n    set pen (transparency v) to (win circle trans)\n    draw circle [0] [0] [600]\n    Scroll\nend\n\ndefine draw player (x) (y) (size)\nif <(player_sx) > [0.5]> then\n    if <(eye_x-offset) < [4]> then\n        change [eye_x-offset v] by (2)\n    end\nelse\n    if <(player_sx) < [-0.5]> then\n        if <(eye_x-offset) > [-4]> then\n            change [eye_x-offset v] by (-2)\n        end\n    else\n        if <(eye_x-offset) > [0]> then\n            change [eye_x-offset v] by (-2)\n        else\n            if <(eye_x-offset) < [0]> then\n                change [eye_x-offset v] by (2)\n            end\n        end\n    end\nend\nif <(player_sy) > [3]> then\n    if <(eye_y-offset) < [4]> then\n        change [eye_y-offset v] by (2)\n    end\nelse\n    if <(player_sy) < [-3]> then\n        if <(eye_y-offset) > [-4]> then\n            change [eye_y-offset v] by (-2)\n        end\n    else\n        if <(eye_y-offset) > [0]> then\n            change [eye_y-offset v] by (-2)\n        else\n            if <(eye_y-offset) < [0]> then\n                change [eye_y-offset v] by (2)\n            end\n        end\n    end\nend\nset pen color to (#000000)\ndraw rect ((x) - ((20) * (size))) ((y) + ((20) * (size))) ((40) * (size)) ((40) * (size)) ((20) * (size)) [1]\nset pen color to (#d2d2d2)\ndraw circle (x) (y) ((30) * (size))\nset pen color to (#ffffff)\ndraw circle (x) (y) ((26) * (size))\nset pen color to (#a2a2a2)\ndraw circle (((x) - (size)) + ((eye_x-offset) * (size))) (((y) - (size)) + ((eye_y-offset) * (size))) ((19) * (size))\nset pen color to (#000000)\ndraw circle ((x) + ((eye_x-offset) * (size))) ((y) + ((eye_y-offset) * (size))) ((18) * (size))\nset pen color to (#3e3e3e)\ndraw circle (((x) + ((3) * (size))) + ((eye_x-offset) * (size))) (((y) + ((-2) * (size))) + ((eye_y-offset) * (size))) ((8) * (size))\nif <<(pick random (1) to (50)) = [1]> and <(blink frame) = [0]>> then\n    broadcast (blink v)\nend\nif <(blink frame) > [0]> then\n    set pen color to (#000000)\n    draw rect ((x) - ((16) * (size))) ((y) + ((16) * (size))) ((32) * (size)) ((blink frame) * (size)) [0] [1]\n    draw rect ((x) - ((16) * (size))) (((y) - ((16) * (size))) + ((blink frame) * (size))) ((32) * (size)) ((blink frame) * (size)) [0] [1]\nend\n\ndefine draw circle (x) (y) (size)\npen up\nset pen size to (size)\ngo to x: (x) y: (y)\npen down\npen up\n\nwhen I receive [blink v]\nset [blink frame v] to [0]\nrepeat until <(blink frame) = [18]>\n    change [blink frame v] by (3)\nend\nrepeat until <(blink frame) = [0]>\n    change [blink frame v] by (-3)\nend\n\ndefine draw line (x) (y) to (x2) (y2) size (size)\nset pen size to (size)\npen up\ngo to x: (x) y: (y)\npen down\ngo to x: (x2) y: (y2)\npen up\n\ndefine Make Platform (x) (y) (length) (width) (type) Moving: (x or y?) (mv distance) (mv speed) Top? (add top?) (if top no grass?)\nset [mv_offset v] to ((mv distance) * ([sin v] of ((game_frame) * (mv speed)) ))\nif <<(add top?) = [1]> and <(if top no grass?) = []>> then\n    add (length) to [grpl len v]\n    if < (x or y?) contains [x]?> then\n        add ((x) + ((mv distance) * ([sin v] of (((game_frame) + (1)) * (mv speed)) ))) to [grpl x v]\n    else\n        add (x) to [grpl x v]\n    end\n    if < (x or y?) contains [y]?> then\n        add ((y) + ((mv distance) * ([sin v] of (((game_frame) + (1)) * (mv speed)) ))) to [grpl y v]\n    else\n        add (y) to [grpl y v]\n    end\nend\nif <<<([abs v] of (((x) - (SCROLL X)) + (< (x or y?) contains [x]?> * (mv_offset))) ) < [300]> or <([abs v] of ((((x) + (length)) - (SCROLL X)) + (< (x or y?) contains [x]?> * (mv_offset))) ) < [300]>> or <<(x) < (SCROLL X)> and <((x) + (length)) > (SCROLL X)>>> then\n    if < (x or y?) contains [x]?> then\n        add ((x) + (mv_offset)) to [platform x v]\n    else\n        add (x) to [platform x v]\n    end\n    if < (x or y?) contains [y]?> then\n        add (((y) + (mv_offset)) + (add top?)) to [platform y v]\n    else\n        add ((y) + (add top?)) to [platform y v]\n    end\n    add (length) to [platform length v]\n    add ((width) + (add top?)) to [platform width v]\n    add (type) to [platform type v]\n    if <(x or y?) = [x]> then\n        add ((mv distance) * (([sin v] of ((game_frame) * (mv speed)) ) - ([sin v] of (((game_frame) - (1)) * (mv speed)) ))) to [platform dx v]\n        add [0] to [platform dy v]\n    else\n        if <(x or y?) = [y]> then\n            add ((mv distance) * (([sin v] of ((game_frame) * (mv speed)) ) - ([sin v] of (((game_frame) - (1)) * (mv speed)) ))) to [platform dy v]\n            add [0] to [platform dx v]\n        else\n            if <(x or y?) = [xy]> then\n                add ((mv distance) * (([sin v] of ((game_frame) * (mv speed)) ) - ([sin v] of (((game_frame) - (1)) * (mv speed)) ))) to [platform dx v]\n                add ((mv distance) * (([sin v] of ((game_frame) * (mv speed)) ) - ([sin v] of (((game_frame) - (1)) * (mv speed)) ))) to [platform dy v]\n            else\n                add [0] to [platform dx v]\n                add [0] to [platform dy v]\n            end\n        end\n    end\n    set pen color to (#693d13)\n    draw rect (((x) - (SCROLL X)) + (< (x or y?) contains [x]?> * (mv_offset))) (((y) - (SCROLL Y)) + (< (x or y?) contains [y]?> * (mv_offset))) (length) (width) [0] [1]\n    if <(add top?) = [1]> then\n        set pen color to (#56350f)\n        draw line ((((x) + (1)) - (SCROLL X)) + (< (x or y?) contains [x]?> * (mv_offset))) ((((y) - (16)) - (SCROLL Y)) + (< (x or y?) contains [y]?> * (mv_offset))) to ((((x) + (length)) - (SCROLL X)) + (< (x or y?) contains [x]?> * (mv_offset))) ((((y) - (16)) - (SCROLL Y)) + (< (x or y?) contains [y]?> * (mv_offset))) size [2]\n        set pen color to (#5eb716)\n        draw line ((((x) + (1)) - (SCROLL X)) + (< (x or y?) contains [x]?> * (mv_offset))) ((((y) - (10)) - (SCROLL Y)) + (< (x or y?) contains [y]?> * (mv_offset))) to ((((x) + (length)) - (SCROLL X)) + (< (x or y?) contains [x]?> * (mv_offset))) ((((y) - (10)) - (SCROLL Y)) + (< (x or y?) contains [y]?> * (mv_offset))) size [10]\n        set pen color to (#81e81a)\n        draw line ((((x) + (1)) - (SCROLL X)) + (< (x or y?) contains [x]?> * (mv_offset))) ((((y) - (3)) - (SCROLL Y)) + (< (x or y?) contains [y]?> * (mv_offset))) to ((((x) + (length)) - (SCROLL X)) + (< (x or y?) contains [x]?> * (mv_offset))) ((((y) - (3)) - (SCROLL Y)) + (< (x or y?) contains [y]?> * (mv_offset))) size [10]\n    end\nend\n\ndefine change y by (sy)\nchange [player_y v] by (sy)\nchange [in air v] by (1)\ntest collide platform [19] [20] []\nrepeat until <(Touching?) = [0]>\n    test collide platform [19] [20] []\n    if <(Touching?) = [1]> then\n        if <(sy) > [0]> then\n            change [player_y v] by (-1)\n        else\n            change [player_y v] by (1)\n            set [in air v] to [0]\n        end\n        set [player_sy v] to [0]\n    end\nend\n\ndefine test collide platform (x hitbox) (y-hitbox) (ignore)\nset [touching? v] to [0]\ndelete all of [collision v]\nset [i2 v] to [0]\nrepeat (length of [vanishing x v])\n    change [i2 v] by (1)\n    if <(item (i2) of [vanishing status v]) < [2]> then\n        if <<((player_x) + (19)) > (item (i2) of [vanishing x v])> and <<((player_y) + (20)) > ((item (i2) of [vanishing y v]) - (item (i2) of [vanishing width v]))> and <<((player_x) - (19)) < ((item (i2) of [vanishing x v]) + (item (i2) of [vanishing length v]))> and <((player_y) - (20)) < (item (i2) of [vanishing y v])>>>> then\n            add [1] to [collision v]\n            add [20] to [collision v]\n        end\n    end\nend\nset [i2 v] to [0]\nrepeat (length of [slope x v])\n    change [i2 v] by (1)\n    test collide rect: ((player_x) - (20)) ((player_y) + (20)) [40] [40] Line: ((item (i2) of [slope x v]) + (([cos v] of (([atan v] of (((item (i2) of [slope y2 v]) - (item (i2) of [slope y v])) / ((item (i2) of [slope x2 v]) - (item (i2) of [slope x v]))) ) + (90)) ) * (8))) ((item (i2) of [slope y v]) + (([sin v] of (([atan v] of (((item (i2) of [slope y2 v]) - (item (i2) of [slope y v])) / ((item (i2) of [slope x2 v]) - (item (i2) of [slope x v]))) ) + (90)) ) * (8))) ((item (i2) of [slope x2 v]) + (([cos v] of (([atan v] of (((item (i2) of [slope y2 v]) - (item (i2) of [slope y v])) / ((item (i2) of [slope x2 v]) - (item (i2) of [slope x v]))) ) + (90)) ) * (8))) ((item (i2) of [slope y2 v]) + (([sin v] of (([atan v] of (((item (i2) of [slope y2 v]) - (item (i2) of [slope y v])) / ((item (i2) of [slope x2 v]) - (item (i2) of [slope x v]))) ) + (90)) ) * (8)))\n    if <(Lines Touching?) = [1]> then\n        add [15] to [collision v]\n    end\nend\nset [i2 v] to [0]\nrepeat (length of [platform type v])\n    change [i2 v] by (1)\n    if <((player_x) + (x hitbox)) > (item (i2) of [platform x v])> then\n        if <((player_y) + (y-hitbox)) > ((item (i2) of [platform y v]) - (item (i2) of [platform width v]))> then\n            if <((player_x) - (x hitbox)) < ((item (i2) of [platform x v]) + (item (i2) of [platform length v]))> then\n                if <((player_y) - (20)) < (item (i2) of [platform y v])> then\n                    add (item (i2) of [platform type v]) to [collision v]\n                    set [mvpos v] to (i2)\n                    if <<(item (i2) of [platform type v]) > [6]> and <(item (i2) of [platform type v]) < [13]>> then\n                        replace item ((item (i2) of [platform type v]) - (6)) of [locked platform data v] with [1]\n                        start sound [Key v]\n                    end\n                end\n            end\n        end\n    end\nend\nif <<[collision v] contains [1]?> or <[collision v] contains [15]?>> then\n    set [touching? v] to [1]\n    stop [this script v]\nend\nif <(ignore) = []> then\n    Check Touching?\nend\n\ndefine change x by (sx)\nchange [player_x v] by (sx)\ntest collide platform [19] [20] []\nif <(Touching?) = [1]> then\n    repeat (8)\n        change [player_y v] by (1)\n        test collide platform [19] [20] []\n        if <(Touching?) = [0]> then\n            stop [this script v]\n        end\n    end\n    change [player_y v] by (-8)\n    repeat until <(Touching?) = [0]>\n        test collide platform [19] [20] []\n        if <(sx) > [0]> then\n            change [player_x v] by (-0.5)\n        else\n            change [player_x v] by (0.5)\n        end\n        set [player_sx v] to [0]\n    end\nend\n\ndefine Player Physics\nMoving Platform\ntest collide platform [19] [20] []\nif <(Touching?) = [1]> then\n    Find Closest Space to (player_x) (player_y) max: [50] from deg: [90] [450]\nend\ntest collide platform [19] [20] []\nif <[collision v] contains [5]?> then\n    if <not <<<key (up arrow v) pressed?> or <key (w v) pressed?>> or <<key (down arrow v) pressed?> or <key (s v) pressed?>>>> then\n        if <(player_sy) > [-1]> then\n            change [player_sy v] by (-1)\n        end\n        if <(player_sy) < [-1]> then\n            if <(player_sy) < [-7]> then\n                set [player_sy v] to [-7]\n            else\n                change [player_sy v] by (1)\n            end\n        end\n    end\nelse\n    if <(player_sy) > [-20]> then\n        change [player_sy v] by (-2)\n    end\nend\nif <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n    change [jump timer v] by (1)\n    if <[collision v] contains [5]?> then\n        set [player_sy v] to [7]\n        if <(water sound) = [0]> then\n            broadcast (water v)\n        end\n    else\n        if <(in air) < [4]> then\n            set [player_sy v] to [16]\n        end\n    end\nelse\n    set [jump timer v] to [0]\nend\nif <<key (down arrow v) pressed?> or <key (s v) pressed?>> then\n    if <[collision v] contains [5]?> then\n        set [player_sy v] to [-7]\n        if <(water sound) = [0]> then\n            broadcast (water v)\n        end\n    end\n    change [player_x v] by (-3)\n    test collide platform [19] [20] []\n    if <[collision v] contains [15]?> then\n        if <(slope starter) = [0]> then\n            start sound [Slopes v]\n        end\n        set [slope starter v] to [1]\n        change [player_sx v] by (5)\n        change [player_sy v] by (-14)\n        change [player_x v] by (3)\n    else\n        change [player_x v] by (6)\n        test collide platform [19] [20] []\n        if <[collision v] contains [15]?> then\n            if <(slope starter) = [0]> then\n                start sound [Slopes v]\n            end\n            set [slope starter v] to [1]\n            change [player_sx v] by (-5)\n            change [player_sy v] by (-14)\n            change [player_x v] by (-3)\n        else\n            change [player_x v] by (-3)\n        end\n    end\nelse\n    set [slope starter v] to [0]\nend\nTramp Collisions\nOrb Collisions\nif <<key (right arrow v) pressed?> or <key (d v) pressed?>> then\n    change [player_sx v] by (2)\nend\nif <<key (left arrow v) pressed?> or <key (a v) pressed?>> then\n    change [player_sx v] by (-2)\nend\nset [player_sx v] to ((player_sx) * (0.8))\nif <([abs v] of (player_sx) ) > [0.5]> then\n    change x by (round (player_sx))\nend\nchange y by (player_sy)\ntest collide platform [19] [20] []\ntest collide saw\nif <<[collision v] contains [3]?> or <(player_y) < [-200]>> then\n    broadcast (die v)\nend\ntest collide platform [19] [20] []\nif <(Touching?) = [1]> then\n    Find Closest Space to (player_x) (player_y) max: [50] from deg: [90] [450]\nend\n\nif <<(water sound) = [0]> and <(pick random (1) to (20)) = [1]>> then\n    broadcast (water v)\nend\n\ndefine Check Touching?\nset [touching? v] to [0]\nif <[collision v] contains [2]?> then\n    if <(Cloud Colliding) = [0]> then\n        change [player_y v] by (-6)\n        test collide platform [14] [0] [1]\n        if <[collision v] contains [2]?> then\n            if <not <<key (down arrow v) pressed?> or <key (s v) pressed?>>> then\n                set [touching? v] to [1]\n                set [cloud check v] to [0]\n            else\n                if <(cloud check) = [0]> then\n                    start sound [Slopes v]\n                end\n                set [cloud check v] to [1]\n            end\n        else\n            set [cloud colliding v] to [1]\n        end\n        change [player_y v] by (6)\n    end\nelse\n    set [cloud colliding v] to [0]\nend\n\ndefine Moving Platform\nset [mv dx v] to [0]\nset [mv dy v] to [0]\nchange [player_y v] by (-10)\ntest collide platform [19] [20] []\nif <(in air) < [1]> then\n    if <not <<[collision v] contains [15]?> or <[collision v] contains [20]?>>> then\n        change [mv dx v] by (item (mvpos) of [platform dx v])\n        change [mv dy v] by (item (mvpos) of [platform dy v])\n        change [player_x v] by (mv dx)\n        change [player_y v] by (mv dy)\n    end\nend\nchange [player_y v] by (10)\nif <(player_sx) > [0.5]> then\n    change [player_x v] by (-1)\nelse\n    set [touching? v] to [1]\nend\n\ndefine Find Closest Space to (x) (y) max: (max) from deg: (deg1) (deg2)\nset [collision_rad v] to [1]\nrepeat (max)\n    set [collision_deg v] to (deg1)\n    repeat (((deg2) - (deg1)) / (22.5))\n        set [player_x v] to (round ((x) + ((collision_rad) * ([sin v] of (collision_deg) ))))\n        set [player_y v] to (round ((y) + ((collision_rad) * ([cos v] of (collision_deg) ))))\n        test collide platform [19] [20] []\n        if <(Touching?) = [0]> then\n            set [player_x v] to (x)\n            test collide platform [19] [20] []\n            if <(Touching?) = [1]> then\n                set [player_x v] to (round ((x) + ((collision_rad) * ([sin v] of (collision_deg) ))))\n            end\n            stop [this script v]\n        end\n        change [collision_deg v] by (22.5)\n    end\n    change [collision_rad v] by (1)\nend\n\ndefine Make Cloud (x) (y) (length) (x-offsets) (y-offsets) (sizes)\nif <<([abs v] of ((x) - (SCROLL X)) ) < [300]> or <([abs v] of (((x) + (length)) - (SCROLL X)) ) < [300]>> then\n    add ((x) - (3)) to [platform x v]\n    add ((y) + (5)) to [platform y v]\n    add ((length) + (6)) to [platform length v]\n    add [10] to [platform width v]\n    add [2] to [platform type v]\n    add [0] to [platform dx v]\n    add [0] to [platform dy v]\n    if <<(Level) = [3]> or <(Level) = [4]>> then\n        set pen color to (#aab3bd)\n    else\n        set pen color to (#ffecec)\n    end\n    draw line ((x) - (SCROLL X)) ((y) - (SCROLL Y)) to (((x) + (length)) - (SCROLL X)) ((y) - (SCROLL Y)) size [16]\n    draw line (((x) + (6)) - (SCROLL X)) (((y) + (6)) - (SCROLL Y)) to (((x) + ((length) - (10))) - (SCROLL X)) (((y) + (6)) - (SCROLL Y)) size [14]\n    draw line (((x) + (20)) - (SCROLL X)) (((y) + (12)) - (SCROLL Y)) to (((x) + ((length) - (17))) - (SCROLL X)) (((y) + (12)) - (SCROLL Y)) size [10]\n    delete all of [cloud_circle_size v]\n    delete all of [cloud_circle_x v]\n    delete all of [cloud_circle_y v]\n    add [] to [cloud_circle_size v]\n    add [] to [cloud_circle_x v]\n    add [] to [cloud_circle_y v]\n    set [i5 v] to [0]\n    set [i6 v] to [1]\n    repeat (length of (x-offsets))\n        change [i5 v] by (1)\n        if <(letter (i5) of (x-offsets)) = [/]> then\n            change [i6 v] by (1)\n            add [] to [cloud_circle_x v]\n        else\n            replace item (i6) of [cloud_circle_x v] with (join (item (i6) of [cloud_circle_x v]) (letter (i5) of (x-offsets)))\n        end\n    end\n    set [i5 v] to [0]\n    set [i6 v] to [1]\n    repeat (length of (y-offsets))\n        change [i5 v] by (1)\n        if <(letter (i5) of (y-offsets)) = [/]> then\n            change [i6 v] by (1)\n            add [] to [cloud_circle_y v]\n        else\n            replace item (i6) of [cloud_circle_y v] with (join (item (i6) of [cloud_circle_y v]) (letter (i5) of (y-offsets)))\n        end\n    end\n    set [i5 v] to [0]\n    set [i6 v] to [1]\n    repeat (length of (sizes))\n        change [i5 v] by (1)\n        if <(letter (i5) of (sizes)) = [/]> then\n            change [i6 v] by (1)\n            add [] to [cloud_circle_size v]\n        else\n            replace item (i6) of [cloud_circle_size v] with (join (item (i6) of [cloud_circle_size v]) (letter (i5) of (sizes)))\n        end\n    end\n    set [i5 v] to [0]\n    repeat (length of [cloud_circle_size v])\n        change [i5 v] by (1)\n        draw circle (((x) + (item (i5) of [cloud_circle_x v])) - (SCROLL X)) (((y) + (item (i5) of [cloud_circle_y v])) - (SCROLL Y)) (item (i5) of [cloud_circle_size v])\n    end\nend\n\ndefine draw arc (x) (y) (rad1) (rad2) (deg1) (deg2) (size) (filled?)\npen up\nset [deg v] to (deg1)\nrepeat ((((deg2) - (deg1)) / (15)) + (1))\n    if <(filled?) = [1]> then\n        draw line (x) (y) to ((x) + ((rad1) * ([cos v] of (deg) ))) ((y) + ((rad2) * ([sin v] of (deg) ))) size (size)\n        change [deg v] by (15)\n    else\n        set pen size to (size)\n        go to x: ((x) + ((rad1) * ([cos v] of (deg) ))) y: ((y) + ((rad2) * ([sin v] of (deg) )))\n        pen down\n        change [deg v] by (15)\n    end\nend\n\ndefine Make Tramp (x) (y)\nchange [tv v] by (1)\nadd (x) to [no grass x1 v]\nadd ((x) + (50)) to [no grass x2 v]\nadd ((y) - (50)) to [no grass y v]\nadd (x) to [tramp x v]\nadd ((y) - (item (tv) of [tramp extend v])) to [tramp y v]\nif <(length of [tramp extend v]) < (tv)> then\n    add [0] to [tramp extend v]\nend\nif <([abs v] of ((x) - (SCROLL X)) ) < [320]> then\n    set pen color to (#aab5b3)\n    draw line (((x) + (25)) - (SCROLL X)) ((((y) - (10)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) to (((x) + (5)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) size [8]\n    draw line (((x) + (25)) - (SCROLL X)) ((((y) - (42)) - (SCROLL Y)) - ()) to (((x) + (5)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) size [8]\n    draw line (((x) + (25)) - (SCROLL X)) ((((y) - (10)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) to (((x) + (45)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) size [8]\n    draw line (((x) + (25)) - (SCROLL X)) ((((y) - (42)) - (SCROLL Y)) - ()) to (((x) + (45)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) size [8]\n    set pen color to (#d3e0de)\n    draw line (((x) + (25)) - (SCROLL X)) ((((y) - (10)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) to (((x) + (5)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) size [6]\n    draw line (((x) + (25)) - (SCROLL X)) ((((y) - (42)) - (SCROLL Y)) - ()) to (((x) + (5)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) size [6]\n    draw line (((x) + (25)) - (SCROLL X)) ((((y) - (10)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) to (((x) + (45)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) size [6]\n    draw line (((x) + (25)) - (SCROLL X)) ((((y) - (42)) - (SCROLL Y)) - ()) to (((x) + (45)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) size [6]\n    set pen color to (#aab5b3)\n    draw circle (((x) + (7)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) [12]\n    draw circle (((x) + (43)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) [12]\n    set pen color to (#d3e0de)\n    draw circle (((x) + (7)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) [10]\n    draw circle (((x) + (43)) - (SCROLL X)) ((((y) - (26)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) [10]\n    set pen color to (#e4d32f)\n    draw rect ((x) - (SCROLL X)) (((y) - (SCROLL Y)) - (item (tv) of [tramp extend v])) [50] [16] [6] [0]\n    draw rect ((x) - (SCROLL X)) (((y) - (36)) - (SCROLL Y)) [50] [16] [6] [0]\n    set pen color to (#f5e333)\n    draw rect (((x) + (2)) - (SCROLL X)) ((((y) - (2)) - (SCROLL Y)) - (item (tv) of [tramp extend v])) [46] [12] [6] [1]\n    draw rect (((x) + (2)) - (SCROLL X)) (((y) - (38)) - (SCROLL Y)) [46] [12] [6] [1]\n    set pen color to (#f5e333)\nend\n\ndefine Tramp Collisions\nset [i2 v] to [0]\nrepeat (length of [tramp x v])\n    change [i2 v] by (1)\n    if <(item (i2) of [tramp extend v]) > [0]> then\n        replace item (i2) of [tramp extend v] with ((item (i2) of [tramp extend v]) - (5))\n    end\n    if <((player_x) + (19)) > (item (i2) of [tramp x v])> then\n        if <((player_y) + (20)) > ((item (i2) of [tramp y v]) - (52))> then\n            if <((player_x) - (19)) < ((item (i2) of [tramp x v]) + (50))> then\n                if <((player_y) - (20)) < (item (i2) of [tramp y v])> then\n                    if <(item (i2) of [tramp extend v]) = [0]> then\n                        start sound [Tramp v]\n                    end\n                    set [player_sy v] to [30]\n                    replace item (i2) of [tramp extend v] with [20]\n                end\n            end\n        end\n    end\nend\n\ndefine Make Vanishing Block (x) (y) (length) (width)\nchange [v.id v] by (1)\nadd (x) to [vanishing x v]\nadd (y) to [vanishing y v]\nadd (length) to [vanishing length v]\nadd (width) to [vanishing width v]\nif <(length of [vanishing status v]) < (v.id)> then\n    add [0] to [vanishing status v]\n    add [0] to [last vanishing status v]\nend\nif <(item (v.id) of [vanishing status v]) < [2]> then\n    change [player_y v] by (-1)\n    if <<((player_x) + (19)) > (item (v.id) of [vanishing x v])> and <<((player_y) + (20)) > ((item (v.id) of [vanishing y v]) - (item (v.id) of [vanishing width v]))> and <<((player_x) - (19)) < ((item (v.id) of [vanishing x v]) + (item (v.id) of [vanishing length v]))> and <((player_y) - (20)) < (item (v.id) of [vanishing y v])>>>> then\n        replace item (v.id) of [vanishing status v] with [1]\n    else\n        replace item (v.id) of [vanishing status v] with [0]\n    end\n    change [player_y v] by (1)\n    if <<(item (v.id) of [vanishing status v]) = [0]> and <(item (v.id) of [last vanishing status v]) = [1]>> then\n        replace item (v.id) of [vanishing status v] with [2]\n        repeat ((length) / (8))\n            Add Particle Color: [0] [0] (((10) * ([sin v] of (i8) )) + ((31) + ((10) * ([sin v] of ((game_frame) * (10)) )))) Trans. [20] X: (((x) + ((length) / (2))) + (pick random (round (() - ((length) / (4)))) to ((length) / (4)))) Y: (((y) - ((width) / (2))) + (pick random (round (() - ((width) / (4)))) to ((width) / (4)))) Dir: (pick random (30) to (150)) Speed [9] Size: [18]\n        end\n        start sound [Block Break v]\n    end\n    if <<([abs v] of ((x) - (SCROLL X)) ) < [300]> or <([abs v] of (((x) + (length)) - (SCROLL X)) ) < [300]>> then\n        set pen color to (#696969)\n        set pen (brightness v) to ((31) + ((10) * ([sin v] of ((game_frame) * (10)) )))\n        draw rect (((x) - (SCROLL X)) + (<(x or y?) = [x]> * (mv_offset))) (((y) - (SCROLL Y)) + (<(x or y?) = [y]> * (mv_offset))) (length) (width) [0] [1]\n        set pen color to (#565656)\n        set pen (brightness v) to ((23) + ((10) * ([sin v] of ((game_frame) * (10)) )))\n        draw line ((((x) + (1)) - (SCROLL X)) + (<(x or y?) = [x]> * (mv_offset))) ((((y) - (16)) - (SCROLL Y)) + (<(x or y?) = [y]> * (mv_offset))) to ((((x) + (length)) - (SCROLL X)) + (<(x or y?) = [x]> * (mv_offset))) ((((y) - (16)) - (SCROLL Y)) + (<(x or y?) = [y]> * (mv_offset))) size [2]\n        set pen color to (#b7b7b7)\n        set pen (brightness v) to ((61) + ((10) * ([sin v] of ((game_frame) * (10)) )))\n        draw line ((((x) + (1)) - (SCROLL X)) + (<(x or y?) = [x]> * (mv_offset))) ((((y) - (10)) - (SCROLL Y)) + (<(x or y?) = [y]> * (mv_offset))) to ((((x) + (length)) - (SCROLL X)) + (<(x or y?) = [x]> * (mv_offset))) ((((y) - (10)) - (SCROLL Y)) + (<(x or y?) = [y]> * (mv_offset))) size [10]\n        set pen color to (#e8e8e8)\n        set pen (brightness v) to ((80) + ((10) * ([sin v] of ((game_frame) * (10)) )))\n        draw line ((((x) + (1)) - (SCROLL X)) + (<(x or y?) = [x]> * (mv_offset))) ((((y) - (3)) - (SCROLL Y)) + (<(x or y?) = [y]> * (mv_offset))) to ((((x) + (length)) - (SCROLL X)) + (<(x or y?) = [x]> * (mv_offset))) ((((y) - (3)) - (SCROLL Y)) + (<(x or y?) = [y]> * (mv_offset))) size [10]\n    end\n    replace item (v.id) of [last vanishing status v] with (item (v.id) of [vanishing status v])\nend\n\ndefine Make Slope (x) (y) to (x2) (y2)\npoint in direction (90)\nadd (x) to [slope x v]\nadd (y) to [slope y v]\nadd (x2) to [slope x2 v]\nadd (y2) to [slope y2 v]\nif <<<([abs v] of ((x) - (SCROLL X)) ) < [300]> or <([abs v] of ((x2) - (SCROLL X)) ) < [300]>> or <<(SCROLL X) > (x)> and <(SCROLL X) < (x2)>>> then\n    set pen color to (#543e25)\n    draw line ((x) - (SCROLL X)) ((y) - (SCROLL Y)) to ((x2) - (SCROLL X)) ((y2) - (SCROLL Y)) size [24]\n    set pen color to (#735433)\n    draw line ((x) - (SCROLL X)) ((y) - (SCROLL Y)) to ((x2) - (SCROLL X)) ((y2) - (SCROLL Y)) size [18]\n    set pen color to (#88643d)\n    draw line ((x) - (SCROLL X)) ((y) - (SCROLL Y)) to ((x2) - (SCROLL X)) ((y2) - (SCROLL Y)) size [12]\n    set pen color to (#ffffff)\nend\n\ndefine Make Spike (x) (y) (length) (height) Point: (dir)\nrepeat (2)\n    add (x) to [no grass x1 v]\n    if <<(dir) = [up]> or <(dir) = [down]>> then\n        add ((x) + (length)) to [no grass x2 v]\n    else\n        add ((x) + (height)) to [no grass x2 v]\n    end\nend\nif <<(dir) = [up]> or <(dir) = [down]>> then\n    add ((y) - (height)) to [no grass y v]\nelse\n    add ((y) - (length)) to [no grass y v]\nend\nadd (y) to [no grass y v]\nif <([abs v] of ((x) - (SCROLL X)) ) < [300]> then\n    add [3] to [platform type v]\n    add (x) to [platform x v]\n    add (y) to [platform y v]\n    add [0] to [platform dx v]\n    add [0] to [platform dy v]\n    if <(dir) = [up]> then\n        add (length) to [platform length v]\n        add (height) to [platform width v]\n        set pen color to (#808080)\n        draw line (((x) + ((length) / (2))) - (SCROLL X)) ((y) - (SCROLL Y)) to (((x) + (length)) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) size [8]\n        draw line (((x) + (length)) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) to (((x) + ((length) / (2))) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) size [8]\n        draw line (((x) + ((length) / (2))) - (SCROLL X)) (((y) - ()) - (SCROLL Y)) to (((x) + ((length) / (2))) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) size [6]\n        set pen color to (#b3b3b3)\n        draw line (((x) + ((length) / (2))) - (SCROLL X)) (((y) - (-1)) - (SCROLL Y)) to ((x) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) size [8]\n        draw line ((x) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) to (((x) + ((length) / (2))) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) size [8]\n        draw line (((x) + ((length) / (2))) - (SCROLL X)) ((y) - (SCROLL Y)) to (((x) + ((length) / (2))) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) size [8]\n    end\n    if <(dir) = [down]> then\n        add (length) to [platform length v]\n        add (height) to [platform width v]\n        set pen color to (#808080)\n        draw line (((x) + (length)) - (SCROLL X)) ((y) - (SCROLL Y)) to (((x) + ((length) / (2))) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) size [8]\n        draw line (((x) + ((length) / (2))) - (SCROLL X)) (((y) - ()) - (SCROLL Y)) to (((x) + (length)) - (SCROLL X)) (((y) - ()) - (SCROLL Y)) size [8]\n        draw line (((x) + ((length) / (2))) - (SCROLL X)) (((y) - (-1)) - (SCROLL Y)) to (((x) + ((length) / (2))) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) size [6]\n        set pen color to (#b3b3b3)\n        draw line ((x) - (SCROLL X)) ((y) - (SCROLL Y)) to (((x) + ((length) / (2))) - (SCROLL X)) ((((y) - (height)) - (SCROLL Y)) - (1)) size [8]\n        draw line ((x) - (SCROLL X)) (((y) - ()) - (SCROLL Y)) to (((x) + ((length) / (2))) - (SCROLL X)) (((y) - ()) - (SCROLL Y)) size [8]\n        draw line (((x) + ((length) / (2))) - (SCROLL X)) ((y) - (SCROLL Y)) to (((x) + ((length) / (2))) - (SCROLL X)) (((y) - (height)) - (SCROLL Y)) size [8]\n    end\n    if <(dir) = [right]> then\n        add (length) to [platform width v]\n        add (height) to [platform length v]\n        set pen color to (#808080)\n        draw line ((x) - (SCROLL X)) ((y) - (SCROLL Y)) to (((x) + (height)) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) size [8]\n        draw line ((x) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) to ((x) - (SCROLL X)) ((y) - (SCROLL Y)) size [8]\n        draw line ((x) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) to (((x) + (height)) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) size [6]\n        set pen color to (#b3b3b3)\n        draw line ((x) - (SCROLL X)) (((y) - (length)) - (SCROLL Y)) to (((x) + ((height) + (1))) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) size [8]\n        draw line ((x) - (SCROLL X)) (((y) - (length)) - (SCROLL Y)) to ((x) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) size [8]\n        draw line ((x) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) to (((x) + (height)) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) size [8]\n    end\n    if <(dir) = [left]> then\n        add (length) to [platform width v]\n        add (height) to [platform length v]\n        set pen color to (#808080)\n        draw line ((x) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) to (((x) + (height)) - (SCROLL X)) ((y) - (SCROLL Y)) size [8]\n        draw line (((x) + (height)) - (SCROLL X)) ((y) - (SCROLL Y)) to (((x) + (height)) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) size [8]\n        draw line ((x) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) to (((x) + (height)) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) size [6]\n        set pen color to (#b3b3b3)\n        draw line (((x) + (height)) - (SCROLL X)) (((y) - (length)) - (SCROLL Y)) to (((x) + (-1)) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) size [8]\n        draw line (((x) + (height)) - (SCROLL X)) (((y) - (length)) - (SCROLL Y)) to (((x) + (height)) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) size [8]\n        draw line ((x) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) to (((x) + (height)) - (SCROLL X)) (((y) - ((length) / (2))) - (SCROLL Y)) size [8]\n    end\nend\n\ndefine reset\nset [exit extend v] to [0]\nset [die v] to [0]\nset [exit bright v] to [0]\nset [blink frame v] to [0]\nset [player_x v] to (item (checkpoint) of [checkpoint x v])\nset [player_y v] to ((item (checkpoint) of [checkpoint y v]) - (80))\nset [player_sx v] to [0]\nset [player_sy v] to [0]\nset [saw_deg v] to [0]\ndelete all of [tramp extend v]\ndelete all of [last vanishing status v]\ndelete all of [vanishing status v]\ndelete all of [checkpoint extend v]\ndelete all of [enemy die v]\ndelete all of [enemy x_offset v]\ndelete all of [enemy y_offset v]\ndelete all of [enemy x v]\ndelete all of [enemy y v]\ndelete all of [enemy sx v]\ndelete all of [enemy sy v]\ndelete all of [enemy ai timer x v]\ndelete all of [enemy ai timer y v]\ndelete all of [enemy ai keys? v]\ndelete all of [locked platform data v]\ndelete all of [locked platform offset v]\ndelete all of [orb extend v]\ndelete all of [particle color v]\ndelete all of [particle saturation v]\ndelete all of [particle brightness v]\ndelete all of [particle dir v]\ndelete all of [particle speed v]\ndelete all of [particle transparency v]\ndelete all of [particle x v]\ndelete all of [particle y v]\ndelete all of [particle size v]\ndelete all of [particle_sy v]\nrepeat (6)\n    add [0] to [locked platform data v]\n    add [0] to [locked platform offset v]\nend\nadd ((width) + (add top?)) to [platform width v]\nadd (type) to [platform type v]\n\ndefine Add Saw (x) (y) (size)\nadd ((x) - ((size) + (0))) to [no grass x1 v]\nadd ((x) + ((size) + (0))) to [no grass x2 v]\nadd (y) to [no grass y v]\nif <([abs v] of ((x) - (SCROLL X)) ) < [320]> then\n    add (x) to [saw x v]\n    add (y) to [saw y v]\n    add (size) to [saw size v]\n    set [i7 v] to [0]\n    repeat (10)\n        set pen color to (#777777)\n        draw line (((x) + ((((size) / (2)) + (-5)) * ([cos v] of (((saw_deg) + (i7)) + (10)) ))) - (SCROLL X)) (((y) + ((((size) / (2)) + (-5)) * ([sin v] of (((saw_deg) + (i7)) + (10)) ))) - (SCROLL Y)) to (((x) + ((((size) / (2)) + (8)) * ([cos v] of (((saw_deg) + (i7)) + (6)) ))) - (SCROLL X)) (((y) + ((((size) / (2)) + (8)) * ([sin v] of (((saw_deg) + (i7)) + (6)) ))) - (SCROLL Y)) size [7]\n        draw line (((x) + ((((size) / (2)) + (-5)) * ([cos v] of (((saw_deg) + (i7)) + (-10)) ))) - (SCROLL X)) (((y) + ((((size) / (2)) + (-5)) * ([sin v] of (((saw_deg) + (i7)) + (-10)) ))) - (SCROLL Y)) to (((x) + ((((size) / (2)) + (8)) * ([cos v] of (((saw_deg) + (i7)) + (6)) ))) - (SCROLL X)) (((y) + ((((size) / (2)) + (8)) * ([sin v] of (((saw_deg) + (i7)) + (6)) ))) - (SCROLL Y)) size [7]\n        change [i7 v] by (36)\n    end\n    set pen color to (#9e9e9e)\n    draw circle ((x) - (SCROLL X)) ((y) - (SCROLL Y)) (size)\n    set pen color to (#848484)\n    draw circle ((x) - (SCROLL X)) ((y) - (SCROLL Y)) ((size) - (15))\n    set pen color to (#717171)\n    draw circle ((x) - (SCROLL X)) ((y) - (SCROLL Y)) ((size) - (25))\n    set [i7 v] to [0]\n    repeat (10)\n        set pen color to (#757575)\n        draw circle (((x) + ((((size) / (2)) + (-4)) * ([cos v] of ((saw_deg) + (i7)) ))) - (SCROLL X)) (((y) + ((((size) / (2)) + (-4)) * ([sin v] of ((saw_deg) + (i7)) ))) - (SCROLL Y)) [5]\n        change [i7 v] by (36)\n    end\nend\n\ndefine test collide saw\nset [i2 v] to [0]\nrepeat (length of [saw x v])\n    change [i2 v] by (1)\n    test collide Rect: ((player_x) - (20)) ((player_y) + (20)) [40] [40] Circle: (item (i2) of [saw x v]) (item (i2) of [saw y v]) (item (i2) of [saw size v])\n    if <(Collide) = [1]> then\n        add [3] to [collision v]\n    end\nend\n\ndefine Make water (x) (y) (length) (width)\nif <<<([abs v] of (((x) + (length)) - (SCROLL X)) ) < [300]> or <([abs v] of ((x) - (SCROLL X)) ) < [300]>> or <<(x) < (SCROLL X)> and <((x) + (length)) > (SCROLL X)>>> then\n    add [5] to [platform type v]\n    add (x) to [platform x v]\n    add (y) to [platform y v]\n    add (length) to [platform length v]\n    add (width) to [platform width v]\n    add [0] to [platform dx v]\n    add [0] to [platform dy v]\n    set [waterloops v] to [0]\n    set pen color to (#12b2c7)\n    set pen (transparency v) to (40)\n    repeat ((length) / (4))\n        draw line (((x) + (waterloops)) - (SCROLL X)) ((((y) + ((5) * ([cos v] of (((game_frame) + (waterloops)) * (4)) ))) + ((3) * ([sin v] of ((game_frame) * (5)) ))) - (SCROLL Y)) to (((x) + (waterloops)) - (SCROLL X)) (((y) - (width)) - (SCROLL Y)) size [4]\n        change [waterloops v] by (4)\n    end\nend\n\ndefine Make lava (x) (y) (length) (width)\nif <<<([abs v] of (((x) + (length)) - (SCROLL X)) ) < [300]> or <([abs v] of ((x) - (SCROLL X)) ) < [300]>> or <<(x) < (SCROLL X)> and <((x) + (length)) > (SCROLL X)>>> then\n    add [3] to [platform type v]\n    add (x) to [platform x v]\n    add (y) to [platform y v]\n    add (length) to [platform length v]\n    add (width) to [platform width v]\n    add [0] to [platform dx v]\n    add [0] to [platform dy v]\n    set [waterloops v] to [0]\n    set pen color to (#d02b2b)\n    repeat ((length) / (4))\n        draw line (((x) + (waterloops)) - (SCROLL X)) ((((y) + ((6) * ([cos v] of (((game_frame) + (waterloops)) * (3)) ))) + ((3) * ([sin v] of ((game_frame) * (3.5)) ))) - (SCROLL Y)) to (((x) + (waterloops)) - (SCROLL X)) (((y) - (width)) - (SCROLL Y)) size [4]\n        change [waterloops v] by (4)\n    end\nend\n\ndefine Make checkpoint (x) (y) (draw?)\nchange [cv v] by (1)\nif <(length of [checkpoint extend v]) < (cv)> then\n    add [0] to [checkpoint extend v]\nend\nadd (x) to [checkpoint x v]\nadd (y) to [checkpoint y v]\nadd ((x) - (7)) to [no grass x1 v]\nadd ((x) - (-9)) to [no grass x2 v]\nadd ((y) - (95)) to [no grass y v]\nif <(item (cv) of [checkpoint extend v]) > [0]> then\n    replace item (cv) of [checkpoint extend v] with ((item (cv) of [checkpoint extend v]) - (20))\nend\nif <(draw?) = []> then\n    if <([abs v] of ((x) - (SCROLL X)) ) < [300]> then\n        if <(checkpoint) < (cv)> then\n            set pen color to (#c7c7c7)\n        else\n            set pen color to (#34aac7)\n            set pen (saturation v) to ((73) - (item (cv) of [checkpoint extend v]))\n        end\n        set pen (brightness v) to ((78) + (item (cv) of [checkpoint extend v]))\n        Draw Right Triangle (((x) + (5)) - (SCROLL X)) (((y) - (20)) - (SCROLL Y)) [40] [20] [1] [1]\n        if <(checkpoint) < (cv)> then\n            set pen color to (#dedede)\n        else\n            set pen color to (#3bbdde)\n            set pen (saturation v) to ((73) - (item (cv) of [checkpoint extend v]))\n        end\n        set pen (brightness v) to ((87) + (item (cv) of [checkpoint extend v]))\n        Draw Right Triangle (((x) + (5)) - (SCROLL X)) (((y) - (20)) - (SCROLL Y)) [40] [20] [1] [-1]\n        set pen color to (#b5b5b5)\n        set pen (brightness v) to ((70) + (item (cv) of [checkpoint extend v]))\n        draw line (((x) - (3)) - (SCROLL X)) ((y) - (SCROLL Y)) to (((x) - (3)) - (SCROLL X)) (((y) - (100)) - (SCROLL Y)) size [12]\n        set pen color to (#cecece)\n        set pen (brightness v) to ((80) + (item (cv) of [checkpoint extend v]))\n        draw line ((x) - (SCROLL X)) ((y) - (SCROLL Y)) to ((x) - (SCROLL X)) (((y) - (100)) - (SCROLL Y)) size [12]\n    end\nend\nif <<((player_x) + (19)) > (x)> and <<((player_y) + (20)) > ((y) - (100))> and <<((player_x) - (19)) < ((x) + (40))> and <((player_y) - (20)) < (y)>>>> then\n    if <(cv) > (checkpoint)> then\n        change [checkpoint v] by (1)\n        replace item (cv) of [checkpoint extend v] with [200]\n        repeat (10)\n            Add Particle Color: [53] (pick random (50) to (73)) (pick random (78) to (95)) Trans. [0] X: ((x) + (5)) Y: ((y) - (20)) Dir: (pick random (-30) to (210)) Speed [10] Size: [18]\n        end\n        start sound [Checkpoint v]\n    end\nend\n\ndefine Make Enemy (x) (y) mv: (dist) (speed) Type: (type)\nchange [ev v] by (1)\nif <(length of [enemy die v]) < (ev)> then\n    add [0] to [enemy die v]\n    add [0] to [enemy x_offset v]\n    add [0] to [enemy y_offset v]\n    add (x) to [enemy x v]\n    add (y) to [enemy y v]\n    add [0] to [enemy sx v]\n    add [0] to [enemy sy v]\n    add [0] to [enemy ai timer x v]\n    add [0] to [enemy ai timer y v]\n    add [000] to [enemy ai keys? v]\nend\nif <(item (ev) of [enemy die v]) < [1]> then\n    find distance (player_x) (player_y) ((item (ev) of [enemy x v]) + (20)) ((item (ev) of [enemy y v]) - (20))\n    if <not <<(type) = [2]> and <(distance) < [600]>>> then\n        replace item (ev) of [enemy x v] with ((x) + ((dist) * ([sin v] of ((game_frame) * (speed)) )))\n        replace item (ev) of [enemy sx v] with ((item (ev) of [enemy x v]) - ((x) + ((dist) * ([sin v] of (((game_frame) - (1)) * (speed)) ))))\n    else\n        if <(item (ev) of [enemy ai timer x v]) = [0]> then\n            if <(player_x) < ((item (ev) of [enemy x v]) + (20))> then\n                if <(pick random (1) to (4)) > [1]> then\n                    replace item (ev) of [enemy ai keys? v] with (join [1] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [0]))\n                else\n                    if <(pick random (1) to (2)) = [1]> then\n                        replace item (ev) of [enemy ai keys? v] with (join [0] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [1]))\n                    else\n                        replace item (ev) of [enemy ai keys? v] with (join [0] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [0]))\n                    end\n                end\n            else\n                if <(pick random (1) to (4)) > [1]> then\n                    replace item (ev) of [enemy ai keys? v] with (join [0] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [1]))\n                else\n                    if <(pick random (1) to (2)) = [1]> then\n                        replace item (ev) of [enemy ai keys? v] with (join [1] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [0]))\n                    else\n                        replace item (ev) of [enemy ai keys? v] with (join [0] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [0]))\n                    end\n                end\n            end\n            if <<(letter (1) of (item (ev) of [enemy ai keys? v])) = [0]> and <(letter (3) of (item (ev) of [enemy ai keys? v])) = [0]>> then\n                replace item (ev) of [enemy ai timer x v] with [8]\n            else\n                replace item (ev) of [enemy ai timer x v] with [12]\n            end\n        else\n            if <(item (ev) of [enemy ai timer x v]) > [0]> then\n                replace item (ev) of [enemy ai timer x v] with ((item (ev) of [enemy ai timer x v]) - (1))\n            end\n        end\n        if <(item (ev) of [enemy y v]) = (y)> then\n            if <(item (ev) of [enemy ai timer y v]) = [0]> then\n                if <((player_y) - (-20)) > (item (ev) of [enemy y v])> then\n                    if <(pick random (1) to (4)) > [1]> then\n                        replace item (ev) of [enemy ai keys? v] with (join (letter (1) of (item (ev) of [enemy ai keys? v])) (join [1] (letter (3) of (item (ev) of [enemy ai keys? v]))))\n                    else\n                        replace item (ev) of [enemy ai keys? v] with (join (letter (1) of (item (ev) of [enemy ai keys? v])) (join [0] (letter (3) of (item (ev) of [enemy ai keys? v]))))\n                    end\n                else\n                    if <(pick random (1) to (2)) > [1]> then\n                        replace item (ev) of [enemy ai keys? v] with (join (letter (1) of (item (ev) of [enemy ai keys? v])) (join [0] (letter (3) of (item (ev) of [enemy ai keys? v]))))\n                    else\n                        replace item (ev) of [enemy ai keys? v] with (join (letter (1) of (item (ev) of [enemy ai keys? v])) (join [1] (letter (3) of (item (ev) of [enemy ai keys? v]))))\n                    end\n                end\n                replace item (ev) of [enemy ai timer y v] with (pick random (10) to (14))\n            else\n                replace item (ev) of [enemy ai keys? v] with (join (letter (1) of (item (ev) of [enemy ai keys? v])) (join [0] (letter (3) of (item (ev) of [enemy ai keys? v]))))\n                if <(item (ev) of [enemy ai timer y v]) > [0]> then\n                    replace item (ev) of [enemy ai timer y v] with ((item (ev) of [enemy ai timer y v]) - (1))\n                end\n            end\n        end\n        if <(letter (3) of (item (ev) of [enemy ai keys? v])) > [0]> then\n            replace item (ev) of [enemy sx v] with ((item (ev) of [enemy sx v]) + (speed))\n        end\n        if <(letter (1) of (item (ev) of [enemy ai keys? v])) > [0]> then\n            replace item (ev) of [enemy sx v] with ((item (ev) of [enemy sx v]) - (speed))\n        end\n        replace item (ev) of [enemy sx v] with ((item (ev) of [enemy sx v]) * (0.8))\n        if <(item (ev) of [enemy x v]) > ((x) + (dist))> then\n            replace item (ev) of [enemy x v] with ((x) + (dist))\n            replace item (ev) of [enemy sx v] with [0]\n            if <(pick random (1) to (3)) = [1]> then\n                replace item (ev) of [enemy ai keys? v] with (join [0] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [0]))\n            else\n                replace item (ev) of [enemy ai keys? v] with (join [1] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [0]))\n            end\n            replace item (ev) of [enemy ai timer x v] with [10]\n        end\n        if <(item (ev) of [enemy x v]) < ((x) - (dist))> then\n            replace item (ev) of [enemy x v] with ((x) - (dist))\n            replace item (ev) of [enemy sx v] with [0]\n            replace item (ev) of [enemy ai keys? v] with (join [0] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [0]))\n            if <(pick random (1) to (3)) = [1]> then\n                replace item (ev) of [enemy ai keys? v] with (join [0] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [0]))\n            else\n                replace item (ev) of [enemy ai keys? v] with (join [0] (join (letter (2) of (item (ev) of [enemy ai keys? v])) [1]))\n            end\n            replace item (ev) of [enemy ai timer x v] with [10]\n        end\n        if <(item (ev) of [enemy sy v]) > [-20]> then\n            replace item (ev) of [enemy sy v] with ((item (ev) of [enemy sy v]) - (2))\n        end\n        if <(item (ev) of [enemy y v]) < ((y) + (2))> then\n            replace item (ev) of [enemy y v] with (y)\n            replace item (ev) of [enemy sy v] with [0]\n        end\n        if <(item (ev) of [enemy y v]) = (y)> then\n            if <(letter (2) of (item (ev) of [enemy ai keys? v])) > [0]> then\n                replace item (ev) of [enemy sy v] with [12]\n            end\n        end\n        replace item (ev) of [enemy x v] with ((item (ev) of [enemy x v]) + (item (ev) of [enemy sx v]))\n        replace item (ev) of [enemy y v] with ((item (ev) of [enemy y v]) + (item (ev) of [enemy sy v]))\n    end\n    if <<((player_x) + (19)) > (item (ev) of [enemy x v])> and <<((player_y) + (20)) > ((item (ev) of [enemy y v]) - (40))> and <<((player_x) - (19)) < ((item (ev) of [enemy x v]) + (40))> and <((player_y) - (20)) < (item (ev) of [enemy y v])>>>> then\n        if <<(player_y) > ((item (ev) of [enemy y v]) - (20))> and <(player_sy) < [-3]>> then\n            replace item (ev) of [enemy die v] with [1]\n            set [player_sy v] to [20]\n            repeat (6)\n                Add Particle Color: [0] [70] [63] Trans. [0] X: ((item (ev) of [enemy x v]) + (20)) Y: ((item (ev) of [enemy y v]) - (20)) Dir: (pick random (0) to (180)) Speed [10] Size: [15]\n            end\n            repeat (2)\n                Add Particle Color: [0] [0] [100] Trans. [0] X: ((item (ev) of [enemy x v]) + (20)) Y: ((item (ev) of [enemy y v]) - (20)) Dir: (pick random (0) to (180)) Speed [6] Size: [12]\n            end\n            start sound [Enemy Die v]\n        else\n            if <(die) = [0]> then\n                broadcast (die v)\n            end\n        end\n    end\n    if <(item (ev) of [enemy sx v]) > [0.5]> then\n        if <(item (ev) of [enemy x_offset v]) < [4]> then\n            replace item (ev) of [enemy x_offset v] with ((item (ev) of [enemy x_offset v]) + (2))\n        end\n    else\n        if <(item (ev) of [enemy sx v]) < [-0.5]> then\n            if <(item (ev) of [enemy x_offset v]) > [-4]> then\n                replace item (ev) of [enemy x_offset v] with ((item (ev) of [enemy x_offset v]) + (-2))\n            end\n        else\n            if <(item (ev) of [enemy x_offset v]) > [0]> then\n                replace item (ev) of [enemy x_offset v] with ((item (ev) of [enemy x_offset v]) + (-2))\n            else\n                if <(item (ev) of [enemy x_offset v]) < [0]> then\n                    replace item (ev) of [enemy x_offset v] with ((item (ev) of [enemy x_offset v]) + (2))\n                end\n            end\n        end\n    end\n    if <(item (ev) of [enemy sy v]) > [3]> then\n        if <(item (ev) of [enemy y_offset v]) < [4]> then\n            replace item (ev) of [enemy y_offset v] with ((item (ev) of [enemy y_offset v]) + (2))\n        end\n    else\n        if <(item (ev) of [enemy sy v]) < [-3]> then\n            if <(item (ev) of [enemy y_offset v]) > [-4]> then\n                replace item (ev) of [enemy y_offset v] with ((item (ev) of [enemy y_offset v]) + (-2))\n            end\n        else\n            if <(item (ev) of [enemy y_offset v]) > [0]> then\n                replace item (ev) of [enemy y_offset v] with ((item (ev) of [enemy y_offset v]) + (-2))\n            else\n                if <(item (ev) of [enemy y_offset v]) < [0]> then\n                    replace item (ev) of [enemy y_offset v] with ((item (ev) of [enemy y_offset v]) + (2))\n                end\n            end\n        end\n    end\n    if <([abs v] of ((item (ev) of [enemy x v]) - (SCROLL X)) ) < [300]> then\n        set pen color to (#a21d1d)\n        draw rect ((item (ev) of [enemy x v]) - (SCROLL X)) ((item (ev) of [enemy y v]) - (SCROLL Y)) [40] [40] [20] [1]\n        if <(type) = [2]> then\n            set pen color to (#d29b9b)\n        else\n            set pen color to (#d2d2d2)\n        end\n        draw circle (((item (ev) of [enemy x v]) + (20)) - (SCROLL X)) (((item (ev) of [enemy y v]) - (20)) - (SCROLL Y)) [30]\n        if <(type) = [2]> then\n            set pen color to (#ffbdbd)\n        else\n            set pen color to (#ffffff)\n        end\n        draw circle (((item (ev) of [enemy x v]) + (20)) - (SCROLL X)) (((item (ev) of [enemy y v]) - (20)) - (SCROLL Y)) [26]\n        if <(type) = [2]> then\n            set pen color to (#a27878)\n        else\n            set pen color to (#a2a2a2)\n        end\n        draw circle ((((item (ev) of [enemy x v]) - (-19)) + (item (ev) of [enemy x_offset v])) - (SCROLL X)) ((((item (ev) of [enemy y v]) + (item (ev) of [enemy y_offset v])) - (21)) - (SCROLL Y)) [19]\n        set pen color to (#000000)\n        draw circle ((((item (ev) of [enemy x v]) + (20)) + (item (ev) of [enemy x_offset v])) - (SCROLL X)) ((((item (ev) of [enemy y v]) + (item (ev) of [enemy y_offset v])) - (20)) - (SCROLL Y)) [18]\n        set pen color to (#3e3e3e)\n        if <(type) = [2]> then\n            draw circle ((((item (ev) of [enemy x v]) + ((20) + ((3) * ([cos v] of ((game_frame) * (10)) )))) + (item (ev) of [enemy x_offset v])) - (SCROLL X)) ((((item (ev) of [enemy y v]) + ((-20) + ((-3) * ([sin v] of ((game_frame) * (10)) )))) + (item (ev) of [enemy y_offset v])) - (SCROLL Y)) [8]\n        else\n            draw circle ((((item (ev) of [enemy x v]) + (item (ev) of [enemy x_offset v])) + (23)) - (SCROLL X)) ((((item (ev) of [enemy y v]) + (item (ev) of [enemy y_offset v])) - (22)) - (SCROLL Y)) [8]\n        end\n    end\nend\n\ndefine Add Locked Block (x) (y) (color) (size)\nadd (x) to [no grass x1 v]\nadd ((x) + (size)) to [no grass x2 v]\nadd ((y) - (size)) to [no grass y v]\nif <(item (color) of [locked platform data v]) = [0]> then\n    add (x) to [platform x v]\n    add (y) to [platform y v]\n    add (size) to [platform length v]\n    add (size) to [platform width v]\n    add [1] to [platform type v]\n    add [0] to [platform dx v]\n    add [0] to [platform dy v]\nelse\n    if <(size) = [50]> then\n        if <(item (color) of [locked platform offset v]) < [24]> then\n            replace item (color) of [locked platform offset v] with ((item (color) of [locked platform offset v]) + (4))\n        end\n    else\n        if <(item (color) of [locked platform offset v]) < [20]> then\n            replace item (color) of [locked platform offset v] with ((item (color) of [locked platform offset v]) + (4))\n        end\n    end\nend\nif <(color) = [1]> then\n    set pen (color v) to (0)\nelse\n    if <(color) = [2]> then\n        set pen (color v) to (8)\n    else\n        if <(color) = [3]> then\n            set pen (color v) to (16)\n        else\n            if <(color) = [4]> then\n                set pen (color v) to (35)\n            else\n                if <(color) = [5]> then\n                    set pen (color v) to (66)\n                else\n                    set pen (color v) to (83)\n                end\n            end\n        end\n    end\nend\nif <([abs v] of ((x) - (SCROLL X)) ) < [300]> then\n    if <<<(size) = [40]> and <(item (color) of [locked platform offset v]) < [20]>> or <<(size) = [50]> and <(item (color) of [locked platform offset v]) < [24]>>> then\n        set pen (saturation v) to (68)\n        set pen (brightness v) to (70)\n        draw rect (((x) + (item (color) of [locked platform offset v])) - (SCROLL X)) (((y) - (item (color) of [locked platform offset v])) - (SCROLL Y)) ((size) - ((2) * (item (color) of [locked platform offset v]))) ((size) - ((2) * (item (color) of [locked platform offset v]))) [6] [0]\n        set pen (brightness v) to (86)\n        draw rect ((((x) + (5)) + (item (color) of [locked platform offset v])) - (SCROLL X)) ((((y) - (5)) - (item (color) of [locked platform offset v])) - (SCROLL Y)) (((size) - (10)) - ((2) * (item (color) of [locked platform offset v]))) (((size) - (10)) - ((2) * (item (color) of [locked platform offset v]))) [6] [1]\n    end\n    if <(item (color) of [locked platform data v]) = [0]> then\n        if <(size) = [50]> then\n            set pen (brightness v) to (57)\n            draw circle (((x) + (25)) - (SCROLL X)) (((y) - (21)) - (SCROLL Y)) [13]\n            Draw Right Triangle (((x) + (25)) - (SCROLL X)) (((y) - (35)) - (SCROLL Y)) [5] [16] [-1] [1]\n            Draw Right Triangle (((x) + (25)) - (SCROLL X)) (((y) - (35)) - (SCROLL Y)) [5] [16] [1] [1]\n            set pen (brightness v) to (70)\n            draw circle (((x) + (12)) - (SCROLL X)) (((y) - (12)) - (SCROLL Y)) [8]\n            draw circle (((x) + (38)) - (SCROLL X)) (((y) - (12)) - (SCROLL Y)) [8]\n            draw circle (((x) + (38)) - (SCROLL X)) (((y) - (38)) - (SCROLL Y)) [8]\n            draw circle (((x) + (12)) - (SCROLL X)) (((y) - (38)) - (SCROLL Y)) [8]\n        else\n            set pen (brightness v) to (57)\n            draw circle (((x) + (20)) - (SCROLL X)) (((y) - (17)) - (SCROLL Y)) [10]\n            Draw Right Triangle (((x) + (20)) - (SCROLL X)) (((y) - (28)) - (SCROLL Y)) [4] [12] [-1] [1]\n            Draw Right Triangle (((x) + (20)) - (SCROLL X)) (((y) - (28)) - (SCROLL Y)) [4] [12] [1] [1]\n            set pen (brightness v) to (70)\n            draw circle (((x) + (10)) - (SCROLL X)) (((y) - (10)) - (SCROLL Y)) [6]\n            draw circle (((x) + (30)) - (SCROLL X)) (((y) - (10)) - (SCROLL Y)) [6]\n            draw circle (((x) + (30)) - (SCROLL X)) (((y) - (30)) - (SCROLL Y)) [6]\n            draw circle (((x) + (10)) - (SCROLL X)) (((y) - (30)) - (SCROLL Y)) [6]\n        end\n    end\nend\n\ndefine Add Key (x) (y) (color)\nadd (x) to [no grass x1 v]\nadd ((y) - (20)) to [no grass y v]\nadd ((x) + (40)) to [no grass x2 v]\nif <(item (color) of [locked platform data v]) = [0]> then\n    add (x) to [platform x v]\n    add (y) to [platform y v]\n    add [40] to [platform length v]\n    add [20] to [platform width v]\n    add ((color) + (6)) to [platform type v]\n    add [0] to [platform dx v]\n    add [0] to [platform dy v]\n    if <(color) = [1]> then\n        set pen (color v) to (0)\n    else\n        if <(color) = [2]> then\n            set pen (color v) to (8)\n        else\n            if <(color) = [3]> then\n                set pen (color v) to (16)\n            else\n                if <(color) = [4]> then\n                    set pen (color v) to (35)\n                else\n                    if <(color) = [5]> then\n                        set pen (color v) to (66)\n                    else\n                        set pen (color v) to (83)\n                    end\n                end\n            end\n        end\n    end\n    set pen (saturation v) to (100)\n    set pen (brightness v) to (90)\n    if <([abs v] of ((x) - (SCROLL X)) ) < [300]> then\n        draw arc (((x) + (8)) - (SCROLL X)) (((y) - (10)) - (SCROLL Y)) [8] [9] [0] [360] [4] [0]\n        draw rect (((x) + (13)) - (SCROLL X)) (((y) - (7)) - (SCROLL Y)) [10] [6] [2] [1]\n        draw line (((x) + (22)) - (SCROLL X)) (((y) - (10)) - (SCROLL Y)) to (((x) + (40)) - (SCROLL X)) (((y) - (10)) - (SCROLL Y)) size [4]\n        draw rect (((x) + (30)) - (SCROLL X)) (((y) - (10)) - (SCROLL Y)) [7] [7] [0] [1]\n    end\nend\n\ndefine Make Jump Orb (x) (y)\nchange [ov v] by (1)\nadd (x) to [orb x v]\nadd (y) to [orb y v]\nif <(length of [orb extend v]) < (ov)> then\n    add [0] to [orb extend v]\nend\nif <([abs v] of ((x) - (SCROLL X)) ) < [300]> then\n    set pen color to (#f3f70b)\n    if <(item (ov) of [orb extend v]) > [0]> then\n        set pen (transparency v) to (50)\n        draw circle (((x) + (13)) - (SCROLL X)) (((y) - (13)) - (SCROLL Y)) ((20) + (item (ov) of [orb extend v]))\n    end\n    set pen (transparency v) to (0)\n    draw circle (((x) + (13)) - (SCROLL X)) (((y) - (13)) - (SCROLL Y)) [14]\n    draw arc (((x) + (12.5)) - (SCROLL X)) (((y) - (13.5)) - (SCROLL Y)) ((12) + ((1.5) * ([sin v] of ((game_frame) * (12)) ))) ((12) + ((1.5) * ([sin v] of ((game_frame) * (12)) ))) [0] [360] [3] [0]\nend\n\ndefine Orb Collisions\nset [i2 v] to [0]\nrepeat (length of [orb x v])\n    change [i2 v] by (1)\n    if <(item (i2) of [orb extend v]) > [0]> then\n        replace item (i2) of [orb extend v] with ((item (i2) of [orb extend v]) - (7.5))\n    end\n    if <<((player_x) + (19)) > (item (i2) of [orb x v])> and <<((player_y) + (20)) > ((item (i2) of [orb y v]) - (26))> and <<((player_x) - (19)) < ((item (i2) of [orb x v]) + (26))> and <((player_y) - (20)) < (item (i2) of [orb y v])>>>> then\n        if <<key (up arrow v) pressed?> or <key (w v) pressed?>> then\n            if <(jump timer) < [4]> then\n                if <(orbsound) = [0]> then\n                    broadcast (orb v)\n                end\n                set [player_sy v] to [20]\n                if <(item (i2) of [orb extend v]) < [20]> then\n                    replace item (i2) of [orb extend v] with [40]\n                end\n            end\n        else\n        end\n    else\n    end\nend\n\ndefine Draw Particles\nset [i8 v] to [1]\nrepeat (length of [particle color v])\n    set pen (color v) to (item (i8) of [particle color v])\n    set pen (saturation v) to (item (i8) of [particle saturation v])\n    set pen (brightness v) to (item (i8) of [particle brightness v])\n    set pen (transparency v) to (item (i8) of [particle transparency v])\n    draw circle ((item (i8) of [particle x v]) - (SCROLL X)) ((item (i8) of [particle y v]) - (SCROLL Y)) (item (i8) of [particle size v])\n    replace item (i8) of [particle x v] with ((item (i8) of [particle x v]) + ((item (i8) of [particle speed v]) * ([cos v] of (item (i8) of [particle dir v]) )))\n    replace item (i8) of [particle y v] with (((item (i8) of [particle y v]) + ((item (i8) of [particle speed v]) * ([sin v] of (item (i8) of [particle dir v]) ))) + (item (i8) of [particle_sy v]))\n    replace item (i8) of [particle_sy v] with ((item (i8) of [particle_sy v]) - (2))\n    replace item (i8) of [particle size v] with ((item (i8) of [particle size v]) + (-1))\n    replace item (i8) of [particle transparency v] with ((item (i8) of [particle transparency v]) + (7.5))\n    if <<(item (i8) of [particle size v]) < [1]> or <(item (i8) of [particle transparency v]) > [99]>> then\n        delete (i8) of [particle color v]\n        delete (i8) of [particle brightness v]\n        delete (i8) of [particle saturation v]\n        delete (i8) of [particle dir v]\n        delete (i8) of [particle size v]\n        delete (i8) of [particle speed v]\n        delete (i8) of [particle transparency v]\n        delete (i8) of [particle x v]\n        delete (i8) of [particle y v]\n        delete (i8) of [particle_sy v]\n    else\n        change [i8 v] by (1)\n    end\nend\n\ndefine Add Particle Color: (color) (sat) (brit) Trans. (trans) X: (x) Y: (y) Dir: (dir) Speed (speed) Size: (size)\nadd (color) to [particle color v]\nadd (sat) to [particle saturation v]\nadd (brit) to [particle brightness v]\nadd (trans) to [particle transparency v]\nadd [0] to [particle_sy v]\nadd (x) to [particle x v]\nadd (y) to [particle y v]\nadd (dir) to [particle dir v]\nadd (speed) to [particle speed v]\nadd (size) to [particle size v]\n\ndefine Platforms\nif <(Level) = [0]> then\n    Make Slope [685] [-80] to [960] [0]\n    Make Slope [3493] [360] to [3805] [215]\n    Make Platform [-240] [-120] [400] [60] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [300] [-50] [400] [130] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [950] [20] [60] [200] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1050] [250] [200] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1870] [320] [300] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2300] [280] [300] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2800] [320] [80] [40] [1] Moving: [x] [100] [3.5] Top? [1] []\n    Make Platform [3100] [380] [400] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3150] [500] [80] [40] [1] Moving: [] [] [] Top? [1] [1]\n    Make Platform [3800] [235] [80] [415] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3880] [-20] [520] [160] [1] Moving: [] [] [] Top? [] []\n    Make Platform [4400] [235] [300] [415] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [5000] [235] [100] [415] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [5200] [400] [100] [40] [1] Moving: [y] [150] [3.5] Top? [1] []\n    Make Platform [5400] [570] [250] [40] [1] Moving: [] [] [] Top? [1] []\nend\nif <(Level) = [1]> then\n    Make Slope [1010] [330] to [1210] [150]\n    Make Slope [2250] [390] to [2600] [150]\n    Make Slope [2910] [1095] to [3200] [900]\n    Make Platform [460] [160] [300] [340] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-240] [-120] [700] [60] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [220] [225] [80] [40] [1] Moving: [x] [140] [3.2] Top? [1] []\n    Make Platform [80] [410] [140] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [460] [380] [60] [40] [1] Moving: [] [] [] Top? [1] [1]\n    Make Platform [960] [350] [60] [390] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1020] [160] [220] [200] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1220] [80] [250] [120] [1] Moving: [] [] [] Top? [] []\n    Make Platform [1450] [160] [100] [200] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [760] [-160] [900] [20] [1] Moving: [] [] [] Top? [] []\n    Make Platform [1660] [-10] [70] [190] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1370] [720] [70] [120] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1070] [650] [300] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1520] [720] [80] [40] [1] Moving: [y] [170] [2.5] Top? [1] []\n    Make Platform [1845] [1050] [50] [200] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1670] [900] [175] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2170] [435] [100] [615] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2590] [185] [100] [365] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2690] [50] [320] [230] [1] Moving: [] [] [] Top? [] []\n    Make Platform [3010] [185] [100] [365] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2750] [560] [100] [40] [1] Moving: [x] [150] [4] Top? [1] []\n    Make Platform [2300] [680] [200] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2050] [760] [150] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2620] [1120] [300] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3190] [930] [80] [160] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3270] [800] [250] [30] [1] Moving: [] [] [] Top? [] []\n    Make Platform [3520] [930] [80] [160] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3780] [730] [80] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3550] [280] [80] [40] [1] Moving: [y] [170] [3] Top? [1] []\n    Make Platform [3700] [50] [300] [230] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3700] [300] [300] [50] [1] Moving: [] [] [] Top? [1] []\nend\nif <(Level) = [2]> then\n    Make Slope [1450] [-130] to [1650] [0]\n    Make Slope [1930] [0] to [2210] [-100]\n    Make Slope [3770] [230] to [3500] [-70]\n    Make Slope [6540] [20] to [6850] [-110]\n    Make Slope [8490] [140] to [8770] [-80]\n    Make Platform [60] [-70] [300] [110] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-240] [-120] [300] [60] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [430] [0] [60] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [340] [280] [50] [220] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [390] [100] [50] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [600] [280] [80] [40] [1] Moving: [x] [150] [3] Top? [1] []\n    Make Platform [870] [280] [120] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1040] [100] [120] [40] [1] Moving: [y] [180] [3] Top? [1] []\n    Make Platform [730] [-70] [100] [110] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1260] [-100] [200] [80] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1640] [30] [300] [380] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2200] [-80] [100] [100] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2670] [270] [100] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3000] [390] [80] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3380] [630] [80] [40] [1] Moving: [x] [250] [2.5] Top? [1] []\n    Make Platform [3770] [250] [100] [430] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3400] [-30] [110] [150] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3060] [-150] [340] [30] [1] Moving: [] [] [] Top? [] []\n    Make Platform [3000] [-30] [60] [150] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3200] [80] [90] [140] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [4150] [100] [190] [280] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [4440] [200] [50] [50] [1] Moving: [y] [100] [3] Top? [1] []\n    Make Platform [4600] [300] [300] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [5000] [400] [200] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [5400] [300] [70] [150] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [5470] [180] [250] [30] [1] Moving: [] [] [] Top? [0] []\n    Make Platform [5720] [300] [70] [150] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [5300] [650] [200] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [5100] [740] [100] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [6250] [230] [100] [40] [1] Moving: [y] [200] [3] Top? [1] []\n    Make Platform [6440] [50] [100] [230] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [6845] [-90] [130] [90] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [6975] [-160] [300] [20] [1] Moving: [] [] [] Top? [] []\n    Make Platform [7275] [-90] [80] [90] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [7100] [430] [60] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [7300] [430] [80] [40] [1] Moving: [x] [100] [4] Top? [1] []\n    Make Platform [7860] [520] [140] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [8080] [400] [80] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [8240] [280] [80] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [8400] [180] [100] [360] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [8760] [-50] [80] [130] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [8840] [-160] [225] [20] [1] Moving: [] [] [] Top? [] []\n    Make Platform [9065] [-50] [120] [130] [1] Moving: [] [] [] Top? [1] []\nend\nif <(Level) = [3]> then\n    Make Slope [-394] [-143] to [-600] [-50]\n    Make Slope [-2980] [-175] to [-3310] [0]\n    Make Slope [-3850] [-100] to [-3590] [0]\n    Make Slope [-5330] [180] to [-5670] [0]\n    Make Slope [-6738] [460] to [-7050] [230]\n    Make Platform [-400] [-120] [640] [60] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-730] [-30] [130] [150] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-1020] [-15] [80] [40] [1] Moving: [x] [160] [3] Top? [1] []\n    Make Platform [-1700] [-40] [400] [140] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-190] [450] [70] [130] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-490] [370] [300] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-120] [370] [250] [50] [1] Moving: [] [] [] Top? [] []\n    Make Platform [130] [450] [70] [130] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-150] [770] [100] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-450] [840] [200] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-800] [630] [100] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-1970] [50] [150] [230] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-2200] [365] [80] [150] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-2500] [260] [300] [45] [1] Moving: [] [] [] Top? [] []\n    Make Platform [-2580] [365] [80] [545] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-2860] [415] [50] [460] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-2810] [265] [140] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-2720] [130] [140] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-2810] [-5] [140] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-3000] [-150] [420] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-3600] [30] [300] [210] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-3600] [300] [300] [60] [1] Moving: [] [] [] Top? [] []\n    Make Platform [-4300] [-70] [450] [180] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-4480] [85] [80] [40] [1] Moving: [y] [140] [3] Top? [1] []\n    Make Platform [-4320] [250] [180] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-3600] [650] [50] [350] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-3350] [650] [50] [350] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-3460] [460] [110] [30] [1] Moving: [] [] [] Top? [1] [1]\n    Make Platform [-3550] [375] [110] [30] [1] Moving: [] [] [] Top? [1] [1]\n    Make Platform [-4770] [220] [150] [45] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-5340] [220] [125] [400] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-5740] [30] [80] [210] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-6120] [-150] [380] [30] [1] Moving: [] [] [] Top? [] []\n    Make Platform [-6500] [100] [80] [280] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-6420] [20] [300] [200] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-5880] [165] [40] [200] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-5840] [530] [90] [40] [1] Moving: [x] [120] [3] Top? [1] []\n    Make Platform [-5560] [550] [100] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-6190] [780] [150] [110] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-6040] [720] [300] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-5780] [1000] [50] [90] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-6750] [500] [150] [680] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-6450] [630] [100] [40] [1] Moving: [xy] [80] [3] Top? [1] []\n    Make Platform [-7340] [265] [300] [445] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-7700] [190] [159] [370] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-8600] [120] [250] [300] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-8000] [120] [300] [300] [1] Moving: [] [] [] Top? [1] []\nend\nif <(Level) = [4]> then\n    Make Slope [-680] [680] to [-1050] [500]\n    Make Slope [-2485] [420] to [-2820] [200]\n    Make Slope [-3180] [200] to [-3550] [350]\n    Make Slope [-4600] [270] to [-4900] [100]\n    Make Slope [-9250] [-40] to [-9550] [70]\n    Make Platform [-700] [720] [100] [900] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-150] [580] [40] [230] [1] Moving: [] [] [] Top? [] []\n    Make Platform [-250] [400] [100] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-600] [120] [400] [300] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-200] [-120] [440] [60] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-490] [520] [100] [40] [1] Moving: [x] [110] [4] Top? [1] [1]\n    Make Platform [-29] [405] [271] [55] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-600] [630] [490] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-1120] [535] [80] [715] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-1520] [405] [400] [50] [1] Moving: [] [] [] Top? [] []\n    Make Platform [-1600] [535] [80] [180] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-1300] [580] [100] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-1500] [630] [100] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-1800] [550] [80] [40] [1] Moving: [y] [150] [3] Top? [1] []\n    Make Platform [-1650] [200] [400] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-1460] [-10] [80] [40] [1] Moving: [x] [110] [3] Top? [1] [1]\n    Make Platform [-1780] [10] [100] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-2500] [450] [200] [630] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-3200] [250] [400] [430] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-3700] [385] [150] [565] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-4150] [500] [90] [40] [1] Moving: [xy] [150] [2] Top? [1] []\n    Make Platform [-4620] [300] [220] [480] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-5300] [440] [100] [620] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-5200] [140] [310] [320] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-6000] [-130] [700] [50] [1] Moving: [] [] [] Top? [] []\n    Make Platform [-5550] [560] [60] [540] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-5600] [150] [50] [130] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-5850] [70] [250] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-6050] [70] [60] [250] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-5490] [180] [100] [40] [1] Moving: [] [] [] Top? [1] [1]\n    Make Platform [-6300] [530] [200] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-7000] [600] [300] [55] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-6350] [870] [80] [40] [1] Moving: [y] [100] [4] Top? [1] []\n    Make Platform [-6200] [970] [400] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-7130] [740] [50] [195] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-7000] [545] [50] [230] [1] Moving: [] [] [] Top? [] []\n    Make Platform [-7300] [355] [300] [40] [1] Moving: [] [] [] Top? [] []\n    Make Platform [-7400] [445] [100] [130] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-7800] [200] [80] [40] [1] Moving: [x] [150] [3] Top? [1] []\n    Make Platform [-8550] [0] [300] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-8780] [0] [80] [180] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-9180] [-150] [400] [30] [1] Moving: [] [] [] Top? [] []\n    Make Platform [-9260] [0] [80] [180] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-9000] [80] [50] [120] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-9940] [95] [400] [275] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-9940] [600] [200] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [-9840] [365] [300] [50] [1] Moving: [] [] [] Top? [1] []\nend\nif <(Level) = [5]> then\n    Make Slope [250] [-165] to [500] [-50]\n    Make Slope [2135] [175] to [2550] [60]\n    Make Slope [3930] [5] to [4210] [-80]\n    Make Platform [-240] [-140] [500] [40] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [680] [60] [250] [50] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [730] [-160] [500] [20] [1] Moving: [] [] [] Top? [] []\n    Make Platform [680] [10] [50] [190] [1] Moving: [] [] [] Top? [] []\n    Make Platform [480] [-30] [200] [150] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1080] [200] [50] [290] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [880] [-50] [200] [40] [1] Moving: [] [] [] Top? [1] [1]\n    Make Platform [1230] [-45] [150] [135] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [1380] [-160] [620] [20] [1] Moving: [] [] [] Top? [] []\n    Make Platform [2000] [200] [150] [380] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2550] [90] [350] [270] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [2900] [20] [350] [200] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3250] [-160] [500] [20] [1] Moving: [] [] [] Top? [] []\n    Make Platform [3750] [20] [200] [200] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [3400] [120] [200] [220] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [4180] [-50] [220] [130] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [4400] [-160] [300] [20] [1] Moving: [] [] [] Top? [] []\n    Make Platform [4700] [350] [300] [530] [1] Moving: [] [] [] Top? [1] []\n    Make Platform [4640] [100] [60] [40] [1] Moving: [] [] [] Top? [1] []\nend\n\nwhen I receive [die v]\nset [die v] to [1]\nPlayer Die\nwait (1) seconds\nset [player_x v] to (item (checkpoint) of [checkpoint x v])\nset [player_y v] to ((item (checkpoint) of [checkpoint y v]) - (60))\nwait until <<([abs v] of ((player_x) - (SCROLL X)) ) < [230]> and <([abs v] of ((player_y) - (SCROLL Y)) ) < [230]>>\nreset\n\ndefine Player Die\nrepeat (6)\n    Add Particle Color: [0] [0] [0] Trans. [0] X: (player_x) Y: (player_y) Dir: (pick random (-30) to (210)) Speed [10] Size: [15]\nend\nrepeat (2)\n    Add Particle Color: [0] [0] [100] Trans. [0] X: (player_x) Y: (player_y) Dir: (pick random (-30) to (210)) Speed [10] Size: [12]\nend\nstart sound [Die v]\n\ndefine reset lists\ndelete all of [platform length v]\ndelete all of [platform type v]\ndelete all of [platform width v]\ndelete all of [platform x v]\ndelete all of [platform y v]\ndelete all of [platform dx v]\ndelete all of [platform dy v]\ndelete all of [tramp x v]\ndelete all of [tramp y v]\ndelete all of [vanishing x v]\ndelete all of [vanishing y v]\ndelete all of [vanishing length v]\ndelete all of [vanishing width v]\ndelete all of [slope x v]\ndelete all of [slope y v]\ndelete all of [slope x2 v]\ndelete all of [slope y2 v]\ndelete all of [saw size v]\ndelete all of [saw x v]\ndelete all of [saw y v]\ndelete all of [checkpoint x v]\ndelete all of [checkpoint y v]\ndelete all of [orb x v]\ndelete all of [orb y v]\ndelete all of [grpl x v]\ndelete all of [grpl y v]\ndelete all of [grpl len v]\ndelete all of [no grass x1 v]\ndelete all of [no grass x2 v]\ndelete all of [no grass y v]\n\ndefine Lava\nif <(Level) = [0]> then\n    Make lava [4700] [215] [302] [395]\nend\nif <(Level) = [1]> then\n    Make lava [1220] [145] [250] [70]\n    Make lava [2690] [165] [322] [135]\nend\nif <(Level) = [2]> then\n    Make lava [360] [-95] [370] [85]\n    Make lava [6975] [-110] [310] [50]\nend\nif <(Level) = [3]> then\n    Make lava [-120] [430] [250] [60]\n    Make lava [-2500] [345] [302] [105]\n    Make lava [-8350] [100] [352] [280]\nend\nif <(Level) = [4]> then\n    Make lava [-1520] [515] [402] [110]\n    Make lava [-7300] [425] [302] [70]\nend\n\ndefine Water\nif <(Level) = [0]> then\n    Make water [3880] [220] [522] [240]\nend\nif <(Level) = [1]> then\n    Make water [760] [140] [202] [300]\n    Make water [964] [-20] [702] [140]\n    Make water [3270] [913] [252] [110]\nend\nif <(Level) = [2]> then\n    Make water [3060] [-40] [350] [110]\n    Make water [5470] [290] [255] [110]\n    Make water [8840] [-65] [230] [100]\nend\nif <(Level) = [3]> then\n    Make water [-3550] [635] [202] [335]\n    Make water [-6120] [5] [382] [155]\nend\nif <(Level) = [4]> then\n    Make water [-5490] [420] [190] [550]\n    Make water [-6002] [55] [510] [185]\n    Make water [-9180] [-15] [402] [135]\nend\nif <(Level) = [5]> then\n    Make water [730] [30] [402] [200]\n    Make water [1130] [-60] [102] [100]\n    Make water [1380] [-60] [622] [100]\n    Make water [3250] [5] [502] [165]\n    Make water [4400] [-70] [302] [90]\nend\n\ndefine Dangers\nchange [saw_deg v] by (5)\nif <(Level) = [0]> then\n    Make Spike [-60] [-90] [16] [30] Point: [up]\n    Make Spike [-36] [-88] [16] [32] Point: [up]\n    Make Spike [-12] [-92] [16] [28] Point: [up]\n    Add Saw [450] [-50] [50]\n    Add Saw [600] [-50] [50]\nend\nif <(Level) = [1]> then\n    Make Spike [-60] [-90] [16] [30] Point: [up]\n    Make Spike [-36] [-88] [16] [32] Point: [up]\n    Add Saw [130] [-120] [50]\n    Add Saw [280] [-120] [50]\n    Make Spike [190] [444] [16] [32] Point: [up]\n    Add Saw [760] [60] [50]\n    Add Saw [960] [0] [50]\n    Make Spike [760] [-106] [14] [28] Point: [right]\n    Make Spike [760] [-130] [16] [32] Point: [right]\n    Make Spike [1050] [-41] [14] [30] Point: [down]\n    Make Spike [1073] [-40] [14] [28] Point: [down]\n    Make Spike [1096] [-41] [14] [32] Point: [down]\n    Make Spike [1119] [-42] [16] [34] Point: [down]\n    Make Spike [1143] [-41] [16] [30] Point: [down]\n    Make Spike [1320] [-129] [14] [30] Point: [up]\n    Make Spike [1343] [-131] [14] [28] Point: [up]\n    Make Spike [1366] [-127] [14] [32] Point: [up]\n    Make Spike [1389] [-125] [16] [34] Point: [up]\n    Make Spike [1414] [-129] [16] [30] Point: [up]\n    Make Spike [1710] [935] [16] [32] Point: [up]\n    Make Spike [1735] [933] [16] [30] Point: [up]\n    Add Saw [2400] [680] [50]\n    Make Spike [3840] [760] [16] [30] Point: [up]\n    Add Saw [3740] [300] [50]\n    Add Saw [3815] [300] [50]\n    Add Saw [3890] [300] [50]\n    Add Saw [3965] [300] [50]\nend\nif <(Level) = [2]> then\n    Add Saw [220] [-70] [50]\n    Make Spike [935] [310] [16] [30] Point: [up]\n    Make Spike [1350] [-72] [14] [28] Point: [up]\n    Make Spike [1372] [-68] [16] [32] Point: [up]\n    Make Spike [1350] [-72] [14] [28] Point: [up]\n    Make Spike [1372] [-68] [16] [32] Point: [up]\n    Add Saw [3245] [-150] [50]\n    Make Spike [3060] [-59] [16] [28] Point: [right]\n    Make Spike [3060] [-82] [14] [24] Point: [right]\n    Make Spike [3061] [-105] [16] [32] Point: [right]\n    Make Spike [3270] [115] [16] [32] Point: [up]\n    Add Saw [5120] [400] [50]\n    Make Spike [4243] [130] [14] [28] Point: [up]\n    Make Spike [4222] [126] [12] [24] Point: [up]\n    Add Saw [5410] [650] [45]\n    Make Spike [7947] [554] [14] [32] Point: [up]\n    Make Spike [7970] [552] [16] [30] Point: [up]\n    Make Spike [8840] [-100] [14] [32] Point: [right]\n    Make Spike [8838] [-124] [16] [30] Point: [right]\n    Add Saw [8960] [-160] [50]\n    Make Spike [9035] [-85] [14] [30] Point: [left]\n    Make Spike [9037] [-107] [14] [28] Point: [left]\n    Make Spike [9033] [-130] [16] [32] Point: [left]\nend\nif <(Level) = [3]> then\n    Add Saw [-323] [-120] [45]\n    Make Spike [-86] [-87] [16] [32] Point: [up]\n    Make Spike [-109] [-89] [14] [30] Point: [up]\n    Make Spike [-132] [-91] [14] [28] Point: [up]\n    Make Spike [-155] [-87] [14] [32] Point: [up]\n    Make Spike [-180] [-85] [16] [34] Point: [up]\n    Make Spike [-205] [-89] [16] [30] Point: [up]\n    Make Spike [-375] [875] [14] [32] Point: [up]\n    Make Spike [-352] [871] [16] [28] Point: [up]\n    Make Spike [-327] [873] [16] [30] Point: [up]\n    Make Spike [-2809] [340] [14] [32] Point: [right]\n    Make Spike [-2809] [316] [14] [28] Point: [right]\n    Make Spike [-2809] [293] [14] [30] Point: [right]\n    Make Spike [-2805] [224] [16] [34] Point: [down]\n    Make Spike [-2780] [224] [16] [36] Point: [down]\n    Make Spike [-2600] [89] [16] [34] Point: [down]\n    Make Spike [-2625] [89] [16] [36] Point: [down]\n    Add Saw [-2810] [60] [50]\n    Add Saw [-2580] [-100] [50]\n    Add Saw [-3565] [240] [45]\n    Add Saw [-3490] [240] [45]\n    Add Saw [-3415] [240] [45]\n    Add Saw [-3340] [240] [45]\n    Make Spike [-4246] [282] [14] [30] Point: [up]\n    Make Spike [-4223] [284] [14] [32] Point: [up]\n    Add Saw [-3550] [585] [50]\n    Add Saw [-3550] [510] [50]\n    Add Saw [-3350] [585] [50]\n    Add Saw [-3350] [510] [50]\n    Make Spike [-3381] [425] [14] [30] Point: [left]\n    Make Spike [-3383] [402] [16] [32] Point: [left]\n    Make Spike [-3385] [377] [16] [34] Point: [left]\n    Make Spike [-3379] [352] [14] [28] Point: [left]\n    Make Spike [-3381] [329] [14] [30] Point: [left]\n    Add Saw [-6000] [-155] [60]\n    Add Saw [-3350] [510] [50]\n    Make Spike [-6120] [-40] [16] [34] Point: [right]\n    Make Spike [-6120] [-65] [14] [30] Point: [right]\n    Make Spike [-6120] [-88] [14] [32] Point: [right]\n    Make Spike [-5915] [-8] [18] [34] Point: [left]\n    Add Saw [-5866] [-155] [60]\n    Make Spike [-5729] [930] [14] [30] Point: [right]\n    Make Spike [-5729] [955] [16] [32] Point: [right]\n    Make Spike [-5729] [978] [14] [28] Point: [right]\n    Make Spike [-6650] [535] [16] [32] Point: [up]\n    Make Spike [-6625] [532] [14] [28] Point: [up]\n    Add Saw [-7260] [265] [50]\n    Add Saw [-7120] [265] [50]\n    Add Saw [-8440] [120] [50]\nend\nif <(Level) = [4]> then\n    Add Saw [-7] [-120] [50]\n    Make Spike [-350] [155] [16] [32] Point: [up]\n    Make Spike [-373] [151] [14] [28] Point: [up]\n    Make Spike [-396] [153] [14] [30] Point: [up]\n    Add Saw [-215] [630] [50]\n    Add Saw [-1560] [360] [50]\n    Add Saw [-1480] [360] [50]\n    Make Spike [-1410] [235] [14] [32] Point: [up]\n    Make Spike [-1387] [237] [14] [34] Point: [up]\n    Make Spike [-1364] [233] [12] [30] Point: [up]\n    Make Spike [-1150] [245] [14] [28] Point: [left]\n    Make Spike [-1154] [222] [14] [32] Point: [left]\n    Make Spike [-1152] [199] [12] [30] Point: [left]\n    Make Spike [-1580] [150] [14] [30] Point: [down]\n    Make Spike [-1556] [150] [14] [32] Point: [down]\n    Add Saw [-2400] [450] [45]\n    Add Saw [-4510] [300] [50]\n    Add Saw [-5490] [360] [50]\n    Add Saw ((-5345) + ((45) * ([sin v] of ((game_frame) * (6)) ))) [270] [50]\n    Make Spike [-5330] [100] [12] [28] Point: [left]\n    Make Spike [-5334] [79] [12] [32] Point: [left]\n    Make Spike ((-5510) + ((24) * ([sin v] of ((game_frame) * (12)) ))) [45] [14] [32] Point: [right]\n    Make Spike [-5580] [20] [12] [20] Point: [down]\n    Add Saw [-5720] ((-10) + ((30) * ([sin v] of ((game_frame) * (6)) ))) [50]\n    Make Spike [-5883] [-96] [14] [32] Point: [up]\n    Make Spike [-5860] [-94] [14] [34] Point: [up]\n    Make Spike [-5836] [-98] [12] [30] Point: [up]\n    Make Spike ((-5863) + ((20) * ([sin v] of ((game_frame) * (8)) ))) [45] [14] [34] Point: [left]\n    Add Saw [-6100] [965] [50]\n    Make Spike [-5980] ((982) + ((24) * ([sin v] of ((game_frame) * (6)) ))) [14] [32] Point: [up]\n    Make Spike [-5957] ((980) + ((24) * ([sin v] of (((game_frame) + (3)) * (6)) ))) [14] [30] Point: [up]\n    Make Spike [-5934] ((984) + ((24) * ([sin v] of (((game_frame) + (6)) * (6)) ))) [14] [34] Point: [up]\n    Make Spike [-5911] ((978) + ((24) * ([sin v] of (((game_frame) + (9)) * (6)) ))) [14] [28] Point: [up]\n    Make Spike [-5888] ((982) + ((24) * ([sin v] of (((game_frame) + (12)) * (6)) ))) [16] [32] Point: [up]\n    Make Spike [-7360] [478] [12] [30] Point: [up]\n    Make Spike [-8320] ((12) + ((20) * ([sin v] of ((game_frame) * (4)) ))) [14] [32] Point: [up]\n    Make Spike [-8341] ((10) + ((20) * ([sin v] of ((game_frame) * (4)) ))) [14] [30] Point: [up]\n    Make Spike [-8362] ((14) + ((20) * ([sin v] of ((game_frame) * (4)) ))) [14] [34] Point: [up]\n    Make Spike [-8383] ((8) + ((20) * ([sin v] of (((game_frame) + (45)) * (4)) ))) [14] [28] Point: [up]\n    Make Spike [-8405] ((12) + ((20) * ([sin v] of (((game_frame) + (45)) * (4)) ))) [14] [32] Point: [up]\n    Make Spike [-8428] ((10) + ((20) * ([sin v] of (((game_frame) + (45)) * (4)) ))) [14] [30] Point: [up]\n    Make Spike [-8450] ((14) + ((20) * ([sin v] of ((game_frame) * (4)) ))) [14] [34] Point: [up]\n    Make Spike [-8472] ((8) + ((20) * ([sin v] of ((game_frame) * (4)) ))) [14] [28] Point: [up]\n    Make Spike [-8494] ((12) + ((20) * ([sin v] of ((game_frame) * (4)) ))) [14] [32] Point: [up]\n    Add Saw [-9180] [-90] [50]\n    Make Spike [-8984] [-40] [20] [28] Point: [down]\n    Add Saw [-8980] ((-175) + ((25) * ([sin v] of ((game_frame) * (4)) ))) [50]\n    Add Saw [-9800] [317] [50]\n    Add Saw [-9725] [317] [50]\n    Add Saw [-9650] [317] [50]\n    Add Saw [-9575] [317] [50]\n    Make Spike [-9824] [128] [12] [30] Point: [up]\n    Make Spike [-9803] [126] [12] [28] Point: [up]\nend\n\ndefine Checkpoints (draw?)\nset [cv v] to [0]\nif <(Level) = [0]> then\n    Make checkpoint [-210] [-20] (draw?)\n    Make checkpoint [1220] [350] []\n    Make checkpoint [3820] [335] []\nend\nif <(Level) = [1]> then\n    Make checkpoint [-210] [-20] (draw?)\n    Make checkpoint [720] [260] []\n    Make checkpoint [1410] [820] []\n    Make checkpoint [2160] [850] []\nend\nif <(Level) = [2]> then\n    Make checkpoint [-160] [-20] (draw?)\n    Make checkpoint [2265] [20] []\n    Make checkpoint [3850] [350] []\n    Make checkpoint [6520] [150] []\nend\nif <(Level) = [3]> then\n    Make checkpoint [170] [-20] (draw?)\n    Make checkpoint [-1870] [150] []\n    Make checkpoint [-4290] [350] []\n    Make checkpoint [-6730] [600] []\nend\nif <(Level) = [4]> then\n    Make checkpoint [190] [-20] (draw?)\n    Make checkpoint [-675] [820] []\n    Make checkpoint [-3600] [485] []\n    Make checkpoint [-6160] [630] []\nend\nif <(Level) = [5]> then\n    Make checkpoint [-200] [-40] (draw?)\nend\n\ndefine Enemies\nset [ev v] to [0]\nif <(Level) = [0]> then\n    Make Enemy [2000] [361] mv: [130] [3.2] Type: [1]\n    Make Enemy [2430] [321] mv: [110] [2] Type: [2]\nend\nif <(Level) = [1]> then\n    Make Enemy [2750] [1161] mv: [110] [3.2] Type: [1]\n    Make Enemy [1200] [691] mv: [110] [3.4] Type: [1]\nend\nif <(Level) = [2]> then\n    Make Enemy [1790] [71] mv: [130] [3] Type: [1]\n    Make Enemy [4750] [341] mv: [130] [3] Type: [1]\nend\nif <(Level) = [3]> then\n    Make Enemy [-350] [411] mv: [90] [2] Type: [2]\n    Make Enemy [-1545] [1] mv: [155] [2] Type: [2]\n    Make Enemy [-4125] [-29] mv: [175] [2] Type: [2]\n    Make Enemy [-4125] [-29] mv: [120] [2.5] Type: [2]\n    Make Enemy [-6320] [61] mv: [100] [2.5] Type: [2]\n    Make Enemy [-5930] [761] mv: [80] [2.5] Type: [2]\n    Make Enemy [-7850] [161] mv: [110] [2] Type: [2]\nend\nif <(Level) = [4]> then\n    Make Enemy [100] [446] mv: [100] [2] Type: [2]\n    Make Enemy [-480] [671] mv: [120] [2.5] Type: [2]\n    Make Enemy [-1270] [621] mv: [30] [2.5] Type: [2]\n    Make Enemy [-1470] [671] mv: [30] [2.5] Type: [2]\n    Make Enemy [-3020] [291] mv: [180] [2] Type: [2]\n    Make Enemy [-3020] [291] mv: [130] [2.5] Type: [2]\n    Make Enemy [-3020] [291] mv: [80] [3] Type: [2]\n    Make Enemy [-5100] [181] mv: [100] [2.5] Type: [2]\n    Make Enemy [-5725] [111] mv: [85] [2.5] Type: [2]\n    Make Enemy [-6870] [641] mv: [130] [3] Type: [2]\nend\n\ndefine Clouds\nif <(Level) = [0]> then\n    Make Cloud [1600] [150] [90] [36/57] [15/12] [28/24]\n    Make Cloud [1675] [255] [80] [24/50] [13/16] [30/32]\nend\nif <(Level) = [1]> then\n    Make Cloud [-210] [350] [90] [36/57] [15/12] [28/24]\n    Make Cloud [-50] [250] [100] [26/76/56] [14/16/15] [36/18/24]\n    Make Cloud [900] [460] [100] [28/76/57] [14/17/15] [36/17/26]\n    Make Cloud [875] [576] [100] [23/50/76] [14/16/14] [24/36/24]\n    Make Cloud [1700] [440] [100] [25/62] [13/17] [37/19]\n    Make Cloud [3070] [450] [100] [24/76/50] [13/17/15] [30/32/30]\n    Make Cloud [2175] [1040] [100] [24/76/50] [13/17/15] [30/32/30]\n    Make Cloud [3720] [840] [100] [29/60] [15/17] [25/36]\n    Make Cloud [3910] [600] [80] [24/50] [13/16] [30/32]\nend\nif <(Level) = [2]> then\n    Make Cloud [2670] [120] [100] [25/62] [11/17] [37/17]\n    Make Cloud [2790] [240] [100] [28/76/57] [14/17/15] [40/17/26]\n    Make Cloud [2830] [330] [100] [24/76/50] [13/16/15] [30/32/30]\n    Make Cloud [3020] [600] [80] [24/50] [13/15] [30/30]\n    Make Cloud [3730] [500] [100] [29/60] [13/16] [30/34]\n    Make Cloud [3750] [380] [100] [28/76/57] [14/17/15] [40/17/26]\n    Make Cloud [5320] [450] [100] [28/59] [14/16] [40/25]\n    Make Cloud [6100] [400] [100] [28/76/57] [14/17/15] [40/17/26]\n    Make Cloud [7460] [200] [80] [24/50] [13/16] [30/32]\n    Make Cloud [7407] [320] [80] [24/50] [16/13] [32/30]\n    Make Cloud [7230] [680] [100] [24/76/50] [13/16/15] [30/32/30]\nend\nif <(Level) = [3]> then\n    Make Cloud [-1050] [100] [90] [36/57] [15/12] [28/24]\n    Make Cloud [-940] [220] [100] [24/76/50] [13/17/15] [30/32/30]\n    Make Cloud [65] [700] [100] [28/76/57] [14/17/15] [40/17/26]\n    Make Cloud [-2012] [323] [100] [29/60] [15/17] [25/36]\n    Make Cloud [-4163] [520] [120] [25/54/82] [15/17/19] [25/36/40]\n    Make Cloud [-6375] [325] [100] [25/62] [11/17] [37/17]\n    Make Cloud [-6140] [480] [100] [24/76/50] [13/17/15] [30/32/30]\n    Make Cloud [-5560] [760] [80] [24/50] [13/16] [30/32]\nend\nif <(Level) = [4]> then\n    Make Cloud [-120] [200] [100] [24/76/50] [13/17/15] [30/32/30]\n    Make Cloud [130] [510] [90] [36/57] [15/12] [28/24]\n    Make Cloud [-1735] [286] [100] [25/62] [11/17] [37/17]\n    Make Cloud [-1270] [55] [80] [24/50] [13/16] [30/32]\n    Make Cloud [-2000] [600] [100] [24/50/76] [13/15/18] [30/30/30]\n    Make Cloud [-2175] [515] [90] [36/57] [15/12] [28/24]\n    Make Cloud [-3800] [630] [100] [32/65] [14/17] [30/34]\n    Make Cloud [-5040] [405] [80] [24/50] [13/16] [30/32]\n    Make Cloud [-5750] [400] [100] [28/76/57] [14/17/15] [40/17/26]\n    Make Cloud [-6535] [745] [80] [26/50] [14/13] [32/30]\n    Make Cloud [-7625] [320] [100] [25/62] [11/17] [37/17]\n    Make Cloud [-9520] [470] [100] [39/67] [12/14] [25/30]\nend\nif <(Level) = [5]> then\n    Make Cloud [1300] [190] [100] [24/76/50] [13/17/15] [30/32/30]\n    Make Cloud [1520] [240] [100] [25/62] [11/17] [37/17]\n    Make Cloud [1750] [200] [100] [24/50/76] [13/15/18] [30/30/30]\n    Make Cloud [4480] [20] [80] [24/50] [13/16] [30/32]\nend\n\ndefine Tramps\nset [tv v] to [0]\nif <(Level) = [0]> then\n    Make Tramp [955] [73]\nend\nif <(Level) = [1]> then\n    Make Tramp [400] [-67]\n    Make Tramp [1670] [43]\n    Make Tramp [3035] [238]\n    Make Tramp [2055] [813]\nend\nif <(Level) = [2]> then\n    Make Tramp [392] [153]\n    Make Tramp [3015] [443]\n    Make Tramp [5733] [353]\n    Make Tramp [6910] [-37]\n    Make Tramp [7105] [483]\nend\nif <(Level) = [3]> then\n    Make Tramp [140] [503]\n    Make Tramp [-1960] [103]\n    Make Tramp [-3540] [83]\n    Make Tramp [-3410] [83]\n    Make Tramp [-4190] [303]\n    Make Tramp [-6485] [153]\n    Make Tramp [-5535] [603]\nend\nif <(Level) = [4]> then\n    Make Tramp [-195] [-67]\n    Make Tramp [-1755] [63]\n    Make Tramp [-3690] [438]\n    Make Tramp [-5600] [-77]\n    Make Tramp [-5600] [203]\n    Make Tramp [-9695] [148]\n    Make Tramp [-9930] [148]\nend\nif <(Level) = [5]> then\n    Make Tramp [1240] [8]\n    Make Tramp [4645] [153]\nend\n\ndefine Vanishings\nset [v.id v] to [0]\nif <(Level) = [0]> then\n    Make Vanishing Block [1380] [210] [100] [50]\n    Make Vanishing Block [4900] [300] [70] [40]\nend\nif <(Level) = [1]> then\n    Make Vanishing Block [310] [370] [70] [40]\n    Make Vanishing Block [1260] [250] [60] [40]\n    Make Vanishing Block [1950] [360] [100] [40]\n    Make Vanishing Block [2395] [1090] [80] [40]\n    Make Vanishing Block [3700] [440] [80] [40]\nend\nif <(Level) = [2]> then\n    Make Vanishing Block [2400] [-20] [60] [40]\n    Make Vanishing Block [3970] [180] [80] [50]\n    Make Vanishing Block [5600] [550] [80] [50]\n    Make Vanishing Block [7100] [150] [80] [50]\n    Make Vanishing Block [7500] [590] [100] [50]\nend\nif <(Level) = [3]> then\n    Make Vanishing Block [-735] [280] [80] [40]\n    Make Vanishing Block [-621] [720] [60] [40]\n    Make Vanishing Block [-2353] [411] [70] [40]\n    Make Vanishing Block [-3940] [585] [80] [40]\n    Make Vanishing Block [-4930] [270] [80] [40]\n    Make Vanishing Block [-5120] [300] [80] [40]\n    Make Vanishing Block [-7540] [190] [200] [40]\n    Make Vanishing Block [-8180] [180] [80] [40]\nend\nif <(Level) = [4]> then\n    Make Vanishing Block [-520] [310] [80] [40]\n    Make Vanishing Block [-20] [590] [80] [40]\n    Make Vanishing Block [-5970] [480] [100] [40]\n    Make Vanishing Block [-7100] [480] [60] [40]\n    Make Vanishing Block [-8100] [70] [100] [40]\n    Make Vanishing Block [-9650] [560] [70] [40]\nend\n\ndefine Orbs\nset [ov v] to [0]\nif <(Level) = [0]> then\n    Make Jump Orb [4485] [350]\n    Make Jump Orb [4595] [350]\n    Make Jump Orb [4800] [300]\nend\nif <(Level) = [1]> then\n    Make Jump Orb [-50] [450]\n    Make Jump Orb [1400] [230]\n    Make Jump Orb [2790] [240]\n    Make Jump Orb [2925] [272]\n    Make Jump Orb [3845] [530]\nend\nif <(Level) = [2]> then\n    Make Jump Orb [2570] [40]\n    Make Jump Orb [3110] [35]\n    Make Jump Orb [5965] [450]\n    Make Jump Orb [7310] [185]\n    Make Jump Orb [7724] [636]\nend\nif <(Level) = [3]> then\n    Make Jump Orb [-150] [-25]\n    Make Jump Orb [-643] [385]\n    Make Jump Orb [0] [500]\n    Make Jump Orb [-3743] [636]\n    Make Jump Orb [-6184] [400]\n    Make Jump Orb [-5665] [830]\nend\nif <(Level) = [4]> then\n    Make Jump Orb [-580] [230]\n    Make Jump Orb [-350] [350]\n    Make Jump Orb [-70] [320]\n    Make Jump Orb [-5000] [250]\n    Make Jump Orb [-5080] [330]\n    Make Jump Orb [-6440] [600]\n    Make Jump Orb [-6570] [660]\n    Make Jump Orb [-7210] [500]\nend\n\ndefine Locked & Keys\nif <(Level) = [0]> then\n    Add Key [3170] [530] [1]\n    Add Locked Block [3450] [430] [1] [50]\n    Add Locked Block [3450] [480] [1] [50]\n    Add Locked Block [3450] [530] [1] [50]\nend\nif <(Level) = [1]> then\n    Add Key [470] [410] [2]\n    Add Locked Block [620] [210] [2] [50]\n    Add Locked Block [620] [260] [2] [50]\n    Add Locked Block [620] [310] [2] [50]\n    Add Key [1785] [930] [5]\n    Add Locked Block [2170] [485] [5] [50]\n    Add Locked Block [2170] [535] [5] [50]\nend\nif <(Level) = [2]> then\n    Add Key [3010] [0] [1]\n    Add Locked Block [4290] [150] [1] [50]\n    Add Locked Block [4290] [200] [1] [50]\n    Add Locked Block [4290] [250] [1] [50]\n    Add Key [5105] [768] [4]\n    Add Locked Block [6850] [-40] [4] [50]\n    Add Locked Block [6850] [10] [4] [50]\n    Add Locked Block [6850] [60] [4] [50]\n    Add Locked Block [6850] [110] [4] [50]\nend\nif <(Level) = [3]> then\n    Add Key [-795] [660] [3]\n    Add Locked Block [-1350] [10] [3] [50]\n    Add Locked Block [-1350] [60] [3] [50]\n    Add Locked Block [-1350] [110] [3] [50]\n    Add Key [-3540] [335] [6]\n    Add Locked Block [-5790] [15] [6] [50]\n    Add Locked Block [-5840] [15] [6] [50]\nend\nif <(Level) = [4]> then\n    Add Key [-570] [550] [2]\n    Add Locked Block [-109] [390] [2] [40]\n    Add Locked Block [-69] [390] [2] [40]\n    Add Key ((-1440) + ((110) * ([sin v] of ((game_frame) * (3)) ))) [20] [4]\n    Add Locked Block [-1650] [150] [4] [50]\n    Add Locked Block [-1650] [100] [4] [50]\n    Add Locked Block [-2500] [500] [4] [50]\n    Add Locked Block [-2500] [550] [4] [50]\n    Add Locked Block [-2500] [600] [4] [50]\n    Add Key [-5857] [1000] [1]\n    Add Locked Block [-7040] [585] [1] [40]\n    Add Locked Block [-7080] [585] [1] [40]\nend\n\ndefine Scroll\nif <([abs v] of (player_sx) ) > [1]> then\n    change [scroll offset v] by ((player_sx) / ((11) - (offset speed)))\nend\nif <(scroll offset) > (max scroll offset)> then\n    set [scroll offset v] to (max scroll offset)\nend\nif <(scroll offset) < (() - (max scroll offset))> then\n    set [scroll offset v] to (() - (max scroll offset))\nend\nchange [scroll x v] by ([floor v] of ((((player_x) - (SCROLL X)) / (9)) + (scroll offset)) )\nchange [scroll y v] by ([floor v] of (((player_y) - (SCROLL Y)) / (7)) )\nif <(SCROLL X) < ((item ((Level) + (1)) of [level boundary x1 v]) - (-220))> then\n    set [scroll x v] to ((item ((Level) + (1)) of [level boundary x1 v]) - (-220))\nend\nif <(SCROLL X) > ((item ((Level) + (1)) of [level boundary x2 v]) - (220))> then\n    set [scroll x v] to ((item ((Level) + (1)) of [level boundary x2 v]) - (220))\nend\nif <(SCROLL Y) < [0]> then\n    set [scroll y v] to [0]\nend\nif <(player_x) < (item ((Level) + (1)) of [level boundary x1 v])> then\n    set [player_sx v] to [0]\n    set [player_x v] to (item ((Level) + (1)) of [level boundary x1 v])\nend\nif <(player_x) > (item ((Level) + (1)) of [level boundary x2 v])> then\n    set [player_sx v] to [0]\n    set [player_x v] to (item ((Level) + (1)) of [level boundary x2 v])\nend\n\nwhen [r v] key pressed\nif <<(die) = [0]> and <(menu) = [0]>> then\n    broadcast (die v)\nend\n\nwhen [m v] key pressed\nset [mouse v] to (join ((mouse x) + (SCROLL X)) (join [, ] ((mouse y) + (SCROLL Y))))\n\nwhen flag clicked\nforever\n    if <mouse down?> then\n        if <(username) = [haxroyale_l12]> then\n            set [player_x v] to ((mouse x) + (SCROLL X))\n            set [player_y v] to ((mouse y) + (SCROLL Y))\n        end\n    end\nend\n\ndefine Make End Portal (x) (y)\nadd ((x) - (7)) to [no grass x1 v]\nadd ((x) - (-9)) to [no grass x2 v]\nadd ((y) - (125)) to [no grass y v]\nset [winx v] to (x)\nset [winy v] to ((y) - (110))\nif <(exit bright) > [0]> then\n    change [exit bright v] by (-20)\nend\nif <([abs v] of ((x) - (SCROLL X)) ) < [320]> then\n    set pen color to (#c73434)\n    set pen (saturation v) to ((73) - (exit bright))\n    set pen (brightness v) to ((78) + (exit bright))\n    Draw Right Triangle (((x) + (5)) - (SCROLL X)) (((y) - ((20) + (exit extend))) - (SCROLL Y)) [40] [20] [1] [1]\n    set pen color to (#de3a3a)\n    set pen (saturation v) to ((73) - (exit bright))\n    set pen (brightness v) to ((87) + (exit bright))\n    Draw Right Triangle (((x) + (5)) - (SCROLL X)) (((y) - ((20) + (exit extend))) - (SCROLL Y)) [40] [20] [1] [-1]\n    set pen color to (#b5b5b5)\n    set pen (brightness v) to ((70) + (exit bright))\n    draw line (((x) - (3)) - (SCROLL X)) ((y) - (SCROLL Y)) to (((x) - (3)) - (SCROLL X)) (((y) - (130)) - (SCROLL Y)) size [12]\n    set pen color to (#cecece)\n    set pen (brightness v) to ((80) + (exit bright))\n    draw line ((x) - (SCROLL X)) ((y) - (SCROLL Y)) to ((x) - (SCROLL X)) (((y) - (130)) - (SCROLL Y)) size [12]\nend\nif <<((player_x) + (19)) > (x)> and <<((player_y) + (20)) > ((y) - (130))> and <<((player_x) - (19)) < ((x) + (40))> and <((player_y) - (20)) < (y)>>>> then\n    if <(die) = [0]> then\n        set [exit bright v] to [200]\n        broadcast (win v)\n        repeat (10)\n            Add Particle Color: [0] (pick random (50) to (73)) (pick random (78) to (95)) Trans. [0] X: ((x) + (5)) Y: ((y) - (20)) Dir: (pick random (-30) to (210)) Speed [10] Size: [18]\n        end\n        start sound [Checkpoint v]\n    end\nend\n\ndefine Draw backdrop\nset [i8 v] to [0]\nif <(menu) = [0]> then\n    if <<(Level) = [3]> or <(Level) = [4]>> then\n        set pen color to (#0032a0)\n    else\n        set pen color to (#2897ff)\n    end\nelse\n    if <<(levels unlocked) = [3]> or <(levels unlocked) = [4]>> then\n        set pen color to (#0032a0)\n    else\n        set pen color to (#2897ff)\n    end\nend\nrepeat (200)\n    draw line [-300] ((240) - ((2.5) * (i8))) to [300] ((240) - ((2.5) * (i8))) size [20]\n    change [i8 v] by (1)\n    change pen (color v) by ((-1) / (16))\n    if <(i8) > [80]> then\n        change pen (saturation v) by (-0.5)\n    end\nend\n\ndefine Draw Spiral (x) (y) (start deg)\nset pen color to (#6300de)\nset [i9 v] to [0]\npen up\npoint in direction (start deg)\ngo to x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y))\nrepeat (60)\n    pen down\n    change pen (transparency v) by (1.5)\n    change [i9 v] by (0.04)\n    move (i9) steps\n    turn right (15) degrees\nend\n\nwhen I receive [win v]\nbroadcast (exit extend v)\nset [player_sx v] to [0]\nset [player_sy v] to [0]\nset [die v] to [2]\nrepeat until <<(round (player_x)) = (winx)> and <(round (player_y)) = (winy)>>\n    change [player_x v] by (((winx) - (player_x)) / (4))\n    change [player_y v] by (((winy) - (player_y)) / (4))\nend\nwait (0.5) seconds\nif <<(Level) = [2]> or <(Level) = [3]>> then\n    set [color win v] to [black]\nelse\n    set [color win v] to [white]\nend\nbroadcast (next level v)\n\ndefine Fix Collision in Dir (dir)\nrepeat (50)\n    test collide platform [] [] []\n    change [player_x v] by (() - ([cos v] of (dir) ))\n    change [player_y v] by (() - ([sin v] of (dir) ))\n    if <(Touching?) = [0]> then\n        stop [this script v]\n    end\nend\n\nwhen flag clicked\nforever\n    set [fps v] to ((1) / (timer))\n    reset timer\nend\n\ndefine Exits\nif <(Level) = [0]> then\n    Make End Portal [5600] [700]\nend\nif <(Level) = [1]> then\n    Make End Portal [3940] [180]\nend\nif <(Level) = [2]> then\n    Make End Portal [9120] [80]\nend\nif <(Level) = [3]> then\n    Make End Portal [-8580] [250]\nend\nif <(Level) = [4]> then\n    Make End Portal [-9920] [730]\nend\nif <(Level) = [5]> then\n    Make End Portal [4880] [480]\nend\n\ndefine Draw Grass\nset [j1 v] to [0]\nrepeat (length of [grass x v])\n    change [j1 v] by (1)\n    if <<([abs v] of ((item (j1) of [grass x v]) - (SCROLL X)) ) < [700]> and <([abs v] of ((item (j1) of [grass y v]) - (SCROLL Y)) ) < [1000]>> then\n        set pen color to (#81e819)\n        find distance (item (j1) of [grass x v]) (item (j1) of [grass y v]) (player_x) (player_y)\n        if <(distance) < [32]> then\n            if <([abs v] of (player_sx) ) > [1]> then\n                if <(die) = [0]> then\n                    replace item (j1) of [grass magnitude v] with (((player_sx) * (6)) - ((6) * ((item (j1) of [grass dir v]) / ([abs v] of (item (j1) of [grass dir v]) ))))\n                    replace item (j1) of [grass mv v] with [0]\n                end\n            end\n        end\n        set [j5 v] to [0]\n        repeat (length of [enemy x v])\n            change [j5 v] by (1)\n            find distance (item (j1) of [grass x v]) (item (j1) of [grass y v]) ((item (j5) of [enemy x v]) + (20)) ((item (j5) of [enemy y v]) - (20))\n            if <(distance) < [32]> then\n                if <([abs v] of (item (j5) of [enemy sx v]) ) > [1.5]> then\n                    if <(item (j5) of [enemy die v]) = [0]> then\n                        replace item (j1) of [grass magnitude v] with (((item (j5) of [enemy sx v]) * (6)) - ((6) * ((item (j1) of [grass dir v]) / ([abs v] of (item (j1) of [grass dir v]) ))))\n                        replace item (j1) of [grass mv v] with [0]\n                    end\n                end\n            end\n        end\n        replace item (j1) of [grass magnitude v] with ((item (j1) of [grass magnitude v]) * (0.97))\n        replace item (j1) of [grass mv v] with ((item (j1) of [grass mv v]) + (pick random (0.5) to (0.8)))\n        if <<([abs v] of ((item (j1) of [grass x v]) - (SCROLL X)) ) < [300]> and <([abs v] of ((item (j1) of [grass y v]) - (SCROLL Y)) ) < [300]>> then\n            if <(item (j1) of [grass type v]) = [0]> then\n                set pen size to (9)\n            else\n                set pen size to (6)\n            end\n            pen up\n            go to x: ((item (j1) of [grass x v]) - (SCROLL X)) y: ((item (j1) of [grass y v]) - (SCROLL Y))\n            pen down\n            go to x: (((item (j1) of [grass x v]) + (((item (j1) of [grass size v]) * (4)) * ([sin v] of (() - (([sin v] of (() - ((item (j1) of [grass mv v]) * (10))) ) * ((item (j1) of [grass magnitude v]) + (((item (j1) of [grass dir v]) / ([abs v] of (item (j1) of [grass dir v]) )) * (6))))) ))) - (SCROLL X)) y: (((item (j1) of [grass y v]) + (((item (j1) of [grass size v]) * (4)) * ([cos v] of (() - (([sin v] of (() - ((item (j1) of [grass mv v]) * (10))) ) * ((item (j1) of [grass magnitude v]) + (((item (j1) of [grass dir v]) / ([abs v] of (item (j1) of [grass dir v]) )) * (6))))) ))) - (SCROLL Y))\n            if <(item (j1) of [grass type v]) = [1]> then\n                set pen color to (#e5e834)\n                set pen size to (22)\n                pen down\n                pen up\n                set pen color to (#a07443)\n                set pen size to (12)\n                pen down\n                pen up\n            else\n                if <(item (j1) of [grass type v]) = [2]> then\n                    set pen color to (#ffffff)\n                    set pen size to (22)\n                    pen down\n                    pen up\n                    set pen color to (#f0f500)\n                    set pen size to (10)\n                    pen down\n                    pen up\n                else\n                    if <(item (j1) of [grass type v]) = [3]> then\n                        set pen color to (#ff995a)\n                        set pen size to (20)\n                        pen down\n                        pen up\n                        set pen color to (#ffd896)\n                        set pen size to (12)\n                        pen down\n                        pen up\n                    end\n                end\n            end\n        end\n    end\nend\n\ndefine make grass\nset [j2 v] to [0]\nset [gv v] to [0]\nrepeat (length of [grpl len v])\n    change [j2 v] by (1)\n    set [j3 v] to [0]\n    repeat ([floor v] of ((item (j2) of [grpl len v]) / (15)) )\n        change [gv v] by (1)\n        if <(length of [grrrrrr v]) < (gv)> then\n            if <((((j3) + ((j2) mod (3))) mod (12)) mod (4)) = [0]> then\n                set [grass size v] to [7]\n            end\n            if <<((((j3) + ((j2) mod (3))) mod (12)) mod (3)) = [1]> and <not <((((j3) + ((j2) mod (3))) mod (12)) mod (4)) = [0]>>> then\n                set [grass size v] to [6]\n            end\n            if <<((((j3) + ((j2) mod (3))) mod (12)) mod (3)) = [2]> and <not <((((j3) + ((j2) mod (3))) mod (12)) mod (4)) = [0]>>> then\n                set [grass size v] to [4]\n            end\n            if <<((((j3) + ((j2) mod (3))) mod (12)) mod (3)) = [0]> and <not <((((j3) + ((j2) mod (3))) mod (12)) mod (4)) = [0]>>> then\n                set [grass size v] to [5]\n            end\n            Grass detect?\n            if <(no grass) = [0]> then\n                add (j2) to [grass j2 v]\n                add (j3) to [grass j3 v]\n                if <<(Level) > [2]> and <(Level) < [5]>> then\n                    add [-1] to [grass dir v]\n                else\n                    add [1] to [grass dir v]\n                end\n                if <not <((15) * ((j3) + (0.5))) > (item (j2) of [grpl len v])>> then\n                    add ((item (j2) of [grpl x v]) + ((15) * ((j3) + (0.5)))) to [grass x v]\n                end\n                add ((item (j2) of [grpl y v]) + (0)) to [grass y v]\n                add (grass size) to [grass size v]\n                if <((((j3) + ((j2) mod (3))) mod (12)) mod (4)) = [0]> then\n                    if <(((j3) + ((j2) mod (3))) mod (12)) = [0]> then\n                        add [1] to [grass type v]\n                    end\n                    if <(((j3) + ((j2) mod (3))) mod (12)) = [4]> then\n                        add [2] to [grass type v]\n                    end\n                    if <(((j3) + ((j2) mod (3))) mod (12)) = [8]> then\n                        add [3] to [grass type v]\n                    end\n                else\n                    add [0] to [grass type v]\n                end\n                add [0] to [grass magnitude v]\n                add (pick random (0) to (20)) to [grass mv v]\n            end\n            add [thing] to [grrrrrr v]\n            change [j3 v] by (1)\n        else\n            replace item (gv) of [grass x v] with ((item (item (gv) of [grass j2 v]) of [grpl x v]) + ((15) * ((item (gv) of [grass j3 v]) + (0.5))))\n            replace item (gv) of [grass y v] with (item (item (gv) of [grass j2 v]) of [grpl y v])\n        end\n    end\nend\n\ndefine Grass detect?\nset [j4 v] to [0]\nset [no grass v] to [0]\nrepeat (length of [no grass x1 v])\n    change [j4 v] by (1)\n    if <<((item (j2) of [grpl x v]) + ((15) * ((j3) + (0.5)))) > ((item (j4) of [no grass x1 v]) - (6))> and <<((item (j2) of [grpl x v]) + ((15) * ((j3) + (0.5)))) < ((item (j4) of [no grass x2 v]) + (6))> and <([abs v] of ((item (j4) of [no grass y v]) - (item (j2) of [grpl y v])) ) < [20]>>> then\n        set [no grass v] to [1]\n        stop [this script v]\n    end\nend\nset [j4 v] to [0]\nrepeat (length of [slope x v])\n    change [j4 v] by (1)\n    Line collision basic ((item (j2) of [grpl x v]) + ((15) * ((j3) + (0.5)))) ((item (j2) of [grpl y v]) - (5)) ((item (j2) of [grpl x v]) + ((15) * ((j3) + (0.5)))) ((item (j2) of [grpl y v]) + ((grass size) * (4))) and ((item (j4) of [slope x v]) + (([cos v] of (([atan v] of (((item (j4) of [slope y2 v]) - (item (j4) of [slope y v])) / ((item (j4) of [slope x2 v]) - (item (j4) of [slope x v]))) ) + (90)) ) * (8))) ((item (j4) of [slope y v]) + (([sin v] of (([atan v] of (((item (j4) of [slope y2 v]) - (item (j4) of [slope y v])) / ((item (j4) of [slope x2 v]) - (item (j4) of [slope x v]))) ) + (90)) ) * (8))) ((item (j4) of [slope x2 v]) + (([cos v] of (([atan v] of (((item (j4) of [slope y2 v]) - (item (j4) of [slope y v])) / ((item (j4) of [slope x2 v]) - (item (j4) of [slope x v]))) ) + (90)) ) * (8))) ((item (j4) of [slope y2 v]) + (([sin v] of (([atan v] of (((item (j4) of [slope y2 v]) - (item (j4) of [slope y v])) / ((item (j4) of [slope x2 v]) - (item (j4) of [slope x v]))) ) + (90)) ) * (8)))\n    if <(Lines Touching?) = [1]> then\n        set [no grass v] to [1]\n        stop [this script v]\n    else\n        Line collision basic ((item (j2) of [grpl x v]) + ((15) * ((j3) + (0.5)))) ((item (j2) of [grpl y v]) - (5)) ((item (j2) of [grpl x v]) + ((15) * ((j3) + (0.5)))) ((item (j2) of [grpl y v]) + ((grass size) * (4))) and ((item (j4) of [slope x v]) + (([cos v] of (([atan v] of (((item (j4) of [slope y2 v]) - (item (j4) of [slope y v])) / ((item (j4) of [slope x2 v]) - (item (j4) of [slope x v]))) ) + (-90)) ) * (8))) ((item (j4) of [slope y v]) + (([sin v] of (([atan v] of (((item (j4) of [slope y2 v]) - (item (j4) of [slope y v])) / ((item (j4) of [slope x2 v]) - (item (j4) of [slope x v]))) ) + (-90)) ) * (8))) ((item (j4) of [slope x2 v]) + (([cos v] of (([atan v] of (((item (j4) of [slope y2 v]) - (item (j4) of [slope y v])) / ((item (j4) of [slope x2 v]) - (item (j4) of [slope x v]))) ) + (-90)) ) * (8))) ((item (j4) of [slope y2 v]) + (([sin v] of (([atan v] of (((item (j4) of [slope y2 v]) - (item (j4) of [slope y v])) / ((item (j4) of [slope x2 v]) - (item (j4) of [slope x v]))) ) + (-90)) ) * (8)))\n        if <(Lines Touching?) = [1]> then\n            set [no grass v] to [1]\n            stop [this script v]\n        end\n    end\nend\n\ndefine level reset\ndelete all of [grass dir v]\ndelete all of [grass magnitude v]\ndelete all of [grass mv v]\ndelete all of [grass size v]\ndelete all of [grass type v]\ndelete all of [grass x v]\ndelete all of [grass y v]\ndelete all of [grass dir v]\ndelete all of [grrrrrr v]\ndelete all of [grass j2 v]\ndelete all of [grass j3 v]\nset [game_frame v] to [0]\nreset lists\nCheckpoints [1]\nreset\nrender\nif <(color win) = [white]> then\n    set pen color to (#ffffff)\nelse\n    set pen color to (#000000)\nend\nset pen (transparency v) to (win circle trans)\ndraw circle [0] [0] [600]\nmake grass\n\ndefine render\nDraw backdrop\ndraw parallax\nLava\nWater\nDraw Grass\nDangers\nCheckpoints []\nExits\nPlatforms\nVanishings\nClouds\nTramps\nOrbs\nLocked & Keys\nEnemies\n\ndefine set up chars\nset [chars v] to [0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ._-]\ndelete all of [chars v]\nset [i11 v] to [0]\nrepeat (length of (chars))\n    change [i11 v] by (1)\n    add (letter (i11) of (chars)) to [chars v]\nend\n\nwhen I receive [exit extend v]\nrepeat (25)\n    change [exit extend v] by (5)\nend\n\ndefine Draw text\nset pen color to (#ffffff)\nif <(Level) = [0]> then\n    Draw in level text [avoid spikes and holes] [-200] [140]\n    Draw in level text [also avoid saws] [350] [135]\n    Draw in level text [you can go up the slopes] [700] [150]\n    Draw in level text [and jump high on the trampoline] [660] [130]\n    Draw in level text [you will respawn at the] [960] [420]\n    Draw in level text [checkpoint when you die] [960] [400]\n    Draw in level text [jump off the gray platform] [1315] [370]\n    Draw in level text [and see what happens] [1345] [350]\n    Draw in level text [you can jump through the bottom] [1460] [100]\n    Draw in level text [of the cloud. hold down arrow or s] [1460] [80]\n    Draw in level text [to phase through it] [1460] [60]\n    Draw in level text [stomp on the enemies] [1900] [500]\n    Draw in level text [to kill them] [1950] [480]\n    Draw in level text [slightly scarier enemies] [2325] [450]\n    Draw in level text [wait for the] [2650] [450]\n    Draw in level text [moving platform] [2625] [430]\n    Draw in level text [get the key to] [3240] [560]\n    Draw in level text [unlock the blocks] [3240] [540]\n    Draw in level text [hold down arrow or s] [3530] [530]\n    Draw in level text [to slide down slopes] [3530] [510]\n    Draw in level text [you can swim] [3930] [380]\n    Draw in level text [in water] [3950] [360]\n    Draw in level text [tap up arrow or w] [4450] [420]\n    Draw in level text [to jump on the orbs] [4440] [400]\n    Draw in level text [try not to fall] [4720] [410]\n    Draw in level text [into the lava] [4730] [390]\n    Draw in level text [wait for the] [5000] [400]\n    Draw in level text [moving platform] [4975] [380]\n    Draw in level text [you win when you] [5390] [750]\n    Draw in level text [touch the red flag] [5385] [730]\nend\n\ndefine Draw in level text (text) (x) (y)\ndraw (text) x: ((x) - (SCROLL X)) y: ((y) - (SCROLL Y)) size: [0.35] Spacing: [11] Horizontal Stretch: [1.15] pensize: [3]\n\ndefine draw parallax\nset [x-shift v] to ((SCROLL X) / (5))\nset [y-shift v] to ((SCROLL Y) / (8))\nset pen (transparency v) to (0)\nset [parallax id v] to [0]\nif <<(Level) = [3]> or <(Level) = [4]>> then\n    set pen color to (#3b657b)\n    repeat (([ceiling v] of (([abs v] of (item ((Level) + (1)) of [level boundary x1 v]) ) / ((5) * (240))) ) + (1))\n        if <((parallax id) mod (2)) = [0]> then\n            set [q v] to [0.015]\n        else\n            set [q v] to [0.02]\n        end\n        draw equation (((0) - ((parallax id) * (240))) - (x-shift)) (((240) - ((parallax id) * (240))) - (x-shift)) ((-180) - (y-shift)) (q)\n        change [parallax id v] by (1)\n    end\nelse\n    set pen color to (#5eb3c3)\n    repeat (([ceiling v] of ((item ((Level) + (1)) of [level boundary x2 v]) / ((5) * (240))) ) + (1))\n        if <((parallax id) mod (2)) = [0]> then\n            set [q v] to [0.015]\n        else\n            set [q v] to [0.02]\n        end\n        draw equation (((-240) + ((parallax id) * (240))) - (x-shift)) (((parallax id) * (240)) - (x-shift)) ((-180) - (y-shift)) (q)\n        change [parallax id v] by (1)\n    end\nend\n\ndefine draw level buttons\nset [level-i v] to [0]\nrepeat (5)\n    if <<<(mouse x) > ((-210) + ((86) * (level-i)))> and <(mouse x) < ((-134) + ((86) * (level-i)))>> and <<(mouse y) > [-116]> and <(mouse y) < [-40]>>> then\n        set [level brightness v] to [10]\n        if <<mouse down?> and <(win circle trans) = [100]>> then\n            if <not <(levels unlocked) < ((level-i) + (1))>> then\n                if <<((level-i) + (1)) = [3]> or <((level-i) + (1)) = [4]>> then\n                    set [color win v] to [black]\n                else\n                    set [color win v] to [white]\n                end\n                set [level v] to ((level-i) + (1))\n                broadcast (next level v)\n            end\n        end\n    else\n        set [level brightness v] to [0]\n    end\n    set pen color to (#bfbfbf)\n    set pen (brightness v) to ((74) + (level brightness))\n    draw rect ((-210) + ((86) * (level-i))) [-40] [76] [76] [20] [1]\n    set pen color to (#eeeeee)\n    draw rect ((-205) + ((86) * (level-i))) [-45] [66] [66] [20] [1]\n    set pen color to (#777777)\n    set pen (brightness v) to ((46) + (level brightness))\n    if <(levels unlocked) < ((level-i) + (1))> then\n        draw line ((-172) + ((86) * (level-i))) [-65] to ((-172) + ((86) * (level-i))) [-80] size [28]\n        set pen color to (#eeeeee)\n        draw line ((-172) + ((86) * (level-i))) [-65] to ((-172) + ((86) * (level-i))) [-80] size [12]\n        set pen color to (#777777)\n        set pen (brightness v) to ((46) + (level brightness))\n        draw rect ((-193) + ((86) * (level-i))) [-72] [42] [30] [9] [1]\n        draw circle ((-185) + ((86) * (level-i))) [-92] [5]\n        set pen color to (#eeeeee)\n        draw circle ((-172) + ((86) * (level-i))) [-83] [12]\n        Draw Right Triangle ((-172) + ((86) * (level-i))) [-96] [5] [16] [1] [1]\n        Draw Right Triangle ((-172) + ((86) * (level-i))) [-96] [5] [16] [-1] [1]\n        draw line ((-177) + ((86) * (level-i))) [-96] to ((-167) + ((86) * (level-i))) [-96] size [2]\n    else\n        if <<((level-i) + (1)) = [1]> or <((level-i) + (1)) = [5]>> then\n            draw ((level-i) + (1)) x: ((-180) + ((86) * (level-i))) y: [-61] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n        else\n            if <((level-i) + (1)) = [2]> then\n                draw ((level-i) + (1)) x: ((-183) + ((86) * (level-i))) y: [-61] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n            else\n                draw ((level-i) + (1)) x: ((-185) + ((86) * (level-i))) y: [-61] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n            end\n        end\n    end\n    change [level-i v] by (1)\nend\n\nDraw in level text [press r to respawn at checkpoints] [-200] [130]\nDraw in level text [press b to return to the menu] [-200] [110]\n\ndefine Draw menu\nDraw backdrop\nif <<(levels unlocked) = [3]> or <(levels unlocked) = [4]>> then\n    set pen color to (#3b657b)\nelse\n    set pen color to (#5eb3c3)\nend\ndraw equation [-240] [0] [-180] [0.015]\ndraw equation [0] [240] [-180] [0.02]\nset pen color to (#eeeeee)\nif <(submenu) = [1]> then\n    draw [level select] x: [-168] y: [130] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n    if <<<(mouse x) > [-210]> and <(mouse x) < [210]>> and <<(mouse y) > [-20]> and <(mouse y) < [50]>>> then\n        set [level brightness v] to [10]\n        if <<mouse down?> and <(win circle trans) = [100]>> then\n            set [level v] to [0]\n            broadcast (next level v)\n        end\n    else\n        set [level brightness v] to [0]\n    end\n    set pen color to (#bfbfbf)\n    set pen (brightness v) to ((74) + (level brightness))\n    draw rect [-210] [50] [420] [70] [20] [1]\n    set pen color to (#eeeeee)\n    draw rect [-205] [45] [410] [60] [20] [1]\n    set pen color to (#777777)\n    set pen (brightness v) to ((46) + (level brightness))\n    draw [tutorial] x: [-125] y: [30] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n    draw level buttons\nelse\n    if <(submenu) = [0]> then\n        draw [grassworld 2.0] x: [-205] y: [150] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n        draw [by haxroyale_l12] x: [-135] y: [100] size: [0.5] Spacing: [10] Horizontal Stretch: [1.2] pensize: [4]\n        if <<<(mouse x) > [-125]> and <(mouse x) < [125]>> and <<(mouse y) > [0]> and <(mouse y) < [70]>>> then\n            set [level brightness v] to [10]\n            if <<mouse down?> and <(win circle trans) = [100]>> then\n                broadcast (submenu 0 to 1 v)\n            end\n        else\n            set [level brightness v] to [0]\n        end\n        set pen color to (#bfbfbf)\n        set pen (brightness v) to ((74) + (level brightness))\n        draw rect [-125] [70] [250] [70] [20] [1]\n        set pen color to (#eeeeee)\n        draw rect [-120] [65] [240] [60] [20] [1]\n        set pen color to (#777777)\n        set pen (brightness v) to ((46) + (level brightness))\n        draw [play] x: [-55] y: [50] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n        if <<<(mouse x) > [-155]> and <(mouse x) < [155]>> and <<(mouse y) > [-85]> and <(mouse y) < [-15]>>> then\n            set [level brightness v] to [10]\n            if <<mouse down?> and <(win circle trans) = [100]>> then\n                broadcast (submenu 0 to 2 v)\n            end\n        else\n            set [level brightness v] to [0]\n        end\n        set pen color to (#bfbfbf)\n        set pen (brightness v) to ((74) + (level brightness))\n        draw rect [-155] [-15] [310] [70] [20] [1]\n        set pen color to (#eeeeee)\n        draw rect [-150] [-20] [300] [60] [20] [1]\n        set pen color to (#777777)\n        set pen (brightness v) to ((46) + (level brightness))\n        draw [instructions] x: [-138] y: [-40] size: [0.7] Spacing: [8] Horizontal Stretch: [1.2] pensize: [5]\n        if <<<(mouse x) > [-145]> and <(mouse x) < [145]>> and <<(mouse y) > [-170]> and <(mouse y) < [-100]>>> then\n            set [level brightness v] to [10]\n            if <<mouse down?> and <(win circle trans) = [100]>> then\n                broadcast (submenu 0 to 3 v)\n            end\n        else\n            set [level brightness v] to [0]\n        end\n        set pen color to (#bfbfbf)\n        set pen (brightness v) to ((74) + (level brightness))\n        draw rect [-145] [-100] [290] [70] [20] [1]\n        set pen color to (#eeeeee)\n        draw rect [-140] [-105] [280] [60] [20] [1]\n        set pen color to (#777777)\n        set pen (brightness v) to ((46) + (level brightness))\n        draw [settings] x: [-111] y: [-121] size: [0.8] Spacing: [10] Horizontal Stretch: [1.2] pensize: [5]\n    else\n        if <(submenu) = [2]> then\n            set pen color to (#ffffff)\n            draw [instructions] x: [-189] y: [140] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n            draw line [-189] [95] to [190] [95] size [6]\n            draw [arrow keys or wasd to move] x: [-205] y: [80] size: [0.5] Spacing: [9] Horizontal Stretch: [1.2] pensize: [4]\n            draw [press r to respawn] x: [-205] y: [50] size: [0.5] Spacing: [9] Horizontal Stretch: [1.2] pensize: [4]\n            draw [press b to return to the menu] x: [-205] y: [20] size: [0.5] Spacing: [9] Horizontal Stretch: [1.2] pensize: [4]\n            draw [all other instructions are] x: [-205] y: [-30] size: [0.5] Spacing: [9] Horizontal Stretch: [1.2] pensize: [4]\n            draw [in the tutorial level] x: [-205] y: [-60] size: [0.5] Spacing: [9] Horizontal Stretch: [1.2] pensize: [4]\n            draw [press t if you want tips] x: [-205] y: [-110] size: [0.5] Spacing: [9] Horizontal Stretch: [1.2] pensize: [4]\n        else\n            if <(submenu) = [3]> then\n                set pen color to (#ffffff)\n                draw [settings] x: [-125] y: [140] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n                draw line [-125] [95] to [125] [95] size [6]\n                draw [game sound] x: [-200] y: [60] size: [0.5] Spacing: [10] Horizontal Stretch: [1.2] pensize: [4]\n                draw (volume) x: [70] y: [60] size: [0.5] Spacing: [10] Horizontal Stretch: [1.2] pensize: [4]\n                draw line [53] [58] to [43] [50] size [5]\n                draw line [53] [42] to [43] [50] size [5]\n                draw line [138] [58] to [148] [50] size [5]\n                draw line [138] [42] to [148] [50] size [5]\n                draw [game music] x: [-200] y: [10] size: [0.5] Spacing: [10] Horizontal Stretch: [1.2] pensize: [4]\n                draw (volume music) x: [70] y: [10] size: [0.5] Spacing: [10] Horizontal Stretch: [1.2] pensize: [4]\n                draw line [53] [8] to [43] [0] size [5]\n                draw line [53] [-8] to [43] [0] size [5]\n                draw line [138] [8] to [148] [0] size [5]\n                draw line [138] [-8] to [148] [0] size [5]\n                draw [scroll offset] x: [-200] y: [-40] size: [0.5] Spacing: [9] Horizontal Stretch: [1.2] pensize: [4]\n                if <(max scroll offset) < [10]> then\n                    draw (max scroll offset) x: [105] y: [-40] size: [0.5] Spacing: [10] Horizontal Stretch: [1.2] pensize: [4]\n                else\n                    draw (max scroll offset) x: [88] y: [-40] size: [0.5] Spacing: [10] Horizontal Stretch: [1.2] pensize: [4]\n                end\n                draw line [71] [-42] to [61] [-50] size [5]\n                draw line [71] [-58] to [61] [-50] size [5]\n                draw line [138] [-42] to [148] [-50] size [5]\n                draw line [138] [-58] to [148] [-50] size [5]\n                draw [scroll speed] x: [-200] y: [-90] size: [0.5] Spacing: [10] Horizontal Stretch: [1.2] pensize: [4]\n                draw (offset speed) x: [110] y: [-90] size: [0.5] Spacing: [10] Horizontal Stretch: [1.2] pensize: [4]\n                draw line [93] [-92] to [83] [-100] size [5]\n                draw line [93] [-108] to [83] [-100] size [5]\n                draw line [138] [-92] to [148] [-100] size [5]\n                draw line [138] [-108] to [148] [-100] size [5]\n                if <<<(mouse x) > [43]> and <(mouse x) < [53]>> and <<(mouse y) > [42]> and <(mouse y) < [58]>>> then\n                    if <mouse down?> then\n                        if <(volume) > [0]> then\n                            change volume by (-1)\n                        end\n                    end\n                end\n                if <<<(mouse x) > [138]> and <(mouse x) < [148]>> and <<(mouse y) > [42]> and <(mouse y) < [58]>>> then\n                    if <mouse down?> then\n                        if <(volume) < [100]> then\n                            change volume by (1)\n                        end\n                    end\n                end\n                if <<<(mouse x) > [43]> and <(mouse x) < [53]>> and <<(mouse y) > [-8]> and <(mouse y) < [8]>>> then\n                    if <mouse down?> then\n                        if <(volume music) > [0]> then\n                            change [volume music v] by (-1)\n                        end\n                    end\n                end\n                if <<<(mouse x) > [138]> and <(mouse x) < [148]>> and <<(mouse y) > [-8]> and <(mouse y) < [8]>>> then\n                    if <mouse down?> then\n                        if <(volume music) < [100]> then\n                            change [volume music v] by (1)\n                        end\n                    end\n                end\n                if <<<(mouse x) > [61]> and <(mouse x) < [71]>> and <<(mouse y) > [-58]> and <(mouse y) < [-42]>>> then\n                    if <mouse down?> then\n                        if <(max scroll offset) > [0]> then\n                            change [max scroll offset v] by (-1)\n                        end\n                    end\n                end\n                if <<<(mouse x) > [138]> and <(mouse x) < [148]>> and <<(mouse y) > [-58]> and <(mouse y) < [-42]>>> then\n                    if <mouse down?> then\n                        if <(max scroll offset) < [20]> then\n                            change [max scroll offset v] by (1)\n                        end\n                    end\n                end\n                if <<<(mouse x) > [83]> and <(mouse x) < [93]>> and <<(mouse y) > [-108]> and <(mouse y) < [-92]>>> then\n                    if <mouse down?> then\n                        if <(offset speed) > [1]> then\n                            change [offset speed v] by (-1)\n                        end\n                    end\n                end\n                if <<<(mouse x) > [138]> and <(mouse x) < [148]>> and <<(mouse y) > [-108]> and <(mouse y) < [-92]>>> then\n                    if <mouse down?> then\n                        if <(offset speed) < [8]> then\n                            change [offset speed v] by (1)\n                        end\n                    end\n                end\n            else\n                draw [tips] x: [-62] y: [140] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n                draw line [-60] [95] to [60] [95] size [6]\n                draw [-if there is no platform to jump to] x: [-220] y: [80] size: [0.4] Spacing: [10] Horizontal Stretch: [1.2] pensize: [3]\n                draw [there is likely a moving platform] x: [-220] y: [55] size: [0.4] Spacing: [10] Horizontal Stretch: [1.2] pensize: [3]\n                draw [that will come by.] x: [-220] y: [30] size: [0.4] Spacing: [10] Horizontal Stretch: [1.2] pensize: [3]\n                draw [-if you see two different routes] x: [-220] y: [0] size: [0.4] Spacing: [10] Horizontal Stretch: [1.2] pensize: [3]\n                draw [the main route will often be blocked] x: [-220] y: [-25] size: [0.4] Spacing: [10] Horizontal Stretch: [1.2] pensize: [3]\n                draw [by locked blocks while the other ] x: [-220] y: [-50] size: [0.4] Spacing: [10] Horizontal Stretch: [1.2] pensize: [3]\n                draw [route leads to the key.] x: [-220] y: [-75] size: [0.4] Spacing: [10] Horizontal Stretch: [1.2] pensize: [3]\n                draw [-if you see multiple enemies kill ] x: [-220] y: [-105] size: [0.4] Spacing: [10] Horizontal Stretch: [1.2] pensize: [3]\n                draw [them one at a time.] x: [-220] y: [-130] size: [0.4] Spacing: [10] Horizontal Stretch: [1.2] pensize: [3]\n            end\n        end\n    end\nend\n\nwhen [b v] key pressed\nif <not <<(menu) = [1]> and <(submenu) = [0]>>> then\n    broadcast (menu v)\nend\n\nwhen I receive [menu v]\nif <<(levels unlocked) = [3]> or <(levels unlocked) = [4]>> then\n    set [color win v] to [black]\nelse\n    set [color win v] to [white]\nend\nset [win circle trans v] to [100]\nrepeat (21)\n    change [win circle trans v] by (-5)\nend\nset [win circle trans v] to [0]\nif <(menu) = [0]> then\n    set [menu v] to [1]\n    set [submenu v] to [1]\nelse\n    if <(submenu) = [4]> then\n        set [submenu v] to [2]\n    else\n        set [submenu v] to [0]\n    end\nend\nset [win circle trans v] to [0]\nwait (0.5) seconds\nrepeat (25)\n    change [win circle trans v] by (4)\nend\n\nwhen [l v] key pressed\nif <<(username) = [haxroyale_l12]> or <(username) = [alpac2]>> then\n    ask [] and wait\n    set [levels unlocked v] to (answer)\nend\n\nwhen I receive [water v]\nset [water sound v] to [1]\nplay sound [Water v] until done\nset [water sound v] to [0]\n\nwhen I receive [orb v]\nset [orbsound v] to [1]\nplay sound [Orb v] until done\nset [orbsound v] to [0]\n\nif <(submenu) = [0]> then\n\nwhen I receive [submenu 0 to 1 v]\nset [win circle trans v] to [100]\nrepeat (21)\n    change [win circle trans v] by (-5)\nend\nset [win circle trans v] to [0]\nset [submenu v] to [1]\nset [win circle trans v] to [0]\nwait (0.5) seconds\nrepeat (25)\n    change [win circle trans v] by (4)\nend\n\nwhen I receive [submenu 0 to 2 v]\nset [win circle trans v] to [100]\nrepeat (21)\n    change [win circle trans v] by (-5)\nend\nset [win circle trans v] to [0]\nset [submenu v] to [2]\nset [win circle trans v] to [0]\nwait (0.5) seconds\nrepeat (25)\n    change [win circle trans v] by (4)\nend\n\ndraw [grassworld 2.0] x: [-205] y: [150] size: [0.9] Spacing: [10] Horizontal Stretch: [1.2] pensize: [6]\n\nwhen I receive [next level v]\nif <<(Level) = [5]> and <(menu) = [0]>> then\n    broadcast (menu v)\nelse\n    set [win circle trans v] to [100]\n    repeat (21)\n        change [win circle trans v] by (-5)\n    end\n    set [win circle trans v] to [0]\n    if <(menu) = [0]> then\n        change [level v] by (1)\n        if <(levels unlocked) < (Level)> then\n            change [levels unlocked v] by (1)\n        end\n    else\n        set [menu v] to [0]\n    end\n    set [checkpoint v] to [1]\n    set [scroll x v] to [0]\n    set [scroll y v] to [0]\n    level reset\n    set [win circle trans v] to [0]\n    wait (0.5) seconds\n    repeat (25)\n        change [win circle trans v] by (4)\n    end\n    broadcast (start music v)\nend\n\nif <(menu) = [0]> then\n    set [menu v] to [1]\n    set [submenu v] to [1]\nelse\n    set [submenu v] to [0]\nend\nset [win circle trans v] to [0]\nwait (0.5) seconds\nrepeat (25)\n    change [win circle trans v] by (4)\nend\n\nwhen I receive [submenu 0 to 3 v]\nset [win circle trans v] to [100]\nrepeat (21)\n    change [win circle trans v] by (-5)\nend\nset [win circle trans v] to [0]\nset [submenu v] to [3]\nset [win circle trans v] to [0]\nwait (0.5) seconds\nrepeat (25)\n    change [win circle trans v] by (4)\nend\n\nwhen [t v] key pressed\nif <<(submenu) = [2]> and <(menu) = [1]>> then\n    broadcast (submenu 2 to 4 v)\nelse\nend\n\nwhen I receive [submenu 2 to 4 v]\nset [win circle trans v] to [100]\nrepeat (21)\n    change [win circle trans v] by (-5)\nend\nset [win circle trans v] to [0]\nset [submenu v] to [4]\nset [win circle trans v] to [0]\nwait (0.5) seconds\nrepeat (25)\n    change [win circle trans v] by (4)\nend\n\ndefine Draw thumbnail\nreset lists\ndelete all of [grass dir v]\ndelete all of [grass magnitude v]\ndelete all of [grass mv v]\ndelete all of [grass size v]\ndelete all of [grass type v]\ndelete all of [grass x v]\ndelete all of [grass y v]\ndelete all of [grass dir v]\ndelete all of [grrrrrr v]\ndelete all of [grass j2 v]\ndelete all of [grass j3 v]\nset [scroll x v] to [0]\nset [scroll y v] to [0]\nset [levels unlocked v] to [0]\nset [menu v] to [1]\nset [blink frame v] to [0]\nDraw backdrop\nset pen color to (#5eb3c3)\ndraw equation [-240] [0] [-180] [0.015]\ndraw equation [0] [240] [-180] [0.02]\nMake Platform [-240] [-130] [480] [50] [1] Moving: [] [] [] Top? [1] []\nmake grass\nMake Platform [-240] [-130] [480] [50] [1] Moving: [] [] [] Top? [1] []\nDraw Grass\ndraw player [-150] [-50] [4]\nset pen color to (#ffffff)\ndraw [grassworld 2.0] x: [-225] y: [150] size: [1] Spacing: [9] Horizontal Stretch: [1.2] pensize: [6]\ndraw [A 100     pen] x: [-20] y: [100] size: [0.7] Spacing: [10] Horizontal Stretch: [1.2] pensize: [5]\ndraw [scrolling] x: [-20] y: [60] size: [0.7] Spacing: [10] Horizontal Stretch: [1.2] pensize: [5]\ndraw [platformer] x: [-20] y: [20] size: [0.7] Spacing: [10] Horizontal Stretch: [1.2] pensize: [5]\ndraw line [115] [100] to [100] [75] size [5]\ndraw circle [100] [96] [7]\ndraw circle [115] [79] [7]\ndraw [by haxroyale_l12] x: [-10] y: [-20] size: [0.4] Spacing: [10] Horizontal Stretch: [1.2] pensize: [4]\n\nlevel reset\n\nwhen [timer v] > (0.001)\nif <(username) = [haxroyale_l12]> then\n    Draw thumbnail\nend\n\nwhen flag clicked\nif <(username) = [haxroyale_l12]> then\n    forever\n        Draw thumbnail\n    end\nend\n\nwhen flag clicked\nset [☁ if you dont love and fave i will be sad :\( v] to [0]\n\n
This is 100% pen.\nGO TO https://turbowarp.org/818086832 FOR NO LAG.\nRemember to love, fave and follow. All other instructions are in-game.\nThumbnail is pen.\n\n\nClarifications (IMPORTANT!):\nThis is not a sequel to Grassworld 1, it is an improvement of it.\nPress B in game to return to menu\nSCROLL OFFSET determines how much the player is offset from the center. \nSCROLL SPEED determines how fast the camera will move towards the offset. \nIF THE OFFSET IS ZERO, SPEED DOES NOT MATTER.\nCredits:\n@griffpatch for some bug-fixing scripts for platforming issues.\n@TimMcCool, @I8D, @Toadfanschool, rob1221, and Geometry Dash for inspiration for many graphical designs and several scripts (i.e, player design, grass effect)\n@MaxyBrian for playtesting and feedback.\n@chipm0nk for contest.\nMusic:\nSummer Vibes - Elektronomia\nSummertime - Erik Lund\nHardeyes - Tevvez\nMystique - Tevvez\nSummersong 2020 - Elektronomia\nPixel Party - Vexento \nCycles - DJVI\n\nEverything else by me. I made my own PTE, rect fill, line collision scripts, and a lot of other stuff for this.