* Fixes 6 pAI faces
PAIs are no longer coded to only recognize 9 emotions. This enables the use of the neutral, silly, nose, smirk, exclamation points, and question mark faces as a pAI. Before, those buttons did nothing.
* Fixes the PDA Halogen Scanner's tendency to be number one.
* Unfolded pAIs can be picked up
Because who doesn't want a robotic cat on their head? Adds in the missing code to allow pAIs to actually be picked up, and held sprites for the newer 4 chassis options.
* Adds the Gigaphone, a suped-up Megaphone.
* Constant Chip has a sprite
* Fireaxe cabinets find their fireaxes in initialize(), rather than new()
* Speeds up alcohol
* fixed mining cloak not being in loadouts
* Admin Supermatter Setup now closes the monitoring room shutters (#5442)
* Admin Supermatter Setup now closes the monitoring room shutters
* Fixes a copy-paste error
* Begins work on lightning.
* Fixes#5447 (Deadspy submap not overwriting mapgen) (#5448)
* Map fix
* fixed deadspy.dmm
* Added Squid plushies of varying colours
I added a few Squid plushies in different colours, changing the files code/game/objects/items/toys.dm
and obj/toy.dmi
* Added hat functionality to Squid plushies
I added the ability to wear my Squid plushies as hats. They're damn good hats.
* Replaces Skrell namegen (#5453)
Created a first name list for Skrell, to replace the syllable assembler.
Created a surname list for Skrell to replace the syllable assembler.
Replaced the Skrell namegen with pre-written namelists, instead of the old syllable assembler.
* Mechoid makes mistakes. Fix telepathic gigaphones.
* Lets people be colorblind
Adds four types of colorblindness to the traits in the setup menu - protanopia, deuteranopia, tritanopia, and monochromacy. Previously, there were ones defined in the code, but not actually usable to players.
* Whoops, worded that wrong
* Adds beams to the Type var list for View Variables.
* Unfuck my Master
* Adds beams to the Type var selection in View Variables.
* Finishes thunderstorms.
* Adds logging.
* APC Sprite Change
- Port from Virgo recolored slightly to match closer to the old sprite
- Addition of directional sprites for the APCs
* Refactors supply controller.
Supply consoles now run nanoUI
* Missing '
* [Excitedly updates changelog]
* btw i use arc
* Removes supermatters from cave PoIs.
* Holomap Port
- Port of Holomaps from Virgo
* Changing species (via ling or admin button) should no longer ruin your HUD
* Converts most istype(thing,tool) procs into an appropriate thing.is_tool() format
* Removes empty file, gives the QM a control console again (Was replaced with an ordering console)
* Hopefully fixes some tool-conversion things
* Makes the Northern Star still compile
* Keeps NS up to date
* Taj and Unathi should have explorer mask sprites now
* Corgi rune now summons the corgi in a flash of harmless lightning
* Forces mech construction to work with the is_tool() procs
* Various things and floors no longer associate with dirt
* MultiZ falling tweaks
* Fixes the clusterbang grenade
* Added new hairstyles
* Added new hairstyles
* Fixes spelling of Strike in Lightning Strike admin verb
* I don't know how we keep breaking falling
* Hallucinations now use the old system again, but with the more modern components.
* Ambience Refactor (#5476)
* Refactors how ambience is assigned, removes bad ambience, ports good ambience from tg
* Apparently that file is still used, not worth the salt to remove it.
* Changelog
* The speed-related chem effects are no longer a one-or-none affair, oxy causes slowdown
* Corrects noted issues
* Add some missing sprites for xenoarch excavation.
* Become thwarted, thot.
* Fixes the Ultra AC2's burstfire bug.
* The Major Bill's shuttle is actually contagious now.
* penguins are from earth
capitalize this, anewbe, i dare you
* Mechoid's a butt
* Adds new job/department specific teshari clothing to the loadout (#5481)
* adding the new department specific teshari outfits
* Slightly cleans up hooded suit code (#5471)
* FBPs can have brute damage repaired externally again
* Windoors fix
* Cleans up some largecrate code
* Weather refactor.
* NanoUI makes me sad.
* Drinking more booze gets you drunk faster
* Ports the supermatter grenade, supporting code
* May or may not make movement seem smoother
* Fixes the Sleepy Ring
* Partially ports the GLOB system
* Fixes the bug(s) that allow meat bodies to have metal brains
* ports VOREStation/VOREStation#4165 - i forgot to check if advanced who was a thing here
* Optimizes supply UI
* Transfer shuttle grammar fixes
* Fixes borked E and W fish sprites
* Fixes incorrect ETA in crew transfer announcement
* Mech Mini 'Revamp'. Will need playtesting. (#5480)
* Exosuits are now capable of holding more equipment, of specific types.
* Tweaks regarding feedback in staffside thread, other concerns.
* Tweak to be more consistent. Why did the Odysseus have two universals. Tweak to weapon restriction on Med - > Odyss
* Weapons only fit in universal combat slots.
* Adds smart magazine, magazine functionality
* Adds a new subset of grenades that shoot projectiles
* Low alpha now makes HUDs and tooltips not show up on you
* Fixes a UI bug with emptying currently-open bags into smartfridges...hopefully. (#5515)
* Update smartfridge.dm
* actually indicates which line solves the bug
* Adds a whole bunch of Exosuit weapons and other miscellaneous parts.
* Minifrags now use the small fragments mainly as they should.
* Iced beer no longer freezes you to 3 degrees C, which is enough to seriously burn a Skrell. Seriously, that's weird.
* Touch stuff in reference to responses.
* NanoUI now processes again
* Converts more simple_animal mobs to simple_mob
* Submap correction
BYOND no longer calls Uncross reliably on stairs, to fix this we switch
to using CheckExit and Bumped. This solution is probably the right way to
do it anyway.
Also fix a few things to be on the correct plane. Basically the under-floor stuff is supposed to be on PLATING_PLANE.
Portable atmospherics go on object layer so they are above stationary machinery, given that they move around.
Fixed wires to be on top of pipes like they used to be, otherwise they'd be obscured too often.
Bug in the init_dirs_cache was not setting direction of pipes, making all cached dirs be for south.
Because mapped in pipes didn't have piping layer set, mapped in pipes conflicted.
The full-tile check for unary machines forgot to exclude *itself*
- Moved pipe construction defines into __defines/construction.dm
- Unified pipe *unwrenching* by creating a standard proc along with the `construction_type` var.
- Eliminated the pipe fitting name & icon_state lookup tables by adding `pipe_state` var on atmos machinery and referencing that.
- Each pipe which can be made from a fitting object should override `pipe_state` with the icon state to be used on the pipe fitting object.
- Eliminated the giant switch statement of doom in pipe construction by delegating that work to `on_construction` proc.
- To make this work, every pipe must implement `get_neighbor_nodes_for_init` which returns a list of nodes which should be re-initialized on that pipe's construction.
- Combined the SCRUBBERS, SUPPLY and REGULAR pipe fitting classes together by storing the `piping_layer` variable and using the `setPipingLayer` procs
- Standardized the code for searching for node neighbors into the `can_be_node` proc.
- This proc is also improved in that is a mutual check, `check_connectable` is called on BOTH objects, so they have to mutually agree to connect as nodes. Eliminates lots of special edge case logic.
- Updated all the `amos_init` procs to use `can_be_node`. In the most common cases, even that boilerplate code is consolidated into the `STANDARD_ATMOS_CHOOSE_NODE` macro.
- Implemented `pipe_flags` which lets pipes declare (or override) certain requirements.
- Adds a "pipe_recipe" datum to help out things that construct pipes. By taking it out of the dispenser, we open the road for multiple dispenser types. No, no RPD yet. Soon.
- Enhances the pipe dispenser to operate on pipe recipe datums instead of hard coded lists of pipes it can construct. These datums are also (partially) initialized from the pipe machine types themselves, reducing having to define stuff in multiple places.
- Switched pipe dispenser UI to use browse(). Not a NanoUI, but makes it a bit prettier with low effort.
- Changed pipe dispenser to use a button selector to switch between Regular/Scrubbers/Supply instead of having separate list items.
- Added icon states to HE pipes to support the "connected on neither side" state.
* Fixes Runtime in tools.dm,239: undefined variable /mob/living/simple_animal/retaliate/solargrub/var/handcuffed
* Add logging to help identify the cause of runtime in examining zshadow mobs.
* Fix Runtime in buckling.dm,165: Cannot execute null.forceMove().
* Fixes Runtime in robot_items.dm,31: Cannot read null.origin_tech
* Fixes Runtime in paper_bundle.dm,183: Cannot read null.loc
* Added "Display Initialize() Log" admin debug command so you can see it mid-round.
* Ported the core of the overlays management subsystem from /tg
- Added SSoverlays subsystem for compiling overlay lists and applying them to atoms in a controlled anti-lag subsystem.
- Added vars and procs to atom which should eventually replace all direct interaction with BYOND's /atom/overlays var outside the subsystem.
- Added OVERLAY_QUEUED flag to var/atom/flags bitfield.
- Added small framework for subsystem performance tracking. So far used only by SSoverlays
- Added admin debug command "Display overlay Log" to see performance stats mid-round.
* Fix runtime on universal pipe adaptor update_icons
* Workaround for appearance_bro not initialized
Unfortuantely BYOND's initialization order is strange, and the appearance_bro var is only half initialized when map starts to load, causing errors. We temporarily fix by moving it to be a global-scoped global.
* Convert fire alarms to use add_overlay() A good first test.
* Convert turfs to use add_overlays(), eliminating the turf_overlay_holder!
- Converted as much as I could find about turf overlays to use add_overlay().
- This should be enough to stop BYOND from crashing, so we can eliminate the turf_overlay_holder hack.
- This also lets us remove the anti-corruption hacks from walls and open space.
- ZAS gas overlays can use priority overlays, so this also fixes the gas-goes-away-when-crowbarring-plating issue.
- Stuff like that
* Convert turf overlay interactions to use add_overlay.
Note: This is a plain and simple conversion of existing code to use SSoverlays. However I look at the line changed, and note that that line likely never fully worked as intended, as it has no way of re-applying itself.
I would make it use a priority overlay, but there is no code present for *removing* said overlay from neighbors when it is no longer required. That code should be implemented by original author.
* Yes, all of them.
* Also did a few corrections to redundant New() and broken Destroy() along the way
* Renamed the turf_initializer.initialize() proc to InitializeTurf to avoid confusion.
* Subsumed /area/proc/initialize into /atom/proc/initialize() - Made /area's LateInitialize to get same behavior as before.
* Moves proc/initialize() from being on /atom/movable, /are and /turf/simulated to being on /atom - Now turfs can initialize too
* Added the SSatoms subsystem which controls initialization of atoms at roundstart and during normal conditions.
* Disabled the old auto_init = 0 behavior, ALL atoms should get initialized() called on them now.
* Refactored the way initialize() is called during /New() to utilize SSatoms instead of SScreation
* Removed SScreation, as it was only a stop-gap until SSatoms could be ported.
* Updated the maploader to inform SSatoms when it is loading maps instead of SScreation.
* Updated the template map loader to use SSatoms to perform initTemplateBounds
* Renamed 'initialized' var in seed_storage to deconflict.
* Removed usage of auto_init = 0, replaced with a no-op initialize() proc for atoms that don't need initialization.
On Multi-Z compatible maps, if a tile is missing a ceiling (IE there is an open space above it), it will display an overlay to show this. This makes it easier to know where the hole in the ceiling is without having to go to the ceiling. Overlay sprite by Mechoid.
Also fixes space tiles appearing when meteors/explosions/other fun things occur on the Southern Cross map instead of open space.
Fixes Destroy() proc on zpipes and cryo cells gets rid of a `loc = X`
Updates remaining atmos machinery to use atmos_init
Fixes area atmos computer to use initialize() instead of spawn-in-New
Ported 'see-down' open spaces from Vore, who ported it from Eris
Ported talking and visible messages traveling upwards through open spaces
Tested, seems to work? Does not seem to break anything, maybe.
Maybe made a changelog.
Added catwalks and railings. Ported from Vorestation who ported them from Eris.
Note, catwalks can be placed on plating (as is seen on the vorestation map Tether) and is done so here as well. However it doesn't seem like it is possible to build said catwalks on plating. Did not bother to adjust this at this time. Something to sort in the future.
Adjusted SC station dmm to use both the railing and catwalks as well as a couple fixes for the floor tile adjustment in a earlier commit.
* Colored zpipes (like scrubbers or supply for example) would always lose color in game becuase atmospherics machinery sets color = null since most pipes use overlays and the icon cache. For better or worse, zpipes don't, they just use a normal icon_state, so they need color set.
* The proc obj/machinery/atmospherics/pipe/up/process was supposed to be obj/machinery/atmospherics/pipe/zpipe/process.
* Also changed hard coded integers to use constants while I was editing the file anyway.
* Port of https://github.com/Baystation12/Baystation12/pull/16942
* Actually tell turfs when a thrown object hits them, and let them decide what to do about it!
* We do this by calling hitby(), which is how it already works for obj and mob, so this makes behavior consistent.
* This allows us to cleanly solve the problem of a thrown object landing on open space without falling.
* Global procs should start with /proc
* Use to_chat() macro
* Added utility to find all z-levels are connected (transitively adjacent) and utility to test if two levels are connected.
More tweaks to IPC fixes.
Merge resolution/compile fixes.
Further work on properly integrating, updating and fixing prosthetic options.
Repathed internal organs to organ/internal.
More work on full synthetics, changelings, overheating.
Working on getting organs to qdel properly and spawn properly when robotized.
Finalized some overheating values, added remaining prosthetic icons.
Finalizing the testing version of the full prosthetic bodies branch.
Added suit cyclers to the autolathe and map.
Fixing runtime errors.
Fixing errors.
Changelog.
Replacing limb and organ strings with constants.
Prevented brainless species from becoming full cyborgs.
Fixed issues with brain/MMIs renaming themselves inappropriately.
Various fixes and oversights.