vgstation-coders / vgstation13

Butts
GNU Affero General Public License v3.0
265 stars 545 forks source link

Feature Request: Chef Counter Fridges #13875

Open ThePlapatin opened 7 years ago

ThePlapatin commented 7 years ago

The general idea is to turn one of two tables of the chef's front counter into empty sort of fridge units. Think shop counters you'd see in an ice cream shop or sandwich place, the sort you can use to see everything for sale and probably has a price written next to it. Also make it so these fridges function as vending machines that somebody with chef access can add food to and change prices.

The chef can both set up food on the counter for display and easy eating and also put the food he/she wants in the fridge for sale that anyone can walk up and click to see inside of it.

good thing: it encourages chef interaction, or at least standing around an extra second as you buy food more use for the useless economy somebody other than miners can earn money for once

bad things: it will only happen when I code it (I wont code it)

please respond with feedback :)

Shadowmech88 commented 7 years ago

This would be a lot easier if custom vending machines in general were added first. I can't remember if there was ever a PR to do so, but it's been talked about.

Kitfox88 commented 7 years ago

Wasn't there some PITA issue with custom vending machines? If there wasn't someone should get on that who isn't me because I can't code my way out of a paper bag let alone byond.

Kurfursten commented 7 years ago

Well the main PITA about it would be that you need to basically rewrite vending machines entirely. You see, they don't contain a list of objects, they contain a list of object types instead.

If they actually contained the objects themselves rather than just a list of types with how many of each, it would be easy to, for example, insert a half-used wine bottle back into the boozeomat and retrieve it later, still with half its reagents used up.

Zth-- commented 7 years ago

I was working on it some time ago. The object thing is not complicated at all, the complicated thing is having different owners and a system for it in html. Which is not very hard but I had no experience then

Kurfursten commented 7 years ago

It's not complicated but I would say it qualifies as a PITA, since it requires rewriting vendors entirely

Kitfox88 commented 7 years ago

You see, they don't contain a list of objects, they contain a list of object types instead.

QUALITY OLDCODE

Aurx commented 7 years ago

It's perfectly decent code.
There's no reason to instantiate non-processing objects that would just be sitting in a vending machine if the vending machine is output only.

Exxion commented 7 years ago

So has everyone just forgotten about smartfridges?

Kurfursten commented 7 years ago

Those would also need a bunch of stuff tacked on, since they don't handle sales and therefore don't take money or interact with your account.

And also arguably people might want them to have other vendor behaviors like kickable, EMP-makes-it-drop-stuff, and hackable.

Blithering commented 7 years ago

It would also make displaying your wares as a vox trader easier if one was added to their shuttle, and prevent telescience from nicking all your shiny crystals

Shadowmech88 commented 7 years ago

Telescience could just steal the vending machine instead.

Blithering commented 7 years ago

They'd have to run down and unanchor it first though.

Kurfursten commented 7 years ago

Machines don't play nice with shuttles for a variety of reasons. First off, there's no power grid/APC. And the turfs don't like wrenching down or up, so one has to work around that.

FudgePucker commented 7 years ago

Wait, what if instead of totally recoding vending machines we just don't use vending machine code for custom vending machines?

Exxion commented 7 years ago

Custom vending machines Would use smartfridge code They'd be children of smartfridges, because that's what they are by far more similar to

Bilgecrank commented 7 years ago

fridgevendormosdon I present to you, a fridge vendor! The other spriters gave me the idea that we make this fridge use mini sprites of existing foods so that people can see what's in the fridge before accessing it.

Here's the DMI, and here's the sheet: spacecounterfreezerthing

I've designed this thing to work as such, when the layers are assembled: FVBelt>Food Sprite(16x16)>FVGlass>FVShell

If it's like this, then the food should glide across and appear like it's moving in under the machine.