Silly Bug Game

Silly Bug Game preview image

1 collaborator

Default-person Israel Alderete (Author)

Tags

bug 

Tagged by Israel Alderete 10 months ago

game 

Tagged by Israel Alderete 10 months ago

game simulation 

Tagged by Israel Alderete 10 months ago

Visible to everyone | Changeable by the author
Model was written in NetLogo 6.1.1 • Viewed 66 times • Downloaded 5 times • Run 0 times
Download the 'Silly Bug Game' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

;Silly Bug Game
;Israel Alderete
;Start Date: 8/19/21
;Most Recent Update: 10/22/21

globals [mapgentype colora colorb rbudget bbudget rresources bresources rgen bgen]
patches-own [sspawntime center? colormemory blueweb redweb rednest bluenest antlionn antlionsp rs1spawn rs2spawn rs3spawn bs1spawn bs2spawn bs3spawn bselected?? rselected?? bselect rselect]
turtles-own [bx by building? switching? spawntime speed damage dmemory health selected? poisoned? dusted? speedmemory ramming facememory labelmemory rival blindtime paralyzetime maxhealth thorns shield flying? effectiverange ermemory hitradius nestnumber recovering? rhost? bhost?]
breed [lleaves lleaf]
;=========Gamemode Breeds=========
breed [nests nest];finished
breed [points point]
;=========Building Breeds==========
breed [bugs_nests bugs_nest];finished
breed [health_givers health_giver];finished
breed [bug_decoys bug_decoy];finished
breed [chemical_swaps chemical_swap];finished
breed [pollen_flowers pollen_flower];finished
;===========Bug Breeds==============
breed [ants ant];finished
breed [bees bee];finished
breed [spiders spider];finished
breed [butterflies butterfly];finished
breed [moths moth];finished
breed [bugs bug];finished
breed [caterpillars caterpillar];finished
breed [dragonflies dragonfly];finished
breed [beetles beetle];finished
breed [venomspitters venomspitter] breed [poisons poison];finished
breed [grasshoppers grasshopper];finished
breed [thornbugs thornbug];finished
breed [mantises mantis];finished
breed [pillbugs pillbug];finished
breed [antlions antlion];finished
breed [cicadas cicada];finished
breed [wasps wasp];finished
breed [bedbugs bedbug];finished
breed [stickbug stickbugs] breed [blinds blind];finished
breed [tarantulahawks tarantulahawk];finished'
breed [screwworms screwworm] breed [larvaes larvae];finished
breed [termites termite];finished
;============Other Breeds=============
breed [leaves leaf]

to setup
  __change-topology true true
  ca
  set mapgentype 1 + (random 7)
  set colora 30.5 + ((random 7) / 2)
  set colorb (colora + 2)
  if mapgentype = 1
  [
  create-turtles 1
  [
    setxy 0 0
    set heading 90
    forward 2
    repeat 8
    [
    repeat 3
    [
    repeat 6
    [
      repeat 3
      [
        forward 1
        ask patch-here
        [
          set pcolor colora
        ]
      ]
      repeat 3
      [
        forward 1
        ask patch-here
        [
          set pcolor colorb
        ]
      ]
    ]
    right 90
    forward 1
    left 90
    ]
    repeat 3
    [
    repeat 6
    [
      repeat 3
      [
        forward 1
        ask patch-here
        [
          set pcolor colorb
        ]
      ]
      repeat 3
      [
        forward 1
        ask patch-here
        [
          set pcolor colora
        ]
      ]
    ]
    right 90
    forward 1
    left 90
    ]
  ]
  ]
  ask turtles [die]
  ]
  if mapgentype = 2
  [
  create-turtles 48
  [
    setxy (0) (0 - who)
    set heading 90
    repeat 6
    [
      repeat 3
      [
        ask patch-here [set pcolor colora]
        forward 1
      ]
      repeat 3
      [
        ask patch-here [set pcolor colorb]
        forward 1
      ]
    ]
  ]
  ask turtles [die]
  ]
  if mapgentype = 3
  [
  create-turtles 48
  [
    setxy (0) (0 - who)
    set heading 90
    repeat 3
    [
      repeat 6
      [
        ask patch-here [set pcolor colora]
        forward 1
      ]
      repeat 6
      [
        ask patch-here [set pcolor colorb]
        forward 1
      ]
    ]
  ]
  ask turtles [die]
  ]
  if mapgentype = 4
  [
  create-turtles 48
  [
    setxy (0) (0 - who)
    set heading 90
    repeat 2
    [
      repeat 9
      [
        ask patch-here [set pcolor colora]
        forward 1
      ]
      repeat 9
      [
        ask patch-here [set pcolor colorb]
        forward 1
      ]
    ]
  ]
  ask turtles [die]
  ]
  if mapgentype = 5
  [
  create-turtles 1
  [
    setxy 0 0
    set heading 90
    forward 8
    repeat 8
    [
    repeat 3
    [
    repeat 2
    [
      repeat 9
      [
        forward 1
        ask patch-here
        [
          set pcolor colora
        ]
      ]
      repeat 9
      [
        forward 1
        ask patch-here
        [
          set pcolor colorb
        ]
      ]
    ]
    right 90
    forward 1
    left 90
    ]
    repeat 3
    [
    repeat 2
    [
      repeat 9
      [
        forward 1
        ask patch-here
        [
          set pcolor colorb
        ]
      ]
      repeat 9
      [
        forward 1
        ask patch-here
        [
          set pcolor colora
        ]
      ]
    ]
    right 90
    forward 1
    left 90
    ]
  ]
  ]
  ask turtles [die]
  ]
if mapgentype = 6
  [
  create-turtles 1
  [
    setxy 0 0
    set heading 90
    forward -1
    repeat 8
    [
    repeat 3
    [
    repeat 1
    [
      repeat 36
      [
        forward 1
        ask patch-here
        [
          set pcolor colora
        ]
      ]
    ]
    right 90
    forward 1
    left 90
    ]
repeat 3
    [
    repeat 1
    [
      repeat 36
      [
        forward 1
        ask patch-here
        [
          set pcolor colorb
        ]
      ]
    ]
    right 90
    forward 1
    left 90
    ]
  ]
  ]
  ask turtles [die]
  ]
if mapgentype = 7
  [
  create-turtles 1
  [
    setxy 0 0
    set heading 90
    forward -1
    repeat 2
    [
    repeat 12
    [
    repeat 1
    [
      repeat 36
      [
        forward 1
        ask patch-here
        [
          set pcolor colora
        ]
      ]
    ]
    right 90
    forward 1
    left 90
    ]
repeat 12
    [
    repeat 1
    [
      repeat 36
      [
        forward 1
        ask patch-here
        [
          set pcolor colorb
        ]
      ]
    ]
    right 90
    forward 1
    left 90
    ]
  ]
  ]
  ask turtles [die]
  ]
  center
  ask patches
  [
    set colormemory [pcolor] of self
    set blueweb false
    set redweb false
    set rednest false
    set bluenest false
    set antlionn false
    set antlionsp false
  ]
  if Nests? = true
  [
  symmetrytest
  ]
  if AntLions? = true
  [
    antlionsnest
  ]
  if SpecialSpawn? = true
  [
    specialspawn
  ]
  if leaves? = true
  [
    create-leaves 10 * 1 + (random 3)
    [
    set shape "leaf 2"
    set size 15 + (random 6)
    set color (colorb + 20 + ((random 2) * 10))
    set health 1
    while [any? other leaves-on patch-here]
    [
    setxy min-pxcor (random-pycor * 3)
    ]
    set heading 45 + (random 135)
    ]
    ask n-of ((count leaves) / 2) leaves
    [
    setxy max-pxcor (random-pycor * 3)
    while [any? other leaves-on patch-here]
    [
    setxy max-pxcor (random-pycor * 3)
    ]
    set heading 225 + (random 135)
    ]
    ask leaves [set hidden? true]
    if random 20 = 1
    [
      ask leaves
      [
      set color (colora - 10 + (random 3))
      set shape "leaf"
      ]
      create-lleaves 25 + (random 6)
      [
      set shape one-of ["leaf 2" "leaf"]
      set color ((colora - 10 + (random 3)) - 1)
      set size 1.5 + (0.5 * (random 3))
      set health 1
      setxy random-pxcor random-pycor
      set hidden? true
      ]
    ]
  ]
  __change-topology false false
  set rbudget 40 - (gamemode * 10)
  if gamemode = 2
  [
    set rbudget 15
  ]
  set bbudget 40 - (gamemode * 10)
  if gamemode = 2
  [
    set bbudget 15
  ]
  set rresources 8 - (gamemode * 2)
  set bresources 8 - (gamemode * 2)
  ask patch 1 -1 [set plabel 1 set rselected?? true set rselect true]
  ask patch 4 -1 [set plabel 2 set rselected?? true set rselect true]
  ask patch 7 -1 [set plabel 3 set rselected?? true set rselect true]
  ask patch 10 -1 [set plabel 4 set rselected?? true set rselect true]
  ask patch 13 -1 [set plabel 5 set rselected?? true set rselect true]
  ask patch 16 -1 [set plabel 6 set rselected?? true set rselect true]
  ask patch 19 -1 [set plabel 7 set rselected?? true set rselect true]
  ask patch 22 -1 [set plabel 8 set rselected?? true set rselect true]
  ask patch 25 -1 [set plabel 9 set rselected?? true set rselect true]
  ask patch 28 -1 [set plabel 0 set rselected?? true set rselect true]
  ask patch 31 -1 [set plabel "-" set rselected?? true set rselect true]
  ask patch 34 -1 [set plabel "=" set rselected?? true set rselect true]
  ask patch 1 -46 [set plabel 1 set bselected?? true set bselect true]
  ask patch 4 -46 [set plabel 2 set bselected?? true set bselect true]
  ask patch 7 -46 [set plabel 3 set bselected?? true set bselect true]
  ask patch 10 -46 [set plabel 4 set bselected?? true set bselect true]
  ask patch 13 -46 [set plabel 5 set bselected?? true set bselect true]
  ask patch 16 -46 [set plabel 6 set bselected?? true set bselect true]
  ask patch 19 -46 [set plabel 7 set bselected?? true set bselect true]
  ask patch 22 -46 [set plabel 8 set bselected?? true set bselect true]
  ask patch 25 -46 [set plabel 9 set bselected?? true set bselect true]
  ask patch 28 -46 [set plabel 0 set bselected?? true set bselect true]
  ask patch 31 -46 [set plabel "-" set bselected?? true set bselect true]
  ask patch 34 -46 [set plabel "=" set bselected?? true set bselect true]
  ask patch 1 -4 [set plabel "!" set rselected?? true set rselect true]
  ask patch 4 -4 [set plabel "@" set rselected?? true set rselect true]
  ask patch 7 -4 [set plabel "#" set rselected?? true set rselect true]
  ask patch 10 -4 [set plabel "$" set rselected?? true set rselect true]
  ask patch 13 -4 [set plabel "%" set rselected?? true set rselect true]
  ask patch 16 -4 [set plabel "^" set rselected?? true set rselect true]
  ask patch 19 -4 [set plabel "&" set rselected?? true set rselect true]
  ask patch 22 -4 [set plabel "*" set rselected?? true set rselect true]
  ask patch 25 -4 [set plabel "(" set rselected?? true set rselect true]
  ask patch 28 -4 [set plabel ")" set rselected?? true set rselect true]
  ask patch 31 -4 [set plabel "_" set rselected?? true set rselect true]
  ask patch 34 -4 [set plabel "+" set rselected?? true set rselect true]
  ask patch 1 -43 [set plabel "!" set bselected?? true set bselect true]
  ask patch 4 -43 [set plabel "@" set bselected?? true set bselect true]
  ask patch 7 -43 [set plabel "#" set bselected?? true set bselect true]
  ask patch 10 -43 [set plabel "$" set bselected?? true set bselect true]
  ask patch 13 -43 [set plabel "%" set bselected?? true set bselect true]
  ask patch 16 -43 [set plabel "^" set bselected?? true set bselect true]
  ask patch 19 -43 [set plabel "&" set bselected?? true set bselect true]
  ask patch 22 -43 [set plabel "*" set bselected?? true set bselect true]
  ask patch 25 -43 [set plabel "(" set bselected?? true set bselect true]
  ask patch 28 -43 [set plabel ")" set bselected?? true set bselect true]
  ask patch 31 -43 [set plabel "_" set bselected?? true set bselect true]
  ask patch 34 -43 [set plabel "+" set bselected?? true set bselect true]
  if gamemode = 2
  [
    ask patches
    [
      set rselected?? false
      set bselected?? false
    ]
    set rgen 12
    set bgen 12
  ]
  reset-ticks

  if gamemode = 1
  [
    create-nests 1
    [
      setxy 18 -24
      set shape "nest"
      set nestnumber 1
      set color blue
      set size 6
      set health 50
      set selected? true
      set shield 1
    ]
    next_nest
  ]
  if gamemode = 2
  [
    create-points pointamt
    [
      setxy 18 -24
      set shape "energybug"
      set color blue
      set size 2
      set health 1
      set shield 1
      set spawntime (96 / pointamt)
      set selected? true
    ]
  ]
  tick
end 

to next_nest
  if count nests with [selected? = false] = 1
  [
    create-nests 1
    [
      setxy 18 -24
      set shape "nest"
      set nestnumber 2
      set color red
      set size 6
      set health 50
      set selected? true
      set shield 1
    ]
  ]
end 

to next_bugs
  if count points with [selected? = false] = pointamt
  [
    create-points pointamt
    [
      setxy 18 -24
      set shape "energybug"
      set color red
      set size 2
      set health 1
      set shield 1
      set spawntime ([spawntime] of one-of points with [color = blue])
      set selected? true
    ]
  ]
end 

to center
  let y -1
  repeat 16
  [
    create-turtles 1
    [
      setxy 1 y
      repeat 12
      [
        set heading 90
        forward 3
        ask patch-here [set center? true]
      ]
      set y (y - 3)
    ]
  ]
  ask turtles [die]
end 

to symmetrytest
  repeat Special_Tile_Amount
  [
  ask patch (1 + (3 * (random 12))) (-7 - (3 * (random 6)))
    [
      set pcolor 12
      sprout 1
      [
      setxy (max-pxcor - ([pxcor] of patch-here)) (max-pycor - (([pycor] of patch-here) - 1))
      ask patch-here
      [
        set pcolor 102
      ]
      die
      ]
    ]
  ]
  ask patches with [pcolor != colormemory]
  [
    ask patches in-radius 1.5
    [
      set pcolor [pcolor] of myself

    ]
    ask patches with [pcolor = 12]
    [
      set rednest true
    ]
    ask patches with [pcolor = 102]
    [
      set bluenest true
    ]
  ]
