From 6d6c6bba9d5fe0bdeae2be265af140b836943b37 Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Wed, 17 Oct 2018 20:18:55 +0200 Subject: [PATCH 1/5] Viromancy! --- code/datums/uplink_item.dm | 10 ++++++++++ .../modules/reagents/reagent_containers/dropper.dm | 14 +++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 82af6fef4d9..0b76f203784 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -220,6 +220,16 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) cost = 5 job = list("Chief Medical Officer", "Medical Doctor", "Geneticist", "Psychiatrist", "Chemist", "Paramedic", "Coroner", "Virologist") +//Virology + +/datum/uplink_item/jobspecific/rad_laser + name = "Viral Injector" + desc = "A modified hypospray disguised as a functional pipette. The pipette can infect victims with viruses upon injection." + reference = "RL" + item = /obj/item/reagent_containers/dropper/precision/viral_injector + cost = 3 + job = list("Virologist") + /datum/uplink_item/dangerous/cat_grenade name = "Feral Cat Delivery Grenade" desc = "The feral cat delivery grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight." diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 6198313bf88..46c1375e605 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -108,4 +108,16 @@ icon_state = "pipette" amount_per_transfer_from_this = 1 possible_transfer_amounts = list(0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1) - volume = 1 \ No newline at end of file + volume = 1 + +//Syndicate item. Virus transmitting mini hypospray +/obj/item/reagent_containers/dropper/precision/viral_injector + +/obj/item/reagent_containers/dropper/precision/viral_injector/attack(mob/living/M, mob/living/user, def_zone) + if(M.can_inject(user, 1)) + to_chat(user, "You stab [M] with the [src].") + add_attack_logs(user, M, "Stabbed with Viral Injector") + + if(reagents.total_volume && M.reagents) + reagents.reaction(M, INGEST, reagents.total_volume) + reagents.trans_to(M, 1) From 4041e13afcb1b09107637cc2db01d7e091b47966 Mon Sep 17 00:00:00 2001 From: farie82 Date: Wed, 17 Oct 2018 22:41:11 +0200 Subject: [PATCH 2/5] Update uplink_item.dm --- code/datums/uplink_item.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 0b76f203784..51e22f36e1f 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -222,10 +222,10 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) //Virology -/datum/uplink_item/jobspecific/rad_laser +/datum/uplink_item/jobspecific/viral_injector name = "Viral Injector" desc = "A modified hypospray disguised as a functional pipette. The pipette can infect victims with viruses upon injection." - reference = "RL" + reference = "VI" item = /obj/item/reagent_containers/dropper/precision/viral_injector cost = 3 job = list("Virologist") From ede44776892ee9a0d675be39da189e77d01e214a Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Thu, 18 Oct 2018 23:18:18 +0200 Subject: [PATCH 3/5] Added logging --- .../reagents/reagent_containers/dropper.dm | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 46c1375e605..222475dac74 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -116,8 +116,29 @@ /obj/item/reagent_containers/dropper/precision/viral_injector/attack(mob/living/M, mob/living/user, def_zone) if(M.can_inject(user, 1)) to_chat(user, "You stab [M] with the [src].") - add_attack_logs(user, M, "Stabbed with Viral Injector") - if(reagents.total_volume && M.reagents) - reagents.reaction(M, INGEST, reagents.total_volume) - reagents.trans_to(M, 1) + var/list/injected = list() + for(var/datum/reagent/R in reagents.reagent_list) + injected += R.name + var/datum/reagent/blood/B = R + + if(B && B.data["viruses"]) + var/virList = list() + for(var/dis in B.data["viruses"]) + var/datum/disease/D = dis + var/virusData = D.name + var/english_symptoms = list() + var/datum/disease/advance/A = D + if(A) + for(var/datum/symptom/S in A.symptoms) + english_symptoms += S.name + virusData += " ([english_list(english_symptoms)])" + virList += virusData + var/str = english_list(virList) + add_attack_logs(user, M, "Infected with [str].") + + reagents.reaction(M, INGEST, reagents.total_volume) + reagents.trans_to(M, 1) + + var/contained = english_list(injected) + add_attack_logs(user, M, "Injected with [src] containing ([contained])") From 927fd6febc381b8337c0ca0de9195624664d2d3f Mon Sep 17 00:00:00 2001 From: farie82 Date: Fri, 19 Oct 2018 08:24:57 +0200 Subject: [PATCH 4/5] Damn web IDE adding enters and shizle --- code/datums/uplink_item.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/code/datums/uplink_item.dm b/code/datums/uplink_item.dm index 9ec6dbe90fb..a2ea8d3a23a 100644 --- a/code/datums/uplink_item.dm +++ b/code/datums/uplink_item.dm @@ -231,7 +231,6 @@ GLOBAL_LIST_INIT(uplink_items, subtypesof(/datum/uplink_item)) job = list("Virologist") /datum/uplink_item/jobspecific/cat_grenade - name = "Feral Cat Delivery Grenade" desc = "The feral cat delivery grenade contains 8 dehydrated feral cats in a similar manner to dehydrated monkeys, which, upon detonation, will be rehydrated by a small reservoir of water contained within the grenade. These cats will then attack anything in sight." item = /obj/item/grenade/spawnergrenade/feral_cats From bbff7546d0ec570f40cbb450369a07005a17685b Mon Sep 17 00:00:00 2001 From: joep van der velden Date: Sat, 20 Oct 2018 18:58:42 +0200 Subject: [PATCH 5/5] Fixed the weirdness --- code/modules/reagents/reagent_containers/dropper.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/reagents/reagent_containers/dropper.dm b/code/modules/reagents/reagent_containers/dropper.dm index 222475dac74..19fb197c077 100644 --- a/code/modules/reagents/reagent_containers/dropper.dm +++ b/code/modules/reagents/reagent_containers/dropper.dm @@ -122,7 +122,7 @@ injected += R.name var/datum/reagent/blood/B = R - if(B && B.data["viruses"]) + if(istype(B) && B.data["viruses"]) var/virList = list() for(var/dis in B.data["viruses"]) var/datum/disease/D = dis