anchor.diff:  
   /datum/quirk/junkie/on_process()
   	var/mob/living/carbon/human/H = quirk_holder
  -	if(world.time > next_process)
  -		next_process = world.time + process_interval
  -		if(!H?.reagents?.addiction_list?.Find(reagent_instance))
  -			reagent_instance = new reagent_type()
  +	if (tick_counter == 60) //Halfassed optimization, increase this if there's slowdown due to this quirk
  +		var/in_list = FALSE
  +		for (var/datum/reagent/entry in H.reagents.addiction_list)
  +			if(istype(entry, reagent_type))
  +				in_list = TRUE
  +				break
  +		if(!in_list)
   			H.reagents.addiction_list += reagent_instance
   			reagent_instance.addiction_stage = 0
   			to_chat(quirk_holder, "<span class='danger'>You thought you kicked it, but you suddenly feel like you need [reagent_instance.name] again...</span>")
  +		tick_counter = 0
  +	else
  +		++tick_counter
   
   /datum/quirk/junkie/smoker
   	name = "Smoker"
  
positive.code: 		for(var/i in 1 to 7)
  			var/obj/item/reagent_containers/pill/P = new(drug_instance)
  			P.icon_state = pill_state
  			P.reagents.add_reagent(reagent_type, 1)
  
  	if (accessory_type)
  		accessory_instance = new accessory_type(current_turf)
  
negative.code: 	lose_text = "<span class='notice'>You feel like you should kick your drug habit.</span>"
  	medical_record_text = "Patient has a history of hard drugs."
  	var/drug_list = list(/datum/reagent/drug/crank, /datum/reagent/drug/krokodil, /datum/reagent/medicine/morphine, /datum/reagent/drug/happiness, /datum/reagent/drug/methamphetamine) //List of possible IDs
  	var/reagent_id //ID picked from list
  	var/datum/reagent/reagent_type //If this is defined, reagent_id will be unused and the defined reagent type will be instead.
  	var/datum/reagent/reagent_instance
  	var/where_drug
  	var/obj/item/drug_container_type //If this is defined before pill generation, pill generation will be skipped. This is the type of the pill bottle.
  	var/obj/item/drug_instance
  	var/where_accessory
  	var/obj/item/accessory_type //If this is null, it won't be spawned.
  	var/obj/item/accessory_instance
  	var/tick_counter = 0
  
  /datum/quirk/junkie/on_spawn()
  	var/mob/living/carbon/human/H = quirk_holder
  	reagent_id = pick(drug_list)
  	if (!reagent_type)
  		var/datum/reagent/prot_holder = GLOB.chemical_reagents_list[reagent_id]
  		reagent_type = prot_holder.type
  	reagent_instance = new reagent_type()
  	H.reagents.addiction_list.Add(reagent_instance)
  	var/current_turf = get_turf(quirk_holder)
  