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

Fully implements the ID Card design document #56910

Merged
merged 95 commits into from Mar 1, 2021

Conversation

Timberpoes
Copy link
Member

@Timberpoes Timberpoes commented Feb 14, 2021

Policy Considerations

I have pinged the headmins and headmin-elect Jimmius as of the time of editing this comment requesting input on two policy considerations. So far Lepi has responded and based on their responses I am outlining the below.

The Acting Captain

Players who are Captain role banned will be ineligible for Acting Captain. This could result in a lower ranking player being given Acting Captain over them, or in no Acting Captain at all if they would have been the only eligible player.

The Quartermaster

The Quartermaster is now an uber low level Command role.

As a result, the QM will be added under the Command heading for Command role bans going forward.

Historic Command bans continue to not include the QM and this change is not retroactive.

I expect headmins and admins to deal with historically Command role banned players bringing attention to themselves as a QM on a case-by-case basis.

Command banned QMs cannot become Acting Captains by virtue of their Captain head ban alongside "The Acting Captain" policy consideration. The QM is not being promoted to a traditional Command role in the sense of "Human only, has to be killed by revs, etc." and Command bans will continue to not include the QM. If the QM is not Captain banned, they are eligible for Acting Captain.

The rest of the PR

About The Pull Request

My best-effort attempt at implementing the ID card design document at https://hackmd.io/@tgstation/HkS-z64NP

What Has Been Completed

ID cards are assigned a number of wildcard access slots based on the rarity/quality of the card.

  • Grey - The basic card, this has only two wildcard slots that can carry only common access flags.
  • Silver - The head’s card of choice, this has five wildcard slots for extra accesses that can carry up to 3 common, 1 command and one private command access flags.
  • Gold - The card of choice for all access. This has unlimited wildcard slots at the Captain level, capable of taking all station accesses.
  • Centcom - The card of Central Command. This has unlimited wildcard slots at the Centcom level, capable of taking all station and Centcom accesses.
  • Syndicate - A black card of syndicate origin. This has unlimited wildcard slots at the Syndicate level, capable of taking all station and Syndicate accesses. A true status item!
  • Deathsquad - Syndicate card but with Centcom accesses. Who are these guys, anyway?
  • Prisoner - No wildcard slots at all.
  • Chameleon/Agent ID - An adaptive card that can be modified with any combination of card appearances. Only has 5 wildcard slots, 3 at common, 1 at command and 1 at captain level.

These wildcard slots can accept any access up to and including the level of the wildcard.

The ID console has been updated to account for this.
The predefined and wildcard slots should are displayed seperately for the card being operated on.

ID Console now has pre-defined templates for applying trim accesses to ID cards. The ID console app comes preloaded with all jobs as templates to minimize job switching change, intended to be used alongside the trim painter. The ID console can terminate the employment of ID cards, which will strip ALL access and wipe the card's trim. The card must be re-trimmed in the painter. Only ID cards with trims that belong to a department's subordinates, although ID console access on your login card will allow you to wipe any trim off a card universally.

The chameleon card now clones access similar to the Card Mod app by swiping the card on any other ID card to steal parts of its access. There is a barebones UI to manage this.

ID cards have a number of predefined access slots based on the "Trim" of the card. The “Trim” of the card modifies the predefined slots available - this is so department cards can get the relevant department slots without interfering with wildcard slots

Includes all the changes from #56532.

The Captain's job trim now has a white star instead of a grey star.

Card Ordering - Silver and Grey are orderable in cargo. Grey cards come in a box of 7 while silver cards come in single packs. Delta, Meta and Kilo already give the HoP a box of 7 silver IDs mapped in. Icebox now has a box as well alongside the others on the Bridge. The Captain's locker also has a box of silver IDs as before.

Trim Painter - New functionality added to PDA Painters. Can completely replace a card's trim. Doing so will wipe all the card's access levels. An ID card machine would then be required to add new accesses to it.

Captain's Spare ID - Now kept on the bridge in a safe. The Captain spawns with a piece of paper containing the code to this safe. If there's no captain, it falls to the chain of command from HoP at the top through to QM at the bottom. This roughly follows https://tgstation13.org/wiki/Chain_of_Command with creative freedom for where the CE and CMO are placed.

The safe for the Captain's spare is impervious to ordinary weaponry. It cannot be hacked. It's immune to melee, bullets, lasers and energy weapons. It is weak to explosions and can be corroded with acid. Its description hints at these two weaknesses. Players may find other creative ways to open it outside of these intended weaknesses.

