anchor.diff:  	if(holder.marked_datum && class == "marked datum ([holder.marked_datum.type])")
   		class = "marked datum"
   
  -	var/original_var = L[L.Find(variable)]
  +	var/original_var
  +	if(assoc)
  +		original_var = L[assoc_key]
  +	else
  +		original_var = L[L.Find(variable)]
  +	
   	var/new_var
   	switch(class) //Spits a runtime error if you try to modify an entry in the contents list. Dunno how to fix it, yet.
   
  
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("text")
  			new_var = input("Enter new text:","Text") as text
  			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
  			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)
  			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
  			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
  			if(assoc)
  				L[assoc_key] = new_var
  			else
  				L[L.Find(variable)] = new_var
  
  		if("file")
  			new_var = input("Pick file:","File") as file
  			if(assoc)
  				L[assoc_key] = new_var
  			else
  				L[L.Find(variable)] = new_var
  
  		if("icon")
  			new_var = input("Pick icon:","Icon") as icon
  			if(assoc)
  				L[assoc_key] = new_var
  			else
  				L[L.Find(variable)] = new_var
  
  		if("marked datum")
  			new_var = holder.marked_datum
  			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]")
  