-
Notifications
You must be signed in to change notification settings - Fork 280
ContrabandSystem doc #409
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
Open
murphyneko
wants to merge
4
commits into
space-wizards:master
Choose a base branch
from
murphyneko:contraband-doc
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
ContrabandSystem doc #409
Changes from 2 commits
Commits
Show all changes
4 commits
Select commit
Hold shift + click to select a range
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
59 changes: 59 additions & 0 deletions
59
src/en/space-station-14/departments/security/contraband-system.md
This file contains hidden or 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,59 @@ | ||
| # Contraband System | ||
| ## Overview | ||
| Contraband System is the system that defines what contraband is in-character. As of now (when I am writing this doc), it is a detailed examine showing 2 things: type of contraband (departmental-restricted, minor, major, syndicate) and whether or not the wearer ID allows the person to possess this contraband. | ||
|
|
||
| ## Background | ||
| Contraband system was initially added in [#28688](https://github.com/space-wizards/space-station-14/pull/28688). The main reason for this systems was to improve security work by strictly defining contraband. Shortly after, the Space Law was changed in [#30937](https://github.com/space-wizards/space-station-14/pull/30937), changing manual listing to a reference to the in-game system. | ||
| Afterwards, many small-scale PRs were made in order to adjust contraband markings. | ||
| With the addition of magical contraband in [#35254](https://github.com/space-wizards/space-station-14/pull/35254), addition of job-specific contraband in [#33385](https://github.com/space-wizards/space-station-14/pull/33385) and changes to contraband examine in [#32250](https://github.com/space-wizards/space-station-14/pull/32250), several discussions took place about the desired behavior of the system. | ||
|
|
||
| ## Technical info | ||
| Contraband System relies on ContrabandComponent in order to store all information about contraband status. | ||
| To simplify prototyping, abstract prototypes have been created for base contraband types, for example: | ||
| ```yaml | ||
| - type: entity | ||
| id: BaseSecurityBartenderContraband | ||
| parent: BaseRestrictedContraband | ||
| abstract: true | ||
| components: | ||
| - type: Contraband | ||
| allowedDepartments: [ Security ] | ||
| allowedJobs: [ Bartender ] | ||
|
|
||
| - type: entity | ||
| id: BaseMajorContraband | ||
| abstract: true | ||
| components: | ||
| - type: Contraband | ||
| severity: Major | ||
| ``` | ||
| Severity here refers to the ContrabandSeverityPrototype, which can be defined like this: | ||
| ```yaml | ||
| - type: contrabandSeverity | ||
| id: Minor | ||
| examineText: contraband-examine-text-Minor | ||
| ``` | ||
| In order to designate an object as contraband, assign one of the base contraband types as a parent. Here's an example with the security HUD: BaseSecurityContraband as a parent automatically adds the contraband designation. | ||
| ```yaml | ||
| - type: entity | ||
| parent: [ClothingEyesBase, ShowSecurityIcons, BaseSecurityContraband] | ||
| id: ClothingEyesHudSecurity | ||
| name: security hud | ||
| description: A heads-up display that scans the humanoids in view and provides accurate data about their ID status and security records. | ||
| components: | ||
| - type: Sprite | ||
| sprite: Clothing/Eyes/Hud/sec.rsi | ||
| - type: Clothing | ||
| sprite: Clothing/Eyes/Hud/sec.rsi | ||
| - type: Tag | ||
| tags: | ||
| - HudSecurity | ||
| ``` | ||
| ## Intended Experience | ||
| - Help security to solve conflicts like "I found it it maints, therefore it's legal" and "Not everything with syndicate mention in the name is illegal" using in-character means; | ||
| - Be an easy way to determine if using this item as security or command will be in breach of the rules; | ||
| - Help admins settle conflicts where items are being confiscated by security (lawfully or unlawfully). | ||
| ## Experience To Avoid | ||
| - Starting OOC conflicts about legal status of an item; | ||
| - Uncovering stealth items; | ||
| - Blocking possibility of delegations and exceptions (like captain giving the sabre to HoS due to being a pacifist, or using syndicate contraband as a last resort against nukies). | ||
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.
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.
Personally I think magical, xenoborg and other contraband types that only exist for flavor reasons should be removed. The main purpose of the contraband system is to make is easy for player to understand what is illegal under spacelaw, and adding new categories just for flavor makes this more complex than it should be.
Otherwise the doc looks good to me.
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.
Indeed.
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.
Wait, that's background section, not the expected behavior.