Virology rebalance

- Effects can now appear and be spliced in at higher stages than their set stages (e.g. Waiting Syndrome can now occur in any block)
- Gibbingtons changed to not instantly gib infected on activation, instead either dealing massive brute damage or making humanoids' limbs fall off; this avoids three copies of Waiting Syndrome then Gibbingtons going undetected until it instagibs the entire station one after the other.
- New effect: chemical synthesis. Picks one reagent from its list, and keeps infected at 5-7u of that reagent. Infecting others, splicing the gene, etc does not change the reagent, only generating an entirely new chemical synthesis effect does that.
- Admin panel for spawning viruses
- Virus dish examine() now doesn't print 15+ lines to output, instead printing one line and a link to open a window with the rest (and it calls ..() now)
- Lowercased most virology machinery's names
- Renamed/reordered antigens, there are now 16 antigens rather than 11, and they don't use the blood markers' names despite not being affected by blood type at all
- Generating random effects does not rely so much on the GC
This commit is contained in:
GinjaNinja32
2015-01-20 09:57:47 +00:00
parent 9890bdc86d
commit a1e5194c34
13 changed files with 309 additions and 39 deletions

View File

@@ -1,7 +1,7 @@
///////////////ANTIBODY SCANNER///////////////
/obj/item/device/antibody_scanner
name = "\improper Antibody Scanner"
name = "antibody scanner"
desc = "Scans living beings for antibodies in their blood."
icon_state = "health"
w_class = 2.0
@@ -36,11 +36,12 @@
///////////////VIRUS DISH///////////////
/obj/item/weapon/virusdish
name = "virus containment/growth dish"
name = "virus dish"
icon = 'icons/obj/items.dmi'
icon_state = "implantcase-b"
var/datum/disease2/disease/virus2 = null
var/growth = 0
var/basic_info = null
var/info = 0
var/analysed = 0
@@ -66,10 +67,17 @@
del src
/obj/item/weapon/virusdish/examine(mob/user)
user << "This is a virus containment dish."
if(src.info)
user << "It has the following information about its contents:"
user << src.info
..()
if(basic_info)
user << "[basic_info] : <a href='?src=\ref[src];info=1'>More Information</a>"
/obj/item/weapon/virusdish/Topic(href, href_list)
. = ..()
if(.) return
if(href_list["info"])
usr << browse(info, "window=virusinfo")
return 1
/obj/item/weapon/ruinedvirusdish
name = "ruined virus sample"