Converts reagents to use typepaths instead of IDs.
Centralises reagent spawning in a lot of places to use reagents_to_add instead of a variety of custom methods or initialise overrides.
Due to some of the, er, interesting decisions made when writing the code for beakers shattering when you throw them, not only was it possible to shatter containers made of non-glass materials into glass fragments - such as cryostasis and bluespace beakers, and wooden buckets - but most of the actual glass beakers were impossible to break with your bare hands.
I have corrected both these issues in addition to making it possible for glass beakers that are tougher to still shatter even if you don't throw them with the force of a mass driver. And they make a noisy shatter sound now, too.
Adds more bedsheet inhands, because immersion.
Penlight has an inhand now.
Lanterns have new inhands.
Ashtray cigarette extinguish now properly plays the sound.
You can put cigarette butts in cigarette packets
also some more stupid drop sounds
Part 1 in the "why my impact wrench no wrench bolt" saga
tl;dr for end users: combitools / impact wrenches now work on everything their non-powered versions do (except mechs and RIGs, tune in next time on dragon ball Z for that)
essentially all this PR does is murder every istype() check possible that could use a helper function instead, most notably many pen checks with ispen(). it also repaths combitools and powerdrills to /obj/item/weapon so they aren't instantly taken out of contention by half of the known attackby() prompts
I already squashed a couple runtimes here and there from the pen changes and it's possible I missed another because pencode is another scourge upon our lives
Made it so items get their pixel x/y reset on pickup.
Thrown items now also get their pixel placement slightly randomized.
Tweaked the center of mass on a boatload of items to be more accurate to their sprite art.
Replaced a bunch of randomized pixel placement code into a unifying proc; randpixel_xy() that uses an item's randpixel var.
Refactors objects.dmi and items.dmi
Adds some more uses to glass jar - now you can use it as a tip jar AND a reagent container!
you can also see reagents inside like a beaker
also improves sprites for wrapping paper and the pocketwatch
This basically makes it easier for future sprite improvements
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;
All << is converted into to_chat().
Prevents this: https://puu.sh/CwRrc/f4d0cbd55d.png
Also slightly expands how much writing you can put on a beaker. As someone that often works with beakers, flasks, and vials, you'd be amazed the amount of information you can shove on even an Eppendorf tube.
Reworked how slipping on tiles work. If there is too much lube/water on one tile, it will spread to all adjacent tiles.
Fixed a potential bug where spilling copious amounts of water on a tile will turn it to ice.
Containers are much more saner now. They all share a standard system, unless specified.
You can drink from any open holdable container using help intent. You can splash the contents of the container on anything via harm intent.
Sinks are more saner, you can refill or empty them easier with various refill amounts.
Removed silly exclusive cyborg limb checking for hyposprays.
Added a new chemsprayer, the "Xenoblaster" which is a significantly weaker chem sprayer. Two can be found in xenobiology.
Large reagent containers (beer kegs, water tanks, fuel tanks) now share a system together. Both can leak their reagents via harm intent with a wrench, and bother can accept any sort of reagent, with exception to the fuel tank.
Large reagent container leaking happens over time as opposed to just leaking every time it moves.
New chemical, Monoammonium phosphate. Monoammonium phosphate is a fertilizer and also a potent fire extinguishing and preventing chemical. It can be made with 1 part ammonia, 1 part sulfuric acid, 1 part sodium, 1 part phosphorus.
All extinguishers now have monoammonium phosphate in them instead of water.
Extinguishers can hold any reagent, however they must be filled using an extinguisher refiller cartridge. These can be ordered or found in atmospherics.
Nerfed the extinguisher range so it only sprays in a 3x3 radius.
Mini-extinguishers spray in a 1x1 radius.
Adds Monoammonium phosphate containers across the station.
Most watertanks are replaced with Monoammonium phosphate containers.
Ports Mixing Bowls from Baystation.
Adds Mixing Bowls to the Kitchen Vendor.
Removes the Butcher Knife from the contraband List, add its to the normal Kitchen Vendor.
Balances the Kitchen Vendor around two Chefs.
-adds support to material clothing, already used by rings and makeshift weapon
-adds makeshift armor that you can craft using buckets for helmets and material sheets to make the plates
-adds a wooden bucket that can be crafted using planks also ported from polaris
-adds icon_has_variants to some sheets, adding sprites to them from tg
-fixes bronze being just a place holder
-adds sheet types to bronze and titanium
Beakers now show a message if they have solids inside
Added an accuracy rating to containers. Containers will only tell you how many units of chemicals there are according to how accurate they are.
Converts all reagent containers to use Initialize, fixes the hand-chew cool down so it's no longer for everyone, and moves the suit sensor Z-level to the global.dm right above the station name so anyone else using the code can't miss it.
Closes#3363Closes#3361Closes#3362
Fills in some strange holes in cyborg functionality, fixing several borgs that were not quite fit at doing their jobs:
-Adds rolling pin and knife to service borgs; should allow them to cook a full range of foods. I've been getting regular nagging about this one from the community
-Adds the ability to pick up assemblies for engineering/research borgs, allowing them to construct some complex devices, notably bots and motionsensing cameras.
-Several items added to research borg: Dropper and reagent scanner, for chemistry, pen for renaming bots and writing research notes, and a plant bag for working in xenoflora
-Added altclick functionality for setting transfer rates on beakers. Essential for chemistry and cooking, since borgs can't use rightclick verbs on gripped items.
The RPED now functions properly in more cases, including the destructive analyzer. It can also now intake beakers for rapid exchange on machines that use them.
Adds splash() proc for futureproofing.
Replaces instances of splash_mob() with splash()
Replaces instances of trans_to() with splash() where appropriate.