anchor.diff:  	for(var/i in 0 to spread_am)
   		if(!edge_turfs.len)
   			continue
  -		T = pick(edge_turfs)
  -		edge_turfs -= T
  +		T = pick(edge_turfs - turfs)
   		T.rust_heretic_act()
   		turfs += T
   
  
positive.code: 		max_dist = max(max_dist,get_dist(turfie,centre)+1)
  	turfs -= removal_list
  	for(var/turfie in spiral_range_turfs(max_dist,centre,FALSE))
  		if(turfie in turfs || is_type_in_typecache(turfie,blacklisted_turfs))
  			continue
  		for(var/line_turfie_owo in getline(turfie,centre))
  
negative.code: 
  /datum/eldritch_knowledge/final/rust_final
  	name = "Rustbringer's Oath"
  	desc = "Bring 3 corpses onto the transmutation rune. After you finish the ritual rust will now automatically spread from the rune. Your healing on rust is also tripled, while you become extremely more resillient."
  	gain_text = "Champion of rust. Corruptor of steel. Fear the dark for the Rustbringer has come! Rusted Hills, CALL MY NAME!"
  	cost = 3
  	required_atoms = list(/mob/living/carbon/human)
  	route = PATH_RUST
  	var/list/conditional_immunities = list(TRAIT_STUNIMMUNE,TRAIT_SLEEPIMMUNE,TRAIT_PUSHIMMUNE,TRAIT_SHOCKIMMUNE,TRAIT_NOSLIPALL,TRAIT_RADIMMUNE,TRAIT_RESISTHIGHPRESSURE,TRAIT_RESISTLOWPRESSURE,TRAIT_RESISTCOLD,TRAIT_RESISTHEAT,TRAIT_PIERCEIMMUNE,TRAIT_BOMBIMMUNE,TRAIT_NOBREATH)
  	///if this is set to true then immunities are active, if false then they are not active, simple as.
  	var/immunities_active = FALSE
  
  /datum/eldritch_knowledge/final/rust_final/on_finished_recipe(mob/living/user, list/atoms, loc)
  	var/mob/living/carbon/human/H = user
  	H.physiology.brute_mod *= 0.5
  	H.physiology.burn_mod *= 0.5
  	H.client?.give_award(/datum/award/achievement/misc/rust_ascension, H)
  	RegisterSignal(H,COMSIG_MOVABLE_MOVED,.proc/on_move)
  	priority_announce("$^@&#*$^@(#&$(@&#^$&#^@# Fear the decay, for the Rustbringer, [user.real_name] has ascended! None shall escape the corrosion! $^@&#*$^@(#&$(@&#^$&#^@#","#$^@&#*$^@(#&$(@&#^$&#^@#", ANNOUNCER_SPANOMALIES)
  	new /datum/rust_spread(loc)
  	return ..()
  
  /datum/eldritch_knowledge/final/rust_final/proc/on_move(mob/mover)
  	SIGNAL_HANDLER
  	var/mover_on_rust = istype(get_turf(mover),/turf/open/floor/plating/rust)
  
  	//We check if we are currently standing on a rust tile, but the immunities are not active, if so apply immunities, set immunities_active to TRUE
  	if(mover_on_rust && !immunities_active)
  		for(var/trait in conditional_immunities)
  			ADD_TRAIT(mover,trait,type)
  		immunities_active = TRUE
  		return
  
  	//We check if we are NOT standing on a rust tile, if so we check if immunities are active, if immunities are active then we de-apply them and set immunities to FALSE
  	if(!mover_on_rust && immunities_active)
  		for(var/trait in conditional_immunities)
  			REMOVE_TRAIT(mover,trait,type)
  		immunities_active = FALSE
  
  
  /datum/eldritch_knowledge/final/rust_final/on_life(mob/user)
  