anchor.diff:  	..()
   
   
  -/obj/item/device/camera/proc/get_icon(turf/the_turf as turf)
  +/obj/item/device/camera/proc/get_icon(list/turfs, turf/center)
  +
   	//Bigger icon base to capture those icons that were shifted to the next tile
   	//i.e. pretty much all wall-mounted machinery
   	var/icon/res = icon('icons/effects/96x96.dmi', "")
  +	// Initialize the photograph to black.
  +	res.Blend("#000", ICON_OVERLAY)
   
   	var/atoms[] = list()
  -	// Add outselves to the list of stuff to draw
  -	atoms.Add(the_turf);
  -	// As well as anything that isn't invisible.
  -	for(var/atom/A in the_turf)
  -		if(A.invisibility) continue
  -		atoms.Add(A)
  +	for(var/turf/the_turf in turfs)
  +		// Add outselves to the list of stuff to draw
  +		atoms.Add(the_turf);
  +		// As well as anything that isn't invisible.
  +		for(var/atom/A in the_turf)
  +			if(A.invisibility) continue
  +			atoms.Add(A)
   
   	// Sort the atoms into their layers
   	var/list/sorted = sort_atoms_by_layer(atoms)
  
positive.code: 		y_c--
  		x_c = x_c - 3
  
  	var/obj/item/weapon/photo/P = new/obj/item/weapon/photo()
  	P.loc = user.loc
  	if(!user.get_inactive_hand())
  		user.put_in_inactive_hand(P)
  	var/icon/small_img = icon(temp)
  	var/icon/ic = icon('icons/obj/items.dmi',"photo")
  	small_img.Scale(8, 8)
  	ic.Blend(small_img,ICON_OVERLAY, 10, 13)
  	P.icon = ic
  	P.img = temp
  	P.desc = mobs
  	P.pixel_x = rand(-10, 10)
  	P.pixel_y = rand(-10, 10)
  
negative.code: 	var/y_c = target.y + 1
  	var/z_c	= target.z
  
  
  	var/list/turfs = list()
  	var/mobs = ""
  	for(var/i = 1; i <= 3; i++)
  		for(var/j = 1; j <= 3; j++)
  