mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-20 11:34:19 +01:00
Recommits storage
This commit is contained in:
@@ -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.
|
||||
@@ -1609,6 +1610,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)
|
||||
plasteel_amount += amount * 2000
|
||||
if(/obj/item/stack/sheet/mineral/gold)
|
||||
gold_amount += amount * 2000
|
||||
if(/obj/item/stack/sheet/mineral/silver)
|
||||
|
||||
@@ -34,6 +34,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
/obj/machinery/computer/rdconsole
|
||||
name = "R&D Console"
|
||||
icon_state = "rdcomp"
|
||||
circuit = /obj/item/weapon/circuitboard/rdconsole
|
||||
var/datum/research/files //Stores all the collected research data.
|
||||
var/obj/item/weapon/disk/tech_disk/t_disk = null //Stores the technology disk.
|
||||
var/obj/item/weapon/disk/design_disk/d_disk = null //Stores the design disk.
|
||||
@@ -46,7 +47,7 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
var/id = 0 //ID of the computer (for server restrictions).
|
||||
var/sync = 1 //If sync = 0, it doesn't show up on Server Control Console
|
||||
|
||||
req_access = list(access_tox) //Data and setting manipulation requires scientist access.
|
||||
req_access = list(access_research) //Data and setting manipulation requires scientist access.
|
||||
|
||||
/obj/machinery/computer/rdconsole/proc/Maximize()
|
||||
|
||||
@@ -77,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")
|
||||
@@ -147,35 +150,8 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
*/
|
||||
|
||||
/obj/machinery/computer/rdconsole/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob)
|
||||
//The construction/deconstruction of the console code.
|
||||
if(istype(D, /obj/item/weapon/screwdriver))
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
if (src.stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
|
||||
new /obj/item/weapon/shard( src.loc )
|
||||
var/obj/item/weapon/circuitboard/rdconsole/M = new /obj/item/weapon/circuitboard/rdconsole( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
A.circuit = M
|
||||
A.state = 3
|
||||
A.icon_state = "3"
|
||||
A.anchored = 1
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/rdconsole/M = new /obj/item/weapon/circuitboard/rdconsole( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
A.circuit = M
|
||||
A.state = 4
|
||||
A.icon_state = "4"
|
||||
A.anchored = 1
|
||||
del(src)
|
||||
//Loading a disk into it.
|
||||
else if(istype(D, /obj/item/weapon/disk))
|
||||
if(istype(D, /obj/item/weapon/disk))
|
||||
if(t_disk || d_disk)
|
||||
user << "A disk is already loaded into the machine."
|
||||
return
|
||||
@@ -192,6 +168,10 @@ won't update every console in existence) but it's more of a hassle to do. Also,
|
||||
playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1)
|
||||
emagged = 1
|
||||
user << "\blue You you disable the security protocols"
|
||||
else
|
||||
//The construction/deconstruction of the console code.
|
||||
..()
|
||||
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
@@ -388,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")
|
||||
@@ -478,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"
|
||||
@@ -751,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")
|
||||
@@ -788,6 +775,13 @@ 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>"
|
||||
dat += "<BR>"
|
||||
//Gold
|
||||
dat += "* [linked_lathe.gold_amount] cm<sup>3</sup> of Gold || "
|
||||
dat += "Eject: "
|
||||
|
||||
@@ -100,24 +100,5 @@ proc/move_research_shuttle()
|
||||
hacked = 1
|
||||
usr << "You fried the consoles ID checking system. It's now available to everyone!"
|
||||
|
||||
else if(istype(W, /obj/item/weapon/screwdriver))
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/research_shuttle/M = new /obj/item/weapon/circuitboard/research_shuttle( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
A.circuit = M
|
||||
A.anchored = 1
|
||||
|
||||
if (src.stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
getFromPool(/obj/item/weapon/shard, loc)
|
||||
A.state = 3
|
||||
A.icon_state = "3"
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
A.state = 4
|
||||
A.icon_state = "4"
|
||||
|
||||
del(src)
|
||||
else
|
||||
..()
|
||||
|
||||
@@ -194,6 +194,7 @@
|
||||
/obj/machinery/computer/rdservercontrol
|
||||
name = "R&D Server Controller"
|
||||
icon_state = "rdcomp"
|
||||
circuit = /obj/item/weapon/circuitboard/rdservercontrol
|
||||
var/screen = 0
|
||||
var/obj/machinery/r_n_d/server/temp_server
|
||||
var/list/servers = list()
|
||||
@@ -333,38 +334,12 @@
|
||||
return
|
||||
|
||||
/obj/machinery/computer/rdservercontrol/attackby(var/obj/item/weapon/D as obj, var/mob/user as mob)
|
||||
if(istype(D, /obj/item/weapon/screwdriver))
|
||||
playsound(src.loc, 'sound/items/Screwdriver.ogg', 50, 1)
|
||||
if(do_after(user, 20))
|
||||
if (src.stat & BROKEN)
|
||||
user << "\blue The broken glass falls out."
|
||||
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
|
||||
getFromPool(/obj/item/weapon/shard, loc)
|
||||
var/obj/item/weapon/circuitboard/rdservercontrol/M = new /obj/item/weapon/circuitboard/rdservercontrol( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
A.circuit = M
|
||||
A.state = 3
|
||||
A.icon_state = "3"
|
||||
A.anchored = 1
|
||||
del(src)
|
||||
else
|
||||
user << "\blue You disconnect the monitor."
|
||||
var/obj/structure/computerframe/A = new /obj/structure/computerframe( src.loc )
|
||||
var/obj/item/weapon/circuitboard/rdservercontrol/M = new /obj/item/weapon/circuitboard/rdservercontrol( A )
|
||||
for (var/obj/C in src)
|
||||
C.loc = src.loc
|
||||
A.circuit = M
|
||||
A.state = 4
|
||||
A.icon_state = "4"
|
||||
A.anchored = 1
|
||||
del(src)
|
||||
else if(istype(D, /obj/item/weapon/card/emag) && !emagged)
|
||||
if(istype(D, /obj/item/weapon/card/emag) && !emagged)
|
||||
playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1)
|
||||
emagged = 1
|
||||
user << "\blue You you disable the security protocols"
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
return ..()
|
||||
|
||||
|
||||
/obj/machinery/r_n_d/server/robotics
|
||||
@@ -378,4 +353,4 @@
|
||||
name = "Core R&D Server"
|
||||
id_with_upload_string = "1"
|
||||
id_with_download_string = "1"
|
||||
server_id = 1
|
||||
server_id = 1
|
||||
|
||||
@@ -317,16 +317,26 @@
|
||||
deactivate()
|
||||
..()
|
||||
|
||||
/obj/machinery/suspension_gen/verb/toggle()
|
||||
/obj/machinery/suspension_gen/verb/rotate_ccw()
|
||||
set src in view(1)
|
||||
set name = "Rotate suspension gen (clockwise)"
|
||||
set category = "IC"
|
||||
set name = "Rotate suspension gen (counter-clockwise)"
|
||||
set category = "Object"
|
||||
|
||||
if(anchored)
|
||||
usr << "\red You cannot rotate [src], it has been firmly fixed to the floor."
|
||||
else
|
||||
dir = turn(dir, 90)
|
||||
|
||||
/obj/machinery/suspension_gen/verb/rotate_cw()
|
||||
set src in view(1)
|
||||
set name = "Rotate suspension gen (clockwise)"
|
||||
set category = "Object"
|
||||
|
||||
if(anchored)
|
||||
usr << "\red You cannot rotate [src], it has been firmly fixed to the floor."
|
||||
else
|
||||
dir = turn(dir, -90)
|
||||
|
||||
/obj/effect/suspension_field
|
||||
name = "energy field"
|
||||
icon = 'icons/effects/effects.dmi'
|
||||
|
||||
Reference in New Issue
Block a user