Robotic Limb Repair now consumes cables

Repairing burn damage on a robotic limb / IPC now consumes cables in the
process.

The heal ratio is 3 burn damage per length of cable. Repairing will cap
at 15 damage (5 cables) per use, which is the amount that was previously
healed with every use. If you have less than 15 damage, it will use the
number of cables necessary to fully repair the damage. If you have fewer
than 5 cables, it will attempt to repair as much damage as possible with
the amount provided.

A full cable coil (30 lengths) will now heal a total of 90 burn damage,
instead of being an infinite healing source as long as you have at least
one piece. This makes cable coils more comparable to the advanced burn
kits in medical for organic patients, which have only 6 uses that always
heal 25 damage.

Technically a balance PR, but also can be considered an exploit fix
since robotic limbs literally had pocket-sized infinite healing sources
readily available across maint while organic limbs didn't have that
luxury.
This commit is contained in:
FalseIncarnate
2016-08-18 17:08:36 -04:00
parent 1cf45c60ec
commit 80ad643ddc
+13 -1
View File
@@ -517,7 +517,19 @@ var/global/list/datum/stack_recipe/cable_coil_recipes = list(
if(S.burn_dam)
if(S.burn_dam < ROBOLIMB_SELF_REPAIR_CAP)
S.heal_damage(0,15,0,1)
if(S.burn_dam >= 15 && amount >= 5)
S.heal_damage(0, 15, 0, 1)
use(5)
else
var/cable_to_use = 0
var/dam_left = S.burn_dam
while(dam_left > 0)
cable_to_use += 1
dam_left -= 3
if(cable_to_use >= amount) //make sure we don't use more cable than we have
cable_to_use = amount //in case we have a lot of damage but not a lot of cable
use(cable_to_use)
S.heal_damage(0, (cable_to_use * 3), 0, 1)
user.visible_message("<span class='alert'>\The [user] repairs some burn damage on \the [M]'s [S.name] with \the [src].</span>")
else if(S.open != 2)
to_chat(user, "<span class='danger'>The damage is far too severe to patch over externally.</span>")