using Content.Shared.Examine; using Content.Shared.Humanoid; namespace Content.Shared._CP14.Vampire; public abstract class CP14SharedVampireVisualsSystem : EntitySystem { public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnVampireExamine); SubscribeLocalEvent(OnVampireVisualsInit); SubscribeLocalEvent(OnVampireVisualsShutdown); } protected virtual void OnVampireVisualsShutdown(Entity vampire, ref ComponentShutdown args) { if (!EntityManager.TryGetComponent(vampire, out HumanoidAppearanceComponent? humanoidAppearance)) return; humanoidAppearance.EyeColor = vampire.Comp.OriginalEyesColor; Dirty(vampire, humanoidAppearance); } protected virtual void OnVampireVisualsInit(Entity vampire, ref ComponentInit args) { if (!EntityManager.TryGetComponent(vampire, out HumanoidAppearanceComponent? humanoidAppearance)) return; vampire.Comp.OriginalEyesColor = humanoidAppearance.EyeColor; humanoidAppearance.EyeColor = vampire.Comp.EyesColor; Dirty(vampire, humanoidAppearance); } private void OnVampireExamine(Entity ent, ref ExaminedEvent args) { args.PushMarkup(Loc.GetString("cp14-vampire-examine")); } }