extensions [sound bitmap] globals [player beam-target boss g0 g1 g2 g3 g4 g5 g6 g7 g8 g9 g10 g11 g12 g13 g14 g15 g16 g17 g18 g19 g20 bulletkillers all-reflectors reflectors score-memory score bonus-score time-left bonus-decreaser pattern-results pattern-amount spirits-attracted next-spirit stun-timer stuns pattern-balance faster game-rate sound-data sparker flicker new-target max-orb-speed relocate closer target-location targets motivation-bar pattern-bonus glyphs replay replay. input-replay start-replay watching-replay stop-game pattern difficulty delete-list shooter-list timer. redraw-all frames-drawn fps-turtle backgrounds current-background observertasks bordercheck regain-self end-pattern-condition mouse-state lazers active-lazers sound-state ticker] breed [shooters shooter] breed [a0s a0] breed [a1s a1] breed [bbullets bbullet] breed [bullets bullet] breed [a2s a2] breed [sparks spark] breed [ws w] breed [a3s a3] bullets-own [speed turn grazeable hitbox bottom clearable? b0 b1 b2 b3 b4 b5] shooters-own [speed turn grazeable hitbox bottom clearable? b0 b1 b2 b3 b4 b5] bbullets-own [top] a0s-own [action v0 v1 v2 v3 v4 v5 v6 v7 v8 v9] a1s-own [action v0 v1 v2 v3 v4 v5 v6 v7 v8 v9] a2s-own [action v0 v1 v2 v3 v4 v5 v6 v7 v8 v9] a3s-own [action v0 v1 v2 v3 v4 v5 v6 v7 v8 v9] sparks-own [v0 v1 v2 v3 v4 v5 v6 v7 v8 v9] patches-own [p0 p1 p2 p3 p4] links-own [l0 l1 l2 l3 l4 l5 l6 l7 l8 l9] to-report restrict-to-range [input min. max.] ifelse input > max. [report max.] [if input < min. [report min.]] report input end to-report rfr [input] report random-float input - random-float input end to startup set sound-state 1 setup [] end to ca-save-data no-display let data (list backgrounds sound-state replay.) ca reset-ticks set backgrounds item 0 data set sound-state item 1 data ifelse not is-number? item 2 data [output-write item 2 data] [output-type "P: play/pause ### R: restart game ### white empty area around the game: click if buttons cant be pressed ### mouse: movement ### left mouse button: stop shooting/counter stun/wave flower ### damage effectiveness depends on distance to orb ### D: refresh display ### S: toggle sound ### F: speed up replay ### H: edit replay ### J: toggle frameskipping(default ON each time game is restarted, must use when slowing down the game using the slider)" ] end to setup [replay-input] sound:stop-music ca-save-data setup-backgrounds set difficulty -1 set input-replay replay-input ifelse empty? input-replay [difficulty-choosing let seed new-seed random-seed seed set replay (list [] seed)] [random-seed item 1 input-replay set watching-replay 1 set replay (list [] item 1 input-replay) set difficulty last input-replay] clear-output ask patch 7 5 [set plabel ""] set sound-data [] set delete-list [] set target-location [7.5 10.5 0 0] set shooter-list [] set observertasks [] set lazers [] set active-lazers [] set pattern-results [] set player-immune true set game-rate 1 set-default-shape sparks "bulletcancel" set flicker map [replace-item 3 [255 255 150 0] (? * 1.5)] [4 6 8 10 12 14 16 18 20 4 8 12 16 20 18 16 14 12 10 8 6 4 20 16 14 10 6 20 18 16 14 12 10 8 6 4] set targets (list no-turtles) ;"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!\"#$%&'()*+,-./:;<=>?@]^_`{|}~ " set glyphs ["A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z" "a" "b" "c" "d" "e" "f" "g" "h" "i" "j" "k" "l" "m" "n" "o" "p" "q" "r" "s" "t" "u" "v" "w" "x" "y" "z" "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "!" "\"" "#" "$" "%" "&" "'" "(" ")" "*" "+" "," "-" "." "/" ":" ";" "<" "=" ">" "?" "@" "]" "^" "_" "`" "{" "|" "}" "~"] make-player make-sparker make-bulletkillers make-wall make-reflectors make-boss make-statistics ask boss [start-new-pattern] background-and-stats end to start-replaying carefully [set input-replay read-from-string user-input "Insert replay:" if is-list? input-replay and length input-replay = 5 [set start-replay 1]] [] end to make-player create-a3s 1 [set player self set color 13 setxy 7.5 1.5 let fairy-body 0 let fairy-wings [] hatch-a1s 1 [set v0 0 set shape "fairy-bubble" set size 2 set heading 180 set color [130 30 30 80] ask player[set v3 myself] set action task [bubble:wiggle]] hatch-a1s 1 [set shape "fairyflower2" set size 1.5 set heading 0 set color 0 set action task [flower-action]] hatch-a1s 1 [set shape "fairy_normal_body" set size 1.5 set heading 0 set color 0 set action task [body-movement] set fairy-body self] hatch-a1s 1 [set shape "fairy_normal_head" set size 1.5 set heading 0 set color 0 set action task [head-movement]] hatch-a1s 1 [set shape "ltop-fairy-wing" set size 1.5 set heading 0 set color [255 255 255 170] set v0 3 set v1 [-18 -9 -3 0 3 9 18] set fairy-wings fput self fairy-wings] hatch-a1s 1 [set shape "rtop-fairy-wing" set size 1.5 set heading 0 set color [255 255 255 170] set v0 3 set v1 [18 9 3 0 -3 -9 -18] set fairy-wings fput self fairy-wings] ask fairy-body [set v2 (turtle-set fairy-wings)] set v5 .25;max movement speed set v7 0;demotivating spark amount holder ] end to bubble:wiggle move-to player set heading ifelse-value (heading = 180)[170][180] end to bubble:wither if size < 2 [set v0 0 set size 2 set color replace-item 3 color 80] move-to player set v0 v0 + 1 set color replace-item 3 color (item 3 color - 5) set size size + .12 if v0 = 16 [ht set size 0 set v0 0 set color replace-item 3 color 0 set action task [bubble:wiggle]] end to bubble:reappear if size > 2 [set size 0 set v0 0 set color replace-item 3 color 0] move-to player st set v0 v0 + 1 set color replace-item 3 color (item 3 color + 8) set size size + .2 if v0 = 10 [set v0 0 set size 2 set color replace-item 3 color 80 set action task [bubble:wiggle]] end to difficulty-choosing (foreach [0 1 2 3 4][42 23.9 103.9 3 52]["Midday" "Dusk" "Dawn" "Night" "Memories"] [ask patch max-pxcor (8 - ?1) [set plabel-color ?2 set plabel ?3] if ?1 < 4 [ask patch (13.5 - sqrt(?1 ^ 3)) (8 - ?1) [sprout-bullets 1 [bstats item ?1 [5 10 4 2] item ?1 [87 [30 230 30 170] 15 9.9] 0 0 0 if ?1 = 3 [bbottom 2 [230 30 230 100] ask bottom [stamp die]] stamp die]]]]) ask patches [set pcolor [180 180 180]] display while [mouse-down?][] while [difficulty = -1] [let target patch mouse-ycor mouse-ycor if [pycor] of target <= 8 and [pycor] of target >= 4 [ask patches [set pcolor [180 180 180]] let prow-color item (8 - [pycor] of target)[48 21.9 101.9 0 55] ask __patchrow [pycor] of target [set pcolor prow-color] display if mouse-down? [set difficulty position [pcolor] of target [48 21.9 101.9 0 55] if difficulty = 4 [start-replaying ifelse start-replay = 0 [set difficulty -1] [random-seed item 1 input-replay set watching-replay 1 set replay (list [] 0) set difficulty last input-replay]]]]] ask patches [set pcolor 0 set plabel ""] cd end to run-observertasks foreach observertasks [run ?] set observertasks [] end to setup-backgrounds if backgrounds = 0 [ask patch max-pxcor min-pycor[set plabel "Please watch warmly until it is ready."] display ask patch max-pxcor min-pycor[set plabel ""] no-display let darkness bitmap:from-view set backgrounds (list n-values 4 [darkness]) ask patches [set pcolor 51.5] crt 1 [let yy 15 repeat 15 [repeat 200 + (80 * yy) [set heading random-float 30 - random-float 30 setxy (1 + random-float 14) (yy - random-float 1) set shape ifelse-value (random 10 = 0)["straw"]["grass"] set size 1.65 - ycor / 10 set color 52 + random-float (6 - ycor / 2.5) if shape = "straw" [set size size * 2 set color 71 + 0.3 * random-float (6 - ycor / 2.5)] set color lput ifelse-value (shape = "grass")[100][170] extract-rgb color stamp] set yy yy - 1] ht] ask patches [sprout 1 [set shape "milieu"]] let new-background-element [] foreach [[0 0 0 50][60 20 0 120][0 0 75 100][0 0 0 180]] [ask turtles [set color ?] set new-background-element lput bitmap:from-view new-background-element] set backgrounds fput new-background-element backgrounds ct crt 1 ask turtle 0 [st set shape "flower" let yy 15 repeat 15 [repeat 3 + (2 * yy) ^ 1.5 [set heading random-float 30 - random-float 30 setxy (1 + random-float 14) (yy - random-float 1) set size 1.65 - ycor / 10 set color 139.9 - random-float (ycor / 5) set color lput 180 extract-rgb color hatch 1;stamp ] set yy yy - 1] die] set new-background-element [] foreach item 0 backgrounds;[[0 0 0 50][60 20 0 120][0 0 75 100][0 0 0 180]];[[0 0 0 50][120 40 0 60][0 0 150 50][0 0 0 180]] [;ask turtles [set color ?] cd bitmap:copy-to-drawing ? 0 0 set new-background-element lput bitmap:from-view new-background-element] set backgrounds lput new-background-element backgrounds cd ct ask patches [set pcolor 0] ] end to body-movement ;v0 heading-effect counter ;v1 heading difference ifelse abs ([xcor] of player - xcor) > 0.07 [ifelse v0 = 3 [set v1 restrict-to-range (v1 + 2 * ([xcor] of player - xcor) / abs ([xcor] of player - xcor)) -10 10] [set v0 v0 + 1]] [set v0 0 if v1 != 0 [set v1 v1 - (v1 / abs v1)]] set heading 0 + v1 ask v2 [move-to player set heading 0 + [heading] of myself + ifelse-value (stun-timer = 0)[item v0 v1][0] set xcor xcor + 0.2 * sin [heading] of myself set v0 v0 + 1 if v0 = length v1 [set v0 0 if stun-timer = 0 [sound:stop-instrument "ENGLISH HORN" sound [1 "ENGLISH HORN" 15 100 0.1]]] ] move-to player end to head-movement ifelse abs (xcor - [xcor] of player) > 0.07 [ifelse v0 = 3 [set v1 restrict-to-range (v1 + 2 * (xcor - [xcor] of player) / abs (xcor - [xcor] of player)) -10 10] [set v0 v0 + 1]] [set v0 0 if v1 != 0 [set v1 v1 - (v1 / abs v1)]] set heading 0 + v1 move-to player end to orb-above [above?] ifelse above? [ask v2 [let shapeholder shape set breed a2s set shape shapeholder]] [ask v2 [let shapeholder shape set breed a0s set shape shapeholder]] end to make-boss ;bitmap:copy-to-drawing item 0 backgrounds 0 0 ;set current-background 1 create-a0s 1 [setxy 15 16 set boss self addtarget self let v2. [] hatch-a0s 1 [set shape "lightball" set size 2 set color [230 230 180 50] set v0 30 set v2. fput self v2.] hatch-a0s 1 [set shape "lightball" set size 1.5 set color [230 230 80 90] set v0 -45 set v2. fput self v2.] hatch-a0s 1 [set shape "lightball" set size 1 set color [255 255 0 180] set v0 -30 set v2. fput self v2.] hatch-a0s 1 [set shape "light" set size 1 set color [230 230 130 180] set v2. fput self v2.] set v2 (turtle-set v2.) set action task [ask v2 [rt v0 move-to boss]] set v0 200 set v1 [ ;possible options ;*full-field 0 ;*new-point-in-box 1 ;*middle-point 2 >>>change>>> point x y ;*nothing 3 ;final value 0 towards player xcor, 1 away [["pattern0"] 700 [1 [7.5 10.5 2 1.5] 1]];red burst and green randomness [["pattern16"] 1000 [2 [7.5 10.5 0 0] 0]];violet cyan rows and lunatic double rows [["pattern26"] 1100 [2 [7.5 10.5 0 0] 0]];wiggle [["pattern8"] 900 [1 [7.5 9.5 3 1] 1]];every second bullet faces player [["pattern2"] 1000 [2 [7.5 10.5 0 0] 0]];flowerpattern^3 [["pattern14"] 950 [1 [7.5 11.5 3.5 2] 1]];random patterns turn gray [["pattern11"] 1000 [1 [7.5 11.5 4 0] 1]];double slowing bullet4 ring [["pattern18"] 900 [2 [7.5 11.5 5 1.5] 0]];3/5 arm random explosions [["pattern13"] 1200 [2 [7.5 11.5 4 1] 0]];paranoia [["pattern21"] 900 [1 [7.5 10.5 2 .4] 0]];impenetrable shot [["pattern12"] 1000 [0 [7.5 7.5 5 6] 1]];rotating shooting direction with green bullet2 [["pattern5"] 1000 [1 [7.5 9.5 2.5 1] 1]];superfast circle butterfly explosion [["pattern4"] 1000 [1 [7.5 12 3 2] 1]];b6/b10/b12 aimed cone rows ;[["pattern19"] 700 [2 [7.5 11 4 1.5] 0]];bullet/lazer from sides [["pattern20"] 1100 [1 [7.5 7.5 3 5] 1]];oscillating composite bullets with lazers [["pattern6"] 1000 [1 [7.5 10.5 5 1] 0]];random bullet1 slowing down to make a wall [["pattern1"] 1200 [1 [7.5 9 .8 0.5] 0]];liquid flaming needle shooter arms [["pattern9"] 1200 [2 [7.5 7.5 0 0] 0]];stationary twilight sunset [["pattern24"] 1400 [2 [7.5 11.5 0 0] 0]];silence before the storm [["pattern22"] 900 [1 [7.5 10.5 2 .4] 0]];impenetrable shot harder [["pattern23"] 1200 [2 [7.5 9 3 2] 0]];oscillating composite bullets from boss in a circle [["pattern27"] 1600 [2 [7.5 7.5 5 1] 0]];grazy half circles [["pattern15"] 1800 [2 [7.5 7.5 0 0] 0]];butterfly explosion getting more difficult ] set pattern-amount length v1 ;repeat aaaaaaaaaaa [set v1 butfirst v1] set v3 0.2;speed ;v4 - motivation draining immunity: 0 immune, 1 not immune ;v5 ;v6 - ticks until new pattern set v7 0;"default";shape holder;movement sound canditate set v8 [7.5 10.5];target holder ;v9 - pattern delay ] end to make-sparker create-a0s 1 [set sparker self set color [244 244 131 255] set shape "spark" set v2 n-values 17 [(list 244 244 131 (255 - ifelse-value (? < 8)[0][(? - 7) * 31]))] ht] end to make-wall create-ws 1 [set shape "side" setxy 0.5 -0.5 set heading 90 set size 2 set color 0 hatch 1[set shape "corner" lt 90] jump 2 repeat 6[hatch 1[lt 90] jump 2] lt 90 hatch 1[set shape "corner" lt 90] jump 2 repeat 7[hatch 1[lt 90] jump 2] lt 90 hatch 1[set shape "corner" lt 90] jump 2 repeat 6[hatch 1[lt 90] jump 2] lt 90 hatch 1[set shape "corner" lt 90] jump 2 repeat 7[hatch 1[lt 90] jump 2] lt 90 die] end to make-reflectors set all-reflectors (list (patches with [pxcor = 14 and not (pycor = 0 or pycor = 16)]) (patches with [pxcor = 1 and not (pycor = 0 or pycor = 16)]) (patches with [pycor = 15 and not (pxcor = 0 or pxcor = 15)]) (patches with [pycor = 0 and not (pxcor = 0 or pxcor = 15)]) ) ;set reflectors patches with [((pxcor = 14 or pxcor = 1) and not (pycor = 0 or pycor = 16)) or ((pycor = 15 or pycor = 0) and not (pxcor = 0 or pxcor = 15))] ask (patch-set all-reflectors) [set pcolor 1] end to make-bulletkillers set bulletkillers patches with [pycor = max-pycor or pxcor = max-pxcor] ask patches with [pycor = max-pycor or pxcor = max-pxcor or pxcor = min-pxcor] [set pcolor red] end to make-statistics create-a3s 1 [__set-line-thickness .08 set size 0 set heading 270 set shape "line half" setxy 13.5 0.43 set color 125 hatch 1 [__set-line-thickness .08 set motivation-bar self set v2 myself set v0 "" set v1 max map[item 1 ?][v1] of boss set color 47 set action task [ifelse [v0] of boss <= 0 or is-string? v0 [set v0 "" set size 0 ask v3 [set size 0]][set size 24 * ([v0] of boss / v1)]] hatch 1 [__set-line-thickness .08 set color [18 59 140 200] ask myself [set v3 myself] set v0 24 / ([v1] of myself / 2) set action task [if size > 0 [set size size - v0]]]]] create-a3s 1 [set time-left "" set action task [reduce-time] setxy 14.8 1.05 set label-color 0] create-a3s 1 [set pattern-bonus self set bonus-score "" set action task [reduce-pattern-bonus] setxy 14.8 0.7 set label-color 92] create-a3s 1 [set action task [gradually-increase-score] setxy 14.8 0.35 set label-color [255 255 0]] create-a3s 1 [set action task [ let value int (0.01 * score * ifelse-value(is-number? bonus-score)[mean lput bonus-score pattern-results][mean pattern-results]) if value >= next-spirit [set pattern-balance pattern-balance + 3 set spirits-attracted spirits-attracted + 1 set next-spirit sum n-values (spirits-attracted + 1) [1000 * ?] set observertasks lput task [background-and-stats] observertasks sound [1 "GUITAR FRET NOISE" 121 127 0.5]] set label (word "("separate-with-commas next-spirit") "separate-with-commas value) ] setxy 14.8 0 set label-color 0] create-a3s 1 [set ycor 0 set color [230 30 30 0] set action task [boss-location] set shape "indicator"] ; create-a3s 1 ; [set action task [set label separate-with-commas graze] ; setxy 14.8 -0.7 ; set label-color 44] create-a0s 1 [setxy 13 0.95 set fps-turtle self] end to boss-location ifelse in-frame? boss [set xcor [xcor] of boss let new-transparency 5 + 4 * restrict-to-range (round (10 * abs([xcor] of player - [xcor] of boss))) 0 10 set color replace-item 3 color new-transparency] [set color replace-item 3 color 0] end to fill-motivation [starting-motivation] ask motivation-bar [set size 24 * (starting-motivation / v1) set v0 starting-motivation ask v2[set size 24 * (starting-motivation / [v1] of myself)] ask v3 [set size [size] of myself]] ask pattern-bonus [set v0 starting-motivation / 2] ask boss [set v0 starting-motivation] end to reduce-pattern-bonus ifelse is-number? bonus-score [set label (word (trailing-zeros bonus-score 2) "%") ifelse v0 = 0 [set bonus-score bonus-score - bonus-decreaser] [set v0 v0 - 1]] [set label bonus-score] end to gradually-increase-score if score-memory != score [set score-memory score set label separate-with-commas score] end to-report separate-with-commas [number] let comma-separated-string "" ifelse number > 999 [let counter 0 let number-as-string reverse (word number) while [length number-as-string > 0] [set comma-separated-string (word first number-as-string comma-separated-string) set number-as-string but-first number-as-string set counter counter + 1 if counter = 3 and not empty? number-as-string [set comma-separated-string (word "," comma-separated-string) set counter 0]]] [set comma-separated-string number] report comma-separated-string end to reduce-time ifelse is-number? time-left [set time-left precision (time-left - 0.02) 2 ifelse time-left <= 3 [set label-color ifelse-value (time-left <= 3)[11.5][14.5] if time-left = int time-left [sound (list 1 "STRING ENSEMBLE 1" 58 (ifelse-value (time-left <= 3)[120][60]) 0.03)]] [set label-color 0] ifelse time-left = precision time-left 0 [set label (word time-left ".00")] [ifelse time-left = precision time-left 1 [set label (word time-left "0")] [set label (word time-left)]] if time-left <= 0 [set end-pattern-condition 1]] [set label ""] end to-report trailing-zeros [input precision.] set input precision input precision. set input (word input) let point-position position "." input ifelse is-number? point-position [let trailing0 remove " " butlast butfirst (word n-values (precision. - length substring input (1 + point-position) length input)[0]) report (word input trailing0)] [let trailing0 remove " " butlast butfirst (word n-values precision.[0]) report (word input "." trailing0)] end to end-pattern set end-pattern-condition 0 ask (turtle-set delete-list) [die] set delete-list [] ask boss [if empty? v1 and pattern-balance < 0[set bonus-score 0] set pattern-results lput bonus-score pattern-results hatch-a3s 1 [reset-a setxy 12 .5 set label-color 92 set label (word "Result: "(word (trailing-zeros bonus-score 2) "%")) set v0 250 set action task[set v0 v0 - 1 if v0 <= 0 [die]]] set bonus-score "" set time-left "" ask motivation-bar [set size 0 set v0 ""] clear-bullets 1 ifelse-value(stuns = 0)["all"]["not all"] if stuns != 0[ask [v3] of player [set action task [bubble:reappear]]] set target-location [7.5 10.5] set relocate 2] set stuns 0 set v9 70 set v0 3 set v4 0 end to start-new-pattern sound:stop-music ;structure of v1 element: ;(list ;(list "bulletpattern" "movement-type");second is optional ;time-left ;starting-health ;) set ticker 0 ifelse empty? v1 or pattern-balance < 0 [ask turtles with [shape = "indicator"] [ht] set target-location [0.5 15.5] set relocate 2 set pattern "" set v4 0 end-game] [set bordercheck 2 set new-target 100 set max-orb-speed 9001 let new-pattern item 0 v1 set v1 butfirst v1 set pattern runresult (word "task " item 0 new-pattern) set time-left round(.02 * (1 * item 1 new-pattern)) fill-motivation item 1 new-pattern set bonus-score 100 set bonus-decreaser (bonus-score / (time-left * 50 - item 1 new-pattern / 2)) reset-variables set v4 1 orb-above true run (word "setup-" item 0 item 0 new-pattern) let m-data item 2 new-pattern set relocate item 0 m-data set target-location item 1 m-data set closer item 2 m-data set v6 -1] set observertasks lput task [background-and-stats] observertasks end to reset-variables foreach n-values 21[?][run (word "set g"?" 0")] ask shooters[die] set stuns 0 end to setup-pattern [inputs] set reflectors (patch-set (map [ifelse-value(?1 = 1)[?2][no-patches]]last inputs all-reflectors)) set inputs butlast inputs (foreach inputs n-values length inputs [(word "g"?)] [ifelse is-number? ? [run (word "set "?2" "?1)] [run (word "set "?2" "item difficulty ?1)]]) end to end-game hatch-a3s 1 [reset-a setxy 12 0 set label-color 0 set v0 295 set action task [set v0 v0 - 1 if v0 <= 0 [die] if empty? pattern-results [set pattern-results fput 0 pattern-results] let final-bonus int(score * 0.01 * mean pattern-results) if v0 = 230[set label (word "Average result: "trailing-zeros mean pattern-results 2 "%")]]] hatch-a3s 1 [reset-a set label-color 0 setxy 8.9 15.5 ht set action task [set v0 v0 + 1 if v0 = 200 [output-replay st set label"Click to start a new game"while [mouse-down?][display]while [not mouse-down?][display]set stop-game 1 set watching-replay 0]]] end to background-and-stats bitmap:copy-to-drawing item difficulty (item current-background backgrounds) 0 0 crt 1 [set shape "sun" set size 0.63 set heading 0 set color item difficulty [[140 255 255][140 255 140][255 140 140][255 140 255]] let change (255 - 140) / pattern-amount let cmap item difficulty (list (list change 0 (- change))(list change 0 0)(list 0 change 0)(list 0 change(- change))) setxy 13.25 14.2 ;setxy 1.9 14.2 repeat length [v1] of boss [rt 180 / 8 stamp set ycor ycor - .5 ;set xcor xcor + .5 set color (map + color cmap)] set shape "heart" set color [255 170 170 200] set size .5 setxy 13.25 1.1 let hearts pattern-balance / 3 if hearts > 0 [repeat hearts [stamp set hearts hearts - 1 set ycor ycor + .43] if hearts > 0 [set color [255 30 30 200] set size ifelse-value (hearts > .4)[.35][.2] stamp]] die] end to main if difficulty = -1 [stop] no-display if timer - timer. > 0.1 or timer - timer. < -0.1[set timer. timer] if remainder ticks game-rate = 0[game] if (not (watching-replay = 1 and faster = 1))[while [timer < timer.][]] tick set ticker ticker + 1 set timer. timer. + 0.02 ifelse watching-replay = 1 and faster = 1 [if remainder ticks 5 = 0 [display set frames-drawn frames-drawn + 1]] [if timer - timer. < 0.04 or redraw-all = 1 [display set frames-drawn frames-drawn + 1]] if remainder ticks 50 = 0[ask fps-turtle [set label frames-drawn set frames-drawn 0]] end to game if stop-game = 1 [setup []] if start-replay = 1 [setup input-replay] ask bullets [jump speed rt turn] ask boss [boss-action] ask player [player-action] ask a0s with [is-command-task? action][run action] ask a1s with [is-command-task? action][run action] ask a2s with [is-command-task? action][run action] ask a3s with [is-command-task? action][run action] if remainder ticks bordercheck = 0[ask bullets-on bulletkillers [if is-turtle? bottom [ask bottom[die]]die]] ask bbullets [move-to top] spark-action run-observertasks play-sound end to output-replay if watching-replay = 0 [set replay. replace-item 0 replay butfirst butlast remove " "(word item 0 replay) set replay. lput (list (int (0.01 * score * mean pattern-results)) score) replay. set replay. lput 1 replay.;version set replay. lput difficulty replay. output-write replay.] end to player-action mouse-state-code ifelse stun-timer > 0 [stun-action] [bullet-check-and-graze player-movement] beaming-code ;swallow-value-increasers keep-boxed .6 14.4 1.6 13.4 end to mouse-state-code set mouse-state ifelse-value(watching-replay = 0)[mouse-down?][ifelse-value ("A" = first item 0 input-replay)[true][false]] let element-to-add ifelse-value mouse-state["A"]["B"] ifelse watching-replay = 0 [set replay replace-item 0 replay lput element-to-add item 0 replay] [set replay replace-item 0 replay lput element-to-add item 0 replay set input-replay replace-item 0 input-replay butfirst item 0 input-replay] end to player-movement ifelse watching-replay = 1 [let d precision (0.01 * position (first item 0 input-replay) glyphs) 2 set replay replace-item 0 replay (lput (first item 0 input-replay) item 0 replay) set input-replay replace-item 0 input-replay butfirst item 0 input-replay set heading (4 * position (first item 0 input-replay) glyphs) set replay replace-item 0 replay (lput (first item 0 input-replay) item 0 replay) set input-replay replace-item 0 input-replay butfirst item 0 input-replay jump d] [let d restrict-to-range (precision (distancexy mouse-xcor mouse-ycor) 2) 0 v5 set replay replace-item 0 replay (lput (item (precision(d * 100)2) glyphs) item 0 replay) set heading round ((towardsxy-nowrap mouse-xcor mouse-ycor) / 4) set replay replace-item 0 replay (lput (item heading glyphs) item 0 replay) set heading heading * 4 jump d] end to bullet-check-and-graze let stun? false let graze 0 let graze-radius 1;[size * 0.5] of v3 ask bullets in-radius graze-radius [if grazeable = 0[set grazeable 1 set graze graze + 1] if distance player < hitbox[set stun? true]] let lazer-graze ifelse-value (remainder ticks 5 = 0)[true][false] foreach remove nobody active-lazers [let d 0 ifelse abs subtract-headings [heading] of ? towards-nowrap ? < 90 [set d distance-nowrap ?] [let lazer-length [size * 0.5] of ? let x3 [xcor] of ? + lazer-length * sin [heading] of ? let y3 [ycor] of ? + lazer-length * cos [heading] of ? ifelse abs subtract-headings [heading] of ? towardsxy-nowrap x3 y3 > 90 [set d distancexy-nowrap x3 y3] [set d (2 * abs((xcor *([ycor] of ? - y3) + [xcor] of ? *(y3 - ycor)+ x3 *(ycor - [ycor] of ?))/ 2)) / lazer-length]] if d < graze-radius [if lazer-graze[set graze graze + 1] if d < 0.12 [set stun? true]]] if graze > 0 [let graze-volume 20 + 2 * graze if graze-volume > 60 [set graze-volume 60] sound (list 1 "MUTED ELECTRIC GUITAR" 100 graze-volume 0) ask sparker [st set action task [jump v0 set v1 v1 + 1 if v1 >= 15[die] set color item v1 v2] move-to player hatch graze [rt random-float 360 set v0 0.1 + random-exponential 0.03] set action 0 ht]] set score score + 1 * graze if stun? and player-immune[stun] end to beaming-code ifelse not mouse-state and stun-timer = 0 [reduce-targets-motivation] [set beam-target 0] end to reduce-targets-motivation if not is-turtle? beam-target [remake-targets set beam-target min-one-of first targets [distance-nowrap myself]] if is-turtle? beam-target [let d distance-nowrap beam-target let demotivation-rate [v4] of beam-target * (2 - (.111 * (ifelse-value (d < 1)[1][d] - 1))^ 1);(2 / (.2 * (4 + ifelse-value (d < 1)[1][d])) ^ .8) ask beam-target[set v0 v0 - demotivation-rate] set v7 v7 + demotivation-rate * .5 if v7 > 1 [ if [v0] of beam-target < 100 [ let beaming-volume [v4] of beam-target * 15 sound (list 0 "OPEN HI HAT" beaming-volume) sound (list 0 "HI FLOOR TOM" beaming-volume)] hatch-a0s v7 [set action task [jump v0 set v1 v1 - 1 if v1 <= 0 [die] set color replace-item 3 color (item 3 color - 6)] set size 1 set v1 15 set shape "bulletcancel" set v0 .05 + random-float (demotivation-rate * .05) ifelse d < 1 [set color [230 30 30 90]] [set color (list 230 30 (restrict-to-range (255 - 15 * round (d * 1.7)) 0 255) 90)] set heading random-float 360 move-to beam-target jump .4] set v7 v7 - int v7]] end to remake-targets if length targets > 1 [set targets (list (turtle-set targets))] end to addtarget [input] set targets lput input targets end to sound [input] set sound-data fput input sound-data end to play-sound if sound-state = 0 [foreach remove-duplicates sound-data [ifelse item 0 ? = 0 [sound:play-drum item 1 ? (volume * item 2 ?)] [sound:play-note item 1 ? item 2 ? restrict-to-range (volume * item 3 ?) 0 127 item 4 ?]]] set sound-data [] end to swallow-value-increasers let value-increasers-to-swallow sparks in-radius 0.3 if any? value-increasers-to-swallow [let loudness 40 + 2 * count value-increasers-to-swallow ask value-increasers-to-swallow [set score score + v0 die] sound (list 1 "WOODBLOCK" 105 ifelse-value(loudness > 80)[80][loudness] 0)] end to stun set stuns stuns + 1 hatch-a0s 1 [ht reset-a set v0 70 set action task[set v0 v0 - 1 if v0 <= 0 [set player-immune true die] set player-immune false]] make-stun-indicator ifelse stuns > 1 [set pattern-balance pattern-balance - 3 if pattern-balance < 0 [ask boss [set v0 0]] sound [1 "BAG PIPE" 85 127 0.05] set observertasks lput task [background-and-stats] observertasks] [] if pattern-balance > -1 [clear-bullets 70 "not all" if stuns = 1[ask [v3] of player [set action task [bubble:wither]]]] set stun-timer 70 ask player [set heading [heading] of myself + 180 set v2 0.5] set regain-self mouse-state end to make-stun-indicator hatch-a3s 1 [reset-a set shape "line" set heading 90 __set-line-thickness .12 set color 0 set size 2 hatch 1 [set color 15 __set-line-thickness .07 set v0 70 set v1 myself set action task [setxy ([xcor] of player) ([ycor] of player + 1) set color ifelse-value(stun-timer = 0)[9.9][15] set v0 v0 - 1 if v0 <= 0 [ask v1 [die]die] ask v1 [move-to myself] set size 2 * v0 / 70]]] end to stun-action set stun-timer stun-timer - 1 hatch-a0s 1 [reset-a set heading random 360 set shape "star" set size 1 set color 47 set v0 random-exponential 0.05 set action task[jump v0 set v1 v1 + 1 if v1 > 10 [die]]] jump v2 set v2 v2 * 0.9 if regain-self != mouse-state [set stun-timer 0] end to keep-boxed [miny maxy minx maxx] ifelse ycor < miny [set ycor miny] [if ycor > maxy [set ycor maxy]] ifelse xcor < minx [set xcor minx] [if xcor > maxx [set xcor maxx]] end to-report in-frame? [input-agent] if [ycor] of input-agent < 0.5 or [ycor] of input-agent > 14.5 or [xcor] of input-agent < 1.5 or [xcor] of input-agent > 13.5[report false] report true end to clear-bullets [delay clear-type] if delay < 1 [set delay 1] sound [1 "Orchestra Hit" 123 30 0.4] hatch-a2s 1 [ht reset-a set action task [clearing-bullets] set size 1 set v3 0 set v4 clear-type set color [255 255 150 4] set v1 delay set v2 1 + 18.5 / delay set v0 1 clearing-bullets] end to clearing-bullets st set v3 v3 + v2 let bullets-to-bonus ifelse-value (v2 < 18.5)[(bullets in-radius-nowrap v3) with [clearable? = 0]][bullets with [clearable? = 0]] let c color ifelse v4 = "all" [ask bullets-to-bonus [hatch-sparks 1 [set v4 random 18 set heading random-float 360 set v7 random-float .03 set color c set size 1] bkill]] [ask bullets-to-bonus [hatch-sparks ifelse-value(random 3 = 0)[1][0] [set v4 random 18 set heading random-float 360 set v7 random-float .03 set color c set size 1] bkill]] ht set v1 v1 - 1 if v1 <= 0 [die] end to flower-action move-to player ifelse mouse-state [ifelse heading > 0 [set heading heading - 15] [if v0 = 0 [set v0 1]]] [if heading < 90 [set heading heading + 15 if heading = 75 and v0 = 1 and distancexy-nowrap ([xcor] of boss + .4) ([ycor] of boss - .4) < .8 [release-pollen]]] end to release-pollen set v0 0 let intensity random 15 sound (list 1 "SYNTH VOICE" (111 + intensity) 127 0.09) hatch-a2s 1 [reset-a set size 1 set color [255 255 150 4] set shape "bulletcancel" setxy (xcor - .4) (ycor + .4) set heading 270 + towards-nowrap player hatch-sparks 7 [set v4 12 + random 12 set v7 .1 + random-float .25 set v3 one-of [1 -1] * random-exponential .5] die] end to spark-action ask sparks [set v4 v4 + 1 if v4 = 36[set score score + 2 die] set v2 v2 + v3 rt v2 jump v7 set color item v4 flicker] end to boss-action if v0 <= 0[set end-pattern-condition 1] if 1 = end-pattern-condition[end-pattern] ifelse v9 = 0 [run pattern] [set v9 v9 - 1 if v9 = 0[start-new-pattern]] boss-movement end to ###STUFF### ;sound:play-note "GUNSHOT" 110 60 0 sound:play-note "GUNSHOT" 50 60 0 ;sound:play-note "SYNTH DRUM" 26 127 0.4 ;sound:play-note "SYNTH STRINGS 2" 35 60 2 ;sound:play-note "WOODBLOCK" 80 60 0 ;sound:play-note "GUNSHOT" 60 127 0 sound:play-note "GUNSHOT" 110 127 0 ;player death sound:play-note "GUNSHOT" 124 127 0 end to-report new-lazer [lazer-heading delay duration lazer-color no-lazer-beginning] let lazer-bottom 0 let lazer-top 0 hatch-a3s 1 [st set heading lazer-heading set shape "lazer-head" set size 1 set color lput 210 lazer-color hatch-bullets 1 [bstats 14 9.9 0 0 0 set size 2 * wall-distance set lazer-top self set lazers lput self lazers bbottom 14 lput 100 lazer-color ask bottom [__set-line-thickness 0.25 set lazer-bottom self] __set-line-thickness 0.14 ht] set v0 lazer-bottom set v1 lazer-top set v2 delay set v3 duration if no-lazer-beginning = 1 [ht] set action task lazer-action] report lazer-top end to lazer-action if nobody = v1 [delete-lazer] move-to v1 set v2 v2 + 1 ifelse v2 > 0 [if v2 = v3 [delete-lazer]] [if v2 = 0 [ask v0 [set color replace-item 3 color 210] ask v1 [st] set active-lazers lput v1 active-lazers sound [1 "APPLAUSE" 126 80 1]]] end to delete-lazer if is-turtle? v1 [ask v1 [die]] if is-turtle? v0 [ask v0 [die]] die end to rotate-lazer [rotation-amount] rt rotation-amount set size 2 * wall-distance ask bottom [rt rotation-amount set size [size] of myself] end to rotate-lazer-noresize [rotation-amount] rt rotation-amount ask bottom [rt rotation-amount] end to new-lazer-heading [input-heading] set heading input-heading ask bottom [set heading input-heading] end to resize-lazer [input] set size 2 * input ask bottom [set size [size] of myself] end to bstats [bullet# b-0 b-1 b-2 b-3] set shape item bullet# ["bullet0" "bullet1" "bullet2" "bullet3" "bullet4" "bullet5" "bullet6" "bullet7" "bullet8" "bullet9" "bullet10" "bullet11" "bullet12" "bullet13" "bullet14"] set size item bullet# [1 1 2 1 1 1 1 1 1 1 1 1 1 1 1] set hitbox item bullet# [0 0.175 0.5 0.1 0.275 0.1 0.16 0.2 0.175 0.175 0.175 0.15 0.275 0.175 0.175] set color b-0 set speed b-1 set turn b-2 set clearable? b-3 end to bbottom [bottom# color.] hatch-bbullets 1 [set shape item bottom# [0 0 "bullet2-bottom" 0 0 0 0 0 "bottomlayer4" 0 0 0 "bullet12-bottom" "bullet13-bottom" "bullet14"] set color color.;["bottomlayer0""bottomlayer1""bottomlayer2""bottomlayer3"] set top myself ask myself [set bottom myself]] end to-report b [amount bullet# b-0 b-1 b-2 b-3];multibullet - the problem becomes refering to the hatched turtles let reported-bullets [] hatch-bullets 1 [set shape item bullet# ["bullet0" "bullet1" "bullet2" "bullet3" "bullet4" "bullet5" "bullet6" "bullet7" "bullet8" "bullet9" "bullet10" "bullet11" "bullet12" "bullet13" "bullet14"] set size item bullet# [1 1 2 1 1 1 1 1 1 1 1 1 1 1 1] set hitbox item bullet# [0 0.175 0.5 0.1 0.275 0.1 0.16 0.2 0.175 0.175 0.175 0.15 0.275 0.175 0.175] set speed b-1 set turn b-2 set clearable? b-3 set grazeable 0 set reported-bullets lput self reported-bullets ifelse member? bullet# [2 8 12 13] [set color 9.9 hatch-bbullets 1 [set shape item bullet# [0 0 "bullet2-bottom" 0 0 0 0 0 "bottomlayer4" 0 0 0 "bullet12-bottom" "bullet13-bottom" "bullet14"] set color b-0 set top myself ask myself [set bottom myself]] hatch amount - 1 [set reported-bullets lput self reported-bullets hatch-bbullets 1 [set shape item bullet# [0 0 "bullet2-bottom" 0 0 0 0 0 "bottomlayer4" 0 0 0 "bullet12-bottom" "bullet13-bottom" "bullet14"] set color b-0 set top myself ask myself [set bottom myself]]]] [set color b-0 hatch amount - 1 [set reported-bullets lput self reported-bullets]]] report reported-bullets end to boss-movement if v6 <= 0 [ifelse relocate < 2 [ifelse relocate = 0 [full-field] [new-point-in-box]] [if relocate = 2 [point]] set v6 new-target] set v6 v6 - 1 let d distancexy-nowrap item 0 v8 item 1 v8 ;ifelse d > 0.1[set shape (word v7 ifelse-value(heading > 0 and heading < 180)["-right"]["-left"])][set shape v7] ifelse d > v3 * 10 [if v3 < 1 [set v3 v3 * 1.1 set v7 v7 + 1 if v7 < 51 [sound (list 1 "XYLOPHONE" v7 (50 - v7) 0)] ]] [set v7 0 if v3 > 0.01[set v3 v3 * 0.91]] ifelse d > v3 [facexy-nowrap item 0 v8 item 1 v8 if v3 > max-orb-speed[set v3 max-orb-speed] jump v3] [setxy item 0 v8 item 1 v8] end to point set v8 (list item 0 target-location item 1 target-location) end to new-point-in-box let new-x item 0 target-location + rfr item 2 target-location let new-y item 1 target-location + rfr item 3 target-location let counter 0 let finding-new-spot true while [finding-new-spot] [set counter counter + 1 if counter > 1000 [set finding-new-spot false] ifelse closer = 0 [set new-x (restrict-to-range ([xcor] of player - 0.5 + random-float 1) (item 0 target-location - item 2 target-location) (item 0 target-location + item 2 target-location)) set new-y item 1 target-location + rfr item 3 target-location] [set new-x item 0 target-location + rfr item 2 target-location set new-y item 1 target-location + rfr item 3 target-location] let d distancexy-nowrap new-x new-y if d > 0.6 [set finding-new-spot false]] set v8 (list new-x new-y) end to full-field ;xcor 2.5 - 12.5 ;ycor 11 13 let new-x xcor let new-y ycor while [abs(xcor - new-x) < 0.5] [ifelse closer = 0 [set new-x ((restrict-to-range ([xcor] of player - 0.5) 2.5 11.5) + random-float 1) set new-y (11 + random-float 2)] [set new-x (2.5 + random-float 10) set new-y (11 + random-float 2)]] set v8 (list new-x new-y) end to delete-later set delete-list fput self delete-list end to reset-a set shape "default" set size 1 set action 0 set v0 0 set v1 0 set v2 0 set v3 0 set v4 0 set v5 0 set v6 0 set v7 0 set v8 0 set v9 0 end to burst-shot [agentset bullet-action delay duration modifier-task] hatch-a1s 1 [reset-a ht delete-later set v1 delay set v2 bullet-action set v3 agentset set v4 delay + duration - 1 if is-list? modifier-task [run item 0 modifier-task set v5 item 1 modifier-task] set action task burst-modification] end to burst-modification set v0 v0 + 1 if v0 >= v1 [if is-command-task? v5 [run v5] let bullet-action v2 set v3 remove nobody v3 if empty? v3 [die] foreach v3 [ask ? [run bullet-action]]] if v0 = v4 [die] end to continious-burst-shot [reference-variable bullet-action delay action-duration] hatch-a1s 1 [reset-a ht delete-later set v1 n-values ifelse-value(delay > action-duration)[delay][action-duration + delay] [[]] set v2 bullet-action set v3 reference-variable set action task continious-burst-shooting set v4 action-duration] end to continious-burst-shooting let data-to-add runresult v3 set v1 lput ifelse-value (is-list? data-to-add)[data-to-add][[]] v1 let bullet-action v2 let action-position-counter 0 repeat v4 [ifelse action-position-counter = 0 [foreach remove nobody item 0 v1 [ask ? [run bullet-action]]] [let remade-list remove nobody item action-position-counter v1 foreach remade-list [ask ? [run bullet-action]] set v1 replace-item action-position-counter v1 remade-list] set action-position-counter action-position-counter + 1] set v1 butfirst v1 end to bkill if is-turtle? bottom [ask bottom [die]] die end to-report any-bullets? report any? bullets with [not member? self shooter-list] end to-report in-desired-area let reporter true ask boss [ifelse relocate < 2 [ifelse relocate = 0 [set reporter (xcor >= 2.5 and xcor <= 12.5 and ycor >= 11 and ycor <= 13)] [set reporter (xcor >= item 0 target-location - item 2 target-location and xcor <= item 0 target-location + item 2 target-location and ycor >= item 1 target-location - item 3 target-location and ycor <= item 1 target-location + item 3 target-location)]] [ifelse relocate = 2 [set reporter (xcor = item 0 target-location and ycor = item 1 target-location)] [set reporter true]]] report reporter end to toboss move-to boss end to start-shot let shapeholder shape set breed bullets set shape shapeholder st end to end-shot ht let shapeholder shape set breed shooters set shape shapeholder end to add-shooter ;start-shot ht set shooter-list fput self shooter-list end to towall if heading = 0 [setxy xcor 15.5] if heading = 90 [setxy 14.5 ycor] if heading = 180 [setxy xcor -0.5] if heading = 270 [setxy 0.5 ycor] if heading > 0 and heading < 90 [let d1 (14.5 - xcor) / sin heading let d2 (15.5 - ycor) / cos heading jump ifelse-value (d1 < d2)[d1][d2]] if heading > 90 and heading < 180 [let d1 (14.5 - xcor) / sin heading let d2 (-0.5 - ycor) / cos heading jump ifelse-value (d1 < d2)[d1][d2]] if heading > 180 and heading < 270 [let d1 (0.5 - xcor) / sin heading let d2 (-0.5 - ycor) / cos heading jump ifelse-value (d1 < d2)[d1][d2]] if heading > 270 and heading < 360 [let d1 (0.5 - xcor) / sin heading let d2 (15.5 - ycor) / cos heading jump ifelse-value (d1 < d2)[d1][d2]] end to-report wall-distance if heading = 0 [report 15.5 - ycor] if heading = 90 [report 14.5 - xcor] if heading = 180 [report ycor - -0.5] if heading = 270 [report xcor - 0.5] ifelse heading < 180 [ifelse heading < 90 [let d1 (14.5 - xcor) / sin heading let d2 (15.5 - ycor) / cos heading report ifelse-value (d1 < d2)[d1][d2]] [let d1 (14.5 - xcor) / sin heading let d2 (-0.5 - ycor) / cos heading report ifelse-value (d1 < d2)[d1][d2]]] [ifelse heading < 270 [let d1 (0.5 - xcor) / sin heading let d2 (-0.5 - ycor) / cos heading report ifelse-value (d1 < d2)[d1][d2]] [let d1 (0.5 - xcor) / sin heading let d2 (15.5 - ycor) / cos heading report ifelse-value (d1 < d2)[d1][d2]]] end to gtask [task-input timer-input] hatch-a0s 1 [ht reset-a set v0 task-input set v1 timer-input set action task [set v1 v1 - 1 if v1 <= 0 [run v0 die]]] end to torus ifelse ycor < 0 [set ycor ycor - 2] [if ycor > 15 [set ycor ycor + 2]] ifelse xcor < 1 [set xcor xcor - 3] [if xcor > 14 [set xcor xcor + 3]] end to setup-pattern0 continious-burst-shot (task g2) (task [set speed speed * 0.9]) 7 13 end to pattern0 ask bullets [set speed speed * 1.01] set g2 [] set g1 g1 - 1 if g1 <= 0 and in-desired-area [pattern0-sub0] if remainder ticker item difficulty [4 2 1 1] = 0[pattern0-sub1] if difficulty = 3 and remainder ticker 4 = 0 [pattern0-sub2] if remainder ticker 60 = 0 [set v6 0] end to pattern0-sub0 set g1 item g4 [100 20 100 20 20 100] set g4 g4 + 1 if g4 > 5 [set g4 0] sound [1 "GUNSHOT" 50 50 0] sound [1 "GUNSHOT" 110 50 0] foreach b item difficulty [20 60 120 180] 1 [0 100 0 210] 0.2 0 0 [ask ? [set speed 0.1 + random-float 0.2 set heading random-float 360 set g2 fput self g2]] let h random-float 360 foreach b item difficulty [8 16 32 48] 12 [150 30 30] 0.3 0 0 [ask ? [set heading h set h h + 360 / item difficulty [8 16 32 48] set g2 fput self g2]] end to pattern0-sub1 ask first b 1 1 [0 100 0 210] 0.2 0 0 [set heading random-float 360 set g2 fput self g2] sound [1 "WOODBLOCK" 90 50 0] end to pattern0-sub2 ask first b 1 12 [150 30 30] 0.2 0 0 [set heading random-float 360 set g2 fput self g2] sound [1 "WOODBLOCK" 90 50 0] end to setup-pattern1 set g0 item difficulty [[0 200 200 40][0 200 0 40][200 0 0 40][200 0 200 40]] set g1 no-turtles hatch-a2s (1 + difficulty) [reset-a delete-later set color 47 set size 1 ht set shape "bullet4" set g1 (turtle-set self g1)] set g2 0 set g3 sort g1 set g4 n-values 60 [[]] set g6 [] end to pattern1 ask bullets [set speed speed * 1.01 set turn turn * 0.99] if remainder ticker 2 = 0 [pattern1-sub0 pattern1-sub1] if difficulty = 3 and remainder ticker 40 = 0 [pattern1-sub2] end to pattern1-sub0 set g5 [] (foreach item difficulty [[0][300 60][300 60 0][300 60 120 240]] item difficulty [[0][9 -9][9 -9 0][9 -9 3.6 -3.6]] item difficulty [[0.015][0.1 0.1] [0.1 0.1 0.015] [0.1 0.1 0.03 0.03]] [ask first b 1 8 g0 ?3 ?2 0 [set heading ?1 set g5 fput self g5]]) set g4 lput g5 g4 sound [1 "WOODBLOCK" 100 50 0] end to pattern1-sub1 set g2 g3 let current-ends remove nobody item 0 g4 foreach current-ends [ask first g2 [move-to ? set v0 1] set g2 butfirst g2] ifelse remainder ticker item difficulty [8 4 4 4] = 0;2 [foreach current-ends [ask ? [ask bottom [die] set grazeable 0 bstats 6 [255 255 100] item difficulty [0.04 0.04 0.16 0.02] 0 0;0.2 ifelse difficulty = 3 [set speed speed + random-float .08 ifelse ycor > 10 [set heading towards-nowrap player + ifelse-value (xcor < 7.5)[-8 + random-float -16][8 + random-float 16]] [set heading towards-nowrap player + ifelse-value (xcor < 7.5)[8 + random-float 16][-8 + random-float -16]]] [ifelse difficulty = 1 [set heading towards-nowrap player + ifelse-value (xcor < 7.5)[3 + random-float 36][-3 + random-float -36]] [ifelse ycor > 10 [set speed 0.025 set heading 180 + rfr 60 hatch 1 [set heading 180 + rfr 60]] [set heading towards-nowrap player + ifelse-value (xcor < 7.5)[3 + random-float 36][-3 + random-float -36]]]]]]] [foreach current-ends [ask ? [bkill]]] if length g2 = length g3 [set g7 0] if g7 = 0 and g2 = [] [set g7 1 sound [1 "GUNSHOT" 50 50 0] sound [1 "GUNSHOT" 110 50 0]] if g7 = 1 [sound [1 "WOODBLOCK" 95 50 0]] ask g1 [ifelse v0 = 0 [ht if is-turtle? v1 [ask v1 [die]]] [st set v0 0 ifelse is-turtle? v1 [ask v1 [move-to myself set grazeable 0]] [ask first b 1 4 47 0 0 0 [ht ask myself [set v1 myself]]]]] set g4 butfirst g4 end to pattern1-sub2 let bamount 12 let increase-value 360 / bamount let vvv 0 let h towards-nowrap player foreach b bamount 13 [170 30 30 210] 0.10 0 0 [ask ? [set heading h + 5 * sin vvv set speed speed + .0085 * cos vvv set vvv vvv + increase-value]] sound [1 "SYNTH DRUM" 26 127 0.4] end to setup-pattern2 set g4 12 set g3 .5 continious-burst-shot task g0 task [set speed speed * b0] 0 g4 set g0 [] set g1 [0 0 0] end to pattern2 ifelse not any? bullets [set g3 .5] [ifelse g3 > .2 [set g3 g3 - .001] [set g3 .2]] set g2 g3 ^ (1 / g4) set g0 [] if in-desired-area and ifelse-value (difficulty = 0) [remainder ticker 2 = 0][true] [ set g1 (map + g1 [104.4 -124.85 29]) (foreach g1 [-1 1 2] [2 1 1] [[255 150 150 210][255 50 150 210][255 50 50 210]] [.3 .22 .16] [if difficulty > ?2 [let h ?1 foreach b ?3 10 ?4 ?5 0 0 [ask ? [set b0 g2 set heading h set g0 fput self g0 set h h + 180]]]]) sound [1 "WOODBLOCK" 95 50 0]] end to setup-pattern4 set max-orb-speed .2 set g0 [0 0 0] set g3 item difficulty [20 12 12 9] set g4 item difficulty [6 10 10 12] set new-target 50 end to pattern4 let t towards-nowrap player ifelse in-desired-area [set g0 (map [?1 + ?2 * subtract-headings t ?1]g0[.3 .2 .07]) (foreach [2 1 -1] [["" "" "" 70]["" "" 10 8][5 4 3 3]][[1 "GUNSHOT" 50 50 0][1 "WOODBLOCK" 95 50 0][1 "WOODBLOCK" 100 50 0]][.14 .06 .1][12 10 6][[130 30 30][0 255 255 210][0 0 255]]g0 [if difficulty > ?1 and remainder ticker item difficulty ?2 = 0 [sound ?3 let h ?7 - g3 * (.5 + (g4 - 2) / 2) foreach b g4 ?5 ?6 ?4 0 0 [ask ? [set heading h set h h + g3]]]])] [set g0 n-values 3 [t]] end to setup-pattern5 hatch-shooters 1 [ht set g0 self ifelse difficulty < 2 [bstats 13 9.9 ((360 * (pi * 2.8)) / 7200) 9 0] [ifelse difficulty = 2 [bstats 12 9.9 ((360 * (pi * 2.8)) / 7200) 9 0] [bstats 2 9.9 ((360 * (pi * 2.8)) / 7200) 9 0]]] hatch-shooters 1 [ht bstats 9 [255 255 120 80] 0.2 0 0 set g1 self] set new-target 200 end to pattern5 ;(360 * (pi * radius)) / 7200 = speed or ;360 / (speed * 180 / (pi * raadius)) = 40 (40 stands for time to get back to origin) ;or... ;speed = ((360 / origin)*(pi * raadius)) / 180 ;where origin stands for ticks until back to origin ;also ;turn rate = speed * 180 / (pi * radius) set g2 g2 + 1 if remainder ticker 20 = 0 and not any? bullets [set g2 40 set v6 0] if g2 = 40 and in-desired-area [if g3 = 3 [set g3 0] set g4 [] ifelse g3 = 0 [pattern5-sub0 9 [[30 30 230 210][30 30 230 210] 87 [230 30 30 100]]] [ifelse g3 = 1 [pattern5-sub0 -9 [[30 230 230 210][30 230 230 210] 17 [230 30 230 100]]] [pattern5-sub0 9 [[30 30 230 210][30 30 230 210] 87 [230 30 30 100]] pattern5-sub0 -9 [[30 230 230 210][30 230 230 210] 17 [230 30 230 100]]]] set g4 (turtle-set g4) sound [1 "GUNSHOT" 110 50 0]] if g2 = 80 [ifelse g3 = 2 [pattern5-sub1 true] [pattern5-sub1 false] set g3 g3 + 1] if g2 = 120 [set g2 0 set v6 0] end to pattern5-sub0 [turn-input color-input] ask g0 [start-shot move-to boss set turn turn-input let bullet# item difficulty [13 13 12 2] let bcolor item difficulty color-input repeat 36 [hatch 1 [set g4 fput self g4 bbottom bullet# bcolor] rt 10] repeat item difficulty [12 36 36 36] [hatch 1 [set g4 fput self g4 bbottom bullet# bcolor rt random-float 360 set speed ((360 * (pi * (0.2 + random-float 2.6))) / 7200)]] end-shot] end to pattern5-sub1 [safe?] if any? g4 [sound [1 "GUNSHOT" 50 50 0] ask g1 [start-shot move-to one-of g4 let h towards-nowrap player set heading h let attack-cone item difficulty [30 20 25 30] ask g4 [set speed 0.05 + random-float 0.24 set heading ifelse-value (safe?)[h + 180 + rfr (180 - attack-cone)][random-float 360] set turn 0] set g4 (list g4) let turn-probability item difficulty [0.02 0.05 0.1 0.2] set attack-cone attack-cone * 1.5 let bullet-group [] hatch item difficulty [7 24 40 64] * ifelse-value safe?[1.5][1] [set g4 fput self g4 set bullet-group lput self bullet-group set speed 0.1 + random-float 0.3 ifelse random 2 = 0 [set turn 0.1 + random-float 2.1 lt 25 + random-float attack-cone] [set turn -0.1 + random-float -2.1 rt 25 + random-float attack-cone]] burst-shot g4 task [set turn turn * 0.9] 10 15 0 burst-shot g4 task [set speed speed * 0.93] 0 15 0 end-shot]] end to setup-pattern6 set g2 item difficulty [.8 2.1 4.4 7] end to pattern6 if remainder ticker 3 = 0 [ask bullets with [speed > 0.007] [set speed speed * 0.95]] if in-desired-area[set g1 g1 + random-float g2] if g1 >= 1 [sound [1 "WOODBLOCK" 95 50 0] foreach b g1 1 [255 255 150 210] 0.16 0 0 [ask ? [rt random-float 360]] set g1 g1 - int g1] end to setup-pattern8 set g1 item difficulty [27 30 30 30] set g2 item difficulty [1 1.7 1.3 2.6];[1 1.7 1 0.5] set g3 20 hatch-a0s 1 [reset-a delete-later set g4 self set v0 item difficulty [0 0 .8 .6]] set g5 item difficulty [0 5 6 6] end to pattern8 ask g4[move-to boss set heading towards-nowrap player + 10 * v0 jump distance-nowrap player] let condition remainder ticker item difficulty [60 50 25 12];[60 50 30 20] if condition = g3 and any? bullets [sound [1 "GUNSHOT" 110 30 0]] if condition = 0 and in-desired-area [sound [1 "GUNSHOT" 50 30 0] ask g4 [set v0 v0 * -1] set g0 g0 + 13.3 let only-speed [] if difficulty > 0 [foreach b g1 g5 item difficulty [[30 30 230][30 30 230][30 30 230][230 30 30]] item difficulty [.16 0.13 0.16 0.16] 0 0 [ask ? [set g0 g0 + 360 / g1 set heading g0 set only-speed fput self only-speed]]] set g0 g0 + 180 / g1 let heading-change [] foreach b g1 13 [30 230 230 210] item difficulty [.16 0.13 0.16 0.16] 0 0 [ask ? [set g0 g0 + 360 / g1 set heading g0 set only-speed fput self only-speed set heading-change fput self heading-change]] burst-shot only-speed task [set speed speed * 0.9] g3 5 0 burst-shot heading-change task [set speed speed * g2 face-nowrap g4] g3 1 0] end to setup-pattern9 set g0 item difficulty [3 6 10 14] set g1 item difficulty [9 7 5 4] ;let back-to-origin 200 set g4 200 set g5 220 / ((g4 / g1)) hatch-shooters 1 [ht set g2 self bstats 4 47 ((360 / g4)*(pi * 3.45)) / 180 (360 / g4) 0] set g7 [230 30 30 100] set g3 no-turtles set g6 n-values (g4 * 1) [[]] ;hatch-shooters 1 [ht set g8 self bstats 2 9.9 0.08 0 0] set g8 "" set g9 item difficulty [2 7 15 23];[2 5 8 18] set g10 -1 set g11 [245 245 80 210] end to pattern9 if remainder ticker 25 = 0 and not any? bullets [set g10 -1] set g10 g10 + 1 if remainder g10 g4 = 0 and in-desired-area [if difficulty > 0 and count bullets > 100 and distance-nowrap player > 6.66 [__ignore new-lazer round towards-nowrap player -1 2 [230 30 30] 0] set g6 reverse g6 pattern9-sub0 set g11 [245 245 80 210] ask g3 [die] ask g2 [start-shot toboss set turn turn * -1 face-nowrap player set g3 (list g3) repeat g0 [hatch 1 [set g3 fput self g3] rt 360 / g0] set g3 (turtle-set g3) end-shot]] let to-add [] if remainder ticker g1 = 0 [if any? g3[sound [1 "WOODBLOCK" 95 50 0]] set g11 replace-item 1 g11 (item 1 g11 - g5) ask g3 [ask first b 1 10 g11 0 0 0 [set to-add fput self to-add]]] set g6 lput to-add g6 foreach remove nobody first g6[ask ? [die]] set g6 butfirst g6 end to pattern9-sub0 set g7 ifelse-value(g7 = [230 30 30 100])[[230 230 30 100]][[230 30 30 100]] sound [1 "SYNTH DRUM" 26 127 0.4] let h towards-nowrap player foreach [0.08 0.04 0.02] [foreach b g9 2 [230 30 30 100] ? 0 0 [ask ? [set heading h set h h + 360 / g9]]] end to setup-pattern11 continious-burst-shot task g1 task [set heading 180 set b0 1.034 set speed 0.088 set g2 fput self g2] 100 1 set g1 [] set g2 [] set g3 item difficulty [.5 1 2 3];[1 2 3.6 5.2] end to pattern11 ask bullets [set speed speed * b0 set b0 b0 - 0.0015] set g1 [] if in-desired-area [set g4 g4 + random-float g3 if g4 > 1 [sound [1 "WOODBLOCK" 90 50 0] foreach b g4 12 47 .2 0 0 [ask ? [set b0 1 setxy (1 + random-float 13) 15 set heading 165 + random-float 30 set g1 fput self g1]] set g4 g4 - int g4]] set g1 sentence g1 g2 set g2 [] end to setup-pattern12 ;set max-orb-speed 0.2 set g1 item difficulty [.3 1 1.8 2.6] set g6 180 set g7 0.8 set g8 (patch-set all-reflectors) end to pattern12 set g2 g2 + random-float g1 set g6 g6 + g7 if g2 > 1 [sound [1 "WOODBLOCK" 90 50 0] foreach b g2 2 [130 230 0 100] 0.16 0 0 [ask ? [set heading 180 + g6 + rfr 90 move-to one-of g8 setxy (xcor + rfr .49)(ycor + rfr .49) towall set heading g6 set speed .1 + random-float .06 jump 0.02]] set g2 g2 - int g2] end to setup-pattern13 set g0 0 set g1 item difficulty [1 1 2 3] set g2 item 3 all-reflectors set g3 item difficulty [30.7 15.35 15.55 16.15] set g4 .12 end to pattern13 ifelse any? bullets [ifelse g4 > .06 [set g4 g4 - .0003] [set g4 .06]] [set g4 .12] if difficulty > 0 [ask (bullets-on g2) with [shape = "bullet6"] [set heading 180 - heading if abs subtract-headings towards-nowrap player heading < 3 [die] sound [1 "WOODBLOCK" 90 50 0] bstats 12 9.9 .1 0 0 bbottom 12 [130 230 30]]] if in-desired-area and ifelse-value(difficulty = 0)[remainder ticker 2 = 0][true] [sound [1 "WOODBLOCK" 95 50 0] set g0 g0 + g3 foreach b g1 6 [230 70 230] g4 0 0;0.07 [ask ? [set heading g0 set g0 g0 + 360 / g1]]] ask [bullets in-radius 3] of player [let h subtract-headings towards-nowrap player heading ifelse h < -90[lt 4.6][if h > 90 [rt 4.6]] set speed speed + 0.0006] end to setup-pattern14 hatch-shooters 1 [ht set g0 self bstats 4 8 0.2 0 0] set g1 no-turtles;agentset for shot b4 continious-burst-shot task g2 task [set speed speed + 0.000375] 0 80 set g3 [];list for shot b10 set g4 item difficulty [12 10 8 6] hatch-shooters 1 [set g5 self bstats 10 0 0 0 0] end to pattern14 set g2 [] if remainder ticker 10 = 0 and not any? g1 and in-desired-area [set g3 remove nobody g3 foreach g3 [ask ? [set color [100 100 100 210] set shape "bullet1"]] if not empty? g3 [sound [1 "SYNTH STRINGS 2" 35 60 1]] set g1 [] set g2 g3 set g3 [] ask g5 [set color pattern14-sub0] sound [1 "GUNSHOT" 110 50 0] ask g0 [start-shot run one-of (list "pattern14-sub2" "pattern14-sub3" one-of ["pattern14-sub5" "pattern14-sub6"]) end-shot] set g1 (turtle-set g1)] if remainder ticker g4 = 0 [if any? g1 [sound [1 "WOODBLOCK" 90 70 0]] ask g5 [start-shot] ask g1[pattern14-sub1] ask g5 [end-shot]] end to-report pattern14-sub0 report lput 210 shuffle (list random 256 (100 + random 100) (200 + random 56)) end to pattern14-sub1 ask g5 [move-to myself set heading random-float 360 hatch 1 [set g3 fput self g3]] end to pattern14-sub2 toboss set heading towards-nowrap player let ttt item difficulty [5 7 9 12] set turn -1.6 repeat ttt [hatch 1 [set g1 fput self g1] rt 360 / ttt] set turn 1.6 repeat ttt [hatch 1 [set g1 fput self g1] rt 360 / ttt] set turn 0 end to pattern14-sub3 toboss let ttt item difficulty [12 18 24 30] set heading 180 / ttt + towards-nowrap player repeat ttt [hatch 1 [set g1 fput self g1] rt 360 / ttt] end to pattern14-sub4 toboss set speed 0.14 set heading towards-nowrap player hatch 1 [set g1 fput self g1 if difficulty > 1 [hatch 1 [rt 90 jump 0.4 lt 90 set g1 fput self g1 if difficulty = 3[hatch 1[rt 90 jump 0.4 lt 90 set g1 fput self g1]]] hatch 1 [lt 90 jump 0.4 rt 90 set g1 fput self g1 if difficulty = 3[hatch 1[lt 90 jump 0.4 rt 90 set g1 fput self g1]]]]] set speed 0.2 end to pattern14-sub5 toboss set heading towards-nowrap player jump 0.5 * distance player rt 90 jump .5 * item difficulty [2.4 2 1.9 1.7] lt 90 hatch 1 [rt 90 jump item difficulty [2.4 2 1.9 1.7] lt 90 pattern14-sub5-0 90 die] pattern14-sub5-0 -90 end to pattern14-sub5-0 [input] while [pcolor = 0] [hatch 1 [set g1 fput self g1 rt 180 towall rt 180 jump .01] rt input jump item difficulty [2.4 2 1.9 1.7] lt input] end to pattern14-sub6 ;1 14 0 setxy (one-of [1 14]) (ifelse-value ([ycor] of player - 1 >= 0)[[ycor] of player - 1][[ycor] of player + 1]) while [ycor - 4 > 0][set ycor ycor - 4] set heading ifelse-value (xcor = 1) [90][270] let turning-value ifelse-value (heading = 90)[90][-90] let y-nowrap ycor while [y-nowrap < 15] [hatch 1 [set g1 fput self g1] lt turning-value jump 4 rt turning-value set y-nowrap y-nowrap + 4] set y-nowrap y-nowrap - 2 set ycor ycor - 2 set xcor ifelse-value (xcor = 1)[14][1] set heading ifelse-value (xcor = 1) [90][270] while [y-nowrap > 0] [hatch 1 [set g1 fput self g1] lt turning-value jump 4 rt turning-value set y-nowrap y-nowrap - 4] end to setup-pattern15 hatch-shooters 1 [ht set g0 self bstats 9 item difficulty [[30 230 230 80][30 230 30 80][230 30 30 80][230 30 230 80]] 0.15 1 0] set g1 no-turtles;turtle-set for shot bullets set g3 0.031 set g4 item difficulty [5 5 1 4] set g5 item difficulty [47 47 47 47] set g6 item difficulty [2 4 6 8] set g7 g6 - 1 set g8 item difficulty ["not used" "not used" [230 230 130 170] 47] set g9 v0 set g11 item difficulty [2 7 11 14] set g10 round ((3 * g11 + 12) / 2);12 set g12 item difficulty [0.038 0.019 0.013 0.00965] set g13 0 set g14 50 end to pattern15 set g14 g14 + 1 ifelse g2 > 0 [set g2 g2 - 1] [if any? g1 [pattern15-sub1] set g1 no-turtles] ask g1 [set speed speed * 0.99 set turn turn + b1] if in-desired-area and ((remainder g14 100 = 0 and not any? g1) or (not any? bullets and remainder ticker 12 = 0)) [pattern15-sub0] end to pattern15-sub0 set g14 0 set g10 restrict-to-range g10 12 (3 * g11 + 12) set g9 v0 set g1 [] sound [1 "GUNSHOT" 50 50 0] ask g0 [toboss start-shot set turn item g13 [-1 1 0] set g13 g13 + 1 if g13 = 3 [set g13 0] ifelse turn = 0 [set turn 1 set b0 turn * 3 set b1 g3 * turn rt random-float 360 repeat g10 * .5 [hatch 1[set g1 fput self g1] rt 720 / g10] set turn -1 set b0 turn * 3 set b1 g3 * turn rt random-float 360 repeat g10 * .5 [hatch 1[set g1 fput self g1] rt 720 / g10]] [set b0 turn * 3 set b1 g3 * turn rt random-float 360 repeat g10 [hatch 1[set g1 fput self g1] rt 360 / g10]] end-shot] set g2 100 burst-shot g1 task [set speed 0.15 set turn 0] 100 1 0 set g1 (turtle-set g1) set g10 g10 + 9999999999;g11 end to pattern15-sub1 sound [1 "GUNSHOT" 110 50 0] ask g1 [set grazeable 0 hatch 1 [set b0 b0 * .2 rt b0 bstats g4 g5 (0.15 - g12) 0 0 repeat g7 [hatch 1 rt b0 set speed speed - g12]]] ask g1 [repeat g6 [hatch 1 rt b0 set speed speed - g12]] end to setup-pattern16 set g0 no-turtles hatch-shooters 1 [ht set g1 self bstats 3 47 .2 0 0 set b0 1] set g2 item difficulty [7 5 5 5] set g3 0 set g5 item difficulty [0 3 9 6] if difficulty > 0 [set g4 220 / g5] set g6 (patch-set butlast all-reflectors) set g7 [] continious-burst-shot task g7 task [set speed speed * 0.915] 15 10 end to pattern16 set g7 [] ask (bullets-on g6) with [b0 > 0] [if difficulty = 3[hatch 1[pattern16-sub0] lt 5]pattern16-sub0] if remainder ticker g2 = 0 and in-desired-area [sound [1 "WOODBLOCK" 100 50 0] ask g1 [toboss start-shot lt 15.8 hatch 1 [set g7 fput self g7] rt 180 hatch 1 [set g7 fput self g7 set b1 1] rt 180 end-shot]] end to pattern16-sub0 sound [1 "WOODBLOCK" 90 50 0] set grazeable 0 set b0 0 bstats 1 [30 30 230 210] speed 0 0 if ycor < 0.5 or ycor > 14.5 [set heading 180 - heading] if xcor < 1.5 or xcor > 13.5 [set heading (- heading)] repeat g5 [hatch 1 set speed speed * 0.92 set color replace-item b1 color (item b1 color + g4)] end to setup-pattern18 set g0 item difficulty [24 18 18 15] set g1 0 set g2 item difficulty [2 5 6 7] set g5 item difficulty [.05 .05 .055 .06] continious-burst-shot task g3 task [set speed speed * 0.95] 1 10 set g3 0 set g4 item difficulty [3 3 5 5] set g6 item difficulty [33 33 28 28] end to pattern18 if remainder ticker 4 = 0 [ask bullets with [speed > g5] [set speed speed * 0.985]] set g3 [] if remainder ticker g0 = 0 and in-desired-area [sound [1 "GUNSHOT" 110 30 0] set g1 g1 + g6 repeat g4 [set g1 g1 + 360 / g4 pattern18-sub0 g1]] end to pattern18-sub0 [h] (foreach [.1 .13 .16 .19] n-values 4 [1 + random (g2 - ?)] [255 210 255 100] [5 1 4 2] [let trans ?3 let s ?1 let btype ?4 foreach n-values ?2 [s + random-float s] [ask first b 1 btype (list (5 * int (182 * (?1 - 0.1))) 50 150 trans) ?1 0 0 [set heading h + rfr 10 set g3 fput self g3]]]) end to setup-pattern20 hatch-shooters 1[ht set g0 self bstats 11 0;13 9.9 0 0 0] hatch-shooters 1[ht set g1 self bstats 6 [230 30 30] .09 0 0];[230 230 130] set g2 no-turtles set bordercheck 999999999 set g3 patches with [pcolor = 1 and pxcor = 1 or pxcor = 14 and pycor > 0 and pycor < 15] ;[pcolor = 1 and pycor = 15 and pxcor > 2 and pxcor < 13] set g4 no-turtles set g5 1 end to pattern20 ask g4 [set b1 b1 + 1 toboss if b1 < 50 [rotate-lazer b0]] if remainder ticker 50 = 0 [set v6 0 if difficulty > 5 and remainder ticker 150 = 0 and in-desired-area [pattern20-sub2]] ask g2 [pattern20-sub1] if in-desired-area and remainder ticker item difficulty [18 13 9 6] = 0;[18 13 12 10] [ask g1 [start-shot ifelse any? g2 [let sorted-patches sort-on [[distance-nowrap myself] of min-one-of g2 [distance myself]] g3 move-to item (.7 * length sorted-patches + random .3 * length sorted-patches) sorted-patches set ycor ycor + -.5 + random-float 1] [setxy one-of[14 1] .5 + random-float 14] ;2 + random-float 11 15.4 sound [1 "WOODBLOCK" 90 50 0] sound [1 "GUNSHOT" 50 35 0] set heading ifelse-value(xcor = 14)[270][90] ;180 hatch 1 [set speed .04 + random-float .06 pattern20-sub0 self random-float 360 2 + random-float 3 ifelse-value(xcor = 14)[[130 130 30]][[30 130 30]]] end-shot]] end to pattern20-sub0 [input initial-distance-change oscillation bcolor] set b2 0 set b4 initial-distance-change set b3 .4 * sin b4 let initial-distance b3 let bulletgroup [] ask g0 [start-shot move-to input rt random-float 360 set color bcolor repeat 24 [hatch 1 [;bbottom 13 bcolor jump initial-distance set bulletgroup lput self bulletgroup] rt 15] end-shot] set b0 (turtle-set bulletgroup) set b1 (list xcor ycor) set b5 oscillation set g2 (turtle-set g2 self) end to pattern20-sub1 if pcolor = 15 [ask b0 [bkill] bkill] ;if pcolor = 1 [if ycor < 0.5 or ycor > 14.5 [set heading 180 - heading] if xcor < 1.5 or xcor > 13.5 [set heading (- heading)]] let x-change xcor - item 0 b1 let y-change ycor - item 1 b1 set b1 (list xcor ycor) let new-speed .1 ifelse b2 < 10 [set b2 b2 + 1] [set b4 b4 + b5 let new-b3 .4 * sin b4 set new-speed new-b3 - b3 set b3 new-b3] ask b0 [setxy (xcor + x-change) (ycor + y-change) set speed new-speed] end to pattern20-sub2 set g5 g5 * -1 let h round towards-nowrap player + ifelse-value(difficulty = 2)[180][-15 * g5] (foreach ifelse-value(difficulty = 2)[[57 -57]][[0 1 2 3 4 5 6 7]] ifelse-value(difficulty = 2)[[2 -2]][[0 -1 -2 -3 -4 -5 -6 -7]] [ask new-lazer (h + ?1 * g5) -1 75 [30 130 130] 0 [set g4 (turtle-set g4 self) set b0 ?2 * g5]]) end to setup-pattern21 set g10 [230 30 30] set g11 [30 150 30] hatch-shooters 1 [ht set g0 self bstats 10 g10 0 0 0] set g1 item difficulty [9 18 18 18] set g2 item difficulty [12 16 18 20] set g3 item difficulty [.008 .008 .008 .008] set g4 1 set g5 0 set g6 item difficulty [.14 .18 .18 .2] set g7 0 set g8 0 set g9 v0 * .5 set g12 item difficulty [0 13 12 2] set g13 item difficulty [0 [130 30 130 170][130 30 130][130 30 130 100]] end to pattern21 if g8 = 0 and v0 < g9 [set g8 1] set g7 g7 + 1 if remainder g7 item difficulty [70 60 50 50] = 0 and in-desired-area [ifelse g8 = 1 [pattern21-sub0] [pattern21-sub1]] end to pattern21-sub0 set g5 9 set g8 2 let holder g10 set g10 g11 set g11 holder sound [1 "GUNSHOT" 50 50 0] sound [1 "GUNSHOT" 110 50 0] hatch-shooters 1 [bstats g12 9.9 0.15 0 0 start-shot toboss let bbcolor item difficulty [0 [230 30 30 210][230 30 30][230 30 30 100]] set heading random-float 360 repeat difficulty [repeat 30 [hatch 1[bbottom g12 bbcolor] rt 12] set speed speed * .85] end-shot die] end to pattern21-sub1 sound [1 "GUNSHOT" 50 50 0] ask g0 [start-shot toboss let bulletgroup [] set speed g6 set b0 g6 - g3 * g2 set b1 0 set heading random-float 360 let t 360 / g1 set g4 g4 * -1 let b. false if difficulty > 0 [bstats g12 9.9 speed turn 0 set b. true] let c 0 repeat g2 [ifelse b. [repeat g1 [hatch 1 [bbottom g12 g13 set bulletgroup lput self bulletgroup] rt t]] [repeat g1 [hatch 1 [set bulletgroup lput self bulletgroup] rt t]] rt g4 * g5 set b0 b0 + g3 set b1 b1 + g4 * .05 ifelse shape = "bullet10" [bstats 7 g11 speed turn 0] [bstats 10 g10 speed turn 0] set b. false set c c + 1 if c = g2 - 1 and difficulty > 0 [bstats g12 9.9 speed turn 0 set b. true] set speed speed - g3] burst-shot bulletgroup task [set speed speed * .8] 34 10 0 burst-shot bulletgroup task [set speed b0 set turn b1] 44 1 (list task [] task [sound [1 "GUNSHOT" 110 50 0]]) end-shot] end to setup-pattern22 set g10 [230 230 100] set g11 [70 230 230] hatch-shooters 1 [ht set g0 self bstats 5 g10 0 0 0] set g1 item difficulty [9 18 18 18] set g2 item difficulty [12 14 16 18] set g3 item difficulty [.008 .0087 .0083 .008] set g4 1 set g5 18 set g6 item difficulty [.14 .18 .18 .2] set g7 0 set g8 0 set g9 v0 * .5 set g12 item difficulty [0 13 12 2] set g13 item difficulty [0 [30 30 130 210][30 30 130][30 30 130 100]] end to pattern22 if g8 = 0 and v0 < g9 [set g8 1] set g7 g7 + 1 if remainder g7 item difficulty [80 70 60 60] = 0 and in-desired-area [ifelse g8 = 1 [pattern22-sub0] [pattern22-sub1]] end to pattern22-sub0 if difficulty = 3 [set g3 .0076 set g2 22] set g5 6 set g8 2 let holder g10 set g10 g11 set g11 holder sound [1 "GUNSHOT" 50 50 0] sound [1 "GUNSHOT" 110 50 0] hatch-shooters 1 [bstats g12 9.9 0.15 0 0 start-shot toboss let bbcolor item difficulty [0 [230 230 100 210][230 230 100][230 230 30 100]] set heading random-float 360 repeat difficulty [repeat 30 [hatch 1[bbottom g12 bbcolor] rt 12] set speed speed * .85] end-shot die] end to pattern22-sub1 sound [1 "GUNSHOT" 50 50 0] ask g0 [start-shot toboss let bulletgroup [] set speed g6 set b0 g6 - g3 * g2 set b1 0 set heading random-float 360 let t 360 / g1 set g4 g4 * -1 let b. false if difficulty > 0 [bstats g12 9.9 speed turn 0 set b. true] let c 0 repeat g2 [ifelse b. [repeat g1 [hatch 1 [bbottom g12 g13 set bulletgroup lput self bulletgroup] rt t]] [repeat g1 [hatch 1 [set bulletgroup lput self bulletgroup] rt t]] rt g4 * g5 set b0 b0 + g3 set b1 b1 + g4 * .05 ifelse shape = "bullet5" [bstats 6 g11 speed turn 0] [bstats 5 g10 speed turn 0] set b. false set c c + 1 if c = g2 - 1 and difficulty > 0 [bstats g12 9.9 speed turn 0 set b. true] set speed speed - g3] burst-shot bulletgroup task [set speed speed * .8] 34 10 0 burst-shot bulletgroup task [set speed b0 set turn b1] 44 1 (list task [] task [sound [1 "GUNSHOT" 110 50 0]]) end-shot] end to setup-pattern26 set g7 item difficulty [13 13 12 12] set g8 item difficulty [[30 170 30 100] [30 170 30 100] [30 170 30] [30 170 30]] hatch-shooters 1 [ht bstats item difficulty [5 5 10 10] ifelse-value (difficulty < 2)[[230 230 130 210]][[230 230 130]] 0.12 0 0 set g0 self] hatch-shooters 1 [ht bstats g7 9.9 0.1 0 0 set g1 self] set g2 item difficulty [3 7 11 12];arm number set g3 180 + 180 / g2 set g4 0 set g5 0 set g6 item difficulty [1.1 1.5 1.4 1.4] end to pattern26 if remainder ticker item difficulty [4 3 3 2] = 0 and in-desired-area [ifelse remainder g5 5 = 0 [ask g1 [start-shot toboss set heading g3 + (g6 * (180 / g2)) * sin g4 set g4 g4 + item difficulty [10 10 10 7] set turn cos g4 ifelse difficulty = 3 and remainder g5 20 = 0 [if remainder g5 40 = 0 [rt 360 / g2] repeat g2 * .5 [hatch 1 [bbottom g7 g8] rt 720 / g2] rt 360 / g2 bstats 2 9.9 speed turn 0 repeat g2 * .5 [hatch 1 [bbottom 2 [130 30 30 100]] rt 720 / g2] bstats 12 9.9 speed turn 0 sound [1 "SYNTH DRUM" 26 127 0.4]] [repeat g2 [hatch 1 [bbottom g7 g8] rt 360 / g2] sound [1 "WOODBLOCK" 85 50 0]] end-shot]] [ask g0 [start-shot toboss set heading g3 + (g6 * (180 / g2)) * sin g4 set g4 g4 + item difficulty [10 10 10 7] set turn cos g4 repeat g2 [hatch 1 rt 360 / g2] end-shot] sound [1 "WOODBLOCK" 95 50 0]] set g5 g5 + 1] end to setup-pattern19 hatch-shooters 1 [ht bstats 9 [30 230 230 80] 0.2 0 0 set g0 self] set g1 0 hatch-shooters 1 [ht bstats 13 9.9 0.01 0 0 set g2 self] set g3 0 set g4 [] continious-burst-shot task g4 task [set speed speed * 1.02] 0 100 set g5 no-turtles set g6 no-turtles set g7 1 end to pattern19 set g4 [] if remainder ticker 50 = 0 and in-desired-area and any? g5 and any? g6 [ifelse g7 = 1 [burst-shot lput one-of g5 [] task [set g3 self] 0 1 0] [burst-shot lput one-of g6 [] task [set g3 self] 0 1 0] set g7 g7 * -1] if remainder ticker item difficulty [15 10 7 4] = 0 and in-desired-area [sound [1 "WOODBLOCK" 90 50 0] hatch-bullets 1 [bstats 4 [230 230 130] (.14 + random-float .06) 0 0 set heading ifelse-value (remainder g1 2 = 0)[100][260] ifelse remainder g1 2 = 0 [burst-shot lput self [] task [set g5 (turtle-set g5 self) rt random-float 360 set speed .002] 25 1 0] [burst-shot lput self [] task [set g6 (turtle-set g6 self) rt random-float 360 set speed .002] 25 1 0]] set g1 g1 + 1] if remainder ticker 25 = 0 and in-desired-area [sound [1 "WOODBLOCK" 90 50 0] ask g2 [start-shot toboss set heading random-float 360 repeat item difficulty [6 12 18 24] [hatch 1 [set g4 lput self g4 bbottom 13 [230 130 230 210]] rt 360 / item difficulty [6 12 18 24]] end-shot]] if is-turtle? g3 [pattern19-sub0] end to pattern19-sub0 sound [1 "GUNSHOT" 110 50 0] ask g0 [start-shot move-to g3 face-nowrap player set speed .2 if difficulty = 3 [repeat 20[set speed speed * .8 hatch 1]] if difficulty = 2 [__ignore new-lazer (round heading) item difficulty ["" "" -20 ""] item difficulty ["" "" 90 ""] [30 230 230] 0] if difficulty = 1 or difficulty = 3 [hatch-bullets 1 [bstats 2 9.9 .2 0 0 bbottom 2 [30 30 130 100] if difficulty = 1 [burst-shot lput self [] task [set speed speed * .95] 15 30 0]]] end-shot] ask g3 [bkill] end to setup-pattern27 hatch-shooters 1 [ht bstats 13 9.9 0 0 0 set g0 self] set g1 nobody;lazer existance set g2 -1;rotation direction set g3 0;lazer action counter continious-burst-shot task g4 task [set speed speed + b0] 10 20 set g4 [] set g5 0;rotation-amount set g6 0;secondary rotation set g7 0;rotation set g8 nobody set g9 0 set g10 0 end to pattern27 set g4 [] ifelse is-turtle? g1 [set g3 g3 + 1 ifelse g3 < 30 [sound [1 "WOODBLOCK" 90 50 0] ask g1 [rotate-lazer-noresize g2 * 9 ask g0 [start-shot move-to myself set heading [heading] of myself hatch 1 [set b0 .004 jump 5 rt g5 set g4 lput self g4 hatch 1 [bstats 6 [30 230 230] 0 g2 0 set b0 .006 set g4 lput self g4 rt g7 if difficulty > 1 [repeat item difficulty [0 0 10 15] [hatch 1[set g4 lput self g4] rt 10 * g2]]] if difficulty > 0 [hatch 1 [bstats 12 9.9 0 0 0 set b0 .002 bbottom 12 [30 30 130] set g4 lput self g4 lt g6]] ifelse difficulty = 3 [bstats 2 9.9 speed 0 0 bbottom 2 [230 30 30 100]] [bbottom 13 [30 130 230 210]]] rt g2 * 9 end-shot]] if g3 = 29 [set g9 ([xcor] of g1 + 5 * sin [heading] of g1) set g10 ([ycor] of g1 + 5 * cos [heading] of g1) hatch-bullets 1 [set g8 self setxy g9 g10 burst-shot lput self [] task [bkill] 82 1 0 bstats 13 9.9 0 0 0 bbottom 13 [230 30 30 210]]]] [if g3 = 30 and difficulty = 3 [ask new-lazer 0 -1 50 [230 230 170] 0 [setxy g9 g10 rotate-lazer round (towards-nowrap player + 9) let h heading repeat 17 [set h h + 20 __ignore new-lazer h -1 50 [230 230 170] 1]]]]] [if remainder ticker 10 = 0 and in-desired-area [set g2 g2 * -1 set g3 0 set g5 180 set g6 item difficulty [0 20 15 15] * g2 set g7 item difficulty [-20 -25 -28 -28] * g2 ask new-lazer round (towards-nowrap player + (25 + random 4) * g2) -1 item difficulty [110 110 110 110] [230 30 30] 0 [set g1 self resize-lazer 5]]] end to setup-pattern23 sound [1 "SYNTH STRINGS 2" 35 60 2] set current-background 2 set observertasks lput task[background-and-stats] observertasks hatch-shooters 1[ht set g0 self bstats 1 item difficulty [[170 30 30 210] [30 230 30 210] [230 130 30 210] [130 30 230 210]] 0 0 0] hatch-shooters 1[ht set g1 self bstats 12 [230 230 130] .09 0 0] set g2 no-turtles set bordercheck 999999999 set g3 patches with [pcolor = 1 and pycor = 15 and pxcor > 2 and pxcor < 13] set g4 item difficulty [180 90 90 180] set g5 item difficulty [10 6 4 12] set g6 item difficulty [5 10 14 11];[5 9 14 11] set g7 item difficulty [85 65 65 45] set g8 .07 set g9 item difficulty [0 0 .8 0] end to pattern23 ask g2 [pattern23-sub1] if in-desired-area and remainder ticker g7 = 0 [ask g1 [start-shot toboss ; ifelse any? g2 ; [let sorted-patches sort-on [[distance-nowrap myself] of min-one-of g2 [distance myself]] g3 ; move-to item (.7 * length sorted-patches + random .3 * length sorted-patches) sorted-patches ; set xcor xcor + -.5 + random-float 1] ; [setxy 2 + random-float 11 15.4] sound [1 "GUNSHOT" 110 35 0] sound [1 "GUNSHOT" 50 35 0] ; set heading 180 + rfr item difficulty [0 10 20 50] rt random-float 360 set g9 g9 * -1 if difficulty = 2 [ask g0 [set color ifelse-value([230 130 30 210] = color)[[230 30 30 210]][[230 130 30 210]]]] repeat g6 [hatch 1 [set speed g8 set turn g9 pattern23-sub0 self g4 g5 g10] rt 360 / g6] ; hatch 1 ; [set speed .04 + random-float .06 ; pattern23-sub0 self random-float 360 2 + random-float 3 [30 130 130 210]] end-shot]] end to pattern23-sub0 [input initial-distance-change oscillation bcolor] set b2 0 set b4 initial-distance-change set b3 .4 * sin b4 let initial-distance b3 let bulletgroup [] bbottom 12 [230 230 130] ask g0 [start-shot move-to input rt random-float 360 repeat 24 [hatch 1 [jump initial-distance set bulletgroup lput self bulletgroup] rt 15] end-shot] set b0 (turtle-set bulletgroup) set b1 (list xcor ycor) set b5 oscillation set g2 (turtle-set g2 self) end to pattern23-sub1 if pcolor = 15 [ask b0 [bkill] bkill] ;if pcolor = 1 [if ycor < 0.5 or ycor > 14.5 [set heading 180 - heading] if xcor < 1.5 or xcor > 13.5 [set heading (- heading)]] let x-change xcor - item 0 b1 let y-change ycor - item 1 b1 set b1 (list xcor ycor) let new-speed .1 ifelse b2 < 10 [set b2 b2 + 1] [set b4 b4 + b5 let new-b3 .4 * sin b4 set new-speed new-b3 - b3 set b3 new-b3] ask b0 [setxy (xcor + x-change) (ycor + y-change) set speed new-speed] end to setup-pattern24 set current-background 1 set g0 (patch-set all-reflectors) with [pycor < 3 * 2.5];difficulty * 2.5 set g1 filter is-number? (map [ifelse-value(difficulty > ?1)[?2][""]][0 1 2][5 6 7]) set g2 item difficulty [.5 1.6 3 4.5] set g3 0 set g4 no-turtles set g5 4 set g6 9 / g5 set observertasks lput task[background-and-stats] observertasks sound [1 "SYNTH STRINGS 2" 35 60 2] ;sound [1 "GUNSHOT" 110 50 0] sound [1 "GUNSHOT" 50 50 0] end to pattern24 ;if remainder ticker 2 = 0 [ask bullets with [speed > .06][set speed speed * .99]] set g3 g3 + random-float g2 if g3 > 1 [;sound [1 "WOODBLOCK" 105 50 0] foreach b g3 3 100 .13 0 0 [ask ? [set heading random-float 360 jump .7 rt -90 + random-float 180]] set g3 g3 - int g3] ask g4 [set color 100] set g4 [(bullets in-radius-nowrap g5) with [is-number? color]] of player ask g4 [set color 109 - distance-nowrap player * g6] ask (bullets-on g0) with [b0 = 0] [let h ifelse-value (xcor < 1 or xcor > 14)[heading - 180][ifelse-value(ycor < 0)[180 - heading][""]] if is-number? h [set b0 1 if random (difficulty + 1) != 0 [ask first b 1 one-of g1 [230 230 100] (.05 + random-float .05) 0 0 [set heading h + rfr 60]]]] end @#$#@#$#@ GRAPHICS-WINDOW 10 10 500 551 -1 -1 30.0 1 10 1 1 1 0 1 1 1 0 15 0 16 1 1 0 ticks 2.147483647E9 BUTTON 10 550 65 591 play main T 1 T OBSERVER NIL P NIL NIL 1 BUTTON 296 550 368 583 NIL startup NIL 1 T OBSERVER NIL R NIL NIL 1 TEXTBOX 160 559 310 577 show -16777216 + reduce [(?1 * 256) + ?2][255 255 0] 11 0.0 1 TEXTBOX 159 559 309 577 foreach n-values 10[?][print (word \"Rectangle \" (-16777216 + reduce [(?1 * 256) + ?2](list 0 (5 + ? * 5) 0)) \" true false 0 0 300 \" (50 - ? * 5))] 11 0.0 1 TEXTBOX 159 560 309 578 foreach n-values 10[?][print (word \"Rectangle \" (-16777216 + reduce [(?1 * 256) + ?2](list 0 (50 - ? * 5) 0)) \" true false \" (250 + ? * 5) \" 0 300 \" (50 - ? * 5))] 11 0.0 1 BUTTON 296 551 366 584 NIL display NIL 1 T OBSERVER NIL D NIL NIL 1 BUTTON 298 553 361 586 s if is-turtle? fps-turtle\n[ifelse redraw-all = 0\n[set redraw-all 1\ndisplay\nask fps-turtle[set label 50 set label-color 25]]\n[ask fps-turtle[set label-color 9.9]\nset redraw-all 0]] NIL 1 T OBSERVER NIL J NIL NIL 1 SWITCH 225 552 361 585 player-immune player-immune 0 1 -1000 SLIDER 223 550 395 583 volume volume 0 1 1 0.01 1 NIL HORIZONTAL TEXTBOX 160 560 310 578 set heading random-float 90 setxy (1.5 + random-float 12)(0.5 + random-float 14) hatch 1 [ask g0 [set color gray]set g0 (turtle-set g0 self) towall] 11 0.0 1 BUTTON 296 551 369 584 kill boss if is-turtle? boss[ask boss [set v0 0]] NIL 1 T OBSERVER NIL NIL NIL NIL 1 BUTTON 405 553 470 586 faster set faster ifelse-value (faster = 0)[1][0] NIL 1 T OBSERVER NIL F NIL NIL 1 TEXTBOX 161 558 311 576 let yy 15 repeat 15 [repeat 200 + (80 * yy) [set heading random-float 30 - random-float 30 setxy (1 + random-float 14) (yy - random-float 1) set shape ifelse-value (random 10 = 0)[\"straw\"][\"grass\"] set size 1.65 - ycor / 10 set color 52 + random-float (6 - ycor / 2.5) if shape = \"straw\" [set size size * 2 set color 71 + 0.3 * random-float (6 - ycor / 2.5)] stamp] set yy yy - 1] 11 0.0 1 TEXTBOX 161 559 311 578 set shape \"flower\" let yy 15 repeat 15 [repeat 3 + (2 * yy) ^ 1.5 [set heading random-float 30 - random-float 30 setxy (1 + random-float 14) (yy - random-float 1) set size 1.65 - ycor / 10 set color 139.9 - random-float (ycor / 5) stamp] set yy yy - 1] 11 0.0 1 BUTTON 408 550 471 583 h set watching-replay 0 NIL 1 T OBSERVER NIL H NIL NIL 1 BUTTON 410 551 473 584 s set sound-state ifelse-value(sound-state = 0)[1][0] NIL 1 T OBSERVER NIL S NIL NIL 1 OUTPUT 64 550 500 591 12 @#$#@#$#@ ## WHAT IS IT? This is a bullethell game ## HOW TO USE IT Avoid getting hit by bullets mouse: movement left mouse button: stop shooting/increase graze area/counter stun/wave flower P: play/pause R: restart game D: refresh display S: toggle sound F: speed up replay H: edit replay J: toggle frameskipping(default ON each time game is restarted; must use when slowing down the game using the slider) @#$#@#$#@ default false 0 beamspark true 0 Line -7500403 true 150 150 150 0 Line -7500403 true 150 150 150 15 Line -7500403 true 150 150 150 30 Line -7500403 true 150 150 150 45 Line -1 false 150 150 150 45 Line -1 false 150 150 150 60 Line -1 false 150 150 150 75 Line -1 false 150 150 150 90 Line -1 false 150 150 150 105 Line -1 false 150 150 150 120 Line -1 false 150 150 150 135 beamspark2 true 0 Polygon -7500403 true true 150 0 135 150 165 150 Polygon -7500403 true true 150 15 135 150 165 150 Polygon -7500403 true true 150 30 135 150 165 150 Polygon -7500403 true true 150 45 135 150 165 150 Polygon -1 true false 150 60 135 150 165 150 Polygon -1 true false 150 75 135 150 165 150 Polygon -1 true false 150 90 135 150 165 150 Polygon -1 true false 150 105 135 150 165 150 Polygon -1 true false 150 120 135 150 165 150 Polygon -1 true false 150 135 135 150 165 150 bonusitem false 0 Circle -7500403 true true 120 120 60 Circle -7500403 true true 105 165 30 Circle -7500403 true true 165 165 30 Circle -7500403 true true 105 105 30 Circle -7500403 true true 165 105 30 Rectangle -7500403 true true 105 120 109 180 Rectangle -7500403 true true 120 105 180 109 Rectangle -7500403 true true 120 191 180 195 Rectangle -7500403 true true 191 120 195 180 Circle -1 true false 110 170 20 Circle -1 true false 110 110 20 Circle -1 true false 170 110 20 Circle -1 true false 170 170 20 Circle -1 true false 124 124 52 bottomlayer0 false 0 Polygon -7500403 true true 151 236 167 226 189 224 213 223 224 210 232 186 227 163 247 137 241 121 241 94 223 82 201 83 185 78 171 60 147 55 123 74 101 82 75 87 64 104 64 134 59 147 63 164 77 173 74 210 90 221 111 206 126 228 Circle -7500403 true true 90 90 120 Circle -1 true false 135 135 30 bottomlayer1 false 0 Polygon -7500403 true true 149 64 133 74 111 76 87 77 76 90 68 114 73 137 53 163 59 179 59 206 77 218 99 217 115 222 129 240 153 245 177 226 199 218 225 213 236 196 236 166 241 153 237 136 223 127 226 90 210 79 189 94 174 72 Circle -7500403 true true 90 90 120 Circle -1 true false 135 135 30 bottomlayer2 false 0 Polygon -7500403 true true 149 236 133 226 111 224 87 223 76 210 68 186 73 163 53 137 59 121 59 94 77 82 99 83 115 78 129 60 153 55 177 74 199 82 225 87 236 104 236 134 241 147 237 164 223 173 226 210 210 221 189 206 174 228 Circle -7500403 true true 90 90 120 Circle -1 true false 135 135 30 bottomlayer3 false 0 Polygon -7500403 true true 151 64 167 74 189 76 213 77 224 90 232 114 227 137 247 163 241 179 241 206 223 218 201 217 185 222 171 240 147 245 123 226 101 218 75 213 64 196 64 166 59 153 63 136 77 127 74 90 90 79 111 94 126 72 Circle -7500403 true true 90 90 120 Circle -1 true false 135 135 30 bottomlayer4 false 0 Polygon -7500403 true true 281 149 271 133 269 111 268 87 255 76 231 68 208 73 182 53 166 59 139 59 127 77 128 99 123 115 105 129 100 153 119 177 127 199 132 225 149 236 179 236 192 241 209 237 218 223 255 226 266 210 251 189 273 174 Polygon -7500403 true true 119 49 103 59 81 61 57 62 46 75 38 99 43 122 23 148 29 164 29 191 47 203 69 202 85 207 99 225 123 230 147 211 169 203 195 198 206 181 206 151 211 138 207 121 193 112 196 75 180 64 159 79 144 57 Polygon -7500403 true true 64 181 74 197 76 219 77 243 90 254 114 262 137 257 163 277 179 271 206 271 218 253 217 231 222 215 240 201 245 177 226 153 218 131 213 105 196 94 166 94 153 89 136 93 127 107 90 104 79 120 94 141 72 156 Polygon -7500403 true true 151 206 167 196 189 194 213 193 224 180 232 156 227 133 247 107 241 91 241 64 223 52 201 53 185 48 171 30 147 25 123 44 101 52 75 57 64 74 64 104 59 117 63 134 77 143 74 180 90 191 111 176 126 198 Circle -7500403 true true 90 90 120 bullet0 false 0 Polygon -7500403 true true 45 150 150 45 255 150 150 255 45 150 90 150 150 210 210 150 150 90 90 150 Circle -7500403 true true 107 107 86 Circle -1 true false 120 120 60 Polygon -1 true false 60 150 150 60 240 150 150 240 60 150 75 150 150 225 225 150 150 75 75 150 Circle -1 true false 125 125 50 Circle -1 true false 134 134 32 bullet1 false 1 Circle -16777216 true false 90 90 120 Circle -2674135 true true 95 95 110 Circle -1 true false 107 107 86 Circle -1 true false 120 120 60 bullet10 false 1 Circle -2674135 false true 80 80 140 Circle -16777216 true false 98 98 104 Circle -2674135 true true 101 101 98 Circle -1 true false 107 107 86 Circle -1 true false 120 120 60 bullet11 true 0 Polygon -16777216 true false 150 90 141 92 132 97 116 117 102 142 94 160 90 183 90 211 94 226 103 212 116 197 134 187 150 179 Polygon -16777216 true false 150 90 159 92 168 97 184 117 198 142 206 160 210 183 210 211 206 226 197 212 184 197 166 187 150 179 Polygon -7500403 true true 150 94 140 96 130 103 119 119 110 137 102 154 97 175 95 197 95 213 103 202 116 190 130 182 145 176 151 175 Polygon -7500403 true true 150 94 160 96 170 103 181 119 190 137 198 154 203 175 205 197 205 213 197 202 184 190 170 182 155 176 149 175 Polygon -1 true false 151 104 139 107 130 118 121 136 115 150 109 174 108 181 124 167 136 160 151 157 Polygon -1 true false 149 104 161 107 170 118 179 136 185 150 191 174 192 181 176 167 164 160 149 157 bullet11-old true 0 Polygon -16777216 true false 135 90 90 165 90 210 150 180 210 210 210 165 165 90 Polygon -7500403 true true 137 95 95 166 95 204 150 175 205 204 205 165 163 95 Polygon -1 true false 150 105 135 120 105 180 150 150 195 180 165 120 150 105 Polygon -1 true false 150 105 135 120 105 180 150 135 195 180 165 120 150 105 Polygon -1 true false 150 105 135 120 105 180 150 120 195 180 165 120 150 105 bullet12 false 0 Circle -16777216 true false 75 75 150 Circle -1 true false 15 15 270 bullet12-bottom false 0 Circle -16777216 true false 135 135 30 Circle -7500403 true true 0 0 300 bullet13 false 1 Circle -1 true false 107 107 86 Circle -1 true false 120 120 60 bullet13-bottom false 1 Circle -2674135 true true 90 90 120 Circle -2674135 true true 95 95 110 bullet14 true 0 Line -7500403 true 150 150 150 0 bullet15 false 0 Circle -16777216 true false 60 60 180 Circle -7500403 true true 44 44 212 bullet2 false 0 Polygon -1 true false 1 155 1 147 1 140 2 132 3 124 5 116 7 109 9 101 12 94 15 87 18 80 22 73 26 67 31 60 36 54 41 48 46 43 52 38 58 33 65 28 71 24 78 20 85 16 92 13 99 10 106 8 114 5 122 4 129 2 137 2 145 1 153 1 160 1 168 2 176 3 184 5 191 7 199 9 206 12 213 15 220 18 227 22 233 26 240 31 246 36 252 41 257 46 262 52 267 58 272 65 276 71 280 78 284 85 287 92 290 99 292 106 295 114 296 122 298 129 298 137 299 145 299 153 299 160 298 168 297 176 295 184 293 191 291 199 288 206 285 213 282 220 278 227 274 233 269 240 264 246 259 252 254 257 248 262 242 267 235 272 229 276 222 280 215 284 208 287 201 290 194 292 186 295 178 296 171 298 163 298 155 299 147 299 140 299 132 298 124 297 116 295 109 293 101 291 94 288 87 285 80 282 73 278 67 274 60 269 54 264 48 259 43 254 38 248 33 242 28 235 24 229 20 222 16 215 13 208 10 201 8 194 5 186 4 178 2 171 2 163 1 155 40 154 40 160 41 165 42 171 43 177 45 182 47 188 49 193 51 198 54 203 57 208 60 213 63 218 67 222 71 226 75 230 79 234 84 238 88 241 93 244 98 247 104 250 109 252 114 254 120 256 125 257 131 258 137 259 142 260 148 260 154 260 160 260 165 259 171 258 177 257 182 255 188 253 193 251 198 249 203 246 208 243 213 240 218 237 222 233 226 229 230 225 234 221 238 216 241 212 244 207 247 202 250 196 252 191 254 186 256 180 257 175 258 169 259 163 260 158 260 152 260 146 260 140 259 135 258 129 257 123 255 118 253 112 251 107 249 102 246 97 243 92 240 87 237 82 233 78 229 74 225 70 221 66 216 62 212 59 207 56 202 53 196 50 191 48 186 46 180 44 175 43 169 42 163 41 158 40 152 40 146 40 140 40 135 41 129 42 123 43 118 45 112 47 107 49 102 51 97 54 92 57 87 60 82 63 78 67 74 71 70 75 66 79 62 84 59 88 56 93 53 98 50 104 48 109 46 114 44 120 43 125 42 131 41 137 40 142 40 148 40 154 bullet2-bottom false 0 Polygon -1 true false 159 25 165 26 172 27 178 28 184 30 191 32 197 34 203 37 209 40 214 43 220 46 225 50 230 54 235 59 240 63 244 68 249 73 252 78 256 84 259 89 262 95 265 101 267 107 270 113 271 120 273 126 274 133 275 139 275 146 275 152 275 159 274 165 273 172 272 178 270 184 268 191 266 197 263 203 260 209 257 214 254 220 250 225 246 230 241 235 237 240 232 244 227 249 222 252 216 256 211 259 205 262 199 265 193 267 187 270 180 271 174 273 167 274 161 275 154 275 148 275 141 275 135 274 128 273 122 272 116 270 109 268 103 266 97 263 91 260 86 257 80 254 75 250 70 246 65 241 60 237 56 232 51 227 48 222 44 216 41 211 38 205 35 199 33 193 30 187 29 180 27 174 26 167 25 161 25 154 25 148 25 141 26 135 27 128 28 122 30 116 32 109 34 103 37 97 40 91 43 86 46 80 50 75 54 70 59 65 63 60 68 56 73 51 78 48 84 44 89 41 95 38 101 35 107 33 113 30 120 29 126 27 133 26 139 25 146 25 152 25 159 25 157 50 152 50 147 50 141 50 136 51 131 52 126 53 121 54 116 56 111 58 106 60 102 63 97 65 93 68 88 71 84 75 81 78 77 82 73 86 70 90 67 94 64 98 62 103 59 108 57 113 55 117 54 122 53 128 52 133 51 138 50 143 50 148 50 153 50 159 51 164 52 169 53 174 54 179 56 184 58 189 60 194 63 198 65 203 68 207 71 212 75 216 78 219 82 223 86 227 90 230 94 233 98 236 103 238 108 241 113 243 117 245 122 246 128 247 133 248 138 249 143 250 148 250 153 250 159 250 164 249 169 248 174 247 179 246 184 244 189 242 194 240 198 237 203 235 207 232 212 229 216 225 219 222 223 218 227 214 230 210 233 206 236 202 238 197 241 192 243 187 245 183 246 178 247 172 248 167 249 162 250 157 250 152 250 147 250 141 249 136 248 131 247 126 246 121 244 116 242 111 240 106 237 102 235 97 232 93 229 88 225 84 222 81 218 77 214 73 210 70 206 67 202 64 197 62 192 59 187 57 183 55 178 54 172 53 167 52 162 51 157 50 Polygon -1 true false 159 25 165 26 172 27 178 28 184 30 191 32 197 34 203 37 209 40 214 43 220 46 225 50 230 54 235 59 240 63 244 68 249 73 252 78 256 84 259 89 262 95 265 101 267 107 270 113 271 120 273 126 274 133 275 139 275 146 275 152 275 159 274 165 273 172 272 178 270 184 268 191 266 197 263 203 260 209 257 214 254 220 250 225 246 230 241 235 237 240 232 244 227 249 222 252 216 256 211 259 205 262 199 265 193 267 187 270 180 271 174 273 167 274 161 275 154 275 148 275 141 275 135 274 128 273 122 272 116 270 109 268 103 266 97 263 91 260 86 257 80 254 75 250 70 246 65 241 60 237 56 232 51 227 48 222 44 216 41 211 38 205 35 199 33 193 30 187 29 180 27 174 26 167 25 161 25 154 25 148 25 141 26 135 27 128 28 122 30 116 32 109 34 103 37 97 40 91 43 86 46 80 50 75 54 70 59 65 63 60 68 56 73 51 78 48 84 44 89 41 95 38 101 35 107 33 113 30 120 29 126 27 133 26 139 25 146 25 152 25 159 25 157 50 152 50 147 50 141 50 136 51 131 52 126 53 121 54 116 56 111 58 106 60 102 63 97 65 93 68 88 71 84 75 81 78 77 82 73 86 70 90 67 94 64 98 62 103 59 108 57 113 55 117 54 122 53 128 52 133 51 138 50 143 50 148 50 153 50 159 51 164 52 169 53 174 54 179 56 184 58 189 60 194 63 198 65 203 68 207 71 212 75 216 78 219 82 223 86 227 90 230 94 233 98 236 103 238 108 241 113 243 117 245 122 246 128 247 133 248 138 249 143 250 148 250 153 250 159 250 164 249 169 248 174 247 179 246 184 244 189 242 194 240 198 237 203 235 207 232 212 229 216 225 219 222 223 218 227 214 230 210 233 206 236 202 238 197 241 192 243 187 245 183 246 178 247 172 248 167 249 162 250 157 250 152 250 147 250 141 249 136 248 131 247 126 246 121 244 116 242 111 240 106 237 102 235 97 232 93 229 88 225 84 222 81 218 77 214 73 210 70 206 67 202 64 197 62 192 59 187 57 183 55 178 54 172 53 167 52 162 51 157 50 Polygon -1 true false 159 25 165 26 172 27 178 28 184 30 191 32 197 34 203 37 209 40 214 43 220 46 225 50 230 54 235 59 240 63 244 68 249 73 252 78 256 84 259 89 262 95 265 101 267 107 270 113 271 120 273 126 274 133 275 139 275 146 275 152 275 159 274 165 273 172 272 178 270 184 268 191 266 197 263 203 260 209 257 214 254 220 250 225 246 230 241 235 237 240 232 244 227 249 222 252 216 256 211 259 205 262 199 265 193 267 187 270 180 271 174 273 167 274 161 275 154 275 148 275 141 275 135 274 128 273 122 272 116 270 109 268 103 266 97 263 91 260 86 257 80 254 75 250 70 246 65 241 60 237 56 232 51 227 48 222 44 216 41 211 38 205 35 199 33 193 30 187 29 180 27 174 26 167 25 161 25 154 25 148 25 141 26 135 27 128 28 122 30 116 32 109 34 103 37 97 40 91 43 86 46 80 50 75 54 70 59 65 63 60 68 56 73 51 78 48 84 44 89 41 95 38 101 35 107 33 113 30 120 29 126 27 133 26 139 25 146 25 152 25 159 25 157 50 152 50 147 50 141 50 136 51 131 52 126 53 121 54 116 56 111 58 106 60 102 63 97 65 93 68 88 71 84 75 81 78 77 82 73 86 70 90 67 94 64 98 62 103 59 108 57 113 55 117 54 122 53 128 52 133 51 138 50 143 50 148 50 153 50 159 51 164 52 169 53 174 54 179 56 184 58 189 60 194 63 198 65 203 68 207 71 212 75 216 78 219 82 223 86 227 90 230 94 233 98 236 103 238 108 241 113 243 117 245 122 246 128 247 133 248 138 249 143 250 148 250 153 250 159 250 164 249 169 248 174 247 179 246 184 244 189 242 194 240 198 237 203 235 207 232 212 229 216 225 219 222 223 218 227 214 230 210 233 206 236 202 238 197 241 192 243 187 245 183 246 178 247 172 248 167 249 162 250 157 250 152 250 147 250 141 249 136 248 131 247 126 246 121 244 116 242 111 240 106 237 102 235 97 232 93 229 88 225 84 222 81 218 77 214 73 210 70 206 67 202 64 197 62 192 59 187 57 183 55 178 54 172 53 167 52 162 51 157 50 Circle -16777216 true false 45 45 210 Polygon -7500403 true true 144 27 150 55 156 32 161 48 168 33 172 48 177 49 186 41 186 56 195 48 199 55 200 64 202 69 209 69 217 67 221 72 220 80 238 71 240 77 228 93 240 91 251 92 250 99 262 100 249 112 244 119 251 123 254 128 249 134 267 138 251 145 271 150 252 155 255 161 272 169 243 170 245 175 262 187 260 192 238 189 259 205 243 204 231 202 230 208 235 219 232 224 226 226 225 233 226 244 223 250 216 252 205 246 194 237 194 249 193 263 187 263 176 248 175 267 166 251 163 270 155 250 150 272 144 263 139 255 131 267 127 258 123 250 112 266 106 265 105 250 95 259 100 237 82 254 84 241 81 236 81 226 67 233 76 217 70 214 52 221 50 215 55 205 46 203 47 196 55 186 40 186 41 179 51 171 38 168 31 162 48 155 51 150 48 145 35 138 39 132 35 126 35 119 49 117 33 105 53 107 64 106 46 90 45 82 71 92 54 72 66 74 73 73 86 79 90 76 85 61 90 57 89 44 97 46 104 47 109 43 121 59 122 47 128 47 134 51 138 35 144 34 147 92 144 90 140 85 131 63 130 76 125 75 130 98 117 76 129 109 134 122 132 122 128 120 125 119 115 111 90 90 93 99 84 96 115 124 119 130 105 124 86 117 117 135 69 119 86 129 77 131 103 140 66 137 81 143 90 147 91 150 115 152 106 155 86 160 72 167 88 167 118 161 107 166 73 184 100 175 119 168 106 178 122 170 102 189 93 202 114 186 126 176 113 195 120 192 123 192 123 197 123 204 124 208 123 220 140 179 127 235 131 237 140 215 144 205 146 227 150 229 154 221 156 204 163 234 163 211 159 184 176 230 173 211 175 206 177 203 180 202 181 197 180 192 185 193 207 213 206 206 196 191 199 190 184 175 212 190 185 170 192 171 183 165 185 163 210 169 212 167 189 158 199 158 199 155 204 153 214 150 203 147 238 141 206 141 188 142 193 139 191 137 227 120 200 128 197 126 228 105 220 104 185 124 185 121 203 102 203 97 194 101 195 94 187 99 186 95 187 86 183 85 167 112 180 72 171 86 164 99 165 77 156 110 156 92 152 116 150 99 147 91 Polygon -7500403 true true 81 74 77 60 91 68 84 48 88 43 96 44 105 49 108 40 119 55 119 35 128 44 131 28 137 29 143 25 150 37 156 36 162 38 168 39 173 44 176 51 183 49 193 39 193 53 194 63 206 53 215 50 210 68 227 55 233 58 230 70 238 71 242 75 244 81 240 92 241 97 240 104 248 106 256 109 259 115 243 125 246 130 265 132 264 138 246 145 265 150 257 156 250 160 269 169 263 174 270 182 261 186 258 191 250 194 255 203 245 205 236 205 240 215 243 225 227 220 233 233 222 230 227 245 217 242 212 245 207 248 202 252 189 237 188 250 187 265 180 263 173 260 165 244 160 246 156 270 150 260 145 252 137 272 135 245 128 251 121 258 116 254 114 245 103 256 103 242 98 240 95 235 93 229 76 241 72 237 81 219 58 233 63 221 52 221 59 209 53 206 50 201 37 201 42 191 45 184 36 181 47 172 46 166 48 161 36 156 31 150 41 144 47 139 30 131 45 128 37 120 38 114 46 110 41 101 47 98 56 96 49 85 57 82 67 82 72 79 76 76 81 74 121 118 101 101 128 130 101 110 106 118 86 109 99 121 95 122 118 136 85 125 67 123 108 139 89 137 105 143 73 142 68 146 83 150 80 154 80 157 112 156 65 168 105 162 113 162 102 168 122 162 116 167 114 171 93 187 113 177 92 197 127 171 91 209 107 197 106 204 106 210 110 211 124 195 109 230 125 206 119 231 133 202 137 198 137 213 138 225 147 181 148 197 150 204 153 204 157 218 157 195 160 197 164 202 163 189 173 209 186 231 185 219 194 226 171 182 178 189 193 203 199 204 192 192 204 199 177 172 184 175 212 190 224 193 200 175 198 171 226 179 216 171 191 161 207 162 217 161 217 157 224 154 213 150 227 146 221 143 205 141 227 134 212 133 181 140 193 134 190 132 209 120 177 134 212 109 213 104 215 98 173 129 213 87 172 125 204 83 184 103 186 95 171 113 189 73 183 76 166 107 166 101 160 113 162 93 161 80 157 86 152 118 150 88 146 72 142 76 137 67 142 115 129 70 127 81 123 79 131 108 113 78 117 93 132 122 123 112 131 126 118 115 Polygon -16777216 true false 165 140 220 97 164 133 204 80 158 129 177 67 154 129 118 66 149 132 77 99 144 137 60 147 146 143 67 179 145 149 90 213 149 156 133 233 153 158 168 233 158 158 202 215 163 155 227 179 166 148 237 137 Polygon -16777216 true false 140 135 97 80 133 136 80 96 129 142 67 123 129 146 66 182 132 151 99 223 137 156 147 240 143 154 179 233 149 155 213 210 156 151 233 167 158 147 233 132 158 142 215 98 155 137 179 73 148 134 137 63 Polygon -16777216 true false 135 160 80 203 136 167 96 220 142 171 123 233 146 171 182 234 151 168 223 201 156 163 240 153 154 157 233 121 155 151 210 87 151 144 167 67 147 142 132 67 142 142 98 85 137 145 73 121 134 152 63 163 Polygon -16777216 true false 160 165 203 220 167 164 220 204 171 158 233 177 171 154 234 118 168 149 201 77 163 144 153 60 157 146 121 67 151 145 87 90 144 149 67 133 142 153 67 168 142 158 85 202 145 163 121 227 152 166 163 237 bullet2bottomrotatable true 0 Polygon -1 true false 159 25 165 26 172 27 178 28 184 30 191 32 197 34 203 37 209 40 214 43 220 46 225 50 230 54 235 59 240 63 244 68 249 73 252 78 256 84 259 89 262 95 265 101 267 107 270 113 271 120 273 126 274 133 275 139 275 146 275 152 275 159 274 165 273 172 272 178 270 184 268 191 266 197 263 203 260 209 257 214 254 220 250 225 246 230 241 235 237 240 232 244 227 249 222 252 216 256 211 259 205 262 199 265 193 267 187 270 180 271 174 273 167 274 161 275 154 275 148 275 141 275 135 274 128 273 122 272 116 270 109 268 103 266 97 263 91 260 86 257 80 254 75 250 70 246 65 241 60 237 56 232 51 227 48 222 44 216 41 211 38 205 35 199 33 193 30 187 29 180 27 174 26 167 25 161 25 154 25 148 25 141 26 135 27 128 28 122 30 116 32 109 34 103 37 97 40 91 43 86 46 80 50 75 54 70 59 65 63 60 68 56 73 51 78 48 84 44 89 41 95 38 101 35 107 33 113 30 120 29 126 27 133 26 139 25 146 25 152 25 159 25 157 50 152 50 147 50 141 50 136 51 131 52 126 53 121 54 116 56 111 58 106 60 102 63 97 65 93 68 88 71 84 75 81 78 77 82 73 86 70 90 67 94 64 98 62 103 59 108 57 113 55 117 54 122 53 128 52 133 51 138 50 143 50 148 50 153 50 159 51 164 52 169 53 174 54 179 56 184 58 189 60 194 63 198 65 203 68 207 71 212 75 216 78 219 82 223 86 227 90 230 94 233 98 236 103 238 108 241 113 243 117 245 122 246 128 247 133 248 138 249 143 250 148 250 153 250 159 250 164 249 169 248 174 247 179 246 184 244 189 242 194 240 198 237 203 235 207 232 212 229 216 225 219 222 223 218 227 214 230 210 233 206 236 202 238 197 241 192 243 187 245 183 246 178 247 172 248 167 249 162 250 157 250 152 250 147 250 141 249 136 248 131 247 126 246 121 244 116 242 111 240 106 237 102 235 97 232 93 229 88 225 84 222 81 218 77 214 73 210 70 206 67 202 64 197 62 192 59 187 57 183 55 178 54 172 53 167 52 162 51 157 50 Polygon -1 true false 159 25 165 26 172 27 178 28 184 30 191 32 197 34 203 37 209 40 214 43 220 46 225 50 230 54 235 59 240 63 244 68 249 73 252 78 256 84 259 89 262 95 265 101 267 107 270 113 271 120 273 126 274 133 275 139 275 146 275 152 275 159 274 165 273 172 272 178 270 184 268 191 266 197 263 203 260 209 257 214 254 220 250 225 246 230 241 235 237 240 232 244 227 249 222 252 216 256 211 259 205 262 199 265 193 267 187 270 180 271 174 273 167 274 161 275 154 275 148 275 141 275 135 274 128 273 122 272 116 270 109 268 103 266 97 263 91 260 86 257 80 254 75 250 70 246 65 241 60 237 56 232 51 227 48 222 44 216 41 211 38 205 35 199 33 193 30 187 29 180 27 174 26 167 25 161 25 154 25 148 25 141 26 135 27 128 28 122 30 116 32 109 34 103 37 97 40 91 43 86 46 80 50 75 54 70 59 65 63 60 68 56 73 51 78 48 84 44 89 41 95 38 101 35 107 33 113 30 120 29 126 27 133 26 139 25 146 25 152 25 159 25 157 50 152 50 147 50 141 50 136 51 131 52 126 53 121 54 116 56 111 58 106 60 102 63 97 65 93 68 88 71 84 75 81 78 77 82 73 86 70 90 67 94 64 98 62 103 59 108 57 113 55 117 54 122 53 128 52 133 51 138 50 143 50 148 50 153 50 159 51 164 52 169 53 174 54 179 56 184 58 189 60 194 63 198 65 203 68 207 71 212 75 216 78 219 82 223 86 227 90 230 94 233 98 236 103 238 108 241 113 243 117 245 122 246 128 247 133 248 138 249 143 250 148 250 153 250 159 250 164 249 169 248 174 247 179 246 184 244 189 242 194 240 198 237 203 235 207 232 212 229 216 225 219 222 223 218 227 214 230 210 233 206 236 202 238 197 241 192 243 187 245 183 246 178 247 172 248 167 249 162 250 157 250 152 250 147 250 141 249 136 248 131 247 126 246 121 244 116 242 111 240 106 237 102 235 97 232 93 229 88 225 84 222 81 218 77 214 73 210 70 206 67 202 64 197 62 192 59 187 57 183 55 178 54 172 53 167 52 162 51 157 50 Polygon -1 true false 159 25 165 26 172 27 178 28 184 30 191 32 197 34 203 37 209 40 214 43 220 46 225 50 230 54 235 59 240 63 244 68 249 73 252 78 256 84 259 89 262 95 265 101 267 107 270 113 271 120 273 126 274 133 275 139 275 146 275 152 275 159 274 165 273 172 272 178 270 184 268 191 266 197 263 203 260 209 257 214 254 220 250 225 246 230 241 235 237 240 232 244 227 249 222 252 216 256 211 259 205 262 199 265 193 267 187 270 180 271 174 273 167 274 161 275 154 275 148 275 141 275 135 274 128 273 122 272 116 270 109 268 103 266 97 263 91 260 86 257 80 254 75 250 70 246 65 241 60 237 56 232 51 227 48 222 44 216 41 211 38 205 35 199 33 193 30 187 29 180 27 174 26 167 25 161 25 154 25 148 25 141 26 135 27 128 28 122 30 116 32 109 34 103 37 97 40 91 43 86 46 80 50 75 54 70 59 65 63 60 68 56 73 51 78 48 84 44 89 41 95 38 101 35 107 33 113 30 120 29 126 27 133 26 139 25 146 25 152 25 159 25 157 50 152 50 147 50 141 50 136 51 131 52 126 53 121 54 116 56 111 58 106 60 102 63 97 65 93 68 88 71 84 75 81 78 77 82 73 86 70 90 67 94 64 98 62 103 59 108 57 113 55 117 54 122 53 128 52 133 51 138 50 143 50 148 50 153 50 159 51 164 52 169 53 174 54 179 56 184 58 189 60 194 63 198 65 203 68 207 71 212 75 216 78 219 82 223 86 227 90 230 94 233 98 236 103 238 108 241 113 243 117 245 122 246 128 247 133 248 138 249 143 250 148 250 153 250 159 250 164 249 169 248 174 247 179 246 184 244 189 242 194 240 198 237 203 235 207 232 212 229 216 225 219 222 223 218 227 214 230 210 233 206 236 202 238 197 241 192 243 187 245 183 246 178 247 172 248 167 249 162 250 157 250 152 250 147 250 141 249 136 248 131 247 126 246 121 244 116 242 111 240 106 237 102 235 97 232 93 229 88 225 84 222 81 218 77 214 73 210 70 206 67 202 64 197 62 192 59 187 57 183 55 178 54 172 53 167 52 162 51 157 50 Circle -16777216 true false 45 45 210 Polygon -7500403 true true 144 27 150 55 156 32 161 48 168 33 172 48 177 49 186 41 186 56 195 48 199 55 200 64 202 69 209 69 217 67 221 72 220 80 238 71 240 77 228 93 240 91 251 92 250 99 262 100 249 112 244 119 251 123 254 128 249 134 267 138 251 145 271 150 252 155 255 161 272 169 243 170 245 175 262 187 260 192 238 189 259 205 243 204 231 202 230 208 235 219 232 224 226 226 225 233 226 244 223 250 216 252 205 246 194 237 194 249 193 263 187 263 176 248 175 267 166 251 163 270 155 250 150 272 144 263 139 255 131 267 127 258 123 250 112 266 106 265 105 250 95 259 100 237 82 254 84 241 81 236 81 226 67 233 76 217 70 214 52 221 50 215 55 205 46 203 47 196 55 186 40 186 41 179 51 171 38 168 31 162 48 155 51 150 48 145 35 138 39 132 35 126 35 119 49 117 33 105 53 107 64 106 46 90 45 82 71 92 54 72 66 74 73 73 86 79 90 76 85 61 90 57 89 44 97 46 104 47 109 43 121 59 122 47 128 47 134 51 138 35 144 34 147 92 144 90 140 85 131 63 130 76 125 75 130 98 117 76 129 109 134 122 132 122 128 120 125 119 115 111 90 90 93 99 84 96 115 124 119 130 105 124 86 117 117 135 69 119 86 129 77 131 103 140 66 137 81 143 90 147 91 150 115 152 106 155 86 160 72 167 88 167 118 161 107 166 73 184 100 175 119 168 106 178 122 170 102 189 93 202 114 186 126 176 113 195 120 192 123 192 123 197 123 204 124 208 123 220 140 179 127 235 131 237 140 215 144 205 146 227 150 229 154 221 156 204 163 234 163 211 159 184 176 230 173 211 175 206 177 203 180 202 181 197 180 192 185 193 207 213 206 206 196 191 199 190 184 175 212 190 185 170 192 171 183 165 185 163 210 169 212 167 189 158 199 158 199 155 204 153 214 150 203 147 238 141 206 141 188 142 193 139 191 137 227 120 200 128 197 126 228 105 220 104 185 124 185 121 203 102 203 97 194 101 195 94 187 99 186 95 187 86 183 85 167 112 180 72 171 86 164 99 165 77 156 110 156 92 152 116 150 99 147 91 Polygon -7500403 true true 81 74 77 60 91 68 84 48 88 43 96 44 105 49 108 40 119 55 119 35 128 44 131 28 137 29 143 25 150 37 156 36 162 38 168 39 173 44 176 51 183 49 193 39 193 53 194 63 206 53 215 50 210 68 227 55 233 58 230 70 238 71 242 75 244 81 240 92 241 97 240 104 248 106 256 109 259 115 243 125 246 130 265 132 264 138 246 145 265 150 257 156 250 160 269 169 263 174 270 182 261 186 258 191 250 194 255 203 245 205 236 205 240 215 243 225 227 220 233 233 222 230 227 245 217 242 212 245 207 248 202 252 189 237 188 250 187 265 180 263 173 260 165 244 160 246 156 270 150 260 145 252 137 272 135 245 128 251 121 258 116 254 114 245 103 256 103 242 98 240 95 235 93 229 76 241 72 237 81 219 58 233 63 221 52 221 59 209 53 206 50 201 37 201 42 191 45 184 36 181 47 172 46 166 48 161 36 156 31 150 41 144 47 139 30 131 45 128 37 120 38 114 46 110 41 101 47 98 56 96 49 85 57 82 67 82 72 79 76 76 81 74 121 118 101 101 128 130 101 110 106 118 86 109 99 121 95 122 118 136 85 125 67 123 108 139 89 137 105 143 73 142 68 146 83 150 80 154 80 157 112 156 65 168 105 162 113 162 102 168 122 162 116 167 114 171 93 187 113 177 92 197 127 171 91 209 107 197 106 204 106 210 110 211 124 195 109 230 125 206 119 231 133 202 137 198 137 213 138 225 147 181 148 197 150 204 153 204 157 218 157 195 160 197 164 202 163 189 173 209 186 231 185 219 194 226 171 182 178 189 193 203 199 204 192 192 204 199 177 172 184 175 212 190 224 193 200 175 198 171 226 179 216 171 191 161 207 162 217 161 217 157 224 154 213 150 227 146 221 143 205 141 227 134 212 133 181 140 193 134 190 132 209 120 177 134 212 109 213 104 215 98 173 129 213 87 172 125 204 83 184 103 186 95 171 113 189 73 183 76 166 107 166 101 160 113 162 93 161 80 157 86 152 118 150 88 146 72 142 76 137 67 142 115 129 70 127 81 123 79 131 108 113 78 117 93 132 122 123 112 131 126 118 115 Polygon -16777216 true false 165 140 220 97 164 133 204 80 158 129 177 67 154 129 118 66 149 132 77 99 144 137 60 147 146 143 67 179 145 149 90 213 149 156 133 233 153 158 168 233 158 158 202 215 163 155 227 179 166 148 237 137 Polygon -16777216 true false 140 135 97 80 133 136 80 96 129 142 67 123 129 146 66 182 132 151 99 223 137 156 147 240 143 154 179 233 149 155 213 210 156 151 233 167 158 147 233 132 158 142 215 98 155 137 179 73 148 134 137 63 Polygon -16777216 true false 135 160 80 203 136 167 96 220 142 171 123 233 146 171 182 234 151 168 223 201 156 163 240 153 154 157 233 121 155 151 210 87 151 144 167 67 147 142 132 67 142 142 98 85 137 145 73 121 134 152 63 163 Polygon -16777216 true false 160 165 203 220 167 164 220 204 171 158 233 177 171 154 234 118 168 149 201 77 163 144 153 60 157 146 121 67 151 145 87 90 144 149 67 133 142 153 67 168 142 158 85 202 145 163 121 227 152 166 163 237 bullet3 false 0 Circle -7500403 true true 120 120 60 Circle -7500403 true true 122 122 56 Circle -16777216 true false 135 135 30 bullet4 false 0 Circle -16777216 true false 0 0 300 Circle -7500403 true true 3 3 294 Circle -1 true false 15 15 270 bullet5 false 0 Circle -16777216 true false 120 120 60 Circle -7500403 true true 120 120 60 Circle -1 true false 128 128 44 bullet6 true 0 Polygon -16777216 true false 150 75 120 105 105 135 105 165 120 195 150 225 180 195 195 165 195 135 180 105 Polygon -7500403 true true 150 80 123 105 108 136 108 165 123 194 150 221 176 195 192 165 192 135 177 106 Polygon -1 true false 150 90 130 112 120 135 120 165 131 188 150 210 169 187 180 165 180 135 170 114 bullet7 true 0 Polygon -16777216 true false 120 45 105 75 97 103 92 135 92 165 96 196 105 225 120 255 180 255 195 225 204 196 209 165 209 138 202 100 195 75 180 45 Circle -16777216 true false 116 26 67 Circle -16777216 true false 117 207 67 Polygon -7500403 true true 125 45 109 76 101 105 96 139 96 161 100 196 109 224 124 254 175 255 190 226 200 197 205 164 205 139 199 104 190 75 175 45 Circle -7500403 true true 121 212 58 Circle -7500403 true true 121 30 58 Circle -1 true false 125 49 50 Circle -1 true false 125 201 50 Polygon -1 true false 126 66 118 92 113 116 110 139 110 159 113 183 118 208 126 232 174 234 182 211 189 182 191 160 191 139 188 116 182 91 173 66 bullet8 false 1 Circle -1 true false 98 98 104 bullet9 true 0 Polygon -1 true false 150 90 165 60 195 30 240 45 270 60 285 90 285 120 255 150 210 180 240 195 255 210 255 240 240 255 210 270 180 255 165 240 150 225 150 180 Polygon -7500403 true true 157 140 210 60 267 70 279 103 203 182 248 210 248 224 234 227 238 245 232 251 216 241 211 259 193 259 163 225 Polygon -1 true false 150 90 135 60 105 30 60 45 30 60 15 90 15 120 45 150 90 180 60 195 45 210 45 240 60 255 90 270 120 255 135 240 150 225 150 180 Polygon -7500403 true true 143 140 90 60 33 70 21 103 97 182 52 210 52 224 66 227 62 245 68 251 84 241 89 259 107 259 137 225 Circle -16777216 true false 90 90 120 Circle -16777216 true false 90 90 120 Circle -7500403 true true 95 95 110 Circle -7500403 true true 107 107 86 Circle -1 true false 113 113 74 Circle -1 true false 120 120 60 Circle -1 true false 126 126 48 Line -7500403 true 231 243 203 196 Line -7500403 true 243 220 203 196 Line -7500403 true 201 250 203 196 Line -7500403 true 57 220 97 196 Line -7500403 true 69 243 97 196 Line -7500403 true 99 250 97 196 Line -7500403 true 206 127 210 75 Line -7500403 true 206 127 245 125 Line -7500403 true 206 127 258 79 Line -7500403 true 94 127 55 125 Line -7500403 true 94 127 42 79 Line -7500403 true 94 127 90 75 Line -7500403 true 165 90 195 60 Line -7500403 true 135 90 105 60 Circle -1 true false 126 126 48 bulletcancel false 0 Line -7500403 true 150 150 60 150 Line -7500403 true 150 150 240 150 Line -7500403 true 150 150 150 240 Line -7500403 true 150 150 150 60 Line -7500403 true 150 150 213 213 Line -7500403 true 150 150 86 214 Line -7500403 true 150 150 214 86 Line -7500403 true 150 150 85 85 Line -7500403 true 150 150 75 180 Line -7500403 true 150 150 120 75 Line -7500403 true 150 150 180 75 Line -7500403 true 150 150 75 120 Line -7500403 true 150 150 120 225 Line -7500403 true 150 150 225 180 Line -7500403 true 150 150 180 225 Line -7500403 true 150 150 225 120 Line -1 false 150 150 150 180 Line -1 false 150 150 180 150 Line -1 false 150 150 150 120 Line -1 false 150 150 120 150 Line -1 false 150 150 135 150 Line -1 false 150 150 150 165 Line -1 false 150 150 165 150 Line -1 false 150 150 150 135 circle false 0 Circle -7500403 true true 0 0 300 corner true 0 Rectangle -4934476 true false 0 0 300 300 Polygon -1 true false 227 227 229 227 229 229 229 227 231 227 229 227 229 225 229 227 Polygon -1 true false 112 194 113 194 113 195 113 194 114 194 113 194 113 193 113 194 Polygon -1 true false 262 217 263 217 263 218 263 217 264 217 263 217 263 216 263 217 Polygon -1 true false 285 54 288 55 289 58 290 55 293 54 290 53 289 50 288 53 Polygon -1 true false 190 216 191 216 191 217 191 216 192 216 191 216 191 215 191 216 Polygon -1 true false 154 191 159 192 160 197 161 192 166 191 161 190 160 185 159 190 Polygon -1 true false 102 90 108 92 110 98 112 92 118 90 112 88 110 82 108 88 Polygon -1 true false 211 156 214 157 215 160 216 157 219 156 216 155 215 152 214 155 Polygon -1 true false 109 51 117 53 119 61 121 53 129 51 121 49 119 41 117 49 Polygon -1 true false 91 155 93 156 94 158 95 156 97 155 95 154 94 152 93 154 Polygon -1 true false 122 94 128 95 129 101 130 95 136 94 130 93 129 87 128 93 Polygon -1 true false 229 231 231 232 232 234 233 232 235 231 233 230 232 228 231 230 Polygon -1 true false 222 188 224 188 224 190 224 188 226 188 224 188 224 186 224 188 Polygon -1 true false 105 221 107 222 108 224 109 222 111 221 109 220 108 218 107 220 Polygon -1 true false 262 247 263 247 263 248 263 247 264 247 263 247 263 246 263 247 Polygon -1 true false 178 89 180 89 180 91 180 89 182 89 180 89 180 87 180 89 Polygon -1 true false 223 142 227 143 228 147 229 143 233 142 229 141 228 137 227 141 Polygon -1 true false 207 171 208 171 208 172 208 171 209 171 208 171 208 170 208 171 Polygon -1 true false 58 197 61 198 62 201 63 198 66 197 63 196 62 193 61 196 Polygon -1 true false 53 29 59 30 60 36 61 30 67 29 61 28 60 22 59 28 Polygon -1 true false 108 225 110 226 111 228 112 226 114 225 112 224 111 222 110 224 Polygon -1 true false 263 67 271 69 273 77 275 69 283 67 275 65 273 57 271 65 Polygon -1 true false 284 46 286 46 286 48 286 46 288 46 286 46 286 44 286 46 Polygon -1 true false 37 77 38 77 38 78 38 77 39 77 38 77 38 76 38 77 Polygon -1 true false 83 71 87 72 88 76 89 72 93 71 89 70 88 66 87 70 Polygon -1 true false 58 241 59 241 59 242 59 241 60 241 59 241 59 240 59 241 Polygon -1 true false 262 106 265 107 266 110 267 107 270 106 267 105 266 102 265 105 Polygon -1 true false 237 46 251 49 254 63 257 49 271 46 257 43 254 29 251 43 Polygon -1 true false 189 74 194 75 195 80 196 75 201 74 196 73 195 68 194 73 Polygon -1 true false 274 201 276 202 277 204 278 202 280 201 278 200 277 198 276 200 Polygon -1 true false 97 192 100 193 101 196 102 193 105 192 102 191 101 188 100 191 Polygon -1 true false 151 68 164 71 167 84 170 71 183 68 170 65 167 52 164 65 Polygon -1 true false 209 87 225 91 229 107 233 91 249 87 233 83 229 67 225 83 Polygon -1 true false 263 227 264 227 264 228 264 227 265 227 264 227 264 226 264 227 Polygon -1 true false -1 224 1 224 1 226 1 224 3 224 1 224 1 222 1 224 Polygon -1 true false 75 194 77 195 78 197 79 195 81 194 79 193 78 191 77 193 Polygon -1 true false 199 194 201 194 201 196 201 194 203 194 201 194 201 192 201 194 Polygon -1 true false 243 297 241 297 241 295 241 297 239 297 241 297 241 299 241 297 Polygon -1 true false 183 148 185 148 185 150 185 148 187 148 185 148 185 146 185 148 Polygon -1 true false 116 27 122 29 124 35 126 29 132 27 126 25 124 19 122 25 Polygon -1 true false 82 227 84 228 85 230 86 228 88 227 86 226 85 224 84 226 Polygon -1 true false 252 232 254 232 254 234 254 232 256 232 254 232 254 230 254 232 Polygon -1 true false 95 136 100 137 101 142 102 137 107 136 102 135 101 130 100 135 Polygon -1 true false 158 158 161 159 162 162 163 159 166 158 163 157 162 154 161 157 Polygon -1 true false 109 173 114 174 115 179 116 174 121 173 116 172 115 167 114 172 Polygon -1 true false 233 126 239 128 241 134 243 128 249 126 243 124 241 118 239 124 Polygon -1 true false 273 110 280 112 282 119 284 112 291 110 284 108 282 101 280 108 Polygon -1 true false 272 131 282 134 285 144 288 134 298 131 288 128 285 118 282 128 Polygon -1 true false 286 281 285 281 285 280 285 281 284 281 285 281 285 282 285 281 Polygon -1 true false 289 291 288 291 288 290 288 291 287 291 288 291 288 292 288 291 Polygon -1 true false 204 288 202 288 202 286 202 288 200 288 202 288 202 290 202 288 Polygon -1 true false 200 295 198 295 198 293 198 295 196 295 198 295 198 297 198 295 Polygon -1 true false 172 204 174 205 175 207 176 205 178 204 176 203 175 201 174 203 Polygon -1 true false 140 112 146 114 148 120 150 114 156 112 150 110 148 104 146 110 Polygon -1 true false 176 115 184 117 186 125 188 117 196 115 188 113 186 105 184 113 Polygon -1 true false 252 208 255 209 256 212 257 209 260 208 257 207 256 204 255 207 Polygon -1 true false 73 104 76 105 77 108 78 105 81 104 78 103 77 100 76 103 Polygon -1 true false 232 173 242 175 244 185 246 175 256 173 246 171 244 161 242 171 Polygon -1 true false 2 269 1 269 1 268 1 269 0 269 1 269 1 270 1 269 Polygon -1 true false 221 53 228 55 230 62 232 55 239 53 232 51 230 44 228 51 Polygon -1 true false 133 138 139 140 141 146 143 140 149 138 143 136 141 130 139 136 Polygon -1 true false 242 85 257 89 261 104 265 89 280 85 265 81 261 66 257 81 Polygon -1 true false 220 182 224 183 225 187 226 183 230 182 226 181 225 177 224 181 Polygon -1 true false 145 188 147 188 147 190 147 188 149 188 147 188 147 186 147 188 Polygon -1 true false 21 238 23 238 23 240 23 238 25 238 23 238 23 236 23 238 Polygon -1 true false 148 208 146 207 145 205 144 207 142 208 144 209 145 211 146 209 Polygon -1 true false 264 276 262 276 262 274 262 276 260 276 262 276 262 278 262 276 Polygon -1 true false 182 162 189 164 191 171 193 164 200 162 193 160 191 153 189 160 Polygon -1 true false 166 93 169 94 170 97 171 94 174 93 171 92 170 89 169 92 Polygon -1 true false 174 139 176 140 177 142 178 140 180 139 178 138 177 136 176 138 Polygon -1 true false 241 250 242 250 242 251 242 250 243 250 242 250 242 249 242 250 Polygon -1 true false 187 37 204 41 208 58 212 41 229 37 212 33 208 16 204 33 Polygon -1 true false 256 105 262 107 264 113 266 107 272 105 266 103 264 97 262 103 Polygon -1 true false 256 21 266 23 268 33 270 23 280 21 270 19 268 9 266 19 Polygon -1 true false 278 274 277 274 277 273 277 274 276 274 277 274 277 275 277 274 Polygon -1 true false 163 18 176 21 179 34 182 21 195 18 182 15 179 2 176 15 Polygon -1 true false 257 180 262 181 263 186 264 181 269 180 264 179 263 174 262 179 Polygon -1 true false 16 81 18 81 18 83 18 81 20 81 18 81 18 79 18 81 Polygon -1 true false 260 241 261 241 261 242 261 241 262 241 261 241 261 240 261 241 Polygon -1 true false 243 180 244 180 244 181 244 180 245 180 244 180 244 179 244 180 Polygon -1 true false 71 146 73 147 74 149 75 147 77 146 75 145 74 143 73 145 Polygon -1 true false 202 127 210 129 212 137 214 129 222 127 214 125 212 117 210 125 Polygon -1 true false 137 172 143 173 144 179 145 173 151 172 145 171 144 165 143 171 Polygon -1 true false 281 61 293 64 296 76 299 64 311 61 299 58 296 46 293 58 Polygon -1 true false 290 33 299 35 301 44 303 35 312 33 303 31 301 22 299 31 Polygon -1 true false 298 183 304 185 306 191 308 185 314 183 308 181 306 175 304 181 Polygon -1 true false 297 65 307 67 309 77 311 67 321 65 311 63 309 53 307 63 Polygon -1 true false 221 1 233 4 236 16 239 4 251 1 239 -2 236 -14 233 -2 Polygon -1 true false 184 221 189 222 190 227 191 222 196 221 191 220 190 215 189 220 Polygon -1 true false 41 116 43 117 44 119 45 117 47 116 45 115 44 113 43 115 Polygon -1 true false 146 251 148 252 149 254 150 252 152 251 150 250 149 248 148 250 Polygon -1 true false 266 236 268 237 269 239 270 237 272 236 270 235 269 233 268 235 Rectangle -7303024 true false 275 0 300 25 Rectangle -9671572 true false 280 0 300 20 Rectangle -12040120 true false 285 0 300 15 Rectangle -14408668 true false 290 0 300 10 Rectangle -16777216 true false 295 0 300 5 default-left false 0 default-right false 0 fairy-bubble true 0 Circle -7500403 true true 0 0 300 Polygon -1 true false 151 8 124 10 98 17 72 31 51 50 44 60 53 56 70 46 94 34 123 26 154 20 179 21 200 25 228 32 207 20 183 12 166 9 Polygon -1 true false 9 167 11 184 16 204 22 217 28 226 38 236 50 241 34 219 22 185 13 141 Polygon -1 true false 103 281 136 287 168 283 200 275 220 262 238 248 255 223 271 191 279 151 277 120 270 97 287 127 290 154 288 182 280 210 264 235 236 265 202 284 164 293 129 291 Polygon -1 true false 151 8 124 10 98 17 72 31 51 50 44 60 58 47 72 37 92 27 125 16 155 14 177 15 200 21 228 32 207 20 183 12 166 9 Polygon -1 true false 9 167 11 184 16 204 22 217 28 226 38 236 50 241 25 215 15 178 13 141 Polygon -1 true false 103 281 135 288 168 287 195 280 219 269 240 253 261 229 278 198 285 154 281 125 270 97 287 127 290 154 288 182 280 210 264 235 236 265 202 284 164 293 129 291 fairy_big_complete false 0 Polygon -1 true false 151 112 160 106 163 94 167 90 171 93 169 104 174 108 182 102 188 89 186 77 178 67 167 67 158 74 154 72 155 64 165 50 182 30 204 20 223 21 245 35 270 60 280 75 280 86 276 87 271 83 268 73 260 60 244 52 234 53 225 61 225 68 234 75 246 77 250 74 249 83 237 94 231 100 238 102 251 111 264 123 256 133 244 144 241 152 244 164 242 169 234 165 234 151 235 142 239 134 229 131 214 138 194 140 179 132 166 122 152 118 Polygon -2064490 true false 187 70 196 73 204 69 210 63 213 55 214 64 212 74 214 86 219 91 224 94 232 91 237 88 235 93 226 99 230 102 239 105 234 111 219 118 198 118 181 111 195 112 213 112 222 108 224 105 218 100 206 92 197 89 187 91 192 87 192 81 188 75 183 70 Polygon -1 true false 155 158 180 160 207 169 222 177 233 182 236 191 234 196 225 200 227 205 235 208 243 206 254 198 260 189 260 181 262 177 267 176 271 180 271 193 266 210 252 220 235 227 228 234 231 243 241 253 247 260 247 264 239 269 230 268 223 263 216 254 212 239 215 223 211 213 209 200 204 192 191 184 179 177 163 173 154 171 Polygon -1 true false 126 125 92 179 108 200 125 203 145 203 161 208 179 210 198 191 215 180 169 124 Polygon -11221820 true false 104 192 127 182 139 191 149 185 152 177 162 182 161 204 144 201 110 200 Polygon -11221820 true false 192 175 172 207 179 211 192 194 208 184 Polygon -2064490 true false 91 179 90 181 93 185 94 189 97 190 99 197 102 197 103 205 108 202 110 205 115 206 117 201 120 207 126 207 129 204 132 206 136 210 142 204 144 209 149 211 152 211 155 208 158 213 163 214 169 211 171 213 176 215 179 216 182 214 184 208 188 208 193 205 192 201 193 196 197 198 204 195 205 190 205 188 209 188 213 188 217 185 221 182 219 178 211 176 191 186 177 204 157 201 140 198 131 199 123 199 113 196 106 192 102 183 96 177 93 176 Polygon -2674135 true false 166 93 168 83 175 78 185 79 196 93 196 107 196 127 192 136 192 129 195 120 189 124 187 130 184 135 184 120 188 111 190 96 186 87 181 85 174 87 170 96 Polygon -16777216 true false 131 170 134 185 132 194 128 194 130 182 128 170 Polygon -2064490 true false 108 155 113 176 133 155 140 186 156 159 172 187 179 153 203 173 204 165 200 159 202 169 177 149 171 181 156 153 142 179 134 149 114 171 110 152 Polygon -16777216 true false 131 173 146 170 170 165 188 165 205 167 198 159 190 157 167 161 148 165 130 170 Polygon -11221820 true false 119 138 101 169 101 175 107 173 116 172 123 176 127 173 126 167 125 155 128 142 125 139 Polygon -10899396 true false 205 160 211 168 225 175 239 173 225 171 213 167 206 157 Polygon -10899396 true false 121 170 120 154 110 148 95 144 80 144 88 140 106 140 121 146 128 151 131 160 126 169 Polygon -10899396 true false 65 202 80 191 93 182 103 177 125 169 154 162 176 159 198 156 206 157 206 162 191 159 163 165 134 172 110 180 91 188 71 204 63 216 Polygon -2064490 true false 109 170 105 176 105 180 111 181 119 179 120 176 118 172 Polygon -16777216 true false 104 170 105 165 113 153 116 155 108 164 106 171 103 173 Polygon -16777216 true false 181 140 183 149 194 155 Polygon -14835848 true false 122 164 122 154 112 147 92 142 107 143 124 151 128 158 126 167 Polygon -16777216 true false 127 116 127 125 131 131 143 135 155 134 161 131 166 127 168 122 167 118 165 117 157 122 147 123 138 120 131 116 Circle -1 true false 129 91 38 Circle -16777216 true false 151 109 12 Circle -16777216 true false 131 109 12 Polygon -2674135 true false 148 108 136 110 129 120 127 128 128 134 122 129 122 120 117 129 120 135 113 128 116 115 119 103 124 93 132 86 147 84 164 87 173 94 177 107 179 120 180 132 176 141 176 133 174 125 173 129 170 139 170 131 166 124 163 113 156 109 Polygon -1 true false 163 105 167 109 170 114 171 120 171 124 168 116 164 112 157 106 Polygon -1 true false 138 104 134 107 127 110 122 111 118 115 119 110 124 106 132 102 133 97 Polygon -1 true false 155 90 162 91 166 97 171 105 174 112 170 107 164 98 156 94 151 91 Polygon -1 true false 139 89 142 96 148 101 153 104 147 102 141 98 136 92 136 89 Polygon -1184463 true false 168 88 164 79 162 85 159 87 168 89 171 98 173 94 178 93 Polygon -1184463 true false 220 136 228 133 230 137 236 136 237 140 241 141 240 145 244 147 242 152 246 155 241 157 244 162 239 162 240 166 237 167 240 174 234 171 234 175 229 172 228 176 226 172 222 178 221 174 217 176 218 171 213 174 213 170 209 173 210 167 205 168 208 164 202 162 204 157 202 152 205 149 203 146 208 144 209 139 214 140 217 135 Circle -955883 true false 209 142 28 Circle -16777216 true false 216 149 14 Polygon -10899396 true false 127 169 140 156 159 149 185 143 195 142 198 146 187 146 173 150 153 155 142 159 134 168 Polygon -1184463 true false 205 121 213 118 215 122 221 121 222 125 226 126 225 130 229 132 227 137 231 140 226 142 229 147 224 147 225 151 222 152 225 159 219 156 219 160 214 157 213 161 211 157 207 163 206 159 202 161 203 156 198 159 198 155 194 158 195 152 190 153 193 149 187 147 189 142 187 137 190 134 188 131 193 129 194 124 199 125 202 120 Circle -955883 true false 194 127 28 Circle -16777216 true false 201 134 14 Polygon -10899396 true false 144 166 143 182 133 188 118 192 103 192 111 196 129 196 144 190 151 185 154 176 149 167 Polygon -14835848 true false 145 173 145 183 135 190 115 195 130 194 147 186 151 179 149 170 Polygon -10899396 true false 83 190 82 174 72 168 57 164 42 164 50 160 68 160 83 166 90 171 93 180 88 189 Polygon -14835848 true false 84 183 84 173 74 166 54 161 69 162 86 170 90 177 88 186 Polygon -2064490 true false 135 148 136 143 141 144 147 139 153 141 159 137 163 138 166 134 173 138 171 141 167 139 161 141 159 141 155 144 147 142 143 148 138 146 138 151 Polygon -11221820 true false 163 171 167 174 169 182 167 189 175 186 179 177 177 169 174 168 167 168 Circle -2064490 true false 177 34 32 Polygon -2064490 true false 223 186 219 190 211 191 214 198 220 211 218 221 216 236 218 241 221 236 226 225 238 221 247 219 240 215 228 212 221 205 220 200 223 195 230 189 fairy_green false 0 Polygon -10899396 true false 189 177 190 155 204 147 224 142 243 142 233 137 209 137 189 144 180 151 175 163 182 175 Polygon -14835848 true false 187 169 187 155 201 146 228 139 208 140 185 151 180 160 182 172 Polygon -10899396 true false 263 218 243 203 226 191 213 184 184 174 145 165 116 160 86 157 75 158 75 164 96 161 133 169 172 178 204 188 229 199 256 221 266 237 Polygon -13840069 true false 178 108 228 188 206 216 184 221 157 220 136 227 111 230 86 205 64 190 122 108 Polygon -16777216 true false 108 127 107 140 92 150 Polygon -16777216 true false 114 129 111 144 104 154 116 144 127 127 122 143 118 150 126 149 132 138 134 128 137 120 142 135 139 150 146 143 147 126 153 115 154 132 152 146 149 158 155 153 158 143 161 119 171 117 169 130 168 139 172 145 177 132 181 118 184 135 196 142 192 130 187 113 150 95 Polygon -11221820 true false 75 159 63 156 51 158 39 163 33 171 29 180 41 181 61 176 68 173 Polygon -5825686 true false 151 76 121 91 122 122 116 139 108 152 122 143 135 125 146 144 150 128 153 118 157 131 155 149 152 156 159 149 164 142 164 129 169 123 173 129 175 132 181 113 177 98 158 80 152 74 Polygon -14835848 true false 212 206 181 192 165 205 151 197 144 178 134 193 136 222 158 218 203 217 Polygon -1 true false 207 154 200 185 173 156 163 198 142 162 121 199 111 154 80 180 78 170 83 162 81 175 114 149 122 191 142 154 161 188 171 149 198 178 205 151 Polygon -14835848 true false 105 172 121 226 112 231 94 209 73 195 Polygon -5825686 true false 164 95 169 97 175 102 178 112 176 125 169 135 176 145 179 135 183 122 191 134 206 143 196 130 193 115 189 93 181 74 171 66 160 64 146 64 134 67 125 76 118 89 113 106 108 116 100 125 88 128 98 135 108 135 116 130 124 121 127 129 129 136 126 144 121 148 130 147 135 141 136 133 134 122 133 112 132 101 131 98 139 95 146 89 152 80 154 88 159 94 Polygon -1 true false 145 67 136 69 130 77 124 87 120 96 125 90 133 78 144 73 150 69 Polygon -2064490 true false 183 107 187 112 191 121 192 128 198 134 191 132 187 120 182 114 174 103 Polygon -1 true false 116 108 112 118 104 124 97 128 105 126 113 121 119 113 119 109 Polygon -2064490 true false 172 70 177 75 181 82 182 90 182 95 178 85 173 79 164 72 Polygon -10899396 true false 77 163 69 174 50 183 31 181 50 178 66 172 75 159 Polygon -1 true false 68 160 61 159 47 163 38 168 53 165 63 164 68 166 Polygon -1 true false 228 188 207 219 156 224 109 230 83 205 55 191 65 188 90 203 112 226 157 219 205 214 225 182 Polygon -1 true false 141 124 145 135 148 121 151 116 144 120 144 124 139 118 Polygon -1 true false 124 123 121 134 117 140 124 135 129 124 Polygon -2064490 true false 162 104 166 114 166 122 161 125 161 136 157 145 158 133 157 123 162 120 162 114 160 111 Polygon -1 true false 149 81 146 94 139 102 129 105 138 99 144 93 145 83 fairy_normal_body true 0 Polygon -2674135 true false 178 108 228 188 206 216 184 221 157 220 136 227 111 230 86 205 64 190 122 108 Polygon -955883 true false 212 206 181 192 165 205 151 197 144 178 134 193 136 222 158 218 203 217 Polygon -1 true false 207 154 200 185 173 156 163 198 142 162 121 199 111 154 80 180 78 170 83 162 81 175 114 149 122 191 142 154 161 188 171 149 198 178 205 151 Polygon -955883 true false 105 172 121 226 112 231 94 209 73 195 Polygon -1 true false 228 188 207 219 156 224 109 230 83 205 55 191 65 188 90 203 112 226 157 219 205 214 225 182 fairy_normal_head true 0 Polygon -16777216 true false 108 127 107 140 92 150 Polygon -16777216 true false 114 129 111 144 104 154 116 144 127 127 122 143 118 150 126 149 132 138 134 128 137 120 142 135 139 150 146 143 147 126 153 115 154 132 152 146 149 158 155 153 158 143 161 119 171 117 169 130 168 139 172 145 177 132 181 118 184 135 196 142 192 130 187 113 150 95 Polygon -1184463 true false 151 76 121 91 122 122 116 139 108 152 122 143 135 125 146 144 150 128 153 118 157 131 155 149 152 156 159 149 164 142 164 129 169 123 173 129 175 132 181 113 177 98 158 80 152 74 Polygon -1184463 true false 164 95 169 97 175 102 178 112 176 125 169 135 176 145 179 135 183 122 191 134 206 143 196 130 193 115 189 93 181 74 171 66 160 64 146 64 134 67 125 76 118 89 113 106 108 116 100 125 88 128 98 135 108 135 116 130 124 121 127 129 129 136 126 144 121 148 130 147 135 141 136 133 134 122 133 112 132 101 131 98 139 95 146 89 152 80 154 88 159 94 Polygon -1 true false 145 67 136 69 130 77 124 87 120 96 125 90 133 78 144 73 150 69 Polygon -955883 true false 183 107 187 112 191 121 192 128 198 134 191 132 187 120 182 114 174 103 Polygon -1 true false 116 108 112 118 104 124 97 128 105 126 113 121 119 113 119 109 Polygon -955883 true false 172 70 177 75 181 82 182 90 182 95 178 85 173 79 164 72 Polygon -1 true false 141 124 145 135 148 121 151 116 144 120 144 124 139 118 Polygon -1 true false 124 123 121 134 117 140 124 135 129 124 Polygon -955883 true false 162 104 166 114 166 122 161 125 161 136 157 145 158 133 157 123 162 120 162 114 160 111 Polygon -1 true false 149 81 146 94 139 102 129 105 138 99 144 93 145 83 fairyflower true 0 Polygon -10899396 true false 189 177 190 155 204 147 224 142 243 142 233 137 209 137 189 144 180 151 175 163 182 175 Polygon -14835848 true false 187 169 187 155 201 146 228 139 208 140 185 151 180 160 182 172 Polygon -10899396 true false 263 218 243 203 226 191 213 184 184 174 145 165 116 160 86 157 75 158 75 164 96 161 133 169 172 178 204 188 229 199 256 221 266 237 Polygon -11221820 true false 75 159 63 156 51 158 39 163 33 171 29 180 41 181 61 176 68 173 Polygon -10899396 true false 77 163 69 174 50 183 31 181 50 178 66 172 75 159 Polygon -1 true false 68 160 61 159 47 163 38 168 53 165 63 164 68 166 fairyflower2 true 0 Polygon -10899396 true false 189 177 190 155 204 147 224 142 243 142 233 137 209 137 189 144 180 151 175 163 182 175 Polygon -14835848 true false 187 169 187 155 201 146 228 139 208 140 185 151 180 160 182 172 Polygon -10899396 true false 263 218 243 203 226 191 213 184 184 174 145 165 116 160 86 157 75 158 75 164 96 161 133 169 172 178 204 188 229 199 256 221 266 237 Polygon -10899396 true false 79 163 56 171 27 184 12 198 22 182 50 168 76 158 Polygon -1 true false 14 196 19 189 27 187 37 192 45 200 50 202 44 205 35 203 37 208 36 214 33 214 28 210 26 216 22 223 23 218 21 211 14 202 Polygon -1 true false 18 172 23 179 31 181 41 176 49 168 54 166 48 163 39 165 41 160 40 154 37 154 32 158 30 152 26 145 27 150 25 157 18 166 Polygon -1 true false 120 168 115 161 107 159 97 164 89 172 84 174 90 177 99 175 97 180 98 186 101 186 106 182 108 188 112 195 111 190 113 183 120 174 Polygon -1 true false 50 176 55 169 63 167 73 172 81 180 86 182 80 185 71 183 73 188 72 194 69 194 64 190 62 196 58 203 59 198 57 191 50 182 Polygon -1 true false 66 152 71 159 79 161 89 156 97 148 102 146 96 143 87 145 89 140 88 134 85 134 80 138 78 132 74 125 75 130 73 137 66 146 flower true 0 Polygon -7500403 true true 136 143 115 135 98 133 86 135 84 144 96 151 121 151 133 149 Polygon -7500403 true true 137 150 110 154 98 162 97 172 104 176 117 173 128 162 137 153 Polygon -7500403 true true 146 158 132 164 122 176 124 183 137 186 148 175 151 158 Polygon -7500403 true true 138 143 128 133 128 122 135 118 142 123 143 144 Polygon -7500403 true true 149 139 144 129 146 121 155 120 160 125 158 131 151 144 Polygon -7500403 true true 155 143 164 134 176 128 186 130 189 136 186 141 176 142 158 145 Polygon -7500403 true true 168 147 189 142 211 142 220 150 221 159 211 164 193 160 169 153 Polygon -7500403 true true 161 155 178 167 179 181 171 186 161 187 153 180 155 155 Polygon -1184463 true false 172 151 165 143 148 139 135 143 128 149 128 154 139 159 162 160 169 158 Circle -955883 true false 146 145 4 Circle -955883 true false 154 148 4 Circle -955883 true false 153 154 4 Circle -955883 true false 159 145 4 Circle -955883 true false 139 144 4 Circle -955883 true false 152 143 4 Circle -955883 true false 161 152 4 Circle -955883 true false 146 151 4 Circle -955883 true false 136 150 4 grass true 0 Polygon -7500403 true true 103 229 112 201 111 152 97 83 80 57 108 83 126 130 134 180 126 242 Polygon -7500403 true true 119 247 144 198 177 176 233 158 279 161 311 178 278 171 237 168 187 182 166 203 144 252 Polygon -7500403 true true 134 236 126 183 122 143 134 100 157 53 186 28 232 17 192 35 169 59 153 102 142 131 141 182 156 235 Polygon -7500403 true true 179 275 167 251 156 221 152 184 153 158 164 132 186 114 215 105 232 106 195 120 177 139 169 161 171 184 176 204 187 233 203 260 216 272 Polygon -7500403 true true 109 288 106 248 88 216 73 191 50 160 23 145 59 153 89 180 115 217 130 255 138 277 Polygon -7500403 true true 179 275 167 251 156 221 152 184 153 158 164 132 186 114 215 105 232 106 190 116 167 140 160 166 162 194 168 220 175 244 189 266 216 272 heart false 0 Polygon -16777216 true false 150 60 135 45 105 30 75 30 45 45 15 75 0 120 15 165 30 180 150 300 255 195 270 180 285 165 300 120 285 75 255 45 225 30 195 30 165 45 Polygon -16777216 true false 150 60 135 45 105 30 75 30 45 45 15 75 0 120 15 165 30 180 150 300 255 195 270 180 285 165 300 120 285 75 255 45 225 30 195 30 165 45 Polygon -7500403 true true 150 75 135 60 105 45 75 45 45 60 30 75 15 105 15 135 30 165 150 285 255 180 270 165 285 135 285 105 270 75 255 60 225 45 195 45 165 60 Polygon -7500403 true true 150 75 135 60 105 45 75 45 45 60 30 75 15 105 15 135 30 165 150 285 255 180 270 165 285 135 285 105 270 75 255 60 225 45 195 45 165 60 Polygon -1 true false 161 78 175 67 197 59 222 61 242 68 252 82 263 104 263 131 258 150 235 180 208 208 165 252 208 190 221 159 222 133 218 107 205 93 190 84 174 79 Polygon -1 true false 161 78 175 67 197 59 222 61 242 68 252 82 263 104 263 131 258 150 235 180 208 208 165 252 212 194 234 153 235 127 229 100 209 82 193 77 178 75 indicator false 0 Rectangle -7500403 true true 135 0 165 30 Rectangle -7500403 true true 120 0 180 45 Rectangle -7500403 true true 105 0 195 60 Rectangle -7500403 true true 90 0 210 75 Rectangle -7500403 true true 75 0 225 90 Rectangle -7500403 true true 60 0 240 105 Rectangle -7500403 true true 45 0 255 120 Rectangle -7500403 true true 30 0 270 135 Rectangle -7500403 true true 15 0 285 150 Rectangle -7500403 true true 0 0 300 165 lazer-head false 0 Circle -16777216 true false 90 90 120 Circle -7500403 true true 92 92 116 Circle -16777216 true false 109 109 82 Circle -1 true false 111 111 78 Circle -1 true false 118 118 64 Circle -1 true false 125 125 50 light false 0 Circle -1 true false 60 60 180 Circle -1 true false 75 75 150 Circle -1 true false 90 90 120 Circle -1 true false 105 105 90 lightball true 0 Circle -1 true false 60 60 180 Polygon -7500403 true true 150 241 147 296 143 239 133 286 134 239 125 271 124 238 102 294 116 232 94 261 103 228 67 268 89 218 51 239 76 206 23 230 66 187 12 195 53 175 21 167 58 155 9 136 59 134 32 124 59 121 32 106 64 112 26 82 75 92 56 70 82 80 61 43 89 65 81 22 109 64 106 30 121 61 125 4 138 57 141 41 146 60 157 9 158 53 166 21 170 52 184 9 185 47 205 16 195 69 216 43 209 74 241 38 226 69 256 53 228 89 263 72 231 99 275 87 240 110 267 108 242 121 288 125 247 134 299 142 241 152 278 165 241 165 291 189 239 180 255 193 240 192 272 221 228 207 259 240 226 219 241 260 209 230 221 281 192 240 198 275 178 237 173 295 165 245 161 294 line true 0 Line -7500403 true 150 0 150 300 line half true 0 Line -7500403 true 150 0 150 150 ltop-fairy-wing true 0 Polygon -7500403 true true 127 128 93 92 53 69 41 69 33 78 44 100 41 115 119 146 Polygon -11221820 true false 120 128 92 98 53 75 42 74 37 79 41 81 47 79 52 79 88 99 118 131 118 141 122 130 Polygon -11221820 true false 48 90 46 113 112 139 61 111 52 107 milieu false 0 Rectangle -7500403 true true 0 0 300 300 pentagon false 0 Polygon -16777216 true false 150 83 83 135 105 218 195 218 218 135 Polygon -16777216 true false 150 83 83 135 105 218 195 218 218 135 Polygon -7500403 true true 151 87 87 136 108 214 192 214 213 136 Polygon -7500403 true true 151 87 87 136 108 214 192 214 213 136 Polygon -7500403 true true 151 87 87 136 108 214 192 214 213 136 Polygon -1 true false 150 90 210 138 187 211 112 211 168 194 182 152 Polygon -1 true false 165 105 210 138 187 211 135 210 173 197 189 151 Polygon -1 true false 175 117 210 138 187 211 150 210 178 202 195 150 player-hitbox false 0 Circle -16777216 true false -2 -2 304 Circle -7500403 true true 1 1 298 Circle -1 true false 58 58 182 player-hitbox-left false 0 Circle -16777216 true false -2 -2 304 Circle -7500403 true true 1 1 298 Circle -1 true false 58 58 182 player-hitbox-right false 0 Circle -16777216 true false -2 -2 304 Circle -7500403 true true 1 1 298 Circle -1 true false 58 58 182 rtop-fairy-wing true 0 Polygon -7500403 true true 173 128 207 92 247 69 259 69 267 78 256 100 259 115 181 146 Polygon -11221820 true false 180 128 208 98 247 75 258 74 263 79 259 81 253 79 248 79 212 99 182 131 182 141 178 130 Polygon -11221820 true false 252 90 254 113 188 139 239 111 248 107 side true 0 Rectangle -4934476 true false 0 0 300 300 Polygon -1 true false 227 227 229 227 229 229 229 227 231 227 229 227 229 225 229 227 Polygon -1 true false 112 194 113 194 113 195 113 194 114 194 113 194 113 193 113 194 Polygon -1 true false 262 217 263 217 263 218 263 217 264 217 263 217 263 216 263 217 Polygon -1 true false 285 54 288 55 289 58 290 55 293 54 290 53 289 50 288 53 Polygon -1 true false 1 103 11 105 13 115 15 105 25 103 15 101 13 91 11 101 Polygon -1 true false 190 216 191 216 191 217 191 216 192 216 191 216 191 215 191 216 Polygon -1 true false 154 191 159 192 160 197 161 192 166 191 161 190 160 185 159 190 Polygon -1 true false 102 90 108 92 110 98 112 92 118 90 112 88 110 82 108 88 Polygon -1 true false 211 156 214 157 215 160 216 157 219 156 216 155 215 152 214 155 Polygon -1 true false 30 88 40 90 42 100 44 90 54 88 44 86 42 76 40 86 Polygon -1 true false 4 126 12 128 14 136 16 128 24 126 16 124 14 116 12 124 Polygon -1 true false 91 155 93 156 94 158 95 156 97 155 95 154 94 152 93 154 Polygon -1 true false 122 94 128 95 129 101 130 95 136 94 130 93 129 87 128 93 Polygon -1 true false 229 231 231 232 232 234 233 232 235 231 233 230 232 228 231 230 Polygon -1 true false 222 188 224 188 224 190 224 188 226 188 224 188 224 186 224 188 Polygon -1 true false 105 221 107 222 108 224 109 222 111 221 109 220 108 218 107 220 Polygon -1 true false 262 247 263 247 263 248 263 247 264 247 263 247 263 246 263 247 Polygon -1 true false 178 89 180 89 180 91 180 89 182 89 180 89 180 87 180 89 Polygon -1 true false 223 142 227 143 228 147 229 143 233 142 229 141 228 137 227 141 Polygon -1 true false 207 171 208 171 208 172 208 171 209 171 208 171 208 170 208 171 Polygon -1 true false 58 197 61 198 62 201 63 198 66 197 63 196 62 193 61 196 Polygon -1 true false 38 149 44 150 45 156 46 150 52 149 46 148 45 142 44 148 Polygon -1 true false 108 225 110 226 111 228 112 226 114 225 112 224 111 222 110 224 Polygon -1 true false 263 67 271 69 273 77 275 69 283 67 275 65 273 57 271 65 Polygon -1 true false 284 46 286 46 286 48 286 46 288 46 286 46 286 44 286 46 Polygon -1 true false 37 77 38 77 38 78 38 77 39 77 38 77 38 76 38 77 Polygon -1 true false 53 131 57 132 58 136 59 132 63 131 59 130 58 126 57 130 Polygon -1 true false 58 241 59 241 59 242 59 241 60 241 59 241 59 240 59 241 Polygon -1 true false 262 106 265 107 266 110 267 107 270 106 267 105 266 102 265 105 Polygon -1 true false 237 46 251 49 254 63 257 49 271 46 257 43 254 29 251 43 Polygon -1 true false 189 74 194 75 195 80 196 75 201 74 196 73 195 68 194 73 Polygon -1 true false 274 201 276 202 277 204 278 202 280 201 278 200 277 198 276 200 Polygon -1 true false 67 177 70 178 71 181 72 178 75 177 72 176 71 173 70 176 Polygon -1 true false 151 68 164 71 167 84 170 71 183 68 170 65 167 52 164 65 Polygon -1 true false 209 87 225 91 229 107 233 91 249 87 233 83 229 67 225 83 Polygon -1 true false 263 227 264 227 264 228 264 227 265 227 264 227 264 226 264 227 Polygon -1 true false -1 224 1 224 1 226 1 224 3 224 1 224 1 222 1 224 Polygon -1 true false 75 194 77 195 78 197 79 195 81 194 79 193 78 191 77 193 Polygon -1 true false 199 194 201 194 201 196 201 194 203 194 201 194 201 192 201 194 Polygon -1 true false 243 297 241 297 241 295 241 297 239 297 241 297 241 299 241 297 Polygon -1 true false 183 148 185 148 185 150 185 148 187 148 185 148 185 146 185 148 Polygon -1 true false 41 27 47 29 49 35 51 29 57 27 51 25 49 19 47 25 Polygon -1 true false 82 227 84 228 85 230 86 228 88 227 86 226 85 224 84 226 Polygon -1 true false 252 232 254 232 254 234 254 232 256 232 254 232 254 230 254 232 Polygon -1 true false 95 136 100 137 101 142 102 137 107 136 102 135 101 130 100 135 Polygon -1 true false -3 65 7 67 9 77 11 67 21 65 11 63 9 53 7 63 Polygon -1 true false 158 158 161 159 162 162 163 159 166 158 163 157 162 154 161 157 Polygon -1 true false 109 173 114 174 115 179 116 174 121 173 116 172 115 167 114 172 Polygon -1 true false 233 126 239 128 241 134 243 128 249 126 243 124 241 118 239 124 Polygon -1 true false -10 33 -1 35 1 44 3 35 12 33 3 31 1 22 -1 31 Polygon -1 true false 273 110 280 112 282 119 284 112 291 110 284 108 282 101 280 108 Polygon -1 true false 272 131 282 134 285 144 288 134 298 131 288 128 285 118 282 128 Polygon -1 true false 286 281 285 281 285 280 285 281 284 281 285 281 285 282 285 281 Polygon -1 true false 289 291 288 291 288 290 288 291 287 291 288 291 288 292 288 291 Polygon -1 true false 73 36 90 40 94 57 98 40 115 36 98 32 94 15 90 32 Polygon -1 true false 204 288 202 288 202 286 202 288 200 288 202 288 202 290 202 288 Polygon -1 true false 200 295 198 295 198 293 198 295 196 295 198 295 198 297 198 295 Polygon -1 true false 172 204 174 205 175 207 176 205 178 204 176 203 175 201 174 203 Polygon -1 true false 140 112 146 114 148 120 150 114 156 112 150 110 148 104 146 110 Polygon -1 true false 176 115 184 117 186 125 188 117 196 115 188 113 186 105 184 113 Polygon -1 true false 252 208 255 209 256 212 257 209 260 208 257 207 256 204 255 207 Polygon -1 true false 28 119 31 120 32 123 33 120 36 119 33 118 32 115 31 118 Polygon -1 true false 277 38 287 40 289 50 291 40 301 38 291 36 289 26 287 36 Polygon -1 true false 2 269 1 269 1 268 1 269 0 269 1 269 1 270 1 269 Polygon -1 true false 71 128 78 130 80 137 82 130 89 128 82 126 80 119 78 126 Polygon -1 true false -2 183 4 185 6 191 8 185 14 183 8 181 6 175 4 181 Polygon -1 true false 137 40 152 44 156 59 160 44 175 40 160 36 156 21 152 36 Polygon -1 true false 220 182 224 183 225 187 226 183 230 182 226 181 225 177 224 181 Polygon -1 true false 145 188 147 188 147 190 147 188 149 188 147 188 147 186 147 188 Polygon -1 true false 21 238 23 238 23 240 23 238 25 238 23 238 23 236 23 238 Polygon -1 true false 68 80 75 82 77 89 79 82 86 80 79 78 77 71 75 78 Polygon -1 true false 148 208 146 207 145 205 144 207 142 208 144 209 145 211 146 209 Polygon -1 true false 264 276 262 276 262 274 262 276 260 276 262 276 262 278 262 276 Polygon -1 true false 104 104 111 106 113 113 115 106 122 104 115 102 113 95 111 102 Polygon -1 true false 77 102 84 104 86 111 88 104 95 102 88 100 86 93 84 100 Polygon -1 true false 166 93 169 94 170 97 171 94 174 93 171 92 170 89 169 92 Polygon -1 true false 174 139 176 140 177 142 178 140 180 139 178 138 177 136 176 138 Polygon -1 true false 241 250 242 250 242 251 242 250 243 250 242 250 242 249 242 250 Polygon -1 true false 157 22 174 26 178 43 182 26 199 22 182 18 178 1 174 18 Polygon -1 true false 256 105 262 107 264 113 266 107 272 105 266 103 264 97 262 103 Polygon -1 true false 121 81 131 83 133 93 135 83 145 81 135 79 133 69 131 79 Polygon -1 true false 278 274 277 274 277 273 277 274 276 274 277 274 277 275 277 274 Polygon -1 true false 118 63 131 66 134 79 137 66 150 63 137 60 134 47 131 60 Polygon -1 true false 62 195 67 196 68 201 69 196 74 195 69 194 68 189 67 194 Polygon -1 true false 16 81 18 81 18 83 18 81 20 81 18 81 18 79 18 81 Polygon -1 true false 260 241 261 241 261 242 261 241 262 241 261 241 261 240 261 241 Polygon -1 true false 243 180 244 180 244 181 244 180 245 180 244 180 244 179 244 180 Polygon -1 true false 11 146 13 147 14 149 15 147 17 146 15 145 14 143 13 145 Polygon -1 true false 202 127 210 129 212 137 214 129 222 127 214 125 212 117 210 125 Polygon -1 true false 137 172 143 173 144 179 145 173 151 172 145 171 144 165 143 171 Polygon -1 true false 15 61 26 64 29 75 32 64 43 61 32 58 29 47 26 58 Polygon -1 true false 281 61 293 64 296 76 299 64 311 61 299 58 296 46 293 58 Polygon -1 true false 290 33 299 35 301 44 303 35 312 33 303 31 301 22 299 31 Polygon -1 true false 20 3 29 5 31 14 33 5 42 3 33 1 31 -8 29 1 Polygon -1 true false 298 183 304 185 306 191 308 185 314 183 308 181 306 175 304 181 Polygon -1 true false 297 65 307 67 309 77 311 67 321 65 311 63 309 53 307 63 Polygon -1 true false -19 61 -7 64 -4 76 -1 64 11 61 -1 58 -4 46 -7 58 Polygon -1 true false 221 1 233 4 236 16 239 4 251 1 239 -2 236 -14 233 -2 Polygon -1 true false 37 249 39 250 40 252 41 250 43 249 41 248 40 246 39 248 Polygon -1 true false 169 231 171 232 172 234 173 232 175 231 173 230 172 228 171 230 Polygon -1 true false 274 231 276 232 277 234 278 232 280 231 278 230 277 228 276 230 Rectangle -7303024 true false 0 0 300 25 Rectangle -9671572 true false 0 0 300 20 Rectangle -12040120 true false 0 0 300 15 Rectangle -14408668 true false 0 0 300 10 Rectangle -16777216 true false 0 0 300 5 spark false 0 Polygon -7500403 true true 150 126 127 150 150 173 173 150 Polygon -1 true false 150 135 135 150 150 165 165 150 star false 0 Polygon -7500403 true true 130 149 150 93 172 150 229 136 193 186 214 235 156 199 119 242 129 189 76 171 Polygon -1 true false 136 162 151 115 169 160 210 149 182 183 195 213 153 186 130 221 138 184 92 170 straw true 0 Polygon -7500403 true true 147 313 137 222 133 216 136 208 145 139 151 141 141 210 144 216 142 221 156 313 Polygon -6459832 true false 138 211 135 216 139 222 143 217 Polygon -7500403 true true 146 266 158 250 195 221 236 215 275 232 239 225 204 230 179 246 146 270 Polygon -16777216 true false 156 259 183 236 199 225 240 220 202 226 158 258 Polygon -7500403 true true 129 81 122 55 130 70 122 36 130 58 127 9 136 48 145 -9 144 43 159 15 146 56 159 43 144 69 165 61 137 83 Polygon -7500403 true true 140 200 120 155 97 136 59 140 34 180 62 152 94 149 112 162 139 203 Polygon -16777216 true false 130 183 117 157 98 141 57 146 98 145 115 160 Polygon -16777216 true false 132 77 136 65 134 51 138 63 133 80 Polygon -16777216 true false 139 73 152 70 138 76 Polygon -16777216 true false 141 33 139 52 143 44 Polygon -7500403 true true 145 140 139 130 143 121 130 81 137 83 149 123 153 128 150 145 Polygon -6459832 true false 145 125 142 130 146 136 150 131 sun true 0 Polygon -16777216 true false 45 45 75 120 0 150 75 180 45 255 120 225 150 300 180 225 255 255 225 180 300 150 225 120 255 45 180 75 150 0 120 75 Polygon -7500403 true true 285 150 225 120 225 180 Polygon -7500403 true true 150 15 120 75 180 75 Polygon -7500403 true true 150 285 120 225 180 225 Polygon -7500403 true true 15 150 75 120 75 180 Polygon -7500403 true true 75 180 120 225 60 240 Polygon -7500403 true true 75 120 120 75 60 60 Polygon -7500403 true true 180 75 225 120 240 60 Polygon -7500403 true true 225 180 180 225 240 240 Circle -7500403 true true 86 86 128 Circle -1 true false 105 105 90 t true 0 Polygon -7500403 true true 135 90 90 165 90 210 150 180 210 210 210 165 165 90 Polygon -7500403 true true 137 95 95 166 95 204 150 175 205 204 205 165 163 95 Polygon -1 true false 150 105 135 120 105 180 150 150 195 180 165 120 150 105 Polygon -1 true false 150 105 135 120 105 180 150 135 195 180 165 120 150 105 Polygon -1 true false 150 105 135 120 105 180 150 120 195 180 165 120 150 105 @#$#@#$#@ NetLogo 5.0.1 @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ @#$#@#$#@ default 0.0 -0.2 0 0.0 1.0 0.0 1 1.0 0.0 0.2 0 0.0 1.0 link direction false 0 @#$#@#$#@ 0 @#$#@#$#@