Artifacts used to be confined to about one Z level: The mining asteroid.
Now with there being a LOT more Z levels, this number really hasn't changed and it means that artifacts are harder to find, being spread across many more Z levels.
This could mean that if you had bad RNG, you would have 6 artifacts spread across every Z level, meaning xenoarch would very quickly exhaust the possible artifacts they had nearby and after exploring every Z level that spawns artifacts, they'd only have 6 artifacts.
This doubles that number so now there is 12 artifacts that spawn by default, up to 24.
Meanwhile, roguemining would spawn 6 to 12 artifacts per mining area visited. This meant each rogue mining area had as many artifacts as the entire universe had. This was obviously unintended, so this fixed that by lowering it to 0 or 1 artifact per roguemining Z level.
Largely ported from the work done at Baystation in https://github.com/Baystation12/Baystation12/pull/17460 and later commits.
- Shuttles no longer require a separate area for each location they jump to.
Instead destinations are indicated by landmark objects, which are not necessarily exclusive to that shuttle.
This means that more than one shuttle could use the same docking port (not at the same time of course).
- Enhanced shuttle control computers to use nanoui if they didn't.
- Organizes shuttle datum code a bit better so there is less re-inventing the wheel in subtypes.
- Allows the possibility of shuttles (or destinations) that start on late-loaded maps.
- Deprecate the "extra" shuttle areas that are no longer needed and update shuttle areas in unit tests
This all required a bit of infrastructure improvements.
- ChangeArea proc, for changing the area of a turf.
- Fixed lighting overlays actually being able to be destroyed.
- Added a few utility macros and procs.
- Added "turf translation" procs which are like move_contents_to but more flexible.
* Added happy friend time mechanics working properly for fox and cat.
* Added vore mechanics and vore overrides
* No longer enable vore on simple animals by creating a "/vore" subtype. Instead we simply enable vore on the main type. Consensus being we don't need a type for non-vore versions of stuff.
* This allowed us to revert many path references throughout the codebase to the original non-vorestation back to their original values. In these cases the "Vorestation Edit" comment is removed.
* Moved the vore overrides for upstream simple animals into its own file zz_vore_overrides.dm
Keep 2 zones clean instead of 1
Give 10 points for free, for progressing zones
Always score zones unless already scored, if asked to
Space geese are SPACE geese
* Various fixes with display on shutle console and detection of occupied zones etc.
* Remove a comment that buggy unit tests complain about, plus unused procs.