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