anchor.diff:  
   /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 more resillient overall."
  +	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)
  
positive.code: 
  /datum/eldritch_knowledge/rust_regen
  	name = "Leeching Walk"
  	desc = "Passively heals you when you are on rusted tiles."
  	gain_text = "The strength was unparalleled, unnatural. The Blacksmith was smiling."
  	cost = 1
  	next_knowledge = list(/datum/eldritch_knowledge/rust_mark,/datum/eldritch_knowledge/armor,/datum/eldritch_knowledge/essence)
  	route = PATH_RUST
  
  /datum/eldritch_knowledge/rust_regen/on_life(mob/user)
  	. = ..()
  
negative.code: 	human_user.adjustBruteLoss(-4, FALSE)
  	human_user.adjustFireLoss(-4, FALSE)
  	human_user.adjustToxLoss(-4, FALSE, forced = TRUE)
  	human_user.adjustOxyLoss(-4, FALSE)
  	human_user.adjustStaminaLoss(-20)
  
  /**
   * #Rust spread datum
  