anchor.diff:  /obj/item/clothing/glasses/hud/atmos/equipped(mob/M, slot)
   	if (slot != slot_glasses)
   		for (var/turf/I in src.images)
  -			janitor(I)
  +			ClearImage(I)
   	..()
   
  -/obj/item/clothing/glasses/hud/atmos/proc/janitor(var/turf/T)
  +/obj/item/clothing/glasses/hud/atmos/proc/ClearImage(var/turf/T)
   //People are gonna ask why this is necessary, and its because otherwise the lag clearing all these at once generates is stupendous. This eases them out much nicer.
   	set background = 1
   	var/image/trash = src.images[T]
   	src.images -= T
   	spawn(0)
   		qdel(trash)
  +	return
  +
  +/obj/item/clothing/glasses/hud/atmos/proc/CalculateColor(var/Temperature, var/Pressure)
  +
  +	if(modes[currentmode] == "Temperature")
  +		if (((Temperature - T20C) <= 10) && ((Temperature - T20C) >= -10)) return
  +		else if (Temperature < T20C)
  +			Blue = (255/T20C) * (T20C - Temperature)
  +		else if (Temperature > T20C)
  +			Red = (255/T20C) * ((Temperature - T20C)/2)
  +
  +	else if(modes[currentmode] == "Pressure")
  +		if (((Pressure - ONE_ATMOSPHERE) <= 20) && ((Pressure - ONE_ATMOSPHERE) >= -20)) return
  +		else if (Pressure < ONE_ATMOSPHERE)
  +			Green = (255/ONE_ATMOSPHERE) * (ONE_ATMOSPHERE - Pressure)
  +		else if (Pressure > ONE_ATMOSPHERE)
  +			Red = (255/ONE_ATMOSPHERE) * ((Pressure - ONE_ATMOSPHERE))
  +			Green = Red
  +
  +	//Clamp to ensure all vars are in the proper range
  +	Red = Clamp(Red, 0, 255)
  +	Green = Clamp(Green, 0, 255)
  +	Blue = Clamp(Blue, 0, 255)
   
   /obj/item/clothing/glasses/hud/atmos/process_hud(var/mob/M)
   	set background = 1
  
positive.code: 	var/list/images = list()
  	var/list/modes = list("Pressure","Temperature","Off")
  	var/currentmode = 1 // Represents which mode in the list modes is currently active
  	var/const/basetemp = 293.15
  	var/const/basepressure = 101.325
  
  /obj/item/clothing/glasses/hud/atmos/proc/select_mode()
  	if (!modes.len) return //No possible modes? Must be broked
  
negative.code: 		currentmode = 1
  
  	for (var/turf/T in images) //After switching modes, erase the images we have.
  		ClearImage(T)
  	return
  
  /obj/item/clothing/glasses/hud/atmos/attack_self(mob/user)
  