diff --git a/code/datums/diseases/advance/symptoms/choking.dm b/code/datums/diseases/advance/symptoms/choking.dm
index ffe25551553..a785bcc3001 100644
--- a/code/datums/diseases/advance/symptoms/choking.dm
+++ b/code/datums/diseases/advance/symptoms/choking.dm
@@ -50,4 +50,66 @@ Bonus
/datum/symptom/choking/proc/Choke(mob/living/M, datum/disease/advance/A)
var/get_damage = sqrt(21+A.totalStageSpeed()*0.5)+sqrt(16+A.totalStealth()*5)
M.adjustOxyLoss(get_damage)
+ return 1
+
+/*
+//////////////////////////////////////
+
+Asphyxiation
+
+ Very very noticable.
+ Decreases stage speed.
+ Decreases transmittablity.
+
+Bonus
+ Inflicts large spikes of oxyloss
+ Introduces Asphyxiating drugs to the system
+ Causes cardiac arrest on dying victims.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/asphyxiation
+
+ name = "Acute respiratory distress syndrome"
+ stealth = -2
+ resistance = -0
+ stage_speed = -1
+ transmittable = -2
+ level = 7
+ severity = 3
+
+/datum/symptom/asphyxiation/Activate(datum/disease/advance/A)
+ ..()
+ if(prob(SYMPTOM_ACTIVATION_PROB))
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(3, 4)
+ M << "[pick("Your windpipe feels thin.", "Your lungs feel small.")]"
+ Asphyxiate_stage_3_4(M, A)
+ M.emote("gasp")
+ else
+ M << "[pick("Your lungs hurt!", "It hurts to breathe!")]"
+ Asphyxiate(M, A)
+ M.emote("gasp")
+ if(M.getOxyLoss() >= 120)
+ M.visible_message("[M] stops breathing, as if their lungs have totally collapsed!")
+ Asphyxiate_death(M, A)
+ return
+
+/datum/symptom/asphyxiation/proc/Asphyxiate_stage_3_4(mob/living/M, datum/disease/advance/A)
+ var/get_damage = sqrt(21+A.totalStageSpeed()*0.7)+sqrt(16+A.totalStealth())
+ M.adjustOxyLoss(get_damage)
+ return 1
+
+/datum/symptom/asphyxiation/proc/Asphyxiate(mob/living/M, datum/disease/advance/A)
+ var/get_damage = sqrt(21+A.totalStageSpeed())+sqrt(16+A.totalStealth()*5)
+ M.adjustOxyLoss(get_damage)
+ M.reagents.add_reagent_list(list("pancuronium" = 2, "sodium_thiopental" = 2))
+ return 1
+
+/datum/symptom/asphyxiation/proc/Asphyxiate_death(mob/living/M, datum/disease/advance/A)
+ var/get_damage = sqrt(21+A.totalStageSpeed()*1.5)+sqrt(16+A.totalStealth()*7)
+ M.adjustOxyLoss(get_damage)
+ M.adjustBrainLoss(get_damage/2)
return 1
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/damage_converter.dm b/code/datums/diseases/advance/symptoms/damage_converter.dm
index c6b4f0a87d0..ba315278a20 100644
--- a/code/datums/diseases/advance/symptoms/damage_converter.dm
+++ b/code/datums/diseases/advance/symptoms/damage_converter.dm
@@ -59,6 +59,62 @@ Bonus
return 1
+/*
+//////////////////////////////////////
+Damage Converter (uranium)
+ Less Stealth easier to work with.
+ Lowers resistance.
+ Decreases stage speed.
+ Uranium only
+Bonus
+ Slowly converts brute/fire damage to toxin even faster without limb compensation
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/damage_converter_uranium
+
+ name = "Toxic metabolism"
+ stealth = 0
+ resistance = -2
+ stage_speed = -2
+ transmittable = 0
+ level = 7
+
+/datum/symptom/damage_converter_uranium/Activate(datum/disease/advance/A)
+ ..()
+ if(prob(SYMPTOM_ACTIVATION_PROB * 15))
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(4, 5)
+ Convert(M)
+ return
+
+/datum/symptom/damage_converter_uranium/proc/Convert(mob/living/M)
+
+ var/get_damage = rand(1, 2)
+
+ if(istype(M, /mob/living/carbon/human))
+ var/mob/living/carbon/human/H = M
+
+ var/list/parts = H.get_damaged_bodyparts(1,1)
+
+ if(!parts.len)
+ return
+
+ for(var/obj/item/bodypart/L in parts)
+ L.heal_damage(get_damage, get_damage, 0)
+ M.adjustToxLoss(get_damage)
+
+ else
+ if(M.getFireLoss() > 0 || M.getBruteLoss() > 0)
+ M.adjustFireLoss(-get_damage)
+ M.adjustBruteLoss(-get_damage)
+ M.adjustToxLoss(get_damage)
+ else
+ return
+
+ return 1
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/fire.dm b/code/datums/diseases/advance/symptoms/fire.dm
index ea805861082..087abdd62aa 100644
--- a/code/datums/diseases/advance/symptoms/fire.dm
+++ b/code/datums/diseases/advance/symptoms/fire.dm
@@ -54,4 +54,69 @@ Bonus
var/get_stacks = (sqrt(20+A.totalStageSpeed()*3))-(sqrt(16+A.totalStealth()))
M.adjust_fire_stacks(get_stacks)
M.adjustFireLoss(get_stacks)
+ return 1
+
+/*
+//////////////////////////////////////
+
+Alkali perspiration
+
+ Hidden.
+ Lowers resistance.
+ Decreases stage speed.
+ Decreases transmittablity.
+ Fatal Level.
+
+Bonus
+ Ignites infected mob.
+ Explodes mob on contact with water.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/alkali
+
+ name = "Alkali perspiration"
+ stealth = 2
+ resistance = -2
+ stage_speed = -2
+ transmittable = -2
+ level = 7
+ severity = 6
+
+/datum/symptom/alkali/Activate(datum/disease/advance/A)
+ ..()
+ if(prob(SYMPTOM_ACTIVATION_PROB))
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(3)
+ M << "[pick("Your veins boil.", "You feel hot.", "You smell meat cooking.")]"
+ if(4)
+ Alkali_fire_stage_4(M, A)
+ M.IgniteMob()
+ M << "Your sweat bursts into flames!"
+ M.emote("scream")
+ if(5)
+ Alkali_fire_stage_5(M, A)
+ M.IgniteMob()
+ M << "Your skin erupts into an inferno!"
+ M.emote("scream")
+ if(M.fire_stacks < 0)
+ M.visible_message("[M]'s sweat sizzles and pops on contact with water!")
+ explosion(M.loc,0,0,2)
+ Alkali_fire_stage_5(M, A)
+ return
+
+/datum/symptom/alkali/proc/Alkali_fire_stage_4(mob/living/M, datum/disease/advance/A)
+ var/get_stacks = (sqrt(20+A.totalStageSpeed()*5))
+ M.adjust_fire_stacks(get_stacks)
+ M.adjustFireLoss(get_stacks/2)
+ M.reagents.add_reagent("clf3", 1)
+ return 1
+
+/datum/symptom/alkali/proc/Alkali_fire_stage_5(mob/living/M, datum/disease/advance/A)
+ var/get_stacks = (sqrt(20+A.totalStageSpeed()*8))
+ M.adjust_fire_stacks(get_stacks)
+ M.adjustFireLoss(get_stacks)
+ M.reagents.add_reagent_list(list("napalm" = 3, "clf3" = 3))
return 1
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/flesh_eating.dm b/code/datums/diseases/advance/symptoms/flesh_eating.dm
index 462d5f333a2..77904433cfb 100644
--- a/code/datums/diseases/advance/symptoms/flesh_eating.dm
+++ b/code/datums/diseases/advance/symptoms/flesh_eating.dm
@@ -40,4 +40,49 @@ Bonus
/datum/symptom/flesh_eating/proc/Flesheat(mob/living/M, datum/disease/advance/A)
var/get_damage = ((sqrt(16-A.totalStealth()))*5)
M.adjustBruteLoss(get_damage)
+ return 1
+
+/*
+//////////////////////////////////////
+
+Autophagocytosis (AKA Programmed mass cell death)
+
+ Very noticable.
+ Lowers resistance.
+ Fast stage speed.
+ Decreases transmittablity.
+ Fatal Level.
+
+Bonus
+ Deals brute damage over time.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/flesh_death
+
+ name = "Autophagocytosis Necrosis"
+ stealth = -2
+ resistance = -2
+ stage_speed = 1
+ transmittable = -2
+ level = 7
+ severity = 6
+
+/datum/symptom/flesh_death/Activate(datum/disease/advance/A)
+ ..()
+ if(prob(SYMPTOM_ACTIVATION_PROB))
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(2,3)
+ M << "[pick("You feel your body break apart.", "Your skin rubs off like dust.")]"
+ if(4,5)
+ M << "[pick("You feel your muscles weakening.", "Your skin begins detaching itself.", "You feel sandy.")]"
+ Flesh_death(M, A)
+ return
+
+/datum/symptom/flesh_death/proc/Flesh_death(mob/living/M, datum/disease/advance/A)
+ var/get_damage = ((sqrt(16-A.totalStealth()))*6)
+ M.adjustBruteLoss(get_damage)
+ M.reagents.add_reagent_list(list("heparin" = 5, "lipolicide" = 5))
return 1
\ No newline at end of file
diff --git a/code/datums/diseases/advance/symptoms/heal.dm b/code/datums/diseases/advance/symptoms/heal.dm
index 9622f9246d7..ed98544b26d 100644
--- a/code/datums/diseases/advance/symptoms/heal.dm
+++ b/code/datums/diseases/advance/symptoms/heal.dm
@@ -41,6 +41,45 @@ Bonus
/*
//////////////////////////////////////
+Apoptosis
+
+ Lowers resistance.
+ Decreases stage speed.
+ Decreases transmittablity.
+
+Bonus
+ Heals toxins in the affected mob's blood stream faster.
+
+//////////////////////////////////////
+*/
+
+/datum/symptom/aptx
+
+ name = "Apoptoxin filter"
+ stealth = 0
+ resistance = -2
+ stage_speed = -2
+ transmittable = -2
+ level = 8
+
+/datum/symptom/aptx/Activate(datum/disease/advance/A)
+ ..()
+ if(prob(SYMPTOM_ACTIVATION_PROB * 10))
+ var/mob/living/M = A.affected_mob
+ switch(A.stage)
+ if(4, 5)
+ Apoptosis(M, A)
+ return
+
+/datum/symptom/aptx/proc/Apoptosis(mob/living/M, datum/disease/advance/A)
+ var/get_damage = (sqrt(20+A.totalStageSpeed())*(2+rand()))
+ M.adjustToxLoss(-get_damage)
+ return 1
+
+
+/*
+//////////////////////////////////////
+
Metabolism
Little bit hidden.
diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm
index f8aa4d08d30..db9c21bdcb3 100644
--- a/code/modules/reagents/chemistry/recipes/others.dm
+++ b/code/modules/reagents/chemistry/recipes/others.dm
@@ -175,6 +175,34 @@
required_reagents = list("salglu_solution" = 1, "mutagenvirusfood" = 1)
result_amount = 2
+/datum/chemical_reaction/virus_food_uranium
+ name = "Decaying uranium gel"
+ id = "uraniumvirusfood"
+ result = "uraniumvirusfood"
+ required_reagents = list("uranium" = 1, "virusfood" = 1)
+ result_amount = 1
+
+/datum/chemical_reaction/virus_food_uranium_plasma
+ name = "Unstable uranium gel"
+ id = "uraniumvirusfood_plasma"
+ result = "uraniumplasmavirusfood_unstable"
+ required_reagents = list("uranium" = 5, "plasmavirusfood" = 1)
+ result_amount = 1
+
+/datum/chemical_reaction/virus_food_uranium_plasma_gold
+ name = "Stable uranium gel"
+ id = "uraniumvirusfood_gold"
+ result = "uraniumplasmavirusfood_stable"
+ required_reagents = list("uranium" = 10, "gold" = 10, "plasmavirusfood" = 1)
+ result_amount = 1
+
+/datum/chemical_reaction/virus_food_uranium_plasma_silver
+ name = "Stable uranium gel"
+ id = "uraniumvirusfood_silver"
+ result = "uraniumplasmavirusfood_stable"
+ required_reagents = list("uranium" = 10, "silver" = 10, "plasmavirusfood" = 1)
+ result_amount = 1
+
/datum/chemical_reaction/mix_virus
name = "Mix Virus"
id = "mixvirus"
@@ -257,6 +285,30 @@
level_min = 1
level_max = 1
+/datum/chemical_reaction/mix_virus/mix_virus_10
+
+ name = "Mix Virus 10"
+ id = "mixvirus10"
+ required_reagents = list("uraniumvirusfood" = 5)
+ level_min = 6
+ level_max = 7
+
+/datum/chemical_reaction/mix_virus/mix_virus_11
+
+ name = "Mix Virus 11"
+ id = "mixvirus11"
+ required_reagents = list("uraniumplasmavirusfood_unstable" = 5)
+ level_min = 7
+ level_max = 7
+
+/datum/chemical_reaction/mix_virus/mix_virus_12
+
+ name = "Mix Virus 12"
+ id = "mixvirus12"
+ required_reagents = list("uraniumplasmavirusfood_stable" = 5)
+ level_min = 8
+ level_max = 8
+
/datum/chemical_reaction/mix_virus/rem_virus
name = "Devolve Virus"