Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* fixes borgs linking to ais in mechs cards and modsuits (#87737) * Automatic changelog for PR #87737 [ci skip] * Living Flesh limbs won't try to grab underfloor objects (#87736) There were checks in living limbs that were checking the wrong thing, at least one of which was introduced by a feature change in a PR I merged but didn't notice. Notably: - We were checking if the person with the limb was invisible, not the thing they were trying to touch. - We were checking if the person with the limb was anchored, not the thing they were trying to grab. Now your arm will no longer reach out and grab wires that are under the floor. Additionally to this: - I made all of the output say "Your left arm" or "Your left leg" instead of "Your flesh left leg" because it sounded stupid. - I removed an unused argument from `can_be_pulled` because it was confusing me when I looked at the proc. - I reworded some of the user feedback messages because "the thing pretending to be your left arm feels funny" just isn't very evocative. The diff is long because I reversed the order of arm/leg operations because the leg block is much smaller :clueless: Fixes bug. I like it more. :cl: fix: Living Limbs no longer try to grab things that are under the floor. spellcheck: Living Limb feedback messages now don't redundantly specify that they are flesh arms. /:cl: --------- Co-authored-by: Ghom <[email protected]> * Automatic changelog for PR #87736 [ci skip] * Fix oil slime making vegetable oil instead of corn oil (#87730) Fixes bug caused by https://github.com/tgstation/tgstation/commit/b1c5e5e0f6a1edf58b49b238af7d3094da76c69b#diff-aedb81aab354c31e90007bd0ad4e8babf347ac7d6003c3b01da14021ff5a10f4R387 The wiki and code prior both say oil slimes should make corn oil, but they currently make vegetable oil. Since corn oil is needed for nitroglycerin and oil slimes are explosive-centric, it makes sense they should be making corn oil. Fixes: #81036 :cl: fix: Fixes oil slimes making vegetable oil instead of corn oil /:cl: * Automatic changelog for PR #87730 [ci skip] * Moved the big slapping parts from the misc section to weapons (#87637) * fix blade ascension not giving you the ring of blades (#87744) fix blade ascension not giving you the ring of blades Bugfix Closes https://github.com/tgstation/tgstation/issues/87344 Closes https://github.com/tgstation/tgstation/issues/85635 :cl: fix: fix blade ascension not giving you the ring of blades /:cl: * Automatic changelog for PR #87744 [ci skip] * Fixed fishing rod duping with poly belts and shapeshift spells. (#87706) It turns out the "shapeshifted from spell" status ejects everything inside the shapeshifted mob when removed. That's been causing a little issue with the fishing rod from the profound_fisher component, which a few mobs have. This PR fixes just that. ![immagine](https://github.com/user-attachments/assets/b664ffa6-567f-4332-b7dc-a5d2badb43d3) ![immagine](https://github.com/user-attachments/assets/4c453f91-2852-40c0-8f54-c5d66f28fdb1) :cl: fix: Fixed fishing rod duping with poly belts and shapeshift spells. spellcheck: Fixed a small typo when examining fishing rods. /:cl: * Automatic changelog for PR #87706 [ci skip] * Chem master validates selected container in UI (#87780) * Automatic changelog for PR #87780 [ci skip] * fixes missing icons in abductor console (#87759) grabs the icon for the item correctly. also typescripts the interface because blessed type safety would've prevented it being missing in the first place. and clears some random deprecations pretty icons 👍 loading icons 👎 ![image](https://github.com/user-attachments/assets/ec524a52-fff5-4c67-b3fb-88fbfd5988af) :cl: fix: the abductor console now correctly loads images of equipment /:cl: closes #87565 * Add unit test tag to your PR title (#87757) You can now add `unit test` anywhere in your PR title to specify if you are adding/modifying unit tests for your code. It's worth 6 GBP (It Always has and wasn't changed here) For when you want some extra GBP for your unit tests that sometimes go un-noticed by maintainer's when reviewing large changes. It will encourage people to write unit tests so they can get the extra points N/A /:cl: * Add `TRAIT_EVIL` to admin tooling (#87749) Let's admins add/remove `TRAIT_EVIL` from mobs. Useful for debugging. :cl: admin: Admins can now add/remove TRAIT_EVIL from mobs. /:cl: * Use native BYOND `isnan` and `isinf` for math defines (#87748) `// Remove these once we have Byond implementation.` Well guess what we have now? Altho sadly we still lack a native `isfinite`, so we still use a define for that. Native BYOND impls have better performance usually, due to them compiling down to instructions, avoiding proc overhead. No user-facing changes. * [NO GBP] Fixes wings and jetpacks sometimes preventing you from opening doors (#87741) I hate this timeline. What title says, makes jetpacks and wings allow you to bump into things you're moving into. This feels awful and requires you to stop pressing movement keys for a moment before resuming movement to get out of the "stuck" state :cl: fix: Fixed wings and jetpacks sometimes preventing you from opening doors /:cl: * Drinking Glass sprite updates (#87756) This was meant to be just fixing the missing pixel... then it turned to redoing all the glasses in all the basic sprites so they'd match... then redoing sprites that were outdated... And THEN I realized that drinking glasses can be using the same auto-sprite system beakers have and oh man it's spiraling. As for the (hopefully) full list of changes: - Removes all `glass_[color]` icons. Any drink that fell under these will now use the fill_icon and their reagent color. As such, a lot of reagent colors have been tweaked for readability/realism/lemons don't have red juice what the hell man (Some colors shown are outdated. It is very annoying to tweak these. I don't know how to in-game, if I even can. Relaunching several times is painful.) ![image](https://github.com/user-attachments/assets/7edae6b4-13ec-4d1e-827c-fb7da1b2013a) - Resprites the base `glass_empty`; now it is very visibly empty. The overlay being slightly transparent actually works pretty well with this. (Old / New) ![image](https://github.com/user-attachments/assets/e262c510-93d7-44b0-b4cc-cf498362b05b) - Full resprite of Curaçao (now it's actually its beautiful blue instead of gray) ![image](https://github.com/user-attachments/assets/3447c226-8f78-4fa3-bb55-4cb223a7e991) - Minor resprites Beer/Green Beer/Iced Beer/Ale (Yes, Beer/Green Beer have little animated bubbles) ![dreamseeker_Z1U2qBxRlx](https://github.com/user-attachments/assets/43903b24-2053-4571-b17b-f3ad80fa4150) ![image](https://github.com/user-attachments/assets/25327706-3207-4d3f-9ea8-ead29d3a0db0) - Minor resprite of Monkey Energy (It's animated now too but otherwise about the same sprite) ![dreammaker_lSqopANAXX](https://github.com/user-attachments/assets/7f797080-ae16-42c3-a1f1-e769506e31fd) - Minor resprites to Pina Olivida, Banana Juice, Lemon Juice, Carrot Juice - mostly just color tweaks so that they look more believable and the banana juice is less green - Fixes small nits in the sodas so that they are all consistent Sprite maintenance and (hopefully) improvements - we've got a lot of drinks in the Bars and the base foundation of that whole system deserves a bit of love as well :cl: image: redid most basic drinking glass sprites, and moved several drinks to use the same color system as beakers. Please bug report any incorrect colored drinks or juices! /:cl: * Update README.md of unit tests folder for VS code support (#87758) Turns out using dream daemon isn't the only way to run unit tests. You can do it from VS code itself & can see the output of each test in the fancy chat window. ![Screenshot (448)](https://github.com/user-attachments/assets/33aca6b5-3414-4560-9cc4-dd90fe80e2d1) With the added advantage of using your debugger to step through each line of code this should be the preferred way so I've updated the read me file of the unit tests folder to specify that You can also check the runtimes log in your game to see the output of each unit test :cl: N/A /:cl: * Automatic changelog for PR #87759 [ci skip] * Automatic changelog for PR #87749 [ci skip] * Automatic changelog for PR #87741 [ci skip] * Automatic changelog for PR #87756 [ci skip] * the glove sounds are now only on some gloves [no gbp] (#87489) mistakes were made god it's horrible, not only is it happening way too often because it's every glove, but also it doesn't fit any other glove other than insuls really, maybe nitriles but gosh just get rid of it for now, maybe later I will make a better sound for other gloves. :cl: grungussuss sound: only insulated,nitrile, enhanced retrieval, latex, boxing, improvised gripper gloves have an equip sound /:cl: * Automatic changelog for PR #87489 [ci skip] * hunting behaviors no longer share a cooldown (#87670) all hunting subtrees were sharing a singular cooldown. this makes it so each subtree has its own cooldown fixes hunting subtree cooldowns affecting other subtrees. :cl: /:cl: * [NO GBP] Renames mob/camera to mob/eye and makes everything follow suit (#87684) Clarity and consistency regarding DM's systems. Internally, `eye` is used for anything that controls the client's view. ![image](https://github.com/user-attachments/assets/7d1291e1-7a6a-4736-a14b-97834e89846f) How `eye` is used in DM is consistent with how we use the term, so I figured this would add clarity. Being named mob/camera also makes it unclear exactly what it's doing. The name implies that it would function similar to how mob/camera/ai_eye does, but most of the time it's only used as... an eye. My ulterior reason for this PR is that I want to clean up mob/camera/ai_eye and it's subtypes after this. :cl: server: mob/camera has been renamed to mob/eye, which may break downstreams /:cl: --------- Co-authored-by: Ghom <[email protected]> * Automatic changelog for PR #87684 [ci skip] * Clarify locations for getting started in README (#87739) This is a `README.md` update to more efficiently point potential contributors to the appropriate documentation for configuring their dev environment. It is typically best practice to make it easy for developers to quickly contribute a change to a project by making things as clear as possible. * [NO-GBP] Fixes a minor fuckup that made cigarettes contain up to double the intended amount of nicotine (#87733) See name, also fixes them not being injectable Sorry guys, this is my fault. Fixes a bug that was brought upon us when I thought 500 cigarettes was funny :cl: fix: Cigarettes can be injected again and have the right amount of nicotine /:cl: --------- Co-authored-by: Fikou <[email protected]> * Automatic changelog for PR #87733 [ci skip] * Teleporting while buckled to something will take you with it (#87725) closes #35872 (this bug is 6+ years old) `/proc/do_teleport(...)` now has extra checks for atoms with buckled mobs attempting to pass through it, assuring that they also pass through with the vehicle `/atom/movable/proc/is_buckle_possible(...)` will skip density checks if the bucklable and the target share the same tile, because at that point it doesn't really matter (it also interfered with density checks when teleporting) ![fucked-up-dog-geeble](https://github.com/user-attachments/assets/6ef814c2-d8f2-48fc-82a3-98517bf6a492) :cl: fix: Teleporting while buckled to something now works as expected fix: You can buckle to anything if you share the same tile (cause at that point it doesn't matter if there's a wall, right?) /:cl: * Automatic changelog for PR #87725 [ci skip] * you can loosen straps of a sec helmet to show hair (#87533) title gives more customization options for security players :cl: grungussuss qol: security helmet straps can be loosened to show hair /:cl: --------- Co-authored-by: Fikou <[email protected]> * Automatic changelog for PR #87533 [ci skip] * Fix issues when creating Discord Discussions on PRs with dummy long titles (#87768) * Blob/Blob minion say logging (#87767) The `/datum/component/blob_minion` component now properly logs spoken messages before relaying them. ![image](https://github.com/user-attachments/assets/f89b3e61-379c-4851-a571-fc31bf8a1ddc) Radical. Closes #86904. :cl: Rhials fix: Blob Overmind/Minion/Blobbernaut speech is now logged. Beware. /:cl: * Automatic changelog for PR #87767 [ci skip] * SM sliver dusts fishing hooks (#87784) - Fixes #87514 :cl: fix: Super matter sliver dusts fishing hooks & cannot be picked up by them /:cl: * Automatic changelog for PR #87784 [ci skip] * Abstract nullrods cannot burn/melt. Monk staff fixes (#87775) * Automatic changelog for PR #87775 [ci skip] * Losing malf no longer wipes nonmalf abilities (#87762) Just a small thing I noticed whilst looking into some other malf related stuff. Unrelated, the silicon code is so horrible but I can't be bothered rewriting it. So have this small fix Fixes a small nuisance nobody even noticed. Probably :cl: fix: Losing malf no longer wipes nonmalf AI abilities /:cl: * Automatic changelog for PR #87762 [ci skip] * Refactors for grinding & juicing (#87735) - Grinding & juicing are now recursive operations (grind the item & all its contents) not just for reagent grinder but also for mortar pedestal & plumbing grinder so you can get all them juices - Fixes #87719. Plumbing grinder won't destroy slime extracts after grinding - Mortar pedestal now grinds & juices more items since it correctly checks if that object has more reagents to offer - Reagent grinder, plumbing grinder & mortar pedestal now respect `blend_requirements()` so you get consistent behaviour across them :cl: fix: mortar pedestal now grinds & juices items that previously could not be processed fix: plumbing grinder won't destroy slime extracts after grinding refactor: grinding & juicing code has been refactored overall. Please report bugs on github /:cl: * Automatic changelog for PR #87735 [ci skip] * Chem dispenser droplets colored (#87576) ![image](https://github.com/user-attachments/assets/35492711-3ba9-4c5e-b013-ef8d39ac633f) Made the droplets show the reagent color (or PH color if ph display is enabled) Better UX when you know your colors. :cl: qol: chem dispenser droplets in UI colored as their reagent /:cl: * Automatic changelog for PR #87576 [ci skip] * prevents sending messages to newscaster channels without permission (#87783) * Automatic changelog for PR #87783 [ci skip] * Improves code for recycling circuits in component printer (#87787) * Automatic changelog for PR #87787 [ci skip] * Fixes the randomizer fishing portal not working as intended. (#87794) * Automatic changelog for PR #87794 [ci skip] * Tiny spellcheck (#87801) * Automatic changelog for PR #87801 [ci skip] * fixes some rand() loops (#87795) i in rand(x,y) doesnt work i in 1 to rand(x,y) does bugggs ghommie stole my gbp :cl: fix: fixed random dm modifiers & some life-like reagent reactions /:cl: * evidence bag sounds (#87790) completes https://github.com/orgs/tgstation/projects/19/views/1?pane=issue&itemId=84398285 https://github.com/user-attachments/assets/5f4e92eb-3d65-4da7-ba76-24d30f1eddc3 immershun :cl: grungussuss sound: evidence bags have more sounds now /:cl: * Automatic changelog for PR #87795 [ci skip] * Automatic changelog for PR #87790 [ci skip] * Writing sound (#87772) completes https://github.com/orgs/tgstation/projects/19/views/1?pane=issue&itemId=85235611 https://github.com/user-attachments/assets/087c88bd-9ddd-4e57-972d-fe66084d19bc maybe now someone will notice you wrote something :cl: grungussuss sound: writing something now produces sound /:cl: * Automatic changelog for PR #87772 [ci skip] * AI-controlled mobs can now cross open space if they won't fall. (#87821) * Automatic changelog for PR #87821 [ci skip] * Lowers the price of the energy sword. (#87738) E-sword uplink price has been lowered from 8 to 6 TC. It's no secret that the E-sword has fallen out of flavor over the last year or so. Its purchase rate is so low it doesn't even show on the MRP chart. https://superset.moth.fans/superset/dashboard/4/?native_filters_key=gJDhU4Ug60OlqSjRelTSMUWlVWVPGZRQr16s6OFMNXTqcUaVO8-O0yCX1cjJJK9y Part of the reason I feel is that on its own the weapon doesn't really offer much. It's a decent melee weapon but not as good as the powerfist, which is less expensive, hits twice as hard, stuns, and is unblockable. It offers decent protection, but again a shield is so easy to steal these days you might just save your tc for something better And when you really think about it, his bigger sister, the desword, is only 5 TC more expensive and offers way more damage and block chance. (Also you can get one for free if you space explore for a few minutes, but that's besides the point). Now I'm not saying the energy sword is a bad weapon, it being 1handed opens you up for a few nasty combos. But for what it represents, i.e a shield with some decent damage strapped on top , it could probably receive a small discount. I don't really have any strong attachments to the weapon or anything, so If you can provide a good reason why this is a bad idea by all means. :cl: balance: The Uplink cost of the energy sword has been lowered from 8 to 6 TC. /:cl: * Automatic changelog for PR #87738 [ci skip] * More accessibility options and pref menu (#87549) - added accessibility tab in prefs menu - put darkened flashes option into this menu - added `darken screen shake` pref, for motion sick people, darkens your screen when experiencing screen shake. <details> OUTDATED ![image_2024-10-29_023038297](https://github.com/user-attachments/assets/db9cfe23-74f7-413a-8d84-496384b3d3bf) </details> https://github.com/user-attachments/assets/e3fd43ad-a65c-47dc-add2-6c93048e8b61 makes it easier for people with disabilities to play the game. :cl: grungussuss qol: you can now mitigate motion sickness from screen shake by enabling "darken screen shake" in preferences /:cl: --------- Co-authored-by: MrMelbert <[email protected]> * Automatic changelog for PR #87549 [ci skip] * Makes dust animation look less 2006 (#87435) This was inspired by an effect I saw on Paradise but I sprited my own https://github.com/user-attachments/assets/2130053c-a6ea-48e6-8b62-4c08563fd154 (Todo, make the skeleton appearing less jank) 1. Looks less 2006. 2. The dust sprite will reflect the mob being dusted, since it's literally just Your Sprite. Your clothes, species, etc. 3. All species and all mob types now animate being dusted - from corgi to xenos, from borgs to lizards -, and we can even reuse this effect for items being dusted if we so desire :cl: Melbert image: The animation for being dusted now takes into account your sprite, rather than being a normal nude spaceman /:cl: * Automatic changelog for PR #87435 [ci skip] * Datumizes heretic paths (#87432) Replaces the previous system of manually linking each and every heretic knowledge with eachother with an elegant solution to the problem, additionally places further restrictions on heretic tree, ensuring that noone can singlehandledly make it really hard to understand. There were 2 holes in the heretic knowledge tree, which I removed with temporary dummy linkings (till someone adds something there, or I may yet add something there in this PR, so if someone wants to add something there better do it quickly). The dummy linkings are necessary as the new system is rigid in this regard in that it does not allow for these connections to *not* exist, the heretic tree is a directional graph and while it handles one or mroe connections, it cannot handle having no connections by design. * Automatic changelog for PR #87432 [ci skip] * [NO GBP] Fixed special DNA infusions from squids and pufferfish (#87818) that. And also a runtime error. Fixing what I've broken. :cl: fix: Fixed special DNA infusions from squids and pufferfish. /:cl: * Automatic changelog for PR #87818 [ci skip] * Omen component no longer tries to crush you from inside of a vent (#87847) * Automatic changelog for PR #87847 [ci skip] * Makes goliath cloak not override digitigrade legs (#87840) * Automatic changelog for PR #87840 [ci skip] * Tramstation Barber Disposals Fix (#87835) * Automatic changelog for PR #87835 [ci skip] * Xenobio console puts sucked up slimes into stasis (#87832) Closes #87715 Also fixes potential issues that slimes could cause by atmos processing while inside :cl: fix: Xenobio console puts sucked up slimes into stasis so they no longer split up inside /:cl: * Automatic changelog for PR #87832 [ci skip] * Gives Runtimestation a bounty pad and event spawnpoints (#87839) * Automatic changelog for PR #87839 [ci skip] * Fix auto-reel fishing line item catching logic (#87855) So while working on a frog tongue concept, I realized the auto-reel fishing line was... always hitting you with the items you reeled in. Looking into the code, that seemed weird, because it seemed like it had an entire segment of code dedicated to avoiding just that: catching those items with your offhand. But apparently this code never actually ran, because it registers `COMSIG_ATOM_PREHITBY` on the reeled in item, which only gets sent to the atom that gets hit. So in this pr we just shift it to using `COMSIG_MOVABLE_PRE_IMPACT` instead, which is the equivalent signal sent to the thrown movable. This fixes our issues. Fixes the auto-reel fishing line always smacking you in the face with whatever you reel in, rather than going through its "catch this" checks. :cl: fix: Fixed auto-reel fishing line item catching logic. /:cl: * Automatic changelog for PR #87855 [ci skip] * [NO GBP] Fixes hat stabilizer ignoring clothing worn_y_offset (#87851) Closes #87487 ![image](https://github.com/user-attachments/assets/d7b501e2-b026-4254-bbd5-919a3e18259b) :cl: fix: Fixed hat stabilizer ignoring clothing worn_y_offset /:cl: * Automatic changelog for PR #87851 [ci skip] * Fixes four unlinked APCs in DeltaStation maint rooms (#87850) Fixes unlinked APCs in the `Electronic Marketing Den`, `Abandoned Garden`, `Security Maintenance`, and `Private Investigator's Office` Specifically: <details><summary>Moves the wires for the Den to the current APC...</summary> ![image](https://github.com/user-attachments/assets/ee754ebe-2f3c-41ea-856b-ec21af079f22) </details> <details><summary>Moves the APC for the Garden to the current Wires (yes, it's the inverse, but it's much nicer beside the air alarm AND removes it from being hidden by the poster...)</summary> ![image](https://github.com/user-attachments/assets/bc07084b-4599-4b81-bc2a-ec6d8b250627) </details> <details><summary>Adds the 1 missing wire to the APC in Sec Maints (under the table)</summary> ![image](https://github.com/user-attachments/assets/f2a0024c-061d-4db2-9bff-a7d025814ff7) </details> <details><summary>Moves the wires to the APC in the PI Office</summary> ![image](https://github.com/user-attachments/assets/3e9513a2-0fc7-45fa-84b2-31c994ff2e0e) </details> These are, theoretically, meant to be wired to the station. They all have single lines of wires in the rooms going to walls. Just not to the walls with the APCs. :cl: fix: (DeltaStation) Fixed unwired APCs in the Electronic Marketing Den, Abandoned Garden, Security Maintenance, and Private Investigator's Office /:cl: * Automatic changelog for PR #87850 [ci skip] * Fix holymelon armor not inheriting magic resistance (#87849) - Fixes #87621 Holymelon armor had a missing antimagic flag that did not stop magic attacks. The holymelon plant gene has `MAGIC_RESISTANCE|MAGIC_RESISTANCE_HOLY` but the armor only had `MAGIC_RESISTANCE_HOLY` so this is just making it consistent. Consistency. :cl: fix: Fix holymelon armor not inheriting magic resistance /:cl: * Automatic changelog for PR #87849 [ci skip] * Add screentips to hat stabilizer component (#87845) Initially this was added in: - #87285 And then removed in: - #87305 Not sure if @SmArtKar was aware that screentips can be added to components. Consistency. :cl: fix: Fix missing screentips plasmaman helmets and MOD suit hat stabilizer helmets. /:cl: --------- Co-authored-by: MrMelbert <[email protected]> * Fix airlock shell for circuit camera component (#87837) This PR resolves an issue relating to circuit cameras and airlock shells. Fixes #84650 This is a bug fix, and makes airlock shells actually usable. :cl: fix: Airlock shells are properly assigned circuit cameras modules /:cl: * Automatic changelog for PR #87845 [ci skip] * fixes tgui DraggableControl not focusing on first click (#87834) closes #86536 we were attempting to focus a hidden element, which appears to just fail silently. if we wait until it should be rendered in the dom, it'll be focused correctly i'm not 100% just throwing a `setTimeout(() => {}, 0)` is appropriate - this is a scary class component that i can't throw a useEffect at. it works, though i'll pr it over to tgui-core ifff this is all good clicky buttons clicky click working click :cl: fix: certain tgui inputs no longer require 2 clicks to open /:cl: * Automatic changelog for PR #87837 [ci skip] * Labeller now tells you how many labels are left. (#87836) New `examine` proc for hand labellers so you can tell how many labels are left on examine. It's vital to know how many more times I can ~~spam labels~~ organize my paperwork. :cl: Goat qol: You can now examine labelers to tell how many more labels it has. /:cl: * Automatic changelog for PR #87834 [ci skip] * Automatic changelog for PR #87836 [ci skip] * Examine fixes and documentation touchup (#87838) Fixes and stuff I noticed from when I was porting examine stuff from here to TGMC. - Uses regex so that if you include `and ` in the tooltip of an examine tag but not main text, `examine()` will not think you said `and ` in the main text - The morbid tooltip doesn't try to use HTML for the tooltip now - Updates documentation for `examine_tags` Here's my cat. ![image](https://github.com/user-attachments/assets/080235e2-2c73-4875-a22e-acb808496541) :cl: fix: examine tags now use regex for checking if a tag has "and" in it spellcheck: the tooltip for the morbid examine tag doesn't try to use html anymore /:cl: * Automatic changelog for PR #87838 [ci skip] * Makes curator inventory update when buttons are pressed. (#87841) Adds two calls for `update_static_data_for_all_viewers()` so the UI will update when a player switches pages or removes an item in the inventory screen. Responsive UI good. When I click button UI should respond accordingly. fix #82733 :cl: Goat qol: Curator console's inventory screen will now update when you change pages or remove items. /:cl: * Automatic changelog for PR #87841 [ci skip] * Deletes misleading infinite define, adds defines for clearer status effect durations (#87842) 1. Deletes `INFINTIE`, it is misleading and not at all a big number and causes bugs 2. Adds `STATUS_EFFECT_PERMANENT` and `STATUS_EFFECT_NO_TICK` to make it clearer what infinite status effects are * Make roundstart book publishing on bird possible. (#87843) Adds a book binder to the birdshot library in the spot the book scanner used to be and moves the scanner right next to the library computer on the desk. Curator shouldn't have to wait for research to be able to put books into the archive. :cl: Goat map: The library's scanner on Birdshot is now close enough to connect to the computer and was also given a book binder. /:cl: * Automatic changelog for PR #87843 [ci skip] * Fixes basic mob performance impact created by the factorio PR (#87852) the peak change. This was done to exclusively snowflake chasms but in reality *did not do anything whatsoever* because chasms override CanAllowThrough to always return TRUE anyways. Yesh. is_blocked_turf is relatively hot in basic mob AI so this was really bad. :cl: fix: Fixed basic mob performance impact created by the factorio PR /:cl: * Fix broken link to issue manager guide (#87846) There was a malformed markdown link in the contributor guide. Nothing player facing. :cl: fix: Fix broken link to issue manager guide in Github contributor guide /:cl: * Automatic changelog for PR #87852 [ci skip] * Automatic changelog for PR #87846 [ci skip] * Fixing a small, crucial, fish reproduction issue. (#87825) This PR should fix fishes not being able to reproduce with others of the same type, simply because the list of **types** to check was instantiated with the first key being src instead of src.type. I should really make a second fish reproduction unit test that doesn't involve crossbreeding, self-reproducing and sterile fishes, all of which are edges cases that are actually working unlike the main thing. Yeah, sorry if this took so long to get to this. I hadn't really notice it until now. I have indeed played with the aquarium a few times but with other goals in mind, and when I had seen that fish could indeed reproduce with different yet compatible fish (e.g. clownfish and lubefish, goldfish and three-eyed goldfish) I thought the feature was working as intended. I was simply wrong. * Automatic changelog for PR #87825 [ci skip] * [NO GBP] Fixes some item interactions (#87856) - Fixes #87854 :cl: fix: flatpacker accepts circuitboards with left click fix: rcd can deconstruct tables fix: you can open panels of destructive analyzers with screwdriver right click. Use right click or combat mode with items for default interactions fix: flatpacker & machines with local storage can be RPED'd again /:cl: * Automatic changelog for PR #87856 [ci skip] * [NO GBP] Fixed fish still being hungry when fed if in aquarium with the 'growth and reproduction' option disabled (#87827) See title. That's a bug. * Automatic changelog for PR #87827 [ci skip] * [NO GBP] Fixed bombing non-turfs fishing spots not spawning loot correctly. (#87819) Found another small issue with fishing, this one pertaining explosive fishing spawning the loot inside objects. Also bottled messages should no longer spawn from explosions. They're one-time events and shouldn't be spent by explosive fishing, which can quickly empty the pool of stored messages and photos. Fixing issues with the feature. * Automatic changelog for PR #87819 [ci skip] * Fixes borg to ai connection (#87773) fixes #87651 which was caused by #87597 it is :cl: fix: fixed roundstart borgs not being synced to ai /:cl: * Automatic changelog for PR #87773 [ci skip] * fix clicking other ghosts' screen alerts (#87830) closes #87572 usr does not necessarily mean owner for screen alerts, thanks Observe shouldn't be teleporting other ghosts around * Automatic changelog for PR #87830 [ci skip] * Holosign creators interact with storage correctly (#87824) - Fixes #87539 Racks, bags & basically anything that stores stuff will interact with all holosign creator's correctly :cl: fix: holosign creators interact with storage items correctly /:cl: * Automatic changelog for PR #87824 [ci skip] * small slime ai tweaks (#87871) * party popper doesn't make sloshing sounds (#87872) closes https://github.com/tgstation/tgstation/issues/87330 :cl: grungussuss sound: party popper no longer makes reagent sloshing sounds /:cl: * Automatic changelog for PR #87872 [ci skip] * Fix infinite metal holodeck exploit (#87806) This stops people from using chairs to create free metal. It was possible to pick up a chair or place it down and it would lose it's hologram status since a new object is created. Now anyone that attempts to place down or pick up a chair will have it vanish. No more free metal. :cl: fix: Fix using chairs in holodeck to create infinite metal /:cl: * Automatic changelog for PR #87806 [ci skip] * Rewrites the code in beserk.dm (#87820) Does as the title says, cleans up the code a bit and modernizes it, as well as making it call its parent. It's more readable this way, plus it properly calls its parent proc now. * Automatic changelog for PR #87820 [ci skip] * Fixes stingbangs using wrong sprites (#87812) Stingbangs (and much rarer rotfrags) used their disassembled sprite until primed this entire time. Yeah. Handle appearing out of nowhere looks very jarring * Fixes detective action palette being invisible (#87814) Closes #87809 * Automatic changelog for PR #87812 [ci skip] * Automatic changelog for PR #87814 [ci skip] * Reduces required crayons for crayon bounty (#87848) This reduces the bounty size of the crayon civilian pack. Instead of 24 crayons, it only needs 8. Same payout, less quantity. Crayons are not easily produced or scavenged. Even if a map contains 2 full crayon packs in the Library, it still isn't enough to fulfill a single bounty for crayons. This new deal will get you a full payout with a full pack plus one _mystery crayon._ Go rob the clown or detective or something if you need the last one. Get that money! * Automatic changelog for PR #87848 [ci skip] * Include the map vote config file (#87867) Includes the map_vote.txt config file created in https://github.com/tgstation/tgstation/pull/86788 so that it gets read when the server starts. Reads whatever value is set in the config file. * Automatic changelog for PR #87867 [ci skip] * meatlovers flatbread no longer tastes raw (#87853) fixes #87844 * Automatic changelog for PR #87853 [ci skip] * fixes meteor heart AI runtimes (#87813) fixes a few runtimes with the meteor heart's sleep behavior, mostly because it was trying to add an element to a blackboard key list, eventhough said key wasnt a list. fixes meteor heart AI runtimes * [no gbp] fixes manulathe and manucrafter interaction (#87880) fixes #87874 also fixes an unintentional sprite change :cl: fix: the manucrafter now properly receives resources, also fixed unintentional manulathe sprite change /:cl: * Disable hauntium teleporting during unit tests (#87878) Disable the idle teleporting behavior in `/datum/idle_behavior/idle_ghost_item` during unit testing. I've seen two instances now of the mapping nearstation tests failing because something made of hauntium spawned near the edge of the station and then teleported outside into space. This will fix that flaky behavior. No player-facing changes. * Chem Dispenser icon shadow [NO GBP] (#87868) ![image](https://github.com/user-attachments/assets/5220c8ce-5f75-4a4a-944b-66ac5f458c53) Didn't manage to processs the last suggestion under https://github.com/tgstation/tgstation/pull/87576 by @Iamgoofball Even though it was so obvious and brilliant idea. Now no need to have a separate highlight color for buttons on PH color mode. Nice UI :cl: qol: Chem dispenser UI droplets now have a shadow to not blend with the background /:cl: * increases volume of shoes pickup sound (#87875) closes https://github.com/tgstation/tgstation/issues/87538 :cl: grungussuss sound: shoes pickup volume is louder now /:cl: * Automatic changelog for PR #87868 [ci skip] * Automatic changelog for PR #87875 [ci skip] * Improves code for remote materials (#87870) - Moves remote materials attack chain to item interaction level. Another step in moving away from `attackby()` - Fixes #40070. Though the timer subsystem maybe affected by FPS, round start trigger is always done after everything is set up which is now used by remote materials :cl: fix: silo connection on some machines won't time out when changing FPS settings code: improved attack chain code for silo connection /:cl: * Automatic changelog for PR #87870 [ci skip] * spellecheck: existence not existance (#87862) existance doesnt exist so i changed it to existence existance dosent exist :cl: spellcheck: spellecheck: existence not existance /:cl: * Automatic changelog for PR #87862 [ci skip] * Fixes scanner gates saying both bypass and detection lines when malfunctioning (#87816) Closes #87542 :cl: fix: Fixed scanner gates saying both bypass and detection lines when malfunctioning /:cl: * Automatic changelog for PR #87816 [ci skip] * [no gbp] fixes seedling ai getting stuck (#87885) fixes seedling AI's getting stuck when trying to refill water from water tanks that have been emptied! fixes seedling ai getting stuck :cl: fix: fixes seedling ai getting stuck when trying to refill water from emptied water tanks /:cl: * Automatic changelog for PR #87885 [ci skip] * fixes parriable projectiles runtimes (#87899) * Admin deleting a mob now ghostizes it beforehand, preventing a runtime (#87887) * Automatic changelog for PR #87887 [ci skip] * Refactors some more UIs to use DmIcon (#87886) Upstream port of https://github.com/Monkestation/Monkestation2.0/pull/4215 This changes some tgui UIs that used icon2base64/getFlatIcon to display items to instead use DmIcon, just passing the icon/icon_state instead. To be specific: the ORM, the "ore container", and the order console (produce, mining, and bitrunning vendors) <details> <summary><h3>UI screenshots / proof of testing</h3></summary> ![2024-11-12 (1731458275) ~ dreamseeker](https://github.com/user-attachments/assets/b1c60677-b117-4c23-8076-8b5072130d55) ![2024-11-12 (1731458281) ~ dreamseeker](https://github.com/user-attachments/assets/b64d3c2f-4754-4e5d-991a-2df69d86eb2a) ![2024-11-12 (1731458286) ~ dreamseeker](https://github.com/user-attachments/assets/287d8db1-8acb-4c4c-a2f0-66227a477d19) ![2024-11-12 (1731458388) ~ dreamseeker](https://github.com/user-attachments/assets/f69f5d51-5cdc-442c-971d-a4abedd4a3d2) ![2024-11-12 (1731458391) ~ dreamseeker](https://github.com/user-attachments/assets/53a95e88-ac41-4f97-a409-10b19d130376) </details> gfi bad, especially in ui(_static)_data, dmicon good. :cl: refactor: The ORM, "ore container", and order console UIs (produce, mining, bitrunner vendors) now load icons in a more efficient manner. /:cl: * Tenacious element no longer prints a wear off message when added outside of soft crit and properly removes its effects when detached (#87901) Wear off message is only printed if the user actually had the effect active before, and speed modifier is removed alongside the element. :cl: fix: Fixed tenacity effect printing its messages when it shouldn't be, and not removing its' effects when it should've. /:cl: * Fixes Mech Spin Sounds (#87900) Mechs were playing spin sound effects (_on top_ of normal step sounds) every time they'd take a step while strafing. Additionally, they would not play the spin sound effect when actually turning. This fixes both. Bugfix. Also, cleaner sounding mechs. :cl: Fix: Fixed the triggering of mech turn sound effects /:cl: * sandstone blocks have the correct sound now (#87896) closes https://github.com/tgstation/tgstation/issues/87611 it makes sense :cl: grungussuss sound: sandstone blocks have the correct sound now /:cl: * Lower singularity beacon cost and time (#87891) This lowers the cost of the singularity beacon to 4 crystals. Right now this item never gets used due to the high cost and niche requirements. According to the statistics it is not even on the list: https://superset.moth.fans/superset/dashboard/4/?native_filters_key=Gd84-_rrITStPTkyo7BlqnE5aYcHmofhLU2GjWEiWdqY-ZaK2WVxrq1eG6qS0bNa Before we had the SM, the singularity engine was often sabotaged with this beacon since all you needed to do was disable an emitter or cut a wire and the singularity would break loose. It was a relatively easy process. The criteria to achieve a singularity now is very difficult. You either have to overload the SM and fight off anyone who tries to fix it OR purchase one from cargo and make a pipe setup to feed it a ton of gas. All the crew has to do to prevent it, is leak the gas by opening an airlock, breach the floor, or a window. If there is an AI or cyborgs, your job is now ten times harder. Then you have another problem. The beacon requires powered wires and if the SMESs gets destroyed by the singularity it's useless. This is guaranteed to happen if using the SM from engineering since it's so close to the SMESs. So now you have to either rely on solars or a generator to power the device. The hassle of spending 10 crystals on this item is not worth it. Too many things can go wrong and it would be a waste of points. This item never gets picked due to it's high cost and difficulty. By lowering the cost, it would make it a more reasonable choice. :cl: balance: Lower the telecrystal price of the singularity beacon from 10 to 4 and reduce the timer to 20 minutes before it can be purchased. /:cl: * Speeds up part of the dust animation by a frame or so, makes remains/dust spawn aligned lower on the tile (#87858) - Speeds up the torso part of the dust animation by a few frames, as was requested but I didn't do before merge - Makes remains/dust spawn from being dusted towards the bottom of the tile Videos (take before the remains/dust change) https://github.com/user-attachments/assets/7e9fe699-a44b-49d5-a4d0-2304e09283d5 https://github.com/user-attachments/assets/7b426340-5d3d-49fa-91f1-52b2fc3a560c Should help sell the effect a bit more :cl: Melbert image: Speeds up some frames of the dust animation slightly image: Dust/remains spawned after being dusted are now aligned towards the bottom of the tile image: Bigger mobs now produce bigger piles of ash image: Plasmamen now dust into plasma bones /:cl: * Fixes cigarettes not fitting in gas masks (#87817) You couldn't put cigarettes in gas masks due to a check for if the masks mouth is covered You can now filter the air through your cigarettes as was intended. :cl: fix: removes the gas mask check for if the gas mask mouth is covered. Now it only checks for filters and other cigs /:cl: * Automatic changelog for PR #87886 [ci skip] * Automatic changelog for PR #87901 [ci skip] * Automatic changelog for PR #87896 [ci skip] * Automatic changelog for PR #87891 [ci skip] * Automatic changelog for PR #87858 [ci skip] * Automatic changelog for PR #87817 [ci skip] * Fixes SSWardrobe stealing a camera from the camera app when on a dummy, causing a harddel (#87903) See name, if a dummy somehow gets hold of a PDA with the camera app installed (This just so happens to be a default PDA program in the case on Nova, Skyrat, and Bubber), and the delete_equipment proc is called, the camera inside the PDA gets sent to the wardrobe because of `/datum/outfit/job/assistant/gimmick/hall_monitor` having one, and then qdelled with the PDA, leaving a hanging ref This causes a harddel during tests that has caused me great pains to locate. Turns out a single example holodisk with the clown holds a magical key to trigger all this: a single PDA Fixes a harddel. There might be other similar ones hiding in the dark like cameras in other objects. :cl: fix: Fixes SSWardrobe stealing a camera from the camera app when on a dummy, causing a harddel /:cl: * Automatic changelog for PR #87903 [ci skip] * Rebuild plane masters after client login if switching between 515 and 516 (#87889) This makes `/datum/player_details` properly track BYOND version and build separately, as opposed to just the full version string. Whenever a client logs in, and their BYOND version is 516, while their previous version was 515, or vice versa, it'll set a newly added client var, `rebuild_plane_masters`, to TRUE. During the `COMSIG_MOB_LOGIN` signal handler of a mob's HUD (`/datum/hud/proc/client_refresh`), it will check to see if `rebuild_plane_masters` is TRUE - if so, it will set the appropriate `relay_loc` of (based on client BYOND version) of its plane master groups, and rebuild their plane masters. Makes testing stuff across 515 and 516 easier, as your screen won't break when switching between the two. 516 is _still_ in private alpha, so no user-facing changes. * a few tiny birdshot tweaks and fixes (#87785) 1st SM filter is now set to N2 by default A random hallway apc that started unwired is now wired Chef gets a dehydrator Surgery theatre now has a surgery tray instead and surplus prosthetic limbs to fill in the empty space Greater central maintenance owns all of its walls The chemical closet in pharmacy now has multiver, formaldehyde, epinephrine, basic buffer and the other kind of buffer to compensate for not having a chemstorage room atmos distro air mixer now mixes correctly closes #87729 also maintenance is supposed to own all of its walls :cl: fix: Added dehydrator to birdshot kitchen. Surgery theatre now has a surgery tray and surplus prosthetics. An unwired hallway APC is now wired. 1st SM filter is now set to Nitrogen. Chemistry closet in pharmacy now contains extra chemicals to compensate for not having a chemical storage. Atmos air for distro mixer now mixes correctly /:cl: * floor lights have the same light range during nightshift (#87786) floor lights have the same light range during nightshifts theyre horrendously bad at lighting up stuff in nightshift and birdshots bar looks horrendous as a result :cl: fix: floor lights have the same light range during nightshift, so you can actually see the bar during a night shift on birdshot /:cl: * Fixes storage & evidence bag pre attack (#87793) - Fixes #87788 Usually when you force move an item anywhere `obj/item/doMove()` is responsible for removing the item from the players hand & updating the visuals. When you move that item from say your pocket to your hand we call `attempt_pickup()` which also updates visuals. The one case where these 2 procs don't help is when that item is equipped from anywhere else but the hand(pockets for e.g) into a storage medium that is held in hand. For this edge case we have to drop the item to ground to update the visuals of whatever inventory slot it was attached to Now evidence bag uses the storage pre attack mode rather than implementing its own item interaction thus fixing the visual glitch not just for it but for all items that have `allow_quick_gather = TRUE` :cl: fix: Fixed visual glitches when inserting items from an slot other than the hands into evidence bags & other storages that have quick gather mode enabled /:cl: * Fixes nooartrium having no downsides (#87798) Having a non-organic heart ignored the heart damage, so you could just be immortal forever :cl: fix: Nooartrium heart damage can no longer be bypassed with non-organic hearts /:cl: Balance maybe? I don't feel this was ever intended and an oversight in not setting the correct flag --------- Co-authored-by: MrMelbert <[email protected]> * cuffsnapping is on right click (#87634) title OOC: Blard of Jard: I was trying to cut a cargo tech's leg off for a spy bounty, but instead of just cutting his leg with it targetted on harm intent, it immediately cut his ties and he mag dumped me with his laz gun. :cl: fix: you now snip cuffs with right click to prevent accidental cuts /:cl: --------- Co-authored-by: Ghom <[email protected]> * Guncode Agony 4.1: Portal Intermission (#87803) Closes #75447 by allowing projectiles to pass through portals. This does not allow for infinite loops for sanity (including host's) reasons. Can safely be merged before #87740 :cl: fix: Many years later, projectiles finally can pass through portals - this time without crashing the server. /:cl: * Automatic changelog for PR #87785 [ci skip] * Automatic changelog for PR #87798 [ci skip] * Automatic changelog for PR #87793 [ci skip] * Automatic changelog for PR #87634 [ci skip] * Automatic changelog for PR #87803 [ci skip] * Buffs the Anomalock modules (#87743) Significantly buffed the anomalock modules. Anomalock modules can be used with eachother. Antigravity module costs 2 complexity. Teleporter module is thrice as fast at teleporting with a slightly reduced cooldown, but has a much larger power cost. Changed how teleporter tracks maximum range to be less painful to the end user. Kinesis module's default range has been extended to 8. Kinesis module can drag around people in critical condition or worse. These modules have historically been, well, kind of a complete joke. They seem to have been crippled out of fear of them being overpowering with the end result of being unusable. Anomaly items are allowed and meant to be fun, strong, and wild, so I really don't see why these need to be so weak. The amount of times I'd rather make a teleporter that takes 3 seconds to get you anywhere instead of an instant portal gun or a bag of holding is roughly zero. People hate modsuits, and in part that hate is because of modules which do very, very little due to severe undertuning. Let's fix that with the anomaly ones here. > Anomalock modules can be used with eachother. Let people get a buncha anomaly modulse together if they want to. An antigravity user with teleporting and kinesis could be something to fear, but not so much as to strike it from existence altogether without even letting people mess around with it first. > Antigravity module costs 2 complexity. Antigravity module is glorified wittel -> gravitum, but it takes a core and 3 complexity. At least let it be somewhat cheap. > Teleporter module is thrice as fast at teleporting with a slightly reduced cooldown, but has a much larger power cost. Teleporter module is a big damn joke ATM, as stated above being effectively overshadowed in every way by the portal gun. This now gives it a fun niche instead, of being able to teleport around everywhere at the cost of a massive power draw. > Changed how teleporter tracks maximum range to be less painful to the end user. view() was working weirdly when I was using it. It was failing to register tiles somewhat near the end of the screen, so I just ditched it for a get_dist check that I threw 9 in as a somewhat arbitrary value for. > Kinesis module's default range has been extended to 8. There's this bug on live where when you kinesis someone it flies all the way to the SW corner of the screen for seemingly no reason. I don't know why it happens but it drives me mad. Even without that bug, 5 tiles is extremely frustrating to handle - it's super, super annoying to find a middleground between 'not slapping you in the face', 'not losing your grip'. 8 tiles is a lot more forgiving and makes the module actually fun to use. > Kinesis module can drag around people in critical condition or worse. This one might be a bit nuts, but I really want to see this ingame, it's kind of the best part of the module yet is unobtainable. Maybe some stuff would need to be tuned for it, like making human throws flimsy. :cl: balance: Significantly buffed the anomalock modules. balance: Anomalock modules can be used with eachother. balance: Antigravity module costs 2 complexity. balance: Teleporter module is thrice as fast at teleporting with a slightly reduced cooldown, but has a much larger power cost. code: Changed how teleporter tracks maximum range to be less painful to the end user. refactor: Refactored LoS checks to be a proc on atom, los_check balance: Kinesis module's default range has been extended to 8. balance: Kinesis module can drag around people in critical condition or worse. /:cl: * Automatic changelog for PR #87743 [ci skip] * gives mulebot wires some messages when cut (#87895) closes https://github.com/tgstation/tgstation/issues/87640 feedback is cool :cl: grungussuss qol: added feedback for cutting mulebot wires /:cl: * Automatic changelog for PR #87895 [ci skip] * Hello I would like to order one unit test please * Hi can I get a replacement unit test this one broke * we don't need these anymore --------- Co-authored-by: Fikou <[email protected]> Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com> Co-authored-by: Jacquerel <[email protected]> Co-authored-by: Ghom <[email protected]> Co-authored-by: thegrb93 <[email protected]> Co-authored-by: Xander3359 <[email protected]> Co-authored-by: SyncIt21 <[email protected]> Co-authored-by: harryob <[email protected]> Co-authored-by: Tim <[email protected]> Co-authored-by: Lucy <[email protected]> Co-authored-by: SmArtKar <[email protected]> Co-authored-by: OrionTheFox <[email protected]> Co-authored-by: grungussuss <[email protected]> Co-authored-by: Ben10Omintrix <[email protected]> Co-authored-by: tonty <[email protected]> Co-authored-by: elricsfate <[email protected]> Co-authored-by: Waterpig <[email protected]> Co-authored-by: Jordan Dominion <[email protected]> Co-authored-by: Rhials <[email protected]> Co-authored-by: necromanceranne <[email protected]> Co-authored-by: Andrew <[email protected]> Co-authored-by: Dawnseer <[email protected]> Co-authored-by: carlarctg <[email protected]> Co-authored-by: EnterTheJake <[email protected]> Co-authored-by: MrMelbert <[email protected]> Co-authored-by: Djiq <[email protected]> Co-authored-by: Alice Garfieldfan <[email protected]> Co-authored-by: sqn <[email protected]> Co-authored-by: _0Steven <[email protected]> Co-authored-by: tmyqlfpir <[email protected]> Co-authored-by: Goat <[email protected]> Co-authored-by: Neocloudy <[email protected]> Co-authored-by: Holoo <[email protected]> Co-authored-by: Alexis <[email protected]> Co-authored-by: LT3 <[email protected]> Co-authored-by: jimmyl <[email protected]> Co-authored-by: Roxy <[email protected]> Co-authored-by: zxaber <[email protected]> Co-authored-by: Time-Green <[email protected]>
- Loading branch information