changes:
Underwear has been promoted to a human layer; this might fix some potential issues with human icon caching.
turf/Entered() code has been cleaned up and proximity checks have been timerized.
Fixed an issue where openspaces wouldn't render objects that entered an openspace after init.
Shortened organ keymap prefix as it didn't really need to be that long.
* Repaths eyes, observers, dview, and new_players to /mob/abstract subtypes.
* Adds /mob/abstract, a base type for 'abstract' mobs that aren't meant to be directly affected by the game world.
You can no longer travel down a ladder if a solid turf is in the way.
Ladders will only prevent mobs from falling down holes. Non-mobs such as lockers will fall.
Fixes#4044
changes:
Lighting's ChangeTurf() override has been merged into the base ChangeTurf() proc.
Turfs can now set an alternate openturf type to be used instead of the default one when ChangeTurf(/turf/space) or ChangeToOpenturf() is used.
Added ChangeToOpenturf() helper.
Added a missing dig icon state to the rocky ash DMI.
Fixed an issue where the above var was not properly carried over on ChangeTurf().
Fixed an issue where Z-mimicing turfs would not be notified of their below turf ChangeTurf()ing unless they were an openspace.
* Openturf icon fixes and improvements
* more things
* Remove some pointless/bad layering/planing
* yeah well I didn't need this anyways
* Refactor Z mimickry to be at /turf
* more refactoring
* Cleanup, use turf/flags instead of z_mimic_flags
* Fix turf/Entered()
* misc optimizations
* fixes
* Major icon smoothing optimizations
* Speed up boot some more
* Fix AO
* Remove some redundant code
* Tie Z-lights to Z-mimic instead of openturfs
* Fix an opacity issue with no_mutate turfs
* Fix some issues with Z-mimic AO not properly clearing
* Fix some OT->OT changetuf bugs
* Add helpers for changing Z-mimic operational state on turfs
* Fix some merge issues, change how F_CUT smoothhint works a bit.
* indentation
* SSopenturf -> SSzcopy
This PR replaces recursive explosions with a new spreading engine: iterative explosions.
Should behave similarly, but also be more reliable, potentially faster.
Iterative explosions also support simple-explosion-esque directional explosion sounds/shake, and will now traverse Z-levels if the explosion is strong enough.
Also changes playsound() to transmit sounds across Z-levels. Uses BYOND's 3rd coordinate on /sound to make sound sound above/below the player if they're using headphones. Removed for now, can't get Z-falloff working right.
Fixes#2199.
changes:
Adds three new turf types: lava (separate from the existing lava which is bound to the flooring system), basalt (a child of asteroid turfs), and chasm open spaces.
canSmoothWith lists on asteroid turfs are now in the form of a shared global list for performance reasons.
'Ash' turfs have been repathed to /turf/simulated/asteroid/ash. Base asteroid turf type should not be used directly anymore; maps have been updated to new path.
Airless openspace, chasms, and airless chasms now have map-time debug icons.
No player-visible changes, just prepwork for future things and performance tweaks.
Sprites from TG.
changes:
Overlays now creates less temporary lists.
Falling no longer queues unsimulated atoms that wouldn't fall anyways (incl. LOs).
Pixel-shifted AO is now cached too.
Changed some references to get_map_cell() to macro equivalents in random maps.
Added smoothing hinting to the icon smoother, allowing for major performance improvements in common cases.
Space initialization no longer involves appearance churn (and is much faster as a result).
changes:
/obj/visual_effect has been repathed to /obj/effect/visual.
Openspace movables will no longer use the space plane when on an openturf mimicing a space turf.
Lights now only update on direction change if your direction actually changed.
Fixed some bad set_dir() procs that were either pointless or that didn't return parent.
Mapped-in or maint dirtier-spawned glowing goo no longer self-deletes after 2 minutes.
Fixed an issue that may have caused some openspace movables to not properly handle direction changes.
changes:
Openturfs now properly handle recursive icon copy.
Openturfs can now have icons, for translucent or bordered turfs. This works with the smoothing engine (or anything really)
Added openturf debug verb that lists ordering of the openturf.
Openturfs can now mark themselves as solid, for things like windows or ice.
BSTs can now toggle falling for themselves.
Fixes#3488.
changes:
Maps are no longer compiled in, instead loaded directly from the DMMs at runtime.
Z level defines have been moved from the config to map datums.
Unit tests now use typecaches.
DMMS now actually works.
DMMS has been updated slightly.
DMMS is now capable of loading simple lists of non-text types.
DMMS is now faster when loading many types without mapped in attributes and when loading area instances.
Asteroid generation is now defined on the map datum instead of being hard-coded in SSasteroid.
Holodeck presets are now defined on the map datum.
Atmos machinery now uses Initialize().
- Remap: Atmopsherics.
- Remap: Captain's Office.
- Remap: Head of Staff Conference Room.
- Remap: Chief Medical Officer's Office.
- Remap: Medical Briefing Room.
- Remap: Security Processing and Holding Cell.
- Modification: Robotics Laboratory.
- Addition: Desk Ringers in several locations.
- Fix: #3391, #3374, #3345, #3341, #3308, #3306, #3277, #3244, #3173,
#3094.
- Several other minor changes.
- A new subtype of folder has been sprited for the Security folders.
- More colours of flooring decals were added.
- New colours for pipes were added (Lohikar).
changes:
Stairs now actually work.
Stairs now only move your mob up when you exit the last step.
Walking off the side of a staircase will now cause your mob to faceplant on the ground briefly.
Openturf now handles objects that cover more than one turf properly, such as multi-tile doors.
changes:
use_check() will now show failure messages to the affected mob by default. It still returns the failure reason & permits disabling of messages via. the show_messages parameter.
Lockers now take 2 seconds to weld or disassemble.
A progress bar is now shown to mobs with the progress bars pref enabled while attempting to break out of welded lockers.
Adds sounds for opening lockers, going down ladders, turning on your internals, removing and placing extinguishers in the cabinet, sounds for bone breaking and sound to the bsa.
changes:
Fixed#3203.
Tajara or Unathi CEs now get gloves that actually fit them.
OOs now respect direction changes from their mimicked object.
Replaced all references to trange() with RANGE_TURFS().
Replaced all references to is_type_in_oview() with locate() in oview().
Fixed a runtime caused by recursive explosions falling off the edges of the map.
Carp despawn now works properly with the new asteroid turfs.
Carp despawn now uses WEAKREF instead of SOFTREF.
Added tick-checks to the carp migration event.
Vaurca now have the IS_VAURCA reagent_tag.
Cleaned up butanol alien handling a bit.
changes:
/datum/wires no longer has an (init) proc.
SMES wires now use timers instead of spawn.
Cleanables' random_icon_states list is now lazy. (eliminates ~4000 lists from dirt)
/obj/effect can no longer be pushed around by conveyor belts.
Lighting overlays are now explicitly prevented from being moved by conveyor belts.
Fixes a bug where openturf would unexpectedly delete an overlay if it was updated via. update_above() when it was already queued for update. Also fixes#3191 and includes some minor performance optimizations.
changes:
Openturfs now darken the lower level less (0.4 lighting multiplier vs. 0.25).
You can now examine human-types and other objects with special examine behavior through Z-levels. (OOs proxy examine())
Fixed a bug where shadower updates caused by LO updates caused visual inconsistencies.
This was an incredibly easy fix that removed some stupid code I never should have had to fix. >:(
Hoists should be fixed when this is merged (and if this compiles, given my apparent coding skill).
changes:
Atom types can now define custom adjacency code for the smoothing system.
Walls now draw using the generic icon smoothing system.
Walls now pre-bake colors into their icons instead of doing it client-side with the color var.
Walls can now use the SSoverlay appearance cache; wall icon updates should be faster.
The "rusty" wall type now actually works.
Smoothing now uses mutable_appearance instead of image in some places.
Should be a bit easier on clients, though I haven't done profiling.
This PR breaks 510 compatibility.
Hoists now release hoistees if they wriggle out somehow. Shouldn't happen anyway, but consistency_check should handle any odd shenanigans.
Silicons should be able to be hoisted. Buckling wasn't anchoring them, for some strange reason.
Fixed a bad message, where [user] was used instead of [usr].
You can't directly unbuckle people from hoist hooks.
Adds hoists! Traverse Z-levels in style!
Use a hoist kit to deploy it on the same tile as you, in the direction you're facing.
Drag an object or mob to the hoist clamp in order to attach them to it.
Left click on a hoist to move up or down, depending on its current direction. This will also pull anything attached to the clamp along with it.
When the clamp is blocked and can't move up or down further, it will automatically switch direction.
To disconnect someone (or something) from a clamp, drag the clamp to the tile you want to put them on. It must be within one tile of both you and whatever is attached to the clamp.
When you're done using a hoist, you can collapse it back into a hoist kit with the Collapse Hoist verb, for easy transportation.
Hoist kits are not available on the map, so they have to be spawned in.
It is preferred to use hoist kits instead of directly spawning a hoist, where possible, when testing.
changes:
Parallax now actually moves properly on Move().
Parallax movement can now be toggled as a preference.
Merged all movable/Move() overrides for performance reasons.
changes:
Openturf now uses ~200 MB less memory when sunlight is enabled.
Openturf now handles recursive OO copy better.
Lighting objects now update their existing color list if they can instead of creating a new one each time.
The sun can no longer fall out of the sky.
Openturfs should be a little gentler on clients.
Openturf darkening factor can be more easily changed.
Reset-Openturfs no longer hangs SSgarbage.
changes:
The station's holodeck is now dynamically lit.
Improved quick-pickup's tick checking & converted to assoc lists instead of if (thing in list).
Fixed an edge case where openspace overlays would not properly cleanup on forceMove to a non-turf.
Fixes#2941.
Fixes#2803Fixes#2553Fixes#2597 (Couldn't find a cleaner way to make this work, unfortunately. Not all procs-as-verbs can be used as procs.)
Fixes#2498Fixes#2912
changes:
Added a isopenturf() macro, equivalent to istype(thing, /turf/simulated/open).
Converted most/all instances of istype(/turf/simulated/open) to isopenturf().
Made update_above()' aware of queue status & inlined a proc-call.
Reworks #2689
Includes: Vent crawling up and down.
Quote from original PR:
Main feature is that ventcrawling between Z levels now works perfectly. It takes 10 seconds to climb up or down a pipe...
changes:
Queued icon updates now update the atom's associated openspace overlay or openturf.
update_oo() renamed to update_above(), and moved up to /atom. Only meaningful on /turf (updates above openturf if present) and /atom/movable (updates associated OO if present).
Demoted SSfalling to a regular subsystem (1ds tickrate).
Increased SSlighting's tickrate from 2 ds to 1 ds.