Fixes#2499Fixes#2495Fixes#2493Fixes#2480Fixes#2487Fixes#2491Fixes#2492
Gives the head of security Lieutenant Columbo, an attack dog with a special sprite that deals slightly less damage compared to other attack dogs.
Replaces Poly with floor B.O.B.
Gives Lamarr's cage a little more breathing room.
Fixes the command roof
De-randomizes fall damage. Fall damage is now the base variable * z_levels_fallen * species.fallmod + rand(-base variable/2, base variable/2)
Incorporates the first try at reasonable z_velocity. Base variable + 5(z_levels_fallen^2)
Adds toilets to the main level
Adds Poly.
Properly moves ZAS defines into the ZAS defines file & removes docs file from compile. ZLEVELS has been renamed to MULTIZAS to better explain what it does.
Fixes#2362Fixes#2232Fixes#2234Fixes#2214Fixes#2385Fixes#2386Fixes#2356Fixes#2406Fixes#2409Fixes#2404Fixes#2432Fixes#2439Fixes#2437
Removes "You hear a click from the bottom of the door" message from airlocks when they bolt/unbolt.
Makes ghosttraps significantly easier to spot.
-adds turbans at some people's request
-adds the forensic technician's allowed roles to sec related custom loadout
-fixes shoes having two species_restricted vars
-add species restrictions to galoshes and the like
-changed how the force var works on the shoes, regular shoes have 0, boots have 3 and combat boots/magboots have 5
-adds nitrile gloves after a forum request
Implements suggestion https://forums.aurorastation.org/viewtopic.php?f=21&p=78011 in the following fashion:
Powersinks explode ~18 minutes after being placed on normal SMES setup. Obviously more input from engineering will make this process go faster.
Upon reaching their capacity, they will now cause a larger area power surge. The surge will smash all lights belonging to APCs within close to moderate proximity, and call EMP act on all connected powernet items that are within range (severity depending on distance). All of those items have a small chance to cause a minor explosion as well, primarily because EMP act is fucking whimpy.
changes:
Centcomm airlocks can now be opened by hand again, but are still not emaggable.
Centcomm airlocks can no longer be damaged by any means. Hopefully.
Centcomm turrets can no longer be emagged or moved.
Windoors can no longer be used as a source for infinite glass and airlock electronics.
Removed spawns and some sleeps from turrets, replaced with timers.
Ports a refactor of diagonal smoothing underlays from /tg/, fixes a bug where diagonal smoothing did not work on shuttle walls, and updates shuttle walls to use the generic smoothing instead of mapped in icon states.
Fixes issues with shuttle corners not showing the correct underlay.
Intent: implement all of the features from #2442 while also unfucking the multiz movement files to be more readable and not recurse.
To that end, this PR does the following:
All multiz travel is now arbitrated by SSfalling. This will eliminate the need for recursion without relying on timers. Timers would be a bit scary.
The call chain for multiz movement now looks like this (in terms of overwritable procs):
can_fall() (Can lead into fall_impact() & fall_collateral() if returns FALSE)
fall_through() IF current block is open space ELSE fall_impact() & fall_collateral()
Removed almost every istype(src, A) check in the movement.dm file by exercising proper parenting and call chains.
Documented and standardized the contents of multiz/movement.dm. Because this is an API we're going to be relying on very heavily, I'd like to get this right before we move on.
A lot of minor tweaks, like swapping usr over to the applicable mob, and so on.
-allow voting for most mixed gamemodes, with exception of bughunt and infection
-adds crossfire(merc and heister), also adds a raider frequency to don't mix them with mercs
-adds siege(rev and merc)
-adds visitors(ninja and wizard)
-fix using thermite on walls leaving behind a black title
-fix the dionae titles having no sprite
-adds a bluespace walls that don't spread, for use in future events
changes:
Cascade turfs now use SScalamity to tick instead of addtimer loops.
On universal-state change to Cascade, SSgarbage's GC timeout period is set to 20 minutes, as we really don't care about hard-dels when the round ends in 5 minutes.
changes:
SSopenturf no longer abuses list Cut() (performance improvement)
Openspace overlay objects are now cleaned up after a delay, allowing for smooth animations when an object moves out of an openspace area.
Openspace multipliers are now properly copied by SSopenturf, leading to openturfs properly darkening more the deeper they are.
Openspace updates now cascade up turfs even if one of the turfs in the chain is already queued for update.
Objects entering openspace turfs that already have overlays or do not need an overlay no longer trigger openturf updates.
What it says on the tin.
IPIntel and BYOND account age relating panic bunker settings from TG. Also implements methods for potentially tagging VM users. Ontop of all of this, creates a spiffy UI for admins with R_SERVER to adjust the settings of the entire suite at runtime.
Current jobban system:
Jobbans stored as plain text and require a for loop to go through and search for specific ones.
Fiddly as shit, because, again, stored as plain text and not quickly break-up-able.
butts
No temporary jobbans on the old file system.
No centralized API to handle jobbanning. Jobbans have to be ran through separate procs in case of the MySQL system being used.
New jobban system:
Associated lists to store bans. This allows key based accessing and validation of a ban. Much faster than for-looping twice to compare text.
Associated lists saved to the ban file. Pretty good stuff that this works.
Temporary jobbans for file system. Bans which are expired are removed right as they're checked.
Binding of the MySQL procs with the old jobban API. More centralized design. (Less, "Oh god, I forgot to save this to the DB!")
Instant effect on unbans. As opposed to waiting 1 round for it to take effect.
Removal of dormant code.
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