diff --git a/code/__HELPERS/lists.dm b/code/__HELPERS/lists.dm
index 620bd33d2b3..827a6348c26 100644
--- a/code/__HELPERS/lists.dm
+++ b/code/__HELPERS/lists.dm
@@ -304,9 +304,4 @@ proc/listclearnulls(list/list)
if(bitfield & bit)
r += bit
- return r
-
-/proc/safe_pick_list(var/list/L)
- if(L && L.len)
- return pick(L)
- return null
\ No newline at end of file
+ return r
\ No newline at end of file
diff --git a/code/datums/disease.dm b/code/datums/disease.dm
index b4457a473d4..b016234ef8e 100644
--- a/code/datums/disease.dm
+++ b/code/datums/disease.dm
@@ -30,6 +30,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
var/cure_list = null // allows for multiple possible cure combinations
var/cure_chance = 8//chance for the cure to do its job
var/spread = null //spread type description
+ var/initial_spread = null
var/spread_type = AIRBORNE
var/contagious_period = 0//the disease stage when it can be spread
var/list/affected_species = list()
@@ -58,7 +59,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
//world << "[affected_mob] is carrier"
return
- spread = (cure_present?"Remissive":initial(spread))
+ spread = (cure_present?"Remissive":initial_spread)
if(stage > max_stages)
stage = max_stages
@@ -94,7 +95,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
return result
-/datum/disease/proc/spread(var/atom/source=null, var/airborne_range = 3, var/force_spread)
+/datum/disease/proc/spread(var/atom/source=null, var/airborne_range = 2, var/force_spread)
//world << "Disease [src] proc spread was called from holder [source]"
// If we're overriding how we spread, say so here
@@ -174,12 +175,16 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
cure_list = list(cure_id) // to add more cures, add more vars to this list in the actual disease's New()
if(process) // Viruses in list are considered active.
active_diseases += src
+ initial_spread = spread
/datum/disease/proc/IsSame(var/datum/disease/D)
if(istype(src, D.type))
return 1
return 0
+/datum/disease/proc/Copy()
+ return new type(0, src)
+
/*
/datum/disease/Del()
active_diseases.Remove(src)
diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm
index 2a1f23432ea..4ea713bb2b7 100644
--- a/code/datums/diseases/advance/advance.dm
+++ b/code/datums/diseases/advance/advance.dm
@@ -11,6 +11,7 @@
var/list/archive_diseases = list()
+
/*
PROPERTIES
@@ -54,7 +55,8 @@ var/list/archive_diseases = list()
if(!D || !D.symptoms || !D.symptoms.len)
symptoms = GenerateSymptoms()
else
- symptoms = D.symptoms
+ for(var/datum/symptom/S in D.symptoms)
+ symptoms += new S.type
name = D.name
Refresh(!copy)
@@ -93,6 +95,9 @@ var/list/archive_diseases = list()
del(src) //delete the datum to stop it processing
return
+// Returns the advance disease with a different reference memory.
+/datum/disease/advance/Copy()
+ return new /datum/disease/advance(0, src, 1)
/*
@@ -178,7 +183,7 @@ var/list/archive_diseases = list()
hidden = list( (properties["stealth"] > 2), (properties["stealth"] > 3) )
// The more symptoms we have, the less transmittable it is but some symptoms can make up for it.
SetSpread(max(BLOOD, min(properties["transmittable"] - symptoms.len, AIRBORNE)))
- permeability_mod = round(0.5 * properties["transmittable"])
+ permeability_mod = max(round(0.5 * properties["transmittable"]), 1)
stage_prob = max(properties["stage_rate"], 1)
SetSeverity(properties["severity"])
GenerateCure(properties)
@@ -250,12 +255,18 @@ var/list/archive_diseases = list()
cure_id = "ethylredoxrazine"
if(6)
- cure_id = "silver"
+ cure_id = "synaptizine"
if(7)
- cure_id = "gold"
+ cure_id = "silver"
if(8)
+ cure_id = "gold"
+
+ if(9)
+ cure_id = "mindbreaker"
+
+ else
cure_id = "plasma"
// Get the cure name from the cure_id
@@ -267,12 +278,21 @@ var/list/archive_diseases = list()
// Randomly generate a symptom, has a chance to lose or gain a symptom.
/datum/disease/advance/proc/Evolve(var/level = 2)
- var/s = safe_pick_list(GenerateSymptoms(level, 1))
+ var/s = safepick(GenerateSymptoms(level, 1))
if(s)
AddSymptom(s)
Refresh()
return
+// Randomly remove a symptom.
+/datum/disease/advance/proc/Devolve()
+ if(symptoms.len > 1)
+ var/s = safepick(symptoms)
+ if(s)
+ RemoveSymptom(s)
+ Refresh()
+ return
+
// Name the disease.
/datum/disease/advance/proc/AssignName(var/name = "Unknown")
src.name = name
@@ -293,7 +313,7 @@ var/list/archive_diseases = list()
if(HasSymptom(S))
return
- if(symptoms.len < 4 + rand(-1, 1))
+ if(symptoms.len < 3 + rand(-1, 1))
symptoms += S
else
RemoveSymptom(pick(symptoms))
@@ -314,9 +334,13 @@ var/list/archive_diseases = list()
// Mix a list of advance diseases and return the mixed result.
/proc/Advance_Mix(var/list/D_list)
+ //world << "Mixing!!!!"
+
var/list/diseases = list()
- for(var/datum/disease/advance/A in D_list)
- diseases += A
+
+ for(var/datum/disease/advance/A in D_list.Copy())
+ diseases += A.Copy()
+
if(!diseases.len)
return null
if(diseases.len <= 1)
@@ -330,15 +354,26 @@ var/list/archive_diseases = list()
var/datum/disease/advance/D1 = pick(diseases)
diseases -= D1
- D_list -= D1
var/datum/disease/advance/D2 = pick(diseases)
D2.Mix(D1)
// Should be only 1 entry left, but if not let's only return a single entry
+ //world << "END MIXING!!!!!"
var/datum/disease/advance/to_return = pick(diseases)
to_return.Refresh()
return to_return
+/proc/SetViruses(var/datum/reagent/R, var/list/data)
+ if(data)
+ var/list/preserve = list()
+ if(istype(data) && data["viruses"])
+ for(var/datum/disease/A in data["viruses"])
+ preserve += A.Copy()
+ R.data = data.Copy()
+ else
+ R.data = data
+ if(preserve.len)
+ R.data["viruses"] = preserve
#undef RANDOM_STARTING_LEVEL
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/cough.dm b/code/datums/diseases/advance/symptoms/cough.dm
index a467f760ea6..5d36b4b2682 100644
--- a/code/datums/diseases/advance/symptoms/cough.dm
+++ b/code/datums/diseases/advance/symptoms/cough.dm
@@ -30,7 +30,7 @@ BONUS
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3)
- M << "[pick("You swallow excess mucus.", "You lightly cough .")]"
+ M << "[pick("You swallow excess mucus.", "You lightly cough.")]"
else
M.emote("cough")
M.drop_item()
diff --git a/code/datums/diseases/advance/symptoms/fever.dm b/code/datums/diseases/advance/symptoms/fever.dm
index d5cb72f6122..e53e36bf159 100644
--- a/code/datums/diseases/advance/symptoms/fever.dm
+++ b/code/datums/diseases/advance/symptoms/fever.dm
@@ -29,6 +29,6 @@ Bonus
if(prob(SYMPTOM_ACTIVATION_PROB))
var/mob/living/carbon/M = A.affected_mob
M << "[pick("You feel hot.", "You feel like you're burning.")]"
- M.bodytemperature += 30 * A.stage
+ M.bodytemperature += 20 * A.stage
return
diff --git a/code/datums/diseases/advance/symptoms/shivering.dm b/code/datums/diseases/advance/symptoms/shivering.dm
new file mode 100644
index 00000000000..ba7c4d0c870
--- /dev/null
+++ b/code/datums/diseases/advance/symptoms/shivering.dm
@@ -0,0 +1,34 @@
+/*
+//////////////////////////////////////
+
+Shivering
+
+ No change to hidden.
+ Increases resistance.
+ Increases stage speed.
+ Little transmittable.
+ Low level.
+
+Bonus
+ Cools down your body.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/shivering
+
+ name = "Shivering"
+ stealth = 0
+ resistance = 2
+ stage_speed = 2
+ transmittable = 1
+ level = 2
+
+/datum/symptom/shivering/Activate(var/datum/disease/advance/A)
+ ..()
+ if(prob(SYMPTOM_ACTIVATION_PROB))
+ var/mob/living/carbon/M = A.affected_mob
+ M << "[pick("You feel cold.", "You start shaking from the cold.")]"
+ M.bodytemperature -= 20 * A.stage
+
+ return
diff --git a/code/datums/diseases/advance/symptoms/sneeze.dm b/code/datums/diseases/advance/symptoms/sneeze.dm
index 94aec8e23e6..a745ae26db9 100644
--- a/code/datums/diseases/advance/symptoms/sneeze.dm
+++ b/code/datums/diseases/advance/symptoms/sneeze.dm
@@ -31,7 +31,7 @@ Bonus
var/mob/living/M = A.affected_mob
switch(A.stage)
if(1, 2, 3)
- M.visible_message("[M] sniffs.")
+ M.emote("sniff")
else
M.emote("sneeze")
A.spread(A.holder, 5, AIRBORNE)
diff --git a/code/datums/diseases/advance/symptoms/symptoms.dm b/code/datums/diseases/advance/symptoms/symptoms.dm
index e1ae6640da1..da2109c81e0 100644
--- a/code/datums/diseases/advance/symptoms/symptoms.dm
+++ b/code/datums/diseases/advance/symptoms/symptoms.dm
@@ -3,7 +3,7 @@
var/list/list_symptoms = typesof(/datum/symptom) - /datum/symptom
var/list/dictionary_symptoms = list()
-var/global/const/SYMPTOM_ACTIVATION_PROB = 1
+var/global/const/SYMPTOM_ACTIVATION_PROB = 3
/datum/symptom
// Buffs/Debuffs the symptom has to the overall engineered disease.
diff --git a/code/datums/diseases/advance/symptoms/vomit.dm b/code/datums/diseases/advance/symptoms/vomit.dm
index 495163aed5f..d97ca858f9b 100644
--- a/code/datums/diseases/advance/symptoms/vomit.dm
+++ b/code/datums/diseases/advance/symptoms/vomit.dm
@@ -91,5 +91,5 @@ Bonus
M.adjustBruteLoss(3)
var/turf/pos = get_turf(M)
- pos.add_vomit_floor(M)
+ pos.add_blood_floor(M)
playsound(pos, 'sound/effects/splat.ogg', 50, 1)
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/weight.dm b/code/datums/diseases/advance/symptoms/weight.dm
index f983eb32396..db05bae5deb 100644
--- a/code/datums/diseases/advance/symptoms/weight.dm
+++ b/code/datums/diseases/advance/symptoms/weight.dm
@@ -73,6 +73,7 @@ Bonus
if(1, 2, 3, 4)
M << "[pick("You feel hungry.", "You crave for food.")]"
else
+ M << "Your stomach rumbles."
M.overeatduration = max(M.overeatduration - 100, 0)
M.nutrition = max(M.nutrition - 100, 0)
diff --git a/code/game/atoms.dm b/code/game/atoms.dm
index 399f0a67755..1e7e10c273d 100644
--- a/code/game/atoms.dm
+++ b/code/game/atoms.dm
@@ -499,7 +499,7 @@ its easier to just keep the beam vertical.
// Only adds blood on the floor -- Skie
/atom/proc/add_blood_floor(mob/living/carbon/M as mob)
- if( istype(M, /mob/living/carbon/monkey) )
+ if( istype(M, /mob/living/carbon/monkey) || istype(M, /mob/living/carbon/human))
if( istype(src, /turf/simulated) )
var/turf/simulated/source1 = src
var/obj/effect/decal/cleanable/blood/this = new /obj/effect/decal/cleanable/blood(source1)
@@ -522,11 +522,7 @@ its easier to just keep the beam vertical.
else if( istype(M, /mob/living/silicon/robot ))
if( istype(src, /turf/simulated) )
var/turf/simulated/source2 = src
- var/obj/effect/decal/cleanable/oil/this = new /obj/effect/decal/cleanable/oil(source2)
- for(var/datum/disease/D in M.viruses)
- var/datum/disease/newDisease = new D.type
- this.viruses += newDisease
- newDisease.holder = this
+ new /obj/effect/decal/cleanable/oil(source2)
/atom/proc/clean_prints()
if(istype(fingerprints, /list))
diff --git a/code/game/gamemodes/changeling/changeling_powers.dm b/code/game/gamemodes/changeling/changeling_powers.dm
index 6d41c8a84a2..3db2e1a1444 100644
--- a/code/game/gamemodes/changeling/changeling_powers.dm
+++ b/code/game/gamemodes/changeling/changeling_powers.dm
@@ -528,10 +528,10 @@ var/list/datum/dna/hivemind_bank = list()
/mob/proc/changeling_hivedownload()
set category = "Changeling"
- set name = "Hive Absorb (40)"
+ set name = "Hive Absorb (20)"
set desc = "Allows you to absorb DNA that is being channeled in the airwaves."
- var/datum/changeling/changeling = changeling_power(40,1)
+ var/datum/changeling/changeling = changeling_power(20,1)
if(!changeling) return
var/list/names = list()
@@ -549,7 +549,7 @@ var/list/datum/dna/hivemind_bank = list()
if(!chosen_dna)
return
- changeling.chem_charges -= 40
+ changeling.chem_charges -= 20
changeling.absorbed_dna += chosen_dna
usr << "We absorb the DNA of [S] from the air."
feedback_add_details("changeling_powers","HD")
diff --git a/code/game/objects/effects/decals/Cleanable/aliens.dm b/code/game/objects/effects/decals/Cleanable/aliens.dm
index 65c1cc700a8..65878310ad7 100644
--- a/code/game/objects/effects/decals/Cleanable/aliens.dm
+++ b/code/game/objects/effects/decals/Cleanable/aliens.dm
@@ -26,7 +26,7 @@
if (i > 0)
var/obj/effect/decal/cleanable/xenoblood/b = new /obj/effect/decal/cleanable/xenoblood/xsplatter(src.loc)
for(var/datum/disease/D in src.viruses)
- b.viruses += D
+ b.viruses += new D.type(0, D, 1)
if (step_to(src, get_step(src, direction), 0))
break
diff --git a/code/game/objects/effects/decals/Cleanable/humans.dm b/code/game/objects/effects/decals/Cleanable/humans.dm
index 2ee5374ec58..f26b3147f07 100644
--- a/code/game/objects/effects/decals/Cleanable/humans.dm
+++ b/code/game/objects/effects/decals/Cleanable/humans.dm
@@ -69,6 +69,6 @@
if (i > 0)
var/obj/effect/decal/cleanable/blood/b = new /obj/effect/decal/cleanable/blood/splatter(src.loc)
for(var/datum/disease/D in src.viruses)
- b.viruses += D
+ b.viruses += new D.type(0, D, 1)
if (step_to(src, get_step(src, direction), 0))
break
\ No newline at end of file
diff --git a/code/game/objects/effects/gibs.dm b/code/game/objects/effects/gibs.dm
index e53ccb0d486..9e3c65628ae 100644
--- a/code/game/objects/effects/gibs.dm
+++ b/code/game/objects/effects/gibs.dm
@@ -47,7 +47,7 @@
if(viruses.len > 0)
for(var/datum/disease/D in viruses)
if(prob(virusProb))
- var/datum/disease/viruus = new D.type
+ var/datum/disease/viruus = new D.type(0, D, 1)
gib.viruses += viruus
viruus.holder = gib
viruus.spread_type = CONTACT_FEET
diff --git a/code/modules/mob/living/carbon/human/life.dm b/code/modules/mob/living/carbon/human/life.dm
index 65269a4b5d4..9b208888f95 100644
--- a/code/modules/mob/living/carbon/human/life.dm
+++ b/code/modules/mob/living/carbon/human/life.dm
@@ -160,7 +160,7 @@
if (prob(10))
stuttering = max(10, stuttering)
if (getBrainLoss() >= 60 && stat != 2)
- if (prob(7))
+ if (prob(3))
switch(pick(1,2,3))
if(1)
say(pick("IM A PONY NEEEEEEIIIIIIIIIGH", "without oxigen blob don't evoluate?", "CAPTAINS A COMDOM", "[pick("", "that faggot traitor")] [pick("joerge", "george", "gorge", "gdoruge")] [pick("mellens", "melons", "mwrlins")] is grifing me HAL;P!!!", "can u give me [pick("telikesis","halk","eppilapse")]?", "THe saiyans screwed", "Bi is THE BEST OF BOTH WORLDS>", "I WANNA PET TEH monkeyS", "stop grifing me!!!!", "SOTP IT#"))
@@ -209,12 +209,8 @@
emote("collapse")
if ((HULK in mutations) && health >= 25)
- if (prob(7))
- switch(pick(1,2))
- if(1)
- say(pick("HGH!", "PROTEIN!", "OH YEAH!", "HULK SMASH!", "HULK NOT LIKE BOOKS!", "HNNNNNNNNNGGGGGGH!", ))
- if(2)
- emote("flexes")
+ if (prob(3))
+ say(pick("HGH!", "PROTEIN!", "OH YEAH!", "HULK SMASH!", "HULK NOT LIKE BOOKS!", "HNNNNNNNNNGGGGGGH!", ))
if (radiation)
if (radiation > 100)
radiation = 100
diff --git a/code/modules/mob/living/carbon/human/say.dm b/code/modules/mob/living/carbon/human/say.dm
index 085c21f29c0..7987a09966e 100644
--- a/code/modules/mob/living/carbon/human/say.dm
+++ b/code/modules/mob/living/carbon/human/say.dm
@@ -72,7 +72,7 @@
if ((HULK in mutations) && health >= 25)
if(copytext(message, 1, 2) != "*")
- message = uppertext(message) //because I don't know how to code properly in getting vars from other files -Bro
+ message = "[uppertext(message)]!!" //because I don't know how to code properly in getting vars from other files -Bro
//Ninja mask obscures text and voice if set to do so.
//Would make it more global but it's sort of ninja specific.
diff --git a/code/modules/reagents/Chemistry-Holder.dm b/code/modules/reagents/Chemistry-Holder.dm
index b9810e882af..d8083f39b16 100644
--- a/code/modules/reagents/Chemistry-Holder.dm
+++ b/code/modules/reagents/Chemistry-Holder.dm
@@ -334,12 +334,13 @@ datum
else R.reaction_obj(A, R.volume+volume_modifier)
return
- add_reagent(var/reagent, var/amount, var/data=null)
+ add_reagent(var/reagent, var/amount, var/list/data=null)
if(!isnum(amount)) return 1
update_total()
if(total_volume + amount > maximum_volume) amount = (maximum_volume - total_volume) //Doesnt fit in. Make it disappear. Shouldnt happen. Will happen.
for(var/A in reagent_list)
+
var/datum/reagent/R = A
if (R.id == reagent)
R.volume += amount
@@ -349,30 +350,40 @@ datum
// mix dem viruses
if(R.id == "blood" && reagent == "blood")
if(R.data && data)
- if((R.data && R.data["viruses"]) || (data && data["viruses"]))
- R.data["viruses"] |= data["viruses"]
- var/datum/disease/advance/AD = Advance_Mix(R.data["viruses"])
+ if(R.data["viruses"] && data["viruses"])
+ var/list/mix1 = R.data["viruses"]
+ var/list/mix2 = data["viruses"]
+
+ // Stop issues with the list changing during mixing.
+ var/list/to_mix = list()
+
+ 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)
- for(var/datum/disease/advance/D in R.data["viruses"])
- R.data["viruses"] -= D
-
- R.data["viruses"] |= new/datum/disease/advance(0, AD)
-
-
-
+ var/list/preserve = list(AD)
+ for(var/D in R.data["viruses"])
+ if(!istype(D, /datum/disease/advance))
+ preserve += D
+ R.data["viruses"] = preserve
handle_reactions()
return 0
var/datum/reagent/D = chemical_reagents_list[reagent]
if(D)
+
var/datum/reagent/R = new D.type()
reagent_list += R
R.holder = src
R.volume = amount
- R.data = data
+ SetViruses(R, data) // Includes setting data
+
//debug
//world << "Adding data"
//for(var/D in R.data)
diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm
index 26c1c88dca9..0d94542daac 100644
--- a/code/modules/reagents/Chemistry-Reagents.dm
+++ b/code/modules/reagents/Chemistry-Reagents.dm
@@ -12,7 +12,7 @@ datum
var/description = ""
var/datum/reagents/holder = null
var/reagent_state = SOLID
- var/data = null
+ var/list/data = null
var/volume = 0
var/nutriment_factor = 0
//var/list/viruses = list()
@@ -99,28 +99,18 @@ datum
reaction_mob(var/mob/M, var/method=TOUCH, var/volume)
var/datum/reagent/blood/self = src
src = null
- for(var/datum/disease/D in self.data["viruses"])
- //var/datum/disease/virus = new D.type(0, D, 1)
- // We don't spread.
- if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS) continue
+ if(self.data && self.data["viruses"])
+ for(var/datum/disease/D in self.data["viruses"])
+ //var/datum/disease/virus = new D.type(0, D, 1)
+ // We don't spread.
+ if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS) continue
- if(method == TOUCH)
- M.contract_disease(D)
- else //injected
- M.contract_disease(D, 1, 0)
+ if(method == TOUCH)
+ M.contract_disease(D)
+ else //injected
+ M.contract_disease(D, 1, 0)
- /*
- if(self.data["virus"])
- var/datum/disease/V = self.data["virus"]
- if(M.resistances.Find(V.type)) return
- if(method == TOUCH)//respect all protective clothing...
- M.contract_disease(V)
- else //injected
- M.contract_disease(V, 1, 0)
- return
- */
-
reaction_turf(var/turf/simulated/T, var/volume)//splash the blood all over the place
if(!istype(T)) return
diff --git a/code/modules/reagents/Chemistry-Recipes.dm b/code/modules/reagents/Chemistry-Recipes.dm
index 49da2c1ee7c..ee2c0ad62a0 100644
--- a/code/modules/reagents/Chemistry-Recipes.dm
+++ b/code/modules/reagents/Chemistry-Recipes.dm
@@ -475,9 +475,28 @@ datum
mix_virus_2
- required_reagents = list("blood" = 5, "mutagen" = 5)
+ name = "Mix Virus 2"
+ id = "mixvirus2"
+ required_reagents = list("blood" = 1, "mutagen" = 5)
level = 4
+ rem_virus
+
+ name = "Devolve Virus"
+ id = "remvirus"
+ required_reagents = list("blood" = 1, "synaptizine" = 5)
+
+ on_reaction(var/datum/reagents/holder, var/created_volume)
+
+ var/datum/reagent/blood/B = locate(/datum/reagent/blood) in holder.reagent_list
+ if(B && B.data)
+ var/datum/disease/advance/D = locate(/datum/disease/advance) in B.data["viruses"]
+ if(D)
+ D.Devolve()
+ holder.del_reagent(id)
+
+
+
///////////////////////////////////////////////////////////////////////////////////
// foam and foam precursor
diff --git a/code/modules/reagents/reagent_containers/syringes.dm b/code/modules/reagents/reagent_containers/syringes.dm
index a1f2edf4320..703585eaa17 100644
--- a/code/modules/reagents/reagent_containers/syringes.dm
+++ b/code/modules/reagents/reagent_containers/syringes.dm
@@ -91,7 +91,7 @@
B.data["viruses"] = list()
- B.data["viruses"] += new D.type(D)
+ B.data["viruses"] += new D.type(0, D, 1)
B.data["blood_DNA"] = copytext(T.dna.unique_enzymes,1,0)
diff --git a/html/changelog.html b/html/changelog.html
index e58d0b6a58e..c188f18d6ca 100644
--- a/html/changelog.html
+++ b/html/changelog.html
@@ -48,6 +48,17 @@ Stuff which is in development and not yet visible to players or just code relate
should be listed in the changelog upon commit tho. Thanks. -->
+
+
13 November 2012
+
Giacom updated:
+
+ - More work to advance diseases. Please report any bugs to the bug tracker, I have tried everything that I can on my own but I'll need lots of people playing to fix the more minor bugs.
+ - Reduced the cost to use Hive Absorb from 40 to 20. This is to help encourage people to use this power more and to use team work.
+ - New symptom added! See if you can find it.
+ - You can now remove symptoms from a disease using synaptizine.
+
+
+
11 November 2012
Carn updated:
diff --git a/tgstation.dme b/tgstation.dme
index d7cdfd4d81c..c5a7c2d3b5f 100644
--- a/tgstation.dme
+++ b/tgstation.dme
@@ -6,509 +6,6 @@
// BEGIN_FILE_DIR
#define FILE_DIR .
-#define FILE_DIR ".svn"
-#define FILE_DIR ".svn/pristine"
-#define FILE_DIR ".svn/pristine/00"
-#define FILE_DIR ".svn/pristine/01"
-#define FILE_DIR ".svn/pristine/02"
-#define FILE_DIR ".svn/pristine/03"
-#define FILE_DIR ".svn/pristine/04"
-#define FILE_DIR ".svn/pristine/05"
-#define FILE_DIR ".svn/pristine/06"
-#define FILE_DIR ".svn/pristine/07"
-#define FILE_DIR ".svn/pristine/08"
-#define FILE_DIR ".svn/pristine/09"
-#define FILE_DIR ".svn/pristine/0a"
-#define FILE_DIR ".svn/pristine/0b"
-#define FILE_DIR ".svn/pristine/0c"
-#define FILE_DIR ".svn/pristine/0d"
-#define FILE_DIR ".svn/pristine/0e"
-#define FILE_DIR ".svn/pristine/0f"
-#define FILE_DIR ".svn/pristine/10"
-#define FILE_DIR ".svn/pristine/11"
-#define FILE_DIR ".svn/pristine/12"
-#define FILE_DIR ".svn/pristine/13"
-#define FILE_DIR ".svn/pristine/14"
-#define FILE_DIR ".svn/pristine/15"
-#define FILE_DIR ".svn/pristine/16"
-#define FILE_DIR ".svn/pristine/17"
-#define FILE_DIR ".svn/pristine/18"
-#define FILE_DIR ".svn/pristine/19"
-#define FILE_DIR ".svn/pristine/1a"
-#define FILE_DIR ".svn/pristine/1b"
-#define FILE_DIR ".svn/pristine/1c"
-#define FILE_DIR ".svn/pristine/1d"
-#define FILE_DIR ".svn/pristine/1e"
-#define FILE_DIR ".svn/pristine/1f"
-#define FILE_DIR ".svn/pristine/20"
-#define FILE_DIR ".svn/pristine/21"
-#define FILE_DIR ".svn/pristine/22"
-#define FILE_DIR ".svn/pristine/23"
-#define FILE_DIR ".svn/pristine/24"
-#define FILE_DIR ".svn/pristine/25"
-#define FILE_DIR ".svn/pristine/26"
-#define FILE_DIR ".svn/pristine/27"
-#define FILE_DIR ".svn/pristine/28"
-#define FILE_DIR ".svn/pristine/29"
-#define FILE_DIR ".svn/pristine/2a"
-#define FILE_DIR ".svn/pristine/2b"
-#define FILE_DIR ".svn/pristine/2c"
-#define FILE_DIR ".svn/pristine/2d"
-#define FILE_DIR ".svn/pristine/2e"
-#define FILE_DIR ".svn/pristine/2f"
-#define FILE_DIR ".svn/pristine/30"
-#define FILE_DIR ".svn/pristine/31"
-#define FILE_DIR ".svn/pristine/32"
-#define FILE_DIR ".svn/pristine/33"
-#define FILE_DIR ".svn/pristine/34"
-#define FILE_DIR ".svn/pristine/35"
-#define FILE_DIR ".svn/pristine/36"
-#define FILE_DIR ".svn/pristine/37"
-#define FILE_DIR ".svn/pristine/38"
-#define FILE_DIR ".svn/pristine/39"
-#define FILE_DIR ".svn/pristine/3a"
-#define FILE_DIR ".svn/pristine/3b"
-#define FILE_DIR ".svn/pristine/3c"
-#define FILE_DIR ".svn/pristine/3d"
-#define FILE_DIR ".svn/pristine/3e"
-#define FILE_DIR ".svn/pristine/3f"
-#define FILE_DIR ".svn/pristine/40"
-#define FILE_DIR ".svn/pristine/41"
-#define FILE_DIR ".svn/pristine/42"
-#define FILE_DIR ".svn/pristine/43"
-#define FILE_DIR ".svn/pristine/44"
-#define FILE_DIR ".svn/pristine/45"
-#define FILE_DIR ".svn/pristine/46"
-#define FILE_DIR ".svn/pristine/47"
-#define FILE_DIR ".svn/pristine/48"
-#define FILE_DIR ".svn/pristine/49"
-#define FILE_DIR ".svn/pristine/4a"
-#define FILE_DIR ".svn/pristine/4b"
-#define FILE_DIR ".svn/pristine/4c"
-#define FILE_DIR ".svn/pristine/4d"
-#define FILE_DIR ".svn/pristine/4e"
-#define FILE_DIR ".svn/pristine/4f"
-#define FILE_DIR ".svn/pristine/50"
-#define FILE_DIR ".svn/pristine/51"
-#define FILE_DIR ".svn/pristine/52"
-#define FILE_DIR ".svn/pristine/53"
-#define FILE_DIR ".svn/pristine/54"
-#define FILE_DIR ".svn/pristine/55"
-#define FILE_DIR ".svn/pristine/56"
-#define FILE_DIR ".svn/pristine/57"
-#define FILE_DIR ".svn/pristine/58"
-#define FILE_DIR ".svn/pristine/59"
-#define FILE_DIR ".svn/pristine/5a"
-#define FILE_DIR ".svn/pristine/5b"
-#define FILE_DIR ".svn/pristine/5c"
-#define FILE_DIR ".svn/pristine/5d"
-#define FILE_DIR ".svn/pristine/5e"
-#define FILE_DIR ".svn/pristine/5f"
-#define FILE_DIR ".svn/pristine/60"
-#define FILE_DIR ".svn/pristine/61"
-#define FILE_DIR ".svn/pristine/62"
-#define FILE_DIR ".svn/pristine/63"
-#define FILE_DIR ".svn/pristine/64"
-#define FILE_DIR ".svn/pristine/65"
-#define FILE_DIR ".svn/pristine/66"
-#define FILE_DIR ".svn/pristine/67"
-#define FILE_DIR ".svn/pristine/68"
-#define FILE_DIR ".svn/pristine/69"
-#define FILE_DIR ".svn/pristine/6a"
-#define FILE_DIR ".svn/pristine/6b"
-#define FILE_DIR ".svn/pristine/6c"
-#define FILE_DIR ".svn/pristine/6d"
-#define FILE_DIR ".svn/pristine/6e"
-#define FILE_DIR ".svn/pristine/6f"
-#define FILE_DIR ".svn/pristine/70"
-#define FILE_DIR ".svn/pristine/71"
-#define FILE_DIR ".svn/pristine/72"
-#define FILE_DIR ".svn/pristine/73"
-#define FILE_DIR ".svn/pristine/74"
-#define FILE_DIR ".svn/pristine/75"
-#define FILE_DIR ".svn/pristine/76"
-#define FILE_DIR ".svn/pristine/77"
-#define FILE_DIR ".svn/pristine/78"
-#define FILE_DIR ".svn/pristine/79"
-#define FILE_DIR ".svn/pristine/7a"
-#define FILE_DIR ".svn/pristine/7b"
-#define FILE_DIR ".svn/pristine/7c"
-#define FILE_DIR ".svn/pristine/7d"
-#define FILE_DIR ".svn/pristine/7e"
-#define FILE_DIR ".svn/pristine/7f"
-#define FILE_DIR ".svn/pristine/80"
-#define FILE_DIR ".svn/pristine/81"
-#define FILE_DIR ".svn/pristine/82"
-#define FILE_DIR ".svn/pristine/83"
-#define FILE_DIR ".svn/pristine/84"
-#define FILE_DIR ".svn/pristine/85"
-#define FILE_DIR ".svn/pristine/86"
-#define FILE_DIR ".svn/pristine/87"
-#define FILE_DIR ".svn/pristine/88"
-#define FILE_DIR ".svn/pristine/89"
-#define FILE_DIR ".svn/pristine/8a"
-#define FILE_DIR ".svn/pristine/8b"
-#define FILE_DIR ".svn/pristine/8c"
-#define FILE_DIR ".svn/pristine/8d"
-#define FILE_DIR ".svn/pristine/8e"
-#define FILE_DIR ".svn/pristine/8f"
-#define FILE_DIR ".svn/pristine/90"
-#define FILE_DIR ".svn/pristine/91"
-#define FILE_DIR ".svn/pristine/92"
-#define FILE_DIR ".svn/pristine/93"
-#define FILE_DIR ".svn/pristine/94"
-#define FILE_DIR ".svn/pristine/95"
-#define FILE_DIR ".svn/pristine/96"
-#define FILE_DIR ".svn/pristine/97"
-#define FILE_DIR ".svn/pristine/98"
-#define FILE_DIR ".svn/pristine/99"
-#define FILE_DIR ".svn/pristine/9a"
-#define FILE_DIR ".svn/pristine/9b"
-#define FILE_DIR ".svn/pristine/9c"
-#define FILE_DIR ".svn/pristine/9d"
-#define FILE_DIR ".svn/pristine/9e"
-#define FILE_DIR ".svn/pristine/9f"
-#define FILE_DIR ".svn/pristine/a0"
-#define FILE_DIR ".svn/pristine/a1"
-#define FILE_DIR ".svn/pristine/a2"
-#define FILE_DIR ".svn/pristine/a3"
-#define FILE_DIR ".svn/pristine/a4"
-#define FILE_DIR ".svn/pristine/a5"
-#define FILE_DIR ".svn/pristine/a6"
-#define FILE_DIR ".svn/pristine/a7"
-#define FILE_DIR ".svn/pristine/a8"
-#define FILE_DIR ".svn/pristine/a9"
-#define FILE_DIR ".svn/pristine/aa"
-#define FILE_DIR ".svn/pristine/ab"
-#define FILE_DIR ".svn/pristine/ac"
-#define FILE_DIR ".svn/pristine/ad"
-#define FILE_DIR ".svn/pristine/ae"
-#define FILE_DIR ".svn/pristine/af"
-#define FILE_DIR ".svn/pristine/b0"
-#define FILE_DIR ".svn/pristine/b1"
-#define FILE_DIR ".svn/pristine/b2"
-#define FILE_DIR ".svn/pristine/b3"
-#define FILE_DIR ".svn/pristine/b4"
-#define FILE_DIR ".svn/pristine/b5"
-#define FILE_DIR ".svn/pristine/b6"
-#define FILE_DIR ".svn/pristine/b7"
-#define FILE_DIR ".svn/pristine/b8"
-#define FILE_DIR ".svn/pristine/b9"
-#define FILE_DIR ".svn/pristine/ba"
-#define FILE_DIR ".svn/pristine/bb"
-#define FILE_DIR ".svn/pristine/bc"
-#define FILE_DIR ".svn/pristine/bd"
-#define FILE_DIR ".svn/pristine/be"
-#define FILE_DIR ".svn/pristine/bf"
-#define FILE_DIR ".svn/pristine/c0"
-#define FILE_DIR ".svn/pristine/c1"
-#define FILE_DIR ".svn/pristine/c2"
-#define FILE_DIR ".svn/pristine/c3"
-#define FILE_DIR ".svn/pristine/c4"
-#define FILE_DIR ".svn/pristine/c5"
-#define FILE_DIR ".svn/pristine/c6"
-#define FILE_DIR ".svn/pristine/c7"
-#define FILE_DIR ".svn/pristine/c8"
-#define FILE_DIR ".svn/pristine/c9"
-#define FILE_DIR ".svn/pristine/ca"
-#define FILE_DIR ".svn/pristine/cb"
-#define FILE_DIR ".svn/pristine/cc"
-#define FILE_DIR ".svn/pristine/cd"
-#define FILE_DIR ".svn/pristine/ce"
-#define FILE_DIR ".svn/pristine/cf"
-#define FILE_DIR ".svn/pristine/d0"
-#define FILE_DIR ".svn/pristine/d1"
-#define FILE_DIR ".svn/pristine/d2"
-#define FILE_DIR ".svn/pristine/d3"
-#define FILE_DIR ".svn/pristine/d4"
-#define FILE_DIR ".svn/pristine/d5"
-#define FILE_DIR ".svn/pristine/d6"
-#define FILE_DIR ".svn/pristine/d7"
-#define FILE_DIR ".svn/pristine/d8"
-#define FILE_DIR ".svn/pristine/d9"
-#define FILE_DIR ".svn/pristine/da"
-#define FILE_DIR ".svn/pristine/db"
-#define FILE_DIR ".svn/pristine/dc"
-#define FILE_DIR ".svn/pristine/dd"
-#define FILE_DIR ".svn/pristine/de"
-#define FILE_DIR ".svn/pristine/df"
-#define FILE_DIR ".svn/pristine/e0"
-#define FILE_DIR ".svn/pristine/e1"
-#define FILE_DIR ".svn/pristine/e2"
-#define FILE_DIR ".svn/pristine/e3"
-#define FILE_DIR ".svn/pristine/e4"
-#define FILE_DIR ".svn/pristine/e5"
-#define FILE_DIR ".svn/pristine/e6"
-#define FILE_DIR ".svn/pristine/e7"
-#define FILE_DIR ".svn/pristine/e8"
-#define FILE_DIR ".svn/pristine/e9"
-#define FILE_DIR ".svn/pristine/ea"
-#define FILE_DIR ".svn/pristine/eb"
-#define FILE_DIR ".svn/pristine/ec"
-#define FILE_DIR ".svn/pristine/ed"
-#define FILE_DIR ".svn/pristine/ee"
-#define FILE_DIR ".svn/pristine/ef"
-#define FILE_DIR ".svn/pristine/f0"
-#define FILE_DIR ".svn/pristine/f1"
-#define FILE_DIR ".svn/pristine/f2"
-#define FILE_DIR ".svn/pristine/f3"
-#define FILE_DIR ".svn/pristine/f4"
-#define FILE_DIR ".svn/pristine/f5"
-#define FILE_DIR ".svn/pristine/f6"
-#define FILE_DIR ".svn/pristine/f7"
-#define FILE_DIR ".svn/pristine/f8"
-#define FILE_DIR ".svn/pristine/f9"
-#define FILE_DIR ".svn/pristine/fa"
-#define FILE_DIR ".svn/pristine/fb"
-#define FILE_DIR ".svn/pristine/fc"
-#define FILE_DIR ".svn/pristine/fd"
-#define FILE_DIR ".svn/pristine/fe"
-#define FILE_DIR ".svn/pristine/ff"
-#define FILE_DIR "bot"
-#define FILE_DIR "bot/Marakov"
-#define FILE_DIR "code"
-#define FILE_DIR "code/__HELPERS"
-#define FILE_DIR "code/ATMOSPHERICS"
-#define FILE_DIR "code/ATMOSPHERICS/components"
-#define FILE_DIR "code/ATMOSPHERICS/components/binary_devices"
-#define FILE_DIR "code/ATMOSPHERICS/components/trinary_devices"
-#define FILE_DIR "code/ATMOSPHERICS/components/unary"
-#define FILE_DIR "code/controllers"
-#define FILE_DIR "code/datums"
-#define FILE_DIR "code/datums/diseases"
-#define FILE_DIR "code/datums/diseases/advance"
-#define FILE_DIR "code/datums/diseases/advance/symptoms"
-#define FILE_DIR "code/datums/helper_datums"
-#define FILE_DIR "code/datums/organs"
-#define FILE_DIR "code/datums/spells"
-#define FILE_DIR "code/defines"
-#define FILE_DIR "code/defines/obj"
-#define FILE_DIR "code/defines/procs"
-#define FILE_DIR "code/FEA"
-#define FILE_DIR "code/game"
-#define FILE_DIR "code/game/area"
-#define FILE_DIR "code/game/gamemodes"
-#define FILE_DIR "code/game/gamemodes/blob"
-#define FILE_DIR "code/game/gamemodes/blob/blobs"
-#define FILE_DIR "code/game/gamemodes/changeling"
-#define FILE_DIR "code/game/gamemodes/cult"
-#define FILE_DIR "code/game/gamemodes/events"
-#define FILE_DIR "code/game/gamemodes/events/holidays"
-#define FILE_DIR "code/game/gamemodes/extended"
-#define FILE_DIR "code/game/gamemodes/malfunction"
-#define FILE_DIR "code/game/gamemodes/meteor"
-#define FILE_DIR "code/game/gamemodes/nuclear"
-#define FILE_DIR "code/game/gamemodes/revolution"
-#define FILE_DIR "code/game/gamemodes/sandbox"
-#define FILE_DIR "code/game/gamemodes/traitor"
-#define FILE_DIR "code/game/gamemodes/wizard"
-#define FILE_DIR "code/game/jobs"
-#define FILE_DIR "code/game/jobs/job"
-#define FILE_DIR "code/game/machinery"
-#define FILE_DIR "code/game/machinery/atmoalter"
-#define FILE_DIR "code/game/machinery/bots"
-#define FILE_DIR "code/game/machinery/camera"
-#define FILE_DIR "code/game/machinery/computer"
-#define FILE_DIR "code/game/machinery/doors"
-#define FILE_DIR "code/game/machinery/embedded_controller"
-#define FILE_DIR "code/game/machinery/kitchen"
-#define FILE_DIR "code/game/machinery/pipe"
-#define FILE_DIR "code/game/machinery/telecomms"
-#define FILE_DIR "code/game/mecha"
-#define FILE_DIR "code/game/mecha/combat"
-#define FILE_DIR "code/game/mecha/equipment"
-#define FILE_DIR "code/game/mecha/equipment/tools"
-#define FILE_DIR "code/game/mecha/equipment/weapons"
-#define FILE_DIR "code/game/mecha/medical"
-#define FILE_DIR "code/game/mecha/working"
-#define FILE_DIR "code/game/objects"
-#define FILE_DIR "code/game/objects/effects"
-#define FILE_DIR "code/game/objects/effects/decals"
-#define FILE_DIR "code/game/objects/effects/decals/Cleanable"
-#define FILE_DIR "code/game/objects/effects/spawners"
-#define FILE_DIR "code/game/objects/items"
-#define FILE_DIR "code/game/objects/items/devices"
-#define FILE_DIR "code/game/objects/items/devices/PDA"
-#define FILE_DIR "code/game/objects/items/devices/radio"
-#define FILE_DIR "code/game/objects/items/robot"
-#define FILE_DIR "code/game/objects/items/stacks"
-#define FILE_DIR "code/game/objects/items/stacks/sheets"
-#define FILE_DIR "code/game/objects/items/stacks/tiles"
-#define FILE_DIR "code/game/objects/items/weapons"
-#define FILE_DIR "code/game/objects/items/weapons/grenades"
-#define FILE_DIR "code/game/objects/items/weapons/implants"
-#define FILE_DIR "code/game/objects/items/weapons/secstorage"
-#define FILE_DIR "code/game/objects/items/weapons/storage"
-#define FILE_DIR "code/game/objects/items/weapons/tanks"
-#define FILE_DIR "code/game/objects/structures"
-#define FILE_DIR "code/game/objects/structures/crates_lockers"
-#define FILE_DIR "code/game/objects/structures/crates_lockers/closets"
-#define FILE_DIR "code/game/objects/structures/crates_lockers/closets/secure"
-#define FILE_DIR "code/game/objects/structures/stool_bed_chair_nest"
-#define FILE_DIR "code/game/turfs"
-#define FILE_DIR "code/game/turfs/simulated"
-#define FILE_DIR "code/game/turfs/space"
-#define FILE_DIR "code/game/turfs/unsimulated"
-#define FILE_DIR "code/game/vehicles"
-#define FILE_DIR "code/game/vehicles/airtight"
-#define FILE_DIR "code/game/verbs"
-#define FILE_DIR "code/js"
-#define FILE_DIR "code/modules"
-#define FILE_DIR "code/modules/admin"
-#define FILE_DIR "code/modules/admin/DB ban"
-#define FILE_DIR "code/modules/admin/permissionverbs"
-#define FILE_DIR "code/modules/admin/verbs"
-#define FILE_DIR "code/modules/assembly"
-#define FILE_DIR "code/modules/awaymissions"
-#define FILE_DIR "code/modules/awaymissions/maploader"
-#define FILE_DIR "code/modules/client"
-#define FILE_DIR "code/modules/clothing"
-#define FILE_DIR "code/modules/clothing/glasses"
-#define FILE_DIR "code/modules/clothing/gloves"
-#define FILE_DIR "code/modules/clothing/head"
-#define FILE_DIR "code/modules/clothing/masks"
-#define FILE_DIR "code/modules/clothing/shoes"
-#define FILE_DIR "code/modules/clothing/spacesuits"
-#define FILE_DIR "code/modules/clothing/suits"
-#define FILE_DIR "code/modules/clothing/under"
-#define FILE_DIR "code/modules/clothing/under/jobs"
-#define FILE_DIR "code/modules/critters"
-#define FILE_DIR "code/modules/critters/hivebots"
-#define FILE_DIR "code/modules/detectivework"
-#define FILE_DIR "code/modules/flufftext"
-#define FILE_DIR "code/modules/food"
-#define FILE_DIR "code/modules/library"
-#define FILE_DIR "code/modules/liquid"
-#define FILE_DIR "code/modules/mining"
-#define FILE_DIR "code/modules/mob"
-#define FILE_DIR "code/modules/mob/dead"
-#define FILE_DIR "code/modules/mob/dead/observer"
-#define FILE_DIR "code/modules/mob/living"
-#define FILE_DIR "code/modules/mob/living/blob"
-#define FILE_DIR "code/modules/mob/living/carbon"
-#define FILE_DIR "code/modules/mob/living/carbon/alien"
-#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid"
-#define FILE_DIR "code/modules/mob/living/carbon/alien/humanoid/caste"
-#define FILE_DIR "code/modules/mob/living/carbon/alien/larva"
-#define FILE_DIR "code/modules/mob/living/carbon/alien/special"
-#define FILE_DIR "code/modules/mob/living/carbon/brain"
-#define FILE_DIR "code/modules/mob/living/carbon/human"
-#define FILE_DIR "code/modules/mob/living/carbon/metroid"
-#define FILE_DIR "code/modules/mob/living/carbon/monkey"
-#define FILE_DIR "code/modules/mob/living/silicon"
-#define FILE_DIR "code/modules/mob/living/silicon/ai"
-#define FILE_DIR "code/modules/mob/living/silicon/ai/freelook"
-#define FILE_DIR "code/modules/mob/living/silicon/decoy"
-#define FILE_DIR "code/modules/mob/living/silicon/pai"
-#define FILE_DIR "code/modules/mob/living/silicon/robot"
-#define FILE_DIR "code/modules/mob/living/simple_animal"
-#define FILE_DIR "code/modules/mob/living/simple_animal/friendly"
-#define FILE_DIR "code/modules/mob/living/simple_animal/hostile"
-#define FILE_DIR "code/modules/mob/new_player"
-#define FILE_DIR "code/modules/paperwork"
-#define FILE_DIR "code/modules/power"
-#define FILE_DIR "code/modules/power/antimatter"
-#define FILE_DIR "code/modules/power/singularity"
-#define FILE_DIR "code/modules/power/singularity/particle_accelerator"
-#define FILE_DIR "code/modules/projectiles"
-#define FILE_DIR "code/modules/projectiles/ammunition"
-#define FILE_DIR "code/modules/projectiles/guns"
-#define FILE_DIR "code/modules/projectiles/guns/energy"
-#define FILE_DIR "code/modules/projectiles/guns/projectile"
-#define FILE_DIR "code/modules/projectiles/projectile"
-#define FILE_DIR "code/modules/reagents"
-#define FILE_DIR "code/modules/reagents/reagent_containers"
-#define FILE_DIR "code/modules/reagents/reagent_containers/food"
-#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks"
-#define FILE_DIR "code/modules/reagents/reagent_containers/food/drinks/bottle"
-#define FILE_DIR "code/modules/reagents/reagent_containers/food/snacks"
-#define FILE_DIR "code/modules/reagents/reagent_containers/glass"
-#define FILE_DIR "code/modules/reagents/reagent_containers/glass/bottle"
-#define FILE_DIR "code/modules/recycling"
-#define FILE_DIR "code/modules/research"
-#define FILE_DIR "code/modules/scripting"
-#define FILE_DIR "code/modules/scripting/AST"
-#define FILE_DIR "code/modules/scripting/AST/Operators"
-#define FILE_DIR "code/modules/scripting/Implementations"
-#define FILE_DIR "code/modules/scripting/Interpreter"
-#define FILE_DIR "code/modules/scripting/Parser"
-#define FILE_DIR "code/modules/scripting/Scanner"
-#define FILE_DIR "code/modules/security levels"
-#define FILE_DIR "code/unused"
-#define FILE_DIR "code/unused/beast"
-#define FILE_DIR "code/unused/computer2"
-#define FILE_DIR "code/unused/disease2"
-#define FILE_DIR "code/unused/gamemodes"
-#define FILE_DIR "code/unused/hivebot"
-#define FILE_DIR "code/unused/mining"
-#define FILE_DIR "code/unused/optics"
-#define FILE_DIR "code/unused/pda2"
-#define FILE_DIR "code/unused/powerarmor"
-#define FILE_DIR "code/unused/spacecraft"
-#define FILE_DIR "code/WorkInProgress"
-#define FILE_DIR "code/WorkInProgress/carn"
-#define FILE_DIR "code/WorkInProgress/mapload"
-#define FILE_DIR "code/WorkInProgress/organs"
-#define FILE_DIR "code/WorkInProgress/virus2"
-#define FILE_DIR "config"
-#define FILE_DIR "config/names"
-#define FILE_DIR "data"
-#define FILE_DIR "data/logs"
-#define FILE_DIR "data/logs/2012"
-#define FILE_DIR "data/logs/2012/10-October"
-#define FILE_DIR "data/logs/2012/11-November"
-#define FILE_DIR "data/player_saves"
-#define FILE_DIR "data/player_saves/g"
-#define FILE_DIR "data/player_saves/g/giacomand"
-#define FILE_DIR "html"
-#define FILE_DIR "icons"
-#define FILE_DIR "icons/effects"
-#define FILE_DIR "icons/mecha"
-#define FILE_DIR "icons/misc"
-#define FILE_DIR "icons/mob"
-#define FILE_DIR "icons/obj"
-#define FILE_DIR "icons/obj/assemblies"
-#define FILE_DIR "icons/obj/atmospherics"
-#define FILE_DIR "icons/obj/clothing"
-#define FILE_DIR "icons/obj/doors"
-#define FILE_DIR "icons/obj/machines"
-#define FILE_DIR "icons/obj/pipes"
-#define FILE_DIR "icons/pda_icons"
-#define FILE_DIR "icons/PSD files"
-#define FILE_DIR "icons/spideros_icons"
-#define FILE_DIR "icons/Testing"
-#define FILE_DIR "icons/turf"
-#define FILE_DIR "icons/vehicles"
-#define FILE_DIR "icons/vending_icons"
-#define FILE_DIR "interface"
-#define FILE_DIR "maps"
-#define FILE_DIR "maps/RandomZLevels"
-#define FILE_DIR "music"
-#define FILE_DIR "sound"
-#define FILE_DIR "sound/AI"
-#define FILE_DIR "sound/ambience"
-#define FILE_DIR "sound/effects"
-#define FILE_DIR "sound/hallucinations"
-#define FILE_DIR "sound/items"
-#define FILE_DIR "sound/machines"
-#define FILE_DIR "sound/mecha"
-#define FILE_DIR "sound/misc"
-#define FILE_DIR "sound/piano"
-#define FILE_DIR "sound/violin"
-#define FILE_DIR "sound/voice"
-#define FILE_DIR "sound/weapons"
-#define FILE_DIR "SQL"
-#define FILE_DIR "tools"
-#define FILE_DIR "tools/Redirector"
-#define FILE_DIR "tools/Runtime Condenser"
-#define FILE_DIR "tools/UnstandardnessTestForDM"
-#define FILE_DIR "tools/UnstandardnessTestForDM/UnstandardnessTestForDM"
-#define FILE_DIR "tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin"
-#define FILE_DIR "tools/UnstandardnessTestForDM/UnstandardnessTestForDM/bin/Debug"
-#define FILE_DIR "tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj"
-#define FILE_DIR "tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86"
-#define FILE_DIR "tools/UnstandardnessTestForDM/UnstandardnessTestForDM/obj/x86/Debug"
-#define FILE_DIR "tools/UnstandardnessTestForDM/UnstandardnessTestForDM/Properties"
// END_FILE_DIR
// BEGIN_PREFERENCES
@@ -609,6 +106,7 @@
#include "code\datums\diseases\advance\symptoms\hallucigen.dm"
#include "code\datums\diseases\advance\symptoms\headache.dm"
#include "code\datums\diseases\advance\symptoms\itching.dm"
+#include "code\datums\diseases\advance\symptoms\shivering.dm"
#include "code\datums\diseases\advance\symptoms\sneeze.dm"
#include "code\datums\diseases\advance\symptoms\symptoms.dm"
#include "code\datums\diseases\advance\symptoms\vomit.dm"