Skip to content
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

contraband system for reagents #33184

Open
wants to merge 10 commits into
base: master
Choose a base branch
from

Conversation

Ian321
Copy link
Contributor

@Ian321 Ian321 commented Nov 5, 2024

About the PR

This PR adds the ability to classify reagents and their contraband status with the help of forensic pads.

Fixes #31383
Fixes #32218

(there where more issues, but i can't find them)

Why / Balance

It was previously not possible to mark a reagent as contraband.

I have only added lead, romerol, vestine and its derivatives as syndicate contraband for the start as I feel those are uncontroversial.

Technical details

  • Modified the ForensicPadSystem to "scan" drainable/drawable containers (puddles, beakers, syringes, ...).
  • Added a new datafield "Contraband" to reagents. (I would of loved to re-use the other system, but reagents can't have components.)
  • Expanded the guidebook entry for forensics.
  • Expanded the guidebook for chemicals.

Media

Screencast.From.2024-11-05.20-49-41.mp4
Screencast.From.2024-11-06.13-53-11.mp4

Requirements

Breaking changes

None.

Changelog

🆑

  • add: Chemicals can now be contraband.
  • add: Forensic pads can now also be used to identify and classify chemicals.
  • add: Chemical pads can be used to identify chemicals.

@github-actions github-actions bot added the S: Needs Review Status: Requires additional reviews before being fully accepted label Nov 5, 2024
@Ian321
Copy link
Contributor Author

Ian321 commented Nov 5, 2024

Could in theory also encode the "GrandTheft" severity. Could make for an interesting objective: "Steal 10u of liquid youth from the command bar/vault.".

@YotaXP
Copy link

YotaXP commented Nov 5, 2024

Not in the scope of this PR, but perhaps there should be a new contraband category for prescription drugs that doctors are allowed to grant permission to possess.

@Djungelskog2
Copy link

holy guacamole a reason to use forensic pads

@Ian321 Ian321 marked this pull request as draft November 6, 2024 12:01
@github-actions github-actions bot added the Changes: UI Changes: Might require knowledge of UI design or code. label Nov 6, 2024
@Ian321 Ian321 marked this pull request as ready for review November 6, 2024 13:00
Copy link
Member

@slarticodefast slarticodefast left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very useful feature in my opinion. I found a few nitpicks that need to be corrected. I will check with the other maintainers and admins if this implementation is a good approach since the contraband system is quite connected to our server rules.

Content.Shared/Chemistry/Reagent/ReagentPrototype.cs Outdated Show resolved Hide resolved
Content.Server/Forensics/Systems/ForensicPadSystem.cs Outdated Show resolved Hide resolved
Content.Server/Forensics/Systems/ForensicPadSystem.cs Outdated Show resolved Hide resolved
Content.Server/Forensics/Systems/ForensicPadSystem.cs Outdated Show resolved Hide resolved
@slarticodefast slarticodefast self-assigned this Nov 7, 2024
@slarticodefast slarticodefast added S: Awaiting Changes Status: Changes are required before another review can happen S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure. and removed S: Needs Review Status: Requires additional reviews before being fully accepted labels Nov 7, 2024
@Ian321
Copy link
Contributor Author

Ian321 commented Nov 7, 2024

The failed test DeleteAllThenGhost is unrelated and passed on my machine.

@Ian321 Ian321 requested a review from slarticodefast November 7, 2024 18:39
@github-actions github-actions bot added S: Needs Review Status: Requires additional reviews before being fully accepted and removed S: Awaiting Changes Status: Changes are required before another review can happen labels Nov 7, 2024
@SlamBamActionman SlamBamActionman added the S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. label Nov 14, 2024
@ScarKy0 ScarKy0 added P1: High Priority: Higher priority than other items, but isn't an emergency. T: New Feature Type: New feature or content, or extending existing content D2: Medium Difficulty: A good amount of codebase knowledge required. A: Medical Area: Medical department, including Chemistry A: Security Area: Security department, including Detectives, HoS and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Nov 17, 2024
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Nov 21, 2024
@Ian321
Copy link
Contributor Author

Ian321 commented Nov 21, 2024

Why the hell is there a conflict? Nothing changed in contraband-severity.ftl.
Edit: Found the change. There was a BOM in the first line and it got removed by #33435. Time to rebase using a hex editor... AFTER a maintainer requests it.

@Ian321
Copy link
Contributor Author

Ian321 commented Nov 23, 2024

I'm starting to have some mixed feeling about this PR after having played some more botany and getting mutations that added would-be-contraband reagents multiple time. For example: Should I have to toss my ambrosia-dues, just because it also contains Stimulants/Hyperzine?

I'm assuming that's also why its still under maintainer discussion. Maybe this needs #33385 and/or a general free-pass for botany and chem?

@slarticodefast
Copy link
Member

slarticodefast commented Nov 23, 2024

I'm assuming that's also why its still under maintainer discussion. Maybe this needs #33385 and/or a general free-pass for botany and chem?

Yeah, that's one of the points, but the discussion has stalled a little, I'll give it a bump. Some points we got so far:

  • Lead should likely not be contraband, even if it is a strong poison and only available for nukies, since it is also a common material in real life and it being prohibited does not really make much sense. Long term a lot of chemicals will have to be rebalanced anyways, but probably after newmed and the chem refactor.
  • Like you mentioned, a lot of discussion will be needed for other reagents, for example uranium, mutagen, plasma and so on. They all can be dangerous and could be considered contraband, but would need to be classified if that is something we want to have for reagents.
  • In combination with the linked PR some reagents might only be allowed for certain jobs.

In any case, I think having the functionality for this in the game should be a good thing, no matter the exact classifications we come up with. For the start we can stick to the obvious highly prohibitied traitor-only reagents that are syndicate contraband and maybe add minor categories later.

I will give the PR another review when I find the time.

Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Ian321
Copy link
Contributor Author

Ian321 commented Nov 25, 2024

@slarticodefast I have a suggestion:

  1. i'll wait for Job contraband rework #33385
  2. rebase
  3. add fields to specify allowed departments and jobs
  4. remove the fields already assigned (so no reagent is contraband)

This way we could merge this and have another (multiple?) PR decide what is considered contraband.

@slarticodefast
Copy link
Member

Sounds like a good plan to me 👍

@IProduceWidgets
Copy link
Contributor

I think this should be its own component. It doesn't really make any sense to tie it to fingerprinting and DNA at all.

@Ian321 Ian321 force-pushed the reagent_contraband branch from 9de9201 to 08dcc3b Compare January 15, 2025 12:25
@github-actions github-actions bot added size/M Denotes a PR that changes 100-999 lines. Changes: Sprites Changes: Might require knowledge of spriting or visual design. and removed S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted labels Jan 15, 2025
Copy link
Contributor

RSI Diff Bot; head commit 08dcc3b merging into 332fc18
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Objects/Storage/boxes.rsi

State Old New Status
chemical Added

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: Medical Area: Medical department, including Chemistry A: Security Area: Security department, including Detectives, HoS Changes: Sprites Changes: Might require knowledge of spriting or visual design. Changes: UI Changes: Might require knowledge of UI design or code. D2: Medium Difficulty: A good amount of codebase knowledge required. Merge Conflict P1: High Priority: Higher priority than other items, but isn't an emergency. S: Needs Review Status: Requires additional reviews before being fully accepted S: Undergoing Maintainer Discussion Status: Currently going through an extended discussion amongst maintainers, as per procedure. size/M Denotes a PR that changes 100-999 lines. T: New Feature Type: New feature or content, or extending existing content
Projects
None yet
Development

Successfully merging this pull request may close these issues.

"Controlled Substances" is a myth Chemicals and the new contraband system
7 participants