For a robust crafting system, I need a new materials framework.
For a new materials framework, I need to clean up reagents.
To clean up reagents, I need to pare down foods from reagent holders.
To pare down foods from reagent holders, I need to port edibility
components.
To port edibility components, I need to port processing components.
To port processing components, I need to port tool behaviors.
This is all back-end code, no new features or functionality from this.
Extends and reworks how various extended information text (desc_info,
desc_build, desc_upgrades) are handled to make object interactions and
mechanics A.) much more clearly documented in-game and B.) much easier
to support from the back-end.
Almost certainly a candidate for test merge.
Assembly/Disassembly instructions are noticeably sporadic, largely due
to our current lack of a unified framework. That's a future thing I'd
like to attack so that it can be handled programmatically, but for now I
only targeted the biggest culprits as I came across them.
---------
Signed-off-by: Batrachophreno <Batrochophreno@gmail.com>
This fixes the sprite of the special Vaurca phoron inhaler so it appears
properly. It doesn't seem like the current code was written with the
inhaler overlays in mind, so ingame it currently appears as a
phoron-coloured overlay without the intended sprite. Implements general
support for inhalers without overlays.
---------
Signed-off-by: hazelrat <83198434+hazelrat@users.noreply.github.com>
Co-authored-by: Geeves <ggrobler447@gmail.com>
Refactored the attack proc signature.
Added signals and components for the attack proc.
Added signals and components for the attackby proc.
Adjusted some leftover attackby procs signatures.
Added grep test to ensure people don't keep adding attack/attackby procs
with the wrong signature.
Refactored hitby to be in line with TG's version.
Refactored item weight defines to a more clear naming scheme, also in
line with TG's version.
Refactored how the movement bumps are handled, ported signals to handle
them, in preparation for the movement update.
Fixed disposal hit bouncing the hitting atom on the wall.
Items do not push other items anymore if they are tiny.
Our SSOverlays system is outdated, and is likely the cause of many of
the issues seen in #18895. It has also been linked to a massive server
performance decrease.
This brings an updated system from Baystation, hopefully with speed
increases.
Should be testmerged, ideally with #18895.
---------
Co-authored-by: Cody Brittain <cbrittain10@live.com>
* Initial commit of new drugs
Start on caromeg and oracle
Further work on caromeg
Fix nicotine and caromeg
Begin populating map
Designer cocaine effects
Weaken heroin, Joy now causes genetic damage
Added an artificial alternative to morphine, tramarine, that can be used in its place.
Nerf new opioids, fix tramaline recipe
Added special mentholated adhomian cigarettes, for NKA cigarettes
General fixes
Fix recipe pathing
Add coca leaves, cocaine recipes, and coca drinks
Update Chemistry-Reagents-Medicine.dm
Null name for abstract drug class
Remove abstract_class from reagents (shouldn't be used there)
* Oracle sprites by Wezzy
* .
* Begin resolving issues from code review
* Remove all per-player data from drug singletons
* Resolve Arrow's code review
* Apply suggestions from code review
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Update code/modules/hydroponics/seed_datums/smokables.dm
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
* Removed coca plants from the standard garden and hydroponics vendors (they remain as contraband and in the xenobotany garden)
* Fix merge conflict errors caused by snack PR
---------
Co-authored-by: SleepyGemmy <99297919+SleepyGemmy@users.noreply.github.com>
Co-authored-by: Cody Brittain <cbrittain10@live.com>
* Refactored do_after to use a flag-based system for options
* More flags
* Ditto
* Use the HAS_FLAG macro
* do_after pass
* Fix burning paper code
* Resolve issues from Fluffy's code reviews
* .
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.
Adds autoinhaler and autoinjector to autolathe.
Gives autoinhaler and autoinjector material values (i'm open to suggestions to tweak 'em)
This allows medical to come to cargo to print more of these and hand them out to crew. Good stuff.
If anyone has any other ideas to add more (reasonable!) stuff to autolathes, you know where to contact me.
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.
This pr adds the is_clumsy check, that checks if the mob has the mutation or if they are drunk enough. This fixes a bug where mobs would still have the clumsy mutation due to drinking.
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().
Remapped Chemistry a bit to include more missing equipment, as well as to make it more spacious and less compact. AutoInhalers and autoinjectors were added to the chemistry locker. Most of stuff found in chemistry was added to the chemistry locker for space reasons. Medical belts can now store inhalers and inhaler cartridges. Same with the smartfridge.
Overview
This is the github WIP PR for the reagent system project. This is for other developers and users to track progress of the code if they're curious about it, as well as to show that it actually works.
Fixes#5162
Fixes food unable to be placed specifically. Applied the specific placing code to all reagent containers, except for syringes, hypospray, and inhalers.
Fixes missing Kelotane reagent for borg hypospray.
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.