anchor.diff:  
   /obj/item/clothing/mask/cigarette/proc/handle_reagents()
   	if(reagents.total_volume)
  +		var/to_smoke = REAGENTS_METABOLISM
   		if(iscarbon(loc))
   			var/mob/living/carbon/C = loc
   			if (src == C.wear_mask) // if it's in the human/monkey mouth, transfer reagents to the mob
   				var/fraction = min(REAGENTS_METABOLISM/reagents.total_volume, 1)
  +				/* 
  +				 * Given the amount of time the cig will last, and how often we take a hit, find the number 
  +				 * of chems to give them each time so they'll have smoked it all by the end.
  +				 */
  +				if (smoke_all)
  +					to_smoke = reagents.total_volume/((smoketime * 2) / (dragtime / 10))
  +
   				reagents.reaction(C, INGEST, fraction)
  -				if(!reagents.trans_to(C, REAGENTS_METABOLISM))
  -					reagents.remove_any(REAGENTS_METABOLISM)
  +				if(!reagents.trans_to(C, to_smoke))
  +					reagents.remove_any(to_smoke)
   				return
  -		reagents.remove_any(REAGENTS_METABOLISM)
  +		reagents.remove_any(to_smoke)
   
   /obj/item/clothing/mask/cigarette/process()
   	var/turf/location = get_turf(src)
  
positive.code: 	var/lastHolder = null
  	var/smoketime = 180 // 1 is 2 seconds, so a single cigarette will last 6 minutes.
  	var/chem_volume = 30
  	var/list/list_reagents = list(/datum/reagent/drug/nicotine = 15)
  
  /obj/item/clothing/mask/cigarette/suicide_act(mob/user)
  
negative.code: 
  /obj/item/clothing/mask/cigarette/syndicate
  	desc = "An unknown brand cigarette."
  	chem_volume = 60
  	smoketime = 60
  	smoke_all = TRUE 
  	list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/medicine/omnizine = 15)
  
  /obj/item/clothing/mask/cigarette/shadyjims
  	desc = "A Shady Jim's Super Slims cigarette."
  