Buffs the Rapid Cable Layer and Puts it in the Hands of People (#31513)

* cables

* RCL deployment

* Update RCL.dm

* procedural colour woo

* Update RCL.dm

* Update RCL.dm

* Update RCL.dm

---------

Signed-off-by: CRUNCH <143041327+CRUNCH-Borg@users.noreply.github.com>
This commit is contained in:
CRUNCH
2026-02-05 06:27:32 +00:00
committed by GitHub
parent 7f6fc2e359
commit 56d131c6ac
15 changed files with 188 additions and 113 deletions
@@ -23,7 +23,7 @@
var/list/malf_modules = list()
/// A list of modules that require special recharge handling. Examples include things like flashes, sprays and welding tools.
var/list/special_rechargables = list()
/// A list of all "energy stacks", i.e cables, brute kits, splints, etc.
/// A list of all "energy stacks", i.e rods, brute kits, splints, etc.
var/list/storages = list()
/// A list of all "material stacks", i.e. metal, glass, and reinforced glass
var/list/material_storages = list()
@@ -470,8 +470,7 @@
/obj/item/stack/rods/cyborg,
/obj/item/stack/tile/plasteel/cyborg,
/obj/item/stack/tile/catwalk/cyborg,
/obj/item/stack/cable_coil/cyborg,
/obj/item/stack/cable_coil/extra_insulated/cyborg,
/obj/item/rcl/robot,
/obj/item/stack/sheet/glass/cyborg,
/obj/item/stack/sheet/rglass/cyborg,
/obj/item/inflatable/cyborg,
@@ -767,8 +766,7 @@
/obj/item/stack/rods/cyborg,
/obj/item/stack/tile/plasteel/cyborg,
/obj/item/stack/tile/catwalk/cyborg,
/obj/item/stack/cable_coil/cyborg,
/obj/item/stack/cable_coil/extra_insulated/cyborg,
/obj/item/rcl/robot,
/obj/item/stack/sheet/glass/cyborg/drone,
/obj/item/stack/sheet/rglass/cyborg/drone,
/obj/item/stack/sheet/wood/cyborg,
@@ -878,7 +876,7 @@
/obj/item/stack/sheet/metal/cyborg,
/obj/item/stack/rods/cyborg,
/obj/item/stack/tile/plasteel/cyborg,
/obj/item/stack/cable_coil/cyborg,
/obj/item/rcl/robot,
/obj/item/stack/sheet/glass/cyborg,
/obj/item/stack/sheet/rglass/cyborg
)
@@ -1052,10 +1050,6 @@
statpanel_name = "Wooden tiles"
max_amount = 60
/datum/robot_storage/energy/cable
name = "Cable Synthesizer"
statpanel_name = "Cable"
// For the medical stacks, even though the recharge rate is 0, it will be set to 1 by default because of a `max()` proc.
// It will always take ~12 seconds to fully recharge these stacks beacuse of this. This time does not apply to the syndicate storages.
/datum/robot_storage/energy/medical
+7 -28
View File
@@ -24,6 +24,8 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
slot_flags = ITEM_SLOT_BELT
attack_verb = list("whipped", "lashed", "disciplined", "flogged")
usesound = 'sound/items/deconstruct.ogg'
/// Used for RCL cable spools to stop the stack from being eaten.
var/rcl_spool = FALSE
/// Type of cable this coil makes
var/cable_type = /obj/structure/cable
/// Bitflag of the types of cable we can add cable to with this coil.
@@ -66,7 +68,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
/obj/item/stack/cable_coil/examine(mob/user)
. = ..()
if(!in_range(user, src) || is_cyborg)
if(!in_range(user, src))
return
if(get_amount() == 1)
. += "A short piece of power cable."
@@ -125,7 +127,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
else
break
while(cable_used <= MAXCABLEPERHEAL && E.burn_dam && amount >= 1)
use(1)
use(1, rcl_spool)
cable_used += 1
E.heal_damage(0, HEALPERCABLE, 0, TRUE)
H.UpdateDamageIcon()
@@ -215,7 +217,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
if(IS_DIR_DIAGONAL(C.d2))// if the cable is layed diagonally, check the others 2 possible directions
C.merge_diagonal_networks(C.d2)
use(1)
use(1, rcl_spool)
if(C.shock(user, 50))
if(prob(50)) //fail
@@ -281,7 +283,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
if(IS_DIR_DIAGONAL(NC.d2)) // if the cable is layed diagonally, check the others 2 possible directions
NC.merge_diagonal_networks(NC.d2)
use(1)
use(1, rcl_spool)
if(NC.shock(user, 50))
if(prob(50)) //fail
@@ -327,7 +329,7 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
if(C.d2 & (C.d2 - 1))// if the cable is layed diagonally, check the others 2 possible directions
C.merge_connected_networks(C.d2)
use(1)
use(1, rcl_spool)
if(C.shock(user, 50))
if(prob(50)) //fail
@@ -428,28 +430,5 @@ GLOBAL_LIST_INIT(cable_coil_recipes, list (new/datum/stack_recipe/cable_restrain
update_appearance(UPDATE_NAME|UPDATE_ICON_STATE)
update_wclass()
/obj/item/stack/cable_coil/cyborg
energy_type = /datum/robot_storage/energy/cable
is_cyborg = TRUE
/obj/item/stack/cable_coil/cyborg/update_icon_state()
return // icon_state should always be a full cable
/obj/item/stack/cable_coil/cyborg/attack_self__legacy__attackchain(mob/user)
var/cablecolor = tgui_input_list(usr, "Pick a cable color.", "Cable Color", list("red","yellow","green","blue","pink","orange","cyan","white"))
cable_color(cablecolor)
update_icon()
/obj/item/stack/cable_coil/extra_insulated/cyborg
energy_type = /datum/robot_storage/energy/cable
is_cyborg = TRUE
/obj/item/stack/cable_coil/extra_insulated/cyborg/attack_self__legacy__attackchain(mob/user)
toggle_connection(user)
update_icon()
/obj/item/stack/cable_coil/extra_insulated/cyborg/update_icon_state()
return // icon_state should always be a full cable
#undef HEALPERCABLE
#undef MAXCABLEPERHEAL
@@ -830,7 +830,7 @@
id = "rcl"
build_type = AUTOLATHE
materials = list(MAT_METAL = 5000)
build_path = /obj/item/rcl
build_path = /obj/item/rcl/empty
category = list("initial", "Construction")
//hacked autolathe recipes