-tg- disease1

Wee! Readds Disease1, kills off disease2, and finally removes poop.dmi
(fucking piece of shit)

Needs WAY more testing, most of which I don't know how to do yet, because
I've never used this system. Fun!

Changes:
 - Virus2 has been removed completely.
  - Some symptoms have not been readded. Aka, none of them have been
    readded, I just wanted to get this shit ported.
  - Virology has been updated slightly to mirror -tg-'s boxstation, as the
    virus2 machines are gone.
 - Welcome back, disease1
  - The centrifuge, vials, splicer, analyzer, growerthing, have all been
    replaced by the PanD.E.M.I.C. 2220
  - No symptoms have been completely removed; However, vision symptoms
    have been disabled pending byond 510, and genetics symptoms have been
    disabled until "when I figure out how to fix them".
  - Advanced Mutation Toxin now uses a disease, which turns people from
    species, to slime person, to slime. Slime people are instantly turned
    to a slime.
  - Diseased touch now give people appendicitis. Yes, they VANT YOUR...
    appendix.
  - Virology now has a fridge with the following in it:
    - Antiviral Syringes
    - 1 Rhinovirus culture
    - 1 Flu culture
    - 1 Bottle of Mutagen
    - 1 Bottle of Plasma
    - 1 Bottle of Synaptizine
  - A few more things, which I can't remember and can't look at while writing
    this commit. Sometimes, git hurts.

TODO:
 - Test more shit and figure out how the PanD.E.M.I.C. works/is supposed to
   work.
 - Fix genetics symptoms.
 - Give vampires a less shitty diseased touch.
 - Add appendicitis event.
 -
This commit is contained in:
Tigercat2000
2016-03-27 21:24:00 -07:00
parent b40a6d2573
commit ad2cf86898
120 changed files with 4818 additions and 3432 deletions
-142
View File
@@ -1,142 +0,0 @@
/datum/nano_module/virus2
name = "Virus Creator"
var/mob/virus_target = null
var/datum/disease2/disease/curr_virus = null
/datum/nano_module/virus2/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1, var/datum/topic_state/state = admin_state)
var/data[0]
data["virus_target"] = virus_target
data["curr_virus"] = curr_virus ? curr_virus.uniqueID : null
if(curr_virus)
var/effects[0]
for(var/datum/disease2/effectholder/E in curr_virus.effects)
var/subeffect[0]
subeffect["name"] = E.effect.name
subeffect["stage"] = E.stage
subeffect["chance"] = E.chance
subeffect["multiplier"] = E.multiplier
subeffect["badness"] = E.effect.badness
effects.Add(list(subeffect))
data["virus_effects"] = effects
var/virusstats[0]
virusstats["antigen"] = antigens2string(curr_virus.antigen)
virusstats["spreadType"] = curr_virus.spreadtype
virusstats["affectedSpecies"] = list2text(curr_virus.affected_species, ", ")
virusstats["speed"] = curr_virus.speed
data["virusStats"] = virusstats
ui = nanomanager.try_update_ui(user, src, ui_key, ui, data, force_open)
if (!ui)
ui = new(user, src, ui_key, "virus2_creator.tmpl", "[src]", 800, 450, state = state)
ui.set_initial_data(data)
ui.open()
ui.set_auto_update(1)
/datum/nano_module/virus2/Topic(href, href_list)
if(..())
return 1
if(href_list["setTarget"])
var/list/mob_list_l = list()
for(var/mob/living/carbon/human/H in mob_list)
mob_list_l += H
mob_list_l = sortList(mob_list_l)
mob_list_l += "Random"
var/newTarget = input(usr, "Who do you want to infect?", "Infection", "Random") as null|anything in mob_list_l
if(newTarget)
if(newTarget == "Random")
virus_target = null
else
if(ismob(newTarget))
virus_target = newTarget
return 1
if(href_list["createVirus"])
if(curr_virus)
if(alert(usr, "Would you like to delete the current virus and generate a new one?", "Regenerate Virus", "Yes", "No") == "Yes")
qdel(curr_virus)
curr_virus = null
else
return 0
var/datum/disease2/disease/new_virus = new()
new_virus.makerandom()
curr_virus = new_virus
new_virus.affected_species = list("Human","Unathi","Skrell","Tajaran","Vox","Kidan","Slime People","Grey","Diona", "Vulpkanin") //restore to default
usr << "New virus generated: [new_virus.uniqueID]."
return 1
if(href_list["deleteCurrVirus"])
if(curr_virus)
qdel(curr_virus)
curr_virus = null
return 1
if(href_list["changeEffect"])
if(curr_virus)
var/stage = text2num(href_list["changeEffect"])
if(stage)
var/list/L = list()
for(var/effect in (subtypesof(/datum/disease2/effect)))
var/datum/disease2/effect/E = new effect
if(initial(E.stage) == stage)
L[initial(E.name)] = E
var/datum/disease2/effectholder/holder = curr_virus.effects[stage]
if(holder)
var/datum/disease2/effect/current_effect = holder.effect
var/C = input("Select effect for stage [stage]:", "Stage [stage]", current_effect.name) as null|anything in L
if(!C)
return 0
var/datum/disease2/effect/applied_effect = L[C]
if(istype(applied_effect))
holder.effect = applied_effect
qdel(current_effect)
else
return 1
if(href_list["changeStat"])
if(curr_virus)
var/stat = href_list["changeStat"]
var/stage = text2num(href_list["cSEffect"])
if(stat && stage)
switch(stat)
if("C")
var/C = input(usr, "What would you like to change the chance to? ", "Edit Chance", null) as null|num
if(C)
var/datum/disease2/effectholder/holder = curr_virus.effects[stage]
if(holder)
holder.chance = Clamp(C, 0, holder.effect.chance_maxm)
if("M")
var/C = input(usr, "What would you like to change the multiplier to?", "Edit Multiplier", null) as null|num
if(C)
var/datum/disease2/effectholder/holder = curr_virus.effects[stage]
if(holder)
holder.multiplier = Clamp(C, 1, holder.effect.maxm)
return 1
if(href_list["spreadToTarget"])
if(curr_virus)
if(virus_target)
infect_virus2(virus_target, curr_virus, 1) //no protection from gods
else //random
var/list/mob_list_l = list()
for(var/mob/living/carbon/human/H in mob_list)
if(H.client)
mob_list_l += H
var/mob/living/carbon/human/H = pick(mob_list_l)
if(H && H.client)
infect_virus2(H, curr_virus, 1) //no protection from gods