Shuttle tiles, default floors are still "regular".
Lava, sand, water, grass, beach, mining turfs all have sounds playing now for each footstep. <3
A small balance note - water tiles slow you down by 4, and 8 for deep/ocean tiles. I'll remove these and put them in a separate PR if requested.
Massive credit to @Arokha for helping me figure out the floor system and sitting through getting it put together. <3 <3 <3
* Large amount of work; Animal taming, shearing. Random animal spawns on sif grass/forest turfs. New PoIs, thermal poncho.
* Combat drone DMI moved to drones folder. Mining Drone subtype added. "Tameable" with ores, will collect and store ores when not in active combat.
* Fix Runtime in atoms_movable.dm,597: list index out of bounds
* Fix Runtime in floor_attackby.dm,118: Cannot execute 0.is crowbar().
* Fix null values being present in mob_list.
* Another fix for Runtime in update_icons.dm,254: Cannot execute null.GetUIState().
- This time lets just ensure dna is instantiated no matter who is calling dress_preview_mob().
* Fix Runtime in suit_storage_unit.dm,792: Cannot execute null.set machine().
- Also fixed other mixups of usr vs. user that I found in the same file.
* Fixes Runtime in find_spawning.dm,688: Cannot read null.origin_tech
- if this else if block is reached, new_item must not exist, so we obviously can't set origin_tech on it. Examination of the code seems to suggest the original author intended that for any "talking" items to have arcane and precursor tech; since src is now being made talking, src should get the tech.
* Fix talking artifacts downgrading arcane/precursor tech
- Bump up the values by one for talking artifact items instead of overwriting whatever the value was.
- Set initialized = FALSE on unsimulated turfs that need to intialize.
- Most of area/New() to initialize
- Faster lookup of self-init on atoms
- Split air alarm and fire alarm files, move new to initialize
- Tweak decals and opacity
Co-authored-by: Aronai Sieyes <arokha@arokha.com>
Co-authored-by: Leshana <Leshana@users.noreply.github.com>
* Make shuttle corner turfs look slightly better
* Add 'antilight' overlay on corner turfs to make them look good
* Split update into own proc so it can be called in two places
* Further tweak to shuttle corner turf appearances
Removes some weirdness.
* Further make shuttle corners look better
- Port based on Baystation's implementation and customized for our code and usages.
- Switched space icon_state permutation to a "dust" overlay that is permutated the same way. As an overlay, the dust can be *above* the parallax planes. Space turfs are now white to allow skybox to BLEND_MULTIPLY onto them.
- Added skybox hud effect that replaces background space turfs with an image moved to create a parallax effect.
- Added skybox subsystem to generate and manage skybox parallax images, and lots of images for it!
Largely ported from the work done at Baystation in Baystation12#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.
(cherry picked from commit c837078105)