/datum/artifact_effect/stun
name = "stun"
/datum/artifact_effect/stun/New()
..()
effect_type = pick(EFFECT_PSIONIC, EFFECT_ORGANIC)
/datum/artifact_effect/stun/DoEffectTouch(var/mob/toucher)
if(toucher && iscarbon(toucher))
var/mob/living/carbon/C = toucher
var/susceptibility = GetAnomalySusceptibility(C)
if(prob(susceptibility * 100))
to_chat(C, "A powerful force overwhelms your consciousness.")
C.Weaken(rand(1,10) * susceptibility)
C.stuttering += 30 * susceptibility
C.Stun(rand(1,10) * susceptibility)
/datum/artifact_effect/stun/DoEffectAura()
if(holder)
var/turf/T = get_turf(holder)
for (var/mob/living/carbon/C in range(src.effectrange,T))
var/susceptibility = GetAnomalySusceptibility(C)
if(prob(10 * susceptibility))
to_chat(C, "Your body goes numb for a moment.")
C.Weaken(2)
C.stuttering += 2
if(prob(10))
C.Stun(1)
else if(prob(10))
to_chat(C, "You feel numb.")
/datum/artifact_effect/stun/DoEffectPulse()
if(holder)
var/turf/T = get_turf(holder)
for (var/mob/living/carbon/C in range(src.effectrange,T))
var/susceptibility = GetAnomalySusceptibility(C)
if(prob(100 * susceptibility))
to_chat(C, "A wave of energy overwhelms your senses!")
C.SetWeakened(4 * susceptibility)
C.stuttering = 4 * susceptibility
if(prob(10))
C.SetStunned(1 * susceptibility)