Yes yes. I know.
Anyway, there's no cooldown on this so you can give someone about 800 brute in 10 seconds. A LITTLE UNUSUAL if you ask me. Also reduced it from 8 because what the hell is that toilet seat made out of? Osmium? For an armor-ignoring attack that's a little high. Also the swirlie thing was coded wrong for the do_after.
* Protolate lid no longer bounces back and forth througout the whole build cycle.
* Autolathe lid no longer closes, snaps open, and then -nothing- until item spawns.
* Instead, the lid closes, stays closed while the item builds, then opens again.
* Every constructable machine with a circuit board needs to create its required parts in its constructor. These parts must be the same parts specified in the machine's circuit board, otherwise you get the wrong parts when you deconstruct. This creates an opportunity for error which we can eliminate by reading the circuit board's part list and just adding those to the machine directly! Plus its less tedious.
* Implemented it on the jukebox.
* Code referred to icon_state "panel_open" but was missing from the dmi. I had a copy of it from elsewhere, so added it in.
* It wasn't calling update_icon() on New() so newly constructed jukeboxes started off looking unpowered. Fixed.
* Makes the paper shredder constructable and deconstructable.
* Switches to some new sprites which are animated!
* Machine now requires power, icons respond to power on/off etc.
* If you mouse-drag certain items onto a hand which is already holding something, the item goes into limbo.
* The reason this happens is that the standard code handling drags is directly calling usr.u_equip, despite the comment on that proc clearly saying never to do that. So it just throws it to limbo and the next line attempting to put it in hand does nothing becuase the hand is occupied. Better way is to call unEquip, so the item will drop on the ground if it fails.
* Fixes https://github.com/VOREStation/VOREStation/issues/394
The implant is stored as a string-reference, not an actual pointer, so you have to use locate() to resolve it into an actual pointer to see if that matches the implant we're removing.
Fixes#2312
Fixes https://github.com/VOREStation/VOREStation/issues/196
Was showing a few as "unknown" even though one is added by every clone scan, and the other is available in loadout. Just nobody updated this here list.
Sort of annoyng to have it named the same as an actual power cell, with a different max charge. If it's going to have a unique charge amount, it should have a unique name. High-cap cells are 10k, super are 20k, so this is some weird between-cell with 15k.
* Fax machine's New() was not calling `..()` and therefore `circuit` was not being changed from a type to an instance. Thus when deconstruct proc tries to read it's properties it can't.
* A search thru code found the aifixer had the same problem. Fixed it there too.
I am a man who can appreciate his chocolate milk. Unless his chocolate milk carton is always full of normal milk due to a faulty constructor inheritance scheme that fills it with first the wrong amount of milk, then tries to fill it with more wrong milk, then finally attempts to fill the soggy milk carton with chocolate milk.