Files
wwdpublic/Content.Server/_White/Implants/Spawn/SpawnImplantSystem.cs
Spatison 1336e04d64 [Port] Hardlight Spear / Световое Копье (#77)
* add: hardlight spear

* fix: spear1

* Update implanters.yml
2024-10-23 17:20:53 +07:00

35 lines
1.1 KiB
C#

using Content.Shared.Hands.EntitySystems;
using Content.Shared.Implants.Components;
using Robust.Shared.Audio.Systems;
namespace Content.Server._White.Implants.Spawn;
public sealed class SpawnImplantSystem : EntitySystem
{
[Dependency] private readonly SharedHandsSystem _hands = default!;
[Dependency] private readonly SharedAudioSystem _audio = default!;
public override void Initialize()
{
SubscribeLocalEvent<SubdermalImplantComponent, ActivateSpawnImplantEvent>(OnImplantActivate);
}
private void OnImplantActivate(EntityUid uid, SubdermalImplantComponent component, ActivateSpawnImplantEvent args)
{
if (!TryComp(uid, out SpawnImplantComponent? implant)
|| !TryComp(component.ImplantedEntity, out TransformComponent? transform))
return;
var spear = EntityManager.SpawnEntity(implant.SpawnId, transform.Coordinates);
if (_hands.TryPickupAnyHand(component.ImplantedEntity.Value, spear))
{
_audio.PlayPvs(implant.SoundOnSpawn, spear);
args.Handled = true;
return;
}
Del(spear);
}
}