Merge pull request #14107 from LanCartwright/newvirogrenades

Viro-terror grenade renovation
This commit is contained in:
tkdrg
2015-12-31 00:04:38 -03:00
8 changed files with 158 additions and 1 deletions

View File

@@ -0,0 +1,62 @@
/datum/disease/tuberculosis
name = "Fungal tuberculosis"
max_stages = 4
spread_text = "Airborne"
cure_text = "Spaceacillin & salbutamol"
cures = list("spaceacillin", "salbutamol")
agent = "Fungal Tubercle bacillus Cosmosis"
viable_mobtypes = list(/mob/living/carbon/human)
cure_chance = 5//like hell are you getting out of hell
desc = "A rare highly transmittable virulent virus. Few samples exist, rumoured to be carefully grown and cultured by clandestine bio-weapon specialists. Causes fever, blood vomiting, lung damage, weight loss, and fatigue."
required_organs = list(/obj/item/organ/limb/head)
severity = DANGEROUS
/datum/disease/tuberculosis/stage_act() //it begins
..()
switch(stage)
if(2)
if(prob(2))
affected_mob.emote("cough")
affected_mob << "<span class='danger'>Your chest hurts.</span>"
if(prob(2))
affected_mob << "<span class='danger'>Your stomach violently rumbles!</span>"
if(prob(2))
affected_mob << "<span class='danger'>You feel a sharp pain from your lower chest!</span>"
affected_mob.adjustOxyLoss(5)
affected_mob.emote("gasp")
if(prob(5))
affected_mob.vomit(20)
if(3)
if(prob(2))
affected_mob << "<span class='userdanger'>You see four of everything</span>"
affected_mob.Dizzy(5)
if(prob(2))
affected_mob << "<span class='danger'>You feel a cold sweat form.</span>"
if(prob(10))
affected_mob << "<span class='danger'>You feel air escape from your lungs painfully.</span>"
affected_mob.adjustOxyLoss(25)
affected_mob.emote("gasp")
if(4)
if(prob(2))
affected_mob << "<span class='userdanger'>[pick("You feel your heart slowing...", "You relax and slow your heartbeat.")]</span>"
affected_mob.adjustStaminaLoss(70)
if(prob(10))
affected_mob.adjustStaminaLoss(100)
affected_mob.visible_message("<span class='warning'>[affected_mob] faints!</span>", "<span class='userdanger'>You surrender yourself and feel at peace...</span>")
affected_mob.sleeping += 5
if(prob(2))
affected_mob << "<span class='userdanger'>You feel your mind relax and your thoughts drift!</span>"
affected_mob.confused = min(100, affected_mob.confused + 8)
if(prob(15))
affected_mob.vomit(0, 1)
if(prob(3))
affected_mob << "<span class='warning'><i>[pick("Your stomach silently rumbles...", "Your stomach seizes up and falls limp, muscles dead and lifeless.", "You could eat a crayon")]</i></span>"
affected_mob.overeatduration = max(affected_mob.overeatduration - 100, 0)
affected_mob.nutrition = max(affected_mob.nutrition - 100, 0)
if(prob(15))
affected_mob << "<span class='danger'>[pick("You feel uncomfortably hot...", "You feel like unzipping your jumpsuit", "You feel like taking off some clothes...")]</span>"
affected_mob.bodytemperature += 40
return

View File

@@ -292,6 +292,14 @@ var/list/uplink_items = list()
gamemodes = list(/datum/game_mode/nuclear,/datum/game_mode/gang)
surplus = 0
/datum/uplink_item/stealthy_weapons/operator_virus_grenade
name = "Fungal Tuberculosis grenade"
desc = "A primed bio-grenade packed into a compact box. Comes with five Bio Virus Antidote Kit (BVAK) autoinjectors for rapid application on up to two targets each, a syringe, and a bottle containing the BVAK solution."
item = /obj/item/weapon/storage/box/syndie_kit/tuberculosisgrenade
cost = 12
surplus = 35
gamemodes = list(/datum/game_mode/nuclear)
/datum/uplink_item/dangerous/gygax
name = "Gygax Exosuit"
desc = "A lightweight exosuit, painted in a dark scheme. Its speed and equipment selection make it excellent for hit-and-run style attacks. \
@@ -549,6 +557,14 @@ var/list/uplink_items = list()
cost = 1
surplus = 50
/datum/uplink_item/stealthy_weapons/traitor_virus_kit
name = "Virus Kit"
desc = "An active fungal pathogen in a sterile, compact box. Comes with one Bio Virus Antidote Kit (BVAK) autoinjector for rapid application on up to two targets each, a syringe, and a bottle containing the BVAK solution."
item = /obj/item/weapon/storage/box/syndie_kit/tuberculosiskit
cost = 20 //because nobody knows jack shit about virology
surplus = 50
excludefrom = list(/datum/game_mode/nuclear)
/datum/uplink_item/stealthy_weapons/traitor_chem_bottle
name = "Poison Kit"
desc = "An assortment of deadly chemicals packed into a compact box. Comes with a syringe for more precise application."

View File

