Floppy Bird - An Action Platformer
@Stage\n\nwhen flag clicked\nforever\n    play sound [BackOnTrack v] until done\n    play sound [TheoryOfEverything v] until done\n    play sound [Cycles v] until done\n    play sound [Jumper v] until done\nend\n\n@floppy\n\ndefine getAngle (x) (y) from (x2) (y2)\nif <not <(y) < (y2)>> then\n    set [calc_angle v] to ([atan v] of (((x) - (x2)) / ((y) - (y2))) )\nelse\n    set [calc_angle v] to ((180) + ([atan v] of (((x) - (x2)) / ((y) - (y2))) ))\nend\n\nwhen flag clicked\nswitch backdrop to (backdrop2 v)\nintro []\nerase all\ngameIntro\nswitch backdrop to (backdrop1 v)\ninitGame\nhide\nset [playerx v] to [0]\nset [playery v] to [100]\nset [playerxv v] to [0]\nset [playeryv v] to [0]\nset [pickedgun v] to [-1]\nset [qpressed v] to [0]\nset [playerwalkindex v] to [1]\nset [playerdirection v] to [90]\nset [gunype_length v] to [16]\nset [level v] to [1]\nset [#levelcount v] to [14]\nset [explosive_impact v] to [25]\nset [explosive_radius v] to [200]\nset [explosive_damage v] to [10]\ndelete all of [leveltimes v]\nrepeat (#levelCount)\n    add [--] to [leveltimes v]\nend\nmain menu [1]\ninitGame\nsetLevels (level)\nset [playerdeathanimaion v] to [0]\nforever\n    erase all\n    if <(playerhealth) < [0.1]> then\n        if <(playerDeathAnimaion) = [0]> then\n            set [playerdeathanimaion v] to [1]\n            playerExplosion\n            set [pickedgun v] to [-1]\n            set [screenshake v] to [6]\n        end\n        if <[0] < (playerDeathAnimaion)> then\n            change [playerdeathanimaion v] by (1)\n        end\n        if <[100] < (playerDeathAnimaion)> then\n            set [playerdeathanimaion v] to [0]\n            main menu (level)\n            setLevels (level)\n            set [playerdeathanimaion v] to [0]\n        end\n    end\n    set [truescrollx v] to ((truescrollx) + (((() - (playerx)) - (truescrollx)) / (3)))\n    set [truescrolly v] to ((truescrolly) + (((() - (playery)) - (truescrolly)) / (3)))\n    set [scrollx v] to ((truescrollx) + (pick random (() - (screenShake)) to (screenShake)))\n    set [scrolly v] to ((truescrolly) + (pick random (() - (screenShake)) to (screenShake)))\n    point in direction (90)\n    updateBlocks\n    updateProps\n    if <(playerDeathAnimaion) = [0]> then\n        playerphysics\n    end\n    update_explosives\n    updateParticles\n    update_enemies\n    update_bullets\n    if <(playerDeathAnimaion) = [0]> then\n        set rotation style [left-right v]\n        clear graphic effects\n        go to x: (((playerx) + (scrollx)) * (zoom)) y: (((playery) + (scrolly)) * (zoom))\n        switch costume to (join [player] (playerwalkindex))\n        set size to ((zoom) * (100)) %\n        point in direction (playerDirection)\n        stamp\n        set rotation style [all around v]\n    end\n    update_guns\n    sense_keys\n    if <not <(pickedGun) = [-1]>> then\n        text: (item ((2) + ((gunype_length) * (item ((pickedGun) + (3)) of [guns v]))) of [guntypes v]) x,y [-200] [-170] size: [3] colorRGB: [0] [0] [0] thickness: [3] spacing [0] ww [250]\n    end\n    if <[sniper] = (item ((2) + ((gunype_length) * (item ((pickedGun) + (3)) of [guns v]))) of [guntypes v])> then\n        set [zoom v] to [0.7]\n    else\n        set [zoom v] to [1]\n    end\n    if <(playerDeathAnimaion) = [0]> then\n        set [levelruntimer v] to ((timer) - (levelTime))\n        go to x: (-100) y: (150)\n        set pen size to (11)\n        set pen color to (#929292)\n        pen down\n        go to x: (100) y: (150)\n        pen up\n        go to x: (-100) y: (150)\n        set pen size to (6)\n        set pen color to (#57d613)\n        pen down\n        go to x: ((-100) + (((playerhealth) / (playerhealth_ref)) * (200))) y: (150)\n        pen up\n    end\n    text: (join (join (letter (1) of (levelRunTimer)) (join (letter (2) of (levelRunTimer)) (join (letter (3) of (levelRunTimer)) (letter (4) of (levelRunTimer))))) (letter (5) of (levelRunTimer))) x,y [-100] [160] size: [2] colorRGB: [0] [0] [0] thickness: [2] spacing [0] ww [250]\n    go to x: (-190) y: (150)\n    set size to (80) %\n    clear graphic effects\n    switch costume to (exit_button v)\n    if <not <touching (mouse-pointer v)?>> then\n        if <mouse down?> then\n            set [exitpressed v] to [1]\n        end\n    end\n    if <not <mouse down?>> then\n        set [exitpressed v] to [0]\n    end\n    if <touching (mouse-pointer v)?> then\n        if <(exitPressed) = [0]> then\n            set size to (90) %\n            if <mouse down?> then\n                main menu (level)\n                setLevels (level)\n            end\n        end\n    end\n    stamp\n    if <(screenShake) > [0]> then\n        change [screenshake v] by (-0.5)\n    end\nend\n\ndefine addLvlBlock (x) (y) - (type) - (destructive?)\nadd (x) to [lvl_blocks v]\nadd (y) to [lvl_blocks v]\nadd (type) to [lvl_blocks v]\nadd (destructive?) to [lvl_blocks v]\n\ndefine updateBlocks\nset [i0 v] to [0]\nrepeat ((length of [lvl_blocks v]) / (length of [lvl_blocks_ref v]))\n    go to x: ((((item ((i0) + (1)) of [lvl_blocks v]) * (blocksize)) + (scrollx)) * (zoom)) y: ((((item ((i0) + (2)) of [lvl_blocks v]) * (blocksize)) + (scrolly)) * (zoom))\n    switch costume to (item ((i0) + (3)) of [lvl_blocks v])\n    set size to ((zoom) * (100)) %\n    if <((-240) - ((blocksize) * (1))) < ((((blocksize) * (item ((i0) + (1)) of [lvl_blocks v])) + (scrollx)) * (zoom))> then\n        if <((((blocksize) * (item ((i0) + (1)) of [lvl_blocks v])) + (scrollx)) * (zoom)) < ((240) + ((blocksize) * (1)))> then\n            if <((-180) - ((blocksize) * (1))) < ((((blocksize) * (item ((i0) + (2)) of [lvl_blocks v])) + (scrolly)) * (zoom))> then\n                if <((((blocksize) * (item ((i0) + (2)) of [lvl_blocks v])) + (scrolly)) * (zoom)) < ((180) + ((blocksize) * (1)))> then\n                    stamp\n                end\n            end\n        end\n    end\n    change [i0 v] by (length of [lvl_blocks_ref v])\nend\n\ndefine initGame\nset [levelruntimer v] to [0]\nset [truescrollx v] to [0]\nset [truescrolly v] to [0]\nset [screenshake v] to [0]\ndelete all of [lvl_blocks v]\ndelete all of [lvl_blocks_ref v]\nadd [x] to [lvl_blocks_ref v]\nadd [y] to [lvl_blocks_ref v]\nadd [type] to [lvl_blocks_ref v]\nadd [destructive] to [lvl_blocks_ref v]\ndelete all of [exp v]\ndelete all of [exp_ref v]\nadd [x] to [exp_ref v]\nadd [y] to [exp_ref v]\ndelete all of [guns v]\ndelete all of [guns_ref v]\ndelete all of [guntypes v]\nadd [x] to [guns_ref v]\nadd [y] to [guns_ref v]\nadd [type] to [guns_ref v]\nadd [rel] to [guns_ref v]\nadd [rel_ref] to [guns_ref v]\nadd [targetx] to [guns_ref v]\nadd [targety] to [guns_ref v]\nadd [state] to [guns_ref v]\nadd [xv] to [guns_ref v]\nadd [yv] to [guns_ref v]\nadd [rot] to [guns_ref v]\nsetGuntypes\ndelete all of [props v]\ndelete all of [props_ref v]\nadd [x] to [props_ref v]\nadd [y] to [props_ref v]\nadd [costume] to [props_ref v]\nadd [destructive?] to [props_ref v]\nadd [sx] to [props_ref v]\nadd [sy] to [props_ref v]\ndelete all of [bullets v]\ndelete all of [bullets_ref v]\nadd [x] to [bullets_ref v]\nadd [y] to [bullets_ref v]\nadd [xv] to [bullets_ref v]\nadd [yv] to [bullets_ref v]\nadd [size] to [bullets_ref v]\nadd [gravity] to [bullets_ref v]\nadd [exp] to [bullets_ref v]\nadd [imact] to [bullets_ref v]\nadd [dmg] to [bullets_ref v]\nadd [type] to [bullets_ref v]\ndelete all of [enemies_ref v]\ndelete all of [enemies v]\nadd [x] to [enemies_ref v]\nadd [y] to [enemies_ref v]\nadd [xv] to [enemies_ref v]\nadd [yv] to [enemies_ref v]\nadd [gun] to [enemies_ref v]\nadd [rel] to [enemies_ref v]\nadd [rel_ref] to [enemies_ref v]\nadd [spd] to [enemies_ref v]\nadd [state] to [enemies_ref v]\nadd [helth] to [enemies_ref v]\nadd [helth_ref] to [enemies_ref v]\ndelete all of [particles_ref v]\ndelete all of [particles v]\nadd [costume] to [particles_ref v]\nadd [x] to [particles_ref v]\nadd [y] to [particles_ref v]\nadd [xv] to [particles_ref v]\nadd [yv] to [particles_ref v]\nadd [speed_multiplier] to [particles_ref v]\nadd [size] to [particles_ref v]\nadd [initial_size] to [particles_ref v]\nadd [final_size] to [particles_ref v]\nadd [life] to [particles_ref v]\nadd [life_ref] to [particles_ref v]\nadd [rot] to [particles_ref v]\nadd [rot_vel] to [particles_ref v]\nadd [col] to [particles_ref v]\nadd [brightness] to [particles_ref v]\nset [leveltime v] to (timer)\n\ndefine playerphysics\nswitch costume to (playercollider v)\nif <(playerwalkindex) = [9]> then\n    next costume\nend\nif <<(playerwalkindex) = [9]> and <not <<key (s v) pressed?> or <key (down arrow v) pressed?>>>> then\n    change [playery v] by (5)\nend\ngo to x: (((playerx) + (scrollx)) * (zoom)) y: (((playery) + (scrolly)) * (zoom))\nset [playerxchange v] to (x position)\nset [playerychange v] to (y position)\nchange [playeryv v] by (-0.6)\nif <<key (a v) pressed?> or <key (left arrow v) pressed?>> then\n    set [playerdirection v] to [-90]\n    if <not <(playerwalkindex) = [9]>> then\n        change [playerxv v] by (-2)\n        change [playerwalkindex v] by (-1)\n        if <(playerwalkindex) < [1]> then\n            set [playerwalkindex v] to [4]\n        end\n    end\nend\nif <<key (d v) pressed?> or <key (right arrow v) pressed?>> then\n    set [playerdirection v] to [90]\n    if <not <(playerwalkindex) = [9]>> then\n        change [playerxv v] by (2)\n        change [playerwalkindex v] by (1)\n        if <[4] < (playerwalkindex)> then\n            set [playerwalkindex v] to [1]\n        end\n    end\nend\nif <(playerwalkindex) < [1]> then\n    set [playerwalkindex v] to [8]\nend\nif <[4] < (playerwalkindex)> then\n    set [playerwalkindex v] to [1]\nend\nif <<key (s v) pressed?> or <key (down arrow v) pressed?>> then\n    set [playerxv v] to ((playerxv) * (0.99))\n    set [playerwalkindex v] to [9]\nelse\n    set [playerxv v] to ((playerxv) * (0.9))\nend\nchange x by (playerxv)\nif <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n    change y by (1)\n    if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n        change y by (1)\n        if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n            change y by (1)\n            if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                change y by (1)\n                if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                    change y by (1)\n                    if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                        change y by (1)\n                        if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                            \n                                set [playeryv v] to [10]\n                                if <(playerxv) > [0]> then\n                                    set [playerxv v] to [-10]\n                                else\n                                    set [playerxv v] to [10]\n                                end\n                            else\n                                change y by (-6)\n                                change x by ((playerxv) * (-1))\n                                set [playerxv v] to [0]\n                            end\n                        end\n                    end\n                end\n            end\n        end\n    end\nend\nchange y by (playeryv)\nif <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n    change y by ((playeryv) * (-1))\n    set [playeryv v] to ((playeryv) * (-0.1))\nend\nchange y by (-0.5)\nif <<<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> and <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n    set [playeryv v] to [12]\nend\nif <<touching color (#616161)?> or <touching color (#4d4c4d)?>> then\n    change [playerhealth v] by (-1)\nend\nif  then\n    if <(item (level) of [leveltimes v]) = [--]> then\n        replace item (level) of [leveltimes v] with (levelRunTimer)\n    else\n        if <(levelRunTimer) < (item (level) of [leveltimes v])> then\n            replace item (level) of [leveltimes v] with (levelRunTimer)\n        end\n    end\n    if <(level) = (#levelCount)> then\n        main menu [-1]\n    else\n        main menu ((level) + (1))\n    end\n    initGame\n    setLevels (level)\n    stop [this script v]\nend\nchange y by (0.5)\nchange [playerx v] by ((x position) - (playerxchange))\nchange [playery v] by ((y position) - (playerychange))\nif <key (r v) pressed?> then\n    initGame\n    setLevels (level)\nend\nif <(playery) < [-500]> then\n    initGame\n    setLevels (level)\nend\n\ndefine setGuntypes\naddGunType [pistol] [1] [3] [25] exp: [1] offset: [20] [20] rel: [25] bspd: [15] btoffset: [15] [30] -g [0] -rec [2] dmg [5] -im [1]\naddThowabletype [axe] [-10] [10] - [1] - [20] [20] -rec [5] dmg [1] im [8]\naddGunType [sniper] [1] [1] [15] exp: [1] offset: [40] [40] rel: [30] bspd: [30] btoffset: [30] [50] -g [0] -rec [1] dmg [10] -im [1]\naddGunType [shotgun] [5] [12] [10] exp: [1] offset: [20] [20] rel: [50] bspd: [10] btoffset: [30] [30] -g [0] -rec [1.5] dmg [4] -im [1]\naddGunType [machine-gun] [1] [12] [12] exp: [1] offset: [20] [20] rel: [4] bspd: [15] btoffset: [10] [10] -g [0] -rec [1] dmg [2] -im [0]\naddGunType [grenade-launcher] [1] [0] [100] exp: [160] offset: [20] [20] rel: [30] bspd: [15] btoffset: [10] [10] -g [-0.5] -rec [3] dmg [15] -im [16]\naddThowabletype [hammer] [0] [10] - [1] - [20] [20] -rec [5] dmg [1.2] im [12]\naddGunType [grenade-launcher mini] [1] [0] [100] exp: [50] offset: [20] [20] rel: [25] bspd: [16] btoffset: [10] [10] -g [-0.5] -rec [0] dmg [8] -im [1]\n\ndefine addGunType (costume) (buletnumber) (randomness) (btsize) exp: (exp) offset: (x) (y) rel: (rel) bspd: (bspd) btoffset: (btx) (bty) -g (g) -rec (recoil) dmg (dmg) -im (impact)\nadd [shoot] to [guntypes v]\nadd (costume) to [guntypes v]\nadd (buletnumber) to [guntypes v]\nadd (randomness) to [guntypes v]\nadd (btsize) to [guntypes v]\nadd (exp) to [guntypes v]\nadd (x) to [guntypes v]\nadd (y) to [guntypes v]\nadd (rel) to [guntypes v]\nadd (bspd) to [guntypes v]\nadd (btx) to [guntypes v]\nadd (bty) to [guntypes v]\nadd (g) to [guntypes v]\nadd (recoil) to [guntypes v]\nadd (dmg) to [guntypes v]\nadd (impact) to [guntypes v]\n\ndefine addThowabletype (costume) (speed) (rotspeed) - (exp) - (x) (y) -rec (recoil) dmg (dmg) im (impact)\nadd [throw] to [guntypes v]\nadd (costume) to [guntypes v]\nadd (speed) to [guntypes v]\nadd (rotspeed) to [guntypes v]\nadd (exp) to [guntypes v]\nadd [null] to [guntypes v]\nadd (x) to [guntypes v]\nadd (y) to [guntypes v]\nadd [null] to [guntypes v]\nadd [null] to [guntypes v]\nadd [null] to [guntypes v]\nadd [null] to [guntypes v]\nadd [null] to [guntypes v]\nadd (recoil) to [guntypes v]\nadd (dmg) to [guntypes v]\nadd (impact) to [guntypes v]\n\ndefine addSceneGun (type) (x) (y)\nadd (x) to [guns v]\nadd (y) to [guns v]\nadd (type) to [guns v]\nadd [0] to [guns v]\nadd [rel_ref] to [guns v]\nadd [0] to [guns v]\nadd [0] to [guns v]\nadd [0] to [guns v]\nadd [0] to [guns v]\nadd [0] to [guns v]\nadd [90] to [guns v]\n\ndefine update_guns\nset [i0 v] to [0]\nset [nearestgun v] to [-1]\nset [nearestgundist v] to [9999]\nrepeat ((length of [guns v]) / (length of [guns_ref v]))\n    set [typeindex v] to ((item ((i0) + (3)) of [guns v]) * (gunype_length))\n    go to x: ((((item ((i0) + (1)) of [guns v]) * (1)) + (scrollx)) * (zoom)) y: ((((item ((i0) + (2)) of [guns v]) * (1)) + (scrolly)) * (zoom))\n    switch costume to (item ((typeindex) + (2)) of [guntypes v])\n    set size to ((zoom) * (60)) %\n    if <(i0) = (pickedGun)> then\n        getAngle (mouse x) (mouse y) from ((((playerx) * (1)) + (scrollx)) * (zoom)) ((((playery) * (1)) + (scrolly)) * (zoom))\n        if <<<(item ((i0) + (8)) of [guns v]) = [0]> and <[throw] = (item ((typeindex) + (1)) of [guntypes v])>> or <[shoot] = (item ((typeindex) + (1)) of [guntypes v])>> then\n            replace item ((i0) + (1)) of [guns v] with ((((playerx) - (item ((i0) + (1)) of [guns v])) / (1)) + (item ((i0) + (1)) of [guns v]))\n            replace item ((i0) + (2)) of [guns v] with ((((playery) - (item ((i0) + (2)) of [guns v])) / (1)) + (item ((i0) + (2)) of [guns v]))\n            replace item ((i0) + (1)) of [guns v] with ((([sin v] of (calc_angle) ) * (item ((typeindex) + (7)) of [guntypes v])) + (item ((i0) + (1)) of [guns v]))\n            replace item ((i0) + (2)) of [guns v] with ((([cos v] of (calc_angle) ) * (item ((typeindex) + (8)) of [guntypes v])) + (item ((i0) + (2)) of [guns v]))\n            replace item ((i0) + (11)) of [guns v] with (calc_angle)\n            if <[throw] = (item ((typeindex) + (1)) of [guntypes v])> then\n                if <mouse down?> then\n                    replace item ((i0) + (6)) of [guns v] with ((() - (scrollx)) + ((mouse x) / (zoom)))\n                    replace item ((i0) + (7)) of [guns v] with ((() - (scrolly)) + ((mouse y) / (zoom)))\n                    replace item ((i0) + (9)) of [guns v] with (((item ((i0) + (6)) of [guns v]) - (item ((i0) + (1)) of [guns v])) / ((10) - (item ((typeindex) + (3)) of [guntypes v])))\n                    replace item ((i0) + (10)) of [guns v] with (((item ((i0) + (7)) of [guns v]) - (item ((i0) + (2)) of [guns v])) / ((10) - (item ((typeindex) + (3)) of [guntypes v])))\n                    replace item ((i0) + (8)) of [guns v] with [1]\n                    getAngle (mouse x) (mouse y) from ((((playerx) * (1)) + (scrollx)) * (zoom)) ((((playery) * (1)) + (scrolly)) * (zoom))\n                    change [playerxv v] by (([sin v] of ((calc_angle) + (180)) ) * (item ((typeindex) + (14)) of [guntypes v]))\n                    change [playeryv v] by (([cos v] of ((calc_angle) + (180)) ) * (item ((typeindex) + (14)) of [guntypes v]))\n                end\n            end\n            if <[shoot] = (item ((typeindex) + (1)) of [guntypes v])> then\n                replace item ((i0) + (5)) of [guns v] with (item ((typeindex) + (9)) of [guntypes v])\n                if <mouse down?> then\n                    if <[0] = (item ((i0) + (4)) of [guns v])> then\n                        replace item ((i0) + (4)) of [guns v] with (item ((i0) + (5)) of [guns v])\n                        repeat (item ((typeindex) + (3)) of [guntypes v])\n                            getAngle (mouse x) (mouse y) from ((((playerx) * (1)) + (scrollx)) * (zoom)) ((((playery) * (1)) + (scrolly)) * (zoom))\n                            change [playerxv v] by (([sin v] of ((calc_angle) + (180)) ) * (item ((typeindex) + (14)) of [guntypes v]))\n                            change [playeryv v] by (([cos v] of ((calc_angle) + (180)) ) * (item ((typeindex) + (14)) of [guntypes v]))\n                            addBullet ((item ((i0) + (1)) of [guns v]) + ((item ((typeindex) + (11)) of [guntypes v]) * ([sin v] of (calc_angle) ))) ((item ((i0) + (2)) of [guns v]) + ((item ((typeindex) + (12)) of [guntypes v]) * ([cos v] of (calc_angle) ))) (() + ((item ((typeindex) + (10)) of [guntypes v]) * ([sin v] of ((calc_angle) + ((pick random (-1) to (1)) * (item ((typeindex) + (4)) of [guntypes v]))) ))) (() + ((item ((typeindex) + (10)) of [guntypes v]) * ([cos v] of ((calc_angle) + ((pick random (-1) to (1)) * (item ((typeindex) + (4)) of [guntypes v]))) ))) - (item ((typeindex) + (5)) of [guntypes v]) - (item ((typeindex) + (13)) of [guntypes v]) - (item ((typeindex) + (6)) of [guntypes v]) im (item ((typeindex) + (16)) of [guntypes v]) d (item ((typeindex) + (15)) of [guntypes v]) ty [p]\n                        end\n                    end\n                end\n                if <not <[0] = (item ((i0) + (4)) of [guns v])>> then\n                    replace item ((i0) + (4)) of [guns v] with ((item ((i0) + (4)) of [guns v]) - (1))\n                end\n                if <(item ((i0) + (4)) of [guns v]) < [0]> then\n                    replace item ((i0) + (4)) of [guns v] with [0]\n                end\n            end\n        else\n            if <<(item ((i0) + (8)) of [guns v]) = [1]> and <[throw] = (item ((typeindex) + (1)) of [guntypes v])>> then\n                replace item ((i0) + (1)) of [guns v] with ((item ((i0) + (9)) of [guns v]) + (item ((i0) + (1)) of [guns v]))\n                replace item ((i0) + (2)) of [guns v] with ((item ((i0) + (10)) of [guns v]) + (item ((i0) + (2)) of [guns v]))\n                setDist (item ((i0) + (6)) of [guns v]) (item ((i0) + (7)) of [guns v]) (item ((i0) + (1)) of [guns v]) (item ((i0) + (2)) of [guns v])\n                replace item ((i0) + (11)) of [guns v] with ((25) + (item ((i0) + (11)) of [guns v]))\n                if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                    replace item ((i0) + (8)) of [guns v] with [2]\n                end\n                if <(dist) < [1]> then\n                    replace item ((i0) + (8)) of [guns v] with [2]\n                end\n                set [i1 v] to [0]\n                repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n                    setDist (item ((i0) + (1)) of [guns v]) (item ((i0) + (2)) of [guns v]) (item ((i1) + (1)) of [enemies v]) (item ((i1) + (2)) of [enemies v])\n                    if <(dist) < [50]> then\n                        replace item ((i1) + (10)) of [enemies v] with ((item ((i1) + (10)) of [enemies v]) - (item ((typeindex) + (15)) of [guntypes v]))\n                    end\n                    change [i1 v] by (length of [enemies_ref v])\n                end\n            else\n                if <<(item ((i0) + (8)) of [guns v]) = [2]> and <[throw] = (item ((typeindex) + (1)) of [guntypes v])>> then\n                    replace item ((i0) + (9)) of [guns v] with (((playerx) - (item ((i0) + (1)) of [guns v])) / ((10) - (item ((typeindex) + (3)) of [guntypes v])))\n                    replace item ((i0) + (10)) of [guns v] with (((playery) - (item ((i0) + (2)) of [guns v])) / ((10) - (item ((typeindex) + (3)) of [guntypes v])))\n                    replace item ((i0) + (1)) of [guns v] with ((item ((i0) + (9)) of [guns v]) + (item ((i0) + (1)) of [guns v]))\n                    replace item ((i0) + (2)) of [guns v] with ((item ((i0) + (10)) of [guns v]) + (item ((i0) + (2)) of [guns v]))\n                    setDist (playerx) (playery) (item ((i0) + (1)) of [guns v]) (item ((i0) + (2)) of [guns v])\n                    replace item ((i0) + (11)) of [guns v] with ((25) + (item ((i0) + (11)) of [guns v]))\n                    if <(dist) < [20]> then\n                        replace item ((i0) + (8)) of [guns v] with [0]\n                    end\n                    set [i1 v] to [0]\n                    repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n                        setDist (item ((i0) + (1)) of [guns v]) (item ((i0) + (2)) of [guns v]) (item ((i1) + (1)) of [enemies v]) (item ((i1) + (2)) of [enemies v])\n                        if <(dist) < [50]> then\n                            replace item ((i1) + (10)) of [enemies v] with ((item ((i1) + (10)) of [enemies v]) - (item ((typeindex) + (15)) of [guntypes v]))\n                        end\n                        change [i1 v] by (length of [enemies_ref v])\n                    end\n                end\n            end\n        end\n        if <[1] = (QPressed)> then\n            set [pickedgun v] to [-1]\n            replace item ((i0) + (4)) of [guns v] with [0]\n            replace item ((i0) + (8)) of [guns v] with [0]\n            replace item ((i0) + (7)) of [guns v] with [0]\n            replace item ((i0) + (6)) of [guns v] with [0]\n            if <[throw] = (item ((typeindex) + (1)) of [guntypes v])> then\n        end\n    else\n        if <not <(i0) = (pickedGun)>> then\n            replace item ((i0) + (1)) of [guns v] with ((item ((i0) + (9)) of [guns v]) + (item ((i0) + (1)) of [guns v]))\n            replace item ((i0) + (2)) of [guns v] with ((item ((i0) + (10)) of [guns v]) + (item ((i0) + (2)) of [guns v]))\n            replace item ((i0) + (10)) of [guns v] with ((-0.5) + (item ((i0) + (10)) of [guns v]))\n            replace item ((i0) + (9)) of [guns v] with ((0.9) * (item ((i0) + (9)) of [guns v]))\n            if <touching (_edge_ v)?> then\n                replace item ((i0) + (9)) of [guns v] with [0]\n                replace item ((i0) + (10)) of [guns v] with [0]\n            end\n            if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                replace item ((i0) + (9)) of [guns v] with [0]\n                replace item ((i0) + (10)) of [guns v] with [0]\n            else\n                if <[throw] = (item ((typeindex) + (1)) of [guntypes v])> then\n                    replace item ((i0) + (11)) of [guns v] with ((3) + (item ((i0) + (11)) of [guns v]))\n                end\n            end\n            setDist (playerx) (playery) (item ((i0) + (1)) of [guns v]) (item ((i0) + (2)) of [guns v])\n            if <(dist) < [50]> then\n                if <(dist) < (nearestGunDist)> then\n                    set [nearestgun v] to (i0)\n                    set [nearestgundist v] to (dist)\n                end\n            end\n        end\n    end\n    point in direction (item ((i0) + (11)) of [guns v])\n    if <(direction) < [0]> then\n        if <[0] = (item ((i0) + (8)) of [guns v])> then\n            next costume\n        end\n    end\n    if <<((((item ((i0) + (1)) of [guns v]) * (1)) + (scrollx)) * (zoom)) < [250]> and <[-250] < ((((item ((i0) + (1)) of [guns v]) * (1)) + (scrollx)) * (zoom))>> then\n        if <<((((item ((i0) + (2)) of [guns v]) * (1)) + (scrolly)) * (zoom)) < [190]> and <[-190] < ((((item ((i0) + (2)) of [guns v]) * (1)) + (scrolly)) * (zoom))>> then\n            stamp\n        end\n    end\n    change [i0 v] by (length of [guns_ref v])\nend\npoint in direction (90)\nif <not <(nearestGun) = [-1]>> then\n    if <[1] = (QPressed)> then\n        set [pickedgun v] to (nearestGun)\n        set [qpressed v] to [0]\n    end\nend\n\ndefine setDist (x1) (y1) (x2) (y2)\nset [dist v] to ([sqrt v] of ((((x2) - (x1)) * ((x2) - (x1))) + (((y2) - (y1)) * ((y2) - (y1)))) )\n\ndefine sense_keys\nif <not <key (q v) pressed?>> then\n    if <(QPressed) = [1]> then\n        set [qpressed v] to [0]\n    end\nend\nif <key (q v) pressed?> then\n    set [qpressed v] to [-1]\nend\nif <(QPressed) = [-1]> then\n    if <not <key (q v) pressed?>> then\n        set [qpressed v] to [1]\n    end\nend\n\ndefine addBullet (x) (y) (xv) (yv) - (size) - (gravity) - (exp) im (impact) d (dmg) ty (type)\nadd (x) to [bullets v]\nadd (y) to [bullets v]\nadd (xv) to [bullets v]\nadd (yv) to [bullets v]\nadd (size) to [bullets v]\nadd (gravity) to [bullets v]\nadd (exp) to [bullets v]\nadd (impact) to [bullets v]\nadd (dmg) to [bullets v]\nadd (type) to [bullets v]\n\ndefine update_bullets\nset [i0 v] to [0]\nset rotation style [all around v]\nrepeat ((length of [bullets v]) / (length of [bullets_ref v]))\n    go to x: ((((item ((i0) + (1)) of [bullets v]) * (1)) + (scrollx)) * (zoom)) y: ((((item ((i0) + (2)) of [bullets v]) * (1)) + (scrolly)) * (zoom))\n    switch costume to (bullet v)\n    set size to ((zoom) * (item ((i0) + (5)) of [bullets v])) %\n    getAngle (item ((i0) + (3)) of [bullets v]) (item ((i0) + (4)) of [bullets v]) from [0] [0]\n    point in direction (calc_angle)\n    stamp\n    if <(item ((i0) + (10)) of [bullets v]) = [p]> then\n        set [i2 v] to [0]\n        repeat ((length of [props v]) / (length of [props_ref v]))\n            if <[d] = (item ((i2) + (4)) of [props v])> then\n                setDist (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v])\n                if <(item ((i0) + (1)) of [bullets v]) < ((item ((i2) + (1)) of [props v]) + (((blocksize) * (1.5)) / (2)))> then\n                    if <((item ((i2) + (1)) of [props v]) - (((blocksize) * (1.5)) / (2))) < (item ((i0) + (1)) of [bullets v])> then\n                        if <(item ((i0) + (2)) of [bullets v]) < ((item ((i2) + (2)) of [props v]) + (((blocksize) * (1.5)) / (2)))> then\n                            if <((item ((i2) + (2)) of [props v]) - (((blocksize) * (1.5)) / (2))) < (item ((i0) + (2)) of [bullets v])> then\n                                set [l v] to (i2)\n                                repeat (10)\n                                    addParticle c: (item ((i2) + (3)) of [props v]) (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n                                end\n                                repeat (10)\n                                    addParticle c: (item ((i2) + (3)) of [props v]) (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n                                end\n                                repeat (length of [props_ref v])\n                                    delete ((i2) + (1)) of [props v]\n                                end\n                                repeat ((item ((i0) + (7)) of [bullets v]) / (50))\n                                    addParticle c: [exp2] (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                                end\n                                repeat ((item ((i0) + (7)) of [bullets v]) / (20))\n                                    addParticle c: [exp1] (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) - (pick random (-5) to (5)) (pick random (-5) to (5)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                                end\n                                set [i1 v] to [0]\n                                repeat ((length of [exp v]) / (length of [exp_ref v]))\n                                    setDist ((blocksize) * (item ((i1) + (1)) of [exp v])) ((blocksize) * (item ((i1) + (2)) of [exp v])) (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v])\n                                    if <(dist) < (item ((i0) + (7)) of [bullets v])> then\n                                        repeat (25)\n                                            addParticle c: [exp2] ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize)) - (pick random (-10) to (10)) (pick random (-10) to (10)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                                        end\n                                        repeat (7)\n                                            addParticle c: [exp1] ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize)) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                                        end\n                                        set [i2 v] to [0]\n                                        repeat ((length of [props v]) / (length of [props_ref v]))\n                                            if <(item ((i2) + (4)) of [props v]) = [d]> then\n                                                setDist (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                                                if <(dist) < (explosive_radius)> then\n                                                    repeat (10)\n                                                        addParticle c: (item ((i2) + (3)) of [props v]) (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n                                                    end\n                                                    repeat (length of [props_ref v])\n                                                        delete ((i2) + (1)) of [props v]\n                                                    end\n                                                end\n                                            end\n                                            change [i2 v] by (1)\n                                        end\n                                        set [i2 v] to [0]\n                                        repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n                                            setDist (item ((i2) + (1)) of [enemies v]) (item ((i2) + (2)) of [enemies v]) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                                            if <(dist) < (explosive_radius)> then\n                                                replace item ((i2) + (10)) of [enemies v] with ((((0) - (explosive_damage)) * (((explosive_radius) - (dist)) / (explosive_radius))) + (item ((i2) + (10)) of [enemies v]))\n                                            end\n                                        end\n                                        setDist (playerx) (playery) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                                        if <(dist) < [100]> then\n                                            getAngle (playerx) (playery) from ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                                            change [playerxv v] by (((((explosive_radius) - (dist)) / (explosive_radius)) * (explosive_impact)) * ([sin v] of (calc_angle) ))\n                                            change [playeryv v] by (((((explosive_radius) - (dist)) / (explosive_radius)) * (explosive_impact)) * ([cos v] of (calc_angle) ))\n                                            change [playerhealth v] by (((0) - (explosive_damage)) * (((explosive_radius) - (dist)) / (explosive_radius)))\n                                            set [screenshake v] to [4]\n                                        end\n                                        repeat (length of [exp_ref v])\n                                            delete ((i1) + (1)) of [exp v]\n                                        end\n                                    end\n                                    change [i1 v] by (length of [exp_ref v])\n                                end\n                                repeat (length of [bullets_ref v])\n                                    delete ((i0) + (1)) of [bullets v]\n                                end\n                                change [i0 v] by (() - (length of [bullets_ref v]))\n                                set [i2 v] to (l)\n                            end\n                        end\n                    end\n                end\n            end\n            change [i2 v] by (length of [props_ref v])\n        end\n        set [i1 v] to [0]\n        repeat ((length of [exp v]) / (length of [exp_ref v]))\n            if <(item ((i0) + (1)) of [bullets v]) < ((((blocksize) * (item ((i1) + (1)) of [exp v])) + ((blocksize) / (2))) * (1))> then\n                if <((((blocksize) * (item ((i1) + (1)) of [exp v])) + ((blocksize) / (-2))) * (1)) < (item ((i0) + (1)) of [bullets v])> then\n                    if <(item ((i0) + (2)) of [bullets v]) < ((((blocksize) * (item ((i1) + (2)) of [exp v])) + ((blocksize) / (2))) * (1))> then\n                        if <((((blocksize) * (item ((i1) + (2)) of [exp v])) + ((blocksize) / (-2))) * (1)) < (item ((i0) + (2)) of [bullets v])> then\n                            repeat ((item ((i0) + (7)) of [bullets v]) / (50))\n                                addParticle c: [exp2] (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                            end\n                            repeat ((item ((i0) + (7)) of [bullets v]) / (20))\n                                addParticle c: [exp1] (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) - (pick random (-5) to (5)) (pick random (-5) to (5)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                            end\n                            repeat (25)\n                                addParticle c: [exp2] ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize)) - (pick random (-10) to (10)) (pick random (-10) to (10)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                            end\n                            repeat (7)\n                                addParticle c: [exp1] ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize)) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                            end\n                            set [i2 v] to [0]\n                            repeat ((length of [props v]) / (length of [props_ref v]))\n                                if <(item ((i2) + (4)) of [props v]) = [d]> then\n                                    setDist (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                                    if <(dist) < (explosive_radius)> then\n                                        repeat (10)\n                                            addParticle c: (item ((i2) + (3)) of [props v]) (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n                                        end\n                                        repeat (length of [props_ref v])\n                                            delete ((i2) + (1)) of [props v]\n                                        end\n                                    end\n                                end\n                                change [i2 v] by (1)\n                            end\n                            set [i2 v] to [0]\n                            repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n                                setDist (item ((i2) + (1)) of [enemies v]) (item ((i2) + (2)) of [enemies v]) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                                if <(dist) < (explosive_radius)> then\n                                    replace item ((i2) + (10)) of [enemies v] with ((((0) - (explosive_damage)) * (((explosive_radius) - (dist)) / (explosive_radius))) + (item ((i2) + (10)) of [enemies v]))\n                                end\n                            end\n                            setDist (playerx) (playery) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                            if <(dist) < [100]> then\n                                getAngle (playerx) (playery) from ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                                change [playerxv v] by (((((explosive_radius) - (dist)) / (explosive_radius)) * (explosive_impact)) * ([sin v] of (calc_angle) ))\n                                change [playeryv v] by (((((explosive_radius) - (dist)) / (explosive_radius)) * (explosive_impact)) * ([cos v] of (calc_angle) ))\n                                change [playerhealth v] by (((0) - (explosive_damage)) * (((explosive_radius) - (dist)) / (explosive_radius)))\n                                set [screenshake v] to [4]\n                            end\n                            repeat (length of [exp_ref v])\n                                delete ((i1) + (1)) of [exp v]\n                            end\n                        end\n                        repeat (length of [bullets_ref v])\n                            delete ((i0) + (1)) of [bullets v]\n                        end\n                    end\n                end\n            end\n            change [i1 v] by (length of [exp_ref v])\n        end\n    end\n    setDist (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) (playerx) (playery)\n    if <<(item ((i0) + (10)) of [bullets v]) = [e]> and <(dist) < [25]>> then\n        getAngle (playerx) (playery) from (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v])\n        change [playerxv v] by ((item ((i0) + (8)) of [bullets v]) * ([sin v] of (calc_angle) ))\n        change [playeryv v] by ((item ((i0) + (8)) of [bullets v]) * ([cos v] of (calc_angle) ))\n        change [playerhealth v] by (() - (item ((i0) + (9)) of [bullets v]))\n        set [screenshake v] to [4]\n        repeat (3)\n            addParticle c: [feather1] (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) - (pick random (-5) to (5)) (pick random (-5) to (5)) -spdm [0.9] -s (pick random (60) to (120)) [0] -l [25] r (pick random (1) to (350)) (pick random (-5) to (5)) eff [0] [0]\n        end\n        set [i2 v] to [0]\n        repeat ((length of [props v]) / (length of [props_ref v]))\n            if <(item ((i2) + (4)) of [props v]) = [d]> then\n                setDist (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v])\n                if <(dist) < (item ((i0) + (7)) of [bullets v])> then\n                    repeat (10)\n                        addParticle c: (item ((i2) + (3)) of [props v]) (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n                    end\n                    repeat (length of [props_ref v])\n                        delete ((i2) + (1)) of [props v]\n                    end\n                    change [i2 v] by (() - (length of [props_ref v]))\n                end\n            end\n            change [i2 v] by (length of [props_ref v])\n        end\n        set [i1 v] to [0]\n        repeat ((length of [exp v]) / (length of [exp_ref v]))\n            setDist (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) ((blocksize) * (item ((i1) + (1)) of [exp v])) ((blocksize) * (item ((i1) + (2)) of [exp v]))\n            if <(dist) < (item ((i0) + (7)) of [bullets v])> then\n                repeat (25)\n                    addParticle c: [exp2] ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize)) - (pick random (-10) to (10)) (pick random (-10) to (10)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                end\n                repeat (7)\n                    addParticle c: [exp1] ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize)) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                end\n                set [i2 v] to [0]\n                repeat ((length of [props v]) / (length of [props_ref v]))\n                    if <(item ((i2) + (4)) of [props v]) = [d]> then\n                        setDist (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                        if <(dist) < (explosive_radius)> then\n                            repeat (10)\n                                addParticle c: (item ((i2) + (3)) of [props v]) (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n                            end\n                            repeat (length of [props_ref v])\n                                delete ((i2) + (1)) of [props v]\n                            end\n                        end\n                    end\n                    change [i2 v] by (1)\n                end\n                set [i2 v] to [0]\n                repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n                    setDist (item ((i2) + (1)) of [enemies v]) (item ((i2) + (2)) of [enemies v]) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                    if <(dist) < (explosive_radius)> then\n                        replace item ((i2) + (10)) of [enemies v] with ((((0) - (explosive_damage)) * (((explosive_radius) - (dist)) / (explosive_radius))) + (item ((i2) + (10)) of [enemies v]))\n                    end\n                end\n                setDist (playerx) (playery) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                if <(dist) < [100]> then\n                    getAngle (playerx) (playery) from ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                    change [playerxv v] by (((((explosive_radius) - (dist)) / (explosive_radius)) * (explosive_impact)) * ([sin v] of (calc_angle) ))\n                    change [playeryv v] by (((((explosive_radius) - (dist)) / (explosive_radius)) * (explosive_impact)) * ([cos v] of (calc_angle) ))\n                    change [playerhealth v] by (((0) - (explosive_damage)) * (((explosive_radius) - (dist)) / (explosive_radius)))\n                    set [screenshake v] to [4]\n                end\n                repeat (length of [exp_ref v])\n                    delete ((i1) + (1)) of [exp v]\n                end\n                change [i1 v] by (() - (length of [exp_ref v]))\n            end\n            change [i1 v] by (length of [exp_ref v])\n        end\n        if <(item ((i0) + (10)) of [bullets v]) = [p]> then\n            set [i1 v] to [0]\n            repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n                setDist (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) (item ((i1) + (1)) of [enemies v]) (item ((i1) + (2)) of [enemies v])\n                if <(dist) < (item ((i0) + (7)) of [bullets v])> then\n                    replace item ((i1) + (10)) of [enemies v] with ((item ((i1) + (10)) of [enemies v]) - (((dist) / (item ((i0) + (7)) of [bullets v])) * (item ((i0) + (9)) of [bullets v])))\n                end\n                change [i1 v] by (length of [enemies_ref v])\n            end\n        end\n        repeat ((item ((i0) + (7)) of [bullets v]) / (50))\n            addParticle c: [exp2] (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n        end\n        repeat ((item ((i0) + (7)) of [bullets v]) / (20))\n            addParticle c: [exp1] (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) - (pick random (-5) to (5)) (pick random (-5) to (5)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n        end\n        repeat (length of [bullets_ref v])\n            delete ((i0) + (1)) of [bullets v]\n        end\n        change [i0 v] by ((0) - (length of [bullets_ref v]))\n    end\n    if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n        setDist (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) (playerx) (playery)\n        if <(dist) < (item ((i0) + (7)) of [bullets v])> then\n            getAngle (playerx) (playery) from (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v])\n            change [playerxv v] by (((((item ((i0) + (7)) of [bullets v]) - (dist)) / (item ((i0) + (7)) of [bullets v])) * (item ((i0) + (8)) of [bullets v])) * ([sin v] of (calc_angle) ))\n            change [playeryv v] by (((((item ((i0) + (7)) of [bullets v]) - (dist)) / (item ((i0) + (7)) of [bullets v])) * (item ((i0) + (8)) of [bullets v])) * ([cos v] of (calc_angle) ))\n        end\n        set [i2 v] to [0]\n        repeat ((length of [props v]) / (length of [props_ref v]))\n            if <(item ((i2) + (4)) of [props v]) = [d]> then\n                setDist (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v])\n                if <(dist) < (item ((i0) + (7)) of [bullets v])> then\n                    repeat (10)\n                        addParticle c: (item ((i2) + (3)) of [props v]) (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n                    end\n                    repeat (length of [props_ref v])\n                        delete ((i2) + (1)) of [props v]\n                    end\n                    change [i2 v] by (() - (length of [props_ref v]))\n                end\n            end\n            change [i2 v] by (length of [props_ref v])\n        end\n        set [i1 v] to [0]\n        repeat ((length of [exp v]) / (length of [exp_ref v]))\n            setDist (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) ((blocksize) * (item ((i1) + (1)) of [exp v])) ((blocksize) * (item ((i1) + (2)) of [exp v]))\n            if <(dist) < (item ((i0) + (7)) of [bullets v])> then\n                repeat (25)\n                    addParticle c: [exp2] ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize)) - (pick random (-10) to (10)) (pick random (-10) to (10)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                end\n                repeat (7)\n                    addParticle c: [exp1] ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize)) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                end\n                set [i2 v] to [0]\n                repeat ((length of [props v]) / (length of [props_ref v]))\n                    if <(item ((i2) + (4)) of [props v]) = [d]> then\n                        setDist (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                        if <(dist) < (explosive_radius)> then\n                            repeat (10)\n                                addParticle c: (item ((i2) + (3)) of [props v]) (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n                            end\n                            repeat (length of [props_ref v])\n                                delete ((i2) + (1)) of [props v]\n                            end\n                        end\n                    end\n                    change [i2 v] by (1)\n                end\n                set [i2 v] to [0]\n                repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n                    setDist (item ((i2) + (1)) of [enemies v]) (item ((i2) + (2)) of [enemies v]) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                    if <(dist) < (explosive_radius)> then\n                        replace item ((i2) + (10)) of [enemies v] with ((((0) - (explosive_damage)) * (((explosive_radius) - (dist)) / (explosive_radius))) + (item ((i2) + (10)) of [enemies v]))\n                    end\n                end\n                setDist (playerx) (playery) ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                if <(dist) < [100]> then\n                    getAngle (playerx) (playery) from ((item ((i1) + (1)) of [exp v]) * (blocksize)) ((item ((i1) + (2)) of [exp v]) * (blocksize))\n                    change [playerxv v] by (((((explosive_radius) - (dist)) / (explosive_radius)) * (explosive_impact)) * ([sin v] of (calc_angle) ))\n                    change [playeryv v] by (((((explosive_radius) - (dist)) / (explosive_radius)) * (explosive_impact)) * ([cos v] of (calc_angle) ))\n                    change [playerhealth v] by (((0) - (explosive_damage)) * (((explosive_radius) - (dist)) / (explosive_radius)))\n                    set [screenshake v] to [4]\n                end\n                repeat (length of [exp_ref v])\n                    delete ((i1) + (1)) of [exp v]\n                end\n                change [i1 v] by (() - (length of [exp_ref v]))\n            end\n            change [i1 v] by (length of [exp_ref v])\n        end\n        if <(item ((i0) + (10)) of [bullets v]) = [p]> then\n            set [i1 v] to [0]\n            repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n                setDist (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) (item ((i1) + (1)) of [enemies v]) (item ((i1) + (2)) of [enemies v])\n                if <(dist) < (item ((i0) + (7)) of [bullets v])> then\n                    replace item ((i1) + (10)) of [enemies v] with ((item ((i1) + (10)) of [enemies v]) - (((dist) / (item ((i0) + (7)) of [bullets v])) * (item ((i0) + (9)) of [bullets v])))\n                end\n                change [i1 v] by (length of [enemies_ref v])\n            end\n        end\n        repeat ((item ((i0) + (7)) of [bullets v]) / (50))\n            addParticle c: [exp2] (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n        end\n        repeat ((item ((i0) + (7)) of [bullets v]) / (20))\n            addParticle c: [exp1] (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) - (pick random (-5) to (5)) (pick random (-5) to (5)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n        end\n        repeat (length of [bullets_ref v])\n            delete ((i0) + (1)) of [bullets v]\n        end\n        change [i0 v] by ((0) - (length of [bullets_ref v]))\n    end\n    setDist (item ((i0) + (1)) of [bullets v]) (item ((i0) + (2)) of [bullets v]) (playerx) (playery)\n    if <(dist) > [1000]> then\n        repeat (length of [bullets_ref v])\n            delete ((i0) + (1)) of [bullets v]\n        end\n        change [i0 v] by ((0) - (length of [bullets_ref v]))\n    end\n    replace item ((i0) + (1)) of [bullets v] with ((item ((i0) + (3)) of [bullets v]) + (item ((i0) + (1)) of [bullets v]))\n    replace item ((i0) + (2)) of [bullets v] with ((item ((i0) + (4)) of [bullets v]) + (item ((i0) + (2)) of [bullets v]))\n    replace item ((i0) + (4)) of [bullets v] with ((item ((i0) + (4)) of [bullets v]) + (item ((i0) + (6)) of [bullets v]))\n    change [i0 v] by (length of [bullets_ref v])\nend\npoint in direction (90)\n\nrepeat (length of [bullets_ref v])\n    delete ((i0) + (1)) of [bullets v]\nend\nchange [i0 v] by ((0) - (length of [bullets_ref v]))\n\ndefine setLevels (lvl)\ninitGame\nset [exitpressed v] to [0]\nset [playerx v] to [-10]\nset [playery v] to [100]\nset [playerxv v] to [0]\nset [playeryv v] to [0]\nset [pickedgun v] to [-1]\nset [qpressed v] to [0]\nset [playerwalkindex v] to [1]\nset [playerdirection v] to [90]\nset [playerhealth_ref v] to [33]\nset [playerhealth v] to (playerhealth_ref)\nif <(lvl) = [1]> then\n    set [1 v] to [-5]\n    repeat (70)\n        addLvlBlock (1) [0] - [1] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [-5] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [65] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [55] [1] - [3] - [1]\n    addLvlBlock [6] [1] - [1] - [1]\n    addLvlBlock [13] [1] - [8] - [1]\n    addprop [-1] [3] c [text1] des [0] size [2] [0]\n    addprop [6] [3] c [text2] des [0] size [2] [0]\n    addprop [13] [3] c [text3] des [0] size [2] [0]\n    addprop [20] [3] c [text4] des [0] size [2] [0]\n    addprop [28] [3] c [text5] des [0] size [2] [0]\n    addprop [36] [4] c [text6] des [0] size [2] [0]\n    addprop [37] [3] c [text7] des [0] size [2] [0]\n    addprop [56] [3] c [text8] des [0] size [2] [0]\n    addEnemy [800] [50] -g [-1] [10] -spd [0] h [1]\n    addSceneGun [0] [1100] [50]\n    addprop [36] [2] c [5] des [d] size [1] [1]\n    addprop [39] [2] c [5] des [d] size [1] [1]\n    addprop [42] [2] c [5] des [d] size [1] [1]\n    addprop [50] [1] c [9] des [d] size [1] [1]\n    addprop [50] [2] c [9] des [d] size [1] [1]\n    addprop [50] [3] c [9] des [d] size [1] [1]\n    addprop [50] [4] c [9] des [d] size [1] [1]\n    addprop [47] [3] c [text10] des [0] size [2] [0]\nend\nif <(lvl) = [2]> then\n    set [1 v] to [-5]\n    repeat (70)\n        addLvlBlock (1) [0] - [1] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [-5] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    addEnemy [800] [50] -g [0] [20] -spd [0.5] h [5]\n    addSceneGun [3] [0] [50]\n    addLvlBlock [6] [1] - [6] - [1]\n    addLvlBlock [7] [1] - [6] - [1]\n    addLvlBlock [8] [1] - [6] - [1]\n    addLvlBlock [9] [1] - [6] - [1]\n    addLvlBlock [10] [1] - [6] - [1]\n    addLvlBlock [11] [1] - [6] - [1]\n    set [1 v] to [2]\n    repeat (10)\n        addprop [22] (1) c [7] des [2] size [1] [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [22] [1] - [1] - [1]\n    addprop [18] [3] c [text9] des [0] size [1] [1]\n    addLvlBlock [12] [2] - [1] - [1]\n    addLvlBlock [13] [2] - [1] - [1]\n    addLvlBlock [14] [2] - [1] - [1]\n    addLvlBlock [14] [3] - [6] - [1]\n    addLvlBlock [26] [4] - [1] - [1]\n    addLvlBlock [27] [4] - [1] - [1]\n    addLvlBlock [28] [4] - [1] - [1]\n    addLvlBlock [29] [4] - [1] - [1]\n    addLvlBlock [30] [4] - [1] - [1]\n    addLvlBlock [31] [4] - [1] - [1]\n    addLvlBlock [32] [4] - [1] - [1]\n    addLvlBlock [33] [7] - [1] - [1]\n    addLvlBlock [34] [7] - [1] - [1]\n    addLvlBlock [35] [7] - [1] - [1]\n    addEnemy ((27) * (blocksize)) ((6) * (blocksize)) -g [0] [60] -spd [0.5] h [5]\n    addLvlBlock [34] [8] - [3] - [1]\n    addprop [33] [8] c [7] des [1] size [1] [1]\n    addprop [33] [9] c [7] des [1] size [1] [1]\n    addprop [33] [10] c [7] des [1] size [1] [1]\n    addprop [34] [10] c [7] des [1] size [1] [1]\n    addprop [35] [10] c [7] des [1] size [1] [1]\n    addprop [35] [9] c [7] des [1] size [1] [1]\n    addprop [35] [8] c [7] des [1] size [1] [1]\nend\nif <(lvl) = [3]> then\n    set [1 v] to [-5]\n    repeat (70)\n        addLvlBlock (1) [0] - [1] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [-5] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [65] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    addSceneGun [7] [0] [50]\n    set [1 v] to [2]\n    repeat (3)\n        addLvlBlock [5] (1) - [4] - [1]\n        addLvlBlock [4] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    addEnemy [300] [50] -g [0] [40] -spd [0] h [5]\n    addLvlBlock [15] [1] - [1] - [1]\n    addLvlBlock [16] [1] - [1] - [1]\n    addLvlBlock [17] [1] - [1] - [1]\n    addLvlBlock [18] [1] - [1] - [1]\n    addLvlBlock [12] [1] - [6] - [1]\n    addLvlBlock [13] [1] - [6] - [1]\n    addLvlBlock [14] [1] - [6] - [1]\n    addprop [4] [1] c [9] des [d] size [1] [1]\n    addExplosive [5] [1]\n    set [1 v] to [1]\n    repeat (10)\n        addprop [21] (1) c [7] des [2] size [1] [1]\n        addprop [22] (1) c [7] des [2] size [1] [1]\n        change [1 v] by (1)\n    end\n    addEnemy [600] [100] -g [4] [25] -spd [0] h [5]\n    addLvlBlock [26] [5] - [1] - [1]\n    addLvlBlock [27] [5] - [1] - [1]\n    addLvlBlock [28] [5] - [1] - [1]\n    addLvlBlock [27] [6] - [3] - [1]\n    addEnemy [1400] [150] -g [5] [40] -spd [0.5] h [20]\n    addLvlBlock [32] [1] - [1] - [1]\n    addLvlBlock [32] [2] - [6] - [1]\nend\nif <(lvl) = [4]> then\n    set [1 v] to [-5]\n    repeat (70)\n        addLvlBlock (1) [0] - [1] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [-5] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [65] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    addSceneGun [7] [0] [50]\n    set [1 v] to [2]\n    repeat (3)\n        addLvlBlock [5] (1) - [4] - [1]\n        addLvlBlock [4] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [15] [1] - [1] - [1]\n    addLvlBlock [16] [1] - [1] - [1]\n    addLvlBlock [17] [1] - [1] - [1]\n    addLvlBlock [18] [1] - [1] - [1]\n    addLvlBlock [12] [1] - [6] - [1]\n    addLvlBlock [13] [1] - [6] - [1]\n    addLvlBlock [14] [1] - [6] - [1]\n    addLvlBlock [18] [2] - [6] - [1]\n    addLvlBlock [20] [4] - [1] - [1]\n    addLvlBlock [22] [6] - [1] - [1]\n    addLvlBlock [20] [8] - [1] - [1]\n    addLvlBlock [19] [8] - [1] - [1]\n    addLvlBlock [18] [8] - [1] - [1]\n    addLvlBlock [17] [8] - [1] - [1]\n    set [1 v] to [19]\n    repeat (10)\n        addLvlBlock (1) [1] - [6] - [1]\n        change [1 v] by (1)\n    end\n    addprop [4] [1] c [7] des [5] size [1] [1]\n    addprop [5] [1] c [7] des [5] size [1] [1]\n    addExplosive [6] [1]\n    addEnemy [300] [50] -g [0] [40] -spd [0] h [5]\n    addEnemy ((18) * (blocksize)) ((9) * (blocksize)) -g [0] [25] -spd [0] h [10]\n    set [1 v] to [19]\n    repeat (10)\n        addLvlBlock (1) [8] - [1] - [1]\n        change [1 v] by (-1)\n    end\n    addEnemy ((11) * (blocksize)) ((9) * (blocksize)) -g [2] [40] -spd [0] h [10]\n    addLvlBlock [5] [10] - [1] - [1]\n    addEnemy ((5) * (blocksize)) ((12) * (blocksize)) -g [2] [40] -spd [0] h [10]\n    set [1 v] to [21]\n    repeat (15)\n        addLvlBlock (1) [10] - [1] - [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [32] [11] - [3] - [1]\n    addprop [31] [11] c [7] des [1] size [1] [1]\n    addprop [31] [12] c [7] des [1] size [1] [1]\n    addprop [32] [12] c [7] des [1] size [1] [1]\n    addprop [33] [12] c [7] des [1] size [1] [1]\n    addprop [33] [11] c [7] des [1] size [1] [1]\n    addEnemy ((25) * (blocksize)) ((12) * (blocksize)) -g [2] [40] -spd [0] h [10]\nend\nif <(lvl) = [5]> then\n    set [1 v] to [-5]\n    repeat (70)\n        addLvlBlock (1) [0] - [1] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [-5] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [65] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [3]\n    repeat (5)\n        addLvlBlock (1) [6] - [1] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [6]\n    repeat (5)\n        addLvlBlock [7] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    addEnemy ((10) * (blocksize)) ((1) * (blocksize)) -g [0] [50] -spd [0] h [3]\n    set [1 v] to [1]\n    repeat (6)\n        addprop [13] (1) c [7] des [3] size [1] [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [17]\n    repeat (5)\n        addLvlBlock (1) [3] - [1] - [1]\n        change [1 v] by (1)\n    end\n    addEnemy ((20) * (blocksize)) ((4) * (blocksize)) -g [2] [70] -spd [0] h [10]\n    addLvlBlock [21] [4] - [6] - [1]\n    set [1 v] to [24]\n    repeat (5)\n        addLvlBlock (1) [6] - [1] - [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [26] [7] - [6] - [1]\n    addLvlBlock [30] [7] - [1] - [1]\n    addLvlBlock [33] [9] - [1] - [1]\n    addLvlBlock [30] [11] - [1] - [1]\n    addLvlBlock [33] [13] - [1] - [1]\n    set [1 v] to [35]\n    repeat (5)\n        addLvlBlock (1) [15] - [1] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [33]\n    repeat (5)\n        addLvlBlock (1) [17] - [1] - [1]\n        change [1 v] by (-1)\n    end\n    addLvlBlock [37] [16] - [6] - [1]\n    set [1 v] to [17]\n    repeat (5)\n        addLvlBlock (1) [17] - [1] - [1]\n        change [1 v] by (-1)\n    end\n    set [1 v] to [26]\n    repeat (5)\n        addLvlBlock (1) [15] - [1] - [1]\n        change [1 v] by (-1)\n    end\n    addLvlBlock [4] [7] - [3] - [1]\n    addEnemy ((30) * (blocksize)) ((19) * (blocksize)) -g [0] [40] -spd [0] h [10]\nend\nif <(lvl) = [6]> then\n    set [1 v] to [-5]\n    repeat (70)\n        addLvlBlock (1) [0] - [1] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [-5] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [0]\n    repeat (10)\n        addLvlBlock [65] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [4] [7] - [3] - [1]\n    set [1 v] to [3]\n    repeat (5)\n        addLvlBlock (1) [6] - [1] - [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [6]\n    repeat (5)\n        addLvlBlock [7] (1) - [4] - [1]\n        change [1 v] by (1)\n    end\n    addEnemy ((10) * (blocksize)) ((1) * (blocksize)) -g [0] [50] -spd [0] h [3]\n    set [1 v] to [1]\n    repeat (6)\n        addprop [13] (1) c [7] des [4] size [1] [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [17]\n    repeat (5)\n        addLvlBlock (1) [3] - [1] - [1]\n        change [1 v] by (1)\n    end\n    addEnemy ((20) * (blocksize)) ((4) * (blocksize)) -g [0] [40] -spd [0] h [10]\n    addLvlBlock [21] [4] - [6] - [1]\n    set [1 v] to [24]\n    repeat (5)\n        addLvlBlock (1) [6] - [1] - [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [26] [7] - [6] - [1]\n    addLvlBlock [30] [7] - [1] - [1]\n    addLvlBlock [33] [9] - [1] - [1]\n    addLvlBlock [36] [11] - [1] - [1]\n    addLvlBlock [37] [13] - [1] - [1]\n    set [1 v] to [37]\n    repeat (20)\n        addLvlBlock (1) [13] - [1] - [1]\n        change [1 v] by (1)\n    end\n    addSceneGun [1] ((36) * (blocksize)) ((12) * (blocksize))\n    addEnemy ((39) * (blocksize)) ((14) * (blocksize)) -g [7] [40] -spd [0] h [10]\n    set [1 v] to [13]\n    repeat (10)\n        addprop [46] (1) c [7] des [2] size [1] [1]\n        change [1 v] by (1)\n    end\n    addEnemy ((48) * (blocksize)) ((14) * (blocksize)) -g [3] [40] -spd [0] h [15]\nend\nif <(lvl) = [7]> then\n    set [1 v] to [-5]\n    repeat (10)\n        addLvlBlock (1) [0] - [1] - []\n        change [1 v] by (1)\n    end\n    addSceneGun [3] ((0) * (blocksize)) ((2) * (blocksize))\n    set [1 v] to [-5]\n    repeat (4)\n        addLvlBlock (1) [6] - [1] - []\n        change [1 v] by (1)\n    end\n    set [1 v] to [1]\n    repeat (4)\n        addLvlBlock (1) [12] - [1] - []\n        change [1 v] by (1)\n    end\n    set [1 v] to [-5]\n    repeat (15)\n        addprop (1) [16] c [7] des [3] size [1] [1]\n        change [1 v] by (1)\n    end\n    addEnemy ((3) * (blocksize)) ((13) * (blocksize)) -g [4] [16] -spd [0] h [15]\n    set [1 v] to [7]\n    repeat (4)\n        addLvlBlock (1) [18] - [1] - []\n        change [1 v] by (1)\n    end\n    addLvlBlock [10] [19] - [6] - []\n    addLvlBlock [6] [24] - [1] - []\n    addLvlBlock [5] [24] - [1] - []\n    addLvlBlock [5] [25] - [6] - []\n    addLvlBlock [7] [30] - [1] - []\n    addLvlBlock [2] [30] - [1] - []\n    addEnemy ((2) * (blocksize)) ((31) * (blocksize)) -g [0] [40] -spd [1] h [15]\n    addLvlBlock [6] [36] - [1] - []\n    addLvlBlock [6] [37] - [6] - []\n    addLvlBlock [8] [36] - [1] - []\n    set [1 v] to [10]\n    repeat (15)\n        addLvlBlock (1) [36] - [1] - []\n        change [1 v] by (1)\n    end\n    set [1 v] to [12]\n    repeat (3)\n        addLvlBlock (1) [37] - [6] - []\n        change [1 v] by (1)\n    end\n    addprop [24] [37] c [7] des [1] size [1] [1]\n    addprop [24] [38] c [7] des [1] size [1] [1]\n    addprop [23] [38] c [7] des [1] size [1] [1]\n    addprop [22] [38] c [7] des [1] size [1] [1]\n    addprop [22] [37] c [7] des [1] size [1] [1]\n    addLvlBlock [23] [37] - [3] - []\n    set [1 v] to [-7]\n    repeat (10)\n        addLvlBlock (1) [-10] - [1] - []\n        change [1 v] by (1)\n    end\n    addLvlBlock [-7] [-9] - [6] - []\n    addEnemy ((2) * (blocksize)) ((-9) * (blocksize)) -g [0] [35] -spd [1] h [30]\n    addLvlBlock [-9] [-7] - [1] - []\nend\nif <(lvl) = [8]> then\n    set [1 v] to [-5]\n    repeat (10)\n        addLvlBlock (1) [0] - [1] - []\n        change [1 v] by (1)\n    end\n    addLvlBlock [3] [3] - [3] - []\n    addLvlBlock [3] [2] - [1] - []\n    addprop [2] [2] c [7] des [1] size [1] [1]\n    addprop [2] [3] c [7] des [1] size [1] [1]\n    addprop [2] [4] c [7] des [1] size [1] [1]\n    addprop [3] [4] c [7] des [1] size [1] [1]\n    addprop [4] [4] c [7] des [1] size [1] [1]\n    addprop [4] [3] c [7] des [1] size [1] [1]\n    addprop [4] [2] c [7] des [1] size [1] [1]\n    addEnemy ((3) * (blocksize)) ((1) * (blocksize)) -g [4] [16] -spd [0] h [8]\n    addLvlBlock [4] [1] - [1] - []\n    addLvlBlock [-8] [0] - [1] - []\n    set [1 v] to [-11]\n    repeat (10)\n        addLvlBlock (1) [0] - [1] - []\n        change [1 v] by (-1)\n    end\n    addEnemy ((-20) * (blocksize)) ((1) * (blocksize)) -g [5] [60] -spd [0] h [45]\n    addEnemy ((-15) * (blocksize)) ((1) * (blocksize)) -g [7] [50] -spd [0] h [8]\n    addExplosive [-19] [1]\n    set [1 v] to [-42]\n    repeat (20)\n        addLvlBlock (1) [4] - [1] - []\n        change [1 v] by (1)\n    end\n    addEnemy ((-35) * (blocksize)) ((5) * (blocksize)) -g [0] [35] -spd [1] h [12]\n    addEnemy ((-40) * (blocksize)) ((5) * (blocksize)) -g [0] [35] -spd [1] h [12]\n    addEnemy ((-42) * (blocksize)) ((5) * (blocksize)) -g [0] [35] -spd [1] h [30]\n    addEnemy ((-38) * (blocksize)) ((5) * (blocksize)) -g [7] [45] -spd [1] h [50]\n    addExplosive [-41] [5]\nend\nif <(lvl) = [9]> then\n    set [1 v] to [-10]\n    repeat (20)\n        addLvlBlock (1) [-5] - [1] - []\n        change [1 v] by (1)\n    end\n    addLvlBlock [0] [-3] - [3] - []\n    addLvlBlock [0] [-4] - [1] - []\n    addprop [-1] [-4] c [7] des [1] size [1] [1]\n    addprop [-1] [-3] c [7] des [1] size [1] [1]\n    addprop [-1] [-2] c [7] des [1] size [1] [1]\n    addprop [0] [-2] c [7] des [1] size [1] [1]\n    addprop [1] [-2] c [7] des [1] size [1] [1]\n    addprop [1] [-3] c [7] des [1] size [1] [1]\n    addprop [1] [-4] c [7] des [1] size [1] [1]\n    addEnemy ((-3) * (blocksize)) ((-3) * (blocksize)) -g [4] [7] -spd [1] h [25]\n    addSceneGun [6] ((0) * (blocksize)) ((0) * (blocksize))\n    set [1 v] to [-11]\n    repeat (10)\n        addLvlBlock (1) [-4] - [1] - []\n        change [1 v] by (-1)\n    end\n    addEnemy ((-15) * (blocksize)) ((-3) * (blocksize)) -g [4] [16] -spd [0] h [30]\n    addLvlBlock [-11] [-3] - [6] - []\n    addLvlBlock [-20] [-3] - [6] - []\n    set [1 v] to [-22]\n    repeat (10)\n        addLvlBlock (1) [-2] - [1] - []\n        change [1 v] by (-1)\n    end\n    addExplosive [-22] [-1]\n    addExplosive [-31] [-1]\n    addExplosive [-26] [-1]\n    addEnemy ((-27) * (blocksize)) ((0) * (blocksize)) -g [0] [30] -spd [0] h [30]\n    set [1 v] to [-2]\n    repeat (10)\n        addprop [-21] (1) c [7] des [2] size [] []\n        change [1 v] by (1)\n    end\nend\nif <(lvl) = [10]> then\n    set [1 v] to [-10]\n    repeat (20)\n        addLvlBlock (1) [0] - [1] - []\n        change [1 v] by (1)\n    end\n    set [1 v] to [-10]\n    repeat (5)\n        addExplosive (1) [1]\n        change [1 v] by (4)\n    end\n    addSceneGun [2] ((0) * (blocksize)) ((1) * (blocksize))\n    addEnemy ((3) * (blocksize)) ((1) * (blocksize)) -g [4] [10] -spd [1] h [30]\n    set [1 v] to [1]\n    repeat (10)\n        addprop [10] (1) c [9] des [d] size [] []\n        change [1 v] by (1)\n    end\n    set [1 v] to [11]\n    repeat (20)\n        addprop (1) [1] c [9] des [d] size [1] [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [21] [1] - [1] - []\n    addLvlBlock [30] [1] - [1] - []\n    addEnemy ((21) * (blocksize)) ((2) * (blocksize)) -g [0] [40] -spd [0] h [35]\n    addEnemy ((30) * (blocksize)) ((2) * (blocksize)) -g [7] [40] -spd [0] h [35]\n    addLvlBlock [32] [3] - [1] - []\n    addLvlBlock [33] [3] - [1] - []\n    addLvlBlock [33] [4] - [6] - []\n    addLvlBlock [35] [4] - [1] - []\n    addLvlBlock [36] [4] - [1] - []\n    addEnemy ((36) * (blocksize)) ((5) * (blocksize)) -g [0] [40] -spd [0] h [15]\n    set [1 v] to [38]\n    repeat (15)\n        addLvlBlock (1) [5] - [1] - []\n        change [1 v] by (1)\n    end\n    set [1 v] to [6]\n    repeat (4)\n        addprop [45] (1) c [7] des [1] size [1] [1]\n        change [1 v] by (1)\n    end\n    addEnemy ((47) * (blocksize)) ((6) * (blocksize)) -g [0] [40] -spd [0] h [15]\n    addLvlBlock [48] [6] - [3] - []\nend\nif <(lvl) = [11]> then\n    addSceneGun [3] ((0) * (blocksize)) ((1) * (blocksize))\n    set [1 v] to [-2]\n    repeat (5)\n        addprop (1) [0] c [9] des [d] size [1] [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [-2]\n    repeat (5)\n        addprop (1) [6] c [9] des [d] size [1] [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [-3] [6] - [1] - []\n    addEnemy ((-3) * (blocksize)) ((7) * (blocksize)) -g [0] [30] -spd [0] h [30]\n    set [1 v] to [5]\n    repeat (5)\n        addprop (1) [11] c [9] des [d] size [1] [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [11]\n    repeat (15)\n        addLvlBlock (1) [11] - [1] - []\n        change [1 v] by (1)\n    end\n    set [1 v] to [13]\n    repeat (6)\n        addLvlBlock (1) [12] - [6] - []\n        change [1 v] by (1)\n    end\n    set [1 v] to [20]\n    repeat (3)\n        addLvlBlock (1) [12] - [6] - []\n        change [1 v] by (1)\n    end\n    set [1 v] to [27]\n    repeat (10)\n        addprop (1) [12] c [9] des [d] size [1] [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [29] [12] - [1] - []\n    addEnemy ((29) * (blocksize)) ((13) * (blocksize)) -g [5] [60] -spd [0] h [35]\n    set [1 v] to [30]\n    repeat (5)\n        addprop (1) [17] c [9] des [d] size [1] [1]\n        change [1 v] by (1)\n    end\n    addprop [36] [23] c [9] des [d] size [1] [1]\n    addprop [39] [29] c [9] des [d] size [1] [1]\n    addprop [42] [35] c [9] des [d] size [1] [1]\n    addprop [43] [35] c [9] des [d] size [1] [1]\n    set [1 v] to [45]\n    repeat (10)\n        addprop (1) [41] c [9] des [d] size [1] [1]\n        change [1 v] by (1)\n    end\n    set [1 v] to [35]\n    repeat (20)\n        addprop (1) [39] c [7] des [1] size [1] [1]\n        change [1 v] by (1)\n    end\n    addLvlBlock [48] [42] - [3] - []\nend\nif <(lvl) = [12]> then\n    set [1 v] to [-10]\n    repeat (20)\n        addLvlBlock (1) [-5] - [1] - []\n        change [1 v] by (1)\n    end\n    addLvlBlock [0] [-4] - [3] - []\n    addprop [0] [-3] c [7] des [1] size [1] [1]\n    addprop [1] [-3] c [7] des [1] size [1] [1]\n    addprop [1] [-4] c [7] des [1] size [1] [1]\n    addprop [-1] [-3] c [7] des [1] size [1] [1]\n    addprop [-1] [-4] c [7] des [1] size [1] [1]\n    addSceneGun [7] ((0) * (blocksize)) ((-2) * (blocksize))\n    addEnemy ((-3) * (blocksize)) ((-4) * (blocksize)) -g [0] [30] -spd [1] h [30]\n    set [1 v] to [12]\n    repeat (10)\n        addLvlBlock (1) [-4] - [1] - []\n        change [1 v] by (1)\n    end\n    set [1 v] to [-21]\n    repeat (10)\n        addLvlBlock (1) [-3] - [1] - []\n        change [1 v] by (1)\n    end\n    addEnemy ((-15) * (blocksize)) ((-2) * (blocksize)) -g [3] [60] -spd [1] h [25]\n    addEnemy ((-18) * (blocksize)) ((-2) * (blocksize)) -g [3] [60] -spd [1] h [25]\n    addEnemy ((-25) * (blocksize)) ((4) * (blocksize)) -g [0] [30] -spd [0.5] h [15]\n    set [1 v] to [-33]\n    repeat (10)\n        addLvlBlock (1) [3] - [1] - []\n        change [1 v] by (1)\n    end\n    addEnemy ((15) * (blocksize)) ((-1) * (blocksize)) -g [0] [30] -spd [0.5] h [15]\n    addEnemy ((17) * (blocksize)) ((-1) * (blocksize)) -g [7] [50] -spd [0.5] h [15]\nend\nif <(lvl) = [13]> then\n    levl13\nend\nif <(lvl) = [14]> then\n    lvl14\nend\nif <(lvl) = [15]> then\n    lvl15\nend\n\naddprop [3] [1] c [9] des [d] size [1] [1]\n\nset [1 v] to [33]\nrepeat (5)\n    addLvlBlock (1) [17] - [1] - [1]\n    change [1 v] by (-1)\nend\naddLvlBlock [37] [16] - [6] - [1]\nset [1 v] to [17]\nrepeat (5)\n    addLvlBlock (1) [17] - [1] - [1]\n    change [1 v] by (-1)\nend\nset [1 v] to [26]\nrepeat (5)\n    addLvlBlock (1) [15] - [1] - [1]\n    change [1 v] by (-1)\nend\naddEnemy ((30) * (blocksize)) ((19) * (blocksize)) -g [0] [40] -spd [0] h [10]\n\ndefine addEnemy (x) (y) -g (gun) (rel) -spd (speed) h (helth)\nadd (x) to [enemies v]\nadd (y) to [enemies v]\nadd [1] to [enemies v]\nadd [0] to [enemies v]\nset [typeindex v] to ((gun) * (gunype_length))\nadd (gun) to [enemies v]\nadd (rel) to [enemies v]\nadd (rel) to [enemies v]\nadd (speed) to [enemies v]\nadd [0] to [enemies v]\nadd (helth) to [enemies v]\nadd (helth) to [enemies v]\n\ndefine update_enemies\nset [i0 v] to [0]\nset [color v] effect to (150)\nrepeat ((length of [enemies v]) / (length of [enemies_ref v]))\n    set rotation style [left-right v]\n    set [typeindex v] to ((item ((i0) + (5)) of [enemies v]) * (gunype_length))\n    switch costume to (playercollider2 v)\n    go to x: (((item ((i0) + (1)) of [enemies v]) + (scrollx)) * (zoom)) y: (((item ((i0) + (2)) of [enemies v]) + (scrolly)) * (zoom))\n    set [playerxchange v] to (x position)\n    set [playerychange v] to (y position)\n    replace item ((i0) + (4)) of [enemies v] with ((-0.6) + (item ((i0) + (4)) of [enemies v]))\n    setDist (item ((i0) + (1)) of [enemies v]) (item ((i0) + (2)) of [enemies v]) (playerx) (playery)\n    if <(dist) < [25]> then\n        if <(playerwalkindex) = [9]> then\n            set [playerxv v] to (() - (playerxv))\n            set [playeryv v] to (() - (playeryv))\n            replace item ((i0) + (10)) of [enemies v] with ((-2) + (item ((i0) + (10)) of [enemies v]))\n        end\n    end\n    if <<<not <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>>> or <[250] > ([abs v] of ((playery) - (item ((i0) + (2)) of [enemies v])) )>> and <(dist) < [480]>> then\n        if <not <(item ((i0) + (8)) of [enemies v]) = [0]>> then\n            if <not <touching (_edge_ v)?>> then\n                if <[200] < (dist)> then\n                    if <(item ((i0) + (1)) of [enemies v]) < (playerx)> then\n                        replace item ((i0) + (3)) of [enemies v] with ((item ((i0) + (8)) of [enemies v]) + (item ((i0) + (3)) of [enemies v]))\n                        point in direction (90)\n                        change y by ((blocksize) / (-2))\n                        if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                            change x by (blocksize)\n                            if <not <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>>> then\n                                change x by (blocksize)\n                                if <not <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>>> then\n                                    replace item ((i0) + (3)) of [enemies v] with [0]\n                                    replace item ((i0) + (4)) of [enemies v] with [0]\n                                    change x by (blocksize)\n                                    if <not <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>>> then\n                                        replace item ((i0) + (3)) of [enemies v] with [0]\n                                        replace item ((i0) + (4)) of [enemies v] with [0]\n                                    else\n                                        replace item ((i0) + (4)) of [enemies v] with [11]\n                                        replace item ((i0) + (3)) of [enemies v] with ((5) * (item ((i0) + (8)) of [enemies v]))\n                                    end\n                                    change x by (() - (blocksize))\n                                else\n                                    replace item ((i0) + (4)) of [enemies v] with [11]\n                                    replace item ((i0) + (3)) of [enemies v] with ((5) * (item ((i0) + (8)) of [enemies v]))\n                                end\n                                change x by (() - (blocksize))\n                            end\n                            change x by (() - (blocksize))\n                        end\n                        change y by ((blocksize) / (2))\n                    else\n                        replace item ((i0) + (3)) of [enemies v] with (((0) - (item ((i0) + (8)) of [enemies v])) + (item ((i0) + (3)) of [enemies v]))\n                        point in direction (-90)\n                        change y by ((blocksize) / (-2))\n                        if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                            change x by (() - (blocksize))\n                            if <not <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>>> then\n                                change x by (() - (blocksize))\n                                if <not <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>>> then\n                                    change x by (() - (blocksize))\n                                    if <not <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>>> then\n                                        replace item ((i0) + (3)) of [enemies v] with [0]\n                                        replace item ((i0) + (4)) of [enemies v] with [0]\n                                    else\n                                        replace item ((i0) + (4)) of [enemies v] with [11]\n                                        replace item ((i0) + (3)) of [enemies v] with ((-5) * (item ((i0) + (8)) of [enemies v]))\n                                    end\n                                    change x by (blocksize)\n                                else\n                                    replace item ((i0) + (4)) of [enemies v] with [11]\n                                    replace item ((i0) + (3)) of [enemies v] with ((-5) * (item ((i0) + (8)) of [enemies v]))\n                                end\n                                change x by (blocksize)\n                            end\n                            change x by (blocksize)\n                        end\n                        change y by ((blocksize) / (2))\n                    end\n                end\n            end\n        end\n    end\n    set [i1 v] to [0]\n    repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n        if <not <(i0) = (i1)>> then\n            setDist (item ((i0) + (1)) of [enemies v]) (item ((i0) + (2)) of [enemies v]) (item ((i1) + (1)) of [enemies v]) (item ((i1) + (2)) of [enemies v])\n            if <(dist) < [50]> then\n                if <(item ((i1) + (1)) of [enemies v]) < (item ((i0) + (1)) of [enemies v])> then\n                    replace item ((i0) + (3)) of [enemies v] with ((1) + (item ((i0) + (3)) of [enemies v]))\n                    point in direction (90)\n                else\n                    replace item ((i0) + (3)) of [enemies v] with ((-1) + (item ((i0) + (3)) of [enemies v]))\n                    point in direction (-90)\n                end\n            end\n        end\n        change [i1 v] by (1)\n    end\n    replace item ((i0) + (3)) of [enemies v] with ((0.9) * (item ((i0) + (3)) of [enemies v]))\n    if <not <touching (_edge_ v)?>> then\n        change x by (item ((i0) + (3)) of [enemies v])\n    end\n    if <not <touching (_edge_ v)?>> then\n        if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n            change y by (1)\n            if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                change y by (1)\n                if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                    replace item ((i0) + (4)) of [enemies v] with [11]\n                    change y by (1)\n                    if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                        change y by (1)\n                        if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                            change y by (1)\n                            if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                                change y by (1)\n                                if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                                    change y by (-6)\n                                    change x by ((item ((i0) + (3)) of [enemies v]) * (-1))\n                                    change y by ((blocksize) / (2))\n                                    if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n                                        replace item ((i0) + (3)) of [enemies v] with [0]\n                                        if <not <(item ((i0) + (8)) of [enemies v]) = [0]>> then\n                                            replace item ((i0) + (4)) of [enemies v] with [11]\n                                        end\n                                    end\n                                    change y by (() - ((blocksize) / (2)))\n                                end\n                            end\n                        end\n                    end\n                end\n            end\n        end\n        change y by (item ((i0) + (4)) of [enemies v])\n        if <<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> then\n            change y by ((item ((i0) + (4)) of [enemies v]) * (-1))\n            replace item ((i0) + (4)) of [enemies v] with [0]\n        end\n        change y by (-0.5)\n        if <<<touching color (#3e2723)?> or <<touching color (#33691e)?> or <<touching color (#64dd17)?> or <touching color (#5d4037)?>>>> and <<key (w v) pressed?> or <key (up arrow v) pressed?>>> then\n        if <<touching color (#ff0000)?> or <touching color (#990000)?>> then\n        if <<touching color (#00cccc)?> or <touching color (#02ffff)?>> then\n        change y by (0.5)\n    end\n    if <not <touching (_edge_ v)?>> then\n        replace item ((i0) + (1)) of [enemies v] with (((x position) - (playerxchange)) + (item ((i0) + (1)) of [enemies v]))\n        replace item ((i0) + (2)) of [enemies v] with (((y position) - (playerychange)) + (item ((i0) + (2)) of [enemies v]))\n    end\n    if <touching (_edge_ v)?> then\n        replace item ((i0) + (3)) of [enemies v] with [0]\n        replace item ((i0) + (4)) of [enemies v] with [0]\n    end\n    set size to ((zoom) * (100)) %\n    go to x: ((((item ((i0) + (1)) of [enemies v]) * (1)) + (scrollx)) * (zoom)) y: ((((item ((i0) + (2)) of [enemies v]) * (1)) + (scrolly)) * (zoom))\n    switch costume to (join [player] ((1) + (round ((item ((i0) + (1)) of [enemies v]) mod (7)))))\n    set size to ((zoom) * (90)) %\n    if <not <touching (_edge_ v)?>> then\n        stamp\n    end\n    set size to ((zoom) * (60)) %\n    if <not <(item ((i0) + (5)) of [enemies v]) = [-1]>> then\n        getAngle (playerx) (playery) from (item ((i0) + (1)) of [enemies v]) (item ((i0) + (2)) of [enemies v])\n        go to x: ((((([sin v] of (calc_angle) ) * (item ((typeindex) + (7)) of [guntypes v])) + (item ((i0) + (1)) of [enemies v])) + (scrollx)) * (zoom)) y: ((((([cos v] of (calc_angle) ) * (item ((typeindex) + (8)) of [guntypes v])) + (item ((i0) + (2)) of [enemies v])) + (scrolly)) * (zoom))\n        switch costume to (item ((typeindex) + (2)) of [guntypes v])\n        set rotation style [all around v]\n        point in direction (calc_angle)\n        if <(direction) < [0]> then\n            next costume\n        end\n        if <not <touching (_edge_ v)?>> then\n            stamp\n        end\n    end\n    go to x: (((((15) + (item ((i0) + (1)) of [enemies v])) * (1)) + (scrollx)) * (zoom)) y: (((((25) + (item ((i0) + (2)) of [enemies v])) * (1)) + (scrolly)) * (zoom))\n    set pen color to (#bdbdbd)\n    set pen size to ((zoom) * (10))\n    pen down\n    go to x: (((((-15) + (item ((i0) + (1)) of [enemies v])) * (1)) + (scrollx)) * (zoom)) y: (((((25) + (item ((i0) + (2)) of [enemies v])) * (1)) + (scrolly)) * (zoom))\n    pen up\n    go to x: (((((15) + (item ((i0) + (1)) of [enemies v])) * (1)) + (scrollx)) * (zoom)) y: (((((25) + (item ((i0) + (2)) of [enemies v])) * (1)) + (scrolly)) * (zoom))\n    if <[0] < (item ((i0) + (10)) of [enemies v])> then\n        set pen color to (#a70000)\n        set pen size to ((zoom) * (5))\n        go to x: (((((-15) + (item ((i0) + (1)) of [enemies v])) * (1)) + (scrollx)) * (zoom)) y: (((((25) + (item ((i0) + (2)) of [enemies v])) * (1)) + (scrolly)) * (zoom))\n        pen down\n        go to x: ((((((-15) + (((item ((i0) + (10)) of [enemies v]) / (item ((i0) + (11)) of [enemies v])) * (30))) + (item ((i0) + (1)) of [enemies v])) * (1)) + (scrollx)) * (zoom)) y: (((((25) + (item ((i0) + (2)) of [enemies v])) * (1)) + (scrolly)) * (zoom))\n        pen up\n    end\n    set [i1 v] to [0]\n    repeat ((length of [bullets v]) / (length of [bullets_ref v]))\n        if <[p] = (item ((i1) + (10)) of [bullets v])> then\n            setDist (item ((i0) + (1)) of [enemies v]) (item ((i0) + (2)) of [enemies v]) (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v])\n            if <(dist) < [25]> then\n                replace item ((i0) + (10)) of [enemies v] with ((item ((i0) + (10)) of [enemies v]) - (item ((i1) + (9)) of [bullets v]))\n                repeat (3)\n                    addParticle c: [feather1] (item ((i0) + (1)) of [enemies v]) (item ((i0) + (2)) of [enemies v]) - (pick random (-5) to (5)) (pick random (-5) to (5)) -spdm [0.9] -s (pick random (60) to (120)) [0] -l [25] r (pick random (1) to (350)) (pick random (-5) to (5)) eff [150] [0]\n                end\n                setDist (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v]) (playerx) (playery)\n                if <(dist) < (item ((i1) + (7)) of [bullets v])> then\n                    getAngle (playerx) (playery) from (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v])\n                    change [playerxv v] by (((((item ((i1) + (7)) of [bullets v]) - (dist)) / (item ((i1) + (7)) of [bullets v])) * (item ((i1) + (8)) of [bullets v])) * ([sin v] of (calc_angle) ))\n                    change [playeryv v] by (((((item ((i1) + (7)) of [bullets v]) - (dist)) / (item ((i1) + (7)) of [bullets v])) * (item ((i1) + (8)) of [bullets v])) * ([cos v] of (calc_angle) ))\n                end\n                set [i2 v] to [0]\n                repeat ((length of [props v]) / (length of [props_ref v]))\n                    if <(item ((i2) + (4)) of [props v]) = [d]> then\n                        setDist (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v])\n                        if <(dist) < (item ((i1) + (7)) of [bullets v])> then\n                            repeat (10)\n                                addParticle c: (item ((i2) + (3)) of [props v]) (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n                            end\n                            repeat (length of [props_ref v])\n                                delete ((i2) + (1)) of [props v]\n                            end\n                            change [i2 v] by (() - (length of [props_ref v]))\n                        end\n                    end\n                    change [i2 v] by (length of [props_ref v])\n                end\n                set [i3 v] to [0]\n                repeat ((length of [exp v]) / (length of [exp_ref v]))\n                    setDist (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v]) ((blocksize) * (item ((i3) + (1)) of [exp v])) ((blocksize) * (item ((i3) + (2)) of [exp v]))\n                    if <(dist) < (item ((i1) + (7)) of [bullets v])> then\n                        repeat (25)\n                            addParticle c: [exp2] ((item ((i3) + (1)) of [exp v]) * (blocksize)) ((item ((i3) + (2)) of [exp v]) * (blocksize)) - (pick random (-10) to (10)) (pick random (-10) to (10)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                        end\n                        repeat (7)\n                            addParticle c: [exp1] ((item ((i3) + (1)) of [exp v]) * (blocksize)) ((item ((i3) + (2)) of [exp v]) * (blocksize)) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                        end\n                        set [i2 v] to [0]\n                        repeat ((length of [props v]) / (length of [props_ref v]))\n                            if <(item ((i2) + (4)) of [props v]) = [d]> then\n                                setDist (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) ((item ((i3) + (1)) of [exp v]) * (blocksize)) ((item ((i3) + (2)) of [exp v]) * (blocksize))\n                                if <(dist) < (explosive_radius)> then\n                                    repeat (10)\n                                        addParticle c: (item ((i2) + (3)) of [props v]) (item ((i2) + (1)) of [props v]) (item ((i2) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n                                    end\n                                    repeat (length of [props_ref v])\n                                        delete ((i2) + (1)) of [props v]\n                                    end\n                                end\n                            end\n                            change [i2 v] by (1)\n                        end\n                        set [i2 v] to [0]\n                        repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n                            setDist (item ((i2) + (1)) of [enemies v]) (item ((i2) + (2)) of [enemies v]) ((item ((i3) + (1)) of [exp v]) * (blocksize)) ((item ((i3) + (2)) of [exp v]) * (blocksize))\n                            if <(dist) < (explosive_radius)> then\n                                replace item ((i2) + (10)) of [enemies v] with ((((0) - (explosive_damage)) * (((explosive_radius) - (dist)) / (explosive_radius))) + (item ((i2) + (10)) of [enemies v]))\n                            end\n                        end\n                        setDist (playerx) (playery) ((item ((i3) + (1)) of [exp v]) * (blocksize)) ((item ((i3) + (2)) of [exp v]) * (blocksize))\n                        if <(dist) < [100]> then\n                            getAngle (playerx) (playery) from ((item ((i3) + (1)) of [exp v]) * (blocksize)) ((item ((i3) + (2)) of [exp v]) * (blocksize))\n                            change [playerxv v] by (((((explosive_radius) - (dist)) / (explosive_radius)) * (explosive_impact)) * ([sin v] of (calc_angle) ))\n                            change [playeryv v] by (((((explosive_radius) - (dist)) / (explosive_radius)) * (explosive_impact)) * ([cos v] of (calc_angle) ))\n                            change [playerhealth v] by (((0) - (explosive_damage)) * (((explosive_radius) - (dist)) / (explosive_radius)))\n                        end\n                        repeat (length of [exp_ref v])\n                            delete ((i3) + (1)) of [exp v]\n                        end\n                        change [i3 v] by (() - (length of [exp_ref v]))\n                    end\n                    change [i3 v] by (length of [exp_ref v])\n                end\n                if <(item ((i0) + (10)) of [bullets v]) = [p]> then\n                    set [i3 v] to [0]\n                    repeat ((length of [enemies v]) / (length of [enemies_ref v]))\n                        if <not <(i0) = (i3)>> then\n                            setDist (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v]) (item ((i3) + (1)) of [enemies v]) (item ((i3) + (2)) of [enemies v])\n                            if <(dist) < (item ((i0) + (7)) of [bullets v])> then\n                                replace item ((i3) + (10)) of [enemies v] with ((item ((i3) + (10)) of [enemies v]) - (((dist) / (item ((i1) + (7)) of [bullets v])) * (item ((i1) + (9)) of [bullets v])))\n                            end\n                        end\n                        change [i3 v] by (length of [enemies_ref v])\n                    end\n                end\n                repeat ((item ((i1) + (7)) of [bullets v]) / (50))\n                    addParticle c: [exp2] (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v]) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                end\n                repeat ((item ((i1) + (7)) of [bullets v]) / (20))\n                    addParticle c: [exp1] (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v]) - (pick random (-5) to (5)) (pick random (-5) to (5)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\n                end\n                repeat (length of [bullets_ref v])\n                    delete ((i1) + (1)) of [bullets v]\n                end\n                change [i1 v] by (() - (length of [bullets_ref v]))\n            end\n        end\n        change [i1 v] by (length of [bullets_ref v])\n    end\n    if <not <(item ((i0) + (5)) of [enemies v]) = [-1]>> then\n        if <(item ((i0) + (6)) of [enemies v]) = [0]> then\n            setDist (item ((i0) + (1)) of [enemies v]) (item ((i0) + (2)) of [enemies v]) (playerx) (playery)\n            if <(dist) < [245]> then\n                getAngle (playerx) (playery) from (item ((i0) + (1)) of [enemies v]) (item ((i0) + (2)) of [enemies v])\n                repeat (item ((typeindex) + (3)) of [guntypes v])\n                    addBullet ((item ((i0) + (1)) of [enemies v]) + ((item ((typeindex) + (11)) of [guntypes v]) * ([sin v] of (calc_angle) ))) ((item ((i0) + (2)) of [enemies v]) + ((item ((typeindex) + (12)) of [guntypes v]) * ([cos v] of (calc_angle) ))) (() + ((item ((typeindex) + (10)) of [guntypes v]) * ([sin v] of ((calc_angle) + ((pick random (-1) to (1)) * (item ((typeindex) + (4)) of [guntypes v]))) ))) (() + ((item ((typeindex) + (10)) of [guntypes v]) * ([cos v] of ((calc_angle) + ((pick random (-1) to (1)) * (item ((typeindex) + (4)) of [guntypes v]))) ))) - (item ((typeindex) + (5)) of [guntypes v]) - (item ((typeindex) + (13)) of [guntypes v]) - (item ((typeindex) + (6)) of [guntypes v]) im (item ((typeindex) + (16)) of [guntypes v]) d ((item ((typeindex) + (15)) of [guntypes v]) / (1.5)) ty [e]\n                end\n                replace item ((i0) + (6)) of [enemies v] with (item ((i0) + (7)) of [enemies v])\n            end\n        end\n        if <not <(item ((i0) + (6)) of [enemies v]) = [0]>> then\n            replace item ((i0) + (6)) of [enemies v] with ((item ((i0) + (6)) of [enemies v]) - (1))\n        end\n    end\n    if <(item ((i0) + (10)) of [enemies v]) < [0]> then\n        repeat (10)\n            addParticle c: [feather1] (item ((i0) + (1)) of [enemies v]) (item ((i0) + (2)) of [enemies v]) - (pick random (-5) to (5)) (pick random (-5) to (5)) -spdm [0.9] -s (pick random (70) to (120)) [0] -l [25] r (pick random (1) to (350)) (pick random (-5) to (5)) eff [150] [0]\n        end\n        if <not <(item ((i0) + (5)) of [enemies v]) = [-1]>> then\n            addSceneGun ((typeindex) / (gunype_length)) (item ((i0) + (1)) of [enemies v]) (item ((i0) + (2)) of [enemies v])\n        end\n        repeat (length of [enemies_ref v])\n            delete ((i0) + (1)) of [enemies v]\n        end\n        set [screenshake v] to [4]\n        change [i0 v] by (() - (length of [enemies_ref v]))\n    end\n    \n        repeat (length of [enemies_ref v])\n            delete ((i0) + (1)) of [enemies v]\n        end\n        change [i0 v] by (() - (length of [enemies_ref v]))\n    end\n    change [i0 v] by (length of [enemies_ref v])\nend\npoint in direction (90)\nclear graphic effects\n\nreplace item ((i0) + (3)) of [enemies v] with ((10) + (item ((i0) + (3)) of [enemies v]))\n\nwhen flag clicked\nset [letters v] to [abcdefghijklmnopqrstuvwxyz/\[\]+-1234567890_=| ^,?\><.!{}'":;#\)\(@*]\ninitCharacters\n\ndefine initCharacters\ndelete (all) of [characters v]\nadd [a0b4b4c4c4d4d4e0b2d2] to [characters v]\nadd [a0a4d4a4d4e3e3e2e2a2e2e1e1d0d0a0] to [characters v]\nadd [e0b0b0a1a1a3a3b4b4e4] to [characters v]\nadd [a0a4a4d4d4e3e3e1e1d0d0a0] to [characters v]\nadd [a0a4a4e4a2e2a0e0] to [characters v]\nadd [a0a4a4e4a2e2] to [characters v]\nadd [e4b4b4a3a3a1a1b0b0e0e0e2e2c2] to [characters v]\nadd [a0a4e0e4a2e2] to [characters v]\nadd [b0d0c0c4b4d4] to [characters v]\nadd [a4e4c4c1c1b0b0a0] to [characters v]\nadd [a0a4a2d4a2d0] to [characters v]\nadd [a4a0a0d0] to [characters v]\nadd [a0a4a4c2c2e4e4e0] to [characters v]\nadd [a0a4a4e0e0e4] to [characters v]\nadd [b0a1a1a3a3b4b4d4d4e3e3e1e1d0d0b0] to [characters v]\nadd [a0a4a4d4d4e3e3e2e2a2] to [characters v]\nadd [b0a1a1a3a3b4b4d4d4e3e3e1e1d0d0b0e0c2] to [characters v]\nadd [a0a4a4d4d4e3e3e2e2a2a2e0] to [characters v]\nadd [e4b4b4a3a3a2a2d2d2e1e1d0d0a0] to [characters v]\nadd [c0c4a4e4] to [characters v]\nadd [a4a1a1b0b0d0d0e1e1e4] to [characters v]\nadd [a4c0c0e4] to [characters v]\nadd [a4b0b0c2c2d0d0e4] to [characters v]\nadd [a4e0e4a0] to [characters v]\nadd [a4c2c2e4c2c0] to [characters v]\nadd [a4e4e4a0a0e0] to [characters v]\ncomment [alphabets over]\nadd [b0e4] to [characters v]\nadd [c4a4a4a0a0c0] to [characters v]\nadd [c4e4e4e0e0c0] to [characters v]\nadd [b2d2c3c1] to [characters v]\nadd [b2d2] to [characters v]\ncomment [numbers]\nadd [b3c4c4c0b0d0] to [characters v]\nadd [a4e4e4e2e2a2a2a0a0e0] to [characters v]\nadd [a4e4e4e2e2a2e2e0e0a0] to [characters v]\nadd [a4a2a2e2e2e4e2e0] to [characters v]\nadd [e4a4a4a2a2e2e2e0e0a0] to [characters v]\nadd [e4a4a4a0a0e0e0e2e2a2] to [characters v]\nadd [a4e4e4c0] to [characters v]\nadd [a4e4e4e0e0a0a0a4a2e2] to [characters v]\nadd [a2a4a4e4e4e2e2a2e2e0e0a0] to [characters v]\nadd [a0a4a4e4e4e0e0a0] to [characters v]\ncomment [more symbols]\nadd [a0e0] to [characters v]\nadd [a1e1a3e3] to [characters v]\nadd [c0c4] to [characters v]\nadd [] to [characters v]\nadd [b3c4c4d3] to [characters v]\nadd [b1a0] to [characters v]\nadd [a3b4b4d4d4e3e3c1c0c0] to [characters v]\nadd [b4d0] to [characters v]\nadd [a3c2c2a1] to [characters v]\nadd [e3c2c2e1] to [characters v]\nadd [a0a0] to [characters v]\nadd [c4c1c0c0] to [characters v]\nadd [c4b4b4b2b2a2b2b0b0c0] to [characters v]\nadd [c4d4d4d2d2e2d2d0d0c0] to [characters v]\nadd [b4b3] to [characters v]\nadd [b4b3c4c3] to [characters v]\nadd [c3c3c1c1] to [characters v]\nadd [c3c3c1c0] to [characters v]\nadd [b4b0d4d0a3e3a1e1] to [characters v]\nadd [d4e3e3e1e1d0] to [characters v]\nadd [b4a3a3a1a1b0] to [characters v]\nadd [e1d0d0b0b0a1a1a3a3b4b4d4d4e3e3e2e2d1d1d3d1b1b1b3b3d3d3d4] to [characters v]\nadd [e4d3d4e3] to [characters v]\n\ndefine go to (textEngine) (letter) (number) (size)\nif <(letter) = [a]> then\n    set [1 v] to (xpos)\nend\nif <(letter) = [b]> then\n    set [1 v] to ((xpos) + ((size) * (1)))\nend\nif <(letter) = [c]> then\n    set [1 v] to ((xpos) + ((size) * (2)))\nend\nif <(letter) = [d]> then\n    set [1 v] to ((xpos) + ((size) * (3)))\nend\nif <(letter) = [e]> then\n    set [1 v] to ((xpos) + ((size) * (4)))\nend\ngo to x: (1) y: ((ypos) + ((number) * (size)))\n\ndefine Print (l)\nset [pi v] to [0]\nset [pl v] to [0]\nset [pb v] to [0]\nrepeat until <(l) = (letter (Pi) of (letters))>\n    change [pi v] by (1)\nend\npen up\nrepeat ((length of (item (Pi) of [characters v])) / (4))\n    go to (textEngine) (letter ((Pb) + (1)) of (item (Pi) of [characters v])) (letter ((Pb) + (2)) of (item (Pi) of [characters v])) (size)\n    pen down\n    go to (textEngine) (letter ((Pb) + (3)) of (item (Pi) of [characters v])) (letter ((Pb) + (4)) of (item (Pi) of [characters v])) (size)\n    change [pb v] by (4)\n    pen up\nend\npen up\n\ndefine text: (txt) x,y (x) (y) size: (s) colorRGB: (r) (g) (b) thickness: (th) spacing (sp) ww (wx)\npen up\ncomment [init variables]\nset [b v] to [0]\nset [a v] to [0]\nset [size v] to (s)\nset [xpos v] to (x)\nset [ypos v] to (y)\nset pen size to (th)\ncomment [RGB colors]\nset pen color to ((((65536) * (r)) + ((256) * (g))) + (b))\nrepeat (length of (txt))\n    comment [identify the choosen alphabet]\n    set [a v] to [0]\n    change [b v] by (1)\n    repeat (length of (letters))\n        change [a v] by (1)\n        if <(letter (b) of (txt)) = (letter (a) of (letters))> then\n            set [l v] to (letter (a) of (letters))\n        end\n    end\n    go to x: (xpos) y: (ypos)\n    set [xpos v] to (x position)\n    set [ypos v] to (y position)\n    if <<(xpos) > (wx)> or <(xpos) = (wx)>> then\n        set [xpos v] to (x)\n        set [ypos v] to ((ypos) - ((((s) * (5)) + (2)) + (sp)))\n        go to x: (xpos) y: (ypos)\n    end\n    Print (l)\n    comment [get ready to print the next alphabet]\n    go to x: (xpos) y: (ypos)\n    change x by ((((s) * (5)) + (2)) + (sp))\n    set [xpos v] to (x position)\n    set [ypos v] to (y position)\nend\n\ndefine addParticle c: (costime) (x) (y) - (xv) (yv) -spdm (spdmultiplier) -s (is) (fs) -l (life) r (r) (rv) eff (color) (br)\nadd (costime) to [particles v]\nadd (x) to [particles v]\nadd (y) to [particles v]\nadd (xv) to [particles v]\nadd (yv) to [particles v]\nadd (spdmultiplier) to [particles v]\nadd [uselessssssssssssss] to [particles v]\nadd (fs) to [particles v]\nadd (is) to [particles v]\nadd (life) to [particles v]\nadd (life) to [particles v]\nadd (r) to [particles v]\nadd (rv) to [particles v]\nadd (color) to [particles v]\nadd (br) to [particles v]\n\ndefine updateParticles\nset rotation style [all around v]\nset [i0 v] to [0]\nclear graphic effects\nrepeat ((length of [particles v]) / (length of [particles_ref v]))\n    go to x: (((item ((i0) + (2)) of [particles v]) + (scrollx)) * (zoom)) y: (((item ((i0) + (3)) of [particles v]) + (scrolly)) * (zoom))\n    set size to ((zoom) * ((item ((i0) + (8)) of [particles v]) + (((item ((i0) + (9)) of [particles v]) - (item ((i0) + (8)) of [particles v])) * ((item ((i0) + (10)) of [particles v]) / (item ((i0) + (11)) of [particles v]))))) %\n    switch costume to (item ((i0) + (1)) of [particles v])\n    point in direction (item ((i0) + (12)) of [particles v])\n    set [color v] effect to (item ((i0) + (14)) of [particles v])\n    set [brightness v] effect to (item ((i0) + (15)) of [particles v])\n    if <not <touching (_edge_ v)?>> then\n        stamp\n    end\n    replace item ((i0) + (12)) of [particles v] with ((item ((i0) + (12)) of [particles v]) + (item ((i0) + (13)) of [particles v]))\n    replace item ((i0) + (2)) of [particles v] with ((item ((i0) + (2)) of [particles v]) + (item ((i0) + (4)) of [particles v]))\n    replace item ((i0) + (3)) of [particles v] with ((item ((i0) + (3)) of [particles v]) + (item ((i0) + (5)) of [particles v]))\n    replace item ((i0) + (4)) of [particles v] with ((item ((i0) + (6)) of [particles v]) * (item ((i0) + (4)) of [particles v]))\n    replace item ((i0) + (5)) of [particles v] with ((item ((i0) + (6)) of [particles v]) * (item ((i0) + (5)) of [particles v]))\n    replace item ((i0) + (10)) of [particles v] with ((item ((i0) + (10)) of [particles v]) + (-1))\n    if <(item ((i0) + (10)) of [particles v]) < [1]> then\n        repeat (length of [particles_ref v])\n            delete ((i0) + (1)) of [particles v]\n        end\n        change [i0 v] by (() - (length of [particles_ref v]))\n    end\n    change [i0 v] by (length of [particles_ref v])\nend\npoint in direction (90)\n\ndefine addprop (x) (y) c (costume) des (des) size (sx) (sy)\nadd ((x) * (blocksize)) to [props v]\nadd ((y) * (blocksize)) to [props v]\nadd (costume) to [props v]\nadd (des) to [props v]\nadd (sx) to [props v]\nadd (sy) to [props v]\n\ndefine updateProps\nset [i0 v] to [0]\nclear graphic effects\npoint in direction (90)\nrepeat ((length of [props v]) / (length of [props_ref v]))\n    go to x: ((((1) * (item ((i0) + (1)) of [props v])) + (scrollx)) * (zoom)) y: ((((1) * (item ((i0) + (2)) of [props v])) + (scrolly)) * (zoom))\n    set size to ((100) * (zoom)) %\n    switch costume to (item ((i0) + (3)) of [props v])\n    if <((-240) - ((blocksize) * (item ((i0) + (5)) of [props v]))) < ((((1) * (item ((i0) + (1)) of [props v])) + (scrollx)) * (zoom))> then\n        if <((((1) * (item ((i0) + (1)) of [props v])) + (scrollx)) * (zoom)) < ((240) + ((blocksize) * (item ((i0) + (5)) of [props v])))> then\n            if <((-180) - ((blocksize) * (item ((i0) + (6)) of [props v]))) < ((((1) * (item ((i0) + (2)) of [props v])) + (scrolly)) * (zoom))> then\n                if <((((1) * (item ((i0) + (2)) of [props v])) + (scrolly)) * (zoom)) < ((180) + ((blocksize) * (item ((i0) + (6)) of [props v])))> then\n                    stamp\n                end\n            end\n        end\n    end\n    if <(item ((i0) + (4)) of [props v]) = [d]> then\n        set [i1 v] to [0]\n        repeat ((length of [bullets v]) / (length of [bullets_ref v]))\n            if <[p] = (item ((i1) + (10)) of [bullets v])> then\n                if <(item ((i1) + (1)) of [bullets v]) > ((item ((i0) + (1)) of [props v]) - (blocksize))> then\n                    if <(item ((i1) + (2)) of [bullets v]) > ((item ((i0) + (2)) of [props v]) - (blocksize))> then\n                        if <((item ((i0) + (1)) of [props v]) + ((blocksize) * (item ((i0) + (5)) of [props v]))) > (item ((i1) + (1)) of [bullets v])> then\n                            if <((item ((i0) + (2)) of [props v]) + ((blocksize) * (item ((i0) + (6)) of [props v]))) > (item ((i1) + (2)) of [bullets v])> then\n                        end\n                    end\n                end\n            end\n            change [i1 v] by (length of [bullets_ref v])\n        end\n    end\n    if <<not <(item ((i0) + (4)) of [props v]) = [0]>> and <not <(item ((i0) + (4)) of [props v]) = [d]>>> then\n        if <((length of [enemies v]) / (length of [enemies_ref v])) < (item ((i0) + (4)) of [props v])> then\n            repeat (10)\n                addParticle c: (item ((i0) + (3)) of [props v]) (item ((i0) + (1)) of [props v]) (item ((i0) + (2)) of [props v]) - (pick random (-3) to (3)) (pick random (-3) to (3)) -spdm [0.9] -s [40] [0] -l [15] r (pick random (0) to (360)) (pick random (-5) to (5)) eff [0] [0]\n            end\n            repeat (length of [props_ref v])\n                delete ((i0) + (1)) of [props v]\n            end\n            change [i0 v] by (() - (length of [props_ref v]))\n        end\n    end\n    change [i0 v] by (length of [props_ref v])\nend\npoint in direction (90)\n\nstamp\n\nsetLevels (level)\n\ndefine addExplosive (x) (y)\nadd (x) to [exp v]\nadd (y) to [exp v]\n\ndefine update_explosives\nset [i0 v] to [0]\nrepeat ((length of [exp v]) / (length of [exp_ref v]))\n    go to x: ((((blocksize) * (item ((i0) + (1)) of [exp v])) + (scrollx)) * (zoom)) y: ((((blocksize) * (item ((i0) + (2)) of [exp v])) + (scrolly)) * (zoom))\n    switch costume to (tnt1 v)\n    set size to ((100) * (zoom)) %\n    if <((-240) - ((blocksize) * (1))) < ((((blocksize) * (item ((i0) + (1)) of [exp v])) + (scrollx)) * (zoom))> then\n        if <((((blocksize) * (item ((i0) + (1)) of [exp v])) + (scrollx)) * (zoom)) < ((240) + ((blocksize) * (1)))> then\n            if <((-180) - ((blocksize) * (1))) < ((((blocksize) * (item ((i0) + (2)) of [exp v])) + (scrolly)) * (zoom))> then\n                if <((((blocksize) * (item ((i0) + (2)) of [exp v])) + (scrolly)) * (zoom)) < ((180) + ((blocksize) * (1)))> then\n                    stamp\n                end\n            end\n        end\n    end\n    change [i0 v] by (length of [exp_ref v])\nend\n\nrepeat (length of [bullets_ref v])\n    delete ((i1) + (1)) of [bullets v]\nend\nrepeat (length of [props_ref v])\n    delete ((i0) + (1)) of [props v]\nend\nchange [i0 v] by (() - (length of [props_ref v]))\n\nrepeat (length of [props_ref v])\n    delete ((i0) + (1)) of [props v]\nend\nchange [i0 v] by (() - (length of [props_ref v]))\n\ngetAngle (item ((i0) + (1)) of [enemies v]) (item ((i0) + (2)) of [enemies v]) from (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v])\nrepeat ((item ((i1) + (7)) of [bullets v]) / (20))\n    addParticle c: [exp2] (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v]) - (pick random (-7) to (7)) (pick random (-7) to (7)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\nend\nrepeat ((item ((i1) + (7)) of [bullets v]) / (20))\n    addParticle c: [exp1] (item ((i1) + (1)) of [bullets v]) (item ((i1) + (2)) of [bullets v]) - (pick random (-5) to (5)) (pick random (-5) to (5)) -spdm [0.9] -s [100] [0] -l [25] r [0] [5] eff (pick random (1) to (10)) [0]\nend\nrepeat (length of [bullets_ref v])\n    delete ((i1) + (1)) of [bullets v]\nend\n\ndefine main menu (slectedlevel)\nset [selectedlevel v] to (slectedlevel)\nset [menupage v] to [0]\nset [menubuttonpressed v] to [-1]\nset [exitmenu v] to [0]\nrepeat until <(exitMenu) = [1]>\n    erase all\n    text: [floppy bird] x,y [-200] [140] size: [4] colorRGB: [0] [0] [0] thickness: [3] spacing [0] ww [250]\n    set size to (100) %\n    go to x: (215) y: (0)\n    switch costume to (nextpage v)\n    if <(i2) < ((1) + (#levelCount))> then\n        if <touching (mouse-pointer v)?> then\n            set size to (110) %\n            if <mouse down?> then\n                set [menubuttonpressed v] to [2]\n            end\n            if <not <mouse down?>> then\n                if <(menuButtonPressed) = [2]> then\n                    set [menubuttonpressed v] to [0]\n                    change [menupage v] by (1)\n                end\n            end\n        end\n        if <not <touching (mouse-pointer v)?>> then\n            if <(menuButtonPressed) = [2]> then\n                set [menubuttonpressed v] to [0]\n            end\n        end\n        stamp\n    end\n    go to x: (-215) y: (0)\n    switch costume to (previouspage v)\n    if <touching (mouse-pointer v)?> then\n        set size to (110) %\n        if <mouse down?> then\n            set [menubuttonpressed v] to [1]\n        end\n        if <not <mouse down?>> then\n            if <(menuButtonPressed) = [1]> then\n                set [menubuttonpressed v] to [0]\n                if <not <(menuPage) = [0]>> then\n                    change [menupage v] by (-1)\n                end\n            end\n        end\n    end\n    if <not <(menuPage) = [0]>> then\n        stamp\n    end\n    if <not <touching (mouse-pointer v)?>> then\n        if <(menuButtonPressed) = [1]> then\n            set [menubuttonpressed v] to [0]\n        end\n    end\n    if <not <(selectedLevel) = [-1]>> then\n        go to x: (150) y: (-150)\n        switch costume to (nextpage v)\n        set size to (100) %\n        if <touching (mouse-pointer v)?> then\n            set size to (110) %\n            if <mouse down?> then\n                set [level v] to (selectedLevel)\n                set [exitmenu v] to [1]\n            end\n        end\n        stamp\n    end\n    displayLevelNames\n    if <not <(selectedLevel) = [-1]>> then\n        text: (join [level ] (selectedLevel)) x,y [-200] [-145] size: [2.8] colorRGB: [0] [0] [0] thickness: [2] spacing [0] ww [250]\n        text: (item (selectedLevel) of [leveltimes v]) x,y [-200] [-170] size: [2.8] colorRGB: [0] [0] [0] thickness: [2] spacing [0] ww [250]\n    end\n    levelTimeCounter\nend\nset [leveltime v] to (timer)\n\ndefine displayLevelNames\nset [i0 v] to [-130]\ngo to x: (0) y: (0)\nclear graphic effects\nset size to (100) %\nswitch costume to (button1 v)\ngo to x: (-160) y: (10)\nset [i1 v] to [25]\nset [i2 v] to (((menuPage) * (8)) + (1))\nset [touchingbutton v] to [-1]\nrepeat (8)\n    if <(i2) < ((#levelCount) + (1))> then\n        go to x: (i0) y: (i1)\n        set [color v] effect to (0)\n        if <touching (mouse-pointer v)?> then\n            set [color v] effect to (-10)\n            set [touchingbutton v] to (i2)\n            if <mouse down?> then\n                set [selectedlevel v] to (i2)\n            end\n        end\n        if <(selectedLevel) = (i2)> then\n            change [color v] effect by (25)\n        end\n        stamp\n        text: (i2) x,y ((i0) - ((0) + ((5) * (length of (i2))))) ((i1) - (5)) size: [2] colorRGB: [0] [0] [0] thickness: [1] spacing [0] ww [250]\n        change x by (70)\n        change [i0 v] by (88)\n        if <(i0) > [180]> then\n            set [i0 v] to [-130]\n            change [i1 v] by (-70)\n        end\n    end\n    change [i2 v] by (1)\nend\nif <mouse down?> then\n    if <(menuButtonPressed) = [-1]> then\n        if <(touchingButton) = [-1]> then\n            set [selectedlevel v] to [-1]\n        end\n    end\nend\n\ndefine playerExplosion\nrepeat (5)\n    addParticle c: [feather1] (playerx) (playery) - (pick random (-5) to (5)) (pick random (-5) to (5)) -spdm [0.9] -s [100] [0] -l [25] r (pick random (0) to (360)) (pick random (-10) to (10)) eff [0] [0]\nend\n\nreplace item ((i0) + (3)) of [enemies v] with [0]\nreplace item ((i0) + (4)) of [enemies v] with [0]\n\naddSceneGun [3] ((0) * (blocksize)) ((2) * (blocksize))\n\ndefine level editor\nset [exitmenu v] to [0]\ninitGame\nset [scrollx v] to [0]\nset [scrolly v] to [100]\nset [level_editor_mode v] to [0]\nset [level_editor_type v] to [1]\nset [buttonpressed v] to [0]\nrepeat until <(exitMenu) = [1]>\n    erase all\n    set [scrollx v] to (truescrollx)\n    set [scrollx v] to (truescrolly)\n    drawLevelEditorGrid\n    updateBlocks\n    updateProps\n    update_guns\n    update_explosives\n    set pen color to (#00ffa8)\n    set [my v] to (((mouse y) / (zoom)) + ((0) - (truescrolly)))\n    set [mx v] to (((mouse x) / (zoom)) + ((0) - (truescrollx)))\n    set size to ((100) * (zoom)) %\n    switch costume to (level_editor_type)\n    go to x: ((zoom) * ((truescrollx) + ((blocksize) * (round ((mx) / (blocksize)))))) y: ((zoom) * ((truescrolly) + ((blocksize) * (round ((my) / (blocksize))))))\n    stamp\n    if <mouse down?> then\n        if <[-100] < (mouse y)> then\n            set [buttonpressed v] to [1]\n        end\n    end\n    if <not <mouse down?>> then\n        if <(buttonPressed) = [1]> then\n            addLvlBlock (round ((mx) / (blocksize))) (round ((my) / (blocksize))) - (level_editor_type) - []\n            set [buttonpressed v] to [0]\n        end\n    end\nend\n\ndefine drawLevelEditorGrid\n\nset [i0 v] to ((-240) + ((((truescrollx) mod (blocksize)) * (zoom)) / (1)))\nset pen size to (2)\nset pen color to (#848484)\nrepeat ((500) / ((blocksize) * (zoom)))\n    go to x: (i0) y: (-190)\n    pen down\n    go to x: (i0) y: (190)\n    pen up\n    change [i0 v] by ((blocksize) * (zoom))\nend\nset [i0 v] to (((-180) - ()) + ((((truescrolly) mod (blocksize)) * (zoom)) / (1)))\nrepeat ((400) / ((blocksize) * (zoom)))\n    go to x: (-240) y: (i0)\n    pen down\n    go to x: (240) y: (i0)\n    pen up\n    change [i0 v] by ((blocksize) * (zoom))\nend\n\ndefine square (x) (y) (w) (h)\ngo to x: ((x) - ((w) / (2))) y: ((y) - ((h) / (2)))\npen down\ngo to x: ((x) - ((w) / (2))) y: ((y) - ((h) / (-2)))\ngo to x: ((x) - ((w) / (-2))) y: ((y) - ((h) / (-2)))\ngo to x: ((x) - ((w) / (-2))) y: ((y) - ((h) / (2)))\ngo to x: ((x) - ((w) / (2))) y: ((y) - ((h) / (2)))\npen up\n\nsquare [0] [0] ((blocksize) * (zoom)) ((blocksize) * (zoom))\n\naddLvlBlock (1) [0] - [1] - []\n\ndefine __ref__\n\ndefine intro (u)\nif <not <(u) = [josephjustin]>> then\n    set [my variable v] to [200]\n    set [extravar v] to [200]\n    repeat (7)\n        erase all\n        set pen color to (#c347e3)\n        drawLogo [0] [0] size: [25] rad: (((my variable) / (2)) + (100)) angle_change [0] [0] [0] com: [360] [360] [360] tpy [] br ((100) - ((my variable) / (2)))\n        change [my variable v] by (-15)\n    end\n    repeat (5)\n        erase all\n        go to x: (0) y: (0)\n        set pen color to (#5f5f5f)\n        set pen size to (extraVar)\n        set pen (transparency v) to ((300) - (extraVar))\n        pen down\n        pen up\n        set pen color to (#ff0000)\n        drawLogo [0] [0] size: [25] rad: (((my variable) / (2)) + (100)) angle_change [0] [0] [0] com: [360] [360] [360] tpy [] br ((100) - ((my variable) / (2)))\n        change [extravar v] by (((300) - (extraVar)) / (3))\n        change [my variable v] by (-20)\n    end\n    set [my variable v] to (extraVar)\n    repeat (10)\n        erase all\n        go to x: (0) y: (0)\n        set pen color to (#5f5f5f)\n        set pen size to (my variable)\n        set pen (transparency v) to ((300) - (my variable))\n        pen down\n        pen up\n        set pen color to (#ff0000)\n        drawLogo [0] [0] size: [25] rad: [100] angle_change [0] [0] [0] com: [360] [360] [360] tpy [] br [100]\n        change [my variable v] by (((300) - (my variable)) / (3))\n    end\n    repeat (10)\n        erase all\n        go to x: (0) y: (0)\n        set pen color to (#5f5f5f)\n        set pen size to (my variable)\n        pen down\n        pen up\n        set pen color to (#ff0000)\n        drawLogo [0] [0] size: [25] rad: [100] angle_change [0] [0] [0] com: [360] [360] [360] tpy [] br [100]\n    end\n    set [my variable v] to [0]\n    repeat (30)\n        erase all\n        go to x: (0) y: (0)\n        set pen color to (#5f5f5f)\n        set pen size to (300)\n        pen down\n        pen up\n        set pen color to (#ff0000)\n        drawLogo [0] [0] size: [25] rad: [100] angle_change [0] [0] [0] com: [360] [360] [360] tpy [] br [100]\n        set pen size to (3)\n        circle [0] [0] - [150] - ((-90) - ((my variable) / (2))) (my variable)\n        change [my variable v] by (12)\n    end\n    set [extravar v] to [100]\n    repeat (10)\n        erase all\n        go to x: (0) y: (0)\n        set pen color to (#5f5f5f)\n        set pen size to ((300) + ((100) - (extraVar)))\n        set pen (brightness v) to ((extraVar) / (2.7))\n        pen down\n        pen up\n        set pen color to (#ff0000)\n        drawLogo [0] [0] size: [25] rad: [100] angle_change [0] [0] [0] com: [360] [360] [360] tpy [] br (extraVar)\n        set pen size to (3)\n        set pen (brightness v) to (extraVar)\n        circle [0] [0] - [150] - [] [360]\n        change [extravar v] by (-11)\n    end\n    set [##play v] to [1]\nend\n\ndefine drawLogo (x) (y) size: (s) rad: (r) angle_change (1) (2) (3) com: (1) (2) (3) tpy (tpy) br (br)\npen up\nset pen size to (s)\nset pen (color v) to (56)\nset [angle v] to (1)\ngo to x: (((r) * ([sin v] of (angle) )) + (x)) y: (((r) * ([cos v] of (angle) )) + (y))\nset pen (transparency v) to (tpy)\nset pen (brightness v) to (br)\npen down\nrepeat (((320) / (360)) * (1))\n    go to x: (((r) * ([sin v] of (angle) )) + (x)) y: (((r) * ([cos v] of (angle) )) + (y))\n    change [angle v] by (1)\nend\nset [angle v] to [320]\npen up\nchange [angle v] by (2)\ngo to x: ((((r) * (0.6)) * ([sin v] of (angle) )) + (x)) y: ((((r) * (0.6)) * ([cos v] of (angle) )) + (y))\nset pen (transparency v) to (tpy)\nset pen (brightness v) to (br)\npen down\nrepeat (((250) / (360)) * (2))\n    go to x: ((((r) * (0.6)) * ([sin v] of (angle) )) + (x)) y: ((((r) * (0.6)) * ([cos v] of (angle) )) + (y))\n    change [angle v] by (1)\nend\nset [angle v] to [570]\npen up\nchange [angle v] by (3)\ngo to x: ((((r) * (0.2)) * ([sin v] of (angle) )) + (x)) y: ((((r) * (0.2)) * ([cos v] of (angle) )) + (y))\nset pen (transparency v) to (tpy)\nset pen (brightness v) to (br)\npen down\nrepeat (((150) / (360)) * (3))\n    go to x: ((((r) * (0.2)) * ([sin v] of (angle) )) + (x)) y: ((((r) * (0.2)) * ([cos v] of (angle) )) + (y))\n    change [angle v] by (1)\nend\npen up\n\ndefine circle (x) (y) - (rad) - (an) (com)\nset [angle v] to (an)\ngo to x: (((rad) * ([cos v] of (angle) )) + (x)) y: (((rad) * ([sin v] of (angle) )) + (y))\npen down\nrepeat ((com) / (2))\n    go to x: ((((rad) * (1)) * ([cos v] of (angle) )) + (x)) y: ((((rad) * (1)) * ([sin v] of (angle) )) + (y))\n    change [angle v] by (2)\nend\npen up\n\ndefine levelTimeCounter\nset [totaltime v] to [0]\nset [i3 v] to [0]\nif <not <[leveltimes v] contains [--]?>> then\n    repeat (length of [leveltimes v])\n        change [i3 v] by (1)\n        change [totaltime v] by (item (i3) of [leveltimes v])\n    end\n    text: (join [total time:] (totalTime)) x,y [-200] [110] size: [2] colorRGB: [0] [0] [0] thickness: [2] spacing [0] ww [250]\n    if <(totalTime) < (☁ FloppyBird:World_Record)> then\n        set [☁ floppybird:world_record v] to (totalTime)\n    end\n    if <(totalTime) = (☁ FloppyBird:World_Record)> then\n        text: [world record!] x,y [-200] [93] size: [1.8] colorRGB: [0] [0] [0] thickness: [1.7] spacing [0] ww [250]\n    else\n        text: (join [world record:] (☁ FloppyBird:World_Record)) x,y [-200] [93] size: [1.8] colorRGB: [0] [0] [0] thickness: [1.7] spacing [0] ww [250]\n    end\nelse\n    text: (join [world record:] (☁ FloppyBird:World_Record)) x,y [-200] [110] size: [1.8] colorRGB: [0] [0] [0] thickness: [1.7] spacing [0] ww [250]\n    text: [you can set world record only if you] x,y [-200] [93] size: [1.8] colorRGB: [0] [0] [0] thickness: [1.7] spacing [0] ww [250]\n    text: [complete all levels] x,y [-200] [80] size: [1.8] colorRGB: [0] [0] [0] thickness: [1.7] spacing [0] ww [250]\nend\n\nset [1 v] to [-2]\nrepeat (5)\n    addprop (1) [0] c [9] des [d] size [1] [1]\n    change [1 v] by (1)\nend\nset [1 v] to [-2]\nrepeat (5)\n    addprop (1) [6] c [9] des [d] size [1] [1]\n    change [1 v] by (1)\nend\n\nrepeat (5)\n    addprop (1) [11] c [9] des [d] size [1] [1]\n    change [1 v] by (1)\nend\n\nset [1 v] to [13]\nrepeat (6)\n    addLvlBlock (1) [12] - [6] - []\n    change [1 v] by (1)\nend\nset [1 v] to [20]\nrepeat (3)\n    addLvlBlock (1) [12] - [6] - []\n    change [1 v] by (1)\nend\nset [1 v] to [27]\nrepeat (10)\n    addprop (1) [12] c [9] des [d] size [1] [1]\n    change [1 v] by (1)\nend\naddLvlBlock [29] [12] - [1] - []\naddEnemy ((29) * (blocksize)) ((13) * (blocksize)) -g [5] [60] -spd [0] h [35]\nset [1 v] to [30]\nrepeat (5)\n    addprop (1) [17] c [9] des [d] size [1] [1]\n    change [1 v] by (1)\nend\naddprop [36] [23] c [9] des [d] size [1] [1]\naddprop [39] [29] c [9] des [d] size [1] [1]\naddprop [42] [35] c [9] des [d] size [1] [1]\naddprop [43] [35] c [9] des [d] size [1] [1]\n\nset [1 v] to [12]\n\ndefine levl13\nset [1 v] to [-5]\nrepeat (10)\n    addLvlBlock (1) [0] - [1] - []\n    change [1 v] by (1)\nend\nset [1 v] to [1]\nrepeat (10)\n    addprop [-4] (1) c [7] des [1] size [1] [1]\n    change [1 v] by (1)\nend\naddLvlBlock [8] [1] - [1] - []\naddSceneGun [5] ((8) * (blocksize)) ((2) * (blocksize))\naddEnemy ((-2.5) * (blocksize)) ((2) * (blocksize)) -g [5] [60] -spd [0] h [100]\naddLvlBlock [11] [3] - [1] - []\naddLvlBlock [-5] [1] - [3] - []\n\ndefine lvl14\naddLvlBlock [0] [-1] - [1] - []\naddLvlBlock [3] [1] - [1] - []\naddLvlBlock [5] [1] - [1] - []\naddLvlBlock [5] [2] - [6] - []\naddLvlBlock [8] [1] - [1] - []\naddLvlBlock [9] [1] - [1] - []\naddLvlBlock [9] [2] - [6] - []\naddLvlBlock [7] [1] - [1] - []\naddLvlBlock [7] [2] - [6] - []\naddLvlBlock [12] [2] - [1] - []\naddLvlBlock [12] [3] - [6] - []\naddLvlBlock [13] [2] - [1] - []\naddSceneGun [3] ((15) * (blocksize)) ((5) * (blocksize))\naddprop [15] [4] c [9] des [d] size [1] [1]\naddprop [16] [10] c [9] des [d] size [1] [1]\naddLvlBlock [18] [10] - [1] - []\naddEnemy ((18) * (blocksize)) ((11) * (blocksize)) -g [4] [15] -spd [0] h [40]\naddprop [20] [17] c [9] des [d] size [1] [1]\naddLvlBlock [21] [17] - [1] - []\naddLvlBlock [21] [18] - [6] - []\naddLvlBlock [23] [17] - [1] - []\naddLvlBlock [23] [18] - [6] - []\naddLvlBlock [22] [17] - [1] - []\naddLvlBlock [25] [18] - [1] - []\naddLvlBlock [28] [24] - [1] - []\naddLvlBlock [29] [24] - [1] - []\naddLvlBlock [29] [25] - [6] - []\naddLvlBlock [35] [25] - [1] - []\naddLvlBlock [37] [31] - [1] - []\naddLvlBlock [38] [31] - [1] - []\naddLvlBlock [39] [31] - [1] - []\naddLvlBlock [40] [31] - [1] - []\naddLvlBlock [38] [32] - [6] - []\naddLvlBlock [39] [32] - [6] - []\nset [1 v] to [41]\nrepeat (10)\n    addLvlBlock (1) [33] - [1] - []\n    change [1 v] by (1)\nend\nset [1 v] to [43]\nrepeat (5)\n    addLvlBlock (1) [34] - [6] - []\n    change [1 v] by (1)\nend\naddLvlBlock [49] [34] - [6] - []\naddLvlBlock [52] [39] - [1] - []\naddLvlBlock [53] [39] - [1] - []\naddLvlBlock [53] [40] - [6] - []\naddLvlBlock [51] [39] - [1] - []\naddLvlBlock [47] [41] - [1] - []\naddEnemy ((47) * (blocksize)) ((42) * (blocksize)) -g [4] [10] -spd [0] h [5]\nset [1 v] to [39]\nrepeat (20)\n    addprop (1) [44] c [7] des [1] size [1] [1]\n    change [1 v] by (1)\nend\naddLvlBlock [50] [46] - [1] - []\naddLvlBlock [50] [47] - [3] - []\n\ndefine lvl15\n\ndefine gameIntro\nshow\nset size to (100) %\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nswitch costume to (intro2 v)\nrepeat (30)\n    change [ghost v] effect by (-3.33)\nend\nhide\nrepeat until <mouse down?>\n    erase all\n    go to x: (0) y: (0)\n    stamp\n    text: [one day, when floppy was ] x,y [-220] [-120] size: [3] colorRGB: [0] [0] [0] thickness: [3] spacing [0] ww [250]\n    text: [chilling on the sofa,] x,y [-220] [-145] size: [3] colorRGB: [0] [0] [0] thickness: [3] spacing [0] ww [250]\n    text: [click] x,y [-35] [-170] size: [2] colorRGB: [0] [0] [0] thickness: [2] spacing [0] ww [250]\nend\nwait until <not <mouse down?>>\nshow\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nswitch costume to (intro2 v)\nrepeat (30)\n    change [ghost v] effect by (-3.33)\nend\nhide\nrepeat until <mouse down?>\n    erase all\n    go to x: (0) y: (0)\n    stamp\n    text: [he realised that he was all] x,y [-220] [-120] size: [3] colorRGB: [0] [0] [0] thickness: [3] spacing [0] ww [250]\n    text: [out of candy] x,y [-220] [-145] size: [3] colorRGB: [0] [0] [0] thickness: [3] spacing [0] ww [250]\n    text: [click] x,y [-35] [-170] size: [2] colorRGB: [0] [0] [0] thickness: [2] spacing [0] ww [250]\nend\nwait until <not <mouse down?>>\nshow\ngo to x: (0) y: (0)\nset [ghost v] effect to (100)\nswitch costume to (intro3 v)\nrepeat (30)\n    change [ghost v] effect by (-3.33)\nend\nhide\nrepeat until <mouse down?>\n    erase all\n    go to x: (0) y: (0)\n    stamp\n    text: [so he loaded his gun and] x,y [-220] [-120] size: [3] colorRGB: [0] [0] [0] thickness: [3] spacing [0] ww [250]\n    text: [got ready for action] x,y [-220] [-145] size: [3] colorRGB: [0] [0] [0] thickness: [3] spacing [0] ww [250]\n    text: [click] x,y [-35] [-170] size: [2] colorRGB: [0] [0] [0] thickness: [2] spacing [0] ww [250]\nend\nwait until <not <mouse down?>>\n\nshow\ngo to x: (0) y: (0)\nclear graphic effects\nswitch costume to (thumb v)\nwait (1) seconds\nhide\n\n@Thumbnail\n\nwhen flag clicked\ngo to x: (0) y: (0)\nset size to (100) %\nset [ghost v] effect to (100)\n\n
One day, floppy was chiling on the sofa. That's when he realized he was all out of candy.\nSo he loads his gun and decides to go on an adventure to find candy.\nClick to progress through the game intro.\nInstructions in level 1\n\nHappy speedrunning!\n\n\n\n\n