removes materials list from items, uses custom_materials instead. This might introduce some bugs so we should testmerge this for a while (and Ill test stuff locally as much as I can)
this also adds material crafting to sheets. Test case being chairs. In the future we can add stuff like tables, walls, doors etc.
also applies materials to everything, with fixes, which can close#46299
Ports carpets from TauCetiStation
Original PR: TauCetiStation/TauCetiClassic#2989
Adds tables to match the carpets
Carpets Good. Tables Good.
Changelog
cl
imageadd: 8 new carpets and fancy tables
add: exotic carpet crate
/cl
About The Pull Request
Completely removes item_color and the clusterfuck of bad programming it caused.
In places where item_color was used for entirely unique purposes it was split off and renamed to a new var on that typepath only, or refactored so it wasn't needed
In places where item_color was used as a dye color, it was converted to the new dye_color var
In places where item_color was used as the worn overlay it was removed and instead now icon_state is always used as the clothing overlay.
A new mob_overlay_icon var was added for manually setting where the mob overlay icon path is for specific items.
Moved some mob overlay files relating to clothing to their own directory as well for organization purposes.
Totally refactors washing machines, instead of the horrible abortion that was iterating through the typepath it now uses a registry of dye results.
Some bonus functionality to come out of this:
the washing machine now supports arbitrary dye colors.
Why It's Good For The Game
It's been 4 years since the "this should be deprecated soonish" comment was added, and this var is a shitpile of confusion if you just trace the usage of it.
Changelog
cl
add: Washing machines now support arbitrary dye color
add: Washing machines now dye nearly every item.
refactor: lots of backend changes to clothing overlays, report any issues
/cl
cl
tweak: stacks no longer give you a pop up window when you alt click on one on the floor
/cl
its rather obnoxious when you try to grab something from a tile (example after an explosion) which has some giant sprites of rod/tiles/metal and you want toalt click to see the tile content but instead you have to pixel snipe else you get a pop up window
99% of the time you want to grab part of a stack you do it in hand or in the bag anyway which have no effects from this pr
* 1/4 done? maybe?
* more
* stuff
* incremental stuff
* stuff
* stuff & things
* mostly done but not yet
* stuffing
* stuffing 2: electric boogaloo
* Git Commit and the Kingdom of the Crystal Skull
* make it actually compile
* found more stuff
* fixes
* fix AI laws appearing out of order
* fix windows
* should be the remaining stuff
* this time for real
* i guess it should compile too
* fix sechuds
* Adds cryokinesis and renames the cold resistence file to space adaptation
* adds cryokinesis
* fixes icon conflict
is there actually a proper way to fix them thats not copying master and reimplimenting your own sprites?
* fixes a typo and lowers instability of cryokines by 5
* Apply suggestions from code review
Co-Authored-By: Time-Green <timkoster1@hotmail.com>
* maybe reverts line ending?
* unfucks flags?
* probably unfucks line endings
i swear to fucking god why does it even do this. i never even touched the file and reverting it to master doesnt do anything. fuck you git
cl coiax
add: Microwaves have a single wire accessible when open, the activation wire.
When cut, the microwave will no longer function, when pulsed, the microwave
will turn on.
add: Stabilized dark purple extracts now cook items in your hands, rather than dropping
the cooked item on the floor.
/cl
Previously microwaves just worked on their contents, now they keep a subset of contents called ingredients, because otherwise it would explode whenever you put a signaler inside.
Someone asked me to do it. It seemed like a neat idea. God knows
what horrible things people will do with this.
* Passes thrownthing to hitby
* Items now also pass thrownthing
* No longer uses default arguments
Also fixes bananium shield
* Adds more arguments to hitby calls
* Standardises throw_impact
* Clears up some loose ends
* Adds back wacky comment
* Reinstates can_push=FALSE on bananium shield
* Can build on top of windows
-Players can now build things while standing on the same tile as a directional window.
* Changed the check for fulltile
-This actually covers all fulltile windows
* No more stacking windows
-Full tiles can no longer be built on top of directional windows
-Directional windows can still be built on the same tile as long as they dont face the same direction
* Now contains 50% less IF!!
-Put both if's into one
* Still pretty fucky
-If the dir of the constructed object has var fulltile set to TRUE then FULLTILE_WINDOW_DIR will be passed to the method valid_window_location else the user's dir is passed.
* just a space
* Now gets initial dir of object being built and passes that to valid_window_location
* Puts back required time for the emitter and field_generator and also removes a certain issue that certain people were causing
* Couple of things I missed
* I noticed the error with regards to atom and changed to obj like I was trying to originally. Also its fine to build on tables that wasnt the issue with this specific aspect.
* Edge windows. We need those.
* optimised the checks to be behind a if check for when you are actually needing to make something for the floor...
* Corrects a input proc by request
* Working is not my strong suit.
* small changes
* Adds a use_tool helper and changes some tools to use it
* Ports most tool operations to use_tool
* Converts more tool operations to use_tool and tool_act
* Changes some things to default_unfasten_wrench
* Improves tool_behavior support in mech construction
* Code review memes
* Fixes all instant use_tool calls failing
* Code improvements
* merge fixes
* Can disable auto-merge
New argument which lets you stop stacks from automatically merging when picking them up
* Fix 0 stacks
* Updated simple_animal/put_in_hands()
I had some time free, and noticed how awful the reagent grinder code was - it used huge static lists containing types and their associated reagents from grinding.
This is now split into two new vars on /obj/item - var/list/grind_results and var/list/juice_results, as well as two new helper procs, on_grind() and on_juice() to allow those to change based on conditions like plant potency. Such checks and the like have been moved to that. If any of these procs return -1, the operation is canceled.
I also fixed some of the recipes that didn't work. The reagent IDs for them didn't exist, leading me to believe that they weren't tested. I corrected that! (I've tested every single recipe in this PR, with the exception of a few juicing-related ones.)
* ports baycode stack_recipe_list
comfy and office chairs use stack recipe lists
* removed some src. and made list_recipes() into interact()
* /datum/browser for stack menus
* revert unnecessary edit
* Revert "all this wrapping and it's not even christmas (#33035)"
This reverts commit faaf151580.
* Revert "fuck me for forgetting to graph this one"
This reverts commit 45d7acea2f.
* Revert "defines math"
This reverts commit 2817a1737b.
* Adds what alt-clicking does into examine-messages.
* whoops fix
* AI holopad examine remove
* Fixed cigarette pack alt-clicking.
* Spear alt-click-message set to show only if explosive lance.