-
Notifications
You must be signed in to change notification settings - Fork 3.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix forensics not being applied to held items #30609
Open
SlamBamActionman
wants to merge
5
commits into
space-wizards:master
Choose a base branch
from
SlamBamActionman:uplink-prints-fix
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Fix forensics not being applied to held items #30609
SlamBamActionman
wants to merge
5
commits into
space-wizards:master
from
SlamBamActionman:uplink-prints-fix
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
metalgearsloth
added
the
Status: Awaiting Changes
This PR needs its reviews addressed or changes to be made in order to be merged.
label
Aug 4, 2024
4 tasks
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
github-actions
bot
added
the
Merge Conflict
This PR currently has conflicts that need to be addressed.
label
Sep 27, 2024
# Conflicts: # Content.Server/Strip/StrippableSystem.cs
github-actions
bot
removed
the
Merge Conflict
This PR currently has conflicts that need to be addressed.
label
Oct 8, 2024
2 tasks
Centronias
reviewed
Oct 9, 2024
@@ -520,4 +532,12 @@ public bool TryGetSlotEntity(EntityUid uid, string slot, [NotNullWhen(true)] out | |||
entityUid = container.ContainedEntity; | |||
return entityUid != null; | |||
} | |||
|
|||
public void TriggerHandContactInteraction(EntityUid uid) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This's only used within this file presently, does it need to be public?
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
github-actions
bot
added
the
Merge Conflict
This PR currently has conflicts that need to be addressed.
label
Oct 14, 2024
# Conflicts: # Content.Shared/Hands/EntitySystems/SharedHandsSystem.Pickup.cs
github-actions
bot
removed
the
Merge Conflict
This PR currently has conflicts that need to be addressed.
label
Oct 24, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Status: Awaiting Changes
This PR needs its reviews addressed or changes to be made in order to be merged.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
About the PR
This PR fixes characters failing to apply forensics to objects if they weren't the person putting it in their hands. Examples of this would be someone giving the item via the strip menu or the uplink.
This PR also fixes forensics failing to update on held items when gloves are equipped/changed/unequipped.
Why / Balance
The first bug causes held items acquired without being picked up to not have forensics. While most items still require being interacted with (which applies forensics) to be used, this can still cause unintended behavior. Examples of this are the Viper, Python and Syndie Soap, which can be used and then thrown away without interacting with the item (shooting is not an item interaction, but racking the bolt/wielding is). Additionally the bug also makes it harder to do some small tactics that feel like they should be possible, like handing someone an item to get their prints on it.
Forensics not being updated when gloves are swapped also allows one to avoid leaving holographic fibers on held items through carefully equipping and unequipping things in the right order. This PR fixes that.
Technical details
InventorySystem.Equip
is giventriggerHandContact
as an optional argument. If true, it will check if the item slot being equipped to/from is a glove slot, and if so triggersDoContactInteraction
. The reason why it doesn't always do this check is because certain system allows for quick equipping, where one pair of gloves get unequipped simultaneously as another pair of gloves are equipped, so triggeringDoContactInteraction
twice would be incorrect there (as it would incorrectly apply fingerprints after the first pair is unequipped since the code has yet to equip the second pair).DoContactInteraction
is now also triggered uponDoPickup
, which covers instances where an item is given to a character without clicking on it to pick it up.Media
Requirements
Breaking changes
Changelog
🆑