microwave ejection tweak (#23460)

This commit is contained in:
themias
2024-01-03 19:36:31 -05:00
committed by GitHub
parent f2da99790e
commit 53f18e8e91

View File

@@ -61,6 +61,7 @@ namespace Content.Server.Kitchen.EntitySystems
SubscribeLocalEvent<MicrowaveComponent, InteractUsingEvent>(OnInteractUsing, after: new[] { typeof(AnchorableSystem) });
SubscribeLocalEvent<MicrowaveComponent, BreakageEventArgs>(OnBreak);
SubscribeLocalEvent<MicrowaveComponent, PowerChangedEvent>(OnPowerChanged);
SubscribeLocalEvent<MicrowaveComponent, AnchorStateChangedEvent>(OnAnchorChanged);
SubscribeLocalEvent<MicrowaveComponent, SuicideEvent>(OnSuicide);
SubscribeLocalEvent<MicrowaveComponent, RefreshPartsEvent>(OnRefreshParts);
SubscribeLocalEvent<MicrowaveComponent, UpgradeExamineEvent>(OnUpgradeExamine);
@@ -279,11 +280,16 @@ namespace Content.Server.Kitchen.EntitySystems
{
SetAppearance(ent, MicrowaveVisualState.Idle, ent.Comp);
RemComp<ActiveMicrowaveComponent>(ent);
_sharedContainer.EmptyContainer(ent.Comp.Storage);
}
UpdateUserInterfaceState(ent, ent.Comp);
}
private void OnAnchorChanged(EntityUid uid, MicrowaveComponent component, ref AnchorStateChangedEvent args)
{
if(!args.Anchored)
_sharedContainer.EmptyContainer(component.Storage);
}
private void OnRefreshParts(Entity<MicrowaveComponent> ent, ref RefreshPartsEvent args)
{
var cookRating = args.PartRatings[ent.Comp.MachinePartCookTimeMultiplier];
@@ -342,7 +348,7 @@ namespace Content.Server.Kitchen.EntitySystems
/// </remarks>
public void Wzhzhzh(EntityUid uid, MicrowaveComponent component, EntityUid? user)
{
if (!HasContents(component) || HasComp<ActiveMicrowaveComponent>(uid))
if (!HasContents(component) || HasComp<ActiveMicrowaveComponent>(uid) || !(TryComp<ApcPowerReceiverComponent>(uid, out var apc) && apc.Powered))
return;
var solidsDict = new Dictionary<string, int>();