|  |  | @ -294,15 +294,14 @@ function Pasture:init() | 
			
		
	
		
		
			
				
					
					|  |  |  |             subviews={ |  |  |  |             subviews={ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 widgets.CycleHotkeyLabel{ |  |  |  |                 widgets.CycleHotkeyLabel{ | 
			
		
	
		
		
			
				
					
					|  |  |  |                     view_id='min_egg', |  |  |  |                     view_id='min_egg', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     frame={l=0, t=0, w=SMALL_SLIDER_LABEL_WIDTH}, |  |  |  |                     frame={l=0, t=1, w=SMALL_SLIDER_LABEL_WIDTH}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     label='Min egg:', |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     label_below=true, |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                     key_back='CUSTOM_SHIFT_B', |  |  |  |                     key_back='CUSTOM_SHIFT_B', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     key='CUSTOM_SHIFT_N', |  |  |  |                     key='CUSTOM_SHIFT_N', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     options={ |  |  |  |                     options={ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         {label=EGG.NOT_EGG_LAYING.label, value=EGG.NOT_EGG_LAYING.value}, |  |  |  |                         {label=EGG.NOT_EGG_LAYING.label, value=EGG.NOT_EGG_LAYING.value}, | 
			
		
	
		
		
			
				
					
					|  |  |  |                         {label=EGG.EGG_LAYING.label, value=EGG.EGG_LAYING.value}, |  |  |  |                         {label=EGG.EGG_LAYING.label, value=EGG.EGG_LAYING.value}, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     }, |  |  |  |                     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     option_gap=0, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     initial_option=EGG.NOT_EGG_LAYING.value, |  |  |  |                     initial_option=EGG.NOT_EGG_LAYING.value, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     on_change=function(val) |  |  |  |                     on_change=function(val) | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if self.subviews.max_egg:getOptionValue() < val then |  |  |  |                         if self.subviews.max_egg:getOptionValue() < val then | 
			
		
	
	
		
		
			
				
					|  |  | @ -313,15 +312,14 @@ function Pasture:init() | 
			
		
	
		
		
			
				
					
					|  |  |  |                 }, |  |  |  |                 }, | 
			
		
	
		
		
			
				
					
					|  |  |  |                 widgets.CycleHotkeyLabel{ |  |  |  |                 widgets.CycleHotkeyLabel{ | 
			
		
	
		
		
			
				
					
					|  |  |  |                     view_id='max_egg', |  |  |  |                     view_id='max_egg', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     frame={r=1, t=0, w=SMALL_SLIDER_LABEL_WIDTH}, |  |  |  |                     frame={r=1, t=1, w=SMALL_SLIDER_LABEL_WIDTH}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     label='Max egg:', |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     label_below=true, |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                     key_back='CUSTOM_SHIFT_T', |  |  |  |                     key_back='CUSTOM_SHIFT_T', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     key='CUSTOM_SHIFT_Y', |  |  |  |                     key='CUSTOM_SHIFT_Y', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     options={ |  |  |  |                     options={ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         {label=EGG.NOT_EGG_LAYING.label, value=EGG.NOT_EGG_LAYING.value}, |  |  |  |                         {label=EGG.NOT_EGG_LAYING.label, value=EGG.NOT_EGG_LAYING.value}, | 
			
		
	
		
		
			
				
					
					|  |  |  |                         {label=EGG.EGG_LAYING.label, value=EGG.EGG_LAYING.value}, |  |  |  |                         {label=EGG.EGG_LAYING.label, value=EGG.EGG_LAYING.value}, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     }, |  |  |  |                     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     option_gap=0, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     initial_option=EGG.EGG_LAYING.value, |  |  |  |                     initial_option=EGG.EGG_LAYING.value, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     on_change=function(val) |  |  |  |                     on_change=function(val) | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if self.subviews.min_egg:getOptionValue() > val then |  |  |  |                         if self.subviews.min_egg:getOptionValue() > val then | 
			
		
	
	
		
		
			
				
					|  |  | @ -349,15 +347,14 @@ function Pasture:init() | 
			
		
	
		
		
			
				
					
					|  |  |  |             subviews={ |  |  |  |             subviews={ | 
			
		
	
		
		
			
				
					
					|  |  |  |                 widgets.CycleHotkeyLabel{ |  |  |  |                 widgets.CycleHotkeyLabel{ | 
			
		
	
		
		
			
				
					
					|  |  |  |                     view_id='min_graze', |  |  |  |                     view_id='min_graze', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     frame={l=0, t=0, w=SMALL_SLIDER_LABEL_WIDTH}, |  |  |  |                     frame={l=0, t=1, w=SMALL_SLIDER_LABEL_WIDTH}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     label='Min graze:', |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     label_below=true, |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                     key_back='CUSTOM_SHIFT_M', |  |  |  |                     key_back='CUSTOM_SHIFT_M', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     key='CUSTOM_SHIFT_L', |  |  |  |                     key='CUSTOM_SHIFT_L', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     options={ |  |  |  |                     options={ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         {label=GRAZE.NOT_GRAZING.label, value=GRAZE.NOT_GRAZING.value}, |  |  |  |                         {label=GRAZE.NOT_GRAZING.label, value=GRAZE.NOT_GRAZING.value}, | 
			
		
	
		
		
			
				
					
					|  |  |  |                         {label=GRAZE.GRAZING.label, value=GRAZE.GRAZING.value}, |  |  |  |                         {label=GRAZE.GRAZING.label, value=GRAZE.GRAZING.value}, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     }, |  |  |  |                     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     option_gap=0, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     initial_option=GRAZE.NOT_GRAZING.value, |  |  |  |                     initial_option=GRAZE.NOT_GRAZING.value, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     on_change=function(val) |  |  |  |                     on_change=function(val) | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if self.subviews.max_graze:getOptionValue() < val then |  |  |  |                         if self.subviews.max_graze:getOptionValue() < val then | 
			
		
	
	
		
		
			
				
					|  |  | @ -368,15 +365,14 @@ function Pasture:init() | 
			
		
	
		
		
			
				
					
					|  |  |  |                 }, |  |  |  |                 }, | 
			
		
	
		
		
			
				
					
					|  |  |  |                 widgets.CycleHotkeyLabel{ |  |  |  |                 widgets.CycleHotkeyLabel{ | 
			
		
	
		
		
			
				
					
					|  |  |  |                     view_id='max_graze', |  |  |  |                     view_id='max_graze', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     frame={r=1, t=0, w=SMALL_SLIDER_LABEL_WIDTH}, |  |  |  |                     frame={r=1, t=1, w=SMALL_SLIDER_LABEL_WIDTH}, | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                     label='Max graze:', |  |  |  |  | 
			
		
	
		
		
			
				
					
					|  |  |  |                     label_below=true, |  |  |  |  | 
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |                     key_back='CUSTOM_SHIFT_U', |  |  |  |                     key_back='CUSTOM_SHIFT_U', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     key='CUSTOM_SHIFT_I', |  |  |  |                     key='CUSTOM_SHIFT_I', | 
			
		
	
		
		
			
				
					
					|  |  |  |                     options={ |  |  |  |                     options={ | 
			
		
	
		
		
			
				
					
					|  |  |  |                         {label=GRAZE.NOT_GRAZING.label, value=GRAZE.NOT_GRAZING.value}, |  |  |  |                         {label=GRAZE.NOT_GRAZING.label, value=GRAZE.NOT_GRAZING.value}, | 
			
		
	
		
		
			
				
					
					|  |  |  |                         {label=GRAZE.GRAZING.label, value=GRAZE.GRAZING.value}, |  |  |  |                         {label=GRAZE.GRAZING.label, value=GRAZE.GRAZING.value}, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     }, |  |  |  |                     }, | 
			
		
	
		
		
			
				
					
					|  |  |  |  |  |  |  |                     option_gap=0, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     initial_option=GRAZE.GRAZING.value, |  |  |  |                     initial_option=GRAZE.GRAZING.value, | 
			
		
	
		
		
			
				
					
					|  |  |  |                     on_change=function(val) |  |  |  |                     on_change=function(val) | 
			
		
	
		
		
			
				
					
					|  |  |  |                         if self.subviews.min_graze:getOptionValue() > val then |  |  |  |                         if self.subviews.min_graze:getOptionValue() > val then | 
			
		
	
	
		
		
			
				
					|  |  | @ -605,7 +601,7 @@ function Pasture:cache_choices() | 
			
		
	
		
		
			
				
					
					|  |  |  |             race=raw.creature_id, |  |  |  |             race=raw.creature_id, | 
			
		
	
		
		
			
				
					
					|  |  |  |             status=get_status(unit), |  |  |  |             status=get_status(unit), | 
			
		
	
		
		
			
				
					
					|  |  |  |             disposition=get_disposition(unit), |  |  |  |             disposition=get_disposition(unit), | 
			
		
	
		
		
			
				
					
					|  |  |  |             egg=dfhack.units.isEggLayer(unit) and EGG.EGG_LAYING.value or EGG.NOT_EGG_LAYING.value, |  |  |  |             egg=dfhack.units.isEggLayerRace(unit) and EGG.EGG_LAYING.value or EGG.NOT_EGG_LAYING.value, | 
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					|  |  |  |             graze=dfhack.units.isGrazer(unit) and GRAZE.GRAZING.value or GRAZE.NOT_GRAZING.value, |  |  |  |             graze=dfhack.units.isGrazer(unit) and GRAZE.GRAZING.value or GRAZE.NOT_GRAZING.value, | 
			
		
	
		
		
			
				
					
					|  |  |  |         } |  |  |  |         } | 
			
		
	
		
		
			
				
					
					|  |  |  |         local choice = { |  |  |  |         local choice = { | 
			
		
	
	
		
		
			
				
					|  |  | 
 |