doafter hotfix (#14678)
This commit is contained in:
@@ -67,7 +67,7 @@ namespace Content.Shared.Cuffs
|
||||
SubscribeLocalEvent<CuffableComponent, IsUnequippingAttemptEvent>(OnUnequipAttempt);
|
||||
SubscribeLocalEvent<CuffableComponent, BeingPulledAttemptEvent>(OnBeingPulledAttempt);
|
||||
SubscribeLocalEvent<CuffableComponent, GetVerbsEvent<Verb>>(AddUncuffVerb);
|
||||
SubscribeLocalEvent<CuffableComponent, DoAfterEvent>(OnCuffableDoAfter);
|
||||
SubscribeLocalEvent<CuffableComponent, DoAfterEvent<UnCuffDoAfter>>(OnCuffableDoAfter);
|
||||
SubscribeLocalEvent<CuffableComponent, PullStartedMessage>(OnPull);
|
||||
SubscribeLocalEvent<CuffableComponent, PullStoppedMessage>(OnPull);
|
||||
SubscribeLocalEvent<CuffableComponent, DropAttemptEvent>(CheckAct);
|
||||
@@ -78,7 +78,7 @@ namespace Content.Shared.Cuffs
|
||||
|
||||
SubscribeLocalEvent<HandcuffComponent, AfterInteractEvent>(OnCuffAfterInteract);
|
||||
SubscribeLocalEvent<HandcuffComponent, MeleeHitEvent>(OnCuffMeleeHit);
|
||||
SubscribeLocalEvent<HandcuffComponent, DoAfterEvent>(OnAddCuffDoAfter);
|
||||
SubscribeLocalEvent<HandcuffComponent, DoAfterEvent<AddCuffDoAfter>>(OnAddCuffDoAfter);
|
||||
|
||||
}
|
||||
|
||||
@@ -223,15 +223,16 @@ namespace Content.Shared.Cuffs
|
||||
args.Verbs.Add(verb);
|
||||
}
|
||||
|
||||
private void OnCuffableDoAfter(EntityUid uid, CuffableComponent component, DoAfterEvent args)
|
||||
private void OnCuffableDoAfter(EntityUid uid, CuffableComponent component, DoAfterEvent<UnCuffDoAfter> args)
|
||||
{
|
||||
component.Uncuffing = false;
|
||||
|
||||
if (args.Args.Target is not { } target || args.Args.Used is not { } used)
|
||||
return;
|
||||
if (args.Handled)
|
||||
return;
|
||||
args.Handled = true;
|
||||
|
||||
component.Uncuffing = false;
|
||||
Dirty(component);
|
||||
|
||||
var user = args.Args.User;
|
||||
@@ -271,14 +272,15 @@ namespace Content.Shared.Cuffs
|
||||
args.Handled = true;
|
||||
}
|
||||
|
||||
private void OnAddCuffDoAfter(EntityUid uid, HandcuffComponent component, DoAfterEvent args)
|
||||
private void OnAddCuffDoAfter(EntityUid uid, HandcuffComponent component, DoAfterEvent<AddCuffDoAfter> args)
|
||||
{
|
||||
var user = args.Args.User;
|
||||
var target = args.Args.Target!.Value;
|
||||
|
||||
if (!TryComp<CuffableComponent>(target, out var cuffable))
|
||||
if (!TryComp<CuffableComponent>(args.Args.Target, out var cuffable))
|
||||
return;
|
||||
|
||||
var target = args.Args.Target.Value;
|
||||
|
||||
if (args.Handled)
|
||||
return;
|
||||
args.Handled = true;
|
||||
@@ -494,7 +496,7 @@ namespace Content.Shared.Cuffs
|
||||
|
||||
handcuffComponent.Cuffing = true;
|
||||
if (_net.IsServer)
|
||||
_doAfter.DoAfter(doAfterEventArgs);
|
||||
_doAfter.DoAfter(doAfterEventArgs, new AddCuffDoAfter());
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -572,7 +574,7 @@ namespace Content.Shared.Cuffs
|
||||
cuffable.Uncuffing = true;
|
||||
Dirty(cuffable);
|
||||
if (_net.IsServer)
|
||||
_doAfter.DoAfter(doAfterEventArgs);
|
||||
_doAfter.DoAfter(doAfterEventArgs, new UnCuffDoAfter());
|
||||
}
|
||||
|
||||
public void Uncuff(EntityUid target, EntityUid user, EntityUid cuffsToRemove, CuffableComponent? cuffable = null, HandcuffComponent? cuff = null)
|
||||
@@ -664,5 +666,13 @@ namespace Content.Shared.Cuffs
|
||||
{
|
||||
return component.Container.ContainedEntities;
|
||||
}
|
||||
|
||||
private struct UnCuffDoAfter
|
||||
{
|
||||
}
|
||||
|
||||
private struct AddCuffDoAfter
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user