anchor.diff:  
   		if("text")
   			new_var = input("Enter new text:","Text") as text
  -			L[L.Find(variable)] = new_var
  +			if(assoc)
  +				L[assoc_key] = new_var
  +			else
  +				L[L.Find(variable)] = new_var
   
   		if("num")
   			new_var = input("Enter new number:","Num") as num
  -			L[L.Find(variable)] = new_var
  +			if(assoc)
  +				L[assoc_key] = new_var
  +			else
  +				L[L.Find(variable)] = new_var
   
   		if("type")
   			new_var = input("Enter type:","Type") in typesof(/obj,/mob,/area,/turf)
  -			L[L.Find(variable)] = new_var
  +			if(assoc)
  +				L[assoc_key] = new_var
  +			else
  +				L[L.Find(variable)] = new_var
   
   		if("reference")
   			new_var = input("Select reference:","Reference") as mob|obj|turf|area in world
  -			L[L.Find(variable)] = new_var
  +			if(assoc)
  +				L[assoc_key] = new_var
  +			else
  +				L[L.Find(variable)] = new_var
   
   		if("mob reference")
   			new_var = input("Select reference:","Reference") as mob in world
  -			L[L.Find(variable)] = new_var
  +			if(assoc)
  +				L[assoc_key] = new_var
  +			else
  +				L[L.Find(variable)] = new_var
   
   		if("file")
   			new_var = input("Pick file:","File") as file
  -			L[L.Find(variable)] = new_var
  +			if(assoc)
  +				L[assoc_key] = new_var
  +			else
  +				L[L.Find(variable)] = new_var
   
   		if("icon")
   			new_var = input("Pick icon:","Icon") as icon
  -			L[L.Find(variable)] = new_var
  +			if(assoc)
  +				L[assoc_key] = new_var
  +			else
  +				L[L.Find(variable)] = new_var
   
   		if("marked datum")
   			new_var = holder.marked_datum
  -			L[L.Find(variable)] = new_var
  +			if(assoc)
  +				L[assoc_key] = new_var
  +			else
  +				L[L.Find(variable)] = new_var
   
   	world.log << "### ListVarEdit by [src]: [O.type] [objectvar]: [original_var]=[new_var]"
   	log_admin("[key_name(src)] modified [original_name]'s [objectvar]: [original_var]=[new_var]")
  
positive.code: 		if(confirm != "Continue")
  			return
  
  	var/list/names = sortList(L)
  
  	var/variable = input("Which var?","Var") as null|anything in names + "(ADD VAR)"
  
  	if(variable == "(ADD VAR)")
  		mod_list_add(L, O, original_name, objectvar)
  		return
  
  	if(!variable)
  		return
  
  	var/default
  
negative.code: 
  		if("restore to default")
  			new_var = initial(variable)
  			if(assoc)
  				L[assoc_key] = new_var
  			else
  				L[L.Find(variable)] = new_var
  
  		if("edit referenced object")
  			modify_variables(variable)
  