mirror of
https://github.com/goonstation/goonstation-2016.git
synced 2026-07-10 16:42:21 +01:00
54 lines
1.9 KiB
Plaintext
54 lines
1.9 KiB
Plaintext
/obj/artifact/healer_bio
|
|
name = "artifact carbon healer"
|
|
associated_datum = /datum/artifact/healer_bio
|
|
|
|
/datum/artifact/healer_bio
|
|
associated_object = /obj/artifact/healer_bio
|
|
rarity_class = 1
|
|
validtypes = list("martian","precursor")
|
|
validtriggers = list(/datum/artifact_trigger/force,/datum/artifact_trigger/electric,/datum/artifact_trigger/heat,
|
|
/datum/artifact_trigger/radiation,/datum/artifact_trigger/carbon_touch)
|
|
activated = 0
|
|
activ_text = "begins to pulse softly."
|
|
deact_text = "ceases pulsing."
|
|
react_xray = list(11,70,90,9,"NONE")
|
|
var/heal_amt = 20
|
|
var/field_range = 0
|
|
var/recharge_time = 600
|
|
var/recharging = 0
|
|
|
|
New()
|
|
..()
|
|
src.react_heat[2] = "SUPERFICIAL DAMAGE DETECTED"
|
|
if(prob(20))
|
|
src.field_range = rand(3,10) // range
|
|
src.heal_amt = rand(5,75) // amount of healing
|
|
src.recharge_time = rand(1,10) * 10
|
|
if(prob(5))
|
|
src.recharge_time = 0
|
|
|
|
effect_touch(var/obj/O,var/mob/living/user)
|
|
if (..())
|
|
return
|
|
if (!user)
|
|
return
|
|
var/turf/T = get_turf(O)
|
|
if (recharging)
|
|
boutput(user, "<span style=\"color:red\">The artifact pulses briefly, but nothing else happens.</span>")
|
|
return
|
|
if (recharge_time > 0)
|
|
recharging = 1
|
|
T.visible_message("<b>[O]</b> emits a wave of energy!")
|
|
if(istype(user,/mob/living/carbon/))
|
|
var/mob/living/carbon/C = user
|
|
C.HealDamage("All", heal_amt, heal_amt)
|
|
boutput(C, "<span style=\"color:blue\">Soothing energy saturates your body, making you feel refreshed and healthy.</span>")
|
|
if (field_range > 0)
|
|
for (var/mob/living/carbon/C in range(field_range,T))
|
|
if (C == user)
|
|
continue
|
|
C.HealDamage("All", heal_amt, heal_amt)
|
|
boutput(C, "<span style=\"color:blue\">Waves of soothing energy wash over you, making you feel refreshed and healthy.</span>")
|
|
spawn(recharge_time)
|
|
recharging = 0
|
|
T.visible_message("<b>[O]</b> becomes energized.") |