diff --git a/code/modules/research/artifact_analysis.dm b/code/modules/research/artifact_analysis.dm
index 3089e9cd65..899a7dc494 100644
--- a/code/modules/research/artifact_analysis.dm
+++ b/code/modules/research/artifact_analysis.dm
@@ -209,6 +209,7 @@
cur_artifact.name = "alien artifact ([cur_artifact.display_id])"
cur_artifact.desc = "A large alien device. It has a small tag near the bottom that reads \"[cur_artifact.display_id]\"."
cur_id = cur_artifact.display_id
+ cur_artifact.my_effect.artifact_id = cur_artifact.display_id
/obj/machinery/artifact_analyser/Topic(href, href_list)
diff --git a/code/modules/research/artifact_effect.dm b/code/modules/research/artifact_effect.dm
index 19291af9b0..5a084b4413 100644
--- a/code/modules/research/artifact_effect.dm
+++ b/code/modules/research/artifact_effect.dm
@@ -293,11 +293,11 @@
if(istype(M:wear_suit,/obj/item/clothing/suit/bio_suit/anomaly) && istype(M:head,/obj/item/clothing/head/bio_hood/anomaly))
continue
M << "\blue A wave of energy invigorates you."
- M.adjustBruteLoss(5)
- M.adjustFireLoss(5)
- M.adjustToxLoss(5)
- M.adjustOxyLoss(5)
- M.adjustBrainLoss(5)
+ M.adjustBruteLoss(-5)
+ M.adjustFireLoss(-5)
+ M.adjustToxLoss(-5)
+ M.adjustOxyLoss(-5)
+ M.adjustBrainLoss(-5)
M.updatehealth()
return 1
if("injure")
diff --git a/code/modules/research/artifact_harvester.dm b/code/modules/research/artifact_harvester.dm
index bfcacc913c..c2432b3346 100644
--- a/code/modules/research/artifact_harvester.dm
+++ b/code/modules/research/artifact_harvester.dm
@@ -66,7 +66,7 @@
else
if(inserted_battery)
dat += "[inserted_battery.name] inserted, charge level: [inserted_battery.stored_charge]/[inserted_battery.capacity] ([(inserted_battery.stored_charge/inserted_battery.capacity)*100]%)
"
- dat += "Energy signature ID:[inserted_battery.battery_effect.artifact_id]
"
+ dat += "Energy signature ID:[inserted_battery.battery_effect.artifact_id == "" ? "???" : "[inserted_battery.battery_effect.artifact_id]"]
"
dat += "Eject battery
"
dat += "Drain battery of all charge
"
dat += "Begin harvesting
"
@@ -94,7 +94,7 @@
var/mundane = 0
for(var/obj/O in get_turf(owned_pad))
- if(!istype(O, /obj/machinery/artifact))
+ if(!istype(O, /obj/machinery/artifact) && !istype(O, /obj/machinery/analyser_pad))
mundane++
break
for(var/mob/O in get_turf(owned_pad))
diff --git a/code/modules/research/artifact_synthetic.dm b/code/modules/research/artifact_synthetic.dm
index 81f1183664..fd6143a795 100644
--- a/code/modules/research/artifact_synthetic.dm
+++ b/code/modules/research/artifact_synthetic.dm
@@ -44,9 +44,9 @@
if(!inserted_battery)
dat += "Please insert battery
"
else
- dat += "[inserted_battery] inserted, anomaly ID: [inserted_battery.battery_effect.artifact_id]
"
+ dat += "[inserted_battery] inserted, anomaly ID: [inserted_battery.battery_effect.artifact_id == "" ? "???" : "[inserted_battery.battery_effect.artifact_id]"]
"
dat += "Total Power: [inserted_battery.stored_charge]/[inserted_battery.capacity]
"
- dat += "Timed activation: -- - [time >= 1000 ? "[time/10]" : time >= 100 ? " [time/10]" : " [time/10]" ] + ++
"
+ dat += "Timed activation: -- - [time >= 1000 ? "[time/10]" : time >= 100 ? " [time/10]" : " [time/10]" ] + ++
"
if(cooldown && !activated)
dat += "Cooldown in progress.
"
else if(activated)
@@ -87,13 +87,13 @@
/obj/item/weapon/anodevice/proc/pulse()
if(activated)
time -= 10
+ stored_charge -= 10 + rand(-1,1)
cooldown += 10
if(time <= 0)
time = 0
activated = 0
var/turf/T = get_turf(src)
T.visible_message("\icon[src]\blue The utiliser device buzzes.", "\icon[src]\blue You hear something buzz.")
- updateDialog()
else
inserted_battery.battery_effect.DoEffect(src)
else if(cooldown > 0)
@@ -102,15 +102,36 @@
cooldown = 0
var/turf/T = get_turf(src)
T.visible_message("\icon[src]\blue The utiliser device chimes.", "\icon[src]\blue You hear something chime.")
- updateDialog()
spawn(10)
pulse()
/obj/item/weapon/anodevice/Topic(href, href_list)
+
+ if(href_list["neg_changetime_max"])
+ time += -100
+ if(time > inserted_battery.capacity)
+ time = inserted_battery.capacity
+ else if (time < 0)
+ time = 0
+ if(href_list["neg_changetime"])
+ time += -10
+ if(time > inserted_battery.capacity)
+ time = inserted_battery.capacity
+ else if (time < 0)
+ time = 0
if(href_list["changetime"])
- var/mod = href_list["changetime"]
- time += num2text(mod)
+ time += 10
+ if(time > inserted_battery.capacity)
+ time = inserted_battery.capacity
+ else if (time < 0)
+ time = 0
+ if(href_list["changetime_max"])
+ time += 100
+ if(time > inserted_battery.capacity)
+ time = inserted_battery.capacity
+ else if (time < 0)
+ time = 0
if(href_list["stoptimer"])
activated = 0
@@ -127,4 +148,5 @@
usr << browse(null, "window=anodevice")
usr.machine = null
- updateDialog()
+ if(usr)
+ src.interact(usr)
diff --git a/config/admins.txt b/config/admins.txt
index 4946d49aba..c0db8b7afe 100644
--- a/config/admins.txt
+++ b/config/admins.txt
@@ -2,6 +2,7 @@ abi79 - Game Master
arcalane - Game Admin
bobbehluvspropane - Game Admin
cacophony - Retired Admin
+caelaislinn - Game Master
cajoes - Game Admin
cib - Game Master
compactninja - Game Master