fix stripping (#5983)
This commit is contained in:
@@ -116,7 +116,7 @@ namespace Content.Server.Strip
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!invSystem.CanEquip(Owner, item.Owner, slot, out _))
|
||||
if (!invSystem.CanEquip(user, Owner, item.Owner, slot, out _))
|
||||
{
|
||||
user.PopupMessageCursor(Loc.GetString("strippable-component-cannot-equip-message",("owner", Owner)));
|
||||
return false;
|
||||
@@ -141,7 +141,7 @@ namespace Content.Server.Strip
|
||||
if (result != DoAfterStatus.Finished) return;
|
||||
|
||||
userHands.Drop(item!.Owner, false);
|
||||
invSystem.TryEquip(Owner, item.Owner, slot);
|
||||
invSystem.TryEquip(user, Owner, item.Owner, slot);
|
||||
|
||||
UpdateState();
|
||||
}
|
||||
@@ -258,7 +258,7 @@ namespace Content.Server.Strip
|
||||
var result = await doAfterSystem.WaitDoAfter(doAfterArgs);
|
||||
if (result != DoAfterStatus.Finished) return;
|
||||
|
||||
if (invSystem.TryGetSlotEntity(Owner, slot, out var item) && invSystem.TryUnequip(Owner, slot))
|
||||
if (invSystem.TryGetSlotEntity(Owner, slot, out var item) && invSystem.TryUnequip(user, Owner, slot))
|
||||
{
|
||||
userHands.PutInHandOrDrop(item.Value);
|
||||
}
|
||||
|
||||
@@ -63,11 +63,15 @@ namespace Content.Shared.Cuffs
|
||||
|
||||
private void OnEquipAttempt(EntityUid uid, SharedCuffableComponent component, IsEquippingAttemptEvent args)
|
||||
{
|
||||
// is this a self-equip, or are they being stripped?
|
||||
if (args.Equipee == uid)
|
||||
CheckAct(uid, component, args);
|
||||
}
|
||||
|
||||
private void OnUnequipAttempt(EntityUid uid, SharedCuffableComponent component, IsUnequippingAttemptEvent args)
|
||||
{
|
||||
// is this a self-equip, or are they being stripped?
|
||||
if (args.Unequipee == uid)
|
||||
CheckAct(uid, component, args);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.GameObjects;
|
||||
|
||||
namespace Content.Shared.Inventory.Events;
|
||||
|
||||
public abstract class EquipAttemptBase : CancellableEntityEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The entity equipping.
|
||||
/// The entity performing the action. NOT necessarily the one actually "receiving" the equipment.
|
||||
/// </summary>
|
||||
public readonly EntityUid Equipee;
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.GameObjects;
|
||||
|
||||
namespace Content.Shared.Inventory.Events;
|
||||
|
||||
public class UnequipAttemptEventBase : CancellableEntityEventArgs
|
||||
{
|
||||
/// <summary>
|
||||
/// The entity unequipping.
|
||||
/// The entity performing the action. NOT necessarily the same as the entity whose equipment is being removed..
|
||||
/// </summary>
|
||||
public readonly EntityUid Unequipee;
|
||||
|
||||
|
||||
@@ -79,6 +79,8 @@ namespace Content.Shared.MobState.EntitySystems
|
||||
|
||||
private void OnEquipAttempt(EntityUid uid, MobStateComponent component, IsEquippingAttemptEvent args)
|
||||
{
|
||||
// is this a self-equip, or are they being stripped?
|
||||
if (args.Equipee == uid)
|
||||
CheckAct(uid, component, args);
|
||||
}
|
||||
|
||||
@@ -89,6 +91,8 @@ namespace Content.Shared.MobState.EntitySystems
|
||||
|
||||
private void OnUnequipAttempt(EntityUid uid, MobStateComponent component, IsUnequippingAttemptEvent args)
|
||||
{
|
||||
// is this a self-equip, or are they being stripped?
|
||||
if (args.Unequipee == uid)
|
||||
CheckAct(uid, component, args);
|
||||
}
|
||||
|
||||
|
||||
@@ -258,13 +258,15 @@ namespace Content.Shared.Stunnable
|
||||
|
||||
private void OnEquipAttempt(EntityUid uid, StunnedComponent stunned, IsEquippingAttemptEvent args)
|
||||
{
|
||||
if(args.Equipee == uid)
|
||||
// is this a self-equip, or are they being stripped?
|
||||
if (args.Equipee == uid)
|
||||
args.Cancel();
|
||||
}
|
||||
|
||||
private void OnUnequipAttempt(EntityUid uid, StunnedComponent stunned, IsUnequippingAttemptEvent args)
|
||||
{
|
||||
if(args.Unequipee == uid)
|
||||
// is this a self-equip, or are they being stripped?
|
||||
if (args.Unequipee == uid)
|
||||
args.Cancel();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user