Commit Graph

34 Commits

Author SHA1 Message Date
TemporalOroboros
976c1fcb8c [READY] Bespoke Datum Mats (#55296)
* Bespoke Material Backend

- Adds support for bespoke materials:
  - Reimplements [/datum/material/var/id]
  - Ports GetIdFromArguments from SSdcs
  - Adds a wrapper define for GetMaterialRef
  - Adds [MATERIAL_INIT_BESPOKE]
  - Adds [/datum/material/proc/Initialize]
- Does not actually add any bespoke materials

- [ ] TODO: Code docs
- [ ] TODO: Actually adding bespoke materials

* Some has_material procs and cleaning up some spaghetti

- Adds a pair of has_material procs for use in checking whether a given atom has a given material

* Adds meat

- Adds bespoke meat variants
  - Does not make them accessible
- Shuts up the linter

* Implements bespoke meat

- Makes the material container preserve bespoke materials
- Makes the sheetifier accept bespoke materials
- Makes the autolathe accept bespoke materials
- Makes the gibber produce bespoke meats

* Makes butchering produce bespoke meats

This is jank and really needs to be folded into a unified butchering and gibbing system

* Material documentation

- Adds, fixes, and touches up some documentation

* Material container insertion callback

- Changes the proc used to expand the material container's material list ot a proc used to check whether a material fits into a material container
- Instantiating new materials is no longer O(n) relative to the number of autolathes in existence.

* Makes processing meat conserve materials

- Makes bespoke meat carry over into meatballs

* Makes preserving custom materials an option

- Implements the ability to turn preserving custom materials _off_ for processor recipes

* Fixes all bespoke materials of the same type using the same singleton

- We use ids now, not just types.

* Makes the fat sucker produce bespoke meats

- Because consistency is good.

* Fixes autolathes merging bespoke stacks into normal stacks.

* Makes the callback to test materials for holdibility optional

- @Floyd

* GetMaterialRef -> GET_MATERIAL_REF

- We capitalize macros.

* Removes an extraneous callback

- Makes the sheetifier use functionality I didn't notice I implemented a few commits ago.

* Makes mob and species meat null compatible

* Fixes the ore silo

- The ore silo had really snowflake material handling that has been brought in line with the rest.
- The materials should show up in the correct order.

* Fixes minor lathe bugs

- Fixes stack_traces caused when lathes tried to fetch materials using reagent typepaths
- Fixed the selective reagent disposal topic. I have no idea how long this has been broken.

* Various documentation fixes

- Clarified a couple comments
- Removes an extraneous ?. operator
- Fixed mat floor tiles having bugged reagent temperatures

* More fixes

-/datum/material/meat/mob -> /datum/material/meat/mob_meat
- Adds atom typecheck to material containers.

* Fixes old typepaths
2021-01-15 23:39:58 -08:00
Ghom
27d0e32b47 minor material_container args/vars refactor and Mk-honk shoes peeve. (#54863)
My original intention was just fixing an issue with the Mk-honk banana shoes but, considering I didn't want to add two new variables to a component with already lot of args and lengthy AddComponent() calls in term of text, I had to merge some TRUE/FALSE variable/args into the breakdown_flags bitfield (now named mat_container_flags) in the process.
2020-11-21 04:37:07 -03:00
TemporalOroboros
cab4313b29 Adds Alloy Materials (#53623)
Adds and implements alloy materials

Takes several materials that were mostly fluff and converts them into actual usable materials.
Messes with material code a bit to make alloys recycle back into their component materials.
Adds the alloy materials to their in-game stacks.

Materials added:
    Plasteel
    Plastitanium
    Plasmaglass
    Titaniumglass
    Plastitanium Glass
    Alien Alloy

Makes plasteel/plastitanium/plasmaglass and the rest able to have separate properties from their component materials. It doesn't make much sense that the materials used to seal off the supermatter chamber from the rest of the station would be prone to exploding when heated.

Allows for further expansion of materials, possibly including actual functional metallurgy and smelting at some point in the very distant future.

(Lemons note: Adds a regeneration component, used for alien alloy)
2020-10-09 12:23:40 -07:00
Timberpoes
8f8225a916 Adds basic game logging to Protolathe-variant construction and deconstruction (#54160) 2020-10-04 14:04:14 -07:00
Timberpoes
991f311775 [R&D Machine Overhaul, Part 1] - Various machines no longer require R&D machines to function. (#53339)
Removes various R&D machine requirements including circuit imprinters, protolathes, destructive analyzer and the mechfabs. All machines that previously required an R&D console to function are standalone, including omni protolathes and omni imprinters.

Replaces "production"-class R&D consoles with civilian modular computers on all maps. There are no longer "production"-class consoles.

Removes the concept of "core" R&D consoles. R&D consoles only research and handle tech disks and stuff. All existing core consoles have been switched to their basic archetype.

Because it's a pain in the ass to manage, material reclaimation has been removed from the destructive analyzer. The destructive analyzer is now ONLY for destroying items and unlocking research nodes such as illegal and alien tech.
2020-09-01 16:46:40 -03:00
Timberpoes
19c3bbde31 Cleanup up all instances of using var/ definitions in proc parameters. (#52728)
* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.
2020-08-07 12:23:42 -03:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
William Wallace
e007b3dcab reduce amount of lists that exist during runtime for custom materials (#50832) 2020-05-06 05:00:39 -07:00
Qustinnus
f8a99c28a7 removes confusing bitflag in research.dm part 2: no webeditalaroo (#50536)
* epic kevinz moment

* extra checks

* done

* fixes

* forgot this one

* webedit
2020-04-24 00:50:47 +08:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
Emmett Gaines
041322f222 Cleans up some destroy procs related to remote_materials (#47601) 2019-11-08 22:15:50 +01:00
Qustinnus
270f73671e fixes mats (#46994) 2019-10-09 20:10:55 +02:00
Qustinnus
a394ccdc2b Material datum chairs & tables and applies materials to all items (Now with less pain for mining & RnD) (#46525)
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
2019-10-08 11:06:02 -04:00
Qustinnus
b33d1c49a3 [READY] Floydmats (Datum materials) & custom toolboxes (#45118)
* Initial work

* more

* ass

* wsedfwedff

* asss

* test

* stuff

* fuck

* sss

a

* kms

* asdadwedwdfwefwef

* start

* test

* dwwdew

* ewefwfef

* Redemption machine (#8)

* Redemption machine

* Removes debug messages

* changes

* fuckmyshitup

* coin mint works with new material shenanigans (#10)

* Auto stash before merge of "materials" and "origin/materials"

* woops

* furnace (#11)

* autolathe manufacturing of toolboxes

* eggs in a basket

* some small changes

* matcolors

* documentation

* more documentation and effects

* done

* Color man bad (#12)

* fixes designs

* ass

* more fixes

* fuck me

* firestacks adder

* epic fixes

* fixes designs

* DONE DIDDILY DOO

* removes category macro

* ch-ch-ch-changes

* fixes some stuff

* Fixes display of ore values (#9)

* Redemption machine

* Removes debug messages

* Re-adds value display

* Replaces the fire stacking component with an element instead (#13)

* fixes examine

* fixes ligma bugs

* double ligma boofus

* fix

* misses some defines

* fixes ORM

* Update code/datums/components/material_container.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* fixes

* Makes glass objects weaker (#14)

* Makes glass objects weaker

* uses correct proc

* fixes shit

* honk honk

* better

* oh shit oh fuck

* fixes

* fuck ORMs

* fixes the biogen

* documentation

* ass (#15)

* component

* changes

* ass

* ass

* doc

* Auto stash before merge of "materials-plasmacomponent" and "origin/materials-plasmacomponent"

* fixes rounding

* fixed
2019-07-24 11:27:01 -04:00
vuonojenmustaturska
6a106bc877 Remove reagent ids and use typepaths where applicable (#44166)
cl Naksu
code: reagent IDs have been removed in favor using reagent typepaths where applicable
fix: mechas, borg hyposprays etc no longer display internal reagent ids to the player
/cl
2019-05-31 21:57:26 +12:00
ShizCalev
d728800fbb Fix extra "a" in technology fabricator admin messages (#42970) 2019-03-02 13:58:11 -08:00
Jordie
c192ece1b3 Merge pull request #41997 from coiax/removes-container-type
Refactors `container_type` into `reagents.flags`
2018-12-23 16:45:10 +11:00
kevinz000
6e6a5f9f4f Fix division by 0 in R&D efficiency calculations (#42036) 2018-12-21 20:19:25 -08:00
Jack Edge
054647c382 Refactors container_type into reagents.flags 2018-12-18 13:47:11 +00:00
kevinz000
8cb3d7162a Update _production.dm 2018-12-15 18:25:27 -08:00
kevinz000
4116f7ec79 Techwebs Backend Refactor - Removes references from techwebs and uses IDs instead (#40596)
Yeah yeah I know no opening too many WIP PRs but this one's [ready] and I want to make sure any furthur techweb development doesn't keep using the old reference system which will make refactoring it harder, and this makes it easier for coders to do stuff in theory (at least for me), standardizes getting a node/design, and makes stuff actually GC properly.
2018-10-06 07:52:07 +13:00
81Denton
eee50aeadf Adds departmental protolathe items, techweb tweaks (#40046)
cl Denton
add: Added new available items to all departmental protolathes. Keep an eye out for the new "Basic Tools" and "Basic Security Equipment" research nodes.
tweak: Made the AI surveillance upgrade available through the "Illegal Technology" research node.
tweak: Created a "Tool Designs" lathe subsection and moved most tools into it.
balance: Made defibrillators easier to print by moving them to the basic biotechnology research node.
fix: Health analyzers are now properly printable once researched.
/cl

tl;dr I've heard a fair amount of complaints about departmental lathes that can be summed up with "cluttered sections, too few useful or interesting items in some lathes".
I'm trying to improve it with the following:

A) Added a new category called "Tool Designs" and grouped all tools into it. That way, they no longer clutter up the Equipment/Medical Designs sections.

B) New lathe contents:

Medical:

    Surgical tools, included in the "Basic Tools" node.
    These fit way better into the Medical/RnD lathes instead of a public one that also prints dishware.
    Basic 50u and large 100u beakers, roundstart.
    Medical spray bottles, printable with basic biotech.
    Compact defibrillators, printable with Advanced Biotech.
    They're fairly expensive, but obviously superior to regular defibs.

Service:

    Botanical tools, printable with Basic Tools.
    Spray bottles and bear traps, printable with sanitation tech.
    Basic 50u and large 100u beakers, roundstart.

Security:

    Seclites, pepper sprays (empty), energy bolas, zip ties, evidence bags, flashes. Printable with the new "Basic Security Equipment" node.
    I've had a look at weapons as well, but the ones that aren't printable/ingame yet are either ballistics or unbalanced.

Science:

    Mechanical/electric tools, printable with Basic Tools.
    Illegal technology unlocks the AI surveillance software upgrade.
    Installing it on an AI lets it listen to conversations through cameras.

Engineering:

    Artificial bluespace crystals, alien alloy.
    This is neccessary in case engineers have to rebuild a teleporter, but miners haven't brought back any bluespace crystals.
    Mechanical/electric and atmos tools, printable with Basic Tools.

All lathes:

    Hand labelers, destination taggers and wrapping paper.
    This lets crew mail packages when the mail office isn't manned (which is 24/7).
    Illegal technology unlocks Donksoft refill packs.
    You can't build the Donksoft vendor without refill packs; not including them was an oversight in my earlier PR.
2018-09-13 10:30:52 +12:00
Tad Hardesty
59fa61113f [Ready] Communal Resource Storage II (#39118)
add: The vault now contains an ore silo where the station's minerals are stored.
add: The station's ORM, recycling, and the labor camp send materials to the silo via bluespace.
add: Protolathes, techfabs, and circuit imprinters all pull materials from the silo via bluespace.
add: Those with vault access can view mineral logs and pause or remove any machine's access, or add machines with a multitool.
tweak: The ORM's alloy recipes are now available in engineering and science protolathes.
2018-07-25 22:58:11 +12:00
ShizCalev
ff532a4ca4 Spellchecks TGStation 2018-06-19 18:57:44 -04:00
kevinz000
808ab5f9e4 Makes a bunch of materials containers show contents on examine (#38133) 2018-05-29 15:09:07 -07:00
Dax Dupont
8b24f10b63 Fixes wrong circuits (#37853)
* Fixes wrong circuits

* this too
2018-05-16 13:03:18 -04:00
81Denton
f41d77063b fixes obj descs and adds new ones (#37483) 2018-04-27 21:20:55 +03:00
kevinz000
f56e88967f Fixes consoles 2018-03-24 11:40:31 -07:00
AnturK
48dbaf4b37 Fixes protolathe and autolathe layering in 512 2018-03-22 11:12:54 +01:00
kevinz000
8545954217 Techweb fixes (#36513)
* Techweb fixes

* board

* robo
2018-03-19 20:35:49 -04:00
vuonojenmustaturska
287ee756e8 Adds two new intermediate beaker types to chemistry (#36484)
* a commit

* rebase

* 180
2018-03-19 20:22:32 -04:00
kevinz000
7ea8617642 Update _production.dm (#36333) 2018-03-12 00:53:36 -06:00
kevinz000
10b5d3aaa8 Fixes scaling displays (#36253) 2018-03-10 02:19:18 -06:00
kevinz000
28b1fb254d RND TECHWEBS: TECHFABS (#36055)
Doing my little update piece by piece because I'm lazy and because storage PR is going to conflict everything ever.

Techfabs do not link to RND consoles, and have their own interface for producing things.
RND production machinery code refactored.
Techwebs have categories views instead of just a goddamn design list.
Old machinery will be kept in, as some places will keep them. Read: Engineering, robotics, etc.

experimental: Protolathes and circuit imprinters combined/changed to techfabs. All departments can now print related circuit boards. Engineering and science will keep their lathe/imprinter design by default at roundstart because they have specialized labs for those.
2018-03-08 15:09:44 +13:00