-
Notifications
You must be signed in to change notification settings - Fork 67
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
01-12 Merge #5267
base: master
Are you sure you want to change the base?
01-12 Merge #5267
Conversation
…6049) (#4635) * Adds a score for all species of fish that you've caught. (#86049) I'm adding a score that tracks which types of fish you've caught across multiple rounds. To do so, I had to add a new score subtype that manages the score value not being a number. Thankfully the achievement code is fairly flexible so not a whole lot had to be done, although I've to add a new column to the achievements table in the DB, because the 'value' is for integers, while we need one for text strings ~~(the contents of the list are converted to text with a delimiter before being saved cuz I'm not sure if and how our DM slash SQL integration handles using lists directly and I don't want to waste time finding it out)~~. EDIT: It's mostly done beside the reviews that are going to point out things that need to be changed. The UI changes are done. It's time for reviews. Here are screenshots of the UI with all fish still uncatched beside one (I've since then the typo on its name and removed an extra zero from the index number, as well as a nit with the spacing between cells): ![immagine](https://github.com/user-attachments/assets/a1dcfeb6-6d26-461e-aaa1-97c619f5cbfa) ![immagine](https://github.com/user-attachments/assets/768f6621-c992-4932-9bca-979dd1e43d6f) We have about dozens over dozens of different fish in the game now, many of which are just fluff anyway. It's getting to the point it's perhaps doable to add a score or something to be a braggard about. :cl: add: Added a new score that keeps track of all different fish that you've caught between shifts. server: Added a new schema table to store the aforementioned entries and the ckeys associated to them, with an additional timestamp column. /:cl: * Automatic changelog for PR #86049 [ci skip] * Realignes changelog header (#87695) looks wrong * Fishing bluespace capsules (#87639) With this PR, I'm introducing fishing bluespace capsules to the game. They can be found on the black market, but I'll get a couple more ways to get them before it's ready. Anyway, they're special bluespace capsules that spawn a fishing spot of your choice. The fishing spot can be changed by alt-clicking the capsule, and so far it has 5 choices, plus 2 locked behind emagging for obvious reasons: - Freshwater: pretty basic, you get freshwater fish from this. - Saltwater: mainly saltwater fish. - Tiziran: You get tiziran fish here, like the gunner jellyfish, armorfish, needlefish, dwarves moonfish and the new, bigger zagoskian moonfish. By the by, moonfish now periodically lay moonfish eggs, a staple of lizardfolk cuisine. - Ice fishing spot: A small ice turf with a hole dug in it; salmon, arctic char, arctic chrabs and the bonemass (skeleton fish). - Hot Spring: Somehow the new home to the ought-to-be-extinct sacabambaspis. It also doubles as a better shower overall, with mild healing on top of stamina recovery. Felinids still hate it though, and won't benefit from the healing. - Lava: A 2x2 square of pure lava. Requires an emag for obvious reasons. - Plasma: Ditto, but it's plasma instead of lava. As a sidenote, unlike standard shelter capsules, these require their area to be clear of pipes and cables on top of the other requirements, unless emagged. Obviously, I've done some changes to allow pipes and cables to not be hidden by water turfs, though I'm still keeping these reqs because I don't think these fishing spots would look great if riddled with cables and pipes. I may remove this extra req later if it proves to be a tad too tedious. Also they don't knock you back when expanding. Screenshot from a recent test (fixed the misplaced decal and tweaked a few things since then): ![immagine](https://github.com/user-attachments/assets/6bbcddfb-ff1c-4e96-834a-2129cadbb31f) The idea stems from how not all fishing spots aren't designed to be accessible every round, which is fine, because we have the fish-porter for that. However, even the fish-porter should have its limits in terms of what it can provide by itself (linking is all fair and game), so I've thought having something of a middle point would been neat, also as a way to mess around with the station layout a bit, to empower the player with a little extra "terraforming". :cl: add: Added fishing bluespace capsules to the game, which can be used to spawn a variety of fishing spots, from freshwater to tiziran sea to hot springs, and also lava and plasma if emagged. add: Added two new fish: the zagoskian moonfish and the sacabambaspis. Moonfish will now periodically lay moonfish eggs. map: The 'crashed pod' lavaland ruin now has a hot spring, and the cursed hotspring on icemoon now has a plastic chair and a fishing toolbox. /:cl: * Automatic changelog for PR #87639 [ci skip] * Some path & hotspring updates TG added their own hotspring so that kinda messes with things --------- Co-authored-by: Ghom <[email protected]> Co-authored-by: tgstation-ci[bot] <179393467+tgstation-ci[bot]@users.noreply.github.com> Co-authored-by: LemonInTheDark <[email protected]>
* Automatic changelog for PR #88079 [ci skip] * [NO GBP] Armor now decreases the chances of getting your eye blown out by a rogue bullet (#88082) Chance of getting an eye wound from being hit by a projectile now scales inversely with your head armor. Meant to do this originally but forgot, so here we go. You'd expect that a bulletproof helmet will prevent your eyes from being popped like balloons, especially if you don't take any damage from the hit. :cl: balance: Armor now decreases the chances of getting your eye blown out by a rogue bullet /:cl: * Automatic changelog for PR #88082 [ci skip] * changes default prefs to deadmin you as antagonist/head/sec/silicon, stops auto deadmin on localhost (#88028) * Implements final type filtering for spawn commands (#88070) Putting ``*`` at the end of a spawn type string will tell the command to not offer subtypes of that string. For example, running ``laser/cap`` offers you two types: ``GUN_LASER/captain`` and ``GUN_LASER/captain/scattershot``. Adding a start to the end like ``laser/cap*`` would only offer ``GUN_LASER/captain`` without the scattershot subtype, and instantly spawn it without an input window because its the only fitting type. Easier to spawn certain types without having subtypes offered to you * Automatic changelog for PR #88028 [ci skip] * Automatic changelog for PR #88070 [ci skip] * Fixes parsnip sabre not receiving a jousting component (#88104) Copypaste oopsie :cl: fix: Fixed parsnip sabre not receiving a jousting component /:cl: * Organ manipulation can be completed/GCd once again (#88099) This causes a ton of runtimes, attack chain issues and uncompleteable surgeries. Also yeah please don't override BYOND procs with var names, OD pragmas where were you when we re-used step... :cl: fix: Organ manipulation can be completed once again and doesn't cause you to be un-melee-able in some cases. /:cl: * Fixes full augmentation scan experiment being uncompletable (#88100) someone cooked too hard :cl: fix: Fixed full augmentation scan experiment being uncompletable /:cl: * Automatic changelog for PR #88104 [ci skip] * Automatic changelog for PR #88099 [ci skip] * Automatic changelog for PR #88100 [ci skip] * Fix chewable bubblegum not metabolizing due to microdose (#88102) - Fixes #87873 Bubblegum with the chewable element was not triggering due to a microdose that would get deleted as soon as it was inserted into the mob. Also added a crash message so if anyone in the future tries to microdose the chewable element it gets caught by our CI/CD checks. ![chrome_MUuaIxcpTI](https://github.com/user-attachments/assets/5d473499-0c42-4677-9a13-598078e512f1) Special thanks to @SmArtKar for digging around in the code and finding the problem. Bubblegum now makes you happy. :cl: timothymtorres, SmArtKar fix: Fix chewable bubblegum not metabolizing due to microdose /:cl: * [NO GBP] Fixes a rare runtime in jetpack component code (#88097) shrug :cl: fix: Fixed a rare runtime in jetpack component code /:cl: * Automatic changelog for PR #88097 [ci skip] * Automatic changelog for PR #88102 [ci skip] * fixes synthmeat having 0% purity on reaction (#88090) read the title doofus theoretical meat is bad for the economy ok so basically the guy who did this whole thing only had it check for reagent/consumable in the entire beaker, which is goofy as hell for a lot of reasons, but it also has the side effect of not including non/consumable reagents like blood, cryoxadone, and carpotoxin. there's probably a bug in there where adding pure salt or other reagent to the beaker can make highly pure food items with highly impure ingredients, but if youre bothering to do that you couldve made pure ingredients to begin with, and that wouldve existed before i touched it and i dont wanna bother :cl: fix: synthmeat is no longer an nft /:cl: --------- Co-authored-by: SyncIt21 <[email protected]> * Automatic changelog for PR #88090 [ci skip] * fixes a few issues with the chipped quirk (#87764) <!-- Write **BELOW** The Headers and **ABOVE** The comments else it may not be viewable. --> <!-- You can view Contributing.MD for a detailed description of the pull request process. --> <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> the text displayed when this quirk's gained would include the skillchip's typepath rather than its name. this fixes that. also fixes an issue with how the callback timer was being handled, which would lead to a runtime whenever the quirk was removed (since addtimer returns the id and not the callback itself). also fixes the scratch effect never actually working because an organ slot was being provided to `get_organ_by_type` rather than the type. also fixes the itchy effect not going away after the skillchip is removed (it gets added again if the skillchip is reimplanted). <!-- Argue for the merits of your changes and how they benefit the game, especially if they are controversial and/or far reaching. If you can't actually explain WHY what you are doing will improve the game, then it probably isn't good for the game in the first place. --> fixes a few issues with the chipped quirk <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and its effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> :cl: fix: fixes the chipped quirk displaying the skill chip's typepath rather than its name fix: fixes chipped quirk's itchy effect not working fix: the chipped quirk's itchy effect now goes away when the skillchip is removed /:cl: <!-- Both :cl:'s are required for the changelog to work! You can put your name to the right of the first :cl: if you want to overwrite your GitHub username as author ingame. --> <!-- You can use multiple of the same prefix (they're only used for the icon ingame) and delete the unneeded ones. Despite some of the tags, changelogs should generally represent how a player might be affected by the changes rather than a summary of the PR's contents. --> --------- Co-authored-by: MrMelbert <[email protected]> * Automatic changelog for PR #87764 [ci skip] * Guncode Agony 4: The Great Projectile Purge (#87740) ~~Kept you waitin huh!~~ The projectile refactor is finally here, 4 years later. This PR (almost) completely rewrites projectile logic to be more maintainable and performant. * Instead of moving by a fixed amount of pixels, potentially skipping tile corners and being performance-heavy, projectiles now use raymarching in order to teleport through tiles and only visually animate themselves. This allows us to do custom per-projectile animations and makes the code much more reliable, sane and maintainable. You (did not) serve us well, pixel_move. * Speed variable now measures how many tiles (if SSprojectiles has default values) a projectile passes in a tick instead of being a magical Kevinz Unit:tm: coefficient. pixel_speed_multiplier has been retired because it never had a right to exist in the first place. __This means that downstreams will need to set all of their custom projectiles' speed values to ``pixel_speed_multiplier / speed``__ in order to prevent projectiles from inverting their speed. * Hitscans no longer operate with spartial vectors and instead only store key points in which the projectile impacted something or changed its angle. This should similarly make the code much easier to work with, as well as fixing some visual jank due to incorrect calculations. * Projectiles only delete themselves the ***next*** tick after impacting something or reaching their maximum range. Doing so allows them to finish their impact animation and hide themselves between ticks via animation chains. This means that projectiles no longer disappear ~a tile before hitting their target, and that we can finally make impact markers be consistent with where the projectile actually landed instead of being entirely random. <details> <summary>Here is an example of how this affects our slowest-moving projectile: Magic Missiles.</summary> Before: https://github.com/user-attachments/assets/06b3a980-4701-4aeb-aa3e-e21cd056020e After: https://github.com/user-attachments/assets/abe8ed5c-4b81-4120-8d2f-cf16ff5be915 </details> <details> <summary>And here is a much faster, and currently jankier, disabler SMG.</summary> Before: https://github.com/user-attachments/assets/2d84aef1-0c83-44ef-a698-8ec716587348 After: https://github.com/user-attachments/assets/2e7c1336-f611-404f-b3ff-87433398d238 </details> Beyond improved visuals, smoother movement and a few minor bugfixes, this should not have a major gameplay impact. If something changed its behavior in an unexpected way or started looking odd, please make an issue report. Projectile impacts should now be consistent with their visual position, so hitting and dodging shots should be slightly easier and more intuitive. This PR should be testmerged extensively due to the amount of changes it brings and considerable difficulty in reviewing them. Please contact me to ensure its good to merge. Closes #71822 Closes #78547 Closes #78871 Closes #83901 Closes #87802 Closes #88073 Our core projectile code is an ungodly abomination that nobody except me, Kapu and Potato dared to poke in the past months (potentially longer). It is laggy, overcomplicated and absolutely unmaintaineable - while a lot of decisions made sense 4 years ago when we were attempting to introduce pixel movement, nowadays they are only acting as major roadblocks for any contributor who is attempting to make projectile behavior that differs from normal in any way. Huge thanks to Kapu and Potato (Lemon) on the discord for providing insights, ideas and advice throughout the past months regarding potential improvements to projectile code, almost all of which made it in. :cl: qol: Projectiles now visually impact their targets instead of disappearing about a tile short of it. fix: Fixed multiple minor issues with projectile behavior refactor: Completely rewrote almost all of our projectile code - if anything broke or started looking/behaving oddly, make an issue report! /:cl: * Automatic changelog for PR #87740 [ci skip] * Fixes a potential harddel in Ripley code (#88101) Ejector didn't clean its ref in parent ripley before deleting itself which could cause harddels if it didn't delete fast enough (as seen during round 243009) :cl: fix: Fixed a potential harddel in Ripley code /:cl: * Fix coffee maker smoke particles not deleting (#88111) Caused by: - #88048 The coffee maker smoke particles stayed on forever after brewing something. This is now fixed. Coffee brewing is no longer a fire hazard. :cl: fix: Fix coffee maker smoke particles not deleting /:cl: * Fix fireplace particles runtimes (#88114) Caused by: - https://github.com/tgstation/tgstation/pull/88048 Trying to use the fireplace would result in runtimes and the smoke particles not triggering. Even though the runtime is fixed, the new particle changes in #88048 broke the pixel offsets. While I was testing, anytime I tried switching a pixel offset it would update all fireplaces. I tried to limit it to add the shared particle id to `"fireplace_[dir]"` so that it would only apply to the objects in that direction but I couldn't get it to work. I would guess this also affects a lot of other objects that have particle pixel offsets. Runtime is fixed. Particle offsets are still broken. Fireplaces no more runtime. :cl: fix: Fix fireplace particles runtimes. /:cl: * Automatic changelog for PR #88114 [ci skip] * Automatic changelog for PR #88111 [ci skip] * Refactors projectile dampeners and adds some new visuals (#87913) Co-authored-by: Ghom <[email protected]> * Automatic changelog for PR #87913 [ci skip] * turfs now handle fishing more internally to save time on world initialization (#88092) * [NO GBP] Fixes watery turfs not keeping you wet over time (#88086) * Automatic changelog for PR #88086 [ci skip] * [no gbp] fixes monkey disarming leading to runtimes (#88128) * [no gbp] actually gives entertainment screens mute button (#88036) closes https://github.com/tgstation/tgstation/issues/88035 my bad * Automatic changelog for PR #88036 [ci skip] * Guncode Agony 4.2: Firing Effect Intervallo (#88072) Firing effects now attach themselves to the firer, meaning you don't run over or back from your own muzzle flash if you fire while running. Look better, both when moving into and away from the effect. :cl: image: Muzzle flash now is attached to your sprite, meaning you won't run over it if you fire while moving /:cl: * Automatic changelog for PR #88072 [ci skip] * Changing clipboard skins now changes the inhands sprite as well (#88123) Closes #88122 :cl: image: Changing clipboard skins now changes the inhands sprite as well /:cl: * Automatic changelog for PR #88123 [ci skip] * Stops atrocinator module footstep spam when you're moving on a tram (#88129) Closes #87981 Also respects silent footsteps and lagswitch now :cl: fix: Fixed atrocinator module footstep spam when you're moving on a tram /:cl: * Automatic changelog for PR #88129 [ci skip] * Blind people no longer can make eye contact when touching someone (with their eyeballs?). Eye contact requires you to not have covered eyes. (#88142) Blind people making eye contact with their (hopefully) hands is a bit... weird, to say the least. Eye contact is also prevented by various sorts of eye coverage, on both sides, instead of only being affected by items that hide your face (So you no longer make eye contact if you're blindfolded either) ![image](https://github.com/user-attachments/assets/49d6d697-f908-4320-8196-be3e4f390fa6) :cl: fix: Blind people no longer make eye contact with their hands fix: Blindfolds and other sorts of opaque eye coverage now prevent eye contact from occuring /:cl: * Automatic changelog for PR #88142 [ci skip] * Fixes a random zero in nuke ops uplink UI (#88147) ![u3plza5](https://github.com/user-attachments/assets/a88d079a-2a29-4be7-ac1c-9d3433fa34ff) :cl: fix: Fixed a random zero in nuke ops uplink UI /:cl: * Automatic changelog for PR #88147 [ci skip] * New moth customization set (#88058) ![image](https://github.com/user-attachments/assets/38259134-46a9-4dcf-a4db-52ca4e3e5587) ![image](https://github.com/user-attachments/assets/2ee7dc6a-e241-481c-9309-4571b3af7939) Added new mothwings, markings and antennae as seen above. Everyone loves more moth variety! :cl: add: Added new moth customizations available in the character creation under the name "Dipped" image: added icons for the moth wings, antennae and markings :cl: --------- Co-authored-by: Ghom <[email protected]> * Automatic changelog for PR #88058 [ci skip] * Resprites The Heretic's Moon Blade (#88148) * Automatic changelog for PR #88148 [ci skip] * Zippo inhand sprite fix (#88120) * Automatic changelog for PR #88120 [ci skip] * Fixes fishing turfs not lazyloading (#88174) We null-ed fish_source before actually creating the component using that value. Happens to all of us. :cl: fix: Fixed fishing turfs not lazyloading /:cl: * Automatic changelog for PR #88174 [ci skip] * Fixed advanced camera consoles runtiming on eye init (#87993) Currently when the camera eye of an advanced camera console is initialized, it tries to send COMSIG_HUD_Z_CHANGED while the eye is still in nullspace. Added an if to make sure the eye has a valid location. * Nerfs fish infusion slipperiness and make them slightly more susceptible to fire and heat. (#88065) * Automatic changelog for PR #88065 [ci skip] * Fixes invisible atmos fires (#88155) * Fixes Kobain-style suicides (#88151) FUCK :cl: fix: Fixed Kobain-style suicides /:cl: * Automatic changelog for PR #88155 [ci skip] * Refactor heretic ascension announcements (+ trait source consistency) (#88149) I kinda did a small refactor of heretic ascension announcement code, based on what I did in https://github.com/BeeStation/BeeStation-Hornet/pull/11925 instead of each heretic ascension individually doing `priority_announce` in `on_finished_recipe`, there's just `announcement_text` and `announcement_sound` vars now, and a `announce_ascension` proc is called in the shared `on_finished_recipe` of all final rituals. The only reason the `announce_ascension` proc is needed is because lock path uses a different format from all the other announcements, so the final lock ritual needs to override the announcement so it can stay the same. Also made all heretic ascensions which apply traits use the type as the trait source - before, they were inconsistently either using the type, name, `REF(src)`, or `MAGIC_TRAIT` as the trait source. also ash ascension did not need a `if(length(traits_to_apply))` check before adding traits, bc it's adding traits from a *static, populated list*. ascension doesn't feel like a real word anymore with how much I've typed and read it in the past 20 mins or so lol cleaner code = good :cl: refactor: Cleaned up code relating to heretic ascension announcements and traits. /:cl: * [no gbp] fixes solars cabling + additional pipes for sci (#88139) added some missing cable to solars and 1 smes, and science is connected to distro from 2 directions now so it doesnt immediately stop receiving air if a pipe breaks fixes #88138 most departments have more than 1 connection to distro ( on this map ) :cl: fix: fixed some wiring on wawastation, added an additional distro/scrubbers connection to sciences network /:cl: * Fix coffee maker items teleporting to AI/Cyborg locations (#88140) - Fixes #88136 Both AIs and cyborgs would have coffee maker interactions that result in an item (sugar packets, coffee cups, coffee pots, etc.) teleporting to their location. This was due to the `ALLOW_SILICON_REACH` being used which doesn't enforce a radius distance check for silicons. Those pesky silicons can no longer steal coffee from humans. :cl: fix: Fix coffee maker items teleporting to AI/Cyborg locations /:cl: * Changeling absorb sound (#88133) - it doesn't ignore walls https://github.com/user-attachments/assets/fa4d010b-cee4-455a-a3c8-43e6839ab596 I think it's very atmospheric and helps hammer in the idea that changelings are horrific monsters :cl: grungussuss sound: changelings now have a sound for absorbing /:cl: * Fixes meteors freezing in place if they continiously miss the station on a looping z level (#88130) Closes #88004 How has this not been caught before? They have a moveloop timeout (sane) but don't delete themselves once it expires (insane) :cl: fix: Fixed meteors freezing in place if they continiously miss the station on a looping z level /:cl: * Runechat messages no longer hang in SS queue with invalid callbacks if the client logs out before they've finished building themselves (#88127) Super niche, unnoticeable in-game, found when runtime diving. Don't leave callbacks to qdeleted datums and clients in queue please. :cl: fix: Fixed a runtime caused by logging out while your runechat message was appearing. /:cl: * Automatic changelog for PR #88149 [ci skip] * Automatic changelog for PR #88139 [ci skip] * damage done by thrown objects to /obj is multiplied by the demolition modifier (#88141) damage done by thrown objects to /obj is multiplied by the demolition modifier i think its supposed to respect the demolition mod i mean uhh that seems like an oversight?? :cl: fix: damage done by thrown objects to objects respects their demolition modifier /:cl: * Automatic changelog for PR #88140 [ci skip] * Automatic changelog for PR #88133 [ci skip] * Automatic changelog for PR #88130 [ci skip] * Fix weather effects not applying to areas like space (#88119) Weather effects were ignoring certain areas like space. This was due to checking the area's `z` position. Some areas like `area/space` are in many different z-levels and the `z` position defaults to Centcomm `z=1`. The solution is to loop through `area.turfs_by_zlevel` and check if it has any turfs in that z-level. CC @LemonInTheDark the mutable overlay for weather effects is not applying to space. https://github.com/tgstation/tgstation/blob/7e27663517731fe8f3d955477b1a97ace5a6ff83/code/datums/weather/weather.dm#L253-L271 I'm assuming this is due to plane master shengians. I could just add the effects like the radiation nebula: https://github.com/tgstation/tgstation/blob/7e27663517731fe8f3d955477b1a97ace5a6ff83/code/datums/station_traits/negative_traits.dm#L486-L493 But this doesn't appear reversible. I'm open to suggestions. Rad storms now affect space outside the station. Other weather effects should also be consistent and not be ignored by certain misc. areas types. :cl: fix: Fix weather effects ignoring certain areas like space. /:cl: --------- Co-authored-by: MrMelbert <[email protected]> * Automatic changelog for PR #88127 [ci skip] * Automatic changelog for PR #88141 [ci skip] * Automatic changelog for PR #88119 [ci skip] * The pulse rifle should spawn from the arcade machine now. (#88146) Tested on a private server with edited odds that the pulse rifle doesn't spawn when won and only the message pops. After code edit it spawned accordingly but the low odds remain. Beating one in a million odds and not getting a pulse rifle is disappointing, it should spawn now. :cl: fix: fixed the pulse rifle not spawning when won code: added get_turf to the pulserifle when the odds are beat. :cl: * Automatic changelog for PR #88146 [ci skip] * Make Baklava Pie retain its quality after slicing (#88118) Adds the crafting complexity to the slices of baklava, so it doesn't go from very good to nice after you slice it. Was asked to put the fix to upstream. If I have one more food suddenly degrade in quality after slicing it into multiple portions I am going to explode the fucking kitchen, especially after having to bother Hydroponics to mutate a plant specifically for it ![image](https://github.com/user-attachments/assets/b4cd692e-10f8-4701-a772-45aad97e8c43) </details> :cl: fix: Makes a sliced baklava pie keep its complexity after slicing /:cl: * Automatic changelog for PR #88118 [ci skip] * Internal organ purge: Override Edition (#88132) Deletes _internal_organ.dm and moves all override procs from it into the main organ file, since its unused now. Fixes wrong qdel check in identity code. :cl: code: Cleaned up organ code /:cl: * Automatic changelog for PR #88132 [ci skip] * Fixes duplicate signal registation from defib paddles (#88163) You do realize in most cases the player must be ***wearing*** the damn thing to use it, right? Also I am truely clueless as to why we were registering to defib.loc since check_range checks for turfs anyways. :cl: fix: Fixed some issues with defib paddle retraction. /:cl: * Reagent grinders display number of material sheets they hold instead of defaulting to 1 (#88154) Currently grinders just increase the amount of items by 1 when displaying them, which works fine for everything except stacks. This PR makes grinders take into account the amount of sheets in a stack so they properly display how many materials you put into them. You'd expect 50 sheets of silver you put in a grinder to display as 50 sheets instead of 1. :cl: qol: Reagent grinders display number of material sheets they hold instead of defaulting to 1 /:cl: * Automatic changelog for PR #88163 [ci skip] * Automatic changelog for PR #88154 [ci skip] * carpenter hammer fits on belt slot (#88109) bro its a hammer (speaking of, i feel like it should fit on the toolbelt & be a crowbar. but that's basically 1:1 the preexisting claw hammer, idk) bro it's a hammer. :cl: qol: carpenter hammer fits on belt slot code: renames belt_icon_state to inside_belt_icon_state for intelligibiility /:cl: * Automatic changelog for PR #88109 [ci skip] * Replace `caller` args in pathfinding code with `requester` (#88084) Somewhat of a port of https://github.com/ParadiseSS13/Paradise/pull/26401, albeit re-done from scratch (with the power of find and replace) Caller is a protected/reserved var in 516. We use it a lot. It's used in more places than this, but I'm a perfectionist and can't think of better names for most of the other uses (mostly mob AI, holocall, and `InterceptClickOn` related), so I'm just doing pathfinding for now. Prep for compiling on 516 No user-facing changes - this is merely renaming vars. * Fixes a runtime in cranial fissure remove code (#88081) This can be called after victim gets qdeleted from bodypart cleanup, runtimes here prevent wound from cleaning itself up which in return prevents the bodypart from deleting properly. :cl: fix: Fixed a runtime in cranial fissure remove code /:cl: * Automatic changelog for PR #88081 [ci skip] * Change some status effects adjustments to use `SECONDS` (#88098) Some of the status effect adjustments were missing `SECONDS` to their proc calls. N/A * Automatic changelog for PR #88098 [ci skip] * Adds a disease that makes you reject gravity. (#87666) This PR adds a small, pre-canned virus to the game, the "Localized Weightloss Malfunction" virus, or weightlessness virus. Weightlessness is a weak contact virus that can only spawn due to randomized virus spreading virus. The virus itself applies weightlessness via having the mob produce their own internal supply of gravitium, resulting in a lack of control from gravity. This is a bit of a patch job, and if we'd like to make this apply a more specific status debuff that can be managed, but this works well enough for proof of concept anyway. ![image](https://github.com/user-attachments/assets/fb1783b2-db7c-49b6-b973-1b7ee35565b7) The disease is cured via liquid dark matter, but has a reasonable chance to self-cure as well similar to most diseases do nowadays. Seemed like an interesting mechanical intersection, and while it can be frustrating, it is by no means a round removal virus. It is debilitating enough that it would necessitate a medbay visit. Liquid dark matter also serves as a occasional grenade chemical, but giving it a medical use provides another inch of plausible deniability. I made this PR a little bit ago on a whim, and it's been sitting on my repo for a hot second here, so I thought I'd get this moving if there's no major issues. * Automatic changelog for PR #87666 [ci skip] * Guncode Agony 4.4: Armor as an argument (#88143) Lil cleanup/tweak I couldn't do in the main PR because it conflicted before and i forgot after. Yes this works with overrides that don't have the arg, yes I tested it. Don't run armor code thrice please thank you :cl: code: Projectile impacts no longer fetch mobs' armor values thrice /:cl: * Automatic changelog for PR #88143 [ci skip] * Fixes ghosts being able to make analyzing sounds (#88177) Prevents ghost from emitting analyzing sounds when using the gas scan verb Fixes a little bug :cl: Hardly fix: Ghosts can no longer emit spooky analyzing sounds when scanning /:cl: * Automatic changelog for PR #88177 [ci skip] * Adds a fuel examine to lighters (#88170) Didn't even know they had this until it stopped lighting. While it has fuel, it says it has x fuel out of its maximum. When empty, it says what to refuel it with (welder fuel) ![image](https://github.com/user-attachments/assets/4096e68f-c2e5-4b50-abd4-f904059a23ee) <details><summary>(For reference, Welders have something similar) </summary> ![image](https://github.com/user-attachments/assets/afbf675c-85ee-49c8-8956-0e77352544d6) </details> I do not know how to set up math to make this number more useful; it tends to burn .25 units ever few seconds but beyond that it's just numbers and I'm not the best with numbers. At the least you can see if it's full or empty. This mechanic is not shown to players in any way besides the lighter not lighting. :cl: qol: added an examine note to lighters showing their fuel /:cl: --------- Co-authored-by: Fikou <[email protected]> * Automatic changelog for PR #88170 [ci skip] * [NO GBP] Fixes a non-player facing runtime I accidentally left in organ manipulation (#88164) Thankfully this runtime didn't actually do anything whatsoever but it still messed in the logs. I'll test my stuff better I guess? :cl: fix: Fixed a (non-player facing) runtime in organ manipulation surgery /:cl: * Automatic changelog for PR #88164 [ci skip] * fixes raptors breaking their troughs, removes troublesome raptors and you can now rename ur raptors (#88153) after my PR removing most self-registering attack signals, raptors would sometimes break their troughs after interacting with it, this fixes that. Also, removes the troublesome trait from raptors. raptors with this trait would go out and harm other raptors everyonce in a while, but ive discovered that this can be annoying to deal with when you have many of them, so ive removed it and im going to replace it with something less annoying in the future. Also you can now give your raptors pet collars, effectively allowing u to rename them fixes raptors breaking their trough and provides some QOL to raptor ranching :cl: fix: raptors no longer break their trough upon interacting with it balance: removed the troublesome trait from raptors, they now wont go out to attack their colleagues. add: you can now give pet collars to ur raptors to rename them /:cl: * Automatic changelog for PR #88153 [ci skip] * [NO GBP] Ensures that if your brain is removed you die (#88194) Closes #88193 :cl: fix: Ensures that if your brain is removed you die /:cl: * Automatic changelog for PR #88194 [ci skip] * Fixes a non-player facing runtime in portable atmos machinery code (#88175) transferItemToLoc doesn't check if item exists, and tries to call animation code on a non-existent item if you're only removing the canister. No clue how I haven't caught it during #86734, or how anyone hasn't caught it in the past 5 months to be honest. This doesn't actually do anything from player's perspective since it doesn't abort the main proc. :cl: fix: Fixed a non-player facing runtime in portable atmos machinery code. /:cl: * RCD deconstruction is not cancelled by UI changes (#88117) - Fixes #88108 :cl: fix: rcd deconstruction is not cancelled by UI changes /:cl: * removes the northstar arcship from the codebase (#87937) ![image](https://github.com/user-attachments/assets/95e7545e-713c-4877-adeb-853f1f0d9646) closes https://github.com/tgstation/tgstation/issues/87888 The gods have spoken :cl: grungussuss del: The northstar arcship has been removed. :( /:cl: * Automatic changelog for PR #88175 [ci skip] * Automatic changelog for PR #87937 [ci skip] * [NO GBP] Fixes pixel position of fish overlays for aquariums (#88165) * Automatic changelog for PR #88165 [ci skip] * Revert "replaces reputation locks with instead being prohibitively expensive based on rep" (#88184) Reverts tgstation/tgstation#87382 huge noob trap with unclear UI bypasses the utility of side objectives granting reputation the time lock is no longer a time lock @Watermelon914 :cl: balance: Time-gated traitor uplink gear is returned to being hard reputation locked with a static price. /:cl: * Automatic changelog for PR #88184 [ci skip] * Fixing aquarium ui showing the user contents rather than those of the aquarium itself (#88160) * Automatic changelog for PR #88160 [ci skip] * Converts pills and patches into interact_with_atom (#88157) Title. Code maintenance, code sanity and because overriding attack() like this is bad :cl: code: Converted pills and patches into interact_with_atom /:cl: * Automatic changelog for PR #88157 [ci skip] * Fixes a typo in legionnaire abilities (#88188) Fixes a typo in legionnaire abilities typos bad :cl: spellcheck: Fixes a typo in legionnaire abilities /:cl: * Automatic changelog for PR #88188 [ci skip] * Reduces volume of fire sounds (#88192) Reduces volume of #84280's fire sounds by 40% Its very loud at 50% and I don't like having my eardrums continiously blown out when I spectate a plasmafire :cl: sound: Reduced volume of fire sounds /:cl: * Automatic changelog for PR #88192 [ci skip] * Buffs Morphine by nerfing its sedative power (#88182) * Automatic changelog for PR #88182 [ci skip] * [NO GBP] FIsh flops again (#88202) This will fix #88112. This will fix #88112. :cl: fix: FIsh flops again. /:cl: * Automatic changelog for PR #88202 [ci skip] * Fixes brain transplants (#88198) * Allows Atmospherics MODsuits store extinguishers on their suit storage slot (#88208) * Automatic changelog for PR #88198 [ci skip] * Automatic changelog for PR #88208 [ci skip] * Fixes "is blacking out" message (#88200) * Automatic changelog for PR #88200 [ci skip] * Mulebot wires no longer references typepaths (#88220) Classic case of `[src]` in a datum Fixes #88206 :cl: Melbert fix: Mulebot wire hacking is less fourth wall breaking /:cl: * Automatic changelog for PR #88220 [ci skip] * `/datum/surgery/organ_manipulation/Destroy()` calls parent (#88218) * Automatic changelog for PR #88218 [ci skip] * [NO GBP] ACTUALLY allow dot radio prefixes to also work with the tgui-say radio prefix display (#88207) imagine fucking up a port of _your own code_ (i plead "silly") things working is good :cl: fix: ACTUALLY allow dot radio prefixes to also work with the tgui-say radio prefix display. /:cl: * Automatic changelog for PR #88207 [ci skip] * Felinid Meowing and Purring Emotes pt.2 (#88212) Adds emotes for meowing and purring. Only players with felinid tongues can use these emotes and they mirror the new cat emotes exactly. If a player does not have a felinid tongue, then a text warning will tell the player they can't make the sound. This revision from the original pr makes it possible to surgically implant the ability to meow and purr into someone. Head Coder approval granted by @Mothblocks [2024-10-10 19-30-04.webm](https://github.com/user-attachments/assets/0d0c40e2-2299-4cce-ba96-6427ecae15b1) There is currently a popular demand from felinid players to use these emote noises for silly cat sounds. Recently a PR allowed all mobs to meow, but it was patched to only cats from now on. Emulating the noises a cat makes as a felinid has given a lot of enjoyment to those playing from my own observations in-game. Cats are awesome! :cl: add: New purr and meow emotes for players with felinid tongues /:cl: * Automatic changelog for PR #88212 [ci skip] * Fixes some chainsaw issues (#88225) - Fixes #88105. No default sound & balloon alert when the chainsaw is turned on & it's not invisible in hand when it's turned off - Fixes https://github.com/tgstation/tgstation/issues/88105#issuecomment-2493592188. The mounted chainsaw has a new animated sprite when turned on instead of going invisible :cl: fix: chainsaw is not invisible when turned off in hand fix: chainsaw won't play ping sound when turned on fix: mounted chainsaw has a new animated sprite when turned on & won't go invisible in hand /:cl: * Automatic changelog for PR #88225 [ci skip] * Addresses Edge-Case For SM Delamination Safety Message in Disposals (#71970) Hey there, Before it would say that "you hold onto disposalsholder" tightly, but since disposalsholder is an abstract object (lol), it just didn't make sense to players. So, I just addressed that edgecase in the portion when we send messages to player regarding their safety in relation to being in a metal tube preventing them from going insane. Fixes #71949 ![image](https://user-images.githubusercontent.com/34697715/207222647-4617e702-65c9-4439-9f5a-5620ec2ed0ae.png) :cl: fix: The message you get when attempting to escape an SM delamination by hiding in a disposals pipe should now make more sense. /:cl: * Automatic changelog for PR #71970 [ci skip] * Fixes random stuff spilling into ooc tab (#88221) `boldannounce` is NOT for use ICly it's only for OOC stuff. `bolddanger` is identical it just doesn't carry the same baggage :cl: Melbert fix: Stuff like the SM exploding will no longer output to your OOC tab /:cl: * [NO GBP] Fixes colossus committing suicide on a regular basis (#88223) I can guess why this is here to prevent lying down cheese but nonetheless, this is stupid since this proc is also what's preventing firer from hitting themselves. Closes #88209 :cl: fix: Fixed colossus committing suicide on a regular basis /:cl: * Automatic changelog for PR #88221 [ci skip] * Automatic changelog for PR #88223 [ci skip] * [no gbp] few repairbot fixes and some beacon pathing improvements. (#88144) this fixes some few sentient repairbot-related issues that were reported a few days ago. ive also given sentient repairbots a new simple UI to manage their materials. ![image](https://github.com/user-attachments/assets/bc269769-439e-4aa8-82ca-e433c031fbec) while I was at it, i also fixed bots continuously trying to path to unreachable beacons, which can be quite costly since they're regularly very far away. closes #88067 :cl: fix: repairbots no longer get flashed by their own welder fix: repairbots no longer break glass tables they step on fix: repairbots can no longer flush their own welders fix: fixes some runtimes when emagged repairbots try to deconstruct things fix: fixes sentient repairbots not being able to see or remove their material counts /:cl: * Automatic changelog for PR #88144 [ci skip] * IV drips now pull you closer and create a beam to you (#88217) https://github.com/user-attachments/assets/173c1753-3da4-4180-80ea-eb49d19e7b2f Purely visual. Pulling someone from an IV drip is dangerous so it's nice to make it more clear than the current very small appearance change that doesn't give you any more information than that *someone* is connected. If you review tell me on Discord bc I don't check GitHub :cl: qol: IV drips now create a beam from their spout to your body, and will visually pull you closer. /:cl: * Automatic changelog for PR #88217 [ci skip] * Prevent slimes from feeding while immobilized (#88219) So there's a few ways to tackle this - Freezing should stop people from taking actions in general? - Being immobilized should stop you from buckling in general? But I went for the least offensive option, of simply blocking feeding if you can't move Fixes #88185 (partially) :cl: Melbert fix: Frozen slimes can't latch on to you (but they can still attack you technically) /:cl: * Automatic changelog for PR #88219 [ci skip] * Adds a bunch of interaction related unit tests (#88210) I made these a year ago and meant to PR them but never got around to it Basically just adds a bunch of unit tests for a bunch of specific attack chain interactions that are prone to breaking due to snowflake Increasing coverage of attack chain is good so people who are working on it don't have to worry about the 1000 edge cases breaking - Blocking (both unarmed and armed) - Cuffs - Eyestab - Flashes (combat mode, non combat mode, with flash protection) - Help intent - Pistol whip - Butchering with a bayonet - Damp rag smothering - Droppers - EMP flashlights - Holofans - Door attack hand redirector - Tool usage on Cyborgs - Punching Cyborgs - Ability to bash tables - Ability to bash any structure - Ability to use tools on machinery - Kinetic Crusher projectile - Spraycans (capping, making graffiti) - Loading a syringe gun * Teleporting while leaning now makes you fall on your face (#88215) Co-authored-by: MrMelbert <[email protected]> * Automatic changelog for PR #88215 [ci skip] * Fix missing returns in limb dislocation treatment code (#88234) * Automatic changelog for PR #88234 [ci skip] * Prevents bounty pads from sending holographic and abstract items. Tidies the code a bit. (#88242) Co-authored-by: MrMelbert <[email protected]> * Automatic changelog for PR #88242 [ci skip] * Adds a new item to the chef traitor's uplink: Molt'Obeso sauce. (#87103) A new item for 2 TC has been added to the chef's traitor uplink – Molt'Obeso sauce! Buying it, you get a bottle for 50 units, filled with this sauce. After eating Molt'Obese, you'll think you're still hungry. It also removes the limit on how much food you can eat, so you can just keep going and going, but you never get full. Plus, Molt'Obeso helps your body absorb more nutrients from food, so the food is even more nourishing with it. The Syndicate sabotages the NT station by making everyone fat? :cl: add: Add a new item to the chef traitor's uplink: Molt'Obeso sauce. A sauce that makes people want to eat too much. /:cl: * Automatic changelog for PR #87103 [ci skip] * [NO GBP] Fixing the profound fisher component. (#88204) * Automatic changelog for PR #88204 [ci skip] * Fixing/reworking explosive interactions with organ manip and fishing (#88232) I have grown to dislike the previous implement of explosive fishing. It was particurly broken around fish sources that checked if the fishing spot was of a specific type, and the FISH_SOURCE_FLAG_EXPLOSIVE_MALUS flag only really worked around turfs because of the gap between pooling the spawn locations and spawning the loot, which would have made trying it on movables quite unsafe since they're moved to nullspace when deleted. This has lead me to rework how explosive fishing malus/exhaustion accumulates in a simplier and more effiient way. Fish are now spawned immediately, and the counter for the malus goes up by one each call, and decays over time at a rate of 1 every 5.5 seconds. This also fixes #88227. Easier implementation of explosive fishing and bugfix. :cl: fix: Bombing someone during organ manipulation no longer summons new organs. /:cl: --------- Co-authored-by: Time-Green <[email protected]> * Automatic changelog for PR #88232 [ci skip] * Adds some Fish Content (#88213) Adds a new biotype, MOB_AQUATIC, indicating the mob is water-themed somehow. Given to carp, lobstrosities, frogs, axolotls, penguins, fire sharks. Aquatic mobs can be hooked by fishing rods, even without a jawed fishing hook installed. The carp and fish infusion sets now give the infusee the aquatic biotype. Added support for infusions adding a biotype. You can check for a fish's pulse with a stethoscope, which will tell you its status even without fishing skill. Refined fish health status checks to be more precise. Added 'Fishy' Reagent, a version of strange reagent that only works for fish or aquatic biotype mobs. It's made with omnizine, saltwater, and carpotoxin or tetrodotoxin. Added a lifish chemical reaction that creates fish. Fish content fish content fish content > Adds a new biotype, MOB_AQUATIC, indicating the mob is water-themed somehow. Given to carp, lobstrosities, frogs, axolotls, penguins, fire sharks. We were really missing this one by now. > Aquatic mobs can be hooked by fishing rods, even without a jawed fishing hook installed. > The carp and fish infusion sets now give the infusee the aquatic biotype. Added support for infusions adding a biotype. I want to reel in fish people. This is going to be hilarious. > You can check for a fish's pulse with a stethoscope, which will tell you its status even without fishing skill. Fish doctor content - also lets you see the exact status of a fish's health even if you haven't interacted w/ fishing that shift. > Added 'Fishy' Reagent, a version of strange reagent that only works for fish or aquatic biotype mobs. It's made with omnizine, saltwater, and carpotoxin or tetrodotoxin. A somewhat easier to get version of strange reagent, purely for fish, as they die very easily and the road to making SR is a large diversion. I might add this to cargo, maybe? > Added a lifish chemical reaction that creates fish. Fish. fish fish fish fish fish. @Ghommie :cl: add: Adds a new biotype, MOB_AQUATIC, indicating the mob is water-themed somehow. Given to carp, lobstrosities, frogs, axolotls, penguins, fire sharks. add: Aquatic mobs can be hooked by fishing rods, even without a jawed fishing hook installed. add: The carp and fish infusion sets now give the infusee the aquatic biotype. Added support for infusions adding a biotype. add: You can check for a fish's pulse with a stethoscope, which will tell you its status even without fishing skill. qol: Refined fish health status checks to be more precise. add: Added 'Fishy' Reagent, a version of strange reagent that only works for fish or aquatic biotype mobs. It's made with omnizine, saltwater, and carpotoxin or tetrodotoxin. add: Added a lifish chemical reaction that creates fish. /:cl: --------- Co-authored-by: _0Steven <[email protected]> Co-authored-by: Ghom <[email protected]> * Automatic changelog for PR #88213 [ci skip] * Adds some tips for most of my changes to the game (#88186) Adds some tips for most of my changes to the game. Player visibility is important to see what cool features there are and tips are kind of, well, poorly mantained, honestly. Like, the last one was about bitrunning. :cl: qol: Added some tips of the round. /:cl: --------- Co-authored-by: MrMelbert <[email protected]> Co-authored-by: Jacquerel <[email protected]> Co-authored-by: norsvenska <[email protected]> * Automatic changelog for PR #88186 [ci skip] * Replaces scarves station trait with scryers (#88167) Removed the scarves station trait and replaced it with modlink scryers. If you're confused, they're those things on the robotics mod crate whose sprite annoyingly and opaquely covers up the actual cores. The scryers allow you to start a semi-private conversation with any other modlink _ignoring the status of comms_. This doesn't make them as useful for shouting out threats but lets you discuss things with essential personnel, or report crime, even after comms is blown up. ![260621454-062983ee-6058-4e78-a3aa-bccda1a3e224](https://github.com/user-attachments/assets/9a6aa38b-e10a-4e23-8691-12538fd3348c) ![image](https://github.com/user-attachments/assets/5464d1a4-5b5b-47c6-9074-080ae3b3592d) https://github.com/tgstation/tgstation/pull/77639 This PR doesn't actually give the modlinks names, so they'll all show up as modlink (394) and be unusable. Something should be done there I'm just not quite sure how to handle it and the inevitable deluge of dropped modlinks that would recieve tons of unheeded calls. ~~Maybe we can make them undroppable for the first 30 minutes.~~ Scryers are a cool and underused aspect of the game. Their ability to function off comms is balanced out by their _in_ability to speak to more than one person at once. Having this as a trait helps showcase them and will likely allow for some enjoyable moments. I'm imagining spam calls, death threats, _actual_ death threats, prank calls, etc. ![image](https://github.com/user-attachments/assets/c505dab5-cd08-4485-b6cb-2d7390630e2a) :cl: add: Centcom's janitorial department has gotten tired of scooping up discarded scarves from the floor and has instead assigned MODlink scryers to some stations' crew in an attempt to spice up the disposal team's jobs. /:cl: --------- Co-authored-by: Ghom <[email protected]> * Automatic changelog for PR #88167 [ci skip] * Added 'loose hat' functionality to the hat stabilizing component, used in modsuist (#88030) You can now wear a hat on any modsuit, even w/o the stabilizing module. However: - It will always sit slightly askew, at an angle. - Involuntarily falling to the ground for any reason will cause the hat to fall to the ground. - Being thrown, slapped, or slipped will send it flying off. Added the Atrocinator, Hat Stabilizer, and Tanning modules to the black market. Added the loose hat component to bio/bomb/rad hoods and space helmets. > You can now wear a hat on any modsuit, even w/o the stabilizing module. I think the notion of, say, the Head of Security putting his cap on his modsuit and then being slipped by the clown, who then steals the cap, is really funny. https://github.com/user-attachments/assets/3ad8a74d-0cb8-4118-8beb-d2ce9c76b358 The module is fairly rare and sometimes I just want to wear a silly hat alongside the modsuit without badgering the captain for his hat module. The downsides are rather plentiful so it's not like the hat module is made irrelevant - if anything it makes it more notable. This will add a bunch of enjoyable silliness to rounds, so I think it's worth it. > Added the Atrocinator, Hat Stabilizer, and Tanning modules to the black market. > Added the loose hat component to bio/bomb/rad hoods and space helmets. It sucks losing your iconic drip when you need to venture out to space for whichever reason - this lets you keep it without taking up space in your bag, while having the throw downside. They just feel perfect for the vibes of the black market. More miscellaneous completely useless fancy stuff that has exorbitant prices please! <!-- If your PR modifies aspects of the game that can be concretely observed by players or admins you should add a changelog. If your change does NOT meet this description, remove this section. Be sure to properly mark your PRs to prevent unnecessary GBP loss. You can read up on GBP and it's effects on PRs in the tgstation guides for contributors. Please note that maintainers freely reserve the right to remove and add tags should they deem it appropriate. You can attempt to finagle the system all you want, but it's best to shoot for clear communication right off the bat. --> :cl: add: You can now wear a hat on any modsuit, even w/o the stabilizing module. But it may easily fall off... add: Added the Atrocinator, Hat Stabilizer, and Tanning modules to the black market. add: Added the loose hat component to bio/bomb/rad hoods and space helmets. /:cl: ~~I'm having a bit of an issue. Somewhere I fugged up and now the worn overlay on the mod helmet sprite doesn't work properly...~~ Turns out that code was never used and nonfunctional to begin with so I removed it entirely yay * Automatic changelog for PR #88030 [ci skip] * [NO GBP] Various CvH tweaks & fixes (#88168) Increased Rusted Harvester health from 35 to 45. Increased haunted longsword's demolition mod by 20%. Rusted harvesters won't get narsie telling them to bring her their victims. Heretic summons aren't affected by void chill anymore. Add no gbp tag if you want > Increased Rusted Harvester health from 35 to 45. I want these to be frail, but being one-tapped by a sharpened sword is a tad too much I think. I balanced that health amount when they delimbed cultists instantly, but that's now a delayed action on crit so it's moot. > Increased haunted longsword's demolition mod by 50%. To some degree I want people to throw these away deep into maintenance, but there's a binding button now, perfectly serviceable, and I've _seen_ how miserable it is to be stuck alone deep in maintenance waiting for a just-too-long cooldown to break down 6 airlocks in a row. Seal them away the right way or suffer the consequences of your actions. > Rusted harvesters won't get narsie telling them to bring her their victims. They ain't yours, dummy. > Heretic summons & rusted harvesters aren't affected by void chill anymore. Why my friends freezing too? :( This fix also causes 'mansus touched' things to be unaffected by the chill. It includes the crimson medallion, which is obtainable by cultists. In my mind that's not a bad thing but it's not my path rework so I'll tag the author of it :cl: balance: Increased Rusted Harvester health from 35 to 45. balance: Increased haunted longsword's demolition mod by 20%. fix: Rusted harvesters won't get narsie telling them to bring her their victims. fix: Heretic summons aren't affected by void chill anymore. /:cl: * Automatic changelog for PR #88168 [ci skip] * Adds in the modulo operator to the circuit arithmetic component. (#88253) ![image](https://github.com/user-attachments/assets/17a5d230-c10f-4fda-b782-0d59c2797bff) This PR just adds in modulo to the circuit arithmetic component. You _can_ calculate it yourself, but then it ends up extremely unoptimal and you're usually better off not doing it. It also ends up really hard to read. I want to see more clever circuits and computing things. :cl: add: Added in the modulo operator to the circuit arithmetic component. /:cl: * Automatic changelog for PR #88253 [ci skip] * Fix double-encode in AI shuttle call reasons (#88245) This fixes double html encoding with AI shuttle calls, due to `tgui_input_text` being called without setting `encode = FALSE` - `SSshuttle.requestEvac` expects unencoded text. I added documentation to `SSshuttle.requestEvac`, including clarifying that it expects non-html-encoded text. ' is annoying :cl: fix: Fixed double-encoded messages with AI shuttle call reasons. /:cl: * Automatic changelog for PR #88245 [ci skip] * Fixes Nebula's robotics fabricators being obstructed roundstart (#88236) Closes #88230 :cl: fix: Fixed Nebula's robotics fabricators being obstructed roundstart /:cl: * Automatic changelog for PR #88236 [ci skip] * Aquariums are now potential fishing spots. (#88243) You can now fish from aquariums if you wish to. This includes some backend changes to make it possible for the fish table from get_fish_table() to contain instances, and all that it entails up to spawn_reward(), which is a requirement for the gimmick to respect the various traits and other variables of the already instantiated fish rather than read from cached properties. The fish progress score/index had only little nasty flaw that has been nagging me since day one: Not all fish species can be caught. Skipping McGill, which is a peculiar case that for cheevo purposes should be considered a standard goldfish, there is the one, unsignificant yet rare purple sludgefish which can only be gotten as a rare evolution of the generic sludgefish. Talk about petty, but this may be a long-term nit I prefer to handle right now. Also why not? The 'unmarine mastodon' is near impossible to get unless you somehow find a oil well which is locked behind a specific ruin. :cl: fix: Aquariums are now potential fishing spots. /:cl: * Automatic changelog for PR #88243 [ci skip] * Fix hands/clothes still getting covered in blood with light step (#88247) * Automatic changelog for PR #88247 [ci skip] * Moves damage overlay disabling into a separate trait for the numb quirk (#88281) Detemination gives you TRAIT_ANALGESIA, so if you take ***too much*** damage you'll be unable to see it as well. Plus linking blunt overlay hiding to reagents isn't very good practice as it can cause flickering if you microdose. (Also fixed incorrect trait sources on the quirk and kept it for the nocrit deathmatch modifier) Closes #88278 :cl: fix: Fixed damage overlays hiding themselves or flickering when you get wounded. /:cl: * Automatic changelog for PR #88281 [ci skip] * Fix itchy skillchip status effect "Curse of Mundanity", adds unit test for effects set to "Curse of Mundanity" (and missing IDs) (#88240) Fixes a lot of status effects having the default alert, adds a unit test to check that status effects don't forget to change it I chose a test rather than just making the default "no alert" because I think people making status effects should think about whether it should have an alert Also I added a test for effects which did not set an ID because that's kind of important, I applied the same mindset here to account for abstract types but admittedly less sold on this one. :cl: Melbert fix: You should be afflicted by the "Curse of Mundanity" far, far less /:cl: * Automatic changelog for PR #88240 [ci skip] * [NO GBP] Fixes projectile parrying (#88269) I have... questions, to previous self. Yeah. :cl: fix: Fixed projectile parrying /:cl: * Automatic changelog for PR #88269 [ci skip] * Fix admin local sound (#88214) * Automatic changelog for PR #88214 [ci skip] * [no gbp] attribution mishaps (#88246) * Aquarium kits can now be printed + other tweaks. (#88068) Aquarium kits can now be printed from service, cargo, science protolathes and the autolathe too, from half a sheet of metal. You still need the other materials to set it up but it should be fairy simple if you can access a proto/autolathe. The 'Growth/Reproduction' setting for aquariums has been renamed to "Safe Mode", which, on top of disabling features such as growth, reproduction, evolution, power generation etc etc, will also disable the water, temperature and food requirements for keeping the fish alive. Useful if you want a purely ornamental aquarium or you have to skidaddle somewhere else for a while. The lawyer, as well as prefilled aquariums start with 'Safe Mode' enabled. The 'Aggressive' fish trait has been replaced with 'Territorial', which is exactly the same but the fish won't lash out unless the aquarium is populated by five fishes or more. No more angelfish viciously attacking the guppy and goldfish in prefilled aquariums. Tweaked a couple values around hunger and fish health loss when starving or in a bad environment to cause slightly less damage. Lastly, added screentips to the aquarium component, which is something I've forgot to do in the PR that brought it. Aquariums may be a complex feature, but as far as I can tell, I had been neglecting the possibility of aquariums as simple room decoration for a while (outside of the beauty-related mechanics), and the constant maintenance (and perhaps a bit of knowhow) they require makes them awful at that. Also, the "growth/reproduction" setting really didn't have a reason to be before, since it didn't offer any tangible benifit to turn it off, so I had to revamped it. Also it's been proven by now that keeping aquariums as cargo-orderable stuff is just bad. As for the fish trait change, it just sucks to see the angelfish shank the goldfish with no way to solve it other than removing the hyper-aggressive killer fish from san diego fella. :cl: balance: Aquarium kits can now be printed from cargo, service, science protolathes as well as the autolathe. They no longer have to be ordered from cargo. balance: Revamped the "Growth/Reproduction" setting for aquarium to "Safe Mode", which also disables the food, temperature and water requiremenets of aquariums, making it useful for purely decorative aquariums. balance: Replaced the "Aggressive" fish trait with "Territorial". No more angelfish shanking the goldfish and guppy in prefilled aquariums with less than 5 fishes. qol: Added screentips to aquariums. /:cl: * Automatic changelog for PR #88068 [ci skip] * Icemoon lavaloops now look different. (#88235) Co-authored-by: SmArtKar <[email protected]> * Automatic changelog for PR #88235 [ci skip] * Resprites all the Fannypack worn sprites to match their object sprites (#88267) * Automatic changelog for PR #88267 [ci skip] * fix cyber eyes names (#88271) Fixes some eyes to have standartized naming Bugfix good :cl: fix: Printed Moth X-Ray eyes are now correctly named, instead of being just "robotic eyes" /:cl: * Automatic changelog for PR #88271 [ci skip] * [NO GBP] Fixes plasmamen envirosuits being unrepairable (#88263) Closes #88255 It ***was*** the refactor's fault :cl: fix: Fixed plasmamen envirosuits being unrepairable /:cl: * Automatic changelog for PR #88263 [ci skip] * Fixes cargo ticket and pet adventure drone loot pools not working (#88270) Closes #88268 :cl: fix: Fixed cargo ticket and pet adventure drone loot pools not working /:cl: * Automatic changelog for PR #88270 [ci skip] * Improved shower/blood effects (#87747) Last night I was experimenting with hooking up different chemicals to a shower and discovered that blood didn't really do anything other than have red mist and particles. Your characters clothes were still cleaned. The mood boost was still happy. So I reworked it a bit. Blood now: - Gives a negative mood, disgust, and status effect when showering with it (unless you are morbid, evil, or undead, then it's considered positive) - Has an icon alert for bloody showers - Covers a mob's clothing with blood when showering (or any objects on the tile) - Tossing or spraying a container full of blood now covers objects/mobs in blood - The revenant defile spell now affects showers by removing all water recyclers and reagents that gets replaced with blood Showers now: - Require 70% of water to clean and get mood/status effects - Require 70% of blood to get mood/status effects - Require 20% of radioactive reagents to stop radiation removal effects So it's possible to have a clean water shower that is secretly radioactive. Since radioactive reagents do nothing on `TOUCH`, all this achieves is preventing the water from washing off the radiation. I did have to refactor some of the reagent code to support method types for objects since I was experiencing hazmat issues when I was testing. Whenever I would inject blood from a syringe into a beaker, it would cover the beaker in blood on the outside. This would have been extremely hazardous for viruses. So I needed to make sure we are only applying it to the methods for `VAPOR|TOUCH` Also improved the mood typecasting for owner to allow checking of mob biotypes. (so we can check `UNDEAD` for mood) Blood effects and interactions are now more consistent. The code for objects is refactored to support method interactions with reagents. Evil/Morbid people now get some unique interactions that fit their theme. Last we get a cool new ability to let revenant's make their defiled areas something out of a horror movie. :cl: add: The revenant defile spell now affects showers by removing all water recyclers and reagents that gets replaced with blood. add: Showering in clean water (+70%) results in positive mood/regen/stamina effects. It will wash off the mob. add: Showering in dirty water results in negative mood effects and disgust. It will NOT wash off the mob. add: Showering with radioactive reagents (+20%) results in the preventing the shower from washing off the radiation. add: Showering in blood (+70%) results in severe negative mood effects and disgust. (unless you are morbid, evil, or undead then it's considered positive) It will cover the mob in blood. add: Water effects that interact with a mob from touch or vapor (showering/spray bottles/etc.) will now heal sleep, unconsciousness, confusion, drowsiness, jitters, dizziness, and drunkenness. fix: Fix bloody showers not covering objects in blood. fix: Tossing or spraying a container full of blood now covers objects/mobs in blood fix: Fix wrong status effect for watery tile image: Add new alert icons for bloody/dirty showers code: Refactored some expose_obj reagent code to support method types. code: Improved mood typecasting for owner to allow checking of mob biotypes. /:cl: --------- Co-authored-by: MrMelbert <[email protected]> Co-authored-by: Ghom <[email protected]> * Prevents atmos tanks from fetching icons every atmos tick (#88264) According to Kapu, RscFile() is a hash operation and thus is relatively slow. Having dozens of them ran every tick by atmos tanks is not ideal. There's more uncached icons in filters to tackle but the only one relatively impactful is status display init mask - however our filter code is mildly fucked to say the least, as icon() is ran ***regardless of whenever a filter is cached or not*** because we pass them as lists, not actual filter objects - and filter() seems to call one internally regardless of what its passed, so every update_filters fetches an icon for anything with an alpha/displacement filter. This doesn't actually do much on its own, but is nice to have so that future contributors don't make the same mistake by copypasting code. :cl: SmArtKar, Kapu fix: Atmospheric tanks no longer fetch icons every tick /:cl: * Fix advanced leg name (#88273) Fixes printed advanced robotic right leg name, instead of it being "heavy" Bugfix good :cl: fix: Printed advanced robotic right leg now has correct name, instead of being "heavy" /:cl: * Automatic changelog for PR #87747 [ci skip] * Automatic changelog for PR #88264 [ci skip] * Automatic changelog for PR #88273 [ci skip] * [FIX] Makes etherials no longer lose overcharge really slowly (#88286) So, as you might know, megacells made it that etherials gained charge really slowly. I changed this to be proportional again, but forgot to make it that said charge decreases the same, leading to an overcharge lasting 30+ minutes and the toxin damage killing you before said overcharge wore off. Also I realized I screwed up a value on the charge gain from booze when i took one sip of a telepole and instantly spewed lightning everywhere, so thats been decreased. Because…
This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself. |
О Pull Request
NovaSector/NovaSector#4635 - был пропущен ранее
NovaSector/NovaSector#4682
Как это может улучшить/повлиять на игровой процесс/ролевую игру
Доказательства тестирования
Скриншоты/Видео
Changelog
Всё включено