using Content.Shared.Administration.Logs;
using Content.Shared.Chemistry.EntitySystems;
using Content.Shared.DoAfter;
+using Content.Shared.Examine;
using Content.Shared.Interaction;
using Content.Shared.Item.ItemToggle;
using Content.Shared.Maps;
InitializeTile();
InitializeWelder();
SubscribeLocalEvent<ToolComponent, ToolDoAfterEvent>(OnDoAfter);
+ SubscribeLocalEvent<ToolComponent, ExaminedEvent>(OnExamine);
}
private void OnDoAfter(EntityUid uid, ToolComponent tool, ToolDoAfterEvent args)
RaiseLocalEvent((object) ev);
}
+ private void OnExamine(Entity<ToolComponent> ent, ref ExaminedEvent args)
+ {
+ // If the tool has no qualities, exit early
+ if (ent.Comp.Qualities.Count == 0)
+ return;
+
+ var message = new FormattedMessage();
+
+ // Create a list to store tool quality names
+ var toolQualities = new List<string>();
+
+ // Loop through tool qualities and add localized names to the list
+ foreach (var toolQuality in ent.Comp.Qualities)
+ {
+ if (_protoMan.TryIndex<ToolQualityPrototype>(toolQuality ?? string.Empty, out var protoToolQuality))
+ {
+ toolQualities.Add(Loc.GetString(protoToolQuality.Name));
+ }
+ }
+
+ // Combine the qualities into a single string and localize the final message
+ var qualitiesString = string.Join(", ", toolQualities);
+
+ // Add the localized message to the FormattedMessage object
+ message.AddMarkupPermissive(Loc.GetString("tool-component-qualities", ("qualities", qualitiesString)));
+ args.PushMessage(message);
+ }
+
public void PlayToolSound(EntityUid uid, ToolComponent tool, EntityUid? user)
{
if (tool.UseSound == null)