anchor.diff:  
   		usr << "<span class='shadowling'>You instantly rearrange <b>[target]</b>'s memories, hyptonitizing them into a thrall.</span>"
   		target << "<span class='userdanger'><font size=3>An agonizing spike of pain drives into your mind, and--</font></span>"
  -		target << "<span class='shadowling'><b>And you see the Truth. Reality has been torn away and you realize what a fool you've been.</b></span>"
  -		target << "<span class='shadowling'><b>The shadowlings are your masters.</b> Serve them above all else and ensure they complete their goals.</span>"
  -		target << "<span class='shadowling'>You may not harm other thralls or the shadowlings. However, you do not need to obey other thralls.</span>"
  -		target << "<span class='shadowling'>You can communicate with the other enlightened ones by using the Hivemind Commune ability.</span>"
   		ticker.mode.add_thrall(target.mind)
  -		target.mind.special_role = "Thrall"
  +		target.mind.special_role = "thrall"
   		var/datum/mind/thrall_mind = target.mind
   		thrall_mind.spell_list += new /obj/effect/proc_holder/spell/targeted/shadowling_hivemind
   
   
  -
  -/obj/effect/proc_holder/spell/targeted/shadowling_phase_shift
  +/obj/effect/proc_holder/spell/targeted/shadowling_phase_shift //Permanent version of shadow walk with no drawback. Toggleable.
   	name = "Phase Shift"
   	desc = "Phases you into the space between worlds at will, allowing you to move through walls and become invisible."
   	panel = "Ascendant"
  
positive.code: 	range = -1
  	include_user = 1
  
  /obj/effect/proc_holder/spell/targeted/shadowlingAscendantTransmit/cast(list/targets)
  	for(var/mob/living/user in targets)
  		var/text = stripped_input(user, "What do you want to say to everything on and near [world.name]?.", "Transmit to World", "")
  		if(!text)
  
negative.code: 		charge_counter = charge_max
  		return
  
  	for(var/mob/living/boom in targets)
  		if(is_shadow_or_thrall(boom))
  			usr << "<span class='warning'>Making an ally explode seems unwise.<span>"
  			charge_counter = charge_max
  			return
  		usr.visible_message("<span class='danger'>[usr]'s markings flare as they gesture at [boom]!</span>", \
  							"<span class='shadowling'>You direct a lance of telekinetic energy into [boom].</span>")
  		playMagSound()
  		sleep(4)
  		if(iscarbon(boom))
  			playsound(boom, 'sound/magic/Disintegrate.ogg', 100, 1)
  		boom.visible_message("<span class='userdanger'>[boom] explodes!</span>")
  		boom.gib()
  
  
  /obj/effect/proc_holder/spell/targeted/hypnosis //Enthralls someone instantly. Nonlethal alternative to Annihilate
  	name = "Hypnosis"
  	desc = "Instantly enthralls a human."
  	panel = "Ascendant"
  