anchor.diff:  			target.Weaken(8)
   			target.take_organ_damage(0,50)
   			usr.Beam(target,icon_state="red_lightning",icon='icons/effects/effects.dmi',time=1)
  +/obj/effect/proc_holder/spell/targeted/vortex
  +	name = "Vortex"
  +	desc = "Tears open a hole in reality. Anyone, INCLUDING YOU, walking through it will be trapped there for eternity."
  +	panel = "Ascendant"
  +	range = -1
  +	include_user = 1
  +	charge_max = 300
  +	clothes_req = 0
  +
  +/obj/effect/proc_holder/spell/targeted/vortex/cast(list/targets)
  +	var/mob/living/simple_animal/ascendant_shadowling/SHA = usr
  +	if(SHA.phasing)
  +		usr << "<span class='warning'>You are not in the same plane of existence. Unphase first.</span>"
  +		return
  +
  +	for(SHA in targets)
  +		SHA.visible_message("<span class='userdanger'>[SHA] raises their arms upward as the markings on their body flare a blinding red!</span>", \
  +						"<span class='shadowling'>You tear open a rift to the black space between worlds. <b><font size=3>It would be wise to avoid it.</font></b></span>")
  +
  +		new /obj/structure/shadow_vortex(SHA.loc)
   /obj/effect/proc_holder/spell/targeted/shadowling_hivemind_ascendant //Large, all-caps text in shadowling chat
   	name = "Ascendant Commune"
   	desc = "Allows you to LOUDLY communicate with all other shadowlings and thralls."
  
positive.code: 			return
  		if(!target.client)
  			usr << "<span class='warning'>[target]'s mind is vacant of activity.</span>"
  		enthralling = 1
  		usr << "<span class='danger'>This target is valid. You begin the enthralling.</span>"
  		target << "<span class='userdanger'>[usr] stares at you. You feel your head begin to pulse.</span>"
  
negative.code: 		return
  	targetsDrained = 0
  	nearbyTargets = list()
  	for(var/mob/living/carbon/human/M in oview(range))
  		if(M == usr) continue
  		targetsDrained++
  		nearbyTargets.Add(M)
  	if(!targetsDrained)
  		charge_counter = charge_max
  		usr << "<span class='warning'>There were no nearby humans for you to drain.</span>"
  		return
  	for(var/mob/living/carbon/M in nearbyTargets)
  		U.adjustToxLoss(-10)
  		U.adjustOxyLoss(-10)
  		U.adjustStaminaLoss(-20)
  