Merge branch 'master' into offmed-staging

This commit is contained in:
Janet Blackquill
2025-11-05 16:52:49 -05:00
1731 changed files with 38109 additions and 46754 deletions

View File

@@ -51,7 +51,7 @@ public sealed partial class StatusEffectsSystem : EntitySystem
if (effect.EndEffectTime is null)
continue;
if (!(_timing.CurTime >= effect.EndEffectTime))
if (_timing.CurTime < effect.EndEffectTime)
continue;
if (effect.AppliedTo is null)
@@ -81,14 +81,14 @@ public sealed partial class StatusEffectsSystem : EntitySystem
if (args.Container.ID != StatusEffectContainerComponent.ContainerId)
return;
if (!TryComp<StatusEffectComponent>(args.Entity, out var statusComp))
if (!_effectQuery.TryComp(args.Entity, out var statusComp))
return;
// Make sure AppliedTo is set correctly so events can rely on it
if (statusComp.AppliedTo != ent)
{
statusComp.AppliedTo = ent;
Dirty(args.Entity, statusComp);
DirtyField(args.Entity, statusComp, nameof(StatusEffectComponent.AppliedTo));
}
}
@@ -97,7 +97,7 @@ public sealed partial class StatusEffectsSystem : EntitySystem
if (args.Container.ID != StatusEffectContainerComponent.ContainerId)
return;
if (!TryComp<StatusEffectComponent>(args.Entity, out var statusComp))
if (!_effectQuery.TryComp(args.Entity, out var statusComp))
return;
var ev = new StatusEffectRemovedEvent(ent);
@@ -135,20 +135,17 @@ public sealed partial class StatusEffectsSystem : EntitySystem
/// <returns>Returns true if the effect is applied.</returns>
private bool TryApplyStatusEffect(Entity<StatusEffectComponent> statusEffectEnt)
{
if (!statusEffectEnt.Comp.Applied &&
statusEffectEnt.Comp.AppliedTo != null &&
_timing.CurTime >= statusEffectEnt.Comp.StartEffectTime)
{
var ev = new StatusEffectAppliedEvent(statusEffectEnt.Comp.AppliedTo.Value);
RaiseLocalEvent(statusEffectEnt, ref ev);
if (statusEffectEnt.Comp.Applied ||
statusEffectEnt.Comp.AppliedTo == null ||
_timing.CurTime < statusEffectEnt.Comp.StartEffectTime)
return false;
statusEffectEnt.Comp.Applied = true;
var ev = new StatusEffectAppliedEvent(statusEffectEnt.Comp.AppliedTo.Value);
RaiseLocalEvent(statusEffectEnt, ref ev);
DirtyField(statusEffectEnt, statusEffectEnt.Comp, nameof(StatusEffectComponent.StartEffectTime));
return true;
}
statusEffectEnt.Comp.Applied = true;
return false;
return true;
}
public bool CanAddStatusEffect(EntityUid uid, EntProtoId effectProto)
@@ -215,7 +212,7 @@ public sealed partial class StatusEffectsSystem : EntitySystem
var startTime = delay == null ? TimeSpan.Zero : _timing.CurTime + delay.Value;
SetStatusEffectStartTime(effect.Value, startTime);
TryApplyStatusEffect((effect.Value, effectComp));
TryApplyStatusEffect((statusEffect.Value, effectComp));
return true;
}