diff --git a/code/WorkInProgress/Chemistry-Reagents.dm b/code/WorkInProgress/Chemistry-Reagents.dm
index e0d9759f235..258c3bb63d6 100644
--- a/code/WorkInProgress/Chemistry-Reagents.dm
+++ b/code/WorkInProgress/Chemistry-Reagents.dm
@@ -44,11 +44,11 @@ datum
on_mob_life(var/mob/M)
holder.remove_reagent(src.id, 0.4) //By default it slowly disappears.
return
-/*
+
metroid
- name = "Metroid Jelly"
+ name = "Metroid Jam"
id = "metroid"
- description = "A green liquid produced from one of the deadliest lifeforms in existence."
+ description = "A green semi-liquid produced from one of the deadliest lifeforms in existence."
reagent_state = LIQUID
on_mob_life(var/mob/M)
if(prob(10))
@@ -56,8 +56,8 @@ datum
M.toxloss+=20
else if(prob(40))
M.bruteloss-=5
- ..() //Code no work :< -- Urist
-*/
+ ..()
+
blood
@@ -593,6 +593,18 @@ datum
description = "Pure iron is a metal."
reagent_state = SOLID
+ on_mob_life(var/mob/M)
+ if(!M) M = holder.my_atom
+ if((M.virus) && (prob(8) && (M.virus.name=="Magnitis")))
+ if(M.virus.spread == "Airborne")
+ M.virus.spread = "Remissive"
+ M.virus.stage--
+ if(M.virus.stage <= 0)
+ M.resistances += M.virus.type
+ M.virus = null
+ holder.remove_reagent(src.id, 0.2)
+ return
+
aluminium
name = "Aluminium"
id = "aluminium"
@@ -942,7 +954,7 @@ datum
on_mob_life(var/mob/M)
if(!M) M = holder.my_atom
- if((M.virus) && (prob(8)))
+ if((M.virus) && (prob(8) && (M.virus.name!="Magnitis")))
if(M.virus.spread == "Airborne")
M.virus.spread = "Remissive"
M.virus.stage--
diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm
index 76ec6701537..6fab1b87771 100644
--- a/code/WorkInProgress/Chemistry-Tools.dm
+++ b/code/WorkInProgress/Chemistry-Tools.dm
@@ -1170,7 +1170,7 @@
var/list/data = list("virus"= F)
R.add_reagent("blood", 20, data)
-
+/*
/obj/item/weapon/reagent_containers/glass/bottle/gbs
name = "GBS culture bottle"
desc = "A small bottle. Contains Gravitokinetic Bipotential SADS+ culture in synthblood medium."//Or simply - General BullShit
@@ -1184,8 +1184,8 @@
R.my_atom = src
var/datum/disease/F = new /datum/disease/gbs
var/list/data = list("virus"= F)
- R.add_reagent("blood", 20, data)
-
+ R.add_reagent("blood", 20, data) -- No.
+*/
/obj/item/weapon/reagent_containers/glass/bottle/fake_gbs
name = "GBS culture bottle"
desc = "A small bottle. Contains Gravitokinetic Bipotential SADS- culture in synthblood medium."//Or simply - General BullShit
@@ -1217,6 +1217,21 @@
var/list/data = list("virus"= F)
R.add_reagent("blood", 20, data)
+/obj/item/weapon/reagent_containers/glass/bottle/magnitis
+ name = "GBS culture bottle"
+ desc = "A small bottle. Contains a small dosage of Fukkos Miracos."
+ icon = 'chemical.dmi'
+ icon_state = "bottle3"
+ amount_per_transfer_from_this = 5
+
+ New()
+ var/datum/reagents/R = new/datum/reagents(20)
+ reagents = R
+ R.my_atom = src
+ var/datum/disease/F = new /datum/disease/magnitis
+ var/list/data = list("virus"= F)
+ R.add_reagent("blood", 20, data)
+
/obj/item/weapon/reagent_containers/glass/beaker
name = "beaker"
@@ -2029,7 +2044,6 @@
///jar
-/*
/obj/item/weapon/reagent_containers/food/drinks/jar
name = "empty jar"
desc = "A jar. You're not sure what it's supposed to hold."
@@ -2040,6 +2054,7 @@
var/datum/reagents/R = new/datum/reagents(50)
reagents = R
R.my_atom = src
+ R.add_reagent("metroid", 50)
on_reagent_change()
if (reagents.reagent_list.len > 0)
@@ -2056,5 +2071,4 @@
icon_state = "jar"
name = "empty jar"
desc = "A jar. You're not sure what it's supposed to hold."
- return //Code no work :< -- Urist
- */
\ No newline at end of file
+ return
\ No newline at end of file
diff --git a/code/datums/diseases/magnitis.dm b/code/datums/diseases/magnitis.dm
new file mode 100644
index 00000000000..fa67c3435cb
--- /dev/null
+++ b/code/datums/diseases/magnitis.dm
@@ -0,0 +1,59 @@
+/datum/disease/magnitis
+ name = "Magnitis"
+ max_stages = 4
+ spread = "Airborne"
+ cure = "Iron"
+ agent = "Fukkos Miracos"
+ affected_species = list("Human")
+ curable = 0
+
+/datum/disease/magnitis/stage_act()
+ ..()
+ switch(stage)
+ if(2)
+ if(prob(2))
+ affected_mob << "\red You feel a slight shock course through your body."
+ if(prob(2))
+ for(var/obj/M in orange(2,affected_mob))
+ if(M.flags & CONDUCT)
+ if(M.x > affected_mob.x)
+ M.x--
+ else if(M.x < affected_mob.x)
+ M.x++
+ if(M.y > affected_mob.y)
+ M.y--
+ else if(M.y < affected_mob.y)
+ M.y++
+ if(3)
+ if(prob(2))
+ affected_mob << "\red You feel a strong shock course through your body."
+ if(prob(2))
+ affected_mob << "\red You feel like clowning around."
+ if(prob(4))
+ for(var/obj/M in orange(4,affected_mob))
+ if(M.flags & CONDUCT)
+ if(M.x > affected_mob.x)
+ M.x-=rand(1,min(3,M.x-affected_mob.x))
+ else if(M.x < affected_mob.x)
+ M.x+=rand(1,min(3,affected_mob.x-M.x))
+ if(M.y > affected_mob.y)
+ M.y-=rand(1,min(3,M.y-affected_mob.y))
+ else if(M.y < affected_mob.y)
+ M.y+=rand(1,min(3,affected_mob.y-M.y))
+ if(4)
+ if(prob(2))
+ affected_mob << "\red You feel a powerful shock course through your body."
+ if(prob(2))
+ affected_mob << "\red You query upon the nature of miracles."
+ if(prob(8))
+ for(var/obj/M in orange(6,affected_mob))
+ if(M.flags & CONDUCT)
+ if(M.x > affected_mob.x)
+ M.x-=rand(1,min(5,M.x-affected_mob.x))
+ else if(M.x < affected_mob.x)
+ M.x+=rand(1,min(5,affected_mob.x-M.x))
+ if(M.y > affected_mob.y)
+ M.y-=rand(1,min(5,M.y-affected_mob.y))
+ else if(M.y < affected_mob.y)
+ M.y+=rand(1,min(5,affected_mob.y-M.y))
+ return
\ No newline at end of file
diff --git a/code/game/gamemodes/events.dm b/code/game/gamemodes/events.dm
index de43da80426..8090a490738 100644
--- a/code/game/gamemodes/events.dm
+++ b/code/game/gamemodes/events.dm
@@ -233,7 +233,7 @@
/proc/viral_outbreak()
command_alert("Confirmed outbreak of level 7 viral biohazard aboard [station_name()]. All personnel must contain the outbreak.", "Biohazard Alert")
world << sound('outbreak7.ogg')
- var/virus_type = pick(/datum/disease/dnaspread,/datum/disease/cold)
+ var/virus_type = pick(/datum/disease/dnaspread,/datum/disease/cold,/datum/disease/brainrot,/datum/disease/magnitis)
for(var/mob/living/carbon/human/H in world)
if((H.virus) || (H.stat == 2))
continue
diff --git a/code/game/jobs/jobprocs.dm b/code/game/jobs/jobprocs.dm
index 18bcc57d621..6dd2088e93e 100644
--- a/code/game/jobs/jobprocs.dm
+++ b/code/game/jobs/jobprocs.dm
@@ -597,6 +597,8 @@
usr << "You form a wall in front of yourself."
var/obj/forcefield/F = new /obj/forcefield(locate(usr.x,usr.y,usr.z))
F.icon_state = "empty"
+ F.name = "invisible wall"
+ F.desc = "You have a bad feeling about this."
spawn (300)
del (F)
return
diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm
index dd2acb3a344..7307435c485 100644
--- a/code/game/machinery/computer/medical.dm
+++ b/code/game/machinery/computer/medical.dm
@@ -92,6 +92,7 @@
Plasmatoid
Space Rhinovirus
Robot Transformation
+
Magnitis
Back"}
if(6.0)
dat += "