Shift clicking - Shift clicking a user shows any ID card(s) associated with their ID card wear slot as a larger image in tguichat, such that you can immediately see the name and trim on the card. If the user has a wallet, the examine defaults to the highest ranked card on the person. The highest ranked card is designated as the card with the most "Command" or higher level accesses. Laptops and tablets display BOTH their stored ID cards if they exist.

Viewing access in game - Cards on mob sprite whenever they’re in the IDcard slot. This sprite is clearly visible on the mob and shows the colour of the card, this makes wearing the gold card a higher risk activity. If the card is in a wallet or laptop, the card with the highest number of command accesses is the one that gets displayed on the on mob sprite

  • Implement wildcards
  • Implement trims
  • Implement chameleon ID card
  • Update ID console interfaces
  • Make Captain's trim star white instead of light grey
  • Implement Trim Painter
  • Implement job templates in ID consoles
  • Add ID card ordering to cargo
  • Code documenting
  • Sweep usage of tgui AccessList and implement an AccessList sub-component if necessary for interfaces that utilise it outside of the ID console and need old functionality.
  • Code cleanup.
  • Captain's spare safe + acting captains
  • Improved card examine/shift clicking and wallet logic
  • Implemented very basic codery on-sprite representations of PDAs, Wallets, Tablets and ID Cards, including when ID cards are contained inside these items. Someone else can make this better.
  • Testing

Images

Updated ID Console, wildcard usage examples, terminating employment.
tfDREIm4xu
72hm6eyj2T

Agent ID card copying access from another card.
2bdnYcGNhD

Agent ID card showcasing dynamic trimming and mimicing any card and trim combination.
3IU9xe3mjE

PDA/ID Trimmer to mess around with the Captaion's Spare
sGnKLvtqLP

Wallet logic
6oSkdtRyQy

Examine tguichat ID card examples
4RYySG0cpu

May God have mercy on your souls, because this is what happens when coders start touching sprites and getting smart ideas above their station in life - On-mob sprites for the ID card slot.

f2RXtxsEzw

ID "Trimming" and Modular ID Cards

Separates the concept of "retro" ID cards that use single icon states from "advanced" ID cards that are a composite of overlays.

Advanced ID cards are a base template - For example, we have the orange prisoner cards, black deathsquad/syndicate ones, gold, silver, grey - Without any hardcoded icons or any other details.

The assigned text, the little overlay that happens when the ID card has a name assigned to it, has similarly been pulled out to an overlay in all cases. This allow for future customisation if necessary - Any card can have any of the 3 assign text templates overlayed.

Massive re-pathing, although there should be no functionality changes in practice (beyond being able to customise formerly hardcoded cards like ERT cards, syndie/deathsquad black cards and prisoner cards)

Also to accomplish this I needed to atomise some icons.

image

As part of this I've also made the Cap's icon no-longer-light-grey.

image

Why It's Good For The Game

See https://hackmd.io/@tgstation/HkS-z64NP

Changelog

🆑
balance: ID cards have now completely changed. ID cards have limited available access slots increased by card rarity and the specific job trim. Jobs with more innate access now have more valuable ID cards. Better watch your backs!
balance: Yes, this means that you can no longer mass-distribute unrestricted All Access. During War Ops, you're expected to protect the diskie and disk holder. Sec can distribute guns. Cargo can order guns. You can still get key accesses like Maint on any ID card. HoP can still create and trim special silver ID cards for high value staff members to get more access. Adapt. Overcome. Suffer.
balance: Chameleon ID cards are completely reworked. Instead of copying all accesses from a card, they now open up an interface where you can select up to 5 accesses to copy over depending on the target card's access.
tweak: The ID Console has been updated to reflect these new changes including a somewhat improved layout. You can apply job templates direct to cards via a drop-down interface and these templates will attempt to fill out as many accesses on the card as it can based on the card's trim and the template's wildcard setup.
tweak: The PDA Painter has now been upgraded with a tgui interface. It can be used to paint PDAs the same as before, but can now also change the trim on ID cards. This procedure will remove all access levels from the ID card in the process, leaving you with a freshly trimmed blank ID card.
tweak: Captain job trims now have a white star instead of a dull grey star.
removed: Mining Conscript Card has been removed and replaced with a spare mining ID that holds and has the access the Conscript card gave.
tweak: The Captain's Spare ID has been moved from the Captain's locker to a secure safe on the bridge. The highest ranking Command member on shift start is given the codes to this safe, generally following the chain of command. The QM is part of this and can, in exceptional circumstances where no other heads join the shift, become Acting Captain. Their ID card would be given Bridge access if they were picked as Acting Captain to allow them to access the captain's spare. If nobody in the chain of command joins the shift, the next latejoined player from the chain of command will be given the codes for the spare and promoted to Acting Captain automatically.
tweak: The secure safe on the bridge is a special variant that is immune to conventional weaponry and lacks the hacking mechanic of ordinary wall safes. Maybe if you could examine it close enough, you'd find hints to its weaknesses...
tweak: Examining players now shows a more detailed representation of any ID card in their ID slot.
add: Added the world's worst coder sprites for ID card overlays including PDA, Laptop and Wallet icons for when they're in the ID Card slot too. May God have mercy on your souls, for my spriting skills have none.
/:cl:

mozi-h pushed a commit to mozi-h/tgstation that referenced this pull request Mar 1, 2021
mozi-h pushed a commit to mozi-h/tgstation that referenced this pull request Mar 1, 2021
@maxymax13
Copy link
Contributor

here's a flowchart

old id console
image

new id console
image

@MatthewJaluvka
Copy link

this is very annoying in practice

@saprasam

This comment was marked as spam.

@Mothblocks
Copy link
Member

you cant even use tools to hack open the captain's spare safe, forcing you to break into chem for explosives or acid

just forces you to use multiple ID cards if you want to be able to go anywhere

sounds like it changed exactly what it was supposed to to me

@saprasam

This comment was marked as spam.

@KathrinBailey
Copy link
Contributor

This is very well done and the UI looks super beautiful, awesome work. ❤️

@Tupinambis
Copy link

There needs to be more wildcard slots than literally just 2 for most people and 5 for heads of staff. That's super limiting and hugboxy. The role flagging thing for tiered access is especially excessive.

The HoP has a job and it feels like this significantly detracts from that job.

@TheRealScarHomie
Copy link

:trollface:

@Laz0rG
Copy link

Laz0rG commented Mar 7, 2021

This PR is a very poorly thought out change in my opinion, as it completely guts the simple and effective nature of the ID change system only to accomplish one thing (preventing AA leaks) which in essence it fails to do. You can still get practically all access, but now it's made more tedious and, keyword, UNFUN by having to carry around multiple ID's, to steal insulated gloves/tools after giving yourself engineering access/cargo access in order to hack into places you can't give yourself access to with a HoP ID, and/or having to steal from cargo to get silver ID's.

Also, syndicate chameleon ID's are even more worthless on account of being exactly like regular ID's, and if you already have access to another person's ID it's more effective to just steal the ID instead of wasting 2 tc on the them

Credit where credit is due though, I think moving the spare into an unmovable wall locker was a good change, so at least now during highpop rounds (where AA getting out actually matters, unlike lowpop rounds) AA cannot be ninja'd so easily and requires more co-ordination from the tide, or antags, and importantly gives security more time to respond.

@Mothblocks
Copy link
Member

This PR is a very poorly thought out change in my opinion, as it completely guts the simple and effective nature of the ID change system only to accomplish one thing (preventing AA leaks) which in essence it fails to do. You can still get practically all access, but now it's made more tedious and, keyword, UNFUN by having to carry around multiple ID's, to steal insulated gloves/tools after giving yourself engineering access/cargo access in order to hack into places you can't give yourself access to with a HoP ID, and/or having to steal from cargo to get silver ID's.

Did you read the design doc? A lot of what you said is either wrong or intended behavior.

@TheRealScarHomie
Copy link

but the design doc is poorly thought out too :trollface:

@cacogen
Copy link
Contributor

cacogen commented Mar 7, 2021

tedious and, keyword, UNFUN

It is in accordance with the scripture

@Mothblocks
Copy link
Member

Carrying multiple IDs and hacking in everywhere, ideally, makes you more suspicious to security--this is all explicitly in the design doc. Just talk to the people who have access, this is a multiplayer game.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Changes to functionality that modifies how effective certain methods are at powergaming Map Edit Thank you for your tile-placing service. It's always appreciated. Sprites A bikeshed full of soulless bikes. UI We make the game less playable, but with round edges
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet