diff --git a/Content.Server/White/Other/CustomFluffSystems/merkka/CustomCatExamineComponent.cs b/Content.Server/White/Other/CustomFluffSystems/merkka/CustomCatExamineComponent.cs new file mode 100644 index 0000000000..dbe2bd0847 --- /dev/null +++ b/Content.Server/White/Other/CustomFluffSystems/merkka/CustomCatExamineComponent.cs @@ -0,0 +1,7 @@ +namespace Content.Server.White.Other.CustomFluffSystems.merkka; + +[RegisterComponent] +public sealed class CustomCatExamineComponent : Component +{ + public string? CatOwner; +} diff --git a/Content.Server/White/Other/CustomFluffSystems/merkka/CustomCatExamineSystem.cs b/Content.Server/White/Other/CustomFluffSystems/merkka/CustomCatExamineSystem.cs new file mode 100644 index 0000000000..2f36843f95 --- /dev/null +++ b/Content.Server/White/Other/CustomFluffSystems/merkka/CustomCatExamineSystem.cs @@ -0,0 +1,36 @@ +using Content.Shared.Examine; +using Robust.Server.Player; + +namespace Content.Server.White.Other.CustomFluffSystems.merkka; + +public sealed class CustomCatExamineSystem : EntitySystem +{ + [Dependency] private readonly IPlayerManager _playerManager = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnExamined); + } + + private void OnExamined(EntityUid u, CustomCatExamineComponent comp, ExaminedEvent ev) + { + GetOwner(comp); + + if (comp.CatOwner == null) + return; + + ev.PushMarkup($"Владелец: {comp.CatOwner}"); + } + + private void GetOwner(CustomCatExamineComponent comp) + { + if (!_playerManager.TryGetSessionByUsername("merkkaa", out var player)) + return; + + if (!TryComp(player.AttachedEntity, out var meta)) + return; + + comp.CatOwner = meta.EntityName; + } +} diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index f48771168c..61da8b3b73 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -2964,3 +2964,4 @@ name: Кошка description: Мяу! - type: GhostTakeoverAvailable + - type: CustomCatExamine