Removes the old virus system

Appendicitis moved to appendix organ
This commit is contained in:
Kelenius
2016-01-27 11:44:41 +03:00
parent c41aa0b29c
commit b86c730695
84 changed files with 60 additions and 3698 deletions

View File

@@ -303,258 +303,6 @@
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/obj/machinery/computer/pandemic
name = "PanD.E.M.I.C 2200"
density = 1
anchored = 1
icon = 'icons/obj/chemical.dmi'
icon_state = "mixer0"
circuit = /obj/item/weapon/circuitboard/pandemic
//use_power = 1
//idle_power_usage = 20 //defaults make more sense.
var/temphtml = ""
var/wait = null
var/obj/item/weapon/reagent_containers/glass/beaker = null
/obj/machinery/computer/pandemic/set_broken()
icon_state = (src.beaker?"mixer1_b":"mixer0_b")
stat |= BROKEN
/obj/machinery/computer/pandemic/power_change()
..()
if(stat & BROKEN)
icon_state = (src.beaker?"mixer1_b":"mixer0_b")
else if(!(stat & NOPOWER))
icon_state = (src.beaker?"mixer1":"mixer0")
else
spawn(rand(0, 15))
src.icon_state = (src.beaker?"mixer1_nopower":"mixer0_nopower")
/obj/machinery/computer/pandemic/Topic(href, href_list)
if(stat & (NOPOWER|BROKEN)) return
if(usr.stat || usr.restrained()) return
if(!in_range(src, usr)) return
usr.set_machine(src)
if(!beaker) return
if (href_list["create_vaccine"])
if(!src.wait)
var/obj/item/weapon/reagent_containers/glass/bottle/B = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc)
if(B)
var/path = href_list["create_vaccine"]
var/vaccine_type = text2path(path)
var/datum/disease/D = null
if(!vaccine_type)
D = archive_diseases[path]
vaccine_type = path
else
if(vaccine_type in diseases)
D = new vaccine_type(0, null)
if(D)
B.name = "[D.name] vaccine bottle"
B.reagents.add_reagent("vaccine",15,vaccine_type)
wait = 1
var/datum/reagents/R = beaker.reagents
var/datum/reagent/blood/Blood = null
for(var/datum/reagent/blood/L in R.reagent_list)
if(L)
Blood = L
break
var/list/res = Blood.data["resistances"]
spawn(res.len*200)
src.wait = null
else
src.temphtml = "The replicator is not ready yet."
src.updateUsrDialog()
return
else if (href_list["create_virus_culture"])
if(!wait)
var/obj/item/weapon/reagent_containers/glass/bottle/B = new/obj/item/weapon/reagent_containers/glass/bottle(src.loc)
B.icon_state = "bottle-1"
var/type = text2path(href_list["create_virus_culture"])//the path is received as string - converting
var/datum/disease/D = null
if(!type)
var/datum/disease/advance/A = archive_diseases[href_list["create_virus_culture"]]
if(A)
D = new A.type(0, A)
else
if(type in diseases) // Make sure this is a disease
D = new type(0, null)
var/list/data = list("viruses"=list(D))
var/name = sanitizeSafe(input(usr,"Name:","Name the culture",D.name), MAX_NAME_LEN)
if(!name || name == " ") name = D.name
B.name = "[name] culture bottle"
B.desc = "A small bottle. Contains [D.agent] culture in synthblood medium."
B.reagents.add_reagent("blood",20,data)
B.update_icon()
src.updateUsrDialog()
wait = 1
spawn(1000)
src.wait = null
else
src.temphtml = "The replicator is not ready yet."
src.updateUsrDialog()
return
else if (href_list["empty_beaker"])
beaker.reagents.clear_reagents()
src.updateUsrDialog()
return
else if (href_list["eject"])
beaker:loc = src.loc
beaker = null
icon_state = "mixer0"
src.updateUsrDialog()
return
else if(href_list["clear"])
src.temphtml = ""
src.updateUsrDialog()
return
else if(href_list["name_disease"])
var/new_name = sanitizeSafe(input(usr, "Name the Disease", "New Name", ""), MAX_NAME_LEN)
if(stat & (NOPOWER|BROKEN)) return
if(usr.stat || usr.restrained()) return
if(!in_range(src, usr)) return
var/id = href_list["name_disease"]
if(archive_diseases[id])
var/datum/disease/advance/A = archive_diseases[id]
A.AssignName(new_name)
for(var/datum/disease/advance/AD in active_diseases)
AD.Refresh()
src.updateUsrDialog()
else
usr << browse(null, "window=pandemic")
src.updateUsrDialog()
return
src.add_fingerprint(usr)
return
/obj/machinery/computer/pandemic/attack_ai(mob/user as mob)
return src.attack_hand(user)
/obj/machinery/computer/pandemic/attack_hand(mob/user as mob)
if(stat & (NOPOWER|BROKEN))
return
user.set_machine(src)
var/dat = ""
if(src.temphtml)
dat = "[src.temphtml]<BR><BR><A href='?src=\ref[src];clear=1'>Main Menu</A>"
else if(!beaker)
dat += "Please insert beaker.<BR>"
dat += "<A href='?src=\ref[user];mach_close=pandemic'>Close</A>"
else
var/datum/reagents/R = beaker.reagents
var/datum/reagent/blood/Blood = null
for(var/datum/reagent/blood/B in R.reagent_list)
if(B)
Blood = B
break
if(!R.total_volume||!R.reagent_list.len)
dat += "The beaker is empty<BR>"
else if(!Blood)
dat += "No blood sample found in beaker"
else if(!Blood.data)
dat += "No blood data found in beaker."
else
dat += "<h3>Blood sample data:</h3>"
dat += "<b>Blood DNA:</b> [(Blood.data["blood_DNA"]||"none")]<BR>"
dat += "<b>Blood Type:</b> [(Blood.data["blood_type"]||"none")]<BR>"
if(Blood.data["viruses"])
var/list/vir = Blood.data["viruses"]
if(vir.len)
for(var/datum/disease/D in Blood.data["viruses"])
if(!D.hidden[PANDEMIC])
var/disease_creation = D.type
if(istype(D, /datum/disease/advance))
var/datum/disease/advance/A = D
D = archive_diseases[A.GetDiseaseID()]
disease_creation = A.GetDiseaseID()
if(D.name == "Unknown")
dat += "<b><a href='?src=\ref[src];name_disease=[A.GetDiseaseID()]'>Name Disease</a></b><BR>"
if(!D)
CRASH("We weren't able to get the advance disease from the archive.")
dat += "<b>Disease Agent:</b> [D?"[D.agent] - <A href='?src=\ref[src];create_virus_culture=[disease_creation]'>Create virus culture bottle</A>":"none"]<BR>"
dat += "<b>Common name:</b> [(D.name||"none")]<BR>"
dat += "<b>Description: </b> [(D.desc||"none")]<BR>"
dat += "<b>Spread:</b> [(D.spread||"none")]<BR>"
dat += "<b>Possible cure:</b> [(D.cure||"none")]<BR><BR>"
if(istype(D, /datum/disease/advance))
var/datum/disease/advance/A = D
dat += "<b>Symptoms:</b> "
var/english_symptoms = list()
for(var/datum/symptom/S in A.symptoms)
english_symptoms += S.name
dat += english_list(english_symptoms)
dat += "<BR><b>Contains antibodies to:</b> "
if(Blood.data["resistances"])
var/list/res = Blood.data["resistances"]
if(res.len)
dat += "<ul>"
for(var/type in Blood.data["resistances"])
var/disease_name = "Unknown"
if(!ispath(type))
var/datum/disease/advance/A = archive_diseases[type]
if(A)
disease_name = A.name
else
var/datum/disease/D = new type(0, null)
disease_name = D.name
dat += "<li>[disease_name] - <A href='?src=\ref[src];create_vaccine=[type]'>Create vaccine bottle</A></li>"
dat += "</ul><BR>"
else
dat += "nothing<BR>"
else
dat += "nothing<BR>"
dat += "<BR><A href='?src=\ref[src];eject=1'>Eject beaker</A>[((R.total_volume&&R.reagent_list.len) ? "-- <A href='?src=\ref[src];empty_beaker=1'>Empty beaker</A>":"")]<BR>"
dat += "<A href='?src=\ref[user];mach_close=pandemic'>Close</A>"
user << browse("<TITLE>[src.name]</TITLE><BR>[dat]", "window=pandemic;size=575x400")
onclose(user, "pandemic")
return
/obj/machinery/computer/pandemic/attackby(var/obj/I as obj, var/mob/user as mob)
if(istype(I, /obj/item/weapon/reagent_containers/glass))
if(stat & (NOPOWER|BROKEN)) return
if(src.beaker)
user << "A beaker is already loaded into the machine."
return
src.beaker = I
user.drop_item()
I.loc = src
user << "You add the beaker to the machine!"
src.updateUsrDialog()
icon_state = "mixer1"
else
..()
return
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
/obj/machinery/reagentgrinder
name = "All-In-One Grinder"

View File

@@ -23,23 +23,6 @@
t["virus2"] = v.Copy()
return t
/datum/reagent/blood/mix_data(var/newdata, var/newamount) // You have a reagent with data, and new reagent with its own data get added, how do you deal with that?
if(data["viruses"] || newdata["viruses"])
var/list/mix1 = data["viruses"]
var/list/mix2 = newdata["viruses"]
var/list/to_mix = list() // Stop issues with the list changing during mixing.
for(var/datum/disease/advance/AD in mix1)
to_mix += AD
for(var/datum/disease/advance/AD in mix2)
to_mix += AD
var/datum/disease/advance/AD = Advance_Mix(to_mix)
if(AD)
var/list/preserve = list(AD)
for(var/D in data["viruses"])
if(!istype(D, /datum/disease/advance))
preserve += D
data["viruses"] = preserve
/datum/reagent/blood/touch_turf(var/turf/simulated/T)
if(!istype(T) || volume < 3)
return
@@ -55,12 +38,6 @@
M.adjustToxLoss(removed)
if(dose > 15)
M.adjustToxLoss(removed)
if(data && data["viruses"])
for(var/datum/disease/D in data["viruses"])
if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS)
continue
if(D.spread_type in list(CONTACT_FEET, CONTACT_HANDS, CONTACT_GENERAL))
M.contract_disease(D)
if(data && data["virus2"])
var/list/vlist = data["virus2"]
if(vlist.len)
@@ -74,12 +51,6 @@
var/mob/living/carbon/human/H = M
if(H.isSynthetic())
return
if(data && data["viruses"])
for(var/datum/disease/D in data["viruses"])
if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS)
continue
if(D.spread_type in list(CONTACT_FEET, CONTACT_HANDS, CONTACT_GENERAL))
M.contract_disease(D)
if(data && data["virus2"])
var/list/vlist = data["virus2"]
if(vlist.len)
@@ -94,26 +65,6 @@
M.inject_blood(src, volume)
remove_self(volume)
/datum/reagent/vaccine
name = "Vaccine"
id = "vaccine"
reagent_state = LIQUID
color = "#C81040"
/datum/reagent/vaccine/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
if(data)
for(var/datum/disease/D in M.viruses)
if(istype(D, /datum/disease/advance))
var/datum/disease/advance/A = D
if(A.GetDiseaseID() == data)
D.cure()
else
if(D.type == data)
D.cure()
M.resistances += data
return
// pure concentrated antibodies
/datum/reagent/antibodies
data = list("antibodies"=list())

View File

@@ -141,11 +141,6 @@
M.confused = 0
M.sleeping = 0
M.jitteriness = 0
for(var/datum/disease/D in M.viruses)
D.spread = "Remissive"
D.stage--
if(D.stage < 1)
D.cure()
/datum/reagent/gold
name = "Gold"

View File

@@ -500,31 +500,3 @@
else
new_mob.key = M.key
qdel(M)
/datum/reagent/nanites
name = "Nanomachines"
id = "nanites"
description = "Microscopic construction robots."
reagent_state = LIQUID
color = "#535E66"
/datum/reagent/nanites/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
if(prob(10))
M.contract_disease(new /datum/disease/robotic_transformation(0), 1) //What
/datum/reagent/nanites/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.contract_disease(new /datum/disease/robotic_transformation(0), 1)
/datum/reagent/xenomicrobes
name = "Xenomicrobes"
id = "xenomicrobes"
description = "Microbes with an entirely alien cellular structure."
reagent_state = LIQUID
color = "#535E66"
/datum/reagent/xenomicrobes/affect_touch(var/mob/living/carbon/M, var/alien, var/removed)
if(prob(10))
M.contract_disease(new /datum/disease/xeno_transformation(0), 1)
/datum/reagent/xenomicrobes/affect_blood(var/mob/living/carbon/M, var/alien, var/removed)
M.contract_disease(new /datum/disease/xeno_transformation(0), 1)

