diff --git a/code/WorkInProgress/SkyMarshal/wardrobes.dm b/code/WorkInProgress/SkyMarshal/wardrobes.dm
index f2c94b6db27..35879744025 100755
--- a/code/WorkInProgress/SkyMarshal/wardrobes.dm
+++ b/code/WorkInProgress/SkyMarshal/wardrobes.dm
@@ -251,6 +251,7 @@
new /obj/item/clothing/suit/bio_suit/cmo(src)
new /obj/item/clothing/head/bio_hood/general(src)
new /obj/item/clothing/suit/storage/labcoat/cmo(src)
+ new /obj/item/clothing/suit/storage/labcoat/cmoalt(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/device/radio/headset/heads/cmo(src)
new /obj/item/clothing/under/rank/chief_medical_officer(src)
diff --git a/code/defines/obj/supplypacks.dm b/code/defines/obj/supplypacks.dm
index c7f9475f62c..05feff44c2d 100755
--- a/code/defines/obj/supplypacks.dm
+++ b/code/defines/obj/supplypacks.dm
@@ -483,8 +483,9 @@
"/obj/item/weapon/cell/high",
"/obj/item/weapon/cell/high")
cost = 15
- containertype = "/obj/structure/closet/crate"
+ containertype = "/obj/structure/closet/crate/secure"
containername = "Electrical maintenance crate"
+ access = access_engine
group = "Engineering"
/datum/supply_packs/mechanical
@@ -499,8 +500,9 @@
"/obj/item/clothing/head/helmet/welding",
"/obj/item/clothing/head/helmet/hardhat")
cost = 10
- containertype = "/obj/structure/closet/crate"
+ containertype = "/obj/structure/closet/crate/secure"
containername = "Mechanical maintenance crate"
+ access = access_engine
group = "Engineering"
/datum/supply_packs/waterfueltank
diff --git a/code/game/gamemodes/sandbox/h_sandbox.dm b/code/game/gamemodes/sandbox/h_sandbox.dm
index ca3bf59ca3c..6a257acd6d6 100644
--- a/code/game/gamemodes/sandbox/h_sandbox.dm
+++ b/code/game/gamemodes/sandbox/h_sandbox.dm
@@ -84,7 +84,7 @@ datum/hSB
P.back.loc = P.loc
P.back.layer = initial(P.back.layer)
P.back = null
- P.back = new/obj/item/weapon/tank/jetpack(P)
+ P.back = new/obj/item/weapon/tank/jetpack/oxygen(P)
P.back.layer = 20
P.internal = P.back
if("hsbmetal")
diff --git a/code/game/machinery/Sleeper.dm b/code/game/machinery/Sleeper.dm
index 32ff757a2ad..2b28618e3ae 100644
--- a/code/game/machinery/Sleeper.dm
+++ b/code/game/machinery/Sleeper.dm
@@ -68,9 +68,9 @@
dat += text("
Paralysis Summary %: [] ([] seconds left!)
", occupant.paralysis, round(occupant.paralysis / 4))
dat += text("Inaprovaline units: [] units
", occupant.reagents.get_reagent_amount("inaprovaline"))
dat += text("Soporific: [] units
", occupant.reagents.get_reagent_amount("stoxin"))
- dat += text("Dermaline: [] units
", occupant.reagents.get_reagent_amount("dermaline"))
- dat += text("Bicaridine: [] units
", occupant.reagents.get_reagent_amount("bicaridine"))
- dat += text("Dexalin: [] units
", occupant.reagents.get_reagent_amount("dexalin"))
+ dat += text("[]\tDermaline: [] units
", (occupant.reagents.get_reagent_amount("dermaline") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("dermaline"))
+ dat += text("[]\tBicaridine: [] units
", (occupant.reagents.get_reagent_amount("bicaridine") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("bicaridine"))
+ dat += text("[]\tDexalin: [] units
", (occupant.reagents.get_reagent_amount("dexalin") < 30 ? "" : ""), occupant.reagents.get_reagent_amount("dexalin"))
dat += text("
Refresh meter readings each second
Inject Inaprovaline
Inject Soporific
Inject Dermaline
Inject Bicaridine
Inject Dexalin", src, src, src, src, src, src)
else
dat += "The sleeper is empty."
diff --git a/code/game/objects/closets/malfunction.dm b/code/game/objects/closets/malfunction.dm
index cb85b49a68b..a21311fdfea 100644
--- a/code/game/objects/closets/malfunction.dm
+++ b/code/game/objects/closets/malfunction.dm
@@ -1,7 +1,7 @@
/obj/structure/closet/malf/suits/New()
..()
sleep(2)
- new /obj/item/weapon/tank/jetpack/void_jetpack(src)
+ new /obj/item/weapon/tank/jetpack/void(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/head/helmet/space/nasavoid(src)
new /obj/item/clothing/suit/space/nasavoid(src)
diff --git a/code/game/objects/closets/syndicate.dm b/code/game/objects/closets/syndicate.dm
index 241485e0d5e..82d1b114ba9 100644
--- a/code/game/objects/closets/syndicate.dm
+++ b/code/game/objects/closets/syndicate.dm
@@ -1,7 +1,7 @@
/obj/structure/closet/syndicate/personal/New()
..()
sleep(2)
- new /obj/item/weapon/tank/jetpack(src)
+ new /obj/item/weapon/tank/jetpack/oxygen(src)
new /obj/item/clothing/mask/breath(src)
new /obj/item/clothing/under/syndicate(src)
new /obj/item/clothing/head/helmet/space/syndicate(src)
diff --git a/code/game/objects/closets/wardrobe.dm b/code/game/objects/closets/wardrobe.dm
index fc702dd65cb..46ea08a395c 100644
--- a/code/game/objects/closets/wardrobe.dm
+++ b/code/game/objects/closets/wardrobe.dm
@@ -235,6 +235,7 @@ obj/structure/closet/wardrobe/hop/New()
new /obj/item/clothing/suit/bio_suit/cmo(src)
new /obj/item/clothing/head/bio_hood/general(src)
new /obj/item/clothing/suit/storage/labcoat/cmo(src)
+ new /obj/item/clothing/suit/storage/labcoat/cmoalt(src)
new /obj/item/clothing/shoes/brown(src)
new /obj/item/clothing/under/rank/chief_medical_officer(src)
diff --git a/code/game/objects/items/clothing.dm b/code/game/objects/items/clothing.dm
index 606c69229da..98a37628b5d 100644
--- a/code/game/objects/items/clothing.dm
+++ b/code/game/objects/items/clothing.dm
@@ -322,6 +322,12 @@ THERMAL GLASSES
else if(src.icon_state == "labcoat_cmo")
src.icon_state = "labcoat_cmo_open"
usr << "You unbutton the labcoat."
+ else if(src.icon_state == "labcoat_cmoalt_open")
+ src.icon_state = "labcoat_cmoalt"
+ usr << "You button up the labcoat."
+ else if(src.icon_state == "labcoat_cmoalt")
+ src.icon_state = "labcoat_cmoalt_open"
+ usr << "You unbutton the labcoat."
else if(src.icon_state == "labcoat_gen_open")
src.icon_state = "labcoat_gen"
usr << "You button up the labcoat."
diff --git a/code/game/objects/tanks/jetpack.dm b/code/game/objects/tanks/jetpack.dm
index 794e6a10dba..a9f0542778a 100644
--- a/code/game/objects/tanks/jetpack.dm
+++ b/code/game/objects/tanks/jetpack.dm
@@ -1,7 +1,6 @@
-
/obj/item/weapon/tank/jetpack
- name = "Jetpack (Oxygen)"
- desc = "A tank of compressed oxygen for use as propulsion in zero-gravity areas. Use with caution."
+ name = "Jetpack (Empty)"
+ desc = "A tank of compressed gas for use as propulsion in zero-gravity areas. Use with caution."
icon_state = "jetpack"
w_class = 4.0
item_state = "jetpack"
@@ -16,7 +15,6 @@
..()
src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
src.ion_trail.set_up(src)
- src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
return
@@ -40,55 +38,66 @@
verb/toggle()
set name = "Toggle Jetpack"
set category = "Object"
- src.on = !( src.on )
- if(src.type == /obj/item/weapon/tank/jetpack/void_jetpack) //Slight change added by me. i didn't make it an if-elseif because some of you might want to add other types of resprited packs :3 -Agouri
- src.icon_state = text("voidjetpack[]", src.on)
- else if(src.type == /obj/item/weapon/tank/jetpack/black_jetpack)
- src.icon_state = text("black_jetpack[]", src.on)
+ on = !on
+ if(on)
+ icon_state = "[icon_state]-on"
+ item_state = "[item_state]-on"
+ ion_trail.start()
else
- src.icon_state = text("jetpack[]", src.on)
- if(src.on)
- src.ion_trail.start()
- else
- src.ion_trail.stop()
+ icon_state = initial(icon_state)
+ item_state = initial(item_state)
+ ion_trail.stop()
return
proc/allow_thrust(num, mob/living/user as mob)
- if (!( src.on ))
+ if(!(src.on))
return 0
- if ((num < 0.005 || src.air_contents.total_moles() < num))
+ if((num < 0.005 || src.air_contents.total_moles() < num))
src.ion_trail.stop()
return 0
var/datum/gas_mixture/G = src.air_contents.remove(num)
- if (G.oxygen >= 0.005)
+ var/allgases = G.carbon_dioxide + G.nitrogen + G.oxygen + G.toxins //fuck trace gases -Pete
+ if(allgases >= 0.005)
return 1
- if (G.toxins > 0.001)
- if (user)
- var/d = G.toxins / 2
- d = min(abs(user.health + 100), d, 25)
- user.take_organ_damage(0,d)
- return (G.oxygen >= 0.0025 ? 0.5 : 0)
- else
- if (G.oxygen >= 0.0025)
- return 0.5
- else
- return 0
+
del(G)
return
-/obj/item/weapon/tank/jetpack/void_jetpack
+/obj/item/weapon/tank/jetpack/void
name = "Void Jetpack (Oxygen)"
desc = "It works well in a void."
icon_state = "jetpack-void"
item_state = "jetpack-void"
+ New()
+ ..()
+ src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+ return
-/obj/item/weapon/tank/jetpack/black_jetpack
- name = "Black Jetpack (Oxygen)"
- desc = "A black model of jetpacks."
+/obj/item/weapon/tank/jetpack/oxygen
+ name = "Jetpack (Oxygen)"
+ desc = "A tank of compressed oxygen for use as propulsion in zero-gravity areas. Use with caution."
+ icon_state = "jetpack"
+ item_state = "jetpack"
+
+ New()
+ ..()
+ src.air_contents.oxygen = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+ return
+
+/obj/item/weapon/tank/jetpack/carbondioxide
+ name = "Jetpack (Carbon Dioxide)"
+ desc = "A tank of compressed carbon dioxide for use as propulsion in zero-gravity areas. Painted black to indicate that it should not be used as a source for internals."
icon_state = "jetpack-black"
item_state = "jetpack-black"
+
+ New()
+ ..()
+ src.ion_trail = new /datum/effect/effect/system/ion_trail_follow()
+ src.ion_trail.set_up(src)
+ src.air_contents.carbon_dioxide = (6*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C)
+ return
\ No newline at end of file
diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm
index d72c8c60bc6..75e35f462e7 100644
--- a/code/modules/admin/verbs/debug.dm
+++ b/code/modules/admin/verbs/debug.dm
@@ -504,7 +504,7 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that
M.equip_if_possible(new /obj/item/clothing/under/color/grey(M), M.slot_w_uniform)
M.equip_if_possible(new /obj/item/clothing/suit/space(M), M.slot_wear_suit)
M.equip_if_possible(new /obj/item/clothing/head/helmet/space(M), M.slot_head)
- var /obj/item/weapon/tank/jetpack/J = new /obj/item/weapon/tank/jetpack(M)
+ var /obj/item/weapon/tank/jetpack/oxygen/J = new /obj/item/weapon/tank/jetpack/oxygen(M)
M.equip_if_possible(J, M.slot_back)
J.toggle()
M.equip_if_possible(new /obj/item/clothing/mask/breath(M), M.slot_wear_mask)
diff --git a/code/modules/chemical/Chemistry-Reagents.dm b/code/modules/chemical/Chemistry-Reagents.dm
index 4e4d505766a..a1602f1192a 100644
--- a/code/modules/chemical/Chemistry-Reagents.dm
+++ b/code/modules/chemical/Chemistry-Reagents.dm
@@ -447,8 +447,8 @@ datum
M.slurring = 0
M.confused = 0
M.jitteriness = 0
- if(125 to INFINITY)
- M:adjustToxLoss(0.1)
+// if(125 to INFINITY)
+// M:adjustToxLoss(0.1)
..()
return
@@ -876,9 +876,11 @@ datum
data++
M.mutations = 0
M.disabilities = 0
- switch(data)
- if(100 to INFINITY)
- M:adjustToxLoss(0.2)
+ if(volume > REAGENTS_OVERDOSE)
+ M:adjustToxLoss(1)
+// switch(data)
+// if(100 to INFINITY)
+// M:adjustToxLoss(0.2)
..()
return
@@ -1186,8 +1188,10 @@ datum
M.bodytemperature = max(310, M.bodytemperature-20)
else if(M.bodytemperature < 311)
M.bodytemperature = min(310, M.bodytemperature+20)
- if(data >= 100)
- M:adjustToxLoss(0.2)
+ if(volume > REAGENTS_OVERDOSE)
+ M:adjustToxLoss(1)
+// if(data >= 100)
+// M:adjustToxLoss(0.2) //This takes like 5 units now.
..()
return
@@ -1206,8 +1210,10 @@ datum
if(!M.confused) M.confused = 1
M.confused = max(M.confused, 20)
holder.remove_reagent(src.id, 0.2)
- if(data >= 50)
- M:adjustToxLoss(0.2)
+ if(volume > REAGENTS_OVERDOSE)
+ M:adjustToxLoss(1)
+// if(data >= 50)
+// M:adjustToxLoss(0.2)
..()
return
@@ -1245,8 +1251,8 @@ datum
M:heal_organ_damage(0,1)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 125)
- M:adjustToxLoss(0.1)
+// if(data >= 125)
+// M:adjustToxLoss(0.1)
..()
return
@@ -1266,8 +1272,8 @@ datum
M:heal_organ_damage(0,3)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 125)
- M:adjustToxLoss(0.2)
+// if(data >= 125)
+// M:adjustToxLoss(0.2)
..()
return
@@ -1289,8 +1295,8 @@ datum
holder.remove_reagent("lexorin", 2)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 125)
- M:adjustToxLoss(0.2)
+// if(data >= 125)
+// M:adjustToxLoss(0.2)
..()
return
@@ -1312,8 +1318,8 @@ datum
holder.remove_reagent("lexorin", 2)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 50)
- M:adjustToxLoss(0.2)
+// if(data >= 50)
+// M:adjustToxLoss(0.2)
..()
return
@@ -1448,8 +1454,8 @@ datum
if(prob(10)) M:emote("drool")
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 50)
- M:adjustToxLoss(0.4)
+// if(data >= 50)
+// M:adjustToxLoss(0.4)
..()
return
@@ -1465,8 +1471,8 @@ datum
M:radiation = max(M:radiation-3,0)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 50)
- M:adjustToxLoss(0.2)
+// if(data >= 50)
+// M:adjustToxLoss(0.2)
..()
return
@@ -1490,8 +1496,8 @@ datum
..()
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 50)
- M:adjustToxLoss(0.3)
+// if(data >= 50)
+// M:adjustToxLoss(0.3)
return
alkysine
@@ -1526,8 +1532,8 @@ datum
M:disabilities &= ~1
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 100)
- M:adjustToxLoss(0.2)
+// if(data >= 100)
+// M:adjustToxLoss(0.2)
..()
return
@@ -1547,8 +1553,8 @@ datum
M:heal_organ_damage(2,0)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 125)
- M:adjustToxLoss(0.2)
+// if(data >= 125)
+// M:adjustToxLoss(0.2)
..()
return
@@ -1567,8 +1573,8 @@ datum
holder.remove_reagent(src.id, 0.2)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 50)
- M:adjustToxLoss(0.2)
+// if(data >= 50)
+// M:adjustToxLoss(0.2)
..()
return
@@ -1621,8 +1627,8 @@ datum
holder.remove_reagent(src.id, 0.1)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
- if(data >= 100)
- M:adjustToxLoss(0.1)
+// if(data >= 100)
+// M:adjustToxLoss(0.1)
return
carpotoxin
@@ -1687,8 +1693,10 @@ datum
if(!data) data = 1
data++
M:hallucination += 5
- if(data >= 100)
- M:adjustToxLoss(0.1)
+ if(volume > REAGENTS_OVERDOSE)
+ M:adjustToxLoss(1)
+// if(data >= 100)
+// M:adjustToxLoss(0.1)
..()
return
diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm
index fc8719272e7..392c344cff3 100644
--- a/code/modules/clothing/suits/labcoat.dm
+++ b/code/modules/clothing/suits/labcoat.dm
@@ -15,6 +15,11 @@
icon_state = "labcoat_cmo_open"
item_state = "labcoat_cmo"
+/obj/item/clothing/suit/storage/labcoat/cmoalt
+ name = "chief medical officer's labcoat"
+ desc = "With command blue highlights."
+ icon_state = "labcoat_cmoalt_open"
+
/obj/item/clothing/suit/storage/labcoat/mad
name = "The Mad's labcoat"
desc = "It makes you look capable of konking someone on the noggin and shooting them into space."
diff --git a/code/modules/mining/ores_materials_coins.dm b/code/modules/mining/ores_materials_coins.dm
index a2ac8920f4a..02eca2ef5ca 100644
--- a/code/modules/mining/ores_materials_coins.dm
+++ b/code/modules/mining/ores_materials_coins.dm
@@ -176,7 +176,6 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=4"
- perunit = 2000
/obj/item/stack/sheet/gold/New(loc,amount)
..()
@@ -198,7 +197,6 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=3"
- perunit = 2000
/obj/item/stack/sheet/silver/New(loc,amount)
..()
@@ -213,7 +211,6 @@
w_class = 3.0
throw_range = 3
origin_tech = "materials=6"
- perunit = 3750
/obj/item/stack/sheet/diamond/New(loc,amount)
..()
@@ -229,7 +226,6 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=5"
- perunit = 2000
/obj/item/stack/sheet/enruranium
name = "Enriched Uranium block"
@@ -240,7 +236,6 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=5"
- perunit = 1000
/obj/item/stack/sheet/plasma
name = "solid plasma"
@@ -251,7 +246,6 @@
throw_speed = 3
throw_range = 3
origin_tech = "plasmatech=2;materials=2"
- perunit = 2000
/obj/item/stack/sheet/adamantine
name = "adamantine"
@@ -262,7 +256,6 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=4"
- perunit = 2000
/obj/item/stack/sheet/clown
name = "bananium"
@@ -273,7 +266,6 @@
throw_speed = 3
throw_range = 3
origin_tech = "materials=4"
- perunit = 2000
/obj/item/stack/sheet/clown/New(loc,amount)
..()
diff --git a/code/modules/mob/living/silicon/pai/recruit.dm b/code/modules/mob/living/silicon/pai/recruit.dm
index 330be3c4838..593a65f7686 100644
--- a/code/modules/mob/living/silicon/pai/recruit.dm
+++ b/code/modules/mob/living/silicon/pai/recruit.dm
@@ -116,7 +116,7 @@ var/datum/paiController/paiController // Global handler for pAI candidates
dat += "Save Personality
"
dat += "Load Personality
"
- M << browse(dat, "window=paiRecruit")
+ M << browse(dat, "window=paiRecruit;can_close=0;can_minimize=0")
proc/findPAI(var/obj/item/device/paicard/p, var/mob/user)
requestRecruits(user)
@@ -169,7 +169,6 @@ var/datum/paiController/paiController // Global handler for pAI candidates
dat += ""
user << browse(dat, "window=findPai")
-
proc/requestRecruits(var/mob/origin)
for(var/mob/dead/observer/O in world)
if(jobban_isbanned(O, "pAI"))
diff --git a/code/modules/power/tracker.dm b/code/modules/power/tracker.dm
index 603afe375f9..9fc73c98b35 100644
--- a/code/modules/power/tracker.dm
+++ b/code/modules/power/tracker.dm
@@ -16,7 +16,8 @@
// called by datum/sun/calc_position() as sun's angle changes
- proc/set_angle(angle)
+ proc/set_angle(var/angle)
+ sun_angle = angle
//set icon dir to show sun illumination
dir = turn(NORTH, -angle - 22.5) // 22.5 deg bias ensures, e.g. 67.5-112.5 is EAST
diff --git a/code/modules/projectiles/guns/energy/stun.dm b/code/modules/projectiles/guns/energy/stun.dm
index 740ba192209..ba7dd80b510 100644
--- a/code/modules/projectiles/guns/energy/stun.dm
+++ b/code/modules/projectiles/guns/energy/stun.dm
@@ -9,7 +9,14 @@
cell_type = "/obj/item/weapon/cell/crap"
force = 10
-
+/* special_check(var/mob/living/carbon/human/M)
+ if(ishuman(M))
+ for(var/obj/item/weapon/implant/I in M)
+ if(I.implanted)
+ if(istype(I,/obj/item/weapon/implant/loyalty))
+ return 1
+ M << "\red The gun refuses to fire!"
+ return 0*/// Can be used to restrict weapon use to implants. - Erthilo
/obj/item/weapon/gun/energy/taser/cyborg/load_into_chamber()//TOOD: change this over to the slowly recharge other cell
if(in_chamber)
diff --git a/code/modules/recycling/conveyor2.dm b/code/modules/recycling/conveyor2.dm
index 5d789cbaf34..36334802e8f 100644
--- a/code/modules/recycling/conveyor2.dm
+++ b/code/modules/recycling/conveyor2.dm
@@ -7,6 +7,7 @@
name = "conveyor belt"
desc = "A conveyor belt."
anchored = 1
+ layer = 2.97
var/operating = 0 // 1 if running forward, -1 if backwards, 0 if off
var/operable = 1 // true if can operate (no broken segments in this belt run)
var/forwards // this is the default (forward) direction, set by the map dir, can be 0
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 20224ce0125..0e2f65afe44 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -82,6 +82,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
return_name = "Uranium"
if("diamond")
return_name = "Diamond"
+ if("adamantine")
+ return_name = "adamantine"
if("clown")
return_name = "Bananium"
else
@@ -367,6 +369,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
linked_lathe.uranium_amount = max(0, (linked_lathe.uranium_amount-being_built.materials[M]))
if("$diamond")
linked_lathe.diamond_amount = max(0, (linked_lathe.diamond_amount-being_built.materials[M]))
+ if("$adamantine")
+ linked_lathe.adamantine_amount = max(0, (linked_lathe.adamantine_amount-being_built.materials[M]))
if("$clown")
linked_lathe.clown_amount = max(0, (linked_lathe.clown_amount-being_built.materials[M]))
else
@@ -457,6 +461,9 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if("diamond")
type = /obj/item/stack/sheet/diamond
res_amount = "diamond_amount"
+ if("adamantine")
+ type = /obj/item/stack/sheet/adamantine
+ res_amount = "adamantine_amount"
if("clown")
type = /obj/item/stack/sheet/clown
res_amount = "clown_amount"
@@ -468,7 +475,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
linked_lathe.vars[res_amount] = max(0, (linked_lathe.vars[res_amount]-sheet.amount * sheet.perunit))
else
del sheet
- else if(href_list["imprinter_ejectsheet"] && linked_imprinter) //Causes the protolathe to eject a sheet of material
+ else if(href_list["imprinter_ejectsheet"] && linked_imprinter) //Causes the circuit imprinter to eject a sheet of material
var/desired_num_sheets = text2num(href_list["imprinter_ejectsheet_amt"])
var/res_amount, type
switch(href_list["imprinter_ejectsheet"])
@@ -725,6 +732,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(D.materials[M] > linked_lathe.uranium_amount) check_materials = 0
if("$diamond")
if(D.materials[M] > linked_lathe.diamond_amount) check_materials = 0
+ if("$adamantine")
+ if(D.materials[M] > linked_lathe.adamantine_amount) check_materials = 0
if("$clown")
if(D.materials[M] > linked_lathe.clown_amount) check_materials = 0
else if (!linked_lathe.reagents.has_reagent(M, D.materials[M]))
@@ -741,23 +750,23 @@ won't update every console in existence) but it's more of a hassle to do. Also,
//Metal
dat += "* [linked_lathe.m_amount] cm3 of Metal || "
dat += "Eject: "
- if(linked_lathe.m_amount > 3750) dat += "(1 Sheet) "
- if(linked_lathe.m_amount > 18750) dat += "(5 Sheets) "
- if(linked_lathe.m_amount > 3750) dat += "(Max Sheets)"
+ if(linked_lathe.m_amount >= 3750) dat += "(1 Sheet) "
+ if(linked_lathe.m_amount >= 18750) dat += "(5 Sheets) "
+ if(linked_lathe.m_amount >= 3750) dat += "(Max Sheets)"
dat += "
"
//Glass
dat += "* [linked_lathe.g_amount] cm3 of Glass || "
dat += "Eject: "
- if(linked_lathe.g_amount > 3750) dat += "(1 Sheet) "
- if(linked_lathe.g_amount > 18750) dat += "(5 Sheets) "
- if(linked_lathe.g_amount > 3750) dat += "(Max Sheets)"
+ if(linked_lathe.g_amount >= 3750) dat += "(1 Sheet) "
+ if(linked_lathe.g_amount >= 18750) dat += "(5 Sheets) "
+ if(linked_lathe.g_amount >= 3750) dat += "(Max Sheets)"
dat += "
"
//Gold
dat += "* [linked_lathe.gold_amount] cm3 of Gold || "
dat += "Eject: "
- if(linked_lathe.gold_amount > 3750) dat += "(1 Sheet) "
- if(linked_lathe.gold_amount > 18750) dat += "(5 Sheets) "
- if(linked_lathe.gold_amount > 3750) dat += "(Max Sheets)"
+ if(linked_lathe.gold_amount >= 3750) dat += "(1 Sheet) "
+ if(linked_lathe.gold_amount >= 18750) dat += "(5 Sheets) "
+ if(linked_lathe.gold_amount >= 3750) dat += "(Max Sheets)"
dat += "
"
//Silver
dat += "* [linked_lathe.silver_amount] cm3 of Silver || "
@@ -787,6 +796,13 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_lathe.diamond_amount >= 18750) dat += "(5 Sheets) "
if(linked_lathe.diamond_amount >= 3750) dat += "(Max Sheets)"
dat += "
"
+ //Adamantine - Is this even possible to get?
+ dat += "* [linked_lathe.adamantine_amount] cm3 of Adamantine || "
+ dat += "Eject: "
+ if(linked_lathe.adamantine_amount >= 3750) dat += "(1 Sheet) "
+ if(linked_lathe.adamantine_amount >= 18750) dat += "(5 Sheets) "
+ if(linked_lathe.adamantine_amount >= 3750) dat += "(Max Sheets)"
+ dat += "
"
//Bananium
dat += "* [linked_lathe.clown_amount] cm3 of Bananium || "
dat += "Eject: "
@@ -854,23 +870,23 @@ won't update every console in existence) but it's more of a hassle to do. Also,
//Glass
dat += "* [linked_imprinter.g_amount] cm3 of Glass || "
dat += "Eject: "
- if(linked_imprinter.g_amount > 3750) dat += "(1 Sheet) "
- if(linked_imprinter.g_amount > 18750) dat += "(5 Sheets) "
- if(linked_imprinter.g_amount > 3750) dat += "(Max Sheets)"
+ if(linked_imprinter.g_amount >= 3750) dat += "(1 Sheet) "
+ if(linked_imprinter.g_amount >= 18750) dat += "(5 Sheets) "
+ if(linked_imprinter.g_amount >= 3750) dat += "(Max Sheets)"
dat += "
"
//Gold
dat += "* [linked_imprinter.gold_amount] cm3 of Gold || "
dat += "Eject: "
- if(linked_imprinter.gold_amount > 3750) dat += "(1 Sheet) "
- if(linked_imprinter.gold_amount > 18750) dat += "(5 Sheets) "
- if(linked_imprinter.gold_amount > 3750) dat += "(Max Sheets)"
+ if(linked_imprinter.gold_amount >= 3750) dat += "(1 Sheet) "
+ if(linked_imprinter.gold_amount >= 18750) dat += "(5 Sheets) "
+ if(linked_imprinter.gold_amount >= 3750) dat += "(Max Sheets)"
dat += "
"
//Diamond
dat += "* [linked_imprinter.diamond_amount] cm3 of Diamond || "
dat += "Eject: "
- if(linked_imprinter.diamond_amount > 3750) dat += "(1 Sheet) "
- if(linked_imprinter.diamond_amount > 18750) dat += "(5 Sheets) "
- if(linked_imprinter.diamond_amount > 3750) dat += "(Max Sheets)"
+ if(linked_imprinter.diamond_amount >= 3750) dat += "(1 Sheet) "
+ if(linked_imprinter.diamond_amount >= 18750) dat += "(5 Sheets) "
+ if(linked_imprinter.diamond_amount >= 3750) dat += "(Max Sheets)"
user << browse("Research and Development Console
[dat]", "window=rdconsole;size=575x400")
onclose(user, "rdconsole")
\ No newline at end of file
diff --git a/icons/mob/back.dmi b/icons/mob/back.dmi
index 6d7dcd15a95..b9b87afa56d 100644
Binary files a/icons/mob/back.dmi and b/icons/mob/back.dmi differ
diff --git a/icons/mob/suit.dmi b/icons/mob/suit.dmi
index 37c49b10e7a..28f4a725f83 100644
Binary files a/icons/mob/suit.dmi and b/icons/mob/suit.dmi differ
diff --git a/icons/obj/clothing/suits.dmi b/icons/obj/clothing/suits.dmi
index e42238c3792..09d18f111af 100755
Binary files a/icons/obj/clothing/suits.dmi and b/icons/obj/clothing/suits.dmi differ
diff --git a/icons/obj/tank.dmi b/icons/obj/tank.dmi
index e3841ad0764..97b7d2f26f3 100644
Binary files a/icons/obj/tank.dmi and b/icons/obj/tank.dmi differ
diff --git a/maps/tgstation.2.0.8.dmm b/maps/tgstation.2.0.8.dmm
index bbad3941923..a46a044c264 100755
--- a/maps/tgstation.2.0.8.dmm
+++ b/maps/tgstation.2.0.8.dmm
@@ -1032,8 +1032,8 @@
"atR" = (/obj/machinery/atmospherics/pipe/manifold{color = "blue"; dir = 8; icon_state = "manifold-b-f"; initialize_directions = 11; level = 1; name = "pipe manifold"},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"atS" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 9; pixel_y = -1},/turf/simulated/floor/plating,/area/maintenance/fpmaint)
"atT" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/wall,/area/maintenance/fpmaint)
-"atU" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/ai_monitored/storage/eva)
-"atV" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
+"atU" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack/oxygen,/obj/machinery/light{icon_state = "tube1"; dir = 8},/turf/simulated/floor{dir = 9; icon_state = "warning"},/area/ai_monitored/storage/eva)
+"atV" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/weapon/tank/jetpack/oxygen,/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
"atW" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/ai_monitored/storage/eva)
"atX" = (/obj/machinery/hologram/holopad,/obj/machinery/atmospherics/pipe/simple/supply/hidden,/turf/simulated/floor,/area/ai_monitored/storage/eva)
"atY" = (/obj/structure/rack{dir = 8; layer = 2.9},/obj/item/clothing/shoes/magboots,/turf/simulated/floor{dir = 1; icon_state = "warning"},/area/ai_monitored/storage/eva)
@@ -2675,7 +2675,7 @@
"aZw" = (/obj/structure/stool/chair{dir = 1},/obj/effect/landmark/start{name = "Captain"},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
"aZx" = (/obj/item/weapon/paper{info = "Our scientists stole your suit and shoved it in their destructive analyzer. We replaced it with one that isn't space capable.
--Central Command"; name = "Important Memo"},/obj/item/weapon/book/manual/security_space_law,/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
"aZy" = (/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/obj/machinery/keycard_auth{pixel_x = 25},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
-"aZz" = (/obj/machinery/light/small{dir = 8},/obj/machinery/turret{desc = "aicore"; dir = 4},/turf/simulated/floor/grid,/area/turret_protected/ai)
+"aZz" = (/obj/machinery/light/small{dir = 8},/obj/machinery/turret{desc = ""; dir = 4; id = "aicore"},/turf/simulated/floor/grid,/area/turret_protected/ai)
"aZA" = (/obj/structure/cable{d1 = 1; d2 = 4; icon_state = "1-4"; tag = "90Curve"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"aZB" = (/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/structure/cable{tag = "Streight"; icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/turf/simulated/floor/grid,/area/turret_protected/ai)
"aZC" = (/obj/machinery/ai_slipper,/obj/structure/cable{tag = "Streight"; icon_state = "4-8"; pixel_x = 1; d1 = 4; d2 = 8},/obj/structure/cable{d1 = 1; d2 = 8; icon_state = "1-8"; tag = "90Curve"},/obj/effect/decal/warning_stripes{tag = "icon-U-S"; icon_state = "U-S"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
@@ -2755,7 +2755,7 @@
"baY" = (/obj/structure/table/reinforced,/obj/item/weapon/packageWrap,/obj/item/device/destTagger{pixel_x = 4; pixel_y = 3},/obj/machinery/door/window/eastleft{name = "Mail Office"; req_access_txt = "0"},/turf/simulated/floor,/area/quartermaster/sorting)
"baZ" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor,/area/hallway/primary/central)
"bba" = (/obj/machinery/door/firedoor/border_only,/turf/simulated/floor{icon_state = "bluecorner"},/area/hallway/primary/central)
-"bbb" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/capspace,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
+"bbb" = (/obj/structure/rack,/obj/item/weapon/tank/jetpack/oxygen,/obj/item/clothing/mask/gas,/obj/item/clothing/head/helmet/space/capspace,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
"bbc" = (/obj/structure/stool/bed,/obj/item/weapon/bedsheet,/obj/machinery/light_switch{pixel_y = -25},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
"bbd" = (/obj/structure/closet/secure_closet/captains,/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
"bbe" = (/obj/machinery/light/lamp{pixel_x = 4; pixel_y = 1},/obj/machinery/light,/obj/structure/table/woodentable,/obj/structure/disposalpipe/segment{dir = 1},/turf/simulated/floor{icon_state = "wood"},/area/crew_quarters/captain)
@@ -2860,7 +2860,7 @@
"bcZ" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 6},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/crew_quarters/captain)
"bda" = (/obj/machinery/atmospherics/pipe/simple/scrubbers/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/crew_quarters/captain)
"bdb" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/turret_protected/ai)
-"bdc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/turretid{id = "upload"; pixel_x = -24; pixel_y = -7},/obj/machinery/turretid{id = "aicore"; pixel_x = -24; pixel_y = 7},/obj/effect/decal/warning_stripes{tag = "icon-E-corner"; icon_state = "E-corner"},/obj/effect/decal/warning_stripes{tag = "icon-W-corner"; icon_state = "W-corner"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
+"bdc" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/turretid{id = "upload"; pixel_x = -24; pixel_y = -7},/obj/machinery/turretid{id = "aicore"; pixel_x = -24; pixel_y = 7},/obj/effect/decal/warning_stripes{tag = "icon-E-corner"; icon_state = "E-corner"},/obj/effect/decal/warning_stripes{tag = "icon-W-corner"; icon_state = "W-corner"},/obj/machinery/camera{c_tag = "AI Core Tunnel"; dir = 8; network = "Command"},/turf/simulated/floor{icon_state = "dark"},/area/turret_protected/ai)
"bdd" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden,/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 4},/obj/structure/disposalpipe/segment{dir = 4},/turf/simulated/wall/r_wall,/area/crew_quarters/heads)
"bde" = (/obj/machinery/atmospherics/pipe/simple/supply/hidden{dir = 10},/obj/structure/disposalpipe/sortjunction{backsort = 1; backType = list("Captain"); dir = 4; icon_state = "pipe-j2s"; sortType = list("HoP Office")},/turf/simulated/wall/r_wall,/area/crew_quarters/heads)
"bdf" = (/obj/structure/disposalpipe/segment{dir = 4},/obj/machinery/door/airlock/command{name = "Conference Room"; req_access = null; req_access_txt = "19"},/obj/structure/cable{d1 = 1; d2 = 2; icon_state = "1-2"; pixel_y = 0; tag = "Streight"},/turf/simulated/floor,/area/crew_quarters/heads)
@@ -6120,7 +6120,7 @@
"cnJ" = (/obj/machinery/optable/portable,/obj/machinery/camera{c_tag = "ERT Armoury Left"; dir = 4; network = "CREED"},/obj/item/weapon/storage/briefcase/surgery,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/centcom/specops)
"cnK" = (/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/centcom/specops)
"cnL" = (/obj/machinery/optable/portable,/obj/item/weapon/storage/briefcase/surgery,/turf/unsimulated/floor{tag = "icon-redbluefull (WEST)"; icon_state = "redbluefull"; dir = 8},/area/centcom/specops)
-"cnM" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/jetpack/black_jetpack,/obj/item/weapon/rcd/industrial,/obj/item/weapon/rcd_ammo/large,/turf/unsimulated/floor{tag = "icon-redgreenfull"; icon_state = "redgreenfull"},/area/centcom/specops)
+"cnM" = (/obj/structure/table/reinforced,/obj/item/weapon/tank/jetpack/carbondioxide,/obj/item/weapon/rcd/industrial,/obj/item/weapon/rcd_ammo/large,/turf/unsimulated/floor{tag = "icon-redgreenfull"; icon_state = "redgreenfull"},/area/centcom/specops)
"cnN" = (/turf/unsimulated/floor{tag = "icon-redgreenfull"; icon_state = "redgreenfull"},/area/centcom/specops)
"cnO" = (/obj/machinery/camera{c_tag = "ERT Armoury Right"; dir = 4; network = "CREED"},/turf/unsimulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/centcom/specops)
"cnP" = (/turf/unsimulated/floor{tag = "icon-vault (WEST)"; icon_state = "vault"; dir = 8},/area/centcom/specops)