Replaces some lockers and racks in maintenance with trash piles. They are presistent loot piles for people who just can't help but greytide. It allows people who join later in the shift to still get goodies. Each is searchable once per shift by each ckey.
They have three loot lists: alpha, beta, and gamma.
Alpha has the highest chance and just random maint stuff. All usable items (no random empty beer cans) but nothing you couldn't find elsewhere.
Beta has a lower chance of spawning and is usually contraband, mechaically useful stuff. Radio jammers and the like.
Gamma is dangerous or highly illegal contraband, and is unique. Guns (nonlethal!), teleporters, syndicate IDs, etc.
Gamma items have special handling: all of the trash piles share a gamma list, and when an item is given out from the gamma list to someone, it's de-pooled so that another trash pile won't hand it out. The pile-collective maintains a reference to it as an 'allocated' gamma item though. Then, when the gamma list runs out, it reviews allocated gamma items to find any that it might be able to 're'-distribute. Namely ones that have been deleted, or are in cryopod computers because the user left with them. It can then hand that item out again. If it cannot hand out a new gamma item, it gives beta instead.
You can also just manually put gamma-list items back into the piles if you're leaving. Or, if you find a translocator, but already made yourself one in R&D (or later make one), or you're the RD and find a bluespace harpoon, you can stuff the translocator/whatever back into any trash pile and it'll be re-pooled into all of them. You can only return gamma items this way, not beta/alpha.
Additionally, if you find yourself playing a simple animal mob for an event (or you're a mouse), you can hide in trash piles by clicking them. There's a 50% chance you're revealed if the pile is searched. You can climb out by clicking the pile again. I dunno if that'll ever get used but it was easy to code, so eh.
Semi-rewrites how surgery failure works. Using an improper surface will call the surgery step's fail proc instead of just doing a melee attack.
Adds 'surgery odds' var to objs, which determines effectiveness. The numbers for operating tables/roller beds/tables remain unchanged from the previous version, however doing it this way makes it cleaner to add new surfaces in the future.
Adds a proc to get a surgery surface.
Also makes burn repair on FBPs more efficent, so that one scorched robot does not take literally all of robotic's wires.
s = Speedloaders. (Functionally the same as clips, but they're not
_really_ the same thing, just in case we change these later.)
c = Clips. (Can also be used to fill other magazines.)
m = Magazine. (Holds ammo rounds.)
a = Ammo. (Individual rounds of ammo.)
* Creating new objects is cheap, in fact comparable to the cost of getting it out of the pool, so it doesn't help there.
* Placing items in the pool is far more expensive than letting them garbage collect due to the resetting of vars and such.
Adds them to loadout options and departmental uniform lockers as appropriate.
One new (Old Woman Attire) as equivalent to old man suit.
Some are unused, but now skirt sprites exist.
Recreation: - Recreational Restraints, all the kind of stuff you might need to restrain someone but still showing you care, whip included.
Science: - Dangerous Predator Crate, contains a random common predator for science analisys, a system that might come in the future!
(Contraband) Extremely Dangerous Predator Crate, Contains a random yet quite mortal predator, for analiisys only by the bravest or fooliest people in the crew.
* Railings are an ON_BORDER object that looks like a railing; you can throw and reach across it, but it stops you from falling into holes or whatever.
* Mobs can climb over them (or throw other mobs over them!)
* They are construtable/deconstructable.
* Smoothly auto-joining sprites to look like a railing.
* Changes from Eris: Converted << to to_chat(), Desnowflaked some code, Fixed being able to climb over when windows are in the way.