diff --git a/code/WorkInProgress/Chemistry-Machinery.dm b/code/WorkInProgress/Chemistry-Machinery.dm
index 99fde968fd3..f4e87de441b 100644
--- a/code/WorkInProgress/Chemistry-Machinery.dm
+++ b/code/WorkInProgress/Chemistry-Machinery.dm
@@ -234,7 +234,7 @@
-/obj/machinery/pandemic/
+/obj/machinery/computer/pandemic
name = "PanD.E.M.I.C 2200"
density = 1
anchored = 1
@@ -244,49 +244,27 @@
var/wait = null
var/obj/item/weapon/reagent_containers/glass/beaker = null
- ex_act(severity)
- switch(severity)
- if(1.0)
- del(src)
- return
- if(2.0)
- if (prob(50))
- del(src)
- return
- blob_act()
- if (prob(50))
- del(src)
+ set_broken()
+ icon_state = (src.beaker?"mixer1_b":"mixer0_b")
+ stat |= BROKEN
- meteorhit()
- del(src)
- return
power_change()
- if(powered())
+
+ if(stat & BROKEN)
+ icon_state = (src.beaker?"mixer1_b":"mixer0_b")
+
+ else if(powered())
icon_state = (src.beaker?"mixer1":"mixer0")
stat &= ~NOPOWER
+
else
spawn(rand(0, 15))
src.icon_state = (src.beaker?"mixer1_nopower":"mixer0_nopower")
stat |= NOPOWER
- attackby(var/obj/item/weapon/reagent_containers/glass/B as obj, var/mob/user as mob)
- if(!istype(B, /obj/item/weapon/reagent_containers/glass))
- return
-
- if(src.beaker)
- user << "A beaker is already loaded into the machine."
- return
-
- src.beaker = B
- user.drop_item()
- B.loc = src
- user << "You add the beaker to the machine!"
- src.updateUsrDialog()
- icon_state = "mixer1"
-
Topic(href, href_list)
if(stat & (NOPOWER|BROKEN)) return
if(usr.stat || usr.restrained()) return
@@ -409,4 +387,48 @@
user << browse("
PanD.E.M.I.C 2200
[dat]", "window=pandemic;size=575x400")
onclose(user, "pandemic")
+ return
+
+ attackby(var/obj/I as obj, var/mob/user as mob)
+ if(istype(I, /obj/item/weapon/screwdriver))
+ playsound(src.loc, 'Screwdriver.ogg', 50, 1)
+ if(do_after(user, 20))
+ if (src.stat & BROKEN)
+ user << "\blue The broken glass falls out."
+ var/obj/computerframe/A = new /obj/computerframe(src.loc)
+ new /obj/item/weapon/shard(src.loc)
+ var/obj/item/weapon/circuitboard/pandemic/M = new /obj/item/weapon/circuitboard/pandemic(A)
+ for (var/obj/C in src)
+ C.loc = src.loc
+ A.circuit = M
+ A.state = 3
+ A.icon_state = "3"
+ A.anchored = 1
+ del(src)
+ else
+ user << "\blue You disconnect the monitor."
+ var/obj/computerframe/A = new /obj/computerframe( src.loc )
+ var/obj/item/weapon/circuitboard/pandemic/M = new /obj/item/weapon/circuitboard/pandemic(A)
+ for (var/obj/C in src)
+ C.loc = src.loc
+ A.circuit = M
+ A.state = 4
+ A.icon_state = "4"
+ A.anchored = 1
+ del(src)
+ else if(istype(I, /obj/item/weapon/reagent_containers/glass))
+ if(stat & (NOPOWER|BROKEN)) return
+ if(src.beaker)
+ user << "A beaker is already loaded into the machine."
+ return
+
+ src.beaker = I
+ user.drop_item()
+ I.loc = src
+ user << "You add the beaker to the machine!"
+ src.updateUsrDialog()
+ icon_state = "mixer1"
+
+ else
+ ..()
return
\ No newline at end of file
diff --git a/code/WorkInProgress/Chemistry-Tools.dm b/code/WorkInProgress/Chemistry-Tools.dm
index 1d766d94ca1..0e37ec0be69 100644
--- a/code/WorkInProgress/Chemistry-Tools.dm
+++ b/code/WorkInProgress/Chemistry-Tools.dm
@@ -366,7 +366,7 @@
/obj/machinery/atmospherics/unary/cryo_cell,
/obj/item/weapon/chem_grenade,
/obj/machinery/bot/medbot,
- /obj/machinery/pandemic,
+ /obj/machinery/computer/pandemic,
/obj/item/weapon/secstorage/ssafe)
examine()
diff --git a/code/datums/diseases/brainrot.dm b/code/datums/diseases/brainrot.dm
index b7609444a75..473f024073e 100644
--- a/code/datums/diseases/brainrot.dm
+++ b/code/datums/diseases/brainrot.dm
@@ -30,9 +30,8 @@
affected_mob.emote("stare")
if(prob(2))
affected_mob.emote("drool")
- if(prob(10))
- if(affected_mob.brainloss<=98) //shouldn't retard you to death now
- affected_mob.brainloss += 2
+ if(prob(10) && affected_mob.brainloss<=98)//shouldn't retard you to death now
+ affected_mob.brainloss += 2
affected_mob.updatehealth()
if(prob(2))
affected_mob << "\red Your try to remember something important...but can't."
@@ -51,7 +50,7 @@
affected_mob.updatehealth()
if(prob(2))
affected_mob << "\red Your head hurts." */
- if(prob(15))
+ if(prob(15) && affected_mob.brainloss<=98) //shouldn't retard you to death now
affected_mob.brainloss +=3
affected_mob.updatehealth()
if(prob(2))
diff --git a/code/datums/diseases/gbs.dm b/code/datums/diseases/gbs.dm
index 954370bac12..62091b7715c 100644
--- a/code/datums/diseases/gbs.dm
+++ b/code/datums/diseases/gbs.dm
@@ -5,6 +5,7 @@
spread_type = CONTACT_GENERAL
cure = "Synaptizine & Sulfur"
cure_id = list("synaptizine","sulfur")
+ cure_chance = 15//higher chance to cure, since two reagents are required
agent = "Gravitokinetic Bipotential SADS+"
affected_species = list("Human")
curable = 0
diff --git a/code/datums/diseases/wizarditis.dm b/code/datums/diseases/wizarditis.dm
index 34b9209c59a..413cbb13892 100644
--- a/code/datums/diseases/wizarditis.dm
+++ b/code/datums/diseases/wizarditis.dm
@@ -45,7 +45,7 @@ STI KALY - blind
return
if(prob(2))
affected_mob << "\red You feel [pick("the tidal wave of raw power building inside","that this location gives you a +2 to INT and +1 to WIS","an urge to teleport")]."
- if(prob(5))
+ if(prob(2))
teleport()
return
@@ -129,4 +129,4 @@ STI KALY - blind
affected_mob.loc = pick(L)
smoke.start()
//Apparently it created a lagspike every time it was called -- Urist
- return
\ No newline at end of file
+ return
diff --git a/code/game/machinery/computer/buildandrepair.dm b/code/game/machinery/computer/buildandrepair.dm
index 38965e1bdd0..17e665b3874 100644
--- a/code/game/machinery/computer/buildandrepair.dm
+++ b/code/game/machinery/computer/buildandrepair.dm
@@ -33,6 +33,9 @@
/obj/item/weapon/circuitboard/med_data
name = "Circuit board (Medical Records)"
computertype = "/obj/machinery/computer/med_data"
+/obj/item/weapon/circuitboard/pandemic
+ name = "Circuit board (PanD.E.M.I.C. 2200)"
+ computertype = "/obj/machinery/computer/pandemic"
/obj/item/weapon/circuitboard/scan_consolenew
name = "Circuit board (DNA Machine)"
computertype = "/obj/machinery/scan_consolenew"
diff --git a/code/game/supplyshuttle.dm b/code/game/supplyshuttle.dm
index 33a110a6c9a..ccfdb7faaba 100644
--- a/code/game/supplyshuttle.dm
+++ b/code/game/supplyshuttle.dm
@@ -176,6 +176,24 @@ var/supply_shuttle_points = 50
containertype = "/obj/crate"
containername = "Janitorial supplies"
+/obj/item/weapon/storage/lightbox/tubes
+
+/datum/supply_packs/lightbulbs
+ name = "Replacement lights"
+ contains = list("/obj/item/weapon/storage/lightbox/tubes",
+ "/obj/item/weapon/storage/lightbox/tubes",
+ "/obj/item/weapon/storage/lightbox/tubes",
+ "/obj/item/weapon/storage/lightbox/tubes",
+ "/obj/item/weapon/storage/lightbox",
+ "/obj/item/weapon/storage/lightbox",
+ "/obj/item/weapon/storage/lightbox",
+ "/obj/item/weapon/storage/lightbox")
+ cost = 10
+ containertype = "/obj/crate"
+ containername = "Replacement lights"
+
+
+
/datum/supply_packs/plasma
name = "Plasma assembly crate"
contains = list("/obj/item/weapon/tank/plasma",
diff --git a/icons/obj/chemical.dmi b/icons/obj/chemical.dmi
index c06181a36d1..cead5329200 100644
Binary files a/icons/obj/chemical.dmi and b/icons/obj/chemical.dmi differ
diff --git a/maps/trunkmap.dmm b/maps/trunkmap.dmm
index b65004be7db..0ac84eb9c97 100644
--- a/maps/trunkmap.dmm
+++ b/maps/trunkmap.dmm
@@ -203,7 +203,7 @@
"adU" = (/obj/table{icon_state = "tabledir"; dir = 5},/obj/item/weapon/reagent_containers/glass/bottle/flu_virion,/obj/item/weapon/reagent_containers/glass/bottle/cold,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"adV" = (/obj/machinery/atmospherics/pipe/simple,/obj/machinery/light{dir = 1},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"adW" = (/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/obj/item/device/radio/intercom{pixel_y = 20},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"adX" = (/obj/machinery/pandemic,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"adX" = (/obj/machinery/computer/pandemic,/obj/cable{d2 = 8; icon_state = "0-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"adY" = (/obj/grille,/obj/window/reinforced/south,/obj/window/reinforced/north,/obj/machinery/atmospherics/pipe/simple,/turf/simulated/floor/plating,/area/medical/research)
"adZ" = (/obj/grille,/obj/window/reinforced/south,/obj/window/reinforced/east,/turf/simulated/floor/plating,/area/medical/research)
"aea" = (/obj/machinery/door/window/southleft{name = "Monkey Pen"; req_access_txt = "9"},/turf/simulated/floor,/area/medical/research)
@@ -287,7 +287,7 @@
"afA" = (/obj/item/weapon/extinguisher,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"afB" = (/obj/machinery/space_heater,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
"afC" = (/obj/grille,/obj/window/reinforced/west,/obj/window/reinforced/east,/turf/simulated/floor/plating,/area/maintenance/fsmaint)
-"afD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/storage/lglo_kit,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"afD" = (/obj/machinery/atmospherics/unary/vent_pump{dir = 4; on = 1},/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/storage/lglo_kit,/obj/item/weapon/hand_labeler,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"afE" = (/obj/machinery/atmospherics/pipe/simple,/obj/cable{icon_state = "2-4"; d1 = 2; d2 = 4},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"afF" = (/obj/disposalpipe/segment{dir = 4; icon_state = "pipe-c"},/obj/cable{icon_state = "4-8"; d1 = 4; d2 = 8},/obj/cable{d1 = 1; d2 = 8; icon_state = "1-8"},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"afG" = (/obj/machinery/disposal,/obj/disposalpipe/trunk{dir = 8},/obj/cable{icon_state = "2-8"; d1 = 2; d2 = 8},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
@@ -328,7 +328,7 @@
"agp" = (/obj/machinery/atmospherics/unary/vent_scrubber{on = 1; scrub_Toxins = 1},/obj/machinery/alarm{dir = 1; icon_state = "alarm0"; pixel_y = -22},/obj/table{icon_state = "tabledir"; dir = 6},/obj/item/weapon/storage/beakerbox,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"agq" = (/obj/machinery/atmospherics/pipe/manifold{dir = 8},/obj/cable{icon_state = "1-2"; d1 = 1; d2 = 2},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"agr" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/disposalpipe/segment,/obj/machinery/access_button{command = "cycle_interior"; frequency = 1449; master_tag = "virology_access_console"; pixel_y = -24},/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
-"ags" = (/obj/machinery/power/apc{name = "Virology APC"; pixel_y = -24; pixel_z = 0},/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/obj/cable,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
+"ags" = (/obj/machinery/power/apc{name = "Virology APC"; pixel_y = -24; pixel_z = 0},/obj/machinery/atmospherics/pipe/simple{dir = 10; icon_state = "intact-f"; layer = 3},/obj/cable,/obj/item/weapon/cleaner,/turf/simulated/floor{icon_state = "white"},/area/medical/virology)
"agt" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area)
"agu" = (/obj/grille,/obj/window/reinforced/west,/obj/window/reinforced/east,/obj/machinery/atmospherics/pipe/simple{dir = 6; icon_state = "intact-f"; layer = 3},/turf/simulated/floor/plating,/area/medical/research)
"agv" = (/obj/machinery/atmospherics/pipe/simple{dir = 4; icon_state = "intact-f"; initialize_directions = 12; layer = 3},/obj/table{icon_state = "tabledir"; dir = 4},/obj/item/weapon/paper{info = "Angela, while it may appear that the lab monkeys are communicating with each other, I assure you it's quite impossible. You claim that one monkey signed the passcode for a supply closet to another and the latter proceeded to open it. As I'm sure you know, there have literally been tens of thousands of studies of primate intelligence and there is no evidence of behavior even remotely that sophisticated. So either you've single handedly trumped the entire field of animal behaviorists or you're badly in need of a vacation."; name = "re: Damn Chimps"},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
@@ -440,8 +440,8 @@
"aix" = (/obj/machinery/door/window/northleft{name = "Cloning"; req_access_txt = "9"},/obj/item/device/radio/intercom{dir = 0; pixel_x = 27},/turf/simulated/floor{icon_state = "white"},/area/medical/research)
"aiy" = (/turf/simulated/wall,/area/maintenance/starboard)
"aiz" = (/obj/machinery/atmospherics/pipe/simple,/turf/simulated/wall,/area/maintenance/starboard)
-"aiA" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/device/flash,/turf/simulated/floor/plating,/area/storage/tech)
-"aiB" = (/obj/machinery/light{dir = 1},/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/device/flash,/turf/simulated/floor/plating,/area/storage/tech)
+"aiA" = (/obj/table{icon_state = "tabledir"; dir = 10},/obj/item/weapon/circuitboard/pandemic,/turf/simulated/floor/plating,/area/storage/tech)
+"aiB" = (/obj/machinery/light{dir = 1},/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/device/flash,/obj/item/device/flash,/turf/simulated/floor/plating,/area/storage/tech)
"aiC" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/aiModule/reset,/turf/simulated/floor/plating,/area/storage/tech)
"aiD" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/item/weapon/cell{charge = 100; maxcharge = 15000},/turf/simulated/floor/plating,/area/storage/tech)
"aiE" = (/obj/table{icon_state = "tabledir"; dir = 2},/obj/machinery/cell_charger{pixel_y = 5},/turf/simulated/floor/plating,/area/storage/tech)