* initial commit * adds cartridge to cmo's locker * tidies up yml, adds default scanner sound, makes it so the silent property silences the scanner sound too * fixes ert medic pda not having it preinstalled * adds attribution * removes redundant dependencies * fix agent pda --------- Co-authored-by: archrbx <punk.gear5260@fastmail.com>
32 lines
1.1 KiB
C#
32 lines
1.1 KiB
C#
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<MedTekCartridgeComponent, CartridgeAddedEvent>(OnCartridgeAdded);
|
|
SubscribeLocalEvent<MedTekCartridgeComponent, CartridgeRemovedEvent>(OnCartridgeRemoved);
|
|
}
|
|
|
|
private void OnCartridgeAdded(Entity<MedTekCartridgeComponent> ent, ref CartridgeAddedEvent args)
|
|
{
|
|
var healthAnalyzer = EnsureComp<HealthAnalyzerComponent>(args.Loader);
|
|
}
|
|
|
|
private void OnCartridgeRemoved(Entity<MedTekCartridgeComponent> ent, ref CartridgeRemovedEvent args)
|
|
{
|
|
// only remove when the program itself is removed
|
|
if (!_cartridgeLoaderSystem.HasProgram<MedTekCartridgeComponent>(args.Loader))
|
|
{
|
|
RemComp<HealthAnalyzerComponent>(args.Loader);
|
|
}
|
|
}
|
|
}
|