Open ThePlapatin opened 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.
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.
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.
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
It's not complicated but I would say it qualifies as a PITA, since it requires rewriting vendors entirely
You see, they don't contain a list of objects, they contain a list of object types instead.
QUALITY OLDCODE
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.
So has everyone just forgotten about smartfridges?
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.
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
Telescience could just steal the vending machine instead.
They'd have to run down and unanchor it first though.
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.
Wait, what if instead of totally recoding vending machines we just don't use vending machine code for custom vending machines?
Custom vending machines Would use smartfridge code They'd be children of smartfridges, because that's what they are by far more similar to
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:
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.
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 :)