[MIRROR] RCD Additions + Cyborg RCD Upgrades (#225)

* RCD Additions + Cyborg RCD Upgrades (#52018)

* adds directional window setting for normal grille window mode

adds furnishing upgrading to the rcd for chairs, stools, tables, and glass tables

both of these new introductions have their direction based on where you are facing when the timer for the build finishes

* adds the luxary rcd cargo pack with a loaded rcd, all 4 upgrade disks, and 3 extra compressed matter cartridges

* adds the furnishing upgrade to the techwebs

allows cyborgs to install rcd upgrades except silos

allows loading of metal and matter into the rcd by simply clicking on the thing you want to insert

lowers price of the cargo pack and removes the silo upgrade

adds banned upgrades var to the rcd

* you can now create windoors and deconstruct them as well

you can now deconstruct tables

doubles the price of the cargo pack for rcds

* removed cargo pack

* changes define to bitshift flags

moves matter addition to rcds to a proc on sheets

* matter amount is now a stack variable

* RCD Additions + Cyborg RCD Upgrades

Co-authored-by: Whoneedspacee <yougotreallyowned@gmail.com>
This commit is contained in:
SkyratBot
2020-08-07 01:39:32 +01:00
committed by GitHub
co-authored by Whoneedspacee
parent abfd1cf536
commit 2558111cba
15 changed files with 282 additions and 95 deletions
+8 -5
View File
@@ -50,10 +50,9 @@
if(RCD_DECONSTRUCT)
return list("mode" = RCD_DECONSTRUCT, "delay" = 20, "cost" = 5)
if(RCD_WINDOWGRILLE)
if(the_rcd.window_type == /obj/structure/window/reinforced/fulltile)
if(the_rcd.window_glass == RCD_WINDOW_REINFORCED)
return list("mode" = RCD_WINDOWGRILLE, "delay" = 40, "cost" = 12)
else
return list("mode" = RCD_WINDOWGRILLE, "delay" = 20, "cost" = 8)
return list("mode" = RCD_WINDOWGRILLE, "delay" = 20, "cost" = 8)
return FALSE
/obj/structure/grille/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
@@ -63,10 +62,14 @@
qdel(src)
return TRUE
if(RCD_WINDOWGRILLE)
if(locate(/obj/structure/window) in loc)
if(!isturf(loc))
return FALSE
var/turf/T = loc
var/window_dir = the_rcd.window_size == RCD_WINDOW_FULLTILE ? FULLTILE_WINDOW_DIR : user.dir
if(!valid_window_location(T, window_dir))
return FALSE
to_chat(user, "<span class='notice'>You construct the window.</span>")
var/obj/structure/window/WD = new the_rcd.window_type(drop_location())
var/obj/structure/window/WD = new the_rcd.window_type(T, window_dir)
WD.set_anchored(TRUE)
return TRUE
return FALSE
@@ -239,6 +239,20 @@
new framestack(T, framestackamount)
qdel(src)
/obj/structure/table/rcd_vals(mob/user, obj/item/construction/rcd/the_rcd)
switch(the_rcd.mode)
if(RCD_DECONSTRUCT)
return list("mode" = RCD_DECONSTRUCT, "delay" = 24, "cost" = 16)
return FALSE
/obj/structure/table/rcd_act(mob/user, obj/item/construction/rcd/the_rcd, passed_mode)
switch(passed_mode)
if(RCD_DECONSTRUCT)
to_chat(user, "<span class='notice'>You deconstruct the table.</span>")
qdel(src)
return TRUE
return FALSE
/obj/structure/table/greyscale
icon = 'icons/obj/smooth_structures/table_greyscale.dmi'