AutoCompState + ItemToggle fixes (#23422)
* AutoCompState + ItemToggle fixes Fix a lot of the comp states that are never actually networked and also cleaned up ItemToggle events a bunch. ItemToggle will still need some future work for lights and sounds. * Also catch these
This commit is contained in:
@@ -6,6 +6,7 @@ using Content.Shared.Damage;
|
||||
using Content.Shared.Database;
|
||||
using Content.Shared.Interaction;
|
||||
using Content.Shared.Tools.Components;
|
||||
using ItemToggleComponent = Content.Shared.Item.ItemToggle.Components.ItemToggleComponent;
|
||||
|
||||
namespace Content.Server.Damage.Systems
|
||||
{
|
||||
|
||||
@@ -5,6 +5,7 @@ using Content.Shared.Eye.Blinding.Components;
|
||||
using Content.Shared.Eye.Blinding.Systems;
|
||||
using Content.Shared.Tools.Components;
|
||||
using Content.Shared.Item.ItemToggle;
|
||||
using Content.Shared.Item.ItemToggle.Components;
|
||||
|
||||
namespace Content.Server.Eye.Blinding.EyeProtection
|
||||
{
|
||||
@@ -18,7 +19,7 @@ namespace Content.Server.Eye.Blinding.EyeProtection
|
||||
{
|
||||
base.Initialize();
|
||||
SubscribeLocalEvent<RequiresEyeProtectionComponent, ToolUseAttemptEvent>(OnUseAttempt);
|
||||
SubscribeLocalEvent<RequiresEyeProtectionComponent, ItemToggleDoneEvent>(OnWelderToggled);
|
||||
SubscribeLocalEvent<RequiresEyeProtectionComponent, ItemToggledEvent>(OnWelderToggled);
|
||||
|
||||
SubscribeLocalEvent<EyeProtectionComponent, GetEyeProtectionEvent>(OnGetProtection);
|
||||
SubscribeLocalEvent<EyeProtectionComponent, InventoryRelayedEvent<GetEyeProtectionEvent>>(OnGetRelayedProtection);
|
||||
@@ -57,7 +58,7 @@ namespace Content.Server.Eye.Blinding.EyeProtection
|
||||
_statusEffectsSystem.TryAddStatusEffect(args.User, TemporaryBlindnessSystem.BlindingStatusEffect,
|
||||
statusTimeSpan, false, TemporaryBlindnessSystem.BlindingStatusEffect);
|
||||
}
|
||||
private void OnWelderToggled(EntityUid uid, RequiresEyeProtectionComponent component, ItemToggleDoneEvent args)
|
||||
private void OnWelderToggled(EntityUid uid, RequiresEyeProtectionComponent component, ItemToggledEvent args)
|
||||
{
|
||||
component.Toggled = _itemToggle.IsActivated(uid);
|
||||
}
|
||||
|
||||
@@ -2,6 +2,8 @@ using Content.Shared.Item;
|
||||
using Content.Server.CombatMode.Disarm;
|
||||
using Content.Server.Kitchen.Components;
|
||||
using Content.Shared.Item.ItemToggle;
|
||||
using Content.Shared.Item.ItemToggle.Components;
|
||||
using ItemToggleComponent = Content.Shared.Item.ItemToggle.Components.ItemToggleComponent;
|
||||
|
||||
namespace Content.Server.Item;
|
||||
|
||||
@@ -11,10 +13,10 @@ public sealed class ItemToggleSystem : SharedItemToggleSystem
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<ItemToggleComponent, ItemToggleDoneEvent>(Toggle);
|
||||
SubscribeLocalEvent<ItemToggleComponent, ItemToggledEvent>(Toggle);
|
||||
}
|
||||
|
||||
private void Toggle(EntityUid uid, ItemToggleComponent comp, ref ItemToggleDoneEvent args)
|
||||
private void Toggle(EntityUid uid, ItemToggleComponent comp, ref ItemToggledEvent args)
|
||||
{
|
||||
if (args.Activated == true)
|
||||
{
|
||||
|
||||
@@ -78,7 +78,7 @@ namespace Content.Server.Light.EntitySystems
|
||||
|
||||
if (TryComp<ItemComponent>(ent, out var item))
|
||||
{
|
||||
_item.SetHeldPrefix(ent, "unlit", item);
|
||||
_item.SetHeldPrefix(ent, "unlit", component: item);
|
||||
}
|
||||
|
||||
break;
|
||||
@@ -96,7 +96,7 @@ namespace Content.Server.Light.EntitySystems
|
||||
{
|
||||
if (TryComp<ItemComponent>(ent, out var item))
|
||||
{
|
||||
_item.SetHeldPrefix(ent, "lit", item);
|
||||
_item.SetHeldPrefix(ent, "lit", component: item);
|
||||
}
|
||||
|
||||
component.CurrentState = ExpendableLightState.Lit;
|
||||
@@ -163,7 +163,7 @@ namespace Content.Server.Light.EntitySystems
|
||||
{
|
||||
if (TryComp<ItemComponent>(uid, out var item))
|
||||
{
|
||||
_item.SetHeldPrefix(uid, "unlit", item);
|
||||
_item.SetHeldPrefix(uid, "unlit", component: item);
|
||||
}
|
||||
|
||||
component.CurrentState = ExpendableLightState.BrandNew;
|
||||
|
||||
@@ -107,10 +107,10 @@ namespace Content.Server.Light.EntitySystems
|
||||
switch (component.CurrentState)
|
||||
{
|
||||
case SmokableState.Lit:
|
||||
_item.SetHeldPrefix(uid, "lit", item);
|
||||
_item.SetHeldPrefix(uid, "lit", component: item);
|
||||
break;
|
||||
default:
|
||||
_item.SetHeldPrefix(uid, "unlit", item);
|
||||
_item.SetHeldPrefix(uid, "unlit", component: item);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ using Content.Shared.Damage.Events;
|
||||
using Content.Shared.Examine;
|
||||
using Content.Shared.Item;
|
||||
using Content.Shared.Item.ItemToggle;
|
||||
using Content.Shared.Item.ItemToggle.Components;
|
||||
using Content.Shared.Popups;
|
||||
using Content.Shared.Stunnable;
|
||||
|
||||
@@ -28,7 +29,7 @@ namespace Content.Server.Stunnable.Systems
|
||||
SubscribeLocalEvent<StunbatonComponent, SolutionContainerChangedEvent>(OnSolutionChange);
|
||||
SubscribeLocalEvent<StunbatonComponent, StaminaDamageOnHitAttemptEvent>(OnStaminaHitAttempt);
|
||||
SubscribeLocalEvent<StunbatonComponent, ItemToggleActivateAttemptEvent>(TryTurnOn);
|
||||
SubscribeLocalEvent<StunbatonComponent, ItemToggleDoneEvent>(ToggleDone);
|
||||
SubscribeLocalEvent<StunbatonComponent, ItemToggledEvent>(ToggleDone);
|
||||
}
|
||||
|
||||
private void OnStaminaHitAttempt(Entity<StunbatonComponent> entity, ref StaminaDamageOnHitAttemptEvent args)
|
||||
@@ -58,12 +59,12 @@ namespace Content.Server.Stunnable.Systems
|
||||
args.PushMarkup(chargeMessage);
|
||||
}
|
||||
|
||||
private void ToggleDone(Entity<StunbatonComponent> entity, ref ItemToggleDoneEvent args)
|
||||
private void ToggleDone(Entity<StunbatonComponent> entity, ref ItemToggledEvent args)
|
||||
{
|
||||
if (!TryComp<ItemComponent>(entity, out var item))
|
||||
return;
|
||||
|
||||
_item.SetHeldPrefix(entity.Owner, args.Activated ? "on" : "off", item);
|
||||
_item.SetHeldPrefix(entity.Owner, args.Activated ? "on" : "off", component: item);
|
||||
}
|
||||
|
||||
private void TryTurnOn(Entity<StunbatonComponent> entity, ref ItemToggleActivateAttemptEvent args)
|
||||
|
||||
@@ -12,6 +12,7 @@ using Content.Shared.Item.ItemToggle;
|
||||
using Content.Shared.Tools.Components;
|
||||
using Robust.Shared.GameStates;
|
||||
using System.Linq;
|
||||
using Content.Shared.Item.ItemToggle.Components;
|
||||
|
||||
namespace Content.Server.Tools
|
||||
{
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
using Content.Shared.Item;
|
||||
using Content.Shared.Weapons.Reflect;
|
||||
|
||||
namespace Content.Server.Weapons.Reflect;
|
||||
|
||||
public sealed class ReflectSystem : SharedReflectSystem
|
||||
{
|
||||
public override void Initialize()
|
||||
{
|
||||
base.Initialize();
|
||||
|
||||
SubscribeLocalEvent<ReflectComponent, ItemToggleReflectUpdateEvent>(ToggleReflect);
|
||||
}
|
||||
|
||||
private void ToggleReflect(EntityUid uid, ReflectComponent comp, ref ItemToggleReflectUpdateEvent args)
|
||||
{
|
||||
comp.Enabled = args.Activated;
|
||||
Dirty(uid, comp);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user