Fixes synths sometimes having permanant disfigurement and an inconsistancy with self repair (#18922)

* I FUCKING FOUND YOU. YOU LITTLE PIECE OF SHIT.

SO LONG. I HAVE BEEN LOOKING FOR THESE LINES OF CODE. SO LONG. HAVE I BEEN SUFFERING DUE TO THESE FUCKING LINES OF CODE.

does anyone even read commit details on PRs?

* Actually, no edgecases. No disfigurement on synths anymore.

---------

Co-authored-by: Cameron Lennox <killer65311@gmail.com>
This commit is contained in:
Reo Lozzot
2026-01-01 07:35:58 -06:00
committed by GitHub
parent 6dc22820ba
commit 384b0be55c
+8 -4
View File
@@ -515,14 +515,15 @@
if("omni") damage_amount = max(brute_dam,burn_dam)
else return 0
if(!damage_amount)
if(!damage_amount && !disfigured)
to_chat(user, span_notice("Nothing to fix!"))
return 0
if(brute_dam + burn_dam >= min_broken_damage) //VOREStation Edit - Makes robotic limb damage scalable
to_chat(user, span_danger("The damage is far too severe to patch over externally."))
return 0
/* // Leaving this here as a reference to how it used to work, but as of now, this just makes self repair for synths extra tedious.
// Normal meds like brute kits and such dont have this restriction, so this shouldn't have it either.
if(user == src.owner)
var/grasp
if(user.l_hand == tool && (src.body_part & (ARM_LEFT|HAND_LEFT)))
@@ -533,7 +534,7 @@
if(grasp)
to_chat(user, span_warning("You can't reach your [src.name] while holding [tool] in your [owner.get_bodypart_name(grasp)]."))
return 0
*/
user.setClickCooldown(user.get_attack_speed(tool))
if(!do_after(user, 1 SECOND, src))
to_chat(user, span_warning("You must stand still to do that."))
@@ -545,7 +546,10 @@
if("omni")src.heal_damage(repair_amount, repair_amount, 0, 1)
if(damage_desc)
var/fix_verb = (damage_amount > repair_amount) ? "patches" : "finishes patching"
var/fix_verb = "patches"
if(damage_amount > repair_amount)
fix_verb = "finishes patching"
disfigured = FALSE //Prevents some edgecases where you can repair despite hitting disfigurement thresholds, they're fully healed at this point anyways.
if(user == src.owner)
user.visible_message(span_infoplain(span_bold("\The [user]") + " [fix_verb] [damage_desc] on [user.p_their()] [src.name] with [tool]."))
else