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

Custom, crew-buildable vendors #28009

Merged
merged 12 commits into from
Jan 28, 2025
Merged

Conversation

FunnyMan3595
Copy link
Contributor

@FunnyMan3595 FunnyMan3595 commented Jan 17, 2025

What Does This PR Do

Adds the ability for vendors to hold actual items (rather than just typepaths), and uses it to implement a custom vendor type, which is available in the vending board and as a kit in the bar and kitchen vendors.

Why It's Good For The Game

Custom vendors are not only fun for admin use, they allow chefs, cooks, and other folks with stuff to sell to do it in a standardized way.

Images of changes

2025-01-17.02-38-00.mp4

Testing

Made above video.
Disassembled a custom vendor without a linked POS.
Deconstructed and destroyed a custom vendor with stuff in it. Got the stuff back both times.
Used an ATM, merch vendor, and claw machine (all the collateral migrations).
Tried to do various things that should prevent inserting an item after getting the price prompt.


Declaration

  • I confirm that I either do not require pre-approval for this PR, or I have obtained such approval and have included a screenshot to demonstrate this below.

Changelog

🆑
add: Custom vendors that you can load and buy from. The chef and bartender can buy a kit from their vendor, and they can be built with a vending machine board like any other vender, but don't require a restocking kit.
/:cl:

@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting type assignment This PR is waiting for its type to be assigned internally TGUI This PR modifies TGUI, will conflict labels Jan 17, 2025
@FunnyMan3595
Copy link
Contributor Author

Looks like we'll need #27784 to merge before this, since the migration on /obj/machinery/economy wasn't sufficient.

@FunnyMan3595 FunnyMan3595 added the Feature This PR is a new addition to the game label Jan 17, 2025
@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting approval This PR is waiting for approval internally and removed -Status: Awaiting type assignment This PR is waiting for its type to be assigned internally labels Jan 18, 2025
@PopeDaveThe3th
Copy link
Contributor

I recall these existing over on tg and causing a minor kerfuffle when someone tossed the NAD in one and set it for 30000 credits or something, so you may want to ensure that's covered if you haven't already.

@FunnyMan3595
Copy link
Contributor Author

I recall these existing over on tg and causing a minor kerfuffle when someone tossed the NAD in one and set it for 30000 credits or something, so you may want to ensure that's covered if you haven't already.

I mean, you can, but then someone can just break it and pick the NAD up from the pile of stuff. The vendor is only protected against screwdriver + crowbar disassembly, not any other destruction method.

@Scribble-Sheep
Copy link
Contributor

Holy shit, based

@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting review This PR is awaiting review from the review team and removed -Status: Awaiting approval This PR is waiting for approval internally labels Jan 23, 2025
Copy link
Member

@Burzah Burzah left a comment

Choose a reason for hiding this comment

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

Request for holding until #27784 is merged.

@github-actions github-actions bot added the Merge Conflict This PR is merge conflicted label Jan 25, 2025
@FunnyMan3595 FunnyMan3595 requested a review from DGamerL January 26, 2025 17:45
@github-actions github-actions bot removed the Merge Conflict This PR is merge conflicted label Jan 26, 2025
Copy link
Contributor

@warriorstar-orion warriorstar-orion left a comment

Choose a reason for hiding this comment

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

LGTM, super psyched for this

Copy link
Member

@Burzah Burzah left a comment

Choose a reason for hiding this comment

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

Just a few things with message formatting.

code/game/machinery/vendors/custom_vendors.dm Outdated Show resolved Hide resolved
code/game/machinery/vendors/custom_vendors.dm Outdated Show resolved Hide resolved
code/game/machinery/vendors/custom_vendors.dm Outdated Show resolved Hide resolved
code/game/machinery/vendors/vending.dm Outdated Show resolved Hide resolved
@Burzah Burzah added this pull request to the merge queue Jan 28, 2025
@ParadiseSS13-Bot ParadiseSS13-Bot added -Status: Awaiting merge This PR is ready for merge and removed -Status: Awaiting review This PR is awaiting review from the review team labels Jan 28, 2025
Merged via the queue into ParadiseSS13:master with commit a6d347e Jan 28, 2025
17 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-Status: Awaiting merge This PR is ready for merge Feature This PR is a new addition to the game TGUI This PR modifies TGUI, will conflict
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants