This PR converts some lists in ZAS to be only created when needed instead of always existing and pointlessly using memory. Might lead to reduced server memory usage.
Merges the NanoUI subsystem with Nanomanager, as well as cleans up some nanomanager code.
Most of the files in this commit are changed as a result of removing the nanomanager global in favor of the SSnanoui global.
Converts the job controller into a subsystem, including absolute paths. Also cleans up some mob despawn code.
changes:
The job master is now a subsystem. Job init moved out of EMI.
Custom loadout now properly overrides job equipment on spawn.
Odin despawn timers are now deleted on arrival shuttle launch.
Cryogenic storage despawn is now handled by the job controller.
Backpack equipping has been fully moved to equip_backpack().
equip_backpack() will now equip departmental backpacks.
Job backpack selection is now set via. vars instead of overriding a proc.
Fixes#2180.
-fix cavern dwellers not spawning in carp migrations
-removes space dust as it should
-adds space shark
-adds a cryo console to communal, central command and robotics
-adds a glass to the arrivals shuttle, to avoid people reaching the shuttle controllers
-fixes some missing access in the bridge, like the command bar having no access in the airlock
Does some mapping stuff, re-arranges mining. Adds catwalks.
Noises the open space sprite somewhat, effect could definitely be improved.
Adds a ghosttrap to mining drones
Adds holes to holes
Fixes some of the airlocks
I suspect the issue is with null entries in the records list.
This just nukes them all before processing with sorting. I looked over all of the list accesses, and they didn't appear to be index controlled, so this shouldn't break anything.
-added a check to see if the mob is a wizard or apprentice
-replaced the faction check with the new check
-fixed wizard apprentices, also giving them a book with three spells uses
-you can now cast cure major wounds on yourself
-reduces the brain damage caused by swap
Fixes#2047
Lazy fix for #2331 .
Unsure if there's a better way to go about it, as setting simulated to TRUE for AI eyes might result in loss of functionality we've had thus far (eye not moving with shuttles, for example).
Aims to improve open turf traversal and interaction by doing two things:
If a mob is wearing magboots and has enabled magboots, they are now unable to walk onto an open turf. This includes open space turfs. It makes magboots useful again for miners, on the asteroid!
If a mob is wearing a jetpack with jetpack stabilization enabled (and the jetpack active), they can walk onto the open turf but will not fall down. They can now also, simply by having the jetpack active, move upwards. Keeping stabilization off in this stage will allow them to pop-up and down if they want, leading to hilarity.
Touches mob/proc/Check_Shoegrip() and makes it more useful + more used.
changes:
Openturfs no longer copy the below turf's name.
Openturfs' desc now lists the name of the below turf instead of copying the below turf's desc.
SSmob now detects sleeping Life() procs.
-fix some grammar issues
-gives the rat king night vision
-buffs the health. 1 mouse = + 5 hp while the rat king has twice as the health of any regular mouse by himself.
Piston extending after it getting stuck
Being able to see through the piston and the crusher base
Piston Blockers left behind when the crusher is stopped via the abort button
Instead of just turning the wizard into a skeleton with the resurrection proc, the lichdom spell will now create a phylactery, bound to the wizard. When the lich dies, he can use a skill to return to the phylactery, where he will come back after to life some time. If the phylactery is destroyed, the lich will be unable to return to life. Trying to use dark resurrection without a phylactery will result in the lich's body being dusted.
Also, adds a new sprite for the wizard book.
This PR converts ZAS' c_airblock procs into a single macro for performance reasons, as well as allows CanPass to be bypassed for atoms that do not require special air blocking behavior.
Appears to have a significant effect on performance, needs more detailed testing.
Some objects are likely missing canpass flags, I only set the obvious ones. Please comment if you find one I missed.
Might fix#2152.
changes:
Converted some objects that were using the processing_objects list + a processing var to the START/STOP_PROCESSING macros and SSprocessing.
Converted a spawn to a timer.
Fixes#2294.
Should fix weirdness with mob GC such as ghosts jumping to their deleted bodies, observers failing to GC, and mobs with minds not GCing in general.
changes:
Mob cleanup relating to the mob has been moved to the mind.
On deletion a mob will now null out the current and original fields in the mind, if they pointed to it.
This PR edits the lighting engine's turf selection algorithm to also include turfs below openturf tiles, allowing for cross-Z lighting.
changes:
Lights now will now shine down Z-levels when they light up an open turf.
Commented-out openturf starlight pending making it not pummel SSlighting.
Openspace overlays are now only queued if they are not already in the queue.
Lighting overlays will now also update their associated openturf overlay on update if they have one.
Removed an old unused message from the asteroid generation subsystem.
-banners, vending machines, plants and chairs can't be moved or dismantled in the spawn area
-added access to some airlocks and buttons where it was missing
-fixed messed up windows near the lift in the main station level
-added some webbings around the ert and merc areas
Port of tgstation/tgstation#27196.
This PR makes the MC track how much a subsystem goes over its allotted tick limit and reduce how much of a tick it is allocated in later fires, as well as delaying later fires if the overrun is high enough.
Subsystems with SS_KEEP_TIMING will not be delayed due to overruns, but they will still get a reduced tick allocation.
Should lead to less tick-drift due to SSgarbage hard-deletions.
-turn some custom items into regular ones, their original owners will keep their more snowflake version, at tishina's request due to this new policy: https://forums.aurorastation.org/viewtopic.php?f=25&t=8087
-fix the mercenary's voidsuit and the radsuit having exposed hands in their mob sprites
-fix the iaa rig having no sprite when deployed
-adds flannel shirts/jackets that strudel was asking me for months
-adds a medical webbing and drop pouches versions of the webbings
-brings back the IAC armband from old code
-adds pink lipstick
When the update goes into master, I will make another pr fixing the custom item paths and etc.
Port of tgstation/tgstation#26975.
Changes the lighting engine to apply lighting changes in one step using stored lum value differences instead of two steps (remove_lum, add_lum).
Seems to show a speedup in lighting updates as well as a reduction in server memory usage due to aggressive freeing of unneeded lists.
Lighting overlays also default to fullbright instead of fulldark so movable area transitions look less strange.
changes:
Shells Frames' species no longer show up on examine. They can still be detected via. other means such as checking pulse, health scanners, or them being damaged.
IPC Tags are now located in the head instead of the groin.
Note: This does not affect tags showing up on examine. They must be manually removed from the shell to completely disguise their examine text.
Changes the main access lift into two seperate lifts. Should vastly decrease congestion.
Changes the AutoLocker into an AutoDrobe, a floor mounted pad that does what the autolocker did instantly. Should solve round-start confusion.
Fixes a handful of bugs.
Off-topicedly, pretty much doubles Vaurca starting phoron, adds more phoron to K'ois and K'ois byproducts while removing more K'ois from raw K'ois. Adds a moderately expensive K'ois bar to the snack vendors for until I can figure out how to code phoron suppositories.
May it be via rad storm or other bullshit, this will make sure that species with the NO_SCAN will suffer no dna mutations from storms and etc, no more ipcs with hulk or blind blocks ON.
This should fix manhacks attacking traitors, heisters and mercenaries, and yes this was tested.
Also fix ipcs being able to repair themselves with cable coil.