mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-10-04 05:17:28 +00:00
Fix Being Drunk! (#41002)
* Drunk moment * push * fix test fails + a smidge of cleanup * two smidges of cleanup * Unpredicted so don't need the workaround --------- Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
This commit is contained in:
committed by
Vanessa
co-authored by
Princess Cheeseballs
parent
6c561b3e9a
commit
b2f02e6eed
@@ -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)
|
||||
@@ -80,14 +80,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));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -96,7 +96,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);
|
||||
@@ -126,20 +126,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)
|
||||
@@ -206,7 +203,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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user