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

contrabandInventory Changes (Fixed) #32934

Merged
merged 10 commits into from
Feb 3, 2025

Conversation

AgentSmithRadio
Copy link
Contributor

@AgentSmithRadio AgentSmithRadio commented Oct 21, 2024

About the PR

I've added contrabandInventory menus, the kind that you access by manipulating the "Manager" wire on vending machines, to nearly every vending machine SS14. This is the second attempt, the first pull request had a merge conflict that required me to redo this process. You can see the previous PR here.

Why / Balance

contrabandInventory is a woefully under-explored mechanic in SS14, and I wanted to take advantage if the world-building, flavour and gameplay opportunities available from populating these secret menus.

To note, beyond securing the equipment, hacking a vending machine isn't hard once you locate the Manager Wire in any given round. There are a few goals I have in mind:

  1. The items inside of the machines should be faithful to what those machines are.
  2. The items inside of the machines should raise questions about the SS14 universe, the corporations behind these machines, and what happened on the space station before the crew arrived on disaster day.
  3. None of these items should become meta. If a vending machine begs to be hacked every shift, the items inside are too powerful.
  4. The items shouldn't be high-end prestige items, but they should be interesting.
  5. The vending machine stocks should never invalidate the role of Cargo in station function.

Two major changes of note:
First, Changeling Sting has been removed from the Shamblers EMAG menu, and Syndi-Cakes has been removed from the GetMore EMAG menu, to move those items to their contrabandInventory menus.
Second, figurines have been placed in their revelevant Drobe machines.

My reasoning for adding figurines to the machines is as follows:

  1. It removes a lot of weight from purchasing figurines from Cargo, which is a fairly frivolous purchase, and makes obtaining a full crew set much more reasonable.
  2. It gives a reason for innocent people to trespass or seek permission to hack Drobes for roleplaying purposes. It makes every department a bit less secure, which is fun for antags and an added joy for Security.
  3. It can allow us to return the figurine objective back to Thief by making obtaining figurines accessible by hacking a crap-ton of Drobes across the station. It adds an element to thief gameplay that is interesting and different, but isn't in itself illegal.
  4. Toys are fun, seeing more figures is part of what makes Cog interesting in its design, I'd love to see them show up more often.
  5. This makes the Cargo figurine bounty much less awful to accomplish by making it reasonable to complete for knowledgeable players.

Technical details

I went through every vending machine .yml file, added a "contrabandInventory:" line if there wasn't one, then added each item for those menus. I kept formatting consistent with the currently .yml files.

Media

Here is a new and revised video of how to access the contrabandInventory menu, and showing every vending machine contrabandInventory menu. EMAG menus not included. Video uploaded to YouTube due to file size, video is approximately 5 minutes long. Alternatively you can look at the Files changed menu on the top bar of this PR, and see every list directly from the .yml files, highlighted for your convenience.

Requirements

Breaking changes

Previous merge conflict resolved, and this shouldn't interfere with other PR's I've seen.

Changelog
🆑 AgentSmithRadio

  • add: Added manager wire hacking menus to nearly all vending machines. Get hacking and see what's hidden!

@github-actions github-actions bot added the Changes: No C# Changes: Requires no C# knowledge to review or fix this item. label Oct 21, 2024
Comment on lines +12 to +15
ClothingNeckStethoscope: 2
Saw: 2
Tourniquet: 3
Copy link
Contributor

Choose a reason for hiding this comment

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

Not sure I understand why these are in the soda vendor.

Copy link
Contributor Author

@AgentSmithRadio AgentSmithRadio Oct 21, 2024

Choose a reason for hiding this comment

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

