diff --git a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm
index 099ce9d2f8e..f0dcbc4cb9b 100644
--- a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm
+++ b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmor.dm
@@ -14,7 +14,7 @@
body_parts_covered = UPPER_TORSO|LEGS|FEET|ARMS
armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
allowed = list(/obj/item/device/flashlight,/obj/item/weapon/gun,/obj/item/weapon/handcuffs,/obj/item/weapon/tank/emergency_oxygen)
- slowdown = 9
+ slowdown = 5
var/fuel = 0
var/list/togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75)
@@ -23,10 +23,10 @@
var/helmrequired = 1
var/obj/item/clothing/head/space/powered/helm
- var/glovesrequired = 0
+ var/glovesrequired = 1
var/obj/item/clothing/gloves/powered/gloves
- var/shoesrequired = 0
+ var/shoesrequired = 1
var/obj/item/clothing/shoes/powered/shoes
//Adding gloves and shoes as possible armor components. --NEO
@@ -252,29 +252,14 @@
armor = list(melee = 40, bullet = 30, laser = 20,energy = 15, bomb = 25, bio = 10, rad = 10)
-obj/item/clothing/suit/space/powered/spawnable/badmin/New()
+obj/item/clothing/suit/space/powered/spawnable/regular/New()
servos = new /obj/item/powerarmor/servos(src)
servos.parent = src
reactive = new /obj/item/powerarmor/reactive(src)
reactive.parent = src
- atmoseal = new /obj/item/powerarmor/atmoseal/optional/adminbus(src)
+ atmoseal = new /obj/item/powerarmor/atmoseal(src)
atmoseal.parent = src
- power = new /obj/item/powerarmor/power(src)
- power.parent = src
-
- verbs += /obj/item/clothing/suit/space/powered/proc/poweron
-
- var/obj/item/clothing/head/space/powered/helm = new /obj/item/clothing/head/space/powered(src.loc)
- helm.verbs += /obj/item/clothing/head/space/powered/proc/atmotoggle
-
-obj/item/clothing/suit/space/powered/spawnable/regular/New()
- servos = new /obj/item/powerarmor/servos(src)
- servos.parent = src
- reactive = new /obj/item/powerarmor/reactive/Centcom(src)
- reactive.parent = src
- atmoseal = new /obj/item/powerarmor/atmoseal/optional/adminbus(src)
- atmoseal.parent = src
- power = new /obj/item/powerarmor/power(src)
+ power = new /obj/item/powerarmor/power/powercell(src)
power.parent = src
verbs += /obj/item/clothing/suit/space/powered/proc/poweron
diff --git a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm
index 197254a12a3..b8a0ac5d459 100644
--- a/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm
+++ b/code/WorkInProgress/ZomgPonies/powerarmor/powerarmorcomponents.dm
@@ -5,6 +5,7 @@
/obj/item/powerarmor
name = "Generic power armor component"
desc = "This is the base object, you should never see one."
+ icon = 'icons/obj/stock_parts.dmi'
var/obj/item/clothing/suit/space/powered/parent //so the component knows which armor it belongs to.
slowdown = 0 //how much the component slows down the wearer
@@ -26,6 +27,7 @@
/obj/item/powerarmor/power/plasma
name = "Miniaturized plasma generator"
desc = "Runs on plasma."
+ icon_state = "plasma"
slowdown = 1
var/fuel = 0
@@ -45,12 +47,13 @@
/obj/item/powerarmor/power/powercell
name = "Powercell interface"
desc = "Boring, but reliable."
+ icon_state = "powercell_interface"
var/obj/item/weapon/cell/cell
slowdown = 0.5
/obj/item/powerarmor/power/powercell/process()
if (cell && cell.charge > 0 && parent.active)
- cell.use(50)
+ cell.use(500)
spawn(50)
process()
return
@@ -64,6 +67,7 @@
/obj/item/powerarmor/power/nuclear
name = "Miniaturized nuclear generator"
desc = "For all your radioactive needs."
+ icon_state = "nuclear"
slowdown = 1.5
/obj/item/powerarmor/power/nuclear/process()
@@ -91,10 +95,10 @@
return !crit_fail
/obj/item/powerarmor/reactive
- name = "Adminbus power armor reactive plating"
- desc = "Made with the rare Badminium molecule."
- var/list/togglearmor = list(melee = 250, bullet = 100, laser = 100,energy = 100, bomb = 100, bio = 100, rad = 100)
- //Good lord an active energy axe does 150 damage a swing? Anyway, barring var editing, this armor loadout should be impervious to anything. Enjoy, badmins~ --NEO
+ name = "Centcom power armor reactive plating"
+ desc = "Pretty effective against everything, not perfect though."
+ var/list/togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75)
+ slowdown = 2
/obj/item/powerarmor/reactive/toggle(sudden = 0)
switch(parent.active)
@@ -116,16 +120,13 @@
if(parent.shoes)
parent.shoes.armor[armorvar] = parent.armor[armorvar]
-/obj/item/powerarmor/reactive/Centcom
- name = "Centcom power armor reactive plating"
- desc = "Pretty effective against everything, not perfect though."
- togglearmor = list(melee = 90, bullet = 70, laser = 60,energy = 40, bomb = 75, bio = 75, rad = 75)
- slowdown = 2
+
/obj/item/powerarmor/servos
name = "Power armor movement servos"
desc = "Help with moving in the the bulky armor."
+ icon_state = "servos"
var/toggleslowdown = 9
/obj/item/powerarmor/servos/toggle(sudden = 0)
@@ -141,6 +142,7 @@
/obj/item/powerarmor/atmoseal
name = "Power armor atmospheric seals"
desc = "Keeps the bad stuff out."
+ icon_state = "atmosseal"
slowdown = 1
var/sealed = 0
@@ -201,11 +203,6 @@
parent.shoes.max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECITON_TEMPERATURE
sealed = 1
-/obj/item/powerarmor/atmoseal/adminbus
- name = "Adminbus power armor atmospheric seals"
- desc = "Made with the rare Badminium molecule."
- slowdown = 0
-
/obj/item/powerarmor/atmoseal/optional
name = "Togglable power armor atmospheric seals"
desc = "Keeps the bad stuff out, but lets you remove your helmet without having to turn the whole suit off."
@@ -260,10 +257,5 @@
-/obj/item/powerarmor/atmoseal/optional/adminbus
- name = "Adminbus togglable power armor atmospheric seals"
- desc = "Made with the rare Badminium molecule."
- slowdown = 0
-
diff --git a/code/modules/research/designs.dm b/code/modules/research/designs.dm
index c00e98f1ef9..b3842866a36 100644
--- a/code/modules/research/designs.dm
+++ b/code/modules/research/designs.dm
@@ -12,6 +12,7 @@ The currently supporting non-reagent materials:
- $metal (/obj/item/stack/metal). One sheet = 3750 units.
- $glass (/obj/item/stack/glass). One sheet = 3750 units.
- $plasma (/obj/item/stack/plasma). One sheet = 3750 units.
+- $plasteel (/obj/item/stack/sheet/plasteel). One sheet = 3750 units.
- $silver (/obj/item/stack/silver). One sheet = 3750 units.
- $gold (/obj/item/stack/gold). One sheet = 3750 units.
- $uranium (/obj/item/stack/uranium). One sheet = 3750 units.
@@ -1599,6 +1600,100 @@ datum/design/plasmapistol
materials = list("$metal" = 5000, "$glass" = 1000, "$plasma" = 3000)
build_path = "/obj/item/weapon/gun/energy/toxgun"
+/////////////////////////////////////////
+/////////////////Armor///////////////////
+/////////////////////////////////////////
+
+datum/design/powerarmor
+ name = "Powered armor suit"
+ desc = "The frame for Centcom's patented powered armor."
+ id = "powerarmor"
+ req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 7500, "$plasteel" = 4000)
+ build_path = /obj/item/clothing/suit/space/powered
+
+datum/design/powerarmor_helmet
+ name = "Powered armor helmet"
+ desc = "The frame for Centcom's patented powered armor."
+ id = "powerarmorhelmet"
+ req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 3750, "$glass" = 3750, "$plasteel" = 2000)
+ build_path = /obj/item/clothing/head/space/powered
+
+datum/design/powerarmor_gloves
+ name = "Powered armor gloves"
+ desc = "The frame for Centcom's patented powered armor."
+ id = "powerarmorgloves"
+ req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 7500, "$plasteel" = 2000)
+ build_path = /obj/item/clothing/gloves/powered
+
+datum/design/powerarmor_boots
+ name = "Powered armor boots"
+ desc = "The frame for Centcom's patented powered armor."
+ id = "powerarmorboots"
+ req_tech = list("combat" = 3, "materials" = 3, "engineering" = 3, "biotech" = 2)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 7500, "$plasteel" = 2000)
+ build_path = /obj/item/clothing/shoes/powered
+
+datum/design/powerarmor_plasma
+ name = "Powered armor miniaturized plasma generator"
+ desc = "One of the potential power sources for powered armor."
+ id = "powerarmorplasma"
+ req_tech = list("combat" = 3, "engineering" = 3, "powerstorage" = 4, "plasmatech" = 4)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 7500, "$plasma" = 4000)
+ build_path = /obj/item/powerarmor/power/plasma
+
+datum/design/powerarmor_cell
+ name = "Powered armor powercell interface"
+ desc = "One of the potential power sources for powered armor."
+ id = "powerarmorcell"
+ req_tech = list("combat" = 3, "engineering" = 3, "powerstorage" = 3, "magnets" = 2)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 7500, "$silver" = 4000)
+ build_path = /obj/item/powerarmor/power/powercell
+
+datum/design/powerarmor_nuclear
+ name = "Powered armor miniaturized nuclear generator"
+ desc = "One of the potential power sources for powered armor."
+ id = "powerarmornuclear"
+ req_tech = list("combat" = 3, "engineering" = 3, "powerstorage" = 4, "magnets" = 3)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 7500, "$uranium" = 4000)
+ build_path = /obj/item/powerarmor/power/nuclear
+
+datum/design/powerarmor_reactive
+ name = "Powered armor reactive plating"
+ desc = "The core of the power armor's active defenses."
+ id = "powerarmorreactive"
+ req_tech = list("combat" = 3, "engineering" = 3, "powerstorage" = 3, "materials" = 4)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 7500, "$diamond" = 4000)
+ build_path = /obj/item/powerarmor/reactive
+
+datum/design/powerarmor_servos
+ name = "Powered armor servos"
+ desc = "This allows the powerarmor to move efficiently."
+ id = "powerarmorservos"
+ req_tech = list("combat" = 3, "engineering" = 3, "powerstorage" = 3, "materials" = 4)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 7500, "$plasteel" = 4000)
+ build_path = /obj/item/powerarmor/servos
+
+datum/design/powerarmor_atmoseal
+ name = "Powered armor atmospheric seal"
+ desc = "This keeps the bad stuff out."
+ id = "powerarmoratmoseal"
+ req_tech = list("combat" = 3, "engineering" = 3, "powerstorage" = 3, "materials" = 4)
+ build_type = PROTOLATHE
+ materials = list("$metal" = 7500, "$plasteel" = 4000)
+ build_path = /obj/item/powerarmor/atmoseal
+
/////////////////////////////////////////
/////////////////Mining//////////////////
/////////////////////////////////////////
diff --git a/code/modules/research/protolathe.dm b/code/modules/research/protolathe.dm
index 787ec97868a..02f270d18ea 100644
--- a/code/modules/research/protolathe.dm
+++ b/code/modules/research/protolathe.dm
@@ -14,6 +14,7 @@ Note: Must be placed west/left of and R&D console to function.
var/max_material_storage = 100000 //All this could probably be done better with a list but meh.
var/m_amount = 0.0
+ var/plasteel_amount = 0.0
var/g_amount = 0.0
var/gold_amount = 0.0
var/silver_amount = 0.0
@@ -87,6 +88,9 @@ Note: Must be placed west/left of and R&D console to function.
if(g_amount >= 3750)
var/obj/item/stack/sheet/glass/G = new /obj/item/stack/sheet/glass(src.loc)
G.amount = round(g_amount / G.perunit)
+ if(plasteel_amount >= 2000)
+ var/obj/item/stack/sheet/plasteel/G = new /obj/item/stack/sheet/plasteel(src.loc)
+ G.amount = round(plasteel_amount / G.perunit)
if(plasma_amount >= 2000)
var/obj/item/stack/sheet/mineral/plasma/G = new /obj/item/stack/sheet/mineral/plasma(src.loc)
G.amount = round(plasma_amount / G.perunit)
@@ -162,6 +166,8 @@ Note: Must be placed west/left of and R&D console to function.
m_amount += amount * 3750
if(/obj/item/stack/sheet/glass)
g_amount += amount * 3750
+ if(/obj/item/stack/sheet/plasteel)
+ g_amount += amount * 2000
if(/obj/item/stack/sheet/mineral/gold)
gold_amount += amount * 2000
if(/obj/item/stack/sheet/mineral/silver)
diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm
index 3f190a60e9f..4105aaaf759 100644
--- a/code/modules/research/rdconsole.dm
+++ b/code/modules/research/rdconsole.dm
@@ -78,6 +78,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
switch(return_name)
if("metal")
return_name = "Metal"
+ if("plasteel")
+ return_name = "Plasteel"
if("glass")
return_name = "Glass"
if("gold")
@@ -169,7 +171,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
else
//The construction/deconstruction of the console code.
..()
-
+
src.updateUsrDialog()
return
@@ -366,6 +368,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
linked_lathe.m_amount = max(0, (linked_lathe.m_amount-being_built.materials[M]))
if("$glass")
linked_lathe.g_amount = max(0, (linked_lathe.g_amount-being_built.materials[M]))
+ if("$plasteel")
+ linked_lathe.plasteel_amount = max(0, (linked_lathe.plasteel_amount-being_built.materials[M]))
if("$gold")
linked_lathe.gold_amount = max(0, (linked_lathe.gold_amount-being_built.materials[M]))
if("$silver")
@@ -456,6 +460,9 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if("glass")
type = /obj/item/stack/sheet/glass
res_amount = "g_amount"
+ if("plasteel")
+ type = /obj/item/stack/sheet/plasteel
+ res_amount = "plasteel_amount"
if("gold")
type = /obj/item/stack/sheet/mineral/gold
res_amount = "gold_amount"
@@ -729,6 +736,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(D.materials[M] > linked_lathe.g_amount) check_materials = 0
if("$metal")
if(D.materials[M] > linked_lathe.m_amount) check_materials = 0
+ if("$plasteel")
+ if(D.materials[M] > linked_lathe.plasteel_amount) check_materials = 0
if("$gold")
if(D.materials[M] > linked_lathe.gold_amount) check_materials = 0
if("$silver")
@@ -766,6 +775,12 @@ won't update every console in existence) but it's more of a hassle to do. Also,
if(linked_lathe.g_amount >= 18750) dat += "(5 Sheets) "
if(linked_lathe.g_amount >= 3750) dat += "(Max Sheets)"
dat += "
"
+ //Plasteel
+ dat += "* [linked_lathe.plasteel_amount] cm3 of Plasteel || "
+ dat += "Eject: "
+ if(linked_lathe.plasteel_amount >= 2000) dat += "(1 Sheet) "
+ if(linked_lathe.plasteel_amount >= 10000) dat += "(5 Sheets) "
+ if(linked_lathe.plasteel_amount >= 2000) dat += "(Max Sheets)"
//Gold
dat += "* [linked_lathe.gold_amount] cm3 of Gold || "
dat += "Eject: "
diff --git a/icons/obj/stock_parts.dmi b/icons/obj/stock_parts.dmi
index 9e93128a698..4226d924dfa 100644
Binary files a/icons/obj/stock_parts.dmi and b/icons/obj/stock_parts.dmi differ