using Content.Server.Medical.Components; using Content.Shared.CartridgeLoader; namespace Content.Server.CartridgeLoader.Cartridges; public sealed class MedTekCartridgeSystem : EntitySystem { [Dependency] private readonly CartridgeLoaderSystem _cartridgeLoaderSystem = default!; public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnCartridgeAdded); SubscribeLocalEvent(OnCartridgeRemoved); } private void OnCartridgeAdded(Entity ent, ref CartridgeAddedEvent args) { var healthAnalyzer = EnsureComp(args.Loader); } private void OnCartridgeRemoved(Entity ent, ref CartridgeRemovedEvent args) { // only remove when the program itself is removed if (!_cartridgeLoaderSystem.HasProgram(args.Loader)) { RemComp(args.Loader); } } }