@@ -441,6 +441,25 @@
beakers += B1
beakers += B2
/obj/item/weapon/grenade/chem_grenade/tuberculosis
name = "Fungal tuberculosis grenade"
desc = "WARNING: GRENADE WILL RELEASE DEADLY SPORES CONTAINING ACTIVE AGENTS. SEAL SUIT AND AIRFLOW BEFORE USE."
stage = READY
/obj/item/weapon/grenade/chem_grenade/tuberculosis/New()
..()
var/obj/item/weapon/reagent_containers/glass/beaker/bluespace/B1 = new(src)
var/obj/item/weapon/reagent_containers/glass/beaker/bluespace/B2 = new(src)
B1.reagents.add_reagent("potassium", 50)
B1.reagents.add_reagent("phosphorus", 50)
B1.reagents.add_reagent("fungalspores", 200)
B2.reagents.add_reagent("blood", 250)
B2.reagents.add_reagent("sugar", 50)
beakers += B1
beakers += B2
#undef EMPTY
#undef WIRED
#undef READY

View File

@@ -240,3 +240,32 @@
new /obj/item/weapon/screwdriver/nuke(src)
new /obj/item/nuke_core_container(src)
new /obj/item/weapon/paper/nuke_instructions(src)
/obj/item/weapon/storage/box/syndie_kit/tuberculosisgrenade
name = "boxed virus grenade kit"
/obj/item/weapon/storage/box/virus_kit/tuberculosisgrenade/New()
..()
new /obj/item/weapon/grenade/chem_grenade/tuberculosis
new /obj/item/weapon/reagent_containers/hypospray/medipen/tuberculosiscure
new /obj/item/weapon/reagent_containers/hypospray/medipen/tuberculosiscure
new /obj/item/weapon/reagent_containers/hypospray/medipen/tuberculosiscure
new /obj/item/weapon/reagent_containers/hypospray/medipen/tuberculosiscure
new /obj/item/weapon/reagent_containers/hypospray/medipen/tuberculosiscure
new /obj/item/weapon/reagent_containers/syringe
new /obj/item/weapon/reagent_containers/glass/bottle/tuberculosiscure
return
/obj/item/weapon/storage/box/syndie_kit/tuberculosiskit
name = "boxed virus kit"
/obj/item/weapon/storage/box/virus_kit/tuberculosiskit/New()
..()
new /obj/item/weapon/reagent_containers/glass/bottle/tuberculosis
new /obj/item/weapon/reagent_containers/hypospray/medipen/tuberculosiscure
new /obj/item/weapon/reagent_containers/syringe
new /obj/item/weapon/reagent_containers/glass/bottle/tuberculosiscure
return

View File

@@ -763,6 +763,16 @@
if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection))))
M.ContractDisease(new /datum/disease/transformation/xeno(0))
/datum/reagent/fungalspores
name = "Tubercle bacillus Cosmosis microbes"
id = "fungalspores"
description = "Active fungal spores."
color = "#92D17D" // rgb: 146, 209, 125
/datum/reagent/fungalspores/reaction_mob(mob/M, method=TOUCH, reac_volume, show_message = 1, touch_protection = 0)
if(method==PATCH || method==INGEST || method==INJECT || (method == VAPOR && prob(min(reac_volume,100)*(1 - touch_protection))))
M.ForceContractDisease(new /datum/disease/tuberculosis(0))
/datum/reagent/fluorosurfactant//foam precursor
name = "Fluorosurfactant"
id = "fluorosurfactant"

View File

@@ -297,3 +297,15 @@
desc = "A small bottle. Contains a sample of Inquisitius."
icon_state = "bottle3"
spawned_disease = /datum/disease/fluspanish
/obj/item/weapon/reagent_containers/glass/bottle/tuberculosis
name = "Fungal Tuberculosis culture bottle"
desc = "A small bottle. Contains a sample of Fungal Tubercle bacillus."
icon_state = "bottle3"
spawned_disease = /datum/disease/tuberculosis
/obj/item/weapon/reagent_containers/glass/bottle/tuberculosiscure
name = "BVAK bottle"
desc = "A small bottle containing Bio Virus Antidote Kit."
icon_state = "bottle5"
list_reagents = list("atropine" = 5, "epinephrine" = 5, "salbutamol" = 10, "spaceacillin" = 10)

View File

@@ -112,3 +112,11 @@
name = "morphine medipen"
desc = "A rapid way to get you out of a tight situation and fast! You'll feel rather drowsy, though."
list_reagents = list("morphine" = 10)
/obj/item/weapon/reagent_containers/hypospray/medipen/tuberculosiscure
name = "BVAK autoinjector"
desc = "Bio Virus Antidote Kit autoinjector. Has a two use system for yourself, and someone else. Inject when infected."
icon_state = "stimpen"
volume = 60
amount_per_transfer_from_this = 30
list_reagents = list("atropine" = 10, "epinephrine" = 10, "salbutamol" = 20, "spaceacillin" = 20)

View File

@@ -208,6 +208,7 @@
#include "code\datums\diseases\retrovirus.dm"
#include "code\datums\diseases\rhumba_beat.dm"
#include "code\datums\diseases\transformation.dm"
#include "code\datums\diseases\tuberculosis.dm"
#include "code\datums\diseases\wizarditis.dm"
#include "code\datums\diseases\advance\advance.dm"
#include "code\datums\diseases\advance\presets.dm"