* Beginning refactor
* More refactoring
* Worked example with mints
* Refactoring stacking machines
* Oh this is meant to go here
* Beginning smelter refactor
* And finally, rewriting unloaders, the thing we need to work on
* Rewriting these machines too, never see em used but they still use those old in/out items
* Forgot this
* Base variables for editing unloaders
* Adding multitool menu for unloading machines
* Associative list tweak, will be added to the menu soon
* Compile error fixed
* More of these
* And more
* Last one
* Okay, this refactor should make it work right
* Redundant variable
* Refactored multitool menu as common between all, removes copypasted code
* This is already in allowed_types
* Dunno if this flag should be here
* Moving this variable down to common level too, forgot it
* Nicer descriptions
* Adding to .dme
* Adding conveyor_act()s with this thing, why not, more power to it
* This should help
* Adding parts and a circuitboard
* Adding part upgrades and circuit design
* Fixing name
* Why does indentation do this
* Standardising these to box stations for some reason, don't ask
* Removing the input and output items, as well as removing them from as many maps as possible
* Reworking directions on packed and box
* Chaining conveyor_act()s
* Checking in nearby unloading machine too
* Here too
* Function for repeated code
* Forgot this
* This too
* Better check
* Guess this too
* Doing changes, make chaining work
* Remove this
* Removing infinite loop MC crash
* Crude loop checking recursive method, may be extremely broken, need to test it
* Compile and logic fix, more comments on this, tested and this actually works somehow
* Fixing dirs on test box, hive vault and castle
* Synergy, horizon, bagel, boxes
* xoq, meta
* Snaxi, deff
* Lowfat, roid
* An attempt at fixing lamprey
* Updating Dorfstation, now that PR is merged
* Fixing design typepath
* Returning false is actually unnecessary, no return fails conditionals just as much
Co-authored-by: kanef <kanef9x@protonmail.com>
* Initial work on tool sounds
* Crowbars
* playtoolsound()
* aaaaaaaaaaaaaaaaaaaa
* HERE WE GO AGAIN
* Wrench
* Screwdriver.ogg REDUX, Cuffs
* drilling tools toolspeed is now a multiplier too
* Wirecutter
* pulsing a certain wire on RnD machines makes them automatically fabricate what they last made.
* Fixes check oversight in fabricator, adds the fifth wire being a signal sending wire.
adds missing adjacency check for inserting materials
fixes the stupidity of the busy var, now it only changes when the mats are actually being inserted, instead of when you slap the machine with them
it now also lasts exactly as long as the animation does/would (currently 1 second) aka no more bricking unless byond is bricking
added a second check after the input() on whether or not the bin is full since people will be able to have input()s open at the same time now
* Initial Commit
All CanPass replaced with cross, all CheckExit replaced with uncross
* Commit #2
Cross() argment turf/target now has a standard value of src.loc, the basis for this is the fact that Cross() should technically only be called with a default value by Move() code when moving to a new turf thus everything on it the target turf should be the src.loc
* Commit #3
All move code has now been unhacked, all of it is functional except for border objects which still retain none of their original functionality
* Commit #2
Cross() argment turf/target now has a standard value of src.loc, the basis for this is the fact that Cross() should technically only be called with a default value by Move() code when moving to a new turf thus everything on it the target turf should be the src.loc
* Commit #2
Cross() argment turf/target now has a standard value of src.loc, the basis for this is the fact that Cross() should technically only be called with a default value by Move() code when moving to a new turf thus everything on it the target turf should be the src.loc (reverted from commit fdee8c8b687a4d1f305bdc5f5e1a59ebeacb4702)
* Fuck me
* Okay Redo
* Hello, I am finished
Note: the console itself still hard dels it appears, can't figure out why, but in the mean time this fixes qdel for R&D machinery linked to the console, and fixes#10
meteor_hit() is a textbook example of snowflake. What you have here is a
proc linked to a single entity (the small meteor) which shouldn't even
have it (ever since I reworked meteors, small meteors explode) that is
present in FIFTY. FUCKING. FILES.
Since an explosion more than clearly does the damage we want done on
meteor impact, it is more than logical to remove it and lighten our code
of obsolete and obscuranting procs
For the handful of times where it isn't possible to straight up remove
it (immovable rod, dust, small meteor), the code was quickly patched by
making it fire ex_act(2), given that small meteors perform
explosion(src.loc, -1, 1, 3, 4, 0)
Doing it quick and dirty because otherwise it's going to cause conflicts
everywhere
Material datum functionality changed to mimic that of reagents etc. by
using a global datum list and an assoc value list.
Material datums added at the atom level.
starting_materials var added - on New(), the materials in the list are
added to a datum. An empty list generates an empty datum, a null means no
datum.
m_amt, g_amt, and where applicable gold_amt, etc. completely removed,
replaced with starting_materials where applicable.
Fabricators
Fixed a bug with fabricators taking design cost, not shown cost.
Fixed a bug with fabricators taking costs before a design was shown
completable.
Fabricators now transfer the materials they use in the design to the atom
produced's material datum.
Designs are now world-consistent : scanning the same atom will ref the
same design, and scanning an atom with a design will fetch it.
Mechanic fabs now add plastic cost on top of the design, not to it.
Mechanic designs no longer require random extra materials.
Mechanic designs are now material-specific, not type-specific.
Mechanic blueprint uses have been removed, in favour of a consumable
system.
RnD wires moved to the datum system.
Autolathe moved under fabricators. It preserves as much functionality as
possible.
Framework added for plastic costs on mechanic fabs to be toggled, and for
removal of designs to be toggled also.
MoMMI nest now has double windoors and sulphuric acid.
Miners and xenoarch now start with tank dispensers.
HoP office expanded, charger placed on wall, accounts DB now accessible.
Engineering given more toolbelts.
Atmos large tanks fixed to start with proper gases in them.
Solar computers given correct wiring.
Captain's office now connected to grid, and contains antique laser display case.
Bhangmeter added to toxins.
Renamed Break Room airlock and removed sink.
Added desk bells where appropriate.
Extended Custodial closet by 1 tile.
Fixes#4625, fixes#4623, fixes#4624, fixes#4614, fixes some of #4629.
Fixes#4632, miners now have proper access around the station.
In going over our code to prepare a port for Bay, I noticed we weren't using the material datums properly.
Now we are.
There are no functional frontend changes from this.
allowed_materials is now a list of ids instead of types, however.