-
Notifications
You must be signed in to change notification settings - Fork 179
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Various bugfixes (mostly ported from /tg/) #1985
Commits on May 24, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 858e6a9 - Browse repository at this point
Copy the full SHA 858e6a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6736b3a - Browse repository at this point
Copy the full SHA 6736b3aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a6ac139 - Browse repository at this point
Copy the full SHA a6ac139View commit details -
Configuration menu - View commit details
-
Copy full SHA for 25d032f - Browse repository at this point
Copy the full SHA 25d032fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5efbe5f - Browse repository at this point
Copy the full SHA 5efbe5fView commit details -
The shuttle won't gib you anymore while you're in jaunt (tgstation#83134
) ## About The Pull Request As it's said in title, the shuttle will not gib you now while you in jaunt. This applies to a mage, a (s)laughter demon, an ash heretic and anything that uses spell "jaunt" and its child classes. ## Why It's Good For The Game I think it's pretty counterintuitive that you can't be harmed by anything in the jaunt, including an explosion, but if you accidentally end up on the tile where the shuttle arrives, it deletes you. So, this PR closes this logical hole. ## Changelog :cl: fix: The shuttle will no longer delete you while you are in jaunt /:cl: Co-authored-by: paganiy <leunscrupuloustrolle@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for ab73b83 - Browse repository at this point
Copy the full SHA ab73b83View commit details -
Fix "Aheal" for ears deafness (tgstation#82448)
## About The Pull Request Make the admin button "Aheal" and Magic Wand of Healing (resurrection) actually full heal carbon's Ears. File _ears.dm contains timer variable "deaf" that should be updated to 0 after complete healing. But I think this must be properly code-refactored because looks like it's just duplicates(?) standart variable "damage" for organ type. ## Why It's Good For The Game Aheal - means FULLY HEAL. ## Changelog :cl: fix: aheal now properly heals ears deafness /:cl: --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 09a894b - Browse repository at this point
Copy the full SHA 09a894bView commit details -
[Fix] Visually closing fakewalls when in fact they shouldn't be closed (
tgstation#81353) ## About The Pull Request Moves update_appearance() proc further after checking if it can be closed. It was possible to stand inside an open falsewall, try to close it only for it to "close" visually and don't change any properties. ## Why It's Good For The Game Less bugs is good. No more fake-closed falsewalls. ## Changelog :cl: fix: Now falsewalls visually don't close when they shouldn't. /:cl:
Configuration menu - View commit details
-
Copy full SHA for b7b4f0f - Browse repository at this point
Copy the full SHA b7b4f0fView commit details -
random spawners now check if the destination turf is unblocked in a s…
…traight line (tgstation#82323) ## About The Pull Request random spawners now check if the destination turf is unblocked in a straight line ![image](https://github.com/tgstation/tgstation/assets/70376633/15fb4e23-95d1-473c-8bba-00b9497f0ca8) (spammed grime spawner, nothing spawned behind glass) ## Why It's Good For The Game bug ## Changelog not player facing
Configuration menu - View commit details
-
Copy full SHA for fb36d2b - Browse repository at this point
Copy the full SHA fb36d2bView commit details -
Fixes Space Phase softlock (tgstation#83241)
## About The Pull Request It's very easy to get softlock if you try to use a codex as a focus for Space Phase - you'll drop the codex, resulting in you having no focus, and you can't re-cast Space Phase in order to exit the jaunt, requiring admin intervention in order to escape. This just makes it so you're ejected from the phase if you ever lose your focus mid-cast, or if you lose consciousness (crit, dying, etc) ## Why It's Good For The Game Because softlocks are bad and unfun. ## Changelog :cl: fix: You will now be ejected from Space Phase if you lose your focus or lose consciousness somehow during the jaunt. /:cl:
Configuration menu - View commit details
-
Copy full SHA for 0cc2f9b - Browse repository at this point
Copy the full SHA 0cc2f9bView commit details -
Adjusts the font size of signatures to a reasonable value. (tgstation…
…#75993) ## About The Pull Request Changes the font size of signatures from 30px (pictured left) to 15px (pictured right). I advise opening them in a separate tab, they're a little less pixelated than they look. Original | New :-------------------------:|:-------------------------: ![image](https://github.com/tgstation/tgstation/assets/80640114/62178bc6-ce8b-4127-a086-8e656b3a6092) | ![image](https://github.com/tgstation/tgstation/assets/80640114/9959e648-2bbe-4060-bcc8-1e87393c0a86) ## Why It's Good For The Game I'm not sure why signatures were made to be this big, but it made them hardly fit in any field and look jarring when compared to all the surrounding text. They are now only slightly bigger than normal text (12px) so that they stand out but aren't excessively large. ## Changelog :cl: spellcheck: adjusted font size from 30px to 15px /:cl:
Configuration menu - View commit details
-
Copy full SHA for 3e559b7 - Browse repository at this point
Copy the full SHA 3e559b7View commit details -
[no gbp] Space Ruin bioscramblers shouldn't chase people around (tgst…
…ation#82649) See title They wouldn't lock on to people on the station from a space ruin, but would to whoever entered their z level the second it was entered. Also fixes bug where I changed `status_flags` to `status_effects` for some reason which isn't where you look for godmode We have a space ruin whcih several (coreless) anomalies spawn on, the bioscrambler was put as an option because it was already immortal. It's weird though to zone into the ruin and immediately have every anomaly in there lock onto you, the best intended effect is probably for these ones specifically not to be bloodthirsty. We kind of only care about that behaviour on the station. :cl: fix: Anomalous Research ruin Bioscrambler anomalies won't home in on targets fix: Bioscrambler won't randomly drop its target for no reason /:cl:
Configuration menu - View commit details
-
Copy full SHA for cf0d8ac - Browse repository at this point
Copy the full SHA cf0d8acView commit details -
Adds lag compensation for the supermatter zaps and some antagonists. (t…
…gstation#78174) Adds delta time scaling for changeling chemical generation, xenomorph plasma generation, xenomorph resin healing (up to 8 seconds per tick to prevent weird instant heal phenomena in extreme cases), and revenant essence generation. This delta time scaling is based on the world's time and the respective subsystem's last fire. This will help keep these generation smooth even when their respective subsystem lags, preventing lag from ruining the antagonists rounds. This can still slow down if the actual world is slowing down, but that's fine because the rest of the world will typically be slowing down proportionately so it's fair. Fixes supermatter zap rate not scaling with its internal energy properly. Ghilker forgot to scale the time reduction by seconds. It should be much faster at higher energy levels, making the transition between 0 and 5 GeV more smooth. Supermatter zap power generation will scale by the world's delta time between the supermatter's last zap, making power generation more consistent even when atmos lags. Also prevents the supermatter zap rate scaling from also scaling the power generation by extreme amounts, keeping it linear and consistent for the first 5 GeV (>5GeV has cringe power multipliers, but I'm going to ignore that for this PR, because I want this to mainly be a consistency thing rather than a balance thing). A 1.5GeV supermatter will be able to generate around 800kW* of power. I forgot exactly what goal of power we want the roundstart SM to produce, so I might change the scale if I find the target power generation. * - By generate 800kW of power I mean the energy the actual zaps contain. Tesla coils don't collect 100% of it. I'll test later to see how much an actual roundstart SM will output to grid (ignoring SMES), and I'll try to keep it as close as possible to what it was before this PR assuming no lag. Subsystems can disproportionately lag a lot more compared to the rest of the subsystems and game. This can ruin antagonist rounds as it can slow their chemicals, plasma or whatever generation grinding to a halt. The delta time scaling will significantly reduce the impact of lag for these antagonists, allowing them to play more normally even while the subsystems their generators run on are lagging. Supermatter zap rate was supposed to fire every 2.5 or something seconds at 1.5GeV according to comments on older commits. I just assume they accidentally forgot to scale their time reduction by seconds, as doing that made it work accordingly. For supermatter zap power generation delta time scaling, kinda same reasoning as for the antagonists. We don't want power generation to stop because atmos ss is being slow. Scaling between the zaps also prevents a nonlinear boost to power generation making it even more absurd at higher energy levels. :cl: balance: Supermatter zap power generation scales with the delta time between its last zaps, preventing faster zapping from scaling power generation to extreme levels. fix: Fixes supermatter zap rate not scaling properly. It should zap much faster at higher energy levels as intended. qol: Changeling chemical generation scales with the world's delta time, making its rate independent of subsystem lag. qol: Revenant essence generation scales with the world's delta time, making its rate independent of subsystem lag. qol: Xenomorph plasma generation and resin healing scales with the world's delta time, making their rates independent of subsystem lag. /:cl:
Configuration menu - View commit details
-
Copy full SHA for 7a02939 - Browse repository at this point
Copy the full SHA 7a02939View commit details -
Removes current destination for a shuttle in transit from the destina…
…tion list (tgstation#75170) ## About The Pull Request Shuttles with multiple destinations will no longer show the current destination as a selectable choice during transit. <details> <summary>Example</summary> A shuttle has two possible destinations. A and B. <br> While at A, the only valid destination is B and vice-versa. <br> But while in transit to B, _both_ A and B can be chosen as destinations. <br><br> The change now hides B as a valid destination, as you are already going there. <br> It has the nice side effect of making shuttles with only two destinations never showing a dropdown list while in transit. </details> ## Why It's Good For The Game Telling the shuttle to go to the same place as you're going to doesn't do anything. ## Changelog :cl: qol: Shuttles will no longer show their current destination as a choice while in transit. /:cl:
Configuration menu - View commit details
-
Copy full SHA for 488a047 - Browse repository at this point
Copy the full SHA 488a047View commit details -
Fixes getting stuck in the leaning condition when you try to lean fac…
…ing the wrong direction (tgstation#77002) ## About The Pull Request What it says on the tin. Was just testing out tgstation#76704 and noticed that if you try to lean while facing the wrong direction, you get stuck in the `is_leaning` state and are unable to lean again. For the best chance of this not happening, I just moved it to the very end of the `start_leaning()` proc. ## Why It's Good For The Game Bugfix ## Changelog :cl: fix: fixed a bug that would cause you to be unable to lean again if you tried leaning while facing the wrong direction /:cl:
Configuration menu - View commit details
-
Copy full SHA for 1384a0e - Browse repository at this point
Copy the full SHA 1384a0eView commit details -
"Explosive Planted" C4 ghost notification actually shows the C4 (tgst…
…ation#80694) "Explosive Planted" C4 ghost notification actually shows the C4 on the icon It looks very strange seeing an image of just a wall, or just a firelock, this give you info at a glance that "oh it's C4" rather than having to read chat or hover over the alert ![Screenshot 2023-12-31 192717](https://github.com/tgstation/tgstation/assets/46101244/eef8c51c-1f86-48d4-8425-1622e9c1123b) :cl: qol: The "Explosive Planted" alert for C4 actually shows the C4 /:cl:
Configuration menu - View commit details
-
Copy full SHA for 367991a - Browse repository at this point
Copy the full SHA 367991aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7343bd5 - Browse repository at this point
Copy the full SHA 7343bd5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2de8dee - Browse repository at this point
Copy the full SHA 2de8deeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5723927 - Browse repository at this point
Copy the full SHA 5723927View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5c0c5c1 - Browse repository at this point
Copy the full SHA 5c0c5c1View commit details
Commits on May 25, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 1aecdb6 - Browse repository at this point
Copy the full SHA 1aecdb6View commit details
Commits on May 27, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 07c442a - Browse repository at this point
Copy the full SHA 07c442aView commit details
Commits on May 28, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5533c53 - Browse repository at this point
Copy the full SHA 5533c53View commit details -
Fix issues resulting from an elevated object being created inside of …
…a non-turf atom (tgstation#83498) ## About The Pull Request If an elevated object is initialized inside of a non-turf atom, it'll still make the turf it is on elevated. Permanently. Which is weird. ## Why It's Good For The Game Randomly elevated turfs are bad. Bugs bad. ## Changelog :cl: fix: Fix a rare issue where a turf would remain permanently "elevated" if an elevated object was initialized inside of a non-turf object. /:cl:
Configuration menu - View commit details
-
Copy full SHA for 555f86d - Browse repository at this point
Copy the full SHA 555f86dView commit details
Commits on May 29, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 5b2877a - Browse repository at this point
Copy the full SHA 5b2877aView commit details -
Addresses Icon Smoothing Runtimes (tgstation#80171)
## About The Pull Request Noticed this in the runtime logs on Terry: ```txt [2023-12-07 02:30:12.334] RUNTIME: runtime error: /obj/structure/table/glass called smooth_icon() without being on a z-level - proc name: smooth icon (/atom/proc/smooth_icon) - source file: code/__HELPERS/icon_smoothing.dm,172 - usr: null - src: the glass table (/obj/structure/table/glass) - src.loc: null - call stack: - the glass table (/obj/structure/table/glass): smooth icon() - the glass table (/obj/structure/table/glass): smooth icon() - Icon Smoothing (/datum/controller/subsystem/icon_smooth): fire(0) - Icon Smoothing (/datum/controller/subsystem/icon_smooth): ignite(0) - Master (/datum/controller/master): RunQueue() - Master (/datum/controller/master): Loop(2) - Master (/datum/controller/master): StartProcessing(0) ``` Glass tables, on their qdeletion (which occurs when someone breaks one by standing on it), call `QUEUE_SMOOTH_NEIGHBORS()`, which invokes the smooth on potentially all other glass tables it's merged to. However, since this is a queueing process that we halt if the MC is choked out or we're overtiming elsewhere, it's possible that the queued object `qdel()`s (like if someone is spamming throwing people on 2x1 glass tables) between fires of `SSicon_smooth`. Instead of doing a crash on a null z-level, let's check if we're qdeleted first. It is not unreasonable to just simply early-return because it is always possible that things just get qdeleted while `SSicon_smooth` sleeps/postpones work when the server is crunching and munching cpu time. ## Changelog No affect to players.
Configuration menu - View commit details
-
Copy full SHA for c618ebd - Browse repository at this point
Copy the full SHA c618ebdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ca7e0f - Browse repository at this point
Copy the full SHA 9ca7e0fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 99bd2c5 - Browse repository at this point
Copy the full SHA 99bd2c5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 022a75c - Browse repository at this point
Copy the full SHA 022a75cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0529643 - Browse repository at this point
Copy the full SHA 0529643View commit details -
Configuration menu - View commit details
-
Copy full SHA for 759ac10 - Browse repository at this point
Copy the full SHA 759ac10View commit details
Commits on May 30, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 6102fe8 - Browse repository at this point
Copy the full SHA 6102fe8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 424b238 - Browse repository at this point
Copy the full SHA 424b238View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1347de2 - Browse repository at this point
Copy the full SHA 1347de2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 03984aa - Browse repository at this point
Copy the full SHA 03984aaView commit details -
Fixes smoothing breaking if a map is loaded post init (tgstation#81526)
We'd finish a set of atom creation, then try and smooth those atoms The problem is they might try and smooth with an uninitialized neighbor, which wouldn't have its smoothing vars parsed. This fixes that by pooling "to be smoothed" things into a list based off the source of the init stoppage, which we then release when we're done. Also fixes things staying in mapload, even during a sleep. This can cause massive headaches so it's good to avoid. This has a cost but it's minuscule (on the order of like 0.006s (6ms over all of init), so I'm happy with it. Closes tgstation#77040 🆑 fix: Maps loaded in after roundstart will no longer have broken smoothing /🆑
Configuration menu - View commit details
-
Copy full SHA for c834eef - Browse repository at this point
Copy the full SHA c834eefView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c1ada5 - Browse repository at this point
Copy the full SHA 8c1ada5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 966748b - Browse repository at this point
Copy the full SHA 966748bView commit details -
Configuration menu - View commit details
-
Copy full SHA for b4db520 - Browse repository at this point
Copy the full SHA b4db520View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b8d7a9 - Browse repository at this point
Copy the full SHA 6b8d7a9View commit details
Commits on May 31, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 569f436 - Browse repository at this point
Copy the full SHA 569f436View commit details -
Makes Gondolapods great again (tgstation#78900)
## About The Pull Request Fixes tgstation#73310 Bug fix for gondola supplypods generated with the Config/Launch Supplypod admin verb. open_pod() now dumps the contents of the holder reference it was passed (holder = src supplypod in all cases except for the gondola pod) allowing gondola pods to actually deliver their cargo. Mobs in the new gondola pod get their perspective reset instead of being stuck in the void of nullspace until the pod opens. The mob's plane is set on the pod opening to allow items to appear on top of the pod, and reset to standard mob plane on closing. In the case of a reversing pod, contents are properly stored in the supplypod and the outgoing mob is qdel'd (new one is spawned when the pod lands, holder != src should only be true in the case of the gondola pod). Fixed a runtime where glow_effect.plane was being modified while glow_effect is null. Removes incorrect comment. Everything tested locally. ## Why It's Good For The Game Makes the gondola supplypod variant actually functional. ## Changelog :cl: admin: Gondola supplypods are functional again. /:cl:
Configuration menu - View commit details
-
Copy full SHA for 981d25e - Browse repository at this point
Copy the full SHA 981d25eView commit details -
Fixes camera ref cleanup in alarms processing (tgstation#78839)
Not every alarm area has cameras.
Configuration menu - View commit details
-
Copy full SHA for a612702 - Browse repository at this point
Copy the full SHA a612702View commit details -
Configuration menu - View commit details
-
Copy full SHA for 849a7fd - Browse repository at this point
Copy the full SHA 849a7fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 84f2d60 - Browse repository at this point
Copy the full SHA 84f2d60View commit details -
Removes logging each lua function called on the dm side of things. (t…
…gstation#83483) ## About The Pull Request As the title says. This should significantly improve the performance of running lua scripts. ## Why It's Good For The Game There is a lot of performance overhead in logging each individual function called by a lua script as can be seen in the following screenshot: This is a test done on a local server where I run the `zombie_controller.lua` script that can be found on the auxlua-cookbook repository with a lot of AI zombies spawned in. ![image](https://github.com/tgstation/tgstation/assets/37270891/fb8ee2d8-0b4c-49d7-823a-a552cde6cb10) ![image](https://github.com/tgstation/tgstation/assets/37270891/186c2cb0-82f9-4914-bd29-df19e1c0dbe1) Logging these calls is not necessary as it doesn't provide any real information to anyone looking for bad actors. Lua scripts are already logged when ran and they can be examined to spot if the script being run is done so in bad faith. --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Configuration menu - View commit details
-
Copy full SHA for ce04102 - Browse repository at this point
Copy the full SHA ce04102View commit details -
Fixes auxtools hanging on server shutdown. (tgstation#83050)
## About The Pull Request Does a full shutdown of auxlua when the lua subsystem shuts down. This should unpin the dll file. Compare `AUXTOOLS_SHUTDOWN` code with `AUXTOOLS_FULL_SHUTDOWN`, let me know if I'm mistaken: ### AUXTOOLS_SHUTDOWN https://github.com/willox/auxtools/blob/bc5b2cf019f0f9b18f46b560a0f730d709171b55/auxtools/src/lib.rs#L346 ### AUXTOOLS_FULL_SHUTDOWN https://github.com/willox/auxtools/blob/bc5b2cf019f0f9b18f46b560a0f730d709171b55/auxtools/src/lib.rs#L365 ## Why It's Good For The Game Fixes auxlua keeping the dll pinned when the server is in a process of shutting down. Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Configuration menu - View commit details
-
Copy full SHA for eb20b1a - Browse repository at this point
Copy the full SHA eb20b1aView commit details -
Cleans up the SS13_base lua file and adds a new lua file for easily h…
…andling multiple signals on different objects. (tgstation#82458) ## About The Pull Request Cleaned up the SS13.register_signal and SS13.unregister_signal, removing the weird list shifting. Also adds a new lua file that can be included for the use of registering different signals on various datums and being able to clear them all in 1 function. Removed the make_easy_clear_function option when registering a signal via lua because I don't think it's used by anyone and it lacks any sort of versatility. Users can just create their own function for clearing signals from a datum. Also updates the documentation for HARDDELETES.md as COMSIG_PARENT_QDELETING was renamed to COMSIG_QDELETING ## Why It's Good For The Game New handler file makes registering signals in batches a lot easier if you want to clear them in one go without clearing unrelated callbacks on the same datum. The list shifting in SS13.register_signal had pretty significant performance problems, so removing that will make registering and unregistering signals faster. ## Changelog :cl: admin: LUA - Adds a new library called handler_group. Include it in your files by doing require('handler_group') /:cl: --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Configuration menu - View commit details
-
Copy full SHA for ae20832 - Browse repository at this point
Copy the full SHA ae20832View commit details -
Fixes SS13.register_signal throwing unclear errors when called on del…
…eted datums (tgstation#82597) ## About The Pull Request See title ## Why It's Good For The Game More descriptive error message ## Changelog :cl: fix: LUA: Registering a signal on a deleted datum will throw a more descriptive error message. /:cl: --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Configuration menu - View commit details
-
Copy full SHA for bd677a0 - Browse repository at this point
Copy the full SHA bd677a0View commit details -
Fixes lua breaking when registering signals on turfs (tgstation#83018)
## About The Pull Request Signals don't get removed on turfs when they're deleted. This fixes that so that it is reflected in lua as well. ## Why It's Good For The Game Lua bugfixes ## Changelog :cl: fix: Fixed lua scripts breaking when turfs with registered signals get deleted. /:cl: --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Configuration menu - View commit details
-
Copy full SHA for affd800 - Browse repository at this point
Copy the full SHA affd800View commit details -
Micro-optimizes _SendSignal a bit (tgstation#83244)
## About The Pull Request Instead of iterating over an assoc list and doing a list access, which has a complexity of O(nlog(n)), it is better to just store a 2 tuple and access that to get a complexity of O(n) Check code to see what I mean. ## Why It's Good For The Game ![image](https://github.com/tgstation/tgstation/assets/37270891/1e5d68fa-2e19-473c-a870-e1e0277cbacc) This is a very hot proc and it's worth micro-optimizing where we can. The speed increase in doing the following code can be seen here: ![image](https://github.com/tgstation/tgstation/assets/37270891/1b7f00a3-b3c2-4976-b2ab-97eefbbd2459) Higher is better. The code that was benchmarked: ```dm var/list/target = list() /proc/testa() var/list/queued_calls = list() for(var/i in 1 to length(target)) var/data = target[i] queued_calls.Add(data, 1) for(var/i in 1 to (length(queued_calls) / 2)) var/a = queued_calls[i*2-1] var/b = queued_calls[i*2] /proc/testb() var/list/queued_calls = list() for(var/data in target) queued_calls[data] = 1 for(var/data in queued_calls) var/a = data var/b = queued_calls[data] MAIN for(var/i in 1 to 100) target.Add("[i]") BEGIN_BENCH(2) BENCH_PHASE("New code", testa()) BENCH_PHASE("Old code", testb()) END_BENCH ``` ## Changelog --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for aa049d1 - Browse repository at this point
Copy the full SHA aa049d1View commit details -
Minor signals memory optimization (tgstation#79153)
This replaces the inner list of signals which tracked receivers with a flat list instead of the previous keyed list that was used to prevent duplicates. We have code already checking for duplicates before hand so we can lean on that to assume the sender already has the receiver listed. This should also be minutely more performant equal to about a single if statement but I don't want to bother trying to profile something so small.
Configuration menu - View commit details
-
Copy full SHA for 0263347 - Browse repository at this point
Copy the full SHA 0263347View commit details -
Fixed lights doing processing when they shouldn't need to. (tgstation…
…#83313) Lights would do processing if they spawned with a mock cell, since it would never pass the conditional to see if the cell was full and stop processing since the cell didn't exist. This fixes that by making it so that having no cell equates to having a full one. This is expected since whenever any charge is supposed to be used by the cell, it will generate the cell which will have full charge. Fixes a potential performance hog. Metastation dropped from 2800 processing machinery to 1900 after implementing this change. No player facing changes --------- Co-authored-by: Watermelon914 <3052169-Watermelon914@users.noreply.gitlab.com>
Configuration menu - View commit details
-
Copy full SHA for e039f9a - Browse repository at this point
Copy the full SHA e039f9aView commit details -
Fixes modified MA overlays potentially causing duplicate overlays (tg…
…station#78719) Also optimizes the update_icon proc a little bit, especially as a round goes on, since everything is stored as an appearance (or text, gross) this allows us to only call on overlay update code if the managed overlays change. ![dreamseeker_2023-10-01_18-45-55](https://github.com/tgstation/tgstation/assets/1234602/722a183a-dc19-4e7c-93ba-8a19cde9da5a) This also fixes some sources of null overlays but it ended up being more things than I should shove into this pr if I were to fix all of them. Should probably be testmerged for a little bit to make sure nothing weird comes from assuming everything being passed in has an appearance var.
Configuration menu - View commit details
-
Copy full SHA for 5a15b3e - Browse repository at this point
Copy the full SHA 5a15b3eView commit details -
Fixes sanitizing chemicals (Miner's Salve, Sterilizine, and Space Cle…
…aner) not sanitizing burn wounds (tgstation#78851) ## About The Pull Request This proc didn't pass itself to the reagents to actually do anything. ## Changelog :cl: Melbert fix: Miner's Salve, Sterilizine, and Space Cleaner now all properly affect burn wounds /:cl:
Configuration menu - View commit details
-
Copy full SHA for c3b5aa6 - Browse repository at this point
Copy the full SHA c3b5aa6View commit details -
Fixes runtimes in gas_mixture/proc/equalize (tgstation#75420)
## About The Pull Request ![image](https://github.com/tgstation/tgstation/assets/58055496/f124ccc1-9e8d-4701-b9cf-9635e1a1f1b2) Basically, a gasmix's temp starts out at 0, and untouched the spacemix is not updated until something shares with it. Even if this doesn't for sure fix it, this is v dumb and worth doing regardless ## Why It's Good For The Game ![image](https://github.com/tgstation/tgstation/assets/58055496/be8999ab-3da9-4e1d-93e3-88732faf2a8c) Should close tgstation#75260, it's 4am I'm not gonna test this rn --------- Co-authored-by: ZephyrTFA <matthew@tfaluc.com> Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 7ae6d3a - Browse repository at this point
Copy the full SHA 7ae6d3aView commit details -
Fixes race condition in Life() (tgstation#79934)
## About The Pull Request This fixes the following runtime by adding sanity checking for `reagents`: ![image](https://github.com/tgstation/tgstation/assets/13398309/6e83b958-5144-4822-aed6-7ee4bb3d779b) It can be null, which I presume is from the mob being qdeleted in the middle of a `Life()` tick but I'm not 100% sure of that. The check for `QDELETED(src)` happens after `handle_organs()` and `handle_dead_metabolism()`, which there was no protection against there being a null reagent var for either of those procs. I was debating moving the order of the procs around, but I decided against it because I think it may be this way for a reason (`organ.on_death()` gets called in `handle_organs()`), plus again I'm not 100% sure that the `reagents` is being nulled from qdeletion. ## Why It's Good For The Game Fixes a bug that kept coming up in CI ## Changelog :cl: fix: fixed a runtime in handle_dead_metabolism() /:cl: --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Configuration menu - View commit details
-
Copy full SHA for 2d8e506 - Browse repository at this point
Copy the full SHA 2d8e506View commit details -
Fix sleep status effect not processing (tgstation#77637)
## About The Pull Request Some fixes in tgstation#77219 brought up some weirdness with the sleep status effect. Healium would perma-sleep people, and sleeping in general lost the ability to heal minor wounds. ## Why It's Good For The Game Fix bugs, wow healium is abusable right now
Configuration menu - View commit details
-
Copy full SHA for 700dd24 - Browse repository at this point
Copy the full SHA 700dd24View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e3ec58 - Browse repository at this point
Copy the full SHA 1e3ec58View commit details
Commits on Jun 2, 2024
-
Configuration menu - View commit details
-
Copy full SHA for ca65941 - Browse repository at this point
Copy the full SHA ca65941View commit details -
Fixes holorecords not getting the color filter properly (tgstation#74999
) ## About The Pull Request Filters are weird, I just copied over the image copying we use for standard human/ai work. Additionally, adds support for datum "owners" for holograms, uses this to hook records into the system. This means holorecordings now properly support the ray effect ## Why It's Good For The Game Closes tgstation#74975 ![image](https://user-images.githubusercontent.com/58055496/234726630-85cd00f6-26df-4514-b0bd-c07702b98fb6.png) ## Changelog :cl: fix: Holodisk recording gives the right vfx again. Bonus, the rays work with it now too! /:cl:
Configuration menu - View commit details
-
Copy full SHA for 622a2a5 - Browse repository at this point
Copy the full SHA 622a2a5View commit details
Commits on Jun 3, 2024
-
Configuration menu - View commit details
-
Copy full SHA for e4efb2c - Browse repository at this point
Copy the full SHA e4efb2cView commit details