end 

to antlionsnest
  repeat Special_Tile_Amount
  [
    ask patch (1 + (3 * (random 12))) (-7 - (3 * (random 6)))
    [
      set pcolor 47.5
      set antlionsp true
      sprout-antlions 1
    [
      set shape "ant"
      set size 4
      set health 1
      set color black
    ]
      sprout 1
      [
      setxy (max-pxcor - ([pxcor] of patch-here)) (max-pycor - (([pycor] of patch-here) - 1))
      ask patch-here
      [
        set pcolor 47.5
        set antlionsp true
        sprout-antlions 1
        [
          set shape "ant"
          set size 4
          set health 1
          set color black
        ]
      ]
      die
      ]
    ]
  ]
ask patches with [pcolor = 47.5]
  [
    ask patches in-radius 1.5
    [
      set pcolor [pcolor] of myself
      set antlionn true
    ]
  ]
end 

to specialspawn
  ask patch (1 + (3 * (random 12))) (-16 - (3 * (random 3)))
    [
      set plabel "S1"
      set rs1spawn true
      set plabel-color white
      sprout 1
      [
      setxy (max-pxcor - ([pxcor] of patch-here)) (max-pycor - (([pycor] of patch-here) - 1))
      ask patch-here
      [
        set plabel "S1"
        set bs1spawn true
        set plabel-color white
      ]
      die
      ]
    ]
  if Special_Tile_Amount >= 2
  [
      ask patch (1 + (3 * (random 12))) (-16 - (3 * (random 3)))
    [
      set plabel "S2"
      set rs2spawn true
      set plabel-color white
      sprout 1
      [
      setxy (max-pxcor - ([pxcor] of patch-here)) (max-pycor - (([pycor] of patch-here) - 1))
      ask patch-here
      [
        set plabel "S2"
        set bs2spawn true
        set plabel-color white
      ]
      die
      ]
    ]
  ]
  if Special_Tile_Amount = 3
  [
  ask patch (1 + (3 * (random 12))) (-16 - (3 * (random 3)))
    [
      set plabel "S3"
      set rs3spawn true
      set plabel-color white
      sprout 1
      [
      setxy (max-pxcor - ([pxcor] of patch-here)) (max-pycor - (([pycor] of patch-here) - 1))
      ask patch-here
      [
        set plabel "S3"
        set bs3spawn true
        set plabel-color white
      ]
      die
      ]
    ]
  ]
end 
;===================================================================
;===========================BUILDINGS===============================
;===================================================================

to rbugs_nest
  if rresources > 3 and (ticks = 1)
  [
    create-bugs_nests 1
    [
      set building? true
      set selected? true
      set spawntime 10
      set shield 1
      set health 10
      set shape "nest"
      set size 5
      setxy 18 -24
      set color red
      set rresources (rresources - 4)
    ]
  ]
end 

to bbugs_nest
  if bresources > 3 and (ticks = 1)
  [
    create-bugs_nests 1
    [
      set building? true
      set selected? true
      set spawntime 10
      set shield 1
      set health 10
      set shape "nest"
      set size 5
      setxy 18 -24
      set color blue
      set bresources (bresources - 4)
    ]
  ]
end 

to rpollen_flowers
  if rresources > 5 and (ticks = 1)
  [
    create-pollen_flowers 1
    [
      set building? true
      set selected? true
      set spawntime 10
      set shield 1
      set health 8
      set shape "flower"
      set size 5
      setxy 18 -24
      set color red
      set rresources (rresources - 6)
    ]
  ]
end 

to bpollen_flowers
  if bresources > 5 and (ticks = 1)
  [
    create-pollen_flowers 1
    [
      set building? true
      set selected? true
      set spawntime 10
      set shield 1
      set health 8
      set shape "flower"
      set size 5
      setxy 18 -24
      set color blue
      set bresources (bresources - 6)
    ]
  ]
end 

to bbug_decoys
  if bresources > 1 and (ticks = 1)
  [
    create-bug_decoys 1
    [
      set building? true
      set selected? true
      set spawntime 10
      set shield 1
      set health 8
      set shape "bugdecoy"
      set size 5
      setxy 18 -24
      set color blue
      set bresources (bresources - 2)
    ]
  ]
end 

to rbug_decoys
  if rresources > 1 and (ticks = 1)
  [
    create-bug_decoys 1
    [
      set building? true
      set selected? true
      set spawntime 10
      set shield 1
      set health 8
      set shape "bugdecoy"
      set size 5
      setxy 18 -24
      set color red
      set rresources (rresources - 2)
    ]
  ]
end 

to bhealth_givers
  if bresources > 3 and (ticks = 1)
  [
    create-health_givers 1
    [
      set building? true
      set selected? true
      set shield 1
      set health 15
      set shape "healthgiver"
      set size 5
      setxy 18 -24
      set color blue
      set bresources (bresources - 4)
    ]
  ]
end 

to rhealth_givers
  if rresources > 3 and (ticks = 1)
  [
    create-health_givers 1
    [
      set building? true
      set selected? true
      set shield 1
      set health 15
      set shape "healthgiver"
      set size 5
      setxy 18 -24
      set color red
      set rresources (rresources - 4)
    ]
  ]
end 

to bchemical_swaps
  if bresources > 5 and (ticks = 1)
  [
    create-chemical_swaps 1
    [
      set building? true
      set selected? true
      set shield 1
      set health 5
      set shape "chemicalswap"
      set size 5
      setxy 18 -24
      set color blue
      set bresources (bresources - 6)
    ]
  ]
end 

to rchemical_swaps
    if rresources > 5 and (ticks = 1)
  [
    create-chemical_swaps 1
    [
      set building? true
      set selected? true
      set shield 1
      set health 5
      set shape "chemicalswap"
      set size 5
      setxy 18 -24
      set color red
      set rresources (rresources - 6)
    ]
  ]
end 
;===================================================================
;==============================BUGS=================================
;===================================================================

to rbugstuff
  if rbudget > 0
  [
    create-bugs 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "bug"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 1)
      set selected? true
      set labelmemory white
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 1) die]
      ]
    ]
  ]
end 

to bbugstuff
  if bbudget > 0
  [
    create-bugs 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "bug"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 1)
      set selected? true
      set labelmemory white
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 1) die]
      ]
    ]
  ]
end 

to rbeestuff
  if rbudget > 1
  [
    create-bees 1
    [
      set shield 1
      set health 2
      set maxhealth health
      set speed 3
      set speedmemory 3
      set damage 4
      set dmemory damage
      set shape "bee 2"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 2)
      set selected? true
      set labelmemory white
      set flying? true
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 2) die]
      ]
    ]
  ]
end 

to bbeestuff
  if bbudget > 1
  [
    create-bees 1
    [
      set shield 1
      set health 2
      set maxhealth health
      set speed 3
      set speedmemory 3
      set damage 4
      set dmemory damage
      set shape "bee 2"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 2)
      set selected? true
      set labelmemory white
      set flying? true
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 2) die]
      ]
    ]
  ]
end 

to rantstuff
  if rbudget > 2
  [
    create-ants 1
    [
      set shield 1
      set health 4.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "ant 2"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 3)
      set selected? true
      set labelmemory white
      set effectiverange 5
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 3) die]
      ]
    ]
  ]
end 

to bantstuff
    if bbudget > 2
  [
    create-ants 1
    [
      set shield 1
      set health 4.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "ant 2"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 3)
      set selected? true
      set labelmemory white
      set effectiverange 5
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 3) die]
      ]
    ]
  ]
end 

to rcaterpillars
  if rbudget > 0
  [
    create-caterpillars 1
    [
      set shield 1
      set health 3
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "caterpillar"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 1)
      set selected? true
      set labelmemory white
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 1) die]
      ]
    ]
  ]
end 

to bcaterpillars
    if bbudget > 0
  [
    create-caterpillars 1
    [
      set shield 1
      set health 3
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "caterpillar"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 1)
      set selected? true
      set labelmemory white
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 1) die]
      ]
    ]
  ]
end 

to rbutterflies
  if rbudget > 3
  [
    create-butterflies 1
    [
      set shield 1
      set health 5
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "butterfly"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 4)
      set selected? true
      set labelmemory white
      set flying? true
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 4) die]
      ]
    ]
  ]
end 

to bbutterflies
  if bbudget > 3
  [
    create-butterflies 1
    [
      set shield 1
      set health 5
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "butterfly"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 4)
      set selected? true
      set labelmemory white
      set flying? true
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 4) die]
      ]
    ]
  ]
end 

to bspiders
  if bbudget > 5
  [
    create-spiders 1
    [
      set shield 1
      set health 5.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 2.5
      set dmemory damage
      set shape "spider"
      set size 3.5
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 6)
      set selected? true
      set labelmemory white
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 6) die]
      ]
    ]
  ]
end 

to rspiders
  if rbudget > 5
  [
    create-spiders 1
    [
      set shield 1
      set health 5.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 2.5
      set dmemory damage
      set shape "spider"
      set size 3.5
      setxy 18 -24
      set color red
      set rbudget (rbudget - 6)
      set selected? true
      set labelmemory white
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 6) die]
      ]
    ]
  ]
end 

to bmoths
    if bbudget > 2
  [
    create-moths 1
    [
      set shield 1
      set health 5
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "butterfly 2"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 3)
      set selected? true
      set labelmemory white
      set flying? true
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 3) die]
      ]
    ]
  ]
end 

to rmoths
  if rbudget > 2
  [
    create-moths 1
    [
      set shield 1
      set health 5
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "butterfly 2"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 3)
      set selected? true
      set labelmemory white
      set flying? true
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 3) die]
      ]
    ]
  ]
end 

to bdragonflies
  if bbudget > 2
  [
    create-dragonflies 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 6
      set speedmemory 6
      set damage 2
      set dmemory damage
      set shape "dragonfly"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 3)
      set selected? true
      set labelmemory white
      set flying? true
      set effectiverange 6
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 3) die]
      ]
    ]
  ]
end 

to rdragonflies
  if rbudget > 2
  [
    create-dragonflies 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 6
      set speedmemory 6
      set damage 2
      set dmemory damage
      set shape "dragonfly"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 3)
      set selected? true
      set labelmemory white
      set flying? true
      set effectiverange 6
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 3) die]
      ]
    ]
  ]
end 

to bbeetles
  if bbudget > 9
  [
    create-beetles 1
    [
      set shield 1
      set health 10
      set maxhealth health
      set speed 0.25
      set speedmemory 0.5
      set damage 0.25
      set dmemory damage
      set shape "beetle"
      set size 4
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 10)
      set selected? true
      set labelmemory white
      set effectiverange 2
      set ermemory 2
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 10) die]
      ]
    ]
  ]
end 

to rbeetles
  if rbudget > 9
  [
    create-beetles 1
    [
      set shield 1
      set health 10
      set maxhealth health
      set speed 0.25
      set speedmemory 0.25
      set damage 0.25
      set dmemory damage
      set shape "beetle"
      set size 4
      setxy 18 -24
      set color red
      set rbudget (rbudget - 10)
      set selected? true
      set labelmemory white
      set effectiverange 2
      set ermemory 2
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 10) die]
      ]
    ]
  ]
end 

to bvenomspitters
  if bbudget > 4
  [
    create-venomspitters 1
    [
      set shield 1
      set health 5.5
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "venomspitter"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 5)
      set selected? true
      set labelmemory white
      set effectiverange 1.5
      set ermemory 1.5
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 6) die]
      ]
    ]
  ]
end 

to rvenomspitters
  if rbudget > 4
  [
    create-venomspitters 1
    [
      set shield 1
      set health 5.5
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "venomspitter"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 5)
      set selected? true
      set labelmemory white
      set effectiverange 1.5
      set ermemory 1.5
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 6) die]
      ]
    ]
  ]
end 

to bgrasshoppers
    if bbudget > 2
  [
    create-grasshoppers 1
    [
      set shield 1
      set health 5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1.5
      set dmemory damage
      set shape "grasshopper"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 3)
      set selected? true
      set labelmemory white
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 3) die]
      ]
    ]
  ]
end 

to rgrasshoppers
    if rbudget > 2
  [
    create-grasshoppers 1
    [
      set shield 1
      set health 5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1.5
      set dmemory damage
      set shape "grasshopper"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 3)
      set selected? true
      set labelmemory white
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 3) die]
      ]
    ]
  ]
end 

to bthornbugs
      if bbudget > 2
  [
    create-thornbugs 1
    [
      set shield 1
      set health 3
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set thorns true
      set shape "thornbug"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 3)
      set selected? true
      set labelmemory white
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 2) die]
      ]
    ]
  ]
end 

to rthornbugs
      if rbudget > 2
  [
    create-thornbugs 1
    [
      set shield 1
      set health 3
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set thorns true
      set shape "thornbug"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 3)
      set selected? true
      set labelmemory white
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 2) die]
      ]
    ]
  ]
end 

to bmantis
      if bbudget > 7
  [
    create-mantises 1
    [
      set shield 1
      set health 4.5
      set maxhealth health
      set speed 2
      set speedmemory 2
      set damage 0.5
      set dmemory damage
      set shape "mantis"
      set size 4
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 8)
      set selected? true
      set labelmemory white
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 8) die]
      ]
    ]
  ]
end 

to rmantis
      if rbudget > 7
  [
    create-mantises 1
    [
      set shield 1
      set health 4.5
      set maxhealth health
      set speed 2
      set speedmemory 2
      set damage 0.5
      set dmemory damage
      set shape "mantis"
      set size 4
      setxy 18 -24
      set color red
      set rbudget (rbudget - 8)
      set selected? true
      set labelmemory white
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 8) die]
      ]
    ]
  ]
end 

to bpillbug
    if bbudget > 3
  [
    create-pillbugs 1
    [
      set shield 1
      set health 2
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "pillbug"
      set size 2.5
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 4)
      set selected? true
      set labelmemory white
      set effectiverange 1.5
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 4) die]
      ]
    ]
  ]
end 

to rpillbug
    if rbudget > 3
  [
    create-pillbugs 1
    [
      set shield 1
      set health 2
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "pillbug"
      set size 2.5
      setxy 18 -24
      set color red
      set rbudget (rbudget - 4)
      set selected? true
      set labelmemory white
      set effectiverange 1.5
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 4) die]
      ]
    ]
  ]
end 

to bcicada
    if bbudget > 4
  [
    create-cicadas 1
    [
      set shield 1
      set health 5
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 2
      set dmemory damage
      set shape "cicada"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 5)
      set selected? true
      set labelmemory white
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 5) die]
      ]
    ]
  ]
end 

to rcicada
    if rbudget > 4
  [
    create-cicadas 1
    [
      set shield 1
      set health 5
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 2
      set dmemory damage
      set shape "cicada"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 5)
      set selected? true
      set labelmemory white
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 5) die]
      ]
    ]
  ]
end 

to bwasp
  if bbudget > 4
  [
    create-wasps 1
    [
      set shield 1
      set health 3
      set maxhealth health
      set speed 3
      set speedmemory 3
      set damage 4
      set dmemory damage
      set shape "wasp"
      set size 3
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 5)
      set selected? true
      set labelmemory white
      set flying? true
      set effectiverange 2
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 5) die]
      ]
    ]
  ]
end 

to rwasp
  if rbudget > 4
  [
    create-wasps 1
    [
      set shield 1
      set health 3
      set maxhealth health
      set speed 3
      set speedmemory 3
      set damage 4
      set dmemory damage
      set shape "wasp"
      set size 3
      setxy 18 -24
      set color red
      set rbudget (rbudget - 5)
      set selected? true
      set labelmemory white
      set flying? true
      set effectiverange 2
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 5) die]
      ]
    ]
  ]
end 

to bbedbug
  if bbudget > 2
  [
    create-bedbugs 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "bedbug"
      set size 2
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 3)
      set selected? true
      set labelmemory white
      set flying? false
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 3) die]
      ]
    ]
  ]
end 

to rbedbug
  if rbudget > 2
  [
    create-bedbugs 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "bedbug"
      set size 2
      setxy 18 -24
      set color red
      set rbudget (rbudget - 3)
      set selected? true
      set labelmemory white
      set flying? false
      set effectiverange 3
      set ermemory effectiverange
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 3) die]
      ]
    ]
  ]
end 

to bstickbug
  if bbudget > 4
  [
    create-stickbug 1
    [
      set shield 1
      set health 4.5
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 2
      set dmemory damage
      set shape "walkingstick"
      set size 3.5
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 5)
      set selected? true
      set labelmemory white
      set effectiverange 1.5
      set ermemory 1.5
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 5) die]
      ]
    ]
  ]
end 

to rstickbug
  if rbudget > 4
  [
    create-stickbug 1
    [
      set shield 1
      set health 4.5
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 2
      set dmemory damage
      set shape "walkingstick"
      set size 3.5
      setxy 18 -24
      set color red
      set rbudget (rbudget - 5)
      set selected? true
      set labelmemory white
      set effectiverange 1.5
      set ermemory 1.5
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 5) die]
      ]
    ]
  ]
end 

to btarantulahawk
  if bbudget > 8
  [
    create-tarantulahawks 1
    [
      set shield 1
      set health 5
      set maxhealth health
      set speed 4
      set speedmemory 4
      set damage 4
      set dmemory damage
      set shape "tarantulahawk"
      set size 4
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 9)
      set selected? true
      set labelmemory white
      set flying? true
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 9) die]
      ]
    ]
  ]
end 

to rtarantulahawk
  if rbudget > 8
  [
    create-tarantulahawks 1
    [
      set shield 1
      set health 5
      set maxhealth health
      set speed 4
      set speedmemory 4
      set damage 4
      set dmemory damage
      set shape "tarantulahawk"
      set size 4
      setxy 18 -24
      set color red
      set rbudget (rbudget - 9)
      set selected? true
      set labelmemory white
      set flying? true
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 9) die]
      ]
    ]
  ]
end 

to bscrewworms
  if bbudget > 6
  [
    create-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 2.5
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 7)
      set selected? true
      set labelmemory white
      set flying? true
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 7) die]
      ]
    ]
  ]
end 

to rscrewworms
  if rbudget > 6
  [
    create-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 2.5
      setxy 18 -24
      set color red
      set rbudget (rbudget - 7)
      set selected? true
      set labelmemory white
      set flying? true
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [rselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [rselected?? = true]) ([pycor] of one-of patches with [rselected?? = true]) set selected? false ask patch-here [set rselected?? false]] [set rbudget (rbudget + 7) die]
      ]
    ]
  ]
end 

to btermites
  if bbudget > 3
  [
    create-termites 1
    [
      set shield 1
      set health 4.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "termite"
      set size 2.5
      setxy 18 -24
      set color blue
      set bbudget (bbudget - 4)
      set selected? true
      set labelmemory white
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 7) die]
      ]
    ]
  ]
end 

to rtermites
  if rbudget > 3
  [
    create-termites 1
    [
      set shield 1
      set health 4.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "termite"
      set size 2.5
      setxy 18 -24
      set color red
      set rbudget (rbudget - 4)
      set selected? true
      set labelmemory white
      if gamemode = 2 and (ticks != 1)
      [
        ifelse (count patches with [bselected?? = true]) = 1 [setxy ([pxcor] of one-of patches with [bselected?? = true]) ([pycor] of one-of patches with [bselected?? = true]) set selected? false ask patch-here [set bselected?? false]] [set bbudget (bbudget + 7) die]
      ]
    ]
  ]
end 
;===========================================================================================

to start
if ticks = 1
[
ask turtles with [color = blue]
[
set heading 0
]
ask turtles with [color = red]
[
set heading 180
]
]
every 0.5
  [
    ask leaves [set hidden? false]
    ask lleaves [set hidden? false]
    ask turtles with [building? != true and shape != "energybug" and shape != "leaf 2" and shape != "leaf"]
    [
      set label precision health 2
    ]
    ask patches
    [
      if redweb = true
      [
        set pcolor 19.5
      ]
      if blueweb = true
      [
        set pcolor 109
      ]
      if redweb = true and blueweb = true
      [
        set pcolor 118.5
      ]
    ]
    ask patches with [redweb = true or blueweb = true]
    [
    set sspawntime (sspawntime - 1)
    if sspawntime <= 0
    [
    set redweb false
    set blueweb false
    set pcolor colormemory
    ]
    ]
;Building Stuff--------------------------------------------------------------------
  ask turtles with [building? = true and shape != "chemicalswap"]
  [
    set label health
  ]
  ask turtles with [shape = "chemicalswap"]
  [
    set label spawntime
  ]
  ask turtles with [building? != true and (not any? (pollen_flowers with [shade-of? color ([color] of self)]) in-radius 6)]
  [
    ask my-links with [shape = "pollon"]
    [
      die
    ]
  ]
  ask turtles with [building? != true and (not any? (health_givers with [shade-of? color ([color] of self)]) in-radius 6)]
  [
    ask my-links with [shape = "healing"]
    [
      die
    ]
  ]
 ;Special Tiles----------------------------------------------------------------------
    ask turtles with [flying? = 0]
    [
      set flying? false
    ]
    ask antlions
    [
      face min-one-of other turtles [distance myself]
    ]
    ask turtles with [shape != "ant"]
    [
      if [color] of self = red and [pcolor] of patch-here = 12
      [
        hatch 1
        [
        set size (size / 2)
        set maxhealth (maxhealth / 4)
        set health maxhealth
        right 90
        forward 3
        left 90
        set poisoned? false
        set label ""
        ]
        ask  min-one-of patches with [rednest = true and ((count patches with [rednest = true] in-radius 1.5) = 9)] [distance myself]
        [
          ask patches in-radius 1.5
          [
          set pcolor colormemory
          ]
        ]
      ]
      if [color] of self = blue and [pcolor] of patch-here = 102
      [
        hatch 1
        [
        set size (size / 2)
        set maxhealth (maxhealth / 4)
        set health maxhealth
        right 90
        forward 3
        left 90
        set poisoned? false
        set label ""
        ]
        ask  min-one-of patches with [bluenest = true and ((count patches with [bluenest = true] in-radius 1.5) = 9)] [distance myself]
        [
          ask patches in-radius 1.5
          [
          set pcolor colormemory
          ]
        ]
      ]
      if any? antlions in-radius 1.5 and [flying?] of self = false
      [
        ask patches in-radius 3 with [pcolor = 47.5]
        [
          set pcolor colormemory
        ]
        ask antlions in-radius 1.5
        [
          die
        ]
        die
      ]
 ;Status Effects----------------------------------------------------------------------
      if poisoned? = true and [shape] of self != "beetle" [set health (health - 0.25) set label-color green set labelmemory green]
      ;Cicada Ability==============================================
      ifelse count other cicadas with [color = [color] of myself] > 0
      [
      ifelse any? other cicadas with [color = ([color] of myself)] in-radius ([effectiverange] of min-one-of other cicadas [distance myself])
      [
        set effectiverange (ermemory * 2)
      ]
      [
        set effectiverange ermemory
      ]
      ]
      [
        set effectiverange ermemory
      ]
      ;Pillbug Ability=============================================
      ifelse count other pillbugs with [color = [color] of myself] > 0
      [
      ifelse any? other (pillbugs in-radius ([effectiverange] of min-one-of other pillbugs [distance myself])) with [color = ([color] of myself)]
      [
        set shield 2
        set label-color black
      ]
      [
        set shield 1
        set label-color [labelmemory] of self
      ]
      ]
      [
        set shield 1
        set label-color [labelmemory] of self
      ]
      ;Wasp Ability===============================================
      ifelse count other wasps with [color = [color] of myself] > 0
      [
      ifelse any? other (wasps in-radius ([effectiverange] of min-one-of other wasps [distance myself])) with [color = ([color] of myself)]
      [
        set damage (dmemory * 1.5)
        set label-color (red - 2)
      ]
      [
        set damage dmemory
        set label-color [labelmemory] of self
      ]
      ]
      [
        set damage dmemory
        set label-color [labelmemory] of self
      ]
      ;Dragonfly Ability==================================================
      ifelse count other dragonflies with [color = [color] of myself] > 0
      [
      ifelse any? (dragonflies in-radius ([effectiverange] of min-one-of other dragonflies [distance myself])) with [color = [color] of myself] and ([shape] of self != "dragonfly")
      [
        set speed (speedmemory * 2)
        set label-color yellow
      ]
      [
        set speed speedmemory
        set label-color [labelmemory] of self
      ]
      ]
      [
        set speed speedmemory
        set label-color [labelmemory] of self
      ]
      ;Bedbug Ability======================================================
      ifelse count other bedbugs with [color = [color] of myself] > 0
      [
      ifelse any? other (bedbugs in-radius ([effectiverange] of min-one-of other bedbugs [distance myself])) with [color = ([color] of myself)]
      [
        set speed [speed] of one-of (bedbugs in-radius ([effectiverange] of min-one-of other bedbugs [distance myself])) with [color = ([color] of myself)]
        set label-color grey
      ]
      [
        set speed speedmemory
        set label-color [labelmemory] of self
      ]
      ]
      [
        set speed speedmemory
        set label-color [labelmemory] of self
      ]
      ;============================Termite Burrows========================================
      if size = 1.256
      [
      die
      ]
      if [pcolor] of patch-here = black and flying? = false
      [
        set size 1.256
        set speed 0
        set speed speedmemory
      ]
    ]
    ask poisons
    [
    set label ""
      repeat 45
      [
        forward 1
        if any? turtles with [color = [rival] of myself] in-radius effectiverange
        [
          ask turtles with [color = [rival] of myself] in-radius effectiverange
        [
          set poisoned? true
        ]
          die
        ]
      ]
      die
    ]
    ask blinds
    [
    set label ""
      repeat 45
      [
        forward 1
        if any? turtles with [color = [rival] of myself] in-radius effectiverange
        [
          ask turtles with [color = [rival] of myself] in-radius effectiverange
        [
          set blindtime (blindtime + 7)
        ]
          die
        ]
      ]
      die
    ]

;==========================================================================================
;======================================FREE FOR ALL========================================
;==========================================================================================
if gamemode = 0
[
ifelse count turtles with [color = red] > 0 and count turtles with [color = blue] > 0 and gamemode = 0
[
  if gamemode = 0
  [
  ;Bugs Nest==============================================
        ask bugs_nests with [shade-of? color blue]
        [
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              hatch-bugs 1
              [
       set shield 1
       set building? 0
      set health 1
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "bug"
      set size 1.5
      set color blue
      set labelmemory white
              ]
              set health (health - 2)
              set spawntime 10
            ]
          ]
          setxy bx by
        ]
        ask bugs_nests with [shade-of? color red]
        [
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              hatch-bugs 1
              [
       set shield 1
       set building? 0
      set health 1
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "bug"
      set size 1.5
      set color red
      set labelmemory white
              ]
              set health (health - 2)
              set spawntime 10
            ]
          ]
          setxy bx by
        ]
  ;Pollen Flowers=============================================================
   ask pollen_flowers with [shade-of? color blue]
        [
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
            create-links-to turtles with [color = red] in-radius 4.5
            [
              set shape "pollon"
              set color yellow
            ]
            ask turtles with [color = red] in-radius 4.5
            [
              set blindtime 2
            ]
          ]
          setxy bx by
        ]
   ask pollen_flowers with [shade-of? color red]
        [
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
            create-links-to turtles with [color = blue] in-radius 4.5
            [
              set shape "pollon"
              set color yellow
            ]
            ask turtles with [color = blue] in-radius 4.5
            [
              set blindtime 2
            ]
          ]
          setxy bx by
        ]
  ;Bug Decoys===============================================
   ask bug_decoys with [shade-of? color blue]
        [
          set color 104
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
          ]
        ]
   ask bug_decoys with [shade-of? color red]
        [
          set color 14
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
          ]
        ]
  ;Health Givers==============================================
   ask health_givers with [shade-of? color blue]
        [
          face min-one-of turtles with [color = blue] [distance myself]
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            create-links-to turtles with [color = blue and health < maxhealth] in-radius 6
            [
              set shape "healing"
              set color lime
            ]
            ask turtles with [color = blue and health < maxhealth] in-radius 6
            [
              set health (health + 0.5)
              ask myself
              [
                set health (health - 0.5)
                ]
              if health > maxhealth
              [
                set health maxhealth
              ]
            ]
          ]
          setxy bx by
        ]
   ask health_givers with [shade-of? color red]
        [
          face min-one-of turtles with [color = red] [distance myself]
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            create-links-to turtles with [color = red and health < maxhealth] in-radius 6
            [
              set shape "healing"
              set color lime
            ]
            ask turtles with [color = red and health < maxhealth] in-radius 6
            [
              set health (health + 0.5)
              ask myself
              [
                set health (health - 0.5)
                ]
              if health > maxhealth
              [
                set health maxhealth
              ]
            ]
          ]
          setxy bx by
        ]
  ;Chemical Swappers==============================================================================
   ask chemical_swaps with [shade-of? color blue]
        [
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            if count turtles with [color = red and switching? = true] != 1
          [
              if any? turtles with [color = red] in-radius 9
              [
            ask min-one-of turtles with [color = red] in-radius 9 [distance myself]
            [
              set switching? true
            ]
            create-links-to turtles with [color = red and switching? = true]
              [
                set color blue
                set shape "chemical"
              ]
              set spawntime ([maxhealth] of one-of turtles with [color = red and switching? = true] * 2)
          ]
            ]
            set spawntime (spawntime - 1)
            if spawntime <= 0
            [
            ask turtles with [color = red and switching? = true] in-radius 9
            [
             set color blue
             set switching? false
                ask my-links with [shape = "chemical"]
                [
                  die
                ]
            ]
              set spawntime 0
            ]
          ]
          setxy bx by
        ]
   ask chemical_swaps with [shade-of? color red]
        [
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            if count turtles with [color = blue and switching? = true] != 1
          [
              if any? turtles with [color = blue] in-radius 9
              [
            ask min-one-of turtles with [color = blue] in-radius 9 [distance myself]
            [
              set switching? true
            ]
            create-links-to turtles with [color = blue and switching? = true]
              [
                set color red
                set shape "chemical"
              ]
              set spawntime ([maxhealth] of one-of turtles with [color = blue and switching? = true] * 2)
          ]
            ]
            set spawntime (spawntime - 1)
            if spawntime <= 0
            [
            ask turtles with [color = blue and switching? = true] in-radius 9
            [
             set color red
             set switching? false
                ask my-links with [shape = "chemical"]
                [
                  die
                ]
            ]
              set spawntime 0
            ]
          ]
          setxy bx by
        ]
  ;Bugs---------------------------------------------------
          ask bugs with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))


            forward -2
     forward -1

  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
      ask bugs with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
   if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
  ;Bees-------------------------------------------------------------------
