mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Added powerarmor to RnD
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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//////////////////
|
||||
/////////////////////////////////////////
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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 |
Reference in New Issue
Block a user