View File

@@ -825,8 +825,6 @@
New()
..()
reagents.add_reagent("nutriment", 2)
if(prob(5))
reagents.add_reagent("nanites", 2)
bitesize = 2
/obj/item/weapon/reagent_containers/food/snacks/roburgerbig
@@ -838,7 +836,6 @@
New()
..()
reagents.add_reagent("nanites", 100)
bitesize = 0.1
/obj/item/weapon/reagent_containers/food/snacks/xenoburger

View File

@@ -30,7 +30,6 @@
/obj/machinery/dna_scannernew,
/obj/item/weapon/grenade/chem_grenade,
/mob/living/bot/medbot,
/obj/machinery/computer/pandemic,
/obj/item/weapon/storage/secure/safe,
/obj/machinery/iv_drip,
/obj/machinery/disease2/incubator,

View File

@@ -154,184 +154,6 @@
reagents.add_reagent("diethylamine", 60)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/flu_virion
name = "Flu virion culture bottle"
desc = "A small bottle. Contains H13N1 flu virion culture in synthblood medium."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/advance/flu(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/epiglottis_virion
name = "Epiglottis virion culture bottle"
desc = "A small bottle. Contains Epiglottis virion culture in synthblood medium."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/advance/voice_change(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/liver_enhance_virion
name = "Liver enhancement virion culture bottle"
desc = "A small bottle. Contains liver enhancement virion culture in synthblood medium."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/advance/heal(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/hullucigen_virion
name = "Hullucigen virion culture bottle"
desc = "A small bottle. Contains hullucigen virion culture in synthblood medium."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/advance/hullucigen(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/pierrot_throat
name = "Pierrot's Throat culture bottle"
desc = "A small bottle. Contains H0NI<42 virion culture in synthblood medium."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/pierrot_throat(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/cold
name = "Rhinovirus culture bottle"
desc = "A small bottle. Contains XY-rhinovirus culture in synthblood medium."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/advance/F = new /datum/disease/advance/cold(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/random
name = "Random culture bottle"
desc = "A small bottle. Contains a random disease."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/advance/F = new(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/retrovirus
name = "Retrovirus culture bottle"
desc = "A small bottle. Contains a retrovirus culture in a synthblood medium."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/dna_retrovirus(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/gbs
name = "GBS culture bottle"
desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
amount_per_transfer_from_this = 5
New()
var/datum/reagents/R = new/datum/reagents(20)
reagents = R
R.my_atom = src
var/datum/disease/F = new /datum/disease/gbs
var/list/data = list("virus"= F)
R.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs
name = "GBS culture bottle"
desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/fake_gbs(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/*
/obj/item/weapon/reagent_containers/glass/bottle/rhumba_beat
name = "Rhumba Beat culture bottle"
desc = "A small bottle. Contains The Rhumba Beat culture in synthblood medium."//Or simply - General BullShit
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
amount_per_transfer_from_this = 5
New()
var/datum/reagents/R = new/datum/reagents(20)
reagents = R
R.my_atom = src
var/datum/disease/F = new /datum/disease/rhumba_beat
var/list/data = list("virus"= F)
R.add_reagent("blood", 20, data)
*/
/obj/item/weapon/reagent_containers/glass/bottle/brainrot
name = "Brainrot culture bottle"
desc = "A small bottle. Contains Cryptococcus Cosmosis culture in synthblood medium."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/brainrot(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/magnitis
name = "Magnitis culture bottle"
desc = "A small bottle. Contains a small dosage of Fukkos Miracos."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/magnitis(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/wizarditis
name = "Wizarditis culture bottle"
desc = "A small bottle. Contains a sample of Rincewindus Vulgaris."
icon = 'icons/obj/chemical.dmi'
icon_state = "bottle-4"
New()
..()
var/datum/disease/F = new /datum/disease/wizarditis(0)
var/list/data = list("viruses"= list(F))
reagents.add_reagent("blood", 20, data)
update_icon()
/obj/item/weapon/reagent_containers/glass/bottle/pacid
name = "Polytrinic Acid Bottle"
desc = "A small bottle. Contains a small amount of Polytrinic Acid"