ask bees with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

     set health (health - ((1 / speed) / shield))
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
  ask bees with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
                set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
                forward -1
  if thorns = true
    [
      ask myself
      [
       set health (health - (damage * 0.75))
      ]
    ]
      ]

     set health (health - ((1 / speed) / shield))
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
    ;Ants--------------------------------------------------------------------------
ask ants with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set damage 1 + (0.5 * (count other ants in-radius effectiverange with [color = blue]))
    set dmemory damage
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
ask ants with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set damage 1 + (0.5 * (count other ants in-radius effectiverange with [color = red]))
    set dmemory damage
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
    ;Caterpillars--------------------------------------------------------------------------------
  ask caterpillars with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
  ask caterpillars with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask (turtles in-radius 1) with [color = blue]
     [
                set health (health - ([damage] of myself))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
       set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
    ;Butterflies-----------------------------------------------------------------------
      ask butterflies with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? caterpillars with [color = blue and health < maxhealth]
        [
          face min-one-of caterpillars with [color = blue and health < maxhealth] [distance myself]
          ifelse [redweb] of patch-here = false
          [
          forward speed
          ]
          [
          forward (speed / 4)
          ]
          if any? caterpillars with [color = blue] in-radius effectiverange
          [
            ask caterpillars with [color = blue] in-radius effectiverange
            [
              set health (health + 1)
              if health > 3
              [ set health 3]
            ]
          ]
        ]
        [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
      ]
  ]
      ask butterflies with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? caterpillars with [color = red and health < 3]
        [
          face min-one-of caterpillars with [color = red and health < 3] [distance myself]
          ifelse [blueweb] of patch-here = false
          [
          forward speed
          ]
          [
          forward (speed / 4)
          ]
          if any? caterpillars with [color = red] in-radius effectiverange
          [
            ask caterpillars with [color = red] in-radius effectiverange
            [
              set health (health + 1)
              if health > 3
              [ set health 3]
            ]
          ]
        ]
        [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
      ]
  ]
    ;Spiders----------------------------------------------------------------------------
  ask spiders with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        if random 20 = 1 and count (turtles-on patches with [pcolor != 109]) with [color = red] > 0
    [
      ask max-one-of (turtles-on patches with [pcolor != 109]) with [color = red] [distance myself]
      [
        ask patches in-radius ([effectiverange] of myself)
        [
          set pcolor 109
          set blueweb true
          set sspawntime 60
        ]
      ]
    ]
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
            set poisoned? true
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
  ask spiders with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    if random 20 = 1 and count (turtles-on patches with [pcolor != 19.5]) with [color = blue] > 0
    [
          ask max-one-of (turtles-on patches with [pcolor != 19.5]) with [color = blue] [distance myself]
      [
            ask patches in-radius ([effectiverange] of myself)
        [
          set pcolor 19.5
          set redweb true
          set sspawntime 60
        ]
      ]
    ]
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
            set poisoned? true
  if thorns = true
    [
      ask myself
      [
       set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
    ;Moths-------------------------------------------------------------------------------
      ask moths with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? butterflies with [color = red]
        [
          face min-one-of butterflies with [color = red] [distance myself]
          ifelse [redweb] of patch-here = false
         [
           forward speed
          ]
          [
            forward (speed / 4)
          ]
         if any? (butterflies in-radius 1) with [color = red]
    [
      ask one-of (butterflies in-radius 1) with [color = red]
     [
            set health (health - ((([damage] of myself) * 2) / shield))
              forward -2
     forward -1
      ]

    ]
        ]
       [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
          forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
              forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
    if health <= 0
    [
          ask turtles in-radius effectiverange with [color = red and [shape] of self != "beetle"]
          [
            set damage (damage / 2) set dmemory damage set speed (speed / 2) set speedmemory speed set label-color (grey - 2) set labelmemory (grey - 2)
            set dmemory damage
            set speedmemory speed
          ]
    ]
      ]
  ]
      ask moths with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? butterflies with [color = blue]
        [
          face min-one-of butterflies with [color = blue] [distance myself]
          ifelse [BLUEWEB] of patch-here = false
         [
           forward speed
          ]
          [
            forward (speed / 4)
          ]
         if any? (butterflies in-radius 1) with [color = blue]
    [
      ask one-of (butterflies in-radius 1) with [color = blue]
     [
            set health (health - ((([damage] of myself) * 2) / shield))
              forward -2
     forward -1
      ]

    ]
        ]
       [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [BLUEWEB] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
              forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
    if health <= 0
    [
          ask turtles in-radius effectiverange with [color = blue and [shape] of self != "beetle"]
          [
            set damage (damage / 2) set dmemory damage set speed (speed / 2) set speedmemory speed set label-color (grey - 2) set labelmemory (grey - 2)
            set dmemory damage
            set speedmemory speed
          ]
    ]
      ]
  ]

    ;Dragonflies-------------------------------------------------------------------------
    ask dragonflies with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage / 2))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
    ask dragonflies with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
             if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
     ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
    ;Beetles-----------------------------------------------------------------------------
        ask beetles with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse ramming = true
        [
          set heading facememory
        ]
        [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ]
    forward speed
    set speed (speed + 0.25)
    set speedmemory speed
    set damage speed
    set dmemory damage
        if ([pxcor] of patch-here >= 33.9) or ([pycor] of patch-here >= -0.9) or ([pxcor] of patch-here <= 0.9) or ([pycor] of patch-here <= -45.9) and ramming = true
      [
        set ramming false
        set speed 0.25
        set speedmemory speed
        set damage speed
        set dmemory damage
          forward 0 - [damage] of self
        forward -1
       ]
    if speed > 3
      [
        set facememory [heading] of self
        set ramming true
      ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask (turtles in-radius effectiverange) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward 0 - [damage] of myself
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
          if [damage] of self > 3.5
          [
            forward 0 - [damage] of self
      forward -1
          ]
      set speed 0.25
      set speedmemory speed
      set damage speed
      set dmemory damage
      set ramming false
    ]
      ]
  ]
ask beetles with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse ramming = true
        [
          set heading facememory
        ]
        [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ]
    forward speed
    set speed (speed + 0.25)
    set speedmemory speed
    set damage speed
    set dmemory damage
        if ([pxcor] of patch-here >= 33.9) or ([pycor] of patch-here >= -0.9) or ([pxcor] of patch-here <= 0.9) or ([pycor] of patch-here <= -45.9) and ramming = true
      [
        set ramming false
        set speed 0.25
        set speedmemory speed
        set damage speed
        set dmemory damage
        forward -2
        forward -1
       ]
    if speed > 3
      [
        set facememory [heading] of self
        set ramming true
      ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask (turtles in-radius effectiverange) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward 0 - [damage] of myself
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
          if [damage] of self > 3.5
          [
      forward 0 - [damage] of self
      forward -1
          ]
      set speed 0.25
      set speedmemory speed
      set damage speed
      set dmemory damage
      set ramming false
    ]
      ]
  ]
    ;Venom Spitters------------------------------------------------------------------------------------
  ask venomspitters with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = red and poisoned? = true]
        [
    face min-one-of turtles with [color = red and poisoned? = true] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [color = red and poisoned? = true]
    [
      ask one-of (turtles in-radius 1) with [color = red and poisoned? = true]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
          face min-one-of turtles with [shade-of? color red] [distance myself]
          hatch-poisons 1
          [
            set label ""
            set rival red
            set color 52
            set ermemory effectiverange
            set size 1
            face min-one-of turtles with [shade-of? color red] [distance myself]
          ]
        ]

    ]
  ]
  ask venomspitters with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = blue and poisoned? = true]
        [
    face min-one-of turtles with [color = blue and poisoned? = true] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [color = blue and poisoned? = true]
    [
      ask one-of (turtles in-radius 1) with [color = blue and poisoned? = true]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
          face min-one-of turtles with [shade-of? color blue] [distance myself]
          hatch-poisons 1
          [
            set label ""
            set rival blue
            set color 52
            set ermemory effectiverange
            set size 1
            face min-one-of turtles with [shade-of? color blue] [distance myself]
          ]
        ]

    ]
  ]
    ;Grasshoppers----------------------------------------------------------------------------
    ask grasshoppers with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse [distance myself] of (min-one-of turtles with [color = red] [distance myself]) > 12
        [
          set speed 12
        ]
        [
          set speed speedmemory
        ]
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage / 2))
      ]
    ]
      ]
    ]
      ]
  ]
ask grasshoppers with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse [distance myself] of (min-one-of turtles with [color = blue] [distance myself]) > 12
        [
          set speed 12
        ]
        [
          set speed speedmemory
        ]
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Thorn Bugs---------------------------------------------------------------------------
       ask thornbugs with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
       ask thornbugs with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
  ;Mantises---------------------------------------------------------------------------------
  ask mantises with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [distance myself] of (min-one-of turtles with [color = red] [distance myself]) < 7 and speed < ([distance myself] of min-one-of turtles with [color = red] [distance myself])
        [
          set speed (speed + 1)
          set speedmemory speed
          set damage (damage + 1)
          set dmemory damage
        ]
        [
        ifelse [redweb] of patch-here = false
        [
    forward speed - 1
    set speed 2
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
     set speed 2
     set speedmemory speed
     set damage 1
     set dmemory damage
    ]
        ]
          if any? turtles with [color = red and health <= 0] in-radius 3
          [
          ask one-of turtles with [color = red and health <= 0] in-radius 3
          [
            ask turtles with [color = blue] in-radius 6
            [
          set health health + (1 + (([maxhealth] of one-of (turtles with [color = red and health <= 0] in-radius 6) / (count turtles with [color = blue] in-radius 6))))
          if health > maxhealth
          [
            set health maxhealth
          ]
            ]
          ]
      ]
      ]
  ]
 ask mantises with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [distance myself] of (min-one-of turtles with [color = blue] [distance myself]) < 7 and speed < ([distance myself] of min-one-of turtles with [color = blue] [distance myself])
        [
          set speed (speed + 1)
          set speedmemory speed
          set damage (damage + 1)
          set dmemory damage
        ]
        [
        ifelse [blueweb] of patch-here = false
        [
    forward speed - 1
    set speed 2
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
     set speed 2
     set speedmemory speed
     set damage 1
     set dmemory damage
    ]
        ]
          if any? turtles with [color = blue and health <= 0] in-radius 3
          [
          ask one-of turtles with [color = blue and health <= 0] in-radius 3
          [
            ask turtles with [color = red] in-radius 6
            [
          set health health + (1 + (([maxhealth] of one-of (turtles with [color = blue and health <= 0] in-radius 6) / (count turtles with [color = red] in-radius 6))))
          if health > maxhealth
          [
            set health maxhealth
          ]
            ]
          ]
      ]
      ]
  ]
    ;Pillbug----------------------------------------------------------------------------------------------------
       ask pillbugs with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
   ask pillbugs with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Cicadas-----------------------------------------------------------------------------------------------------
       ask cicadas with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
       ask cicadas with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Wasps-----------------------------------------------------------------------------------------------
  ask wasps with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
  ask wasps with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
      ;Bedbugs-------------------------------------------------------------------------------------------
  ask bedbugs with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
     [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ask bedbugs with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
     [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Walking Sticks--------------------------------------------------------------------------------------
     ask stickbug with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = red] and (random 15 != 1)
        [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
            face one-of turtles with [color = red] with-max [damage]
          hatch-blinds 1
          [
            set rival red
            set color brown
            set ermemory effectiverange
            set size 1
            set heading [heading] of myself
          ]
        ]

    ]
  ]
     ask stickbug with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = blue] and (random 15 != 1)
        [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
            face one-of turtles with [color = blue] with-max [damage]
          hatch-blinds 1
          [
            set rival blue
            set color brown
            set ermemory effectiverange
            set size 1
            set heading [heading] of myself
          ]
        ]

    ]
  ]
    ;Tarantula Hawks-------------------------------------------------------------------------------------
  ask tarantulahawks with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     if [shape] of self != "beetle"
       [
         set poisoned? true
         set effectiverange 0
         set ermemory 0
       ]
     set paralyzetime (paralyzetime + 1)
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
ask tarantulahawks with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     if [shape] of self != "beetle"
       [
         set poisoned? true
         set effectiverange 0
         set ermemory 0
       ]
     set paralyzetime (paralyzetime + 1)
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
;Screwworm Flies--------------------------------------------------------------------------
ask screwworms with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            set poisoned? true
            set bhost? true
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
ask screwworms with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            set poisoned? true
            set rhost? true
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
ask larvaes with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set spawntime (spawntime - 1)
    if spawntime <= 0
    [
    hatch-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 3
      set color blue
      set flying? true
    ]
    die
    ]
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
ask larvaes with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set spawntime (spawntime - 1)
    if spawntime <= 0
    [
    hatch-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 3
      set color red
      set flying? true
    ]
    die
    ]
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
;Termites-----------------------------------------------------------------------------------
ask termites with [color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
          if ((not any? patches with ([nobody = true]) in-radius 3) and (any? (turtles-on patch-ahead 2) with [color = red]) and (not any? (patches with [pcolor = black]) in-radius 3))
    [
      ask patch-ahead 3
      [
      ask patches in-radius 1 with [center? = true]
      [
        ask patches in-radius 1.5
        [
          set pcolor black
        ]
      ]
      ]
    ]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            ifelse building? != true
            [
            set health (health - (([damage] of myself) / shield))
            ]
            [
            set health (health - ((([damage] of myself) / shield)) * 4)
            ]
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
ask termites with [color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)]
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
if ((not any? patches with ([nobody = true]) in-radius 3) and (any? (turtles-on patch-ahead 2) with [color = blue]) and (not any? (patches with [pcolor = black]) in-radius 3))
    [
      ask patch-ahead 3
      [
      ask patches in-radius 1 with [center? = true]
      [
        ask patches in-radius 1.5
        [
          set pcolor black
        ]
      ]
      ]
    ]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            ifelse building? != true
            [
            set health (health - (([damage] of myself) / shield))
            ]
            [
            set health (health - ((([damage] of myself) / shield)) * 4)
            ]
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
;-------------------------------------------------------------------------------------------
ask turtles with [blindtime > 0]
    [
      left random 90
      right random 90
      forward speed
      set blindtime (blindtime - 1)
      ]
    ask turtles with [paralyzetime > 0]
    [
      set paralyzetime (paralyzetime - 1)
      ]
