Makes thieving gloves sneakier (#21398)
* Hidden DoAfters * Fix formatting warnings * Hide progress bar and pickup animation * Copy Hidden field in copy constructor
This commit is contained in:
@@ -221,6 +221,7 @@ namespace Content.Server.Strip
|
||||
var doAfterArgs = new DoAfterArgs(EntityManager, user, ev.Time, new AwaitedDoAfterEvent(), null, target: target, used: held)
|
||||
{
|
||||
ExtraCheck = Check,
|
||||
Hidden = ev.Stealth,
|
||||
AttemptFrequency = AttemptFrequency.EveryTick,
|
||||
BreakOnDamage = true,
|
||||
BreakOnTargetMove = true,
|
||||
@@ -294,6 +295,7 @@ namespace Content.Server.Strip
|
||||
var doAfterArgs = new DoAfterArgs(EntityManager, user, ev.Time, new AwaitedDoAfterEvent(), null, target: target, used: held)
|
||||
{
|
||||
ExtraCheck = Check,
|
||||
Hidden = ev.Stealth,
|
||||
AttemptFrequency = AttemptFrequency.EveryTick,
|
||||
BreakOnDamage = true,
|
||||
BreakOnTargetMove = true,
|
||||
@@ -308,7 +310,7 @@ namespace Content.Server.Strip
|
||||
if (result != DoAfterStatus.Finished) return;
|
||||
|
||||
_handsSystem.TryDrop(user, checkActionBlocker: false, handsComp: userHands);
|
||||
_handsSystem.TryPickup(target, held, handName, checkActionBlocker: false, animateUser: true, handsComp: hands);
|
||||
_handsSystem.TryPickup(target, held, handName, checkActionBlocker: false, animateUser: !ev.Stealth, animate: !ev.Stealth, handsComp: hands);
|
||||
_adminLogger.Add(LogType.Stripping, LogImpact.Medium, $"{ToPrettyString(user):user} has placed the item {ToPrettyString(held):item} in {ToPrettyString(target):target}'s hands");
|
||||
// hand update will trigger strippable update
|
||||
}
|
||||
@@ -354,6 +356,7 @@ namespace Content.Server.Strip
|
||||
var doAfterArgs = new DoAfterArgs(EntityManager, user, ev.Time, new AwaitedDoAfterEvent(), null, target: target, used: item)
|
||||
{
|
||||
ExtraCheck = Check,
|
||||
Hidden = ev.Stealth,
|
||||
AttemptFrequency = AttemptFrequency.EveryTick,
|
||||
BreakOnDamage = true,
|
||||
BreakOnTargetMove = true,
|
||||
@@ -389,7 +392,7 @@ namespace Content.Server.Strip
|
||||
// Raise a dropped event, so that things like gas tank internals properly deactivate when stripping
|
||||
RaiseLocalEvent(item, new DroppedEvent(user), true);
|
||||
|
||||
_handsSystem.PickupOrDrop(user, item);
|
||||
_handsSystem.PickupOrDrop(user, item, animateUser: !ev.Stealth, animate: !ev.Stealth);
|
||||
_adminLogger.Add(LogType.Stripping, LogImpact.Medium, $"{ToPrettyString(user):user} has stripped the item {ToPrettyString(item):item} from {ToPrettyString(target):target}");
|
||||
|
||||
}
|
||||
@@ -430,6 +433,7 @@ namespace Content.Server.Strip
|
||||
var doAfterArgs = new DoAfterArgs(EntityManager, user, ev.Time, new AwaitedDoAfterEvent(), null, target: target, used: item)
|
||||
{
|
||||
ExtraCheck = Check,
|
||||
Hidden = ev.Stealth,
|
||||
AttemptFrequency = AttemptFrequency.EveryTick,
|
||||
BreakOnDamage = true,
|
||||
BreakOnTargetMove = true,
|
||||
@@ -439,7 +443,7 @@ namespace Content.Server.Strip
|
||||
DuplicateCondition = DuplicateConditions.SameTool
|
||||
};
|
||||
|
||||
if (Check() && _handsSystem.TryGetHand(target, handName, out var handSlot, hands) && handSlot.HeldEntity != null)
|
||||
if (!ev.Stealth && Check() && _handsSystem.TryGetHand(target, handName, out var handSlot, hands) && handSlot.HeldEntity != null)
|
||||
{
|
||||
_popup.PopupEntity(
|
||||
Loc.GetString("strippable-component-alert-owner",
|
||||
@@ -456,7 +460,7 @@ namespace Content.Server.Strip
|
||||
return;
|
||||
|
||||
_handsSystem.TryDrop(target, item, checkActionBlocker: false, handsComp: hands);
|
||||
_handsSystem.PickupOrDrop(user, item, handsComp: userHands);
|
||||
_handsSystem.PickupOrDrop(user, item, animateUser: !ev.Stealth, animate: !ev.Stealth, handsComp: userHands);
|
||||
// hand update will trigger strippable update
|
||||
_adminLogger.Add(LogType.Stripping, LogImpact.Medium,
|
||||
$"{ToPrettyString(user):user} has stripped the item {ToPrettyString(item):item} from {ToPrettyString(target):target}");
|
||||
|
||||
Reference in New Issue
Block a user