[MIRROR] Virus Database fix (#11134)

Co-authored-by: Guti <32563288+TheCaramelion@users.noreply.github.com>
This commit is contained in:
CHOMPStation2StaffMirrorBot
2025-07-01 05:06:20 -07:00
committed by GitHub
parent 42ab9e8d69
commit 6232f82a63
4 changed files with 26 additions and 4 deletions

View File

@@ -1272,3 +1272,5 @@ GLOBAL_LIST_INIT(material_synth_list, list(
WIRE_SYNTH = /datum/matter_synth/wire, WIRE_SYNTH = /datum/matter_synth/wire,
CLOTH_SYNTH = /datum/matter_synth/cloth CLOTH_SYNTH = /datum/matter_synth/cloth
)) ))
GLOBAL_LIST_EMPTY(virusDB) // Stores discovered viruses

View File

@@ -223,3 +223,23 @@ GLOBAL_LIST_INIT(diseases, subtypesof(/datum/disease))
// Called when the mob dies // Called when the mob dies
/datum/disease/proc/OnDeath() /datum/disease/proc/OnDeath()
return return
// Adds a virus to the virus DB
// Currently it won't show on the Medical Computers because OLD interface, which needs to be updated
/datum/disease/proc/addToDB()
if(GetDiseaseID() in GLOB.virusDB)
return FALSE
var/datum/data/record/v = new()
v.fields["id"] = GetDiseaseID()
v.fields["name"] = name
v.fields["description"] = desc
v.fields["form"] = form
v.fields["agent"] = agent
v.fields["cure"] = cure_text
v.fields["spread"] = spread_text
GLOB.virusDB["[GetDiseaseID()]"] = v
return TRUE

View File

@@ -172,10 +172,7 @@
medical["empty"] = 1 medical["empty"] = 1
if(MED_DATA_V_DATA) if(MED_DATA_V_DATA)
data["virus"] = list() data["virus"] = list()
for(var/datum/disease/D in GLOB.active_diseases) for(var/datum/data/record/v in GLOB.virusDB)
if(!global_flag_check(D.virus_modifiers, DISCOVERED))
continue
var/datum/data/record/v = GLOB.active_diseases[D]
data["virus"] += list(list("name" = v.fields["name"], "D" = "\ref[v]")) data["virus"] += list(list("name" = v.fields["name"], "D" = "\ref[v]"))
if(MED_DATA_MEDBOT) if(MED_DATA_MEDBOT)
data["medbots"] = list() data["medbots"] = list()

View File

@@ -172,6 +172,9 @@
message += "[symptom.name]" message += "[symptom.name]"
else else
message += span_info("<b>[disease.name]</b>, stage [disease.stage]/[disease.max_stages].") message += span_info("<b>[disease.name]</b>, stage [disease.stage]/[disease.max_stages].")
disease.addToDB()
to_chat(user, examine_block(jointext(message, "\n")), avoid_highlighting = TRUE, trailing_newline = FALSE, type = MESSAGE_TYPE_INFO) to_chat(user, examine_block(jointext(message, "\n")), avoid_highlighting = TRUE, trailing_newline = FALSE, type = MESSAGE_TYPE_INFO)
/obj/item/extrapolator/proc/extrapolate(mob/living/user, atom/target, isolate = FALSE) /obj/item/extrapolator/proc/extrapolate(mob/living/user, atom/target, isolate = FALSE)