Makes repairable component able to heal a set amount of damage (#6852)

This commit is contained in:
SplinterGP
2022-02-23 21:00:39 -03:00
committed by GitHub
parent bee627ac6a
commit 351c518582
2 changed files with 23 additions and 3 deletions

View File

@@ -34,9 +34,18 @@ namespace Content.Server.Repairable
if (!await _toolSystem.UseTool(args.Used, args.User, uid, component.FuelCost, component.DoAfterDelay, component.QualityNeeded))
return;
// Repair all damage
_damageableSystem.SetAllDamage(damageable, 0);
_logSystem.Add(LogType.Healed, $"{ToPrettyString(args.User):user} repaired ${ToPrettyString(uid):target} back to full health");
if (component.Damage != null)
{
var damageChanged = _damageableSystem.TryChangeDamage(uid, component.Damage, true, false);
_logSystem.Add(LogType.Healed, $"{ToPrettyString(args.User):user} repaired {ToPrettyString(uid):target} by {damageChanged?.Total}");
}
else
{
// Repair all damage
_damageableSystem.SetAllDamage(damageable, 0);
_logSystem.Add(LogType.Healed, $"{ToPrettyString(args.User):user} repaired {ToPrettyString(uid):target} back to full health");
}
component.Owner.PopupMessage(args.User,
Loc.GetString("comp-repairable-repair",