/datum/targetable/spell/magshield
name = "Spell Shield"
desc = "Temporarily shield yourself from melee attacks and projectiles. It also absorbs some of the blast of explosions."
icon_state = "spellshield"
targeted = 0
cooldown = 300
requires_robes = 1
cast()
if(!holder)
return
if(holder.owner.spellshield)
boutput(holder.owner, "You already have a Spell Shield active!")
return
holder.owner.say("XYZZYX")
playsound(holder.owner.loc, "sound/voice/wizard/MagicshieldLoud.ogg", 50, 0, -1)
var/image/shield_overlay = null
holder.owner.spellshield = 1
shield_overlay = image('icons/effects/effects.dmi', holder.owner, "enshield", MOB_LAYER+1)
holder.owner.underlays += shield_overlay
boutput(holder.owner, "You are surrounded by a magical barrier!")
holder.owner.visible_message("[holder.owner] is encased in a protective shield.")
playsound(holder.owner,"sound/effects/MagShieldUp.ogg",50,1)
spawn(100)
if(holder.owner && holder.owner.spellshield)
holder.owner.spellshield = 0
holder.owner.underlays -= shield_overlay
shield_overlay = null
boutput(holder.owner, "Your magical barrier fades away!")
holder.owner.visible_message("The shield protecting [holder.owner] fades away.")
playsound(usr,"sound/effects/MagShieldDown.ogg", 50, 1)