changes:
Fixed a bug where non-clothing custom loadout items would not spawn.
Fixed a bug where latejoining AIs would spawn at CC / Cryo instead of the core.
Added more SSjob debug statements.
Fixes#2942.
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:
Lists are no longer created every time a movable moves (!)
Lists are no longer created every time a datum is destroyed (!)
Observation events now properly clean up references.
Removed the unused task_triggered event.
changes:
Holomaps now use an area flag instead of a proc to determine which areas do not draw on the holomap.
The supply shuttle once more has a roof.
The supply shuttle's landing zone is now dynamically lit.
Turfs only generate visibility updates on Initialize() after mapload - visualnet is not initialized by then anyways.
Merged /datum/gas_mixture/(init) into /datum/gas_mixture/New().
Converted a ZAS proc into a macro.
Made ZAS attempt to remove a turf from a zone instead of always rebuilding it in a certain case.
Macroized two misc procs.
Fixes#2947.
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.
Fix the most common RTs from Sunday's testing.
Also works on orebags. Limits their capacity to 200, as anything higher than that breaks the fancy inventory system something awful. Maybe I should write a UT to test and confirm this. Expanding: I don't think TICK_CHECK in inventory procs is a good idea, without fully implementing a non-fancy storage subclass. Non-fancy would just be speedy without all of the fancy inventory orientation bullshit. But CBA to do that now and I'm not sure if it's worth it for the edgecase of drone satchels atm.
Fixes#2939 by removing the simple animal mind datum that replaced the assigned_role with animal instead of keeping as it is.
Also, adds apprentices to the wizard antag list, allowing them to use aooc and etc.
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
As it works currently: Electrocute_act, the proc called when anybody gets shocked, has several problems.
As it is now - it only damages the hand. These changes Allow it to "arc" through one of 6 possible arcs:
*left to right hand
*right to left hand
*right hand to right foot
*right hand to left foot
*left hand to right foot
*left hand to left foot
*Snowflake hand to head to hair to ground fuck the braid
the "arcs" Check the siemens_coefficient of the entry and exit points of the Arcs when calculating damage - So you won't take any damage if you have insulated gloves, and I'm not sure if any shoes have that. but it tries to calculate it anyway. Who knows, Janitor might be buffed.
I've also taken the 60 seconds it took to add the proc to simple_animals. it's just flat damage right now though. I'll probably spruce it up in the future if nobody else does.
The proc shouldn't in theory work any differently if you provided a def_zone for it to target - it'll still just damage the one area. but if no specific area is provided. it'll "arc"
-removes the brute reduction from the regular baseline, because robotic limbs already have those
-reduces the industrial brute resist from 0.5 to 0.8, because again robotics limbs already have some
-fixes industrial and shells head not being tagged as vital and makes their max damage be equal as other external organs
Pretty much fixes hostiles mobs that had a ranged attack being unable to use it if they are controlled by a player, so, we can have human controlled cavern dwellers and combat drones(in case of adminbus).
Also, fixes a broken design that needed mutagen and being able to transfer reagens to species without blood using an iv.
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.
changes:
Converted some list procs to macros (why the fuck was islist() a proc?!)
Removed some old sorting procs and replaced their few remaining calls with sortTim() calls.
The unit test checks for two things:
All ladders on the map are complete (have at least target_up or target_down).
All ladders have open space in the appropriate area.
changes:
Roof auto-gen is now off by default and must be turned on at the area level.
Fixed#2921.
Added a unit test to check if all station areas have a roof.
Slightly tweaked how baseturf is populated; should be functionally the same.
Fixes some messed up directions such as the map on the surface level and a newscaster in the cargo bay
Removes the extra holodeck console
Fixes#2897 (probably)
Fixes#2870
Fixes a broken camera at the vault
Fixes command doors at the bridge being named wrong
Removes the forensic access from the detective, and changes the access of his officer so the csi can't get inside
Fixed some areas of telecomms having roofs where they are not supossed to do
(yes, I used the mapmerge)
Adds hair_wheeler_s to human_face.dmi, and adds a section for "wheeler"
hair in sprite_accessories.dm.
(I tested this and it works.)
The hairstyle is just a modification of "Mulder", adding some more floof, and making the hair itself a bit more grown out, hiding some of the forehead.
Implements mixed secret as a gamemode. It's another snowflake mode which taps into more snowflake functions. :ree:
Went over all references to "secret" and swapped them for a macro where applicable. SSticker.hide_mode now holds a reference to which type of secret was picked. "random" gamemode will now pick from both secret lists for added randomness!
Implementation of https://forums.aurorastation.org/viewtopic.php?f=18&t=8253
Adds a second OR.
Moves the engine radiator to the lower side of the asteroid.
Revises the quantity of newscasters and emergency lockers around the
station.
Fixes the missing tile in the Pool.
changes:
Clipboard overlays are now a little gentler on SSoverlays.
Ported potential performance improvements for getFlatIcon and listclearnulls from /tg/.
Icon smoothing now clears the base icon by default; SMOOTH_NO_CLEAR_ICON disables this behavior.
Potential SSoverlays performance improvement from /tg/.
Speculative fix for #2826.
Fixes#2832Fixes#2821Fixes#2805
Adds a tint to the bomb suit helmet
Fixes the wizard voidsuit an outdated wizard faction check
Fixes pants don't convering the legs
Fixes hailers showing their messages on the lobby
Reduces the recharge cost of the mounted thermal drill, so, it won't use an entire powercell when you fire it once
changes:
Removed the privacy poll as it is unused.
Observing no longer creates a new mannequin, instead fetching one from SSmobs.
Observer ghosts now have a description again.
Converted new_player.dm to absolute pathing.
Fixed a bad init on holomaps.
Removed a sleep from light fixture Initialize().
Added a queue length stat to the MC panel for Icon Smoothing.
Halved time taken to create lighting overlay objects.
Species & body marking lists are now sorted alphabetically.
Commented out calls to lighting profiler to remove overhead of string interpolation in some procs.
Blood dries instantly if present during mapload instead of setting a timer.
Normalizes some vision flag operations & adds SEE_BLACKNESS to all mobs if the compiler supports it.
Shouldn't break 510 clients even if the server is 511 & using SEE_BLACKNESS.
Should fix some visual glitches with wall-mounted objects being visible when the wall they're on isn't visible.
Removes the chapel and replaces it with a holodeck.
Replaces the old holodeck with a pool/gymnasium.
Properly sets up the holodeck, mapwise. All holorooms have been adjusted to be the appropriate size for the now slightly smaller holodeck (7x10).
The Chaplain now has an office above hydroponics, which has all of his necessary things - crematorium, morgue tray, tools of office, and even a slight semi-confessional for private council.
Adds a chapel to the holodeck, for when the chaplain wishes to conduct a service. Additional holodecks for specific lore-religions are pending.
Adds a gymnasium holoroom.
Rearranges some items in the uplink datums so they all go from least expensive to most expensive. It appears that most items were already placed like that.
changes:
Airlock vents now use icon_states instead of atmos icon manager overlays.
Omni vents now use SSoverlay caching instead of atmos icon manager caching.
Added missing icon_states from #2812.
changes:
Fixes copy_contents_to not working.
Fixes elevators attempting to spawn roofs when it didn't really make sense.
Minor efficiency tweaks in move_contents_to and elevators.
Dramatically speeds up boot with testing (MC_TICKLIMIT_INIT > 100) configs; stoplag() would penalize procs that go over 100% tick-usage by delaying them further. This is not required during server boot & the lobby, and resulted in significantly longer boot times.
This PR ports a fix from /tg/ that forces stoplag() only sleep 1 tick if it sleeps during server boot, as well as adjusting the example config to be more suited for testing.
Removes a bunch of default lists from /obj, /obj/item, and /obj/structure, replacing them with either lazylists or adding behavior to the null value.
Null armor is now considered identical to having armor with 0 armor in each category, null attack_verb results in the text "attacked" being used.
changes:
Converted storage objects to Initialize().
Removed timer from storage New/Initialize in favor of LateInitialize.
Removed some pointless src from storage objects.
Fixed GC of some screen objects used by storage objects.
Changed storage objects' filling to be done by fill() instead of New()/Initialize().
Medkits actually work this time!
changes:
Fixed a bug where items overflowing from EquipCustomDeferred would not be passed to EquipItemsStorage.
Added debug lines to EquipCustom, EquipCustomDeferred, and EquipItemsStorage.
Fixes#2762.