Clothing/item ECS & cleanup (#9706)

This commit is contained in:
Kara
2022-07-27 03:53:47 -07:00
committed by GitHub
parent 0f0420eca9
commit 258ec0cac1
164 changed files with 938 additions and 918 deletions

View File

@@ -24,6 +24,8 @@ namespace Content.Server.Stunnable.Systems
{
public sealed class StunbatonSystem : EntitySystem
{
[Dependency] private readonly SharedItemSystem _item = default!;
public override void Initialize()
{
base.Initialize();
@@ -88,11 +90,12 @@ namespace Content.Server.Stunnable.Systems
if (!comp.Activated)
return;
if (TryComp<SharedItemComponent>(comp.Owner, out var item))
item.EquippedPrefix = "off";
if (TryComp(comp.Owner, out AppearanceComponent? appearance))
if (TryComp<AppearanceComponent>(comp.Owner, out var appearance) &&
TryComp<ItemComponent>(comp.Owner, out var item))
{
_item.SetHeldPrefix(comp.Owner, "off", item);
appearance.SetData(ToggleVisuals.Toggled, false);
}
SoundSystem.Play(comp.SparksSound.GetSound(), Filter.Pvs(comp.Owner), comp.Owner, AudioHelpers.WithVariation(0.25f));
@@ -112,12 +115,12 @@ namespace Content.Server.Stunnable.Systems
return;
}
if (TryComp<SharedItemComponent>(comp.Owner, out var item))
item.EquippedPrefix = "on";
if (TryComp(comp.Owner, out AppearanceComponent? appearance))
if (EntityManager.TryGetComponent<AppearanceComponent>(comp.Owner, out var appearance) &&
EntityManager.TryGetComponent<ItemComponent>(comp.Owner, out var item))
{
_item.SetHeldPrefix(comp.Owner, "on", item);
appearance.SetData(ToggleVisuals.Toggled, true);
}
SoundSystem.Play(comp.SparksSound.GetSound(), playerFilter, comp.Owner, AudioHelpers.WithVariation(0.25f));
comp.Activated = true;