* Work on the Bluespace Worm, Again.
Space worms propagate their sprites/tooltips/meat types/segment types from the head back.
Space worms have modified organ lists, only having a brain in their head.
Bluespace worms have a unique sprite done by Sypsoti/Schnayy
Bluespace worms have more xeno-organs in addition.
Bluespace worms convert eaten things to Magmellite, instead of Phoron.
* Target through walls.
Distance traveled when not hitting a solid structure during charge is based on the length of the worm.
Bluespace Worms drop xeno hide.
* can_demolish includes trees and barricades
simplemobs can now actually attack trees
* Truncated version of my Bluespace Worm pr.
Simplemob AI can be permitted to demolish walls, mineral turfs, and other common obstructions.
Simplemob AI can be given vision through walls, to make greater use of wall demolishing.
Spaceworm now has an AI controller with x-ray and demolishing capability to tunnel through rock / into buildings, and a wind-up charge that devours impacted mobs or structures.
* Thermic spiders are demolishers, and able to detect prey through walls.
* Inert.
* Decreased chance for thermic spiders to spawn, matching carriers and webslingers.
* Adjust for continued response & thoughts.
Thermic dropped to only Demolishing by default. Still a barricade buster, not a wallhacker.
Phorogenic bumped to be Demolishing. It's big, purple, and unlikely to care there's a twig in the way of its target.
Thermic now has an xray variant for PoI or adminspawn, similar to carriers having the recursion variant.
* Spiders:
Demolishing Phorogen and Thermic moved to subtypes
AI targeting only loops over range once, typecache manually checked for machines instead of making a new list from range again.
* AI targeting dist check instead of range
== FALSE check is a ! prefix, me.
Worm no longer early returns off its overshoot charge call as it does nothing but end the proc regardless of a successful movement
* Pain in two letters.
* add new, generic decacode crate for POIs
* Update demonpool.dmm
* remove some blood drips, removed brackets
* actually remove the brackets this time
* refactors abandoned crates
-makes loot generating crates a subtype of generic, non loot generating decalock crates for PoI purposes
-updates code and map files for new nomenclature
* Consistency Pass #1
Power cells of all types are now considered stock parts
Went through materials.dm and did some copy+paste work make material definitions consistent across the codebase (eg "steel" = 50 -> MAT_STEEL = 50)
* Machines are now instances in SSMachines
* Performance improvements by way of instancing all of SSmachines
* Fixes the powersink
* Revert "Consistency Pass #1"
This reverts commit cbeef1b5db.
* Update machines.dm
Styling changes
* Update machines.dm
* Update machines.dm
forgot to update the doc
mining satchels automatically collect ore if held in the hands, belt, or suit slot.
pulling an ore box with a satchel collects ore into the ore box instead of the satchel, and empties the satchel if appropriate.
hostile mining drones collect into ore boxes just like people would. Their collection checking view size is smaller.
mining satchels and ore boxes only update their contents hints if examined after it changes, rather than up to once a second regardless of changes.
various doubled messages removed.
removed various dm-land loops in favor of contents addition where it makes sense.
refactors atom/var/flags to atom_flags and area_flags
moves NOBLOODY, NOBLUDGEON, and PHORONGUARD to item_flags instead of atom_flags
corrects various misapplied flags
NB. In some cases we go from a more complex image() to a single icon_state string and I assume this works for every case but do not care to check because of the sheer scale of extra fiddly effort. Buyer beware, not my code.
Specific to mining turfs, but I imagine others might have this.
The reason we don't directly pull from 'icon' is to allow turf making folk to have some fun to play with it, make the icon change only on update, etc.
If preferred, icon_path var can just be set to grab the turf's base icon path, but I prefer the var imo.
* Begins work on Planetary meteors
* Work, clean meteor code.
* Continues work. Meteors now handle their own movement and launching.
* New meteor types, some added to waves. Large meteor type fully implemented.
* Fix and adjust for comments.
* get_tool_quality has numerical meaning
* Basic tools set tool quality
* Toolspeed is replaced by tool quality checks
* Addresses assorted results from live test
* Extra cleanup
* Adds cold walls & floors
woop
* adds dark ice
weee
* updates snow edges tooo
weee
* adds a temporary ice sand sprite
ver scary
* Fixed a weird one
* But why
* Cleans up footprints
* Adds a brown version of the rock I've made because
* Adds linter defines to repo.
* Uncomments linter defines already in the code.
* Resolves unreachable code linter errors.
* Nukes decade+ old syndie specops code except for computer since that's mapped in?????
* Resolves procs has no parent linter error.
* Proc signature fixes
* Bad comments
* "In" danger
* Type safety
* Implied nested list abuse
* Top level ..() usage
* Sleepy coder typos
* Invalid kwargs calls
* Pointless returns
* Linter hacks (see full message)
Byond doesn't care and it has no effect but linter doesn't like var/proc
for holding references to procs, despite that it's valid byond code.
Also, the linter seems to have serious issues figuring out relative
proc names. This commit is a sort of take-it-or-leave-it thing. It's not
required, it just cuts down on warnings, but this code is valid DM code.
* WHATEVER THIS IS
* Trick dreamchecker linter into ignoring this file's sins in it's weird use of vars
* Fix list decoration syntax - Its a list, not list of lists
- To declare that a var is a list you can `var/list/blah = list()` syntax or the `var/blah[0]` syntax. Both do exactly the same thing. But if you do `var/list/blah[0]` that is just like doing `var/list/list/blah = list()`
* Hopefully stops the ai holder subtype folder from going quantum and sometimes changes capitalization over time, and incidentally causing 20+ linter errors.
* Fixes unwrapped negated object in list linter error.
* Resolves colon-like list accessing linter error.
* Turns linter on in linter config.
* Fixes closet indentation properly and cleans up suit storage unit switch.
Co-authored-by: Aronai Sieyes <arokha@arokha.com>
Co-authored-by: Leshana <Leshana@users.noreply.github.com>