diff --git a/code/modules/research/xenoarchaeology/artifact.dm b/code/modules/research/xenoarchaeology/artifact.dm
index 79c4b7c97cd..06a3c9a6e92 100644
--- a/code/modules/research/xenoarchaeology/artifact.dm
+++ b/code/modules/research/xenoarchaeology/artifact.dm
@@ -205,6 +205,7 @@
if(4)
display_msg = "vibrates!"
else
+ my_effect.HaltEffect()
switch(rand(2))
if(0)
display_msg = "grows dull!"
@@ -223,7 +224,7 @@
else if (my_effect.trigger != "touch" && !src.activated) user << "Nothing happens."
if (my_effect.effectmode == "contact" && src.activated && src.charged)
- my_effect.DoEffect(src)
+ my_effect.DoEffect(user)
src.charged = 0
src.chargetime = src.recharge
diff --git a/code/modules/research/xenoarchaeology/artifact_effect.dm b/code/modules/research/xenoarchaeology/artifact_effect.dm
index 6c3cf944a0a..87857e2beb3 100644
--- a/code/modules/research/xenoarchaeology/artifact_effect.dm
+++ b/code/modules/research/xenoarchaeology/artifact_effect.dm
@@ -1,3 +1,4 @@
+//
/datum/artifact_effect
var/artifact_id = "" // Display ID of the spawning artifact
@@ -49,13 +50,12 @@
/datum/artifact_effect/proc/DoEffect(var/atom/originator)
archived_loc = originator.loc
if (src.effectmode == "contact")
- var/mob/user = originator
+ var/mob/living/user = originator
if(!user)
return
switch(src.effecttype)
if("healing")
//caeltodo
- /*
if (istype(user, /mob/living/carbon/human/))
user << "\blue You feel a soothing energy invigorate you."
@@ -80,9 +80,7 @@
H.vessel.add_reagent("blood",50)
spawn(1)
H.fixblood()
- H.update_body()
- H.update_face()
- H.UpdateDamageIcon()
+ H.regenerate_icons()
return 1
//
if (istype(user, /mob/living/carbon/monkey/))
@@ -131,7 +129,6 @@
user.adjustFireLoss(40)
return 1
else user << "Nothing happens."
- */
if("forcefield")
while(created_field.len < 16)
var/obj/effect/energy_field/E = new (locate(user.x,user.y,user.z))
@@ -156,7 +153,6 @@
else if (src.effectmode == "aura")
switch(src.effecttype)
//caeltodo
- /*
if("healing")
for (var/mob/living/carbon/M in range(src.aurarange,originator))
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
@@ -226,7 +222,6 @@
D.charge -= 10
if(prob(10)) M << "\red SYSTEM ALERT: Energy draining field detected!"
return 1
- */
if("planthelper")
for (var/obj/machinery/hydroponics/H in range(src.aurarange,originator))
//makes weeds and shrooms and stuff more potent too
@@ -247,7 +242,6 @@
O.show_message(text("[] emits a pulse of energy!", originator), 1)
switch(src.effecttype)
//caeltodo
- /*
if("healing")
for (var/mob/living/carbon/M in range(src.aurarange,originator))
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
@@ -298,7 +292,6 @@
M.adjustFireLoss(10)
M.updatehealth()
return 1
- */
if("cellcharge")
for (var/obj/machinery/power/apc/C in range(src.aurarange,originator))
for (var/obj/item/weapon/cell/B in C.contents)
@@ -353,7 +346,6 @@
O.show_message(text("[] emits a powerful burst of energy!", originator), 1)
switch(src.effecttype)
//caeltodo
- /*
if("healing")
for (var/mob/living/carbon/M in world)
if(ishuman(M) && istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
@@ -400,7 +392,6 @@
M.adjustFireLoss(5)
M.updatehealth()
return 1
- */
if("cellcharge")
for (var/obj/machinery/power/apc/C in world)
for (var/obj/item/weapon/cell/B in C.contents)
@@ -482,7 +473,3 @@
E.loc = locate(originator.x - 2,originator.y - 1,originator.z)
E = created_field[16]
E.loc = locate(originator.x - 2,originator.y - 2,originator.z)
-
- /*for(var/obj/effect/energy_field/F in created_field)
- created_field.Remove(F)
- del F*/