Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

RCD now rebuilds existing constructs faster and with less resources #58029

Merged
merged 7 commits into from Apr 4, 2021

Conversation

Mothblocks
Copy link
Member

@Mothblocks Mothblocks commented Mar 29, 2021

About The Pull Request

2021-03-28T21-07-06-compressed.mp4

Works on grilles, windows, and walls.

I'd like to get a sound for this, so it's drafted until either I can't get one or until I get it. Code, however, is ready.

Why It's Good For The Game

People don't rebuild rooms because it's tedious and unfun. This change makes rebuilding rooms less of a chore, while not eliminating the amount of time it takes to do (since you still will need to get hardsuits etc) and without buffing using the RCD for non-reconstruction purposes.

In the future, I want to add other features to help make reconstructing rooms less of a pain, such as showing the original wiring of the room with engineering goggles.

Changelog

馃啈
add: The RCD now has an option to scan the world around you for showing original walls and windows.
add: The RCD will now rebuild existing windows/windows/grilles significantly faster and with less resources.
/:cl:

@Mothblocks Mothblocks marked this pull request as draft March 29, 2021 04:28
@Mothblocks Mothblocks changed the title RCD now rebuilds existing turfs faster RCD now rebuilds existing constructs faster Mar 29, 2021
@Mothblocks Mothblocks changed the title RCD now rebuilds existing constructs faster RCD now rebuilds existing constructs faster and with less resources Mar 29, 2021
@KathyRyals
Copy link
Contributor

You actually did it ahaha. Amazing. If no one steps up for the sound, I guess I could try my hand at recording one.

@Mothblocks
Copy link
Member Author

Mothblocks commented Mar 30, 2021

i have a friend who said he'd want to do it but he might be busy with stuff

@Jhyrachy
Copy link

If possible, would be nice to automatically reconstruct without having to select the correct type.
In short: enable scan -> click on highlighted tile -> automagically restored

@Mothblocks
Copy link
Member Author

I think that's a good enough idea, though would have to make it so you'd have to wait until the scan is over in order to build something else there, since otherwise it would be forcing the "wrong" thing.

@Mothblocks
Copy link
Member Author

i'm not sure i'll get it any time soon. i'll make a separate pr if he shoots me the sound.

@Mothblocks Mothblocks marked this pull request as ready for review April 1, 2021 08:01
code/__DEFINES/flags.dm Outdated Show resolved Hide resolved
code/game/objects/structures/grille.dm Outdated Show resolved Hide resolved
@tgstation-server tgstation-server added the Sound Oh god my ears, they bleed, did you normalise the volume? label Apr 1, 2021
@Mothblocks Mothblocks requested a review from AnturK April 3, 2021 06:35
var/icon/flat_icon = safety ? A : new(A)//Has to be a new icon to not constantly change the same icon.
flat_icon.ColorTone(rgb(125,180,225))//Let's make it bluish.
flat_icon.ChangeOpacity(0.5)//Make it half transparent.
flat_icon.ChangeOpacity(opacity)//Make it half transparent.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't you update the comment?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

useless comments strike again

code/game/objects/items/RCD.dm Show resolved Hide resolved
code/game/turfs/closed/walls.dm Show resolved Hide resolved
@Mothblocks Mothblocks marked this pull request as draft April 3, 2021 23:56
@Mothblocks Mothblocks marked this pull request as ready for review April 4, 2021 12:45
@AnturK
Copy link
Member

AnturK commented Apr 4, 2021

Would be nice to squash this and blueprints together later.

@AnturK AnturK merged commit 0b016ef into tgstation:master Apr 4, 2021
github-actions bot added a commit that referenced this pull request Apr 4, 2021
FernandoJ8 added a commit to FernandoJ8/tgstation that referenced this pull request Apr 13, 2022
* Updating GBP from PR tgstation#57981 [ci skip]

* Removes total_moles_specific, just use gaslists normally. I don't know how I missed this (tgstation#57973)

