using Content.Server.Holiday; using Content.Shared.Hands.EntitySystems; using Content.Shared.Roles; using JetBrains.Annotations; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; namespace Content.Server.Jobs { [UsedImplicitly] [DataDefinition] public sealed class GiveItemOnHolidaySpecial : JobSpecial { [DataField("holiday", customTypeSerializer:typeof(PrototypeIdSerializer))] public string Holiday { get; } = string.Empty; [DataField("prototype", customTypeSerializer:typeof(PrototypeIdSerializer))] public string Prototype { get; } = string.Empty; public override void AfterEquip(EntityUid mob) { if (string.IsNullOrEmpty(Holiday) || string.IsNullOrEmpty(Prototype)) return; var sysMan = IoCManager.Resolve(); if (!sysMan.GetEntitySystem().IsCurrentlyHoliday(Holiday)) return; var entMan = IoCManager.Resolve(); var entity = entMan.SpawnEntity(Prototype, entMan.GetComponent(mob).Coordinates); sysMan.GetEntitySystem().PickupOrDrop(mob, entity); } } }