* Fixes runtimes when admin ghosting out of a camera eye (#63838)
observetarget is not guaranteed to exist
* Fixes runtimes when admin ghosting out of a camera eye
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Circuit ID Components (#63817)
This PR adds several circuit components used for scanning and checking ID cards:
The Get ID component returns the ID the target is wearing or holding
The Read ID Info component returns the name, rank, and age registered on the ID
The Read ID Access component returns a list of all the accesses on the ID
The Access Checker component does comparisons on lists of numbers, specifically tailored for checking ID access
Due to the access checker using a similar UI element to the airlock electronics, that element has been moved to its own file in tgui/interfaces/common. This change is not player-facing.
* Circuit ID Components
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
* Fixes aiming at things through cameras not aiming at the thing you aimed at. (#63654)
You can click on things through cameras. This is one of the major appeals of BRPEDs. If you try to shoot at things while using a camera console to aim you will shoot at the angle between the camera you are looking through and the thing you are aiming at. This makes you aim at the thing you are aiming at from the perspective of yourself instead of the camera you are using.
While it would be funny to watch a sniper gun down their own team aiming through a camera bug and shooting in the opposite direction they think they I'd prefer if it actually worked.
* Fixes aiming at things through cameras not aiming at the thing you aimed at.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Fixes admins being able to use the JMP verb as a new player (#63835)
they should NOT be able to do this
* Fixes admins being able to use the JMP verb as a new player
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Unflipped the thermomachine and makes it not call update_apperance every atmos tick (#63692)
Title, really.
This was why it was flipped:
tgstation/code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm
Lines 57 to 58 in 11302fe
/obj/machinery/atmospherics/components/binary/thermomachine/get_node_connects()
return list(dir, turn(dir, 180))
less unnecessary calls, less snowflake cases.
* Unflipped the thermomachine and makes it not call update_apperance every atmos tick.
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
* circuit assemblies can be attached to wires (#63675)
* Circuit assemblies can be attached to wires
Co-authored-by: Y0SH1M4S73R <legoboyo@earthlink.net>
* Remove the auto updating in the orbit menu and bring back manual refresh (#63790)
* Remove the auto updating in the orbit menu and bring back manual refresh
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* adds the sound injector mapping helper (#63807)
lets us control both icons and sounds, basically free will over assets on custom maps
* adds the sound injector mapping helper
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Fixes the median temperature calculation for the crystallizer. (#63656)
(A - B) / 2 is not how you calculate the median for two numbers. For most recipes it wasn't even within the valid temperature range.
The quality of your crystallizer products can now increase.
* Fixes the median temperature calculation for the crystallizer.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Fixes rust heretic ascension (from runtiming to hell) (and some other rusty hereticy issues) (#63793)
Fixes the rust heretic ascension. Fixes Rustbringer’s Oath Ascension doesn't spread rust from the rune. #58846
Prevents rust heretic act from re-applying rust element to atoms which already have it, causing a ton of signal override runtimes
Fixes iron floor rust heretic act applying rust twice
code improvements(?) for the rust spread datum
handles references in rust spread datum destroy(). probably would never be destroyed but might as well prevent the funny deletes
* Fixes rust heretic ascension (from runtiming to hell) (and some other rusty hereticy issues)
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Log telemetry connections in DB (#63435)
About The Pull Request
Logs tgui telemetry connections into the database. Useful since they are normally capped to 5.
Does not change the fact that the "banned account in connection history" part is still based on your history at that time. I figured it could potentially be very slow to go through your entire database history.
* Fix IPs in telemetry_connections not being unsigned (#63573)
About The Pull Request
Fixes IPs not being unsigned, causing problems where they get capped if the IP is too big.
Not tested.
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
* Fixes admin deadsay not showing up for admins in the lobby (#63652)
* Fixes admin deadsay not showing up for admins in the lobby
* Applied code review suggestion
* Fixes admin deadsay not showing up for admins in the lobby
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Elementizes cult halos + cult eyes + fixes some issues with them (#63683)
* should be good
* autodoc
* signal rearranging
* final comment
* review
* Elementizes cult halos + cult eyes + fixes some issues with them
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Amortize the cost of creating preference assets by caching them per git revision on production, reducing best case init times by ~20 seconds (#63503)
Preference asset creation, which while consistently created in early assets, can be requested at any time before then and often is, currently takes about 15 to 25 seconds to produce. Because of extremely hard to reproduce BYOND icon bugs, most of this is done on the same tick.
Lowering the cost of initialization itself is very tricky. Some of it we can theoretically optimize, such as creating humans for antagonists, others we can't, such as the raw cost of icon blending.
Furthermore, adding new icons later down the line would just increase this initialization time even more.
Instead of optimizing the asset creation, which is an uphill battle, this instead chooses to amortize the cost by caching preference assets created per git revision. This means that preference assets will be created, with their long delay, only once whenever the code changes.
This is done on a config, defaulting to on so that production needs no changes, as the whole point of these being made at runtime at all is that it keeps assets/art styles consistent, and PRs making subtle bugs that break preference generation in some way is not uncommon. On development, your git revision will stay the same until you commit, no matter what code changes you make.
* Amortize the cost of creating preference assets by caching them per git revision on production, reducing best case init times by ~20 seconds
* Fixing another conflict :)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Fixing modsuits
* Bringing in the digi and muzzled MODsuit sprites!
* Fixed the muzzled helmet and removed a duplicate icon_state in head_muzzled.dmi
* Finally adds Digi and Muzzled MODsuit variants, courtesy of Halcyon!
Co-authored-by: Gandalf2k15 <9026500+Gandalf2k15@users.noreply.github.com>
* modsuit update: you can now pin modules to your action buttons (#63745)
* modsuit update: you can now pin modules to your action buttons
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
* Fixes field of view handler perceiving the wrong eye (#63700)
* Fixes field of view handler perceiving the wrong eye
* Fixes field of view handler perceiving the wrong eye
Co-authored-by: Azarak <azarak10@gmail.com>
* Miscellaneous projectile phasing fixes/tweaks + fixes a typo in the blastcannon projectile. (#63581)
* Fix blastcannon typo. Hopefully fix blastwave phasing.
* Fix projectile phasing on direct target
* Should unspaghetti sniper bullet var definitions
* Makes phasing rounds phase
* Preserve original behavior of sniper rounds
* Miscellaneous projectile phasing fixes/tweaks + fixes a typo in the blastcannon projectile.
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
* Bodies will no longer (sometimes) be fully deleted when escaping a disposal pipe trap. (#63694)
Fixes#26512
handles a small edge case, don't want people being fucking deleted
* Bodies will no longer (sometimes) be fully deleted when escaping a disposal pipe trap.
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Possesing a mob no longer lowercases your ckey in admin messages #63686
* Possesing a mob no longer lowercases your ckey in admin messages
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Makes blackmarket uplinks not runtime and get broken at mapload (#63680)
* Makes blackmarket uplinks not runtime and get broken at mapload
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Fixes hearing sounds in crit, that shouldn't be heard (#63687)
* fix'
* don't need src
* better
* Fixes hearing sounds in crit, that shouldn't be heard
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
* Exploration Drone Launcher code update + hard-del (and other) fixes (#63551)
Fixes exploration drone launcher overlays not being updated properly when fuel is consumed / changes
Fixes crowbarring out a fuel pellet not updating the sprite, also fixes crowbarring out a fuel pellet after-attacking the exo-drone launcher
Fixes fuel pellets not getting deleted when empty
Fixes exploration drone launchers hard-delling if broken with a fuel pellet within
Corrected fuel pellet description grammer, and added a proper description to the exodrone launcher
Improved the code + documentation in general (early returns, better vars)
Fuel pellets are very obtuse when working on exploration drones. Hopefully, a few of these fixes helps some of those clear up.
When fuel pellets run out of uses, they're intended to delete, but never did - meaning you held around a buncha empty fuel.
Trying to replace the fuel pellets was very confusing as the icon didn't update properly.
* Exploration Drone Launcher code update + hard-del (and other) fixes
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* Fixes spidercharges blowing up anywhere (#63679)
the spider charge should only be blowing up in the given location
* Fixes spidercharges blowing up anywhere
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>