This is the Dr. Gibb machine. While most soda machines either receive a different soda (Dr. Gibb in PwrGame "Much Better Than Dr. Gibb" machines, or at least that's what they kept screaming at me during research and testing) or their full-sized bottle equivalents for the Cola/Soda and Space Mountain Wind machines, I wanted to try something more interesting for Dr. Gibb.

This is very much a field amputation kit, with a stethoscope for someone to throw on to pretend to be a doctor before doing it. While there is no amputation in the game, I wanted this to be somewhat jarring, that the seemingly innocent soda machine for some reason has these tools for amputation, with no anesthesia, wound dressing or anything else, and play into the shock value of seeing it for the first time. The reason to come back to this machine is the tourniquets, which is why their spawn is set to 3, so there's a higher chance that one will be there in a situation where you actually need it.

tl;dr: field amputation kit in Dr. "tastes like malpractice" Gibb machine in horror game.

Copy link
Contributor

@Alpaccalypse Alpaccalypse Jan 4, 2025

Choose a reason for hiding this comment

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

Sound legit to me. Not sure how good saw is as a melee weapon though, is it in any way OP?

To further justify it, a recently approved PR adds "Trust me I'm a doctor!" and other medically themed lines to the advertising of these machines. I feel this greatly adds to the Dr. Gibb dark joke theme.

@github-actions github-actions bot added the S: Needs Review Status: Requires additional reviews before being fully accepted label Oct 24, 2024
@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Oct 31, 2024
Copy link
Contributor

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

@AgentSmithRadio
Copy link
Contributor Author

I apparently merge conflicted... myself? I'll get this fixed later today when I have more time to mess around in SmartGit.

@github-actions github-actions bot removed the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Oct 31, 2024
@RedBookcase
Copy link
Contributor

An overall great PR that deserves to be merged. Currently the main interaction I have with the manager wire is using it for a free multitool if i'm tiding, or explaining how it works when teaching new players hacking. Without fail they always find the idea of a hidden inventory in a vending machine to be really cool, and then they're inevitably disappointed when they learn there's only about 3 machines with actual hidden inventories. Adding this gives new players actual rewards for being curious and fiddling around with existing machines, which I think is just a net positive. I don't think any of the items are especially powerful either (The most powerful being maybe the extra mutagen in the botany vendor) so I don't think there's really much to worry about balance wise. Hope to see it in game soon!

@AgentSmithRadio
Copy link
Contributor Author

Without fail they always find the idea of a hidden inventory in a vending machine to be really cool, and then they're inevitably disappointed when they learn there's only about 3 machines with actual hidden inventories.

Hi, that was my experience. When the contrabandInventory menus were reenabled back in August, I played a round as Engineer where I went around hacking every machine I could, and wondering why there was nothing in them, and thinking that maybe I was doing it wrong. I then found a BODA machine, was briefly amused that it had space cola inside, and that was the real extent of it.

I don't think any of the items are especially powerful either (The most powerful being maybe the extra mutagen in the botany vendor) so I don't think there's really much to worry about balance wise.

Baby-proofing this update took a lot of my time designing this. Originally, I wanted to put a bottle of Diethylamine into the Nutrimax, but it doesn't currently exist as an entity in the code. Since doing my most recent PR, I now know how to make it an entity and could go around and change this, it wouldn't take long, but keeping it as Unstable Mutagen doesn't feel like a major risk. It's not like Botanists protect their Mutagen buckets all that well, anyone who wants to steal some generally has an easy time doing so.

That said, maybe 30u of hackable Mutagen is too accessible as a powerful poison for antagonists. I'm second-guessing myself now, I need to think a bit more on this one.

@TheDoctor1977
Copy link

That said, maybe 30u of hackable Mutagen is too accessible as a powerful poison for antagonists. I'm second-guessing myself now, I need to think a bit more on this one.

The botany chemistry kit from #31738 arguably contains far more potential for the smart antagonist, so I'd say it's probably fine.

@AgentSmithRadio
Copy link
Contributor Author

The botany chemistry kit from #31738 arguably contains far more potential for the smart antagonist, so I'd say it's probably fine.

Fair point. After further thought, I'm not that worried. If this somehow becomes an issue it's easily removed anyways, and I don't see Botany not going to Chemistry for muta, it should be fine.

@SlamBamActionman SlamBamActionman added the S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. label Nov 14, 2024
@@ -10,3 +10,5 @@
MatterBinStockPart: 4
CapacitorStockPart: 4
MicroManipulatorStockPart: 4
contrabandInventory:
Scalpel: 1
Copy link
Member

Choose a reason for hiding this comment

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

Actual half-decent melee weapon, shouldn't be in there.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I was hoping to provide a sort of legitimate knife-tool for passengers/greytiders. Originally it was a kitchen knife, after discussion here I swapped it to scalpel. I'm not sure where else to go on this front, there's not much else that makes sense in this machine.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think that the answer is a Network Configurator. It fits the theming of this machine, and its the natural companion of the Remote Signaller in there.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Realized the Network Configurator is already stocked in the YouTool, I spaced on that one. Added a Proximity Sensor and Left Borg Arm to allow for a single partial bot creation without requiring Science. This allows for a Medibot, Cleanbot, Firebot and Honkbot without requiring further input from Science.

The worst case scenarios I came up with are round-removal inaprovaline kills using the Medibot, which are hard to pull off, and someone creating a Medibot off the grid and emagging it to cause some chaos on the station with sleepy-time drug injections. Both of these are already doable by stealing Medibots from medbay, so I'm not that concerned at this having a real balance impact.

@@ -6,3 +6,5 @@
Bloodpack: 3
EpinephrineChemistryBottle: 3
Syringe: 3
contrabandInventory:
PowerCellSmall: 2
Copy link
Member

Choose a reason for hiding this comment

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

I think this is situational enough for it to not be hacked roundstart, but useful in the middle of an emergency when medbay has gone to shit. I like it.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yeah, if these were even medium cells they'd be hacked for every shift. They're something an engineer/tider can pop out during a medbay emergency whenever the batteries are injected with plasma, or they're all dead. This is one of the interactions I'm more excited to see out of this entire PR.

@@ -39,5 +39,8 @@
TowercapSeeds: 5
WheatSeeds: 5
WatermelonSeeds: 5
contrabandInventory:
NettleSeeds: 2
Copy link
Member

Choose a reason for hiding this comment

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

Considering there have been talks about buffing deathnettle, I would not make it more available like this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I... did not know that. Amantia is pretty strong as it is, so probably not that. Off the top of my head, I should just swap this for Tobbaco or Bungo seeds, basically just one of the lesser-used exotics. Probably Bungo.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Swapped for Bungo Seeds. While its pits can make a decent poison at .2u/sec at 1.8 poison/sec, it's much weaker than Fly Amantia and the upcoming Nettle, and literally the only other choice is tobacco. I think this fits what I was going for with Nettle.

@@ -10,4 +10,6 @@
BoxBottle: 3
ClothingEyesHudMedical: 2
ClothingEyesEyepatchHudMedical: 2

contrabandInventory:
BrutepackAdvanced1: 1
Copy link
Member

Choose a reason for hiding this comment

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

Strong disagree with this, even just one will have a tider foaming at the mouth to get.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Originally this was a defib before I realized how awful that would be, even when they only cost like, 3 steel. I replaced it with these 1-ofs of the advanced topicals as an emergency med you can hack for (with 3 NanoMed Plus per medbay, that's 3 of each), and as a way for doctors to teach interns about them and demonstrate their use.

I might just need to scrap this one all together.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Swapped for a singular apple. I think the joke tells itself.

@@ -16,3 +16,6 @@
EncryptionKeyScience: 2
EncryptionKeySecurity: 1
EncryptionKeyService: 3
contrabandInventory:
RubberStampGreytide: 1
Copy link
Member

Choose a reason for hiding this comment

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

Meant to be a very rare maints item, and also weird that HoP would have it. Keep the pen, not the stamp.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

In my original design it was going to be a Syndicate Stamp, as sort of a trophy for being able to break into the HoP's office and hack their vending machine, but there was general protest in my discussions about this because those sell for 2TC.

I wanted there to be some sort of untraceable trophy in this machine for being able to pull it off, but perhaps it's too much.

Copy link
Member

Choose a reason for hiding this comment

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

As seen with the Sec clothesvend and the funny clown mask, the people who are most likely to hack open a vending machine are the people who have direct access to it.

Maybe an Ian and Nanotrasen balloon, since it's in HoP's office?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I dig it, good ideas there.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Swapped the Greytider Stamp for 2 NT Balloons. I really like this one for the general vibe of what the HoP is going for.

@SlamBamActionman SlamBamActionman added P3: Standard Priority: Default priority for repository items. T: New Feature Type: New feature or content, or extending existing content D3: Low Difficulty: Some codebase knowledge required. A: General Interactions Area: General in-game interactions that don't relate to another area. and removed S: Untriaged Status: Indicates an item has not been triaged and doesn't have appropriate labels. labels Nov 15, 2024
@github-actions github-actions bot added the size/L Denotes a PR that changes 1000-4999 lines. label Nov 16, 2024
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Otherwise undocumented note, I moved the Cow Tools from the YouTool to the EngiVend. I like the idea of them being accessible, but balance comments about providing a second semi-secret multitool to the YouTool is going a bit over the edge. Engineers will be pulling this out for a laugh moreso than anything else, or remember it's there whenever they hack this machine for the beer inside.

To note, the YouTool didn't get a replacement item. It already has the Multitool, it's pretty iconic in the current greytider meta, it's probably fine just leaving it as it is.

Copy link
Contributor

Choose a reason for hiding this comment

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

Beer for engivend is a nice touch.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The visual that comes to mind for me is the cutscene from the Starcraft 1 Zerg campaign where a bunch of Dominion soldiers board one of their science vessels to look for signs of Zerg activity, only to pop open their nuclear bomb case to reveal a cooler with beer and ice in it.

I figure that throwing a few beers into the EngiVend is a good focal point for Engineering social get-togethers, say at the start of a shift, after setting up the singulo or when holded-in during a Zombie round. It just feels fitting that Engineers would tamper with their own vending machines, and if I were to do that, I'm definitely stuffing beer in there for later.

@ps3moira
Copy link
Contributor

ps3moira commented Dec 8, 2024

This is bloat content if you're just adding toy figurines and plushies to every vending machine. Doesn't invoke world building or anything like that just makes it easier to do bounties for cargo

@RedBookcase
Copy link
Contributor

This is bloat content if you're just adding toy figurines and plushies to every vending machine. Doesn't invoke world building or anything like that just makes it easier to do bounties for cargo

It adds a lot more than just figurines, you can watch the vid to see everything included. It makes the manager wire an actual functional part of every vending machine, rather than something that's useless on 95% of machines. And besides, I don't really see a problem with making figurines more obtainable.

@AgentSmithRadio
Copy link
Contributor Author

This is bloat content if you're just adding toy figurines and plushies to every vending machine. Doesn't invoke world building or anything like that just makes it easier to do bounties for cargo

Paradise Station in SS13 took the same approach I came to, figurines go into their relevant drobes. The primary goal of this specific approach is to bring back the figurine objective for thief.

Figurines are fun, silly toy items, and they're inherently collectable. Before, thieves could roleplay wanting to collect figurines, raid the library and whatever mystery boxes spawned on the station, and would then have to meta themselves to cargo to order a bunch more to reach their goal of 13-15 figurines. Even if you brought cash, it only takes one cargo member to report you to become security's favourite person to search. It wasn't great.

If included, it wouldn't be uncommon for players of any job to start hacking drobes to fish these out. If this objective is brought back to thief, it gives them a legal way to obtain figurines, at least until they have to start trespassing departments to get their figurines, and possibly raise suspicion on themselves, especially if their collection is found. This loop reminds me most of the current lamp objective, but with a more common item type, and using hacking for machines instead of bypassing doors.

The core problem with designing manager wire menus is that you can't actually rock the balance all that strongly. Anything good enough to be hacked for in any given round will get hacked, we see that with the Multitool in YouTool machines every round on Wizden. I can tell stories with the amputation kit in the Dr. Gibb machine, or make jokes like apples in the NanoMed Plus, or sunflower seeds in the MegaSeed Servitor, but there's a fundamental limit. When I was developing this, I suggesting that a Syndicate Stamp get put into the HOP's vendor got ire because it costs TC, even though similar items like the Cybersun Pen, which costs 1TC, is not exclusive to the Uplink.

People want small, so that's the direction I took this, everything is here for flavour in some way. Figurines are fun, a carp plushie in the Salvager machine is fun, but there's the functional like the Bottle of Nothing in the Booze-o-Mat, Bungo Seeds in the Servitor (as a poison and as a food), bot parts in the Vendomat, strange pills for the grinder lottery from the ChemVend, the box of Donk Pockets in the ChefVend (12u Omni per box). My goal was to make items good enough to be interesting, to be rewarding for someone exploring it for the first time, or someone going back because they know they can get a specific something, without actually breaking the current game balance. It's a minigame that now becomes more viable for people to explore, and acts as a gateway to more difficult hacking for new players (ie. doors in general, reversing EMAG, circumventing AI).

@AgentSmithRadio
Copy link
Contributor Author

you can watch the vid to see everything included.

My video is way out of date at this point, I've made too many changes and I think the video actually straight up forgot to check the condiment dispenser (which is a vending machine, so's the SmartFridge oddly enough). Short of me spending 40 minutes remaking the video, it's probably easier to check the Files Changed tab for an actual comprehensive list, unlike many PRs it's pretty easy to read and understand what the items are, even if you don't know the actual IDs.

Copy link
Contributor

Choose a reason for hiding this comment

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

Looking at the comment here, I'm not actually aware of what uniform dying is, but might even more colors be an unwanted addition at this point, or is there a specific reason for this exception?

Copy link
Contributor

Choose a reason for hiding this comment

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

this is from an already merged pr

Copy link
Contributor

Choose a reason for hiding this comment

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

Yep, I missed the comment above. All changes look good to me in that case.

@SlamBamActionman
Copy link
Member

To keep this aging PR up to date, I've updated the inventories of clothesmate.yml to include #31710, dinnerware.yml to include #29318 and salvage.yml to include #33437. I've ignored the Smite Cranberry PRs to the various soda machines because those are rotating out shortly as per Christmas PRs.

The way you would do this is by merging the updated Master branch into your PR branch, not by manually editing the values yourself. Otherwise there's a risk you cause merge issues or accidentally edit out changes, so please fix this.

Otherwise, I think this PR looks good!

@SlamBamActionman SlamBamActionman added S: Awaiting Changes Status: Changes are required before another review can happen S: Approved Status: Reviewed and approved by at least one maintainer; a PR may require another approval. labels Jan 4, 2025
@SlamBamActionman SlamBamActionman self-assigned this Jan 4, 2025
@AgentSmithRadio
Copy link
Contributor Author

The way you would do this is by merging the updated Master branch into your PR branch, not by manually editing the values yourself. Otherwise there's a risk you cause merge issues or accidentally edit out changes, so please fix this.

Understood, I'll get this corrected immediately, and do a full test.

@AgentSmithRadio
Copy link
Contributor Author

I reverted my offending commit, updated my master, rebased this branch with my master, tested every vending machine, realized that I reverted too far and corrected that issue. It required a force-push, but that's standard for rebasing. We should be good to go.

Copy link
Contributor

@ArtisticRoomba ArtisticRoomba left a comment

Choose a reason for hiding this comment

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

all looks good to me except that one thing

@SlamBamActionman SlamBamActionman removed the S: Awaiting Changes Status: Changes are required before another review can happen label Jan 4, 2025
@IWearKhakis IWearKhakis mentioned this pull request Jan 5, 2025
2 tasks
@github-actions github-actions bot added the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Feb 1, 2025
Copy link
Contributor

github-actions bot commented Feb 1, 2025

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

@AgentSmithRadio
Copy link
Contributor Author

AgentSmithRadio commented Feb 1, 2025

Rebased to deal with merge conflict from [34458], I hope...

@github-actions github-actions bot removed the S: Merge Conflict Status: Needs to resolve merge conflicts before it can be accepted label Feb 1, 2025
Copy link
Contributor

@beck-thompson beck-thompson left a comment

Choose a reason for hiding this comment

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

Looks good!

@beck-thompson beck-thompson merged commit 2ffe539 into space-wizards:master Feb 3, 2025
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A: General Interactions Area: General in-game interactions that don't relate to another area. Changes: No C# Changes: Requires no C# knowledge to review or fix this item. D3: Low Difficulty: Some codebase knowledge required. P3: Standard Priority: Default priority for repository items. S: Approved Status: Reviewed and approved by at least one maintainer; a PR may require another approval. S: Needs Review Status: Requires additional reviews before being fully accepted 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.