ask turtles with [(patch-ahead speed = nobody) or ([pcolor] of (patch-ahead speed) = black) and (color = blue) and flying? = false]
[
  right 135
  forward speed
  ]
ask turtles with [(patch-ahead speed = nobody) or ([pcolor] of (patch-ahead speed) = black) and (color = red) and flying? = false]
[
left 135
forward speed
]
        ask turtles with [health <= 0]
    [
      if bhost? = true
      [
        hatch-larvaes 1
        [
      set shield 1
      set health 1.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "larvae"
      set size 2
      set color blue
      set label-color white
      set labelmemory white
      set poisoned? false
      set flying? true
      set spawntime 20
      set bhost? false
            ]
          ]
      if rhost? = true
      [
        hatch-larvaes 1
        [
      set shield 1
      set health 1.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "larvae"
      set size 2
      set color red
      set label-color white
      set labelmemory white
      set poisoned? false
      set flying? true
      set spawntime 20
      set rhost? false
            ]
          ]
      die
    ]
    ]
  ]
  [
        if count turtles with [color = red] = 0
        [
          print "BLUE WINS"
          stop
        ]
        if count turtles with [color = blue] = 0
        [
          print "RED WINS"
          stop
        ]
  ]
  ]
    ;====================================================================================================
    ;==========================================NEST DESTROYER============================================
    ;====================================================================================================
if gamemode = 1
[
ifelse count nests = 2 and gamemode = 1
[
if gamemode = 1
[

      ask nests with [color = blue]
      [
        set color 103
        set label health
      ]
      ask nests with [color = red]
      [
        set color 13
        set label health
      ]
      ask turtles with [color = red]
      [
        set nestnumber 2
      ]
      ask turtles with [color = blue]
      [
        set nestnumber 1
      ]
      ask turtles with [recovering? = true]
      [
        setxy ([xcor] of one-of nests with [nestnumber = [nestnumber] of myself]) ([ycor] of one-of nests with [nestnumber = [nestnumber] of myself])
        set health (health + 1)
        set paralyzetime 10
        if health >= maxhealth
        [
          set recovering? false
        ]
      ]
  ;Bugs Nest==============================================
        ask bugs_nests with [shade-of? color blue]
        [
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              hatch-bugs 1
              [
       set shield 1
       set building? 0
      set health 1
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "bug"
      set size 1.5
      set color blue
      set labelmemory white
              ]
              set health (health - 2)
              set spawntime 10
            ]
          ]
          setxy bx by
        ]
        ask bugs_nests with [shade-of? color red]
        [
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              hatch-bugs 1
              [
       set shield 1
       set building? 0
      set health 1
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "bug"
      set size 1.5
      set color red
      set labelmemory white
              ]
              set health (health - 2)
              set spawntime 10
            ]
          ]
          setxy bx by
        ]
  ;Pollen Flowers=============================================================
   ask pollen_flowers with [shade-of? color blue]
        [
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
            create-links-to turtles with [color = red] in-radius 4.5
            ask turtles with [color = red] in-radius 4.5
            [
              set blindtime 2
            ]
          ]
          setxy bx by
        ]
   ask pollen_flowers with [shade-of? color red]
        [
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
            create-links-to turtles with [color = blue] in-radius 4.5
            ask turtles with [color = blue] in-radius 4.5
            [
              set blindtime 2
            ]
          ]
          setxy bx by
        ]
  ;Bug Decoys============================================================
   ask bug_decoys with [shade-of? color blue]
        [
          set color 104
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
          ]
        ]
   ask bug_decoys with [shade-of? color red]
        [
          set color 14
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
          ]
        ]
;Health Givers=====================================================================
   ask health_givers with [shade-of? color blue]
        [
          face min-one-of turtles with [color = blue] [distance myself]
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            create-links-to turtles with [color = blue and health < maxhealth] in-radius 6
            [
              set shape "healing"
              set color lime
            ]
            ask turtles with [color = blue and health < maxhealth] in-radius 6
            [
              set health (health + 0.5)
              ask myself
              [
                set health (health - 0.5)
                ]
              if health > maxhealth
              [
                set health maxhealth
              ]

            ]
          ]
          setxy bx by
        ]
   ask health_givers with [shade-of? color red]
        [
          face min-one-of turtles with [color = red] [distance myself]
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            create-links-to turtles with [color = red and health < maxhealth] in-radius 6
            [
              set shape "healing"
              set color lime
            ]
            ask turtles with [color = red and health < maxhealth] in-radius 6
            [
              set health (health + 0.5)
                            ask myself
              [
                set health (health - 0.5)
                ]
              if health > maxhealth
              [
                set health maxhealth
              ]
            ]
          ]
          setxy bx by
        ]
;Chemical Swappers==============================================================================
   ask chemical_swaps with [shade-of? color blue]
        [
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            if count turtles with [color = red and switching? = true] != 1
          [
              if any? turtles with [color = red] in-radius 9
              [
            ask min-one-of turtles with [color = red] in-radius 9 [distance myself]
            [
              set switching? true
            ]
            create-links-to turtles with [color = red and switching? = true]
              [
                set color blue
                set shape "chemical"
              ]
              set spawntime ([maxhealth] of one-of turtles with [color = red and switching? = true] * 3)
          ]
            ]
            set spawntime (spawntime - 1)
            if spawntime <= 0
            [
            ask turtles with [color = red and switching? = true] in-radius 9
            [
             set color blue
             set switching? false
                ask my-links with [shape = "chemical"]
                [
                  die
                ]
            ]
              set spawntime 0
            ]
          ]
          setxy bx by
        ]
   ask chemical_swaps with [shade-of? color red]
        [
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            if count turtles with [color = blue and switching? = true] != 1
          [
              if any? turtles with [color = blue] in-radius 9
              [
            ask min-one-of turtles with [color = blue] in-radius 9 [distance myself]
            [
              set switching? true
            ]
            create-links-to turtles with [color = blue and switching? = true]
              [
                set color red
                set shape "chemical"
              ]
              set spawntime ([maxhealth] of one-of turtles with [color = blue and switching? = true] * 3)
          ]
            ]
            set spawntime (spawntime - 1)
            if spawntime <= 0
            [
            ask turtles with [color = blue and switching? = true] in-radius 9
            [
             set color red
             set switching? false
                ask my-links with [shape = "chemical"]
                [
                  die
                ]
            ]
              set spawntime 0
            ]
          ]
          setxy bx by
        ]
        ;==========================================================================
      ask turtles with [shape != "nest" and shape != "ant"]
     [
          ifelse any? turtles with [(color != [color] of myself) and (shape != "nest")] in-radius 9 and (not any? nests with [nestnumber != [nestnumber] of myself] in-radius 9)
      [
              if shape = "bug" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
      if shape = "bug" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
   if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
  ;Bees-------------------------------------------------------------------
if shape = "bee 2" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

     set health (health - ((1 / speed) / shield))
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
  if shape = "bee 2" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
                set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
       set health (health - (damage * 0.75))
      ]
    ]
      ]

     set health (health - ((1 / speed) / shield))
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
    ;Ants--------------------------------------------------------------------------
if shape = "ant 2" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set damage 1 + (0.5 * (count other ants in-radius effectiverange with [color = blue]))
    set dmemory damage
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
if shape = "ant 2" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set damage 1 + (0.5 * (count other ants in-radius effectiverange with [color = red]))
    set dmemory damage
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
    ;Caterpillars--------------------------------------------------------------------------------
  if shape = "caterpillar" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
  if shape = "caterpillar" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask (turtles in-radius 1) with [color = blue]
     [
       set health (health - 1)
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
       set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
    ;Butterflies-----------------------------------------------------------------------
      if shape = "butterfly" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? caterpillars with [color = blue and health < 3]
        [
          face min-one-of caterpillars with [color = blue and health < 3] [distance myself]
          ifelse [redweb] of patch-here = false
          [
          forward speed
          ]
          [
          forward (speed / 4)
          ]
          if any? caterpillars with [color = blue] in-radius effectiverange
          [
            ask caterpillars with [color = blue] in-radius effectiverange
            [
              set health (health + 1)
              if health > 3
              [ set health 3]
            ]
          ]
        ]
        [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
              forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
      ]
  ]
      if shape = "butterfly" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? caterpillars with [color = red and health < 3]
        [
          face min-one-of caterpillars with [color = red and health < 3] [distance myself]
          ifelse [blueweb] of patch-here = false
          [
          forward speed
          ]
          [
          forward (speed / 4)
          ]
          if any? caterpillars with [color = red] in-radius effectiverange
          [
            ask caterpillars with [color = red] in-radius effectiverange
            [
              set health (health + 1)
              if health > 3
              [ set health 3]
            ]
          ]
        ]
        [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
              forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
      ]
  ]
    ;Spiders----------------------------------------------------------------------------
if shape = "spider" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        if random 20 = 1 and count (turtles-on patches with [pcolor != 109]) with [color = red] > 0
    [
      ask max-one-of (turtles-on patches with [pcolor != 109]) with [color = red] [distance myself]
      [
        ask patches in-radius ([effectiverange] of myself)
        [
          set pcolor 109
          set blueweb true
          set sspawntime 60
        ]
      ]
    ]
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
            set poisoned? true
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
  if shape = "spider" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    if random 20 = 1 and count (turtles-on patches with [pcolor != 19.5]) with [color = blue] > 0
    [
          ask max-one-of (turtles-on patches with [pcolor != 19.5]) with [color = blue] [distance myself]
      [
            ask patches in-radius ([effectiverange] of myself)
        [
          set pcolor 19.5
          set redweb true
          set sspawntime 60
        ]
      ]
    ]
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
            set poisoned? true
  if thorns = true
    [
      ask myself
      [
       set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
    ;Moths-------------------------------------------------------------------------------
      if shape = "butterfly 2" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? butterflies with [color = red]
        [
          face min-one-of butterflies with [color = red] [distance myself]
          ifelse [redweb] of patch-here = false
         [
           forward speed
          ]
          [
            forward (speed / 4)
          ]
         if any? (butterflies in-radius 1) with [color = red]
    [
      ask one-of (butterflies in-radius 1) with [color = red]
     [
            set health (health - ((([damage] of myself) * 2) / shield))
              forward -2
     forward -1
      ]

    ]
        ]
       [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
          forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
              forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
    if health <= 0
    [
          ask turtles in-radius effectiverange with [color = red and [shape] of self != "beetle"]
          [
            set damage (damage / 2) set speed (speed / 2) set label-color (grey - 2) set labelmemory (grey - 2)
            set dmemory damage
            set speedmemory speed
          ]
    ]
      ]
  ]
      if shape = "butterfly 2" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? butterflies with [color = blue]
        [
          face min-one-of butterflies with [color = blue] [distance myself]
          ifelse [BLUEWEB] of patch-here = false
         [
           forward speed
          ]
          [
            forward (speed / 4)
          ]
         if any? (butterflies in-radius 1) with [color = blue]
    [
      ask one-of (butterflies in-radius 1) with [color = blue]
     [
            set health (health - ((([damage] of myself) * 2) / shield))
              forward -2
     forward -1
      ]

    ]
        ]
       [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [BLUEWEB] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
              forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
    if health <= 0
    [
          ask turtles in-radius effectiverange with [color = blue and [shape] of self != "beetle"]
          [
            set damage (damage / 2) set speed (speed / 2) set label-color (grey - 2) set labelmemory (grey - 2)
            set dmemory damage
            set speedmemory speed
          ]
    ]
      ]
  ]

    ;Dragonflies-------------------------------------------------------------------------
    if shape = "dragonfly" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage / 2))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
    if shape = "dragonfly" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
             if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
     ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
    ;Beetles-----------------------------------------------------------------------------
        if shape = "beetle" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse ramming = true
        [
          set heading facememory
        ]
        [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ]
    forward speed
    set speed (speed + 0.25)
    set speedmemory speed
    set damage speed
    set dmemory damage
        if ([pxcor] of patch-here >= 33.9) or ([pycor] of patch-here >= -0.9) or ([pxcor] of patch-here <= 0.9) or ([pycor] of patch-here <= -45.9) and ramming = true
      [
        set ramming false
        set speed 0.25
        set speedmemory speed
        set damage speed
        set dmemory damage
          forward 0 - [damage] of self
        forward -1
       ]
    if speed > 3
      [
        set facememory [heading] of self
        set ramming true
      ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask (turtles in-radius effectiverange) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward 0 - [damage] of myself
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
          if [damage] of self > 3.5
          [
            forward 0 - [damage] of self
      forward -1
          ]
      set speed 0.25
      set speedmemory speed
      set damage speed
      set dmemory damage
      set ramming false
    ]
      ]
  ]
if shape = "beetle" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse ramming = true
        [
          set heading facememory
        ]
        [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ]
    forward speed
    set speed (speed + 0.25)
    set speedmemory speed
    set damage speed
    set dmemory damage
        if ([pxcor] of patch-here >= 33.9) or ([pycor] of patch-here >= -0.9) or ([pxcor] of patch-here <= 0.9) or ([pycor] of patch-here <= -45.9) and ramming = true
      [
        set ramming false
        set speed 0.25
        set speedmemory speed
        set damage speed
        set dmemory damage
        forward -2
        forward -1
       ]
    if speed > 3
      [
        set facememory [heading] of self
        set ramming true
      ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask (turtles in-radius effectiverange) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward 0 - [damage] of myself
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
          if [damage] of self > 3.5
          [
      forward 0 - [damage] of self
      forward -1
          ]
      set speed 0.25
      set speedmemory speed
      set damage speed
      set dmemory damage
      set ramming false
    ]
      ]
  ]
    ;Venom Spitters------------------------------------------------------------------------------------
  if shape = "venomspitter" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = red and poisoned? = true]
        [
    face min-one-of turtles with [color = red and poisoned? = true] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [color = red and poisoned? = true]
    [
      ask one-of (turtles in-radius 1) with [color = red and poisoned? = true]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
          face min-one-of turtles with [shade-of? color red] [distance myself]
          hatch-poisons 1
          [
          set label ""
            set rival red
            set color 52
            set ermemory effectiverange
            set size 1
            face min-one-of turtles with [shade-of? color red] [distance myself]
          ]
        ]

    ]
  ]
if shape = "venomspitter" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = blue and poisoned? = true]
        [
    face min-one-of turtles with [color = blue and poisoned? = true] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [color = blue and poisoned? = true]
    [
      ask one-of (turtles in-radius 1) with [color = blue and poisoned? = true]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
          face min-one-of turtles with [shade-of? color blue] [distance myself]
          hatch-poisons 1
          [
          set label ""
            set rival blue
            set color 52
            set ermemory effectiverange
            set size 1
            face min-one-of turtles with [shade-of? color blue] [distance myself]
          ]
        ]

    ]
  ]
    ;Grasshoppers----------------------------------------------------------------------------
    if shape = "grasshopper" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse [distance myself] of (min-one-of turtles with [color = red] [distance myself]) > 12
        [
          set speed 12
        ]
        [
          set speed speedmemory
        ]
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage / 2))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "grasshopper" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse [distance myself] of (min-one-of turtles with [color = blue] [distance myself]) > 12
        [
          set speed 12
        ]
        [
          set speed speedmemory
        ]
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Thorn Bugs---------------------------------------------------------------------------
       if shape = "thornbug" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
       if shape = "thornbug" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
  ;Mantises---------------------------------------------------------------------------------
  if shape = "mantis" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [distance myself] of (min-one-of turtles with [color = red] [distance myself]) < 7 and speed < ([distance myself] of min-one-of turtles with [color = red] [distance myself])
        [
          set speed (speed + 1)
          set speedmemory speed
          set damage (damage + 1)
          set dmemory damage
        ]
        [
        ifelse [redweb] of patch-here = false
        [
    forward speed - 1
    set speed 2
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
     set speed 2
     set speedmemory speed
     set damage 1
     set dmemory damage
    ]
        ]
          if any? turtles with [color = red and health <= 0] in-radius 3
          [
          ask one-of turtles with [color = red and health <= 0] in-radius 3
          [
            ask turtles with [color = blue] in-radius 6
            [
          set health health + (1 + (([maxhealth] of one-of (turtles with [color = red and health <= 0] in-radius 6) / (count turtles with [color = blue] in-radius 6))))
          if health > maxhealth
          [
            set health maxhealth
          ]
            ]
          ]
      ]
      ]
  ]
 if shape = "mantis" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [distance myself] of (min-one-of turtles with [color = blue] [distance myself]) < 7 and speed < ([distance myself] of min-one-of turtles with [color = blue] [distance myself])
        [
          set speed (speed + 1)
          set speedmemory speed
          set damage (damage + 1)
          set dmemory damage
        ]
        [
        ifelse [blueweb] of patch-here = false
        [
    forward speed - 1
    set speed 2
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
     set speed 2
     set speedmemory speed
     set damage 1
     set dmemory damage
    ]
        ]
          if any? turtles with [color = blue and health <= 0] in-radius 3
          [
          ask one-of turtles with [color = blue and health <= 0] in-radius 3
          [
            ask turtles with [color = red] in-radius 6
            [
          set health health + (1 + (([maxhealth] of one-of (turtles with [color = blue and health <= 0] in-radius 6) / (count turtles with [color = red] in-radius 6))))
          if health > maxhealth
          [
            set health maxhealth
          ]
            ]
          ]
      ]
      ]
  ]
    ;Pillbug----------------------------------------------------------------------------------------------------
       if shape = "pillbug" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
   if shape = "pillbug" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Cicadas-----------------------------------------------------------------------------------------------------
       if shape = "cicada" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
       if shape = "cicada" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Wasps-----------------------------------------------------------------------------------------------
  if shape = "wasp" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
  if shape = "wasp" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
      ;Bedbugs-------------------------------------------------------------------------------------------
  if shape = "bedbug" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
     [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    if shape = "bedbug" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
     [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Walking Sticks--------------------------------------------------------------------------------------
     if shape = "walkingstick" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = red] and (random 20 != 1)
        [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
            face one-of turtles with [color = red] with-max [damage]
          hatch-blinds 1
          [
            set rival red
            set color brown
            set ermemory effectiverange
            set size 1
            set heading [heading] of myself
          ]
        ]

    ]
  ]
     if shape = "walkingstick" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = blue] and (random 20 != 1)
        [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
            face one-of turtles with [color = blue] with-max [damage]
          hatch-blinds 1
          [
            set rival blue
            set color brown
            set ermemory effectiverange
            set size 1
            set heading [heading] of myself
          ]
        ]

    ]
  ]
    ;Tarantula Hawks-------------------------------------------------------------------------------------
  if shape = "tarantulahawk" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     if [shape] of self != "beetle"
       [
         set poisoned? true
         set effectiverange 0
         set ermemory 0
       ]
     set paralyzetime (paralyzetime + 1)
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
if shape = "tarantulahawk" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     if [shape] of self != "beetle"
       [
         set poisoned? true
         set effectiverange 0
         set ermemory 0
       ]
     set paralyzetime (paralyzetime + 1)
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
;Screwworms------------------------------------------------------------------------
if shape = "screwworm" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            set poisoned? true
            set bhost? true
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "screwworm" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            set poisoned? true
            set rhost? true
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "larvae" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set spawntime (spawntime - 1)
    if spawntime <= 0
    [
    hatch-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 3
      set color blue
      set flying? true
    ]
    die
    ]
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "larvae" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set spawntime (spawntime - 1)
    if spawntime <= 0
    [
    hatch-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 3
      set color red
      set flying? true
    ]
    die
    ]
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
  ;Termites-------------------------------------------------------------------------------------
 if shape = "termite" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
          if ((not any? patches with ([nobody = true]) in-radius 3) and (any? (turtles-on patch-ahead 2) with [color = red]) and (not any? (patches with [pcolor = black]) in-radius 3))
    [
      ask patch-ahead 3
      [
      ask patches in-radius 1 with [center? = true]
      [
        ask patches in-radius 1.5
        [
          set pcolor black
        ]
      ]
      ]
    ]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            ifelse building? != true
            [
            set health (health - (([damage] of myself) / shield))
            ]
            [
            set health (health - ((([damage] of myself) / shield)) * 4)
            ]
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "termite" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
if ((not any? patches with ([nobody = true]) in-radius 3) and (any? (turtles-on patch-ahead 2) with [color = blue]) and (not any? (patches with [pcolor = black]) in-radius 3))
    [
      ask patch-ahead 3
      [
      ask patches in-radius 1 with [center? = true]
      [
        ask patches in-radius 1.5
        [
          set pcolor black
        ]
      ]
      ]
    ]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            ifelse building? != true
            [
            set health (health - (([damage] of myself) / shield))
            ]
            [
            set health (health - ((([damage] of myself) / shield)) * 4)
            ]
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
  ;------------
      ]
      [
        ;=================
          if any? nests with [nestnumber != [nestnumber] of myself] in-radius 4
        [

          ask nests with [nestnumber != [nestnumber] of myself]
          [
              set health (health - [damage] of myself)
          ]
          ask self
          [
            forward 0 - speed
            forward -1
            if shape = "mantis"
            [
                 set speed 2
                 set speedmemory speed
                 set damage 1
                 set dmemory damage
            ]
            if shape = "beetle"
             [
      set speed 0.25
      set speedmemory speed
      set damage speed
      set dmemory damage
      set ramming false
             ]
          ]
        ]

          if [color] of self = blue
          [
            face one-of nests with [color = 13]
          ]
          if [color] of self = red
          [
            face one-of nests with [color = 103]
          ]
        ifelse shape != "mantis"
              [
        forward speed
              ]
              [
                forward speed - 1
              ]
      ]
      ]
              ;Grasshoppers----------
        ask grasshoppers
        [
            ifelse not any? turtles with [shade-of? [color] of self [color] of myself = false] in-radius 9
            [
              set speed 12
            ]
            [
              set speed speedmemory
            ]
          ]
        ;Spiders--------------------
        ask spiders with [color = blue]
        [
       if random 20 = 1 and count (turtles-on patches with [pcolor != 109]) with [color = red] > 0
    [
      ask max-one-of (turtles-on patches with [pcolor != 109]) with [color = red] [distance myself]
      [
        ask patches in-radius ([effectiverange] of myself)
        [
          set pcolor 109
          set blueweb true
          set sspawntime 60
       ]
      ]
    ]
      ]
        ask spiders with [color = red]
        [
        if random 20 = 1 and count (turtles-on patches with [pcolor != 19.5]) with [color = blue] > 0
    [
      ask max-one-of (turtles-on patches with [pcolor != 19.5]) with [color = blue] [distance myself]
      [
        ask patches in-radius ([effectiverange] of myself)
        [
          set pcolor 19.5
          set redweb true
          set sspawntime 60
        ]
      ]
    ]
      ]
        ;Venom Spitters---
        ask venomspitters with [color = blue]
        [
          if count turtles with [color = red and poisoned? = true] = 0
         [
                if count turtles with [color = red] >= 1
                [
          face min-one-of turtles with [shade-of? color red] [distance myself]
          hatch-poisons 1
          [
          set label ""
            set rival red
            set color 52
            set ermemory effectiverange
            set size 1
            face min-one-of turtles with [shade-of? color red] [distance myself]
          ]
          ]
              ]

        ]
        ask venomspitters with [color = red]
        [
          if count turtles with [color = blue and poisoned? = true] = 0
          [
                if count turtles with [color = blue] >= 1
                [
          face min-one-of turtles with [shade-of? color blue] [distance myself]
          hatch-poisons 1
          [
          set label ""
            set rival blue
            set color 52
            set ermemory effectiverange
            set size 1
            face min-one-of turtles with [shade-of? color blue] [distance myself]
          ]
          ]
              ]
        ]
        ;Beetles----------
        ask beetles
        [
          set speed (speed + 0.25)
          set speedmemory speed
          set damage speed
          set dmemory damage
          if speed > 3
          [
          set facememory [heading] of self
          set ramming true
          ]
        ]
        ;Walking Stick----
        ask stickbug with [color = blue]
        [
          if random 20 = 1 and (count turtles with [color = red] > 0)
        [
            face one-of turtles with [color = red] with-max [damage]
          hatch-blinds 1
          [
            set rival red
            set color brown
            set ermemory effectiverange
            set size 1
            set heading [heading] of myself
          ]
        ]
        ]
        ask stickbug with [color = red]
        [
          if random 20 = 1 and (count turtles with [color = red] > 0)
        [
            face one-of turtles with [color = blue] with-max [damage]
          hatch-blinds 1
          [
            set rival blue
            set color brown
            set ermemory effectiverange
            set size 1
            set heading [heading] of myself
          ]
        ]
        ]
          ask larvaes with [color = blue]
                  [
                    set spawntime (spawntime - 1)
          if spawntime <= 0
            [
     hatch-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 2.5
      set color blue
      set flying? true
    ]
                      die
                    ]
                  ]
       ask larvaes with [color = red]
                  [
                    set spawntime (spawntime - 1)
          if spawntime <= 0
            [
     hatch-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 2.5
      set color red
      set flying? true
    ]
                      die
                    ]
                  ]
       ;=================
    ]
    ask turtles with [blindtime > 0]
    [
      left random 90
      right random 90
      forward speed
      set blindtime (blindtime - 1)
      ]
    ask turtles with [paralyzetime > 0]
    [
      set paralyzetime (paralyzetime - 1)
      ]
ask turtles with [(patch-ahead speed = nobody) or ([pcolor] of (patch-ahead speed) = black) and (color = blue) and flying? = false]
[
  right 135
  forward speed
  ]
ask turtles with [(patch-ahead speed = nobody) or ([pcolor] of (patch-ahead speed) = black) and (color = red) and flying? = false]
[
left 135
forward speed
]
      ask turtles with [shape != "nest"]
    [
        if (health <= 0)
        [
          ask nests with [nestnumber = [nestnumber] of myself]
          [
            ifelse count turtles with [recovering? = true and nestnumber = [nestnumber] of myself] = 0
            [
              ask myself
              [
                setxy ([xcor] of one-of nests with [nestnumber = [nestnumber] of myself]) ([ycor] of one-of nests with [nestnumber = [nestnumber] of myself])
                set paralyzetime 10
                set recovering? true
              ]
            ]
            [
              ask myself
              [
                if bhost? = true
      [
        hatch-larvaes 1
        [
      set shield 1
      set health 1.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "larvae"
      set size 2
      set color blue
      set poisoned? false
      set label-color white
      set labelmemory white
      set poisoned? false
      set flying? true
      set spawntime 20
      set bhost? false
            ]
          ]
      if rhost? = true
      [
        hatch-larvaes 1
        [
      set shield 1
      set health 1.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "larvae"
      set size 2
      set color red
      set poisoned? false
      set label-color white
      set labelmemory white
      set poisoned? false
      set flying? true
      set spawntime 20
      set bhost? false
            ]
          ]
                die
              ]
            ]
        ]
        ]
    ]
    ask nests
      [
        if health <= 0
        [
          die
        ]
      ]
  ]
  [
  if count nests with [color = 13] = 0
        [
    print "BLUE WINS"
    stop
        ]
  if count nests with [color = 103] = 0
        [
    print "RED WINS"
    stop
        ]
  ]
  ]
  ;=====================================================================================
  ;=================================ENERGY BUGS=========================================
  ;=====================================================================================
  if gamemode = 2
  [
    ask points with [color = blue]
    [
      set color violet
    ]
    ask points with [color = red]
    [
      set color orange
    ]
  ;Bugs Nest==============================================
        ask bugs_nests with [shade-of? color blue]
        [
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              hatch-bugs 1
              [
       set shield 1
       set building? 0
      set health 1
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "bug"
      set size 1.5
      set color blue
      set label ""
      set labelmemory white
      set building? 0
              ]
              set health (health - 2)
              set spawntime 10
            ]
          ]
          setxy bx by
        ]
        ask bugs_nests with [shade-of? color red]
        [
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              hatch-bugs 1
              [
       set shield 1
       set building? 0
      set health 1
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "bug"
      set size 1.5
      set color red
      set label ""
      set labelmemory white
      set building? 0
              ]
              set health (health - 2)
              set spawntime 10
            ]
          ]
          setxy bx by
        ]
  ;Pollen Flowers=============================================================
   ask pollen_flowers with [shade-of? color blue]
        [
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
            create-links-to turtles with [color = red] in-radius 4.5
            ask turtles with [color = red] in-radius 4.5
            [
              set blindtime 2
            ]
          ]
          setxy bx by
        ]
   ask pollen_flowers with [shade-of? color red]
        [
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
            create-links-to turtles with [color = blue] in-radius 4.5
            ask turtles with [color = blue] in-radius 4.5
            [
              set blindtime 2
            ]
          ]
          setxy bx by
        ]
  ;Bug Decoys============================================================
   ask bug_decoys with [shade-of? color blue]
        [
          set color 104
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
          ]
        ]
   ask bug_decoys with [shade-of? color red]
        [
          set color 14
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            set spawntime (spawntime - 1)
            if spawntime = 0
            [
              set health (health - 1)
              set spawntime 10
            ]
          ]
        ]
;Health Givers=====================================================================
   ask health_givers with [shade-of? color blue]
        [
              if count turtles with [color = blue] > 0
              [
          face min-one-of turtles with [color = blue] [distance myself]
              ]
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            create-links-to turtles with [color = blue and health < maxhealth] in-radius 6
            [
              set shape "healing"
              set color lime
            ]
            ask turtles with [color = blue and health < maxhealth] in-radius 6
            [
              set health (health + 0.5)
              ask myself
              [
                set health (health - 0.5)
                ]
              if health > maxhealth
              [
                set health maxhealth
              ]

            ]
          ]
          setxy bx by
        ]
   ask health_givers with [shade-of? color red]
        [
              if count turtles with [color = red] > 0
              [
          face min-one-of turtles with [color = red] [distance myself]
              ]
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            create-links-to turtles with [color = red and health < maxhealth] in-radius 6
            [
              set shape "healing"
              set color lime
            ]
            ask turtles with [color = red and health < maxhealth] in-radius 6
            [
              set health (health + 0.5)
                            ask myself
              [
                set health (health - 0.5)
                ]
              if health > maxhealth
              [
                set health maxhealth
              ]
            ]
          ]
          setxy bx by
        ]
;Chemical Swappers==============================================================================
   ask chemical_swaps with [shade-of? color blue]
        [
          set color 104
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            if count turtles with [color = red and switching? = true] != 1
          [
              if any? turtles with [color = red] in-radius 9
              [
            ask min-one-of turtles with [color = red] in-radius 9 [distance myself]
            [
              set switching? true
            ]
            create-links-to turtles with [color = red and switching? = true]
              [
                set color blue
                set shape "chemical"
              ]
              set spawntime ([maxhealth] of one-of turtles with [color = red and switching? = true] * 3)
          ]
            ]
            set spawntime (spawntime - 1)
            if spawntime <= 0
            [
            ask turtles with [color = red and switching? = true] in-radius 9
            [
             set color blue
             set switching? false
                ask my-links with [shape = "chemical"]
                [
                  die
                ]
            ]
              set spawntime 0
            ]
          ]
          setxy bx by
        ]
   ask chemical_swaps with [shade-of? color red]
        [
          set color 14
          if ticks = 1
          [
            set bx xcor
            set by ycor
          ]
          if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
          [
            if count turtles with [color = blue and switching? = true] != 1
          [
              if any? turtles with [color = blue] in-radius 9
              [
            ask min-one-of turtles with [color = blue] in-radius 9 [distance myself]
            [
              set switching? true
            ]
            create-links-to turtles with [color = blue and switching? = true]
              [
                set color red
                set shape "chemical"
              ]
              set spawntime ([maxhealth] of one-of turtles with [color = blue and switching? = true] * 3)
          ]
            ]
            set spawntime (spawntime - 1)
            if spawntime <= 0
            [
            ask turtles with [color = blue and switching? = true] in-radius 9
            [
             set color red
             set switching? false
                ask my-links with [shape = "chemical"]
                [
                  die
                ]
            ]
              set spawntime 0
            ]
          ]
          setxy bx by
        ]
  ;==========================================================================

    ;GAMEMODE CONSTANTS================================================================================================
    ask patches with [(plabel != "") and ((rselected?? = true) or (bselected?? = true))]
    [
      set plabel-color black
    ]
    ask patches with [(plabel != "") and ((rselected?? != true) and (bselected?? != true))]
    [
      set plabel-color white
    ]
    ifelse (count points with [color = violet] > 0) and (count points with [color = orange] > 0) and gamemode = 2
    [
      set rgen (rgen - 1)
      set bgen (bgen - 1)
      if rgen <= 0
      [
        repeat (count points with [color = orange])
        [
          set rbudget (rbudget + 1)
        ]
        set rgen 12
      ]
      if bgen <= 0
      [
        repeat (count points with [color = violet])
        [
          set bbudget (bbudget + 1)
        ]
        set bgen 12
      ]
      ask points with [color = violet]
      [
        if any? turtles with [color = red] in-radius 1
        [
          set spawntime (spawntime - 1)
        ]
        if spawntime <= 0
        [
          die
        ]
        set label precision spawntime 1
      ]
      ask points with [color = orange]
      [
        if any? turtles with [color = blue] in-radius 1
        [
          set spawntime (spawntime - 1)
        ]
        if spawntime <= 0
        [
          die
        ]
        set label precision spawntime 1
      ]
      ask turtles with [blindtime > 0]
    [
      left random 90
      right random 90
      forward speed
      set blindtime (blindtime - 1)
      ]
    ask turtles with [paralyzetime > 0]
    [
      set paralyzetime (paralyzetime - 1)
      ]
ask turtles with [(patch-ahead speed = nobody) or ([pcolor] of (patch-ahead speed) = black) and (color = blue) and flying? = false]
[
  right 135
  forward speed
  ]
ask turtles with [(patch-ahead speed = nobody) or ([pcolor] of (patch-ahead speed) = black) and (color = red) and flying? = false]
[
left 135
forward speed
]
ask turtles with [health <= 0]
    [
      if bhost? = true
      [
        hatch-larvaes 1
        [
      set shield 1
      set health 1.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "larvae"
      set size 2
      set color blue
      set label-color white
      set labelmemory white
      set poisoned? false
      set flying? true
      set spawntime 20
      set bhost? false
            ]
          ]
      if rhost? = true
      [
        hatch-larvaes 1
        [
      set shield 1
      set health 1.5
      set maxhealth health
      set speed 1
      set speedmemory 1
      set damage 1
      set dmemory damage
      set shape "larvae"
      set size 2
      set color red
      set label-color white
      set labelmemory white
      set poisoned? false
      set flying? true
      set spawntime 20
      set rhost? false
            ]
          ]
      die
    ]
      ;===================================================================================================================
      ask turtles with [(building? != true) and (shape != "energybug")]
      [

        ifelse not any? turtles with [(shade-of? color ([color] of myself) = false) and shape != "energybug"] in-radius 9
        [
          ifelse not any? (points-on patch-here) with [(color != ([color] of myself + 10))]
          [
            if blindtime = 0 and paralyzetime = 0
            [
            if count points with [(color != ([color] of myself + 10))] > 0
            [
            face min-one-of points with [(color != ([color] of myself + 10))] [distance myself]
            if color = blue
            [
              ifelse [redweb] of patch-here = false
              [
                forward speed
              ]
              [
                forward (speed / 4)
              ]
            ]
            if color = red
            [
              ifelse [blueweb] of patch-here = false
              [
                forward speed
              ]
              [
                forward (speed / 4)
              ]
            ]
 ;Grasshoppers----------
        if shape = "grasshopper"
        [
            ifelse not any? turtles with [shade-of? [color] of self [color] of myself = false] in-radius 9
            [
              set speed 12
            ]
            [
              set speed speedmemory
            ]
          ]
        ;Spiders--------------------
        if shape = "spider" and color = blue
        [
       if random 20 = 1 and count (turtles-on patches with [pcolor != 109]) with [color = red] > 0
    [
      ask max-one-of (turtles-on patches with [pcolor != 109]) with [color = red] [distance myself]
      [
        ask patches in-radius ([effectiverange] of myself)
        [
          set pcolor 109
          set blueweb true
          set sspawntime 60
       ]
      ]
    ]
      ]
        if shape = "spider" and color = red
        [
        if random 20 = 1 and count (turtles-on patches with [pcolor != 19.5]) with [color = blue] > 0
    [
      ask max-one-of (turtles-on patches with [pcolor != 19.5]) with [color = blue] [distance myself]
      [
        ask patches in-radius ([effectiverange] of myself)
        [
          set pcolor 19.5
          set redweb true
          set sspawntime 60
        ]
      ]
    ]
      ]
        ;Venom Spitters---
        if shape = "venomspitter" and color = blue
        [
          if count turtles with [color = red and poisoned? = true] = 0
         [
                if count turtles with [color = red] >= 1
                [
          face min-one-of turtles with [shade-of? color red] [distance myself]
          hatch-poisons 1
          [
          set label ""
            set rival red
            set color 52
            set ermemory effectiverange
            set size 1
            face min-one-of turtles with [shade-of? color red] [distance myself]
          ]
          ]
              ]

        ]
        if shape = "venomspitter" and color = red
        [
          if count turtles with [color = blue and poisoned? = true] = 0
          [
                if count turtles with [color = blue] >= 1
                [
          face min-one-of turtles with [shade-of? color blue] [distance myself]
          hatch-poisons 1
          [
          set label ""
            set rival blue
            set color 52
            set ermemory effectiverange
            set size 1
            face min-one-of turtles with [shade-of? color blue] [distance myself]
          ]
          ]
              ]
        ]
        ;Beetles----------
        if shape = "beetle"
        [
          set speed (speed + 0.25)
          set speedmemory speed
          set damage speed
          set dmemory damage
          if speed > 3
          [
          set facememory [heading] of self
          set ramming true
          ]
        ]
        ;Walking Stick----
        if shape = "stickbug" and color = blue
        [
          if random 20 = 1 and (count turtles with [color = red] > 0)
        [
            face one-of turtles with [color = red] with-max [damage]
          hatch-blinds 1
          [
            set rival red
            set color brown
            set ermemory effectiverange
            set size 1
            set heading [heading] of myself
          ]
        ]
        ]
        if shape = "stickbug" and color = red
        [
          if random 20 = 1 and (count turtles with [color = red] > 0)
        [
            face one-of turtles with [color = blue] with-max [damage]
          hatch-blinds 1
          [
            set rival blue
            set color brown
            set ermemory effectiverange
            set size 1
            set heading [heading] of myself
          ]
        ]
        ]
        ;Larvae----------
        if shape = "larvae" and color = blue
                  [
                    set spawntime (spawntime - 1)
          if spawntime <= 0
            [
     hatch-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 2.5
      set color blue
      set flying? true
    ]
                      die
                    ]
                  ]
       if shape = "larvae" and color = red
                  [
                    set spawntime (spawntime - 1)
          if spawntime <= 0
            [
     hatch-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 2.5
      set color red
      set flying? true
    ]
                      die
                    ]
                  ]

          ]
              ]
          ]
          [

          ]
        ]
        [
          ifelse not any? (points-on patch-here) with [(color != ([color] of myself + 10))]
          [
if shape = "bug" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))


            forward -2
     forward -1

  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
if shape = "bug" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
   if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
  ;Bees-------------------------------------------------------------------
if shape = "bee 2" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

     set health (health - ((1 / speed) / shield))
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
if shape = "bee 2" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
                set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
                forward -1
  if thorns = true
    [
      ask myself
      [
       set health (health - (damage * 0.75))
      ]
    ]
      ]

     set health (health - ((1 / speed) / shield))
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
    ;Ants--------------------------------------------------------------------------
if shape = "ant 2" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set damage 1 + (0.5 * (count other ants in-radius effectiverange with [color = blue]))
    set dmemory damage
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
if shape = "ant 2" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set damage 1 + (0.5 * (count other ants in-radius effectiverange with [color = red]))
    set dmemory damage
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
    ;Caterpillars--------------------------------------------------------------------------------
if shape = "caterpillar" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
if shape = "caterpillar" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask (turtles in-radius 1) with [color = blue]
     [
                set health (health - ([damage] of myself))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
       set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
    ;Butterflies-----------------------------------------------------------------------
if shape = "butterfly" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? caterpillars with [color = blue and health < 3]
        [
          face min-one-of caterpillars with [color = blue and health < 3] [distance myself]
          ifelse [redweb] of patch-here = false
          [
          forward speed
          ]
          [
          forward (speed / 4)
          ]
          if any? caterpillars with [color = blue] in-radius effectiverange
          [
            ask caterpillars with [color = blue] in-radius effectiverange
            [
              set health (health + 1)
              if health > 3
              [ set health 3]
            ]
          ]
        ]
        [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
      ]
  ]
if shape = "butterfly" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? caterpillars with [color = red and health < 3]
        [
          face min-one-of caterpillars with [color = red and health < 3] [distance myself]
          ifelse [blueweb] of patch-here = false
          [
          forward speed
          ]
          [
          forward (speed / 4)
          ]
          if any? caterpillars with [color = red] in-radius effectiverange
          [
            ask caterpillars with [color = red] in-radius effectiverange
            [
              set health (health + 1)
              if health > 3
              [ set health 3]
            ]
          ]
        ]
        [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
      ]
  ]
    ;Spiders----------------------------------------------------------------------------
if shape = "spider" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        if random 20 = 1 and count (turtles-on patches with [pcolor != 109]) with [color = red] > 0
    [
      ask max-one-of (turtles-on patches with [pcolor != 109]) with [color = red] [distance myself]
      [
        ask patches in-radius ([effectiverange] of myself)
        [
          set pcolor 109
          set blueweb true
          set sspawntime 60
        ]
      ]
    ]
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
            set poisoned? true
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
if shape = "spider" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    if random 20 = 1 and count (turtles-on patches with [pcolor != 19.5]) with [color = blue] > 0
    [
          ask max-one-of (turtles-on patches with [pcolor != 19.5]) with [color = blue] [distance myself]
      [
            ask patches in-radius ([effectiverange] of myself)
        [
          set pcolor 19.5
          set redweb true
          set sspawntime 60
        ]
      ]
    ]
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
            set poisoned? true
  if thorns = true
    [
      ask myself
      [
       set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
      ]
  ]
    ;Moths-------------------------------------------------------------------------------
 if shape = "butterfly 2" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? butterflies with [color = red]
        [
          face min-one-of butterflies with [color = red] [distance myself]
          ifelse [redweb] of patch-here = false
         [
           forward speed
          ]
          [
            forward (speed / 4)
          ]
         if any? (butterflies in-radius 1) with [color = red]
    [
      ask one-of (butterflies in-radius 1) with [color = red]
     [
            set health (health - ((([damage] of myself) * 2) / shield))
              forward -2
     forward -1
      ]

    ]
        ]
       [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
          forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
              forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
    if health <= 0
    [
          ask turtles in-radius effectiverange with [color = red and [shape] of self != "beetle"]
          [
            set damage (damage / 2) set dmemory damage set speed (speed / 2) set speedmemory speed set label-color (grey - 2) set labelmemory (grey - 2)
            set dmemory damage
            set speedmemory speed
          ]
    ]
      ]
  ]
if shape = "butterfly 2" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? butterflies with [color = blue]
        [
          face min-one-of butterflies with [color = blue] [distance myself]
          ifelse [BLUEWEB] of patch-here = false
         [
           forward speed
          ]
          [
            forward (speed / 4)
          ]
         if any? (butterflies in-radius 1) with [color = blue]
    [
      ask one-of (butterflies in-radius 1) with [color = blue]
     [
            set health (health - ((([damage] of myself) * 2) / shield))
              forward -2
     forward -1
      ]

    ]
        ]
       [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [BLUEWEB] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
              forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]

    ]
        ]
    if health <= 0
    [
          ask turtles in-radius effectiverange with [color = blue and [shape] of self != "beetle"]
          [
            set damage (damage / 2) set dmemory damage set speed (speed / 2) set speedmemory speed set label-color (grey - 2) set labelmemory (grey - 2)
            set dmemory damage
            set speedmemory speed
          ]
    ]
      ]
  ]

    ;Dragonflies-------------------------------------------------------------------------
if shape = "dragonfly" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage / 2))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
if shape = "dragonfly" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
             if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
     ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
    ;Beetles-----------------------------------------------------------------------------
if shape = "beetle" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse ramming = true
        [
          set heading facememory
        ]
        [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ]
    forward speed
    set speed (speed + 0.25)
    set speedmemory speed
    set damage speed
    set dmemory damage
        if ([pxcor] of patch-here >= 33.9) or ([pycor] of patch-here >= -0.9) or ([pxcor] of patch-here <= 0.9) or ([pycor] of patch-here <= -45.9) and ramming = true
      [
        set ramming false
        set speed 0.25
        set speedmemory speed
        set damage speed
        set dmemory damage
          forward 0 - [damage] of self
        forward -1
       ]
    if speed > 3
      [
        set facememory [heading] of self
        set ramming true
      ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask (turtles in-radius effectiverange) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward 0 - [damage] of myself
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
          if [damage] of self > 3.5
          [
            forward 0 - [damage] of self
      forward -1
          ]
      set speed 0.25
      set speedmemory speed
      set damage speed
      set dmemory damage
      set ramming false
    ]
      ]
  ]
if shape = "beetle" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse ramming = true
        [
          set heading facememory
        ]
        [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ]
    forward speed
    set speed (speed + 0.25)
    set speedmemory speed
    set damage speed
    set dmemory damage
        if ([pxcor] of patch-here >= 33.9) or ([pycor] of patch-here >= -0.9) or ([pxcor] of patch-here <= 0.9) or ([pycor] of patch-here <= -45.9) and ramming = true
      [
        set ramming false
        set speed 0.25
        set speedmemory speed
        set damage speed
        set dmemory damage
        forward -2
        forward -1
       ]
    if speed > 3
      [
        set facememory [heading] of self
        set ramming true
      ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask (turtles in-radius effectiverange) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward 0 - [damage] of myself
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
          if [damage] of self > 3.5
          [
      forward 0 - [damage] of self
      forward -1
          ]
      set speed 0.25
      set speedmemory speed
      set damage speed
      set dmemory damage
      set ramming false
    ]
      ]
  ]
    ;Venom Spitters------------------------------------------------------------------------------------
if shape = "venomspitter" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = red and poisoned? = true]
        [
    face min-one-of turtles with [color = red and poisoned? = true] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [color = red and poisoned? = true]
    [
      ask one-of (turtles in-radius 1) with [color = red and poisoned? = true]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
          face min-one-of turtles with [shade-of? color red] [distance myself]
          hatch-poisons 1
          [
          set label ""
            set rival red
            set color 52
            set ermemory effectiverange
            set size 1
            face min-one-of turtles with [shade-of? color red] [distance myself]
          ]
        ]

    ]
  ]
if shape = "venomspitter" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = blue and poisoned? = true]
        [
    face min-one-of turtles with [color = blue and poisoned? = true] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [color = blue and poisoned? = true]
    [
      ask one-of (turtles in-radius 1) with [color = blue and poisoned? = true]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
          face min-one-of turtles with [shade-of? color blue] [distance myself]
          hatch-poisons 1
          [
          set label ""
            set rival blue
            set color 52
            set ermemory effectiverange
            set size 1
            face min-one-of turtles with [shade-of? color blue] [distance myself]
          ]
        ]

    ]
  ]
    ;Grasshoppers----------------------------------------------------------------------------
if shape = "grasshopper" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse [distance myself] of (min-one-of turtles with [color = red] [distance myself]) > 12
        [
          set speed 12
        ]
        [
          set speed speedmemory
        ]
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage / 2))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "grasshopper" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse [distance myself] of (min-one-of turtles with [color = blue] [distance myself]) > 12
        [
          set speed 12
        ]
        [
          set speed speedmemory
        ]
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Thorn Bugs---------------------------------------------------------------------------
if shape = "thornbug" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "thornbug" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
  ;Mantises---------------------------------------------------------------------------------
if shape = "mantis" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [distance myself] of (min-one-of turtles with [color = red] [distance myself]) < 7 and speed < ([distance myself] of min-one-of turtles with [color = red] [distance myself])
        [
          set speed (speed + 1)
          set speedmemory speed
          set damage (damage + 1)
          set dmemory damage
        ]
        [
        ifelse [redweb] of patch-here = false
        [
    forward speed - 1
    set speed 2
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
     set speed 2
     set speedmemory speed
     set damage 1
     set dmemory damage
    ]
        ]
          if any? turtles with [color = red and health <= 0] in-radius 3
          [
          ask one-of turtles with [color = red and health <= 0] in-radius 3
          [
            ask turtles with [color = blue] in-radius 6
            [
          set health health + (1 + (([maxhealth] of one-of (turtles with [color = red and health <= 0] in-radius 6) / (count turtles with [color = blue] in-radius 6))))
          if health > maxhealth
          [
            set health maxhealth
          ]
            ]
          ]
      ]
      ]
  ]
if shape = "mantis" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [distance myself] of (min-one-of turtles with [color = blue] [distance myself]) < 7 and speed < ([distance myself] of min-one-of turtles with [color = blue] [distance myself])
        [
          set speed (speed + 1)
          set speedmemory speed
          set damage (damage + 1)
          set dmemory damage
        ]
        [
        ifelse [blueweb] of patch-here = false
        [
    forward speed - 1
    set speed 2
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
     set speed 2
     set speedmemory speed
     set damage 1
     set dmemory damage
    ]
        ]
          if any? turtles with [color = blue and health <= 0] in-radius 3
          [
          ask one-of turtles with [color = blue and health <= 0] in-radius 3
          [
            ask turtles with [color = red] in-radius 6
            [
          set health health + (1 + (([maxhealth] of one-of (turtles with [color = blue and health <= 0] in-radius 6) / (count turtles with [color = red] in-radius 6))))
          if health > maxhealth
          [
            set health maxhealth
          ]
            ]
          ]
      ]
      ]
  ]
    ;Pillbug----------------------------------------------------------------------------------------------------
if shape = "pillbug" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "pillbug" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Cicadas-----------------------------------------------------------------------------------------------------
if shape = "cicada" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "cicada" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Wasps-----------------------------------------------------------------------------------------------
if shape = "wasp" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
if shape = "wasp" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
      ;Bedbugs-------------------------------------------------------------------------------------------
if shape = "bedbug" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
     [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "bedbug" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
     [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
    ;Walking Sticks--------------------------------------------------------------------------------------
if shape = "walkingstick" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = red] and (random 15 != 1)
        [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
            face one-of turtles with [color = red] with-max [damage]
          hatch-blinds 1
          [
            set rival red
            set color brown
            set ermemory effectiverange
            set size 1
            set heading [heading] of myself
          ]
        ]

    ]
  ]
if shape = "walkingstick" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
        ifelse any? turtles with [color = blue] and (random 15 != 1)
        [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
     set health (health - (([damage] of myself) / shield))
     forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
        ]
        [
            face one-of turtles with [color = blue] with-max [damage]
          hatch-blinds 1
          [
            set rival blue
            set color brown
            set ermemory effectiverange
            set size 1
            set heading [heading] of myself
          ]
        ]

    ]
  ]
    ;Tarantula Hawks-------------------------------------------------------------------------------------
if shape = "tarantulahawk" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     if [shape] of self != "beetle"
       [
         set poisoned? true
         set effectiverange 0
         set ermemory 0
       ]
     set paralyzetime (paralyzetime + 1)
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
if shape = "tarantulahawk" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    repeat speed
          [
            forward 1
            if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
     set health (health - ((([damage] of myself) / ([speed] of myself)) / shield))
     if [shape] of self != "beetle"
       [
         set poisoned? true
         set effectiverange 0
         set ermemory 0
       ]
     set paralyzetime (paralyzetime + 1)
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
          ]
        ]
        [
    forward (speed / 4)
        ]
      ]
  ]
;Screwworm Flies--------------------------------------------------------------------------
if shape = "screwworm" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            set poisoned? true
            set bhost? true
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "screwworm" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            set poisoned? true
            set rhost? true
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "larvae" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set spawntime (spawntime - 1)
    if spawntime <= 0
    [
    hatch-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 2.5
      set color blue
      set flying? true
    ]
    die
    ]
    face min-one-of turtles with [shade-of? color red] [distance myself]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "larvae" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    set spawntime (spawntime - 1)
    if spawntime <= 0
    [
    hatch-screwworms 1
    [
      set shield 1
      set health 4
      set maxhealth health
      set speed 1.5
      set speedmemory 1.5
      set damage 1.5
      set dmemory damage
      set shape "screwworm"
      set size 2.5
      set color red
      set flying? true
    ]
    die
    ]
    face min-one-of turtles with [shade-of? color blue] [distance myself]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            set health (health - (([damage] of myself) / shield))
            forward -2
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
;Termites-------------------------------------------------------------------------------------------
if shape = "termite" and color = blue and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color red] [distance myself]
          if ((not any? patches with ([nobody = true]) in-radius 3) and (any? (turtles-on patch-ahead 2) with [color = red]) and (not any? (patches with [pcolor = black]) in-radius 3))
    [
      ask patch-ahead 3
      [
      ask patches in-radius 1 with [center? = true]
      [
        ask patches in-radius 1.5
        [
          set pcolor black
        ]
      ]
      ]
    ]
        ifelse [redweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color red]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color red]
     [
            ifelse building? != true
            [
            set health (health - (([damage] of myself) / shield))
            ]
            [
            set health (health - ((([damage] of myself) / shield)) * 4)
            ]
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
if shape = "termite" and color = red and blindtime = 0 and paralyzetime = 0 and (patch-ahead speed != nobody) and ([pcolor] of (patch-ahead speed) != black)
  [
    if count turtles with [color = red] > 0 and count turtles with [color = blue] > 0
      [
    face min-one-of turtles with [shade-of? color blue] [distance myself]
if ((not any? patches with ([nobody = true]) in-radius 3) and (any? (turtles-on patch-ahead 2) with [color = blue]) and (not any? (patches with [pcolor = black]) in-radius 3))
    [
      ask patch-ahead 3
      [
      ask patches in-radius 1 with [center? = true]
      [
        ask patches in-radius 1.5
        [
          set pcolor black
        ]
      ]
      ]
    ]
        ifelse [blueweb] of patch-here = false
        [
    forward speed
        ]
        [
    forward (speed / 4)
        ]
    if any? (turtles in-radius 1) with [shade-of? color blue]
    [
      ask one-of (turtles in-radius 1) with [shade-of? color blue]
     [
            ifelse building? != true
            [
            set health (health - (([damage] of myself) / shield))
            ]
            [
            set health (health - ((([damage] of myself) / shield)) * 4)
            ]
     forward -1
  if thorns = true
    [
      ask myself
      [
        set health (health - (damage * 0.75))
      ]
    ]
      ]
    ]
      ]
  ]
  ;-------------------------------------------------------
          ]
          [

          ]
        ]
      ]
    ]
    [
      if count points with [color = orange] = 0
        [
          print "BLUE WINS"
          stop
        ]
      if count points with [color = violet] = 0
        [
          print "RED WINS"
          stop
        ]
    ]
  ]
  ]
  tick
end 

There is only one version of this model, created 10 months ago by Israel Alderete.

Attached files

File Type Description Last updated
Silly Bug Game.png preview Preview for 'Silly Bug Game' 10 months ago, by Israel Alderete Download

This model does not have any ancestors.

This model does not have any descendants.