Added powerarmor to RnD

This commit is contained in:
ZomgPonies
2014-06-05 22:09:32 -04:00
parent caaf56dbcc
commit 751c3badd1
6 changed files with 135 additions and 42 deletions
@@ -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
@@ -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
+95
View File
@@ -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//////////////////
/////////////////////////////////////////
+6
View File
@@ -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)
+16 -1
View File
@@ -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 += "<A href='?src=\ref[src];lathe_ejectsheet=glass;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.g_amount >= 3750) dat += "<A href='?src=\ref[src];lathe_ejectsheet=glass;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
dat += "<BR>"
//Plasteel
dat += "* [linked_lathe.plasteel_amount] cm<sup>3</sup> of Plasteel || "
dat += "Eject: "
if(linked_lathe.plasteel_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasteel;lathe_ejectsheet_amt=1'>(1 Sheet)</A> "
if(linked_lathe.plasteel_amount >= 10000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasteel;lathe_ejectsheet_amt=5'>(5 Sheets)</A> "
if(linked_lathe.plasteel_amount >= 2000) dat += "<A href='?src=\ref[src];lathe_ejectsheet=plasteel;lathe_ejectsheet_amt=50'>(Max Sheets)</A>"
//Gold
dat += "* [linked_lathe.gold_amount] cm<sup>3</sup> of Gold || "
dat += "Eject: "
Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 21 KiB