private void OnInteracted(EntityUid uid, DamageOnToolInteractComponent component, InteractUsingEvent args) { if (args.Handled) { return; } if (component.WeldingDamage is {} weldingDamage && args.Used.TryGetComponent <WelderComponent>(out var welder) && welder.Lit) { _damageableSystem.TryChangeDamage(args.Target.Uid, weldingDamage); args.Handled = true; return; } if (component.DefaultDamage is {} damage && args.Used.TryGetComponent <ToolComponent>(out var tool) && tool.Qualities.ContainsAny(component.Tools)) { _damageableSystem.TryChangeDamage(args.Target.Uid, damage); args.Handled = true; return; } }
private void OnInteracted(EntityUid uid, DamageOnToolInteractComponent component, InteractUsingEvent args) { if (args.Handled) { return; } if (component.WeldingDamage is {} weldingDamage && EntityManager.TryGetComponent <WelderComponent?>(args.Used, out var welder) && welder.Lit) { var dmg = _damageableSystem.TryChangeDamage(args.Target, weldingDamage); if (dmg != null) { _logSystem.Add(LogType.Damaged, $"{ToPrettyString(args.User):user} used {ToPrettyString(args.Used):used} as a welder to deal {dmg.Total:damage} damage to {ToPrettyString(args.Target):target}"); } args.Handled = true; }