* Refactors pellet_cloud/create_cassing_pellets to not sleep (tgstation#57974)

Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>

* Automatic changelog generation for PR tgstation#57974 [ci skip]

* Updating GBP from PR tgstation#57974 [ci skip]

* Fix Tooltip documentation (tgstation#58013)

* Remove SS_NO_TICK_CHECK (tgstation#57800)

## About The Pull Request
This is a whopper, will need @MrStonedOne to review.
In theory this flag shouldn't be needed and my own testing didn't find any issues, but I'd feel better with a lengthy test merge.

## Why It's Good For The Game
Might make nightshift subsystem lag less, MC loop has less stuff to check.

* Updating GBP from PR tgstation#57800 [ci skip]

* Reorder the list of items in more outfits. (tgstation#57801)

On my quest to make outfits easier to read and fix some small mistakes by applying a priority order.

ID > uniform > suit > backpack > other clothing in alphabetic order > pockets > hands > others

Moved the base/assistant plasmaman outfit from the middle of the standard file to the top of the plasmaman outfit file.
Reorganized the plasmaman outfit order to have jobs within a department close to each other.
Moved the Death Commando outfit into the ERT file together with a line that adds mindshields to CentCom outfits because I had to dig to find that a long time ago...

Also fixes detective plasmaman spawning with a worse headset and plasmamen prisoners spawning with a different shoe.
Like... how no one has seen that plasmaman spawn with the wrong headset? Do we have no plasmaman sec? Yes I know the answer...

* Automatic changelog generation for PR tgstation#57801 [ci skip]

* Updating GBP from PR tgstation#57801 [ci skip]

* Fix sql changelog (tgstation#57972)

Fixed bad SQL that I originally wrote in the changelog for 5.11, anyone trying to update their schema from < 5.11 up would notice this.

* Test newest version of gbp-action (tgstation#57980)

Read about it here: tgstation/gbp-action#28

TLDR: Less race conditions, and all logs are now pushed to a separate branch. The new location of gbp-balances.toml is in the gbp-balances branch. Will most likely be able to delete the one in master so people don't get confused.

This required a workflow update, and so was not directly pushed to master. This currently uses my PR branch directly so that I can make changes for anything that doesn't work. When it is solid, I will push it to master and we will go back to gbp-actions@master, or some pinned version.

* Fixes mech HUD's not being properly removed (tgstation#57964)

Fixes mech hud's not being removed when leaving the odysseus or clarke

* Automatic changelog generation for PR tgstation#57964 [ci skip]

* Resprites the fork! (tgstation#57490)

About The Pull Request

This PR resprites the fork.

image
Why It's Good For The Game

The old fork was really tall and black.

Forks are really hard to sprite but i think this is an improvement.
Changelog

cl
imageadd: The fork has a new sprite.
/cl

* Automatic changelog generation for PR tgstation#57490 [ci skip]

* rpds can now interact with the unwrench upgrade (tgstation#57959)

Adds the functionality to upgrade the RPD by 'slapping' the unwrench upgrade disk with the RPD itself

It doesn't exactly revolutionize gameplay and at most allows engineering cyborg players to at least upgrade their RPD to unwrench saving them a headache and a module slot when doing their thing I suppose

* Automatic changelog generation for PR tgstation#57959 [ci skip]

* Automatic changelog compile [ci skip]

* Fix collect changes (tgstation#58022)

* Xenomorphs can now strip humans again (tgstation#58007)

* Automatic changelog generation for PR tgstation#58007 [ci skip]

* Fix back not respecting internals (tgstation#58012)

* Automatic changelog generation for PR tgstation#58012 [ci skip]

* Layer overhaul (tgstation#57915)

## About The Pull Request
Changes up some layer and plane defines for no particular reason lol

## Why It's Good For The Game
Planes actually override layers, and layers control ordering within planes. A lot of the usage of plane and layer was wholly unnecessary. This refactor helps future maintainability while also being needed staging for _future features._

* Resprites all gas vending machines (tgstation#57919)

The existing sprites are an amalgamation of parts of existing sprites, this PR replaces them with original sprites designed for the devices

Sprites were made by me and were recolored by maxymax13

* Automatic changelog generation for PR tgstation#57919 [ci skip]

* Update arcade.dm (tgstation#57984)

* Automatic changelog generation for PR tgstation#57984 [ci skip]

* Hand Drill Sound is now smoother on the ear. (tgstation#58004)

* Automatic changelog generation for PR tgstation#58004 [ci skip]

* Fixes Orion bad messages  (tgstation#58018)

* Automatic changelog generation for PR tgstation#58018 [ci skip]

* A non-functional heart no longer causes heart attack if you have Muscled Veins (tgstation#58016)

* Automatic changelog generation for PR tgstation#58016 [ci skip]

* Nerfs holodeck thunderdome suits (tgstation#58011)

* Automatic changelog generation for PR tgstation#58011 [ci skip]

* You can now manufacture bone gel (tgstation#58006)

* Automatic changelog generation for PR tgstation#58006 [ci skip]

* Fixes Antigravity Grenades  (tgstation#57991)

* Automatic changelog generation for PR tgstation#57991 [ci skip]

* Fixes flying damage slowdown applying to the floating movetype instead. (tgstation#57994)

* Automatic changelog generation for PR tgstation#57994 [ci skip]

* Fixes lights on people (tgstation#58000)

- Fixes light eaters not putting out lights on people.

* Automatic changelog generation for PR tgstation#58000 [ci skip]

* CTF spawner awareness in tips (tgstation#57995)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#57995 [ci skip]

* Fixes incorrect params passed into callback function causing server crashing numbers of runtimes. (tgstation#58020)

[21:03:59] Runtime in change_turf.dm,301: type mismatch: /turf/closed/mineral/random/vo... (/turf/closed/mineral/random/volcanic) & 18
  proc name: AfterChange (/turf/open/AfterChange)
  src: the volcanic floor (135,80,3) (/turf/open/floor/plating/asteroid/basalt/lava_land_surface)
  call stack:
  the volcanic floor (135,80,3) (/turf/open/floor/plating/asteroid/basalt/lava_land_surface): AfterChange(/turf/closed/mineral/random/vo... (/turf/closed/mineral/random/volcanic), null)
  /datum/callback (/datum/callback): InvokeAsync()
  Timer (/datum/controller/subsystem/timer): fire(0)
  Timer (/datum/controller/subsystem/timer): ignite(0)
  Master (/datum/controller/master): RunQueue()
  Master (/datum/controller/master): Loop()
  Master (/datum/controller/master): StartProcessing(0)

x9000

Missing args in callback meant two runtimes each time a turf was mined, exploded, blown up etc.

Causes openspace to mess up if the server runs low on memory.

* Automatic changelog generation for PR tgstation#58020 [ci skip]

* Automatic changelog compile [ci skip]

* Lowers rot disease chance (tgstation#58034)

Lowered the chance of disease creation by ~60%
Every round was having horrible breakouts, this ought to fix that

* Automatic changelog generation for PR tgstation#58034 [ci skip]

* Fixes error sprite from pdas in exosuit storage slots (tgstation#58033)

fix: putting a PDA into an exosuit storage slot won't cause the missing texture sprite any more.

* Automatic changelog generation for PR tgstation#58033 [ci skip]

* Enhance spray bottle logging while improving code and variable names. (tgstation#58070)

* Improve and loog

* Copybara

* Testing feex

* Extra doc

* Feex

* Range start from 1 instead of 0

* Automatic changelog generation for PR tgstation#58070 [ci skip]

* Automatic changelog compile [ci skip]

* Feex (tgstation#58073)

* Automatic changelog generation for PR tgstation#58073 [ci skip]

* trigger spacemandmm reparse in CBT 'Build All' task (tgstation#58061)

* Fixes runtimes related to quick equip. (tgstation#58043)

Basic sanity and ensure unequip is properly called before equipping again.

* Fixes a moth wing sprite mistake (tgstation#58059)

A wing sprite had a silhouette for the mob that I missed in tgstation#53969

* Automatic changelog generation for PR tgstation#58059 [ci skip]

* Fixes cargo gas canisters not being purchaseable (tgstation#58028)

* Automatic changelog generation for PR tgstation#58028 [ci skip]

* Fixes Tips Message About Ctf To Be Properly Descriptive Of Ctf (tgstation#58050)

* Automatic changelog generation for PR tgstation#58050 [ci skip]

* Mansus grasp now can ignite cigars (tgstation#58055)

* Automatic changelog generation for PR tgstation#58055 [ci skip]

* fix missing atmos features from various station (tgstation#57936)

Adds bluespace vendors to tramstation
Setup freezers to use waste loop
Connect delta station freezers to waste loop
Connect kilo station freezers to waste loop

* Automatic changelog generation for PR tgstation#57936 [ci skip]

* Revert "Switch tgui tooltips to popper.js" (tgstation#58078)

* Revert "Switch tgui tooltips to popper.js (tgstation#57992)"

This reverts commit 206c821.

* Revert "Fix Tooltip documentation (tgstation#58013)"

This reverts commit e692b05.

* Fixes a way of obtaining metal in the CTF map downtown (tgstation#58041)

* Automatic changelog generation for PR tgstation#58041 [ci skip]

* Resprites the lightning orb (tgstation#58065)

* Resprites the lightning orb

* Fixes the lightning orb hud icon

* Automatic changelog generation for PR tgstation#58065 [ci skip]

* autofire no longer does SIGNAL_HANDLER_DOES_SLEEP (tgstation#58066)

* Automatic changelog generation for PR tgstation#58066 [ci skip]

* Puts a HPLC in chemistry on tramstation  (tgstation#57987)

* Automatic changelog generation for PR tgstation#57987 [ci skip]

* CTF players are no longer 13 year olds (tgstation#58040)

* Automatic changelog generation for PR tgstation#58040 [ci skip]

* reverts map_format changes (tgstation#58051)

reverts map_format changes done in tgstation#57915

* [READY] Adjusting/porting chemical toxins to fermichem (+Seiver fix) (tgstation#57606)

* Automatic changelog generation for PR tgstation#57606 [ci skip]

* Internal Affairs actually works as intended now (tgstation#58021)

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#58021 [ci skip]

* changes most uses of SSvis_overlays.add_vis_overlay() inside of update_overlays() to true overlays (tgstation#57985)

* Automatic changelog compile [ci skip]

* Lights up the alien chambers on the CTF map cruiser (tgstation#58042)

* Automatic changelog generation for PR tgstation#58042 [ci skip]

* Upgrade tgui dependencies, make yarn task skippable (tgstation#58081)

* Upgrade tgui dependencies, make yarn task skippable

* Use a phony target to avoid double rebuilds

* Modifies SecTech ad from beating capitalists to communists (tgstation#58083)

* Automatic changelog generation for PR tgstation#58083 [ci skip]

* Fixes a minor oversight with eigenstasium (tgstation#58069)

* Automatic changelog generation for PR tgstation#58069 [ci skip]

* Update dependencies installed for TGSv4 precompile scripts (tgstation#58108)

* add libssl1.1

* i was told to add myself to this as well

* Automatic changelog generation for PR tgstation#58108 [ci skip]

* Automatic changelog compile [ci skip]

* Prevents morph toxin oversight (tgstation#58095)

* Automatic changelog generation for PR tgstation#58095 [ci skip]

* TGUI Limbgrower + Limbgrower refactoring and design expansion (tgstation#57955)

Refactors the limbgrower to modernize the code. Now, the limbgrower can accept any type of reagent in limbgrower designs.

Adds simple plumbing demand to the limbgrower, so you can pipe synthflesh into it.

Adds monkey tails, felinid ears and tails, lizard digitigrade legs, lizard tongues, fake lizard tails (unusable in lizard-wine and similar recipes), plasmaman organs, and ethereal organs (minus the heart) to the limbgrower via limbgrower design disks. These disks can be printed from the medical lathe once the required technology has been researched.

Adds a technology node to unlock the limbgrower design disks after advanced biotech, xenoorgan biology. In the future, this could have an experiment requirement - maybe to scan multiple types of species.

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>

* Automatic changelog generation for PR tgstation#57955 [ci skip]

* Fixes several exosuit storage slot and back slot worn icon bugs (tgstation#57946)

* Adds teleprod exosuit slot worn icon

* ... Really expands what the pr does

* Automatic changelog generation for PR tgstation#57946 [ci skip]

* Adds emergency meetings during april fools (tgstation#58098)

馃啈
add: The captain can now sometimes call emergency meetings using the communications console! Hopefully the crew will be able to sus out any imposters who might be among them!
/馃啈

* Automatic changelog generation for PR tgstation#58098 [ci skip]

* Allows you to ignite cigars with cauteries and recently-fired revolvers. (tgstation#58109)

About The Pull Request

tgstation#58055 added this for Mansus Grasp and I thought why the hell not, this is also badass. Fifteen seconds sounds like long enough to do this after firing the gun.

Also EOB noticed you can't ignite cigars with the cautery and that seems odd, so I added that too. Not sure who'd want to do that, but here you go.
Why It's Good For The Game

Gun hot after firing also badassery
Changelog

馃啈
add: Recently-fired revolvers can now be used to ignite cigars like a fucking badass.
add: Cauteries can now be used to ignite cigars like a very irresponsible doctor.
/馃啈

* Automatic changelog generation for PR tgstation#58109 [ci skip]

* Automatic changelog compile [ci skip]

* spelling (tgstation#58103)

* Automatic changelog generation for PR tgstation#58103 [ci skip]

* Fixes oversight with eigenstasium which teleports you before saving your location (when purity is greater than 90% and ingested) (tgstation#57986)

* Fixes oversight

* Why is this so convoluted

* Final fix and test

* Expose is strange

* exposure to reagents may result in confusion, bafflement and hunger. If you feel any of these effects, consult with your doctor.

* lil cleanup

* Automatic changelog generation for PR tgstation#57986 [ci skip]

* You can now print cable coils and welding helmets from scilathes and engilathes (tgstation#57762)

* Automatic changelog generation for PR tgstation#57762 [ci skip]

* Thermomachine have full temperature range on both modes (tgstation#57990)

* qol

* better changes

* Update code/modules/atmospherics/machinery/components/binary_devices/thermomachine.dm

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#57990 [ci skip]

* Persistence now cleans up json entries (fixes a lot of runtimes involved) (tgstation#58084)

* super duper persistence cleaning

* compiles now, much better written

* Processable and grillables and microwavables now give helpful examines, some condiment containers also do (tgstation#57694)

* IM DONE LOOKING AT THE WIKI FOR BASIC SNIZZLE

* microwaved, too

* HOOH

* LINT, review

* review but this time im not lying :trollface:

* maybe i should just like test or something

* reviews i missed

* 馃悜

* Automatic changelog generation for PR tgstation#57694 [ci skip]

* Fixes a critical accidental early return (tgstation#58128)

Emergency meetings work now

This loop shouldn't give up so quickly
Makes emergency meetings work when there are new players about
Also sets the 'show when dead' var to true so ghosts get the full experience

* Automatic changelog generation for PR tgstation#58128 [ci skip]

* Fixes toxin parent reagent purity affecting unintentional reagents  (tgstation#58107)

* Automatic changelog generation for PR tgstation#58107 [ci skip]

* Add extools compilation to the TGS4 precompile scripts for linux (tgstation#58113)

* Automatic changelog generation for PR tgstation#58113 [ci skip]

* Add the seeds to the permabrig (tgstation#58019)

* Automatic changelog generation for PR tgstation#58019 [ci skip]

* lone carpet subtype now doesnt smooth, adds back star carpets (tgstation#58104)

rohesie removed star carpets when they added the new smoothing system i think, this brings them back and gives both lone and star carpets a purpose, they no longer smooth, also lone carpets now use the symbol sprite again which has some customization in dirs

* Automatic changelog generation for PR tgstation#58104 [ci skip]

* emergency meetings now dont call in mobs with no client (tgstation#58133)

* Automatic changelog generation for PR tgstation#58133 [ci skip]

* Automatic changelog compile [ci skip]

* Some quick fixes for the dark gygax icon and its uplink description (tgstation#58121)

* Automatic changelog generation for PR tgstation#58121 [ci skip]

* Makes canister pressure capabilities a bit random and more unstable (tgstation#57818)

This is mainly to make bomb making just a little bit less of a formulaic activity. Canister base capacity is 8% lower but is increased by up to 20% from that amount, roughly resulting in the same average capacity. You can experiment to figure out each one's individual limit or just stick to safe minimum pressures.

To counter balance this somewhat, canister failure is a bit more violent. Damaged canisters will slowly leak gas, and a canister that breaks with internal pressure greater than it's capability will explode.

Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#57818 [ci skip]

* RCD now rebuilds existing constructs faster and with less resources (tgstation#58029)

* RCD now rebuilds faster

* Reconstructing now costs less

* Fix _

* Remove unused flag, use helper proc

* Add sound

* Remove previously useless, now inaccurate comment

* Add MIN_COMPILER_VERSION warning

* Automatic changelog generation for PR tgstation#58029 [ci skip]

* Injectors, vents and scrubbers no longer work when placed on walls (tgstation#57971)

fixes gas deletion exploit by stopping injectors, vents and scrubbers from being placed on walls

* Automatic changelog generation for PR tgstation#57971 [ci skip]

* Xenobio outlet fix (tgstation#58002)

About The Pull Request

Fixes air outlet injector outside of Xenobiology Lab not being powered
Why It's Good For The Game

Unpowered outlet makes it difficult to siphon air out of Xenobiology Lab
Changelog

馃啈
fix: Fixed air outlet injector outside of Xenobiology Lab not being powered
/馃啈

* Automatic changelog generation for PR tgstation#58002 [ci skip]

* Removes a single stray-pixel on slice of vanilla cake  (tgstation#58142)

* Automatic changelog generation for PR tgstation#58142 [ci skip]

* Shorten april fools to 3 days (tgstation#58144)

this way it covers all the timezones

* Automatic changelog generation for PR tgstation#58144 [ci skip]

* Automatic changelog compile [ci skip]

* Adds moffins, a whimsical breakfast pastry (tgstation#58110)

* Adds moffins

* slightly different check as requested

* Update code/game/objects/items/food/pastries.dm

I have been got got.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Update code/game/objects/items/food/pastries.dm

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#58110 [ci skip]

* remove input pass-through from stat panel and just try not to keep focus instead (tgstation#58143)

About The Pull Request

The input pass-through didn't work anyway, as it would pass through lower-case keys which our input code doesn't understand (unless you were holding shift or hadcaps lock on.) It also didn't translate arrow keys to NORTH, etc. which is how BYOND expects them.

If you double clicked on the stat panel it would eat all following input from you. If you happened to have caps lock on, you might not notice this because the correct WASD values get passed to BYOND. If you were then to stop walking while holding shift because you want to examine something, your key release would be sent to BYOND as lowercase, causing it to be ignored.

Under all of those conditions, your movement would get stuck in one direction. It's more likely than you think!!!

A similar chain of events could cause Alt releases to not be sent to BYOND due to this as well.

--

The fix is to just give back focus to the map similarly to how TGUI does it. It's not quite as majestic as TGUI, but it seems to have fine results.
Why It's Good For The Game

Nobody likes sticky keys
Changelog

馃啈
fix: Stat panel no longer captures input (potentially causing keys to get stuck down)
/馃啈

* Automatic changelog generation for PR tgstation#58143 [ci skip]

* Actually fixes bots wrongfully failing to pathfind (tgstation#58064)

I botched tgstation#57873 and made the wrong part of the code return an empty list, so instead of it being part of the wrapper proc (like it was before), it was part of the core pathfinding proc. This meant that sometimes a non-list return value would make it by the wrapper proc when a list was expected, eventually causing bots to fail to respond to summons from AIs/PDAs as I detailed in the last PR. This solves it by ensuring all returns are lists, with the exceptions of invalid callers or endpoints, which should error.

* Automatic changelog generation for PR tgstation#58064 [ci skip]

* makes slapping someone in the face more intuitive (tgstation#58137)

* Automatic changelog generation for PR tgstation#58137 [ci skip]

* Stripping a disconnected player will tell them when they come back (tgstation#58129)

* Automatic changelog generation for PR tgstation#58129 [ci skip]

* Snappier Firelocks (tgstation#57943)

Firelocks are kind of annoying to open since it relies on a 10 second area based timer that is difficult to predict, this tries to solve that.

When forced open with the primary attack, the firelock now checks if you are adjacent to it or not. Our dearest Manuel players can think of it as you manually holding the door back. It is also made to close when you are no longer adjacent or went horizontal (resting, etc.)
This sort of made firelocks snappier and close faster too, and I hope this might help it seal off areas better.

The door will be stuck closed when you leave it however, and that's where the old behaviour comes in. Secondary attack is used to toggle the firelock and surrender it to the timer if an alarm is triggered. Primary attack without a fire alarm triggering cannot keep the door open after you walk away. I hope this is intuitive enough.

* Automatic changelog generation for PR tgstation#57943 [ci skip]

* Refactors shielded hardsuits into a component, fixes kisses consuming shield charges (tgstation#57797)

Shielded hardsuits (like the syndie ones) and shielded cult robes, despite functioning very similarly, were actually implemented twice in their own pockets of clothing code. This merges them into one component that lets you block a certain number of attacks while your suit has charges, and have the suit recharge itself after going so long without being hit (optional, cult robes still don't regain lost charges).

This PR also fixes harmless kiss projectiles consuming charges on shielded suits, I'm sure to much disappointment. They'll now pass directly through though, so you can still try your luck to see if love truly conquers all (it probably won't).

One casualty of this is that you can no longer toggle the shield color of syndie hardsuits with a multitool since that it was annoying to componentize, not something that affected gameplay, and probably something noone knew you could do anyway.

Fixes: tgstation#57723

* Automatic changelog generation for PR tgstation#57797 [ci skip]

* Placing a fireman carried person onto a table no longer harms them (tgstation#58147)

Previously, clicking on a table with a fireman carried person while not in combat mode would start a do_after(), then harmfully smash the person you fireman carrying into the table. This harmful smash has been replaced by your character merely placing the fireman carried person onto the table, like what happens when you click on a table while not in combat mode while you have someone in a grab. You can still click on a table with a fireman carried person while in combat mode to perform a limb smash, if you wish.

* Automatic changelog generation for PR tgstation#58147 [ci skip]

* adds the console (tgstation#58127)

* Automatic changelog generation for PR tgstation#58127 [ci skip]

* Adds proper logging to Holodeck safeties and programs (tgstation#58149)

* Adds proper logging to Holodeck safeties and programs

* a more elegant solution

* Automatic changelog generation for PR tgstation#58149 [ci skip]

* Recolors bucket inhand and adds omega soap inhand (tgstation#58148)

* '

* Fixed stray pixel

* Automatic changelog generation for PR tgstation#58148 [ci skip]

* Automatic changelog compile [ci skip]

* Smart Pipes(reborn) (tgstation#58038)

How these new pipes work.
-Smart pipes autoconnect to nearby smart pipes
-They are now color coded, so they only connect to the same colored pipe, the GREY pipe is the wildcard and can connect to every other color, so be aware of this
-ALL components spawned by the RPD can be colored (from pumps to connectors, from pipes to manifolds), if you leave them GREY they can connect to every other color. Color adapters can be colored, but they'll still connect two pipes with different colors. BUILDABLE machines are GREY (thermomachines, cryo, HFR) so be aware of this
-Trying to go across another smart pipe will now build a bridge pipe automatically already colored of the color you choose, so you don't have to place it yourself anymore (is still available in the RPD tho)
-ALL binary components, layer manifolds, color adapters and bridge pipe can be put ONTOP of a smart pipe, but not on another of these. Smart pipes can't be placed on top of these pipes, so you have to build them first.
-Lcrossings can't be made anymore (sorry y'all i tryed, if someone have a way of doing them ping me on discord)
-REMEMBER you still have 5 layers to go, these rules apply to the same layer pipes, so if you do a crossing on different layers you won't see a bridge pipe appear.

* Automatic changelog generation for PR tgstation#58038 [ci skip]

* resprite water cooler (tgstation#58117)

* Automatic changelog generation for PR tgstation#58117 [ci skip]

* Fixes a few roulette wheel runtimes. (tgstation#58139)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#58139 [ci skip]

* Stethoscopes now require hearing instead of vision to use  (tgstation#58169)

* Automatic changelog generation for PR tgstation#58169 [ci skip]

* added colour picking to VV (tgstation#58173)

Co-authored-by: Thunder12345 <stewart@critar.demon.co.uk>

* Automatic changelog generation for PR tgstation#58173 [ci skip]

* Fixes smoker stacking unremovable negative moodlets (tgstation#58170)

* Automatic changelog generation for PR tgstation#58170 [ci skip]

* Add youtube-dl to tgs4 precompile scripts for Linux (windows users on suspicious individuals watch) (tgstation#58135)

Adds the ability for the TGS4 precompile script on Linux platforms to resolve the youtube-dl dependency. This essentially is for Docker deployments, but can also apply to regular TGS4 deployments as well.

* Automatic changelog generation for PR tgstation#58135 [ci skip]

* Fixes multiple issues related to suicides (tgstation#58178)

* Automatic changelog generation for PR tgstation#58178 [ci skip]

* Armless people can no longer buckle people (tgstation#58176)

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#58176 [ci skip]

* Terror in the Toybox: The Rouny Plushie (tgstation#58221)

* rouny plushie

* rouny prizes

* loar

* Automatic changelog generation for PR tgstation#58221 [ci skip]

* fix pipe (tgstation#58120)

* Automatic changelog generation for PR tgstation#58120 [ci skip]

* Automatic changelog compile [ci skip]

* After revolutionaries win, one living headrev (if any are able to) will be allowed to rename the station with a revolutionary banner (tgstation#58165)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#58165 [ci skip]

* Delete useless toFixed import in TimeDisplay (tgstation#58215)

* Fix a missing icon (tgstation#58219)

* Deletes unreachable line for tools/dmi (tgstation#58213)

Resolves tgstation#58211

* Fixes the borg hug module being able to harm and shove simple mobs  (tgstation#58175)

* Automatic changelog generation for PR tgstation#58175 [ci skip]

* Pacifists can no longer swat bugs (tgstation#58177)

Co-authored-by: Thunder12345 <stewart@critar.demon.co.uk>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#58177 [ci skip]

* Fix PreCompile.bat failing with spaced paths (tgstation#58184)

* Fix PreCompile.bat failing with spaced paths

* Undo spacification

* Give miners cargo access on icebox, removes QM office access from cargo techs (tgstation#58167)

* Automatic changelog generation for PR tgstation#58167 [ci skip]

* revamps meta incinerator (tgstation#58198)

* revamps meta incinerator

cleans pipes in meta incinerator

* Update MetaStation.dmm

* [s] Restores Cargo Shuttle Blacklist Enforcement (tgstation#58201)

Removed an inappropriate as anything inside the cargo shuttle's blacklist check that was breaking it.

* Automatic changelog generation for PR tgstation#58201 [ci skip]

* Player Lobstrosities Can Right-Click To Charge (tgstation#58199)

* Automatic changelog generation for PR tgstation#58199 [ci skip]

* stat panel focus reset happens _before_ verb commands are ran (tgstation#58196)

* Automatic changelog generation for PR tgstation#58196 [ci skip]

* Fixes spelling errors in misc.dm (tgstation#58194)

* Automatic changelog generation for PR tgstation#58194 [ci skip]

* layer manifolds visual fix (tgstation#58193)

* Automatic changelog generation for PR tgstation#58193 [ci skip]

* Automatic changelog compile [ci skip]

* Moves code managing mobs getting shocked from disease code to mob status code (tgstation#58202)

* Venus human traps no longer take cold damage (tgstation#58185)

* Automatic changelog generation for PR tgstation#58185 [ci skip]

* Deletes duplicate export property (tgstation#58212)

* Reduces the amount of unsorted chat messages (tgstation#58192)

* Automatic changelog generation for PR tgstation#58192 [ci skip]

* et

* Update README.md

* Update beefman.dm

* .

* oh no

i just realized i have to map

* Update mobspawner.dm

* Update tgstation.dme

* Update Heliostation.dmm

* fixes heliostation pipes

Probably. Fuck smartpipes

* Update Heliostation.dmm

* TGU

* dme

* Update build.js

* tgu stuff

* sorry beefmen

* no

* fixes the pipes and other stuff. probably

* last of the fixes

* digi lol

* Update deputy.dm

* TGU

* fixes helio pipes

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: MLGTASTICa <61350382+MLGTASTICa@users.noreply.github.com>
Co-authored-by: MLGTASTICa <ak9bc01d@yahoo.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
Co-authored-by: DuffCreeper <treyparn@yahoo.com.au>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: Rob Bailey <actioninja@gmail.com>
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: FernandoJ8 <80640114+FernandoJ8@users.noreply.github.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: ishitbyabullet <deathzombine@outlook.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: Iosyf <iosyf123456@abv.bg>
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
Co-authored-by: William Wallace <me@wiox.me>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Kokonut <38844529+maxymax13@users.noreply.github.com>
Co-authored-by: EdgeLordExe <42111655+EdgeLordExe@users.noreply.github.com>
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>
Co-authored-by: LordVollkorn <66637090+LordVollkorn@users.noreply.github.com>
Co-authored-by: SgtHunk <68669754+SgtHunk@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: Swept <sweptwastaken@protonmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
Co-authored-by: TheVekter <TheVekter@users.noreply.github.com>
Co-authored-by: Seth Scherer <supernovaa41@protonmail.com>
Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
Co-authored-by: Capsandi <38051413+Capsandi@users.noreply.github.com>
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: norill <norill@wp.pl>
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
Co-authored-by: BootlegBow <69032410+BootlegBow@users.noreply.github.com>
Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Thunder12345 <stewart@critar.demon.co.uk>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: EOBGames <58124831+EOBGames@users.noreply.github.com>
Co-authored-by: Tom <tomforde4@gmail.com>
Co-authored-by: ZeWaka <zewakagamer@gmail.com>
Co-authored-by: InsaneRed <47158596+InsaneRed@users.noreply.github.com>
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Imaginos16 <77556824+Imaginos16@users.noreply.github.com>
Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
Co-authored-by: Ben S <tomfhardy@yandex.com>
Tsar-Salat added a commit to Tsar-Salat/BeeStation-Salatland that referenced this pull request Apr 27, 2023
Tsar-Salat added a commit to Tsar-Salat/BeeStation-Salatland that referenced this pull request Dec 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Sound Oh god my ears, they bleed, did you normalise the volume?
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants