* Explosions update: More items throwable, general refactoring
* Explosions update: More items throwable, general refactoring
* more stuff affected
* comments
* re enabling. whoops
* multi-z block effects
* closer to old behaviour now
* so this behaves right
* stops this being an infinite loop
* distance scaling now works right
* makes this less specific
* makes this less specific
* cleans this line up
* more stuff, and code cleanup along the way
* this line is egregious too
* fixes here
* cables
* replacing all instances of 2** with 1<< as they're the same (minus the ability to use fractional exponents but nothing changed uses it here anyways)
* optimised down throw_at function. TODO: TEST THIS
* optimised down throw_at function. TODO: TEST THIS
* optimised down throw_at function. TODO: TEST THIS
* changing these back because... it's faster? what...
* works fine, this is just to be on the safe side
* cleanup
* cleanup
* clearer var names
* postpone air cycle option in comments
* we can add it i guess
* this is redundant
* oh this is needed
* this is redundant
---------
Co-authored-by: SECBATON GRIFFON <sage>
* Items exploding on arcane tampered floors (or as an admin option)
* Items exploding on arcane tampered floors (or as an admin option)
* throw_impact as suggested
* removing redundant check, adding sanities due to qdel possibility
* less indents
* less wizard cheese
* changed method, works muuuch better now
* inverted this on request
* fixing this
---------
Co-authored-by: SECBATON GRIFFON <sage>
* Adds qdel defines
* Adds qdel defines
* halfway through fixes
* rest of em
* fixes
* adds more
* list in action
---------
Co-authored-by: SECBATON GRIFFON <sage>
* corrupted tiles and rocks
* hive walls
* hive overlay
* hive proper
* Maria no longer spawns on angie's lair
* .
* fixn
* fixes broken overlays
* more stuff
* updating vault proper
* will never see use but it makes me smile
* balance
* Update butchering.dm
* .
* what kurf said
* Adds console screens (plus new upgrade types) to protolathes
* This should hopefully no longer be a problem
* Fourth tier
* Way it can be obtained
* Excludes it here
Co-authored-by: kanef <kanef9x@protonmail.com>
* Move machinery procs from power to machinery. Getting real tired of confusing them for power procs, why were they even there?
* use_power = [0-2] replaced with the proper MACHINE_POWER_USE(NONE|IDLE|ACTIVE) defines. KEEP IT CLEAN
* Creates MACHINE_POWER_USE_GRID, for machines marked as MACHINE_POWER_USE_NONE that were actually drawing power, and doing so straight from the grid
* More numbers to defines
* Power connection component: Get rid of unused parameters on New() that were being misused anyway, and more importantly make the radio broadcaster actually draw it's power through the component instead of APCs.
NEEEEXIIIIS!
* ...actually adds MACHINE_POWER_USE_GRID this time
JEEEELLLYYYYYY!
* Converts a bunch of snowflakes into using the power connection component
* RECAP: Alright, I've fixed some major peeves and made sure no one's adding load to the powernet without going through a machine/component first, now is the time to start modifying how power draw works
* Give grid loads priorities, and convert powernet.load to a list of loads. Does nothing yet
* Satisfaction
* Converts power sink and singularity beacon
* Converts wall shield generator
* Converts emitters. Emitters will turn off below 30% satisfaction, and beam power will be affected by power satisfaction; eg: at 50% satisfaction beams will only be 50% as powerful
* Converts the antique matter synth
* Converts APCs
* get_satisfaction() for cables
* Converts SMES
* Converts artifacts
* Fixes a bunch of stupid things with SMESs and APCs, turns some more use_power numbers into defines, and gets rid of MACHINE_POWER_USE_GRID cause there's really no need for it, not yet.
* Fixes for power sink and singularity beacon
* Antique synth fixes
* More SMES fixes. No more free energy shenanigans, and measured output/load should update properly now
* Converts radio broadcaster and syphoners. Also adds a way to connect to smooth cables, because syphoners.
* RECAP: I think that should be it for converting and testing priority/satisfaction stuff. Up next is reworking the power monitor to display all loads (not just APCs) grouped by area, and each load's priority, as well as controls to edit a load's priority.
* Power monitor is in a workable state. Issues so far:
- It looks like ass. The "area details" buttons are ugly, and the priority dropdowns are uglier AND fuck up the vertical spacing between rows
- Power connection machines (eg: radio transmitter) don't show up
- Setting an SMES priority low enough it won't charge means it won't appear on the list, so can't change priority back. other machines likely affected too
Still, it's taking shape
* Couldn't get priority dropdowns to look nice, switches them for buttons. Touches up the show/hide details button to look nicer
* Ensure normal power/connection machinery does show up by default
* Give artifacts BYPASS priority so xenoarcheologists don't have to wonder whether it's working or not (assuming there's enough power on the grid)
* Make sure any SMES do show up even if not charging, so you can raise their priority if need be
* Allow players to set the SMES' (until now unused) nametag, to better identify them on the monitor
* Review 1
* Review 2
Adds TOTAL_PRIORITY_SLOTS for clarity instead of using POWER_PRIORITY_EXCESS
* Generalize breakability to obj. Standardize health and maxHealth for objs. Make flashlights, cameras, beakers, and wall-mounted lanterns breakable.
* Moved breakable.dm.
* Fix metaclub beepsky's maxhealth to maxHealth.
* Attempted to fix named argument error.
* Attempt to fix take_damage() derived proc named argument error.
* Attempt to fixed named argument error.
* Fragments can be obj not just item.
* Remove debug.
* .
* Fixed conflicting proc definitions.
* Attempt to fix runtime.
* Partly dissolve existing implementations of object health into general framework.
* Declare parent args in take_damage() proc overrides.
* Typo fix.
* Comment change.
* Change destroy to qdel.
* Update breakable.dm
Check for null teeth.
* Teeth check.
* .
* Gum check.
* Bugfixes and general object kicking.
* .
* fix kicking
* .
* .
* Kicking small items around.
* Throwing something at an object to break the latter.
* Fix storage inconsistencies.
* Nicer kick damage calculation.
* You don't need teeth to bite properly with a beak.
* Items can take damage landing in disposals.
* Undo that.. there's bug potential.
* Generalize breakability to obj. Standardize health and maxHealth for objs. Make flashlights, cameras, beakers, and wall-mounted lanterns breakable.
* Moved breakable.dm.
* Fix metaclub beepsky's maxhealth to maxHealth.
* Attempted to fix named argument error.
* Attempt to fix take_damage() derived proc named argument error.
* Attempt to fixed named argument error.
* Fragments can be obj not just item.
* Remove debug.
* .
* Fixed conflicting proc definitions.
* Attempt to fix runtime.
* Partly dissolve existing implementations of object health into general framework.
* Declare parent args in take_damage() proc overrides.
* Typo fix.
* Comment change.
* Change destroy to qdel.
* Update breakable.dm
Check for null teeth.
* Teeth check.
* .
* Gum check.
* Most plastic items are now recyclable, under the label "miscellaneous". Amounts to be balanced, currently same as recipe.
* Mineral tiles can be recycled
* Gold teeth and collection plates can be recycled
* Recycling sorter will now empty out crates and closets before sorting, if possible
* New recycling material category for the sorter, plastic. Many items updated to be considered such.
* derp recycling sorter fixes
* derp what was the point in creating a category otherwise
* just in case
* dorf recycling
* Smithing recycling? It's been a while and I don't remember what I was up to.
* Fix#28612 (You cannot recycle coins into their base metal)
* Blacksmithing recycling nearly done now,
Just some weirdness with tower shields left, plasteel component doesn't transfer materials correctly.
* All sheets with materials defined should actually have a .materials now, so I can grab an alloy sheet and use it's materials to decide what's being transferred instead of trying to guess of it's material type/hoping it has a material type at all. Fixes tower shields not having plasma from plasteel.
There's still a TODO in how materials are transferred to blacksmithing products, and a bug that predates my changes, but I've no idea how to go about either and this whole PR feels unatomic enough as it already is. I just wanted to be able to recycle plastic bags man, not overhaul crafting.
* Sorter will now consider crates it can't open as non-recyclable, since the recycler simply can't deal with those and it wouldn't make sense to create another way to unlock locked crates anyway. No more clogged recycling because of a closed crate.
* Update boomerang materials
Co-authored-by: Jellyveggie <39123109+Jellyveggie@users.noreply.github.com>
* Standardises opposite_dirs and reverse_direction
* Moves this here, makes more sense in this file
* Compile
* Compile test for this
* Fix
* Cuts out now useless proc
* Cuts this down too
* Additional helper
* Better as a define
* Using this macro in practice
Co-authored-by: kanef <kanef9x@protonmail.com>
* Starting rework of this
* Slight fix
* Fixing compile issues
* Updating more code
* More updates
* More updates
* Proper name
* Removing unused comsig file
* Fixing up map
* Makes components work
* Make this show up
* Specific type, maybe?
* Vault fixes, plus makes component actually process
* Say proc finally works with events now
* Calling in wrong registered thing
* Unneeded
* Ports hearing to hear component
* Area exit phrase for him too
* Actual event
* Testing this out for fun
* Some more
* Compiles
* Path
* Disambiguates this
* No more runtiming
* Some cleanliness
* Makes this parsing less rigid
* This too
* Much much less rigid
* This shouldn't be in this then
* Make it rotate
* Here
Co-authored-by: kanef <kanef9x@protonmail.com>
* Makes vault rotation a blacklist by default
* Makes this 0 by default
* Loading to Z2 with rotation too for testing
* Passes override to admin map element loading on z2 automatically
* Passes it in the right place
* Much saner way to do all this, plus enables some obviously working ones
* More tested vaults
* More that have no problems in rotation
* Mining stuff that can
* Snaxi stuff that can
* Two that can rotate
* Logging fix
* More detail
* Fixes terminals not rotating properly
* Makes these rotatable too, no issues
Co-authored-by: kanef <kanef9x@protonmail.com>
* Changes z-level defines to map datum vars
* Compile?
* Maybe now
* Map compile
* Updating these
* Adding this back again
* Nicer
Co-authored-by: kanef <kanef9x@protonmail.com>
* Revert "Revert "Revert "Lights out tonight (trouble in the Heartland) (#30526)" (#30527)" (#30529)"
This reverts commit 5ae655387f.
* fixes urgent problems
* fixes the problem with zooming out
* gliding
* on the beach
* suffer not the lag
* fixes mesons and fire