anchor.diff:  				for(var/datum/reagent/R in reagents.reagent_list)
   					if(R.reagent_state == SOLID)
   						R.reagent_state = LIQUID
  -					swimee.reagents.add_reagent(R.type, 0.5) //osmosis
  -				reagents.reaction(swimee, VAPOR, 0.03) //3 percent
  +					if(!swimee.has_reagent(POOL_NO_OVERDOSE_MEDICINE_MAX))
  +						swimee.reagents.add_reagent(R.type, 0.5) //osmosis
  +				reagents.reaction(swimee, VAPOR, 0.03) //3 percent. Need to find a way to prevent this from stacking chems at some point like the above.
   			for(var/obj/objects in W)
   				if(W.reagents)
   					W.reagents.reaction(objects, VAPOR, 1)
  
positive.code: 	var/shocked = FALSE
  	/// Old reagent color, used to determine if update_color needs to reset colors.
  	var/old_rcolor
  
  /obj/machinery/pool/controller/examine(mob/user)
  	. = ..()
  
negative.code: 
  /obj/machinery/pool/controller/AltClick(mob/user)
  	. = ..()
  	if(isliving(user) && user.Adjacent(src) && user.CanReach(src) && !user.IsStun() && !user.IsKnockdown() && !user.incapacitated())
  		visible_message("<span class='boldwarning'>[user] starts to drain [src]!</span>")
  		draining = TRUE
  		if(do_after(user, 50, target = src))
  			reagents.remove_all(INFINITY)
  			visible_message("<span class='boldnotice'>[user] drains [src].</span>")
  			say("Reagents cleared.")
  			update_color()
  		draining = FALSE
  
  /obj/machinery/pool/controller/attackby(obj/item/W, mob/user)
  	if(shocked && !(stat & NOPOWER))
  