mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-02-07 23:09:28 +00:00
bcb5c475717ddfa2b30cf4585ea0e31282e4cf78
98 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b67a0901f2 |
Fix issues discovered via TypeMaker (#87596)
## About The Pull Request Fixes issues with var typing and proc arguments, discovered using OpenDream's WIP TypeMaker feature (using improvements I haven't PR'd upstream yet). ## Why It's Good For The Game Codebase maintenance. |
||
|
|
ebf25acd9e |
Restores Derelict's vault doors hacking immunity (#87604)
## About The Pull Request Title; it was handled by `attackby()` and became deprecated at some point, something something attack chain Also gave it feedback because might as well ## Why It's Good For The Game Fixes #79926 ## Changelog 🆑 fix: the Derelict vault doors are once again unhackable qol: the Derelict vault doors provide chat feedback when you try to hack them so you can stop poking them with your tools /🆑 |
||
|
|
778ed9f1ab |
The death or internal/external organ pathing (ft. fixed fox ears and recoloring bodypart overlays with dye sprays) (#87434)
## About The Pull Request This PR kills the abstract internal and external typepaths for organs, now replaced by an EXTERNAL_ORGAN flag to distinguish the two kinds. This PR also fixes fox ears (from #87162, no tail is added) and mushpeople's caps (they should be red, the screenshot is a tad outdated). And yes, you can now use a hair dye spray to recolor body parts like most tails, podpeople hair, mushpeople caps and cat ears. The process can be reversed by using the spray again. ## Why It's Good For The Game Time-Green put some effort during the last few months to untie functions and mechanics from external/internal organ pathing. Now, all that this pathing is good for are a few typechecks, easily replaceable with bitflags. Also podpeople and mushpeople need a way to recolor their "hair". This kind of applies to fish tails from the fish infusion, which colors can't be selected right now. The rest is just there if you ever want to recolor your lizard tail for some reason. Proof of testing btw (screenshot taken before mushpeople cap fix, right side has dyed body parts, moth can't be dyed, they're already fabolous):  ## Changelog 🆑 code: Removed internal/external pathing from organs in favor of a bit flag. Hopefully this shouldn't break anything about organs. fix: Fixed invisible fox ears. fix: Fixed mushpeople caps not being colored red by default. add: You can now dye most tails, podpeople hair, mushpeople caps etc. with a hair dye spray. /🆑 |
||
|
|
9f7d6dea62 |
Outfits that put items in your hand now respect if the outfit is visual only (#87355)
## About The Pull Request On a downstream, we have an antagonist, that is a less competent wizards. This antagonist's preview outfit has a beer bottle in their hand, which has caused runtimes, as the bottle did not have any reagents instantiated, and it tried check its length for sloshing. After putting in a check for the `initial` argument of `on_equip`, I have noticed that the problem goes deeper: the various procs that handle putting something in your hand do not pass along if the items is put in your hand as a preview or not. This PR adds a new optional var to these procs, ensuring that unwanted behaviour during previews won't trigger. I also swapped `visualsOnly` to snake case, as it looked inconsistent with the rest of the code style. ## Why It's Good For The Game Making the argument that ensures avoiding side effects during previews work with all kinds of items is good. ## Changelog 🆑 fix: if an outfit puts a reagent container in the preview dummy's hand, it will not try to slosh code: outfits putting items in your hand will respect the visual_only argument /🆑 |
||
|
|
7d1c42de3c |
teleporter turrets are no longer magical (#87397)
## About The Pull Request they are bluespace and the description says so so they no longer are stopped by antimagic ## Why It's Good For The Game figure the real puzzle solution out noob ## Changelog 🆑 fix: teleport turrets are no longer magical and will not be stopped by antimagic /🆑 |
||
|
|
e9d8130aa3 |
[No GBP] Minor fixes to Haunted Trading Post, Garbage Truck & Lizard Gas (Lavaland) ruins, and MI13 Food Truck (#87026)
Haunted Trading Post - - Shock traps no longer trigger when Syndicate mobs move nearby. This stops patrolling bots wasting the traps' charges. - Employee lounge has had its items rearranged, to prevent the 1-in-8 chance of the shock trap in the room emitting sparks in just the right direction to ignite the fuel tanks. - Dedbots now become sparks and robotic debris when destroyed. - Space outside the map has been replaced with turf passthrough. By default this doesn't change anything, but this stops the map template bringing space tiles with it if it's force loaded on planetary maps. Garbage Trucks - -Space outside the map has been replaced with turf passthrough. Lizard Gas (Lavaland) - - Asphalt turfs in the unroofed parts of the ruins now use planetary atmos. Atmospheric mishaps (ie plasmafloods and fires from broken or sabotaged equipment) will spread in a more intuitive pattern (ie they will bunch up and bubble under the roof, instead of sticking to the road) MI13 Food Truck - - Removed a decal in a wall. - Minor tweak to thruster sprites. ## Why It's Good For The Game These are maintenance fixes on maps I've made. ## Changelog 🆑 balance: [Haunted Trading Post] Explosive trap in Employee's Lounge is now less sensitive. balance: [Haunted Trading Post] Shock traps will no longer be triggered by Syndicate mobs. fix: Dedbots now properly spawn post-death visual effects. fix: [Lizard's Gas (Lavaland)] Atmos outside the gas station has been tweaked, for realism. fix: [MI13 Food Truck] Minor visual fixes. /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
79db7bdfe5 |
Adds 3 'Comms Buoy' Space Ruins (#86872)
## About The Pull Request https://github.com/tgstation/common_core/blob/master/Technology%20and%20Science/Communications.md I was playing Starsector shortly before I read through this lore blurb and realized that simple Comms Buoys would be easy little ruins to make. Then I decided to make NT's extra-special because NT is always leading in tech innovation. Adds 2 "low-tech" Comms Buoy ruins (**no local comms**, these are just little fluff things): <details><summary>Kosmokomm Communications Buoy</summary> </details> <details><summary>Pirated Communications Buoy</summary> </details> The majority of the PR is the "high-tech" Nanotrasen Extraorbital Bluespace Communications Buoy <details><summary>The NT-EBCB Model 7 (ignore the parallax i couldnt get it all in one screenshot)</summary>  </details> This is a medium ruin that's more lore heavy than loot heavy - though that doesn't mean there's no danger. NT wouldn't want you walking in and reading all their communication logs after all. <details><summary>SPOILERS INSIDE</summary> **Hazards:** 2 Laser Turrets (in a titanium room, so they reflect off walls) **Loot:** 2 Experimental Tool spawners, 2 NT Private Security bodies, 3 space suits, 1 of each tcomm component, 2 RTGs (can these even be taken) The majority of the sat is for lore. It has 3 paper notes and 5 consoles (1 broken, 1 dupe, so 3 unique consoles) All lore will be here to show how formatting appears in-game. <details><summary>Airlock Note: "Page 33: NT-EBCB Model 7"</summary> This one gives a quick summary of what to expect inside - consoles and defense turrets. Of course, players won't have the special ID (and couldn't use it anyways, the guys inside covered it in blood)  </details> <details><summary>Pinned Note: "Table of Contents: NT-EBCB Model 7"</summary> A page out of the manual. Rest of manual not included. (Names the different parts of the buoy)  </details> <details><summary>Main-Dish Note: "Spinward-NT-EBCB Inspection Report"</summary> An inspector left behind a few notes during pre-deployment. Sure hope no important security risks were missed!  </details> <details><summary>Console 1: "Satellite Dish Operations Terminal"</summary> This one's mostly just a tie-in with the "story", don't know how necessary it is but it filled the empty spaces. This console has a spare in the Main Dish (as its prone to breaking from the turrets)  </details> <details><summary>Console 2: "Blackbox Transcription Terminal"</summary> The "local" side of the story. This console monitors the Local-Space Comms, and managed to log the repair team's activity.  </details> <details><summary>Console 3: "Long-Range Interstellar Relay Operations Terminal"</summary> Here's the big lore thing for freaks like me who love lore being shown in-game. It's got a lot of random-made-up-science-bullwhizz relating to the ongoing NT research mentioned in the plasma_exposure lore blurb. Granted, the guy's a bit biased in his ex-partner's work.   </details> </details> ## Why It's Good For The Game A) Everybody loves new space ruins, even small fluff ones. I hope. B) Lore integration is cool. Aside from the obvious 'Comms Buoys being a thing you can find', it also makes mention of the Gateway system/Port Ellis and a certain lore blurb involving plasma (albeit under more severe, and biased, testing) ## Changelog 🆑 add: 3 new Space Ruins: two small Comms Buoys (fluff) and an NT Bluespace Comms Buoy. Employees are asked not to touch vital components when nearby this critical infrastructure. /🆑 |
||
|
|
58501dce77 |
Reorganizes the sound folder (#86726)
## About The Pull Request <details> - renamed ai folder to announcer -- announcer -- - moved vox_fem to announcer - moved approachingTG to announcer - separated the ambience folder into ambience and instrumental -- ambience -- - created holy folder moved all related sounds there - created engineering folder and moved all related sounds there - created security folder and moved ambidet there - created general folder and moved ambigen there - created icemoon folder and moved all icebox-related ambience there - created medical folder and moved all medbay-related ambi there - created ruin folder and moves all ruins ambi there - created beach folder and moved seag and shore there - created lavaland folder and moved related ambi there - created aurora_caelus folder and placed its ambi there - created misc folder and moved the rest of the files that don't have a specific category into it -- instrumental -- - moved traitor folder here - created lobby_music folder and placed our songs there (title0 not used anywhere? - server-side modification?) -- items -- - moved secdeath to hailer - moved surgery to handling -- effects -- - moved chemistry into effects - moved hallucinations into effects - moved health into effects - moved magic into effects -- vehicles -- - moved mecha into vehicles created mobs folder -- mobs -- - moved creatures folder into mobs - moved voice into mobs renamed creatures to non-humanoids renamed voice to humanoids -- non-humanoids-- created cyborg folder created hiss folder moved harmalarm.ogg to cyborg -- humanoids -- -- misc -- moved ghostwhisper to misc moved insane_low_laugh to misc I give up trying to document this. </details> - [X] ambience - [x] announcer - [x] effects - [X] instrumental - [x] items - [x] machines - [x] misc - [X] mobs - [X] runtime - [X] vehicles - [ ] attributions ## Why It's Good For The Game This folder is so disorganized that it's vomit inducing, will make it easier to find and add new sounds, providng a minor structure to the sound folder. ## Changelog 🆑 grungussuss refactor: the sound folder in the source code has been reorganized, please report any oddities with sounds playing or not playing server: lobby music has been repathed to sound/music/lobby_music /🆑 |
||
|
|
ef14af1ff6 |
converts certain donk outpost objects to use SSqueuelinks instead of globals (#85637)
## About The Pull Request converts certain donk outpost objects to use SSqueuelinks instead of globals ## Why It's Good For The Game i dont think every cool ruin should have its own global vars + this allows multiple of the ruin to be spawned without breaking if someone wants to do that for some reason its better to just do it like this ## Changelog 🆑 code: that one cool haunted donk outpost ruins tripwires and such use a subsystem instead of globals. no real gameplay effect /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
feb474550f |
Removes vestigial req_access from vending machines + some cleanup (#86550)
## About The Pull Request Once upon a time, vending machines were access locked I guess? It's been so many years since that has been the case that most people don't remember (including myself). This just removes all the old unused req_access lists that reside on the various vending machines. ## Why It's Good For The Game Less chance of cargo culting something that serves no purpose anymore. ## Changelog Nothing player facing I should hope --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
91baa94ac5 |
event based incapicated and able_to_run (#86031)
## About The Pull Request this is a revival of #82635 . i got permission from potato to reopen this, he did almost all the work. i only just solved the conflicts and fixed all the bugs that were preventing the original from being merged (but it should be TMed first) ## Why It's Good For The Game slightly improves the performance of basic mob AI ## Changelog 🆑 LemonInTheDark refactor: able_to_run and incapacitated have been refactored to be event based /🆑 --------- Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> Co-authored-by: ZephyrTFA <matthew@tfaluc.com> |
||
|
|
9a9b428b61 |
Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
|
||
|
|
5e6a4f1527 |
Fix grammar error on Hilbert (#86015)
## About The Pull Request Hilbert's Hotel is a mountain free zone. ## Changelog 🆑 LT3 spellcheck: Sneak a peek of Hilbert's Hotel, not a sneak peak /🆑 |
||
|
|
1880003270 |
Reworks silicon/ai access checking & fixes some ui_act's (#84964)
## About The Pull Request Currently to check for Silicon access, we do: ``if is silicon or is admin ghost or has unlimited silicon privileges or has machine remote in hand`` What has unlimited silicon privileges? Bots, Drones, and admin ghosts. To check for AI access, it just checks for AI instead of silicon, and doesnt check for unlimited silicon privileges. This was kinda silly, so I thought I should make this a little easier to understand. Now all silicon/ai traits come from ``AI_ACCESS_TRAIT`` or ``SILICON_ACCESS_TRAIT``. I made a single exception to keep Admin ghost, since now instead of being a var on the client, we moved it to using the same trait but giving it to the client instead, but since we have to keep parity with previous functionality (admins can spawn in and not have this on, it only works while as a ghost), I kept previous checks as well. No more type checks, removes a silly var on the mob level and another on the client. Now while I was doing this, I found a lot of tgui's ``ui_act`` still uses ``usr`` and the wrong args, so I fixed those wherever I saw them, and used a mass replace for the args. Other changes: - machinery's ``ui_act`` from https://github.com/tgstation/tgstation/pull/81250 had ``isAI`` replaced with ``HAS_AI_ACCESS``, this has been reverted. Machine wands and admin ghosts no longer get kicked off things not on cameras. This was my fault, I overlooked this when adding Human AI. - Human AI's wand gives AI control as long as it's in your hand, you can swap to your offhand. I hope this doesn't end up going horribly, otherwise I'll revert this part. It should let human AIs not have their UI closed on them when swapping to eat food or use their door wand or whatnot. - Bots previously had special checks to scan reagents and be unobservant, I replaced this with giving them the trait. I also fixed an instance of unobservant not being used, so now statues don't affect the basic creature, whatever that is. ## Why It's Good For The Game This is an easier to understand way of handling silicon access and makes these mobs more consistent between eachother. Other than what I've mentioned above, this should have no impact on gameplay itself. ## Changelog 🆑 fix: Statues don't count as eyes to creatures. fix: Human AIs and Admin ghosts no longer get kicked off of machines that aren't on cameranets. /🆑 |
||
|
|
fec946e9c0 |
/Icon/ Folder cleansing crusade part, I think 4; post-wallening clean-up. (#85823)
Hello everybuddy, your number three rated coder-failure here to clean up some mess. This PR accomplishes some of the more major structural clean up changes I wanted to do with /obj/ folder, but decided to wait on until wallening gets merged, and so, time has come. Several things to still be done, although I know these cleaning PR's are quite a load, so will wait for this one to get done with first. ## Why It's Good For The Game Saner spriters, better sprites, less annoyance. Also deleted a whole load of redundancy this time around, a lot of sprites which existed simultaniously in two places now got exit their quantum superposition. |
||
|
|
4b4e9dff1d |
Wallening [IDB IGNORE] [MDB IGNORE] (#85491)
## What's going on here Kept you waitin huh! This pr resprites most all walls, windows and other "wall adjacent" things to a 3/4th perspective, technical term is "tall" walls (we are very smart). If you're trying to understand the technical details here, much of the "rendering tech" is built off the idea of split-vis. Basically, split a sprite up and render it on adjacent turfs, to prevent seeing "through" walls/doors, and to support seeing "edges" without actually seeing the atom itself. Most of the rest of it is pipelining done to accommodate how icons are cut. ## Path To Merge Almost* all sprites and code is done at this point. There are some things missing both on and off the bounty list, but that will be the case forever unless we force upstream (you guys) to stop adding new shit that doesn't fit the style. I plan on accepting and integrating prs to the current working repo <https://github.com/wall-nerds/wallening> up until a merge, to make contribution simpler and allow things like bounties to close out more easily This pr is quite bulky, even stripping away map changes it's maybe 7000 LOC (We have a few maps that were modified with UpdatePaths, I am also tentatively pring our test map, for future use.) This may inhibit proper review, although that is part of why I am willing to make it despite my perfectionism. Apologies in advance. Due to the perspective shift, a lot of mapping work is going to need to be done at some point. This comes in varying levels of priority. Many wallmounts are offset by hand, some are stuck in the wall/basically cannot be placed on the east/west/north edges of walls (posters), some just don't look great good in their current position. Tests are currently a minor bit yorked, I thought it was more important to get this up then to clean them fully. ## What does it look like?       ## Credits <details> <summary>Historical Mumbojumbo</summary> I am gonna do my best to document how this project came to be. I am operating off third party info and half remembered details, so if I'm wrong please yell at me. This project started sometime in late 2020, as a product of Rohesie trying to integrate and make easier work from Mojave Sun (A recently defunct fallout server) with /tg/. Mojave Sun (Apparently this was LITERALLY JUST infrared baron, that man is insane) was working with tall walls, IE walls that are 48px tall instead of the normal 32. This was I THINK done based off a technical prototype from aao7 proving A it was possible and B it didn't look like dogwater. This alongside oranges begging the art team for 3/4th walls (he meant TGMC style) lead to Rohesie bringing on contributors from general /tg/, including actionninja who would eventually take over as technical lead and Kryson, who would define /tg/'s version of the artstyle. Much of the formative aspects of this project are their work. The project was coming along pretty well for a few months, but ran into serious technical issues with `SIDE_MAP`, a byond map_format that allows for simpler 3/4th rendering. Due to BULLSHIT I will not detail here, the map format caused issues both at random with flickering and heavily with multiz. Concurrent with this, action stepped down after hacking out the rendering tech and starting work on an icon cutter that would allow for simpler icon generation, leaving ninjanomnom to manage the project. Some time passed, and the project stalled out due to the technical issues. Eventually I built a test case for the issues we had with `SIDE_MAP` and convinced lummox jr (byond's developer) to explain how the fuckin thing actually worked. This understanding made the project theoretically possible, but did not resolve the problems with multi-z. Resolving those required a full rework of how rendering like, worked. I (alongside tattle) took over project development from ninjanomnom at this time, and started work on Plane Cube (#69115), which when finished would finally make the project technically feasible. The time between then and now has been slow, progressive work. Many many artists and technical folks have dumped their time into this (as you can see from the credits). I will get into this more below but I would like to explicitly thank (in no particular order) tattle, draco, arcanemusic, actionninja, imaginos, viro and kylerace for keeping the project alive in this time period. I would have curled up into a ball and died if I had to do this all myself, your help has been indispensable. </details> <details> <summary>Detailed Credits</summary> Deep apologies if I have forgotten someone (I am sure I have, if someone is you please contact me). I've done my best to collate from the git log/my memory. Thanks to (In no particular order): Raccoff: Being funny to bully, creating threshold decals for airlocks aa07: (I think) inspiring the project ActionNinja: Laying the technical rock we build off, supporting me despite byond trying to kill him, building the icon cutter that makes this possible ArcaneMusic: Artistic and technical work spanning from the project's start to literally today, being a constant of motivation and positivity. I can't list all the stuff he's done Armhulen: Key rendering work (he's the reason thindows render right), an upbeat personality and a kick in the ass. Love you arm Azlan: Damn cool sprites, consistently Ben10Omintrix: You know ben showed up just to make basic mobs work, he's just fuckin like that man BigBimmer: A large amount of bounty work, alongside just like, throwing shit around. An absolute joy to work with Capsandi: Plaques, blastdoors, artistic work early on CapybaraExtravagante: Rendering work on wall frames Draco: SO MUCH STUFF. Much of the spritework done over the past two years is his, constantly engaged and will take on anything. I would have given up if not for you Floyd: Early rendering work, so early I don't even know the details. Enjoy freedom brother Imaginos16: A guiding hand through the middle years, handled much of the sprite review and contribution for a good bit there Iamgoofball: A dedication to detail and aesthetic goals, spends a lot of effort dissecting feedback with a focus on making things as good as they can be at the jump Infrared: Part of the impetus for the project, made all the xenomorph stuff in the MS style Jacquerel: A bunch of little upkeep/technical things, has done so much sprite gruntwork (WHY ARE THERE SO MANY PAINTING TYPES) Justice12354: Solved a bunch of error sprites (and worked out how to actually make prs to the project) Thanks bro! Kryson: Built the artstyle of the project, carrying on for years even when it was technically dying, only stopping to casually beat cancer. So much of our style and art is Kryson KylerAce: Handled annoying technical stuff for me, built window frame logic and fully got rid of grilles. LemonInTheDark: Rendering dirtywork, project management and just so much fucking time in dreammaker editing sprites Meyhazah: Table buttons, brass windows and alll the old style doors Mothblocks: Has provided constant support, gave me a deadline and motivation, erased worries about "it not being done", gave just SO much money to fill in the critical holes in sprites. Thanks moth MTandi: Contributed art despite his own blackjack and hookers club opening right down the road, I'm sorry I rolled over some of your sprites man I wish we had finished earlier Ninjanomnomnom: Consulted on gags issues, kept things alive through some truly shit times oranges: This is his fault Rohesie: Organized the effort, did much of the initial like, proof of concept stuff. I hope you're doin well whatever you're up to. san7890: Consulting on mapper UX/design problems, being my pet mapper Senefi: Offsetting items with a focus on detail/the more unused canidates SimplyLogan: Detailed map work and mapper feedback, personally very kind even if we end up talking past each other sometimes. Thank you! SpaceSmithers: Just like, random mapping support out of nowhere, and bein a straight up cool dude Tattle: A bunch of misc project management stuff, organizing the discord, managing the test server, dealing with all the mapping bullshit for me, being my backup in case of bus. I know you think you didn't do much but your presence and work have been a great help Thunder12345: Came out of nowhere and just so much of the random bounties, I'm kind of upset about how much we paid him Time-Green: I hooked him in by fucking with stuff he made and now he's just doin shit, thanks for helping out man! Twaticus: Provided artistic feedback and authority for my poor feeble coder brain, believed in the project for YEARS, was a constant source of ❤️ and affirmation unit0016: I have no god damn idea who she is, popped out of nowhere on the github one day and dealt with a bunch of annoying rendering/refactoring. Godspeed random furry thank you for all your effort and issue reports Viro: A bunch of detailed spriting moving towards 3/4ths, both on and off the wallening fork. If anyone believed this project would be done, it was viro Wallem: Artistic review and consultation, was my go-to guy for a long time when the other two spritetainers were inactive Waltermeldon: Cracked out a bunch of rendering work, he's the reason windows look like not dogwater. Alongside floyd and action spent a TON of time speaking to lummox/unearthing how byond rendering worked trying to make this thing happen ZephyrTFA: Added directional airlock helpers, dealt with a big fuckin bugaboo that was living in my brain like it was nothing. Love you brother And finally: The Mojave Sun development team. They provided a testbed for the idea, committed hundreds and hundreds of hours to the artstyle, and were a large reason we caught issues early enough to meaningfully deal with them. Your work is a testament to what longterm effort and deep detailed care produce. I hope you're doing well whatever you're up to. Go out with a bang! </details> ## Changelog 🆑 Raccoff, aa07, ActionNinja, ArcaneMusic, Armhulen, Azlan, Ben10Omintrix, BigBimmer, Capsandi, CapybaraExtravagante, Draco, Floyd, Iamgoofball, Imaginos16, Infrared, Jacquerel, Justice12354, Kryson, KylerAce, LemonInTheDark, Meyhazah, Mothblocks, MTandi, Ninjanomnom, oranges, Rohesie, Runi-c, san7890, Senefi, SimplyLogan, SomeAngryMiner, SpaceSmithers, Tattle, Thunder12345, Time-Green, Twaticus, unit0016, Viro, Waltermeldon, ZephyrTFA with thanks to the Mojave Sun team! add: Resprites or offsets almost all "tall" objects in the game to match a 3/4ths perspective add: Bunch of rendering mumbo jumbo to make said 3/4ths perspective work /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> Co-authored-by: san7890 <the@san7890.com> Co-authored-by: = <stewartareid@outlook.com> Co-authored-by: Capsandi <dansullycc@gmail.com> Co-authored-by: ArcaneMusic <hero12290@aol.com> Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com> Co-authored-by: SomeAngryMiner <53237389+SomeAngryMiner@users.noreply.github.com> Co-authored-by: KylerAce <kylerlumpkin1@gmail.com> Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com> Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com> Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com> Co-authored-by: Runi-c <5150427+Runi-c@users.noreply.github.com> Co-authored-by: Roryl-c <5150427+Roryl-c@users.noreply.github.com> Co-authored-by: tattle <article.disaster@gmail.com> Co-authored-by: Senefi <20830349+Peliex@users.noreply.github.com> Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com> Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com> Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com> Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com> Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com> Co-authored-by: Rob Bailey <github@criticalaction.net> Co-authored-by: MMMiracles <lolaccount1@hotmail.com> |
||
|
|
2913b95b70 |
Fixed Charlie MOD installer not installing MODsuits unless you have a backpack to drop (#85671)
## About The Pull Request Closes #85669 ## Changelog 🆑 fix: Fixed Charlie MOD installer not installing MODsuit unless you have a backpack to drop /🆑 |
||
|
|
b748c455df |
Donk Co Interstellar Trading Post 6016 (#83075)
## About The Pull Request Adds a new space ruin to the pool. It's the haunted trading post. It is a whiteship dock with a large (safe) common area. The back rooms contain loot and danger. Here are a few 'teaser' images. https://i.imgur.com/M1te9Ha.png https://i.imgur.com/SF3bJ62.png https://i.imgur.com/i9xeUFP.png https://i.imgur.com/UBwpJAM.png Notable treasures: Cash, Donk Co merch, Donk Co guns, Donk Co Donk Pockets, Donk Co vendors, Donk Co ID Cards, and the Donk Co Secret Recipe. Oh yeah the secret documents teach you how to make three prototype variants of Donk Pockets. There is no limit to the amount of times it can be read, so if you want to corner the market remember to lock up the documents. Or you can share them with your friends. **Now COMPLETE!**  ## Why It's Good For The Game This ruin is a multi-room dungeon with multiple solutions to each room. It has plenty of action from mobs, traps and hazards. Each room has some form of treasure or unique item in it. There's a boss at the end with great rewards for fighting it, including a cool gun (slightly worse variant of laser carbine). This ruin is also a whiteship dock and space base. The public area is entirely safe: stick to the well lit sector and don't trespass in the employees only areas and you won't be harmed. There is a variety of vendors to resupply at (including a brand new Donk Co snack vendor) but unlike most other space ruins you do have to pay. A whiteship can dock at this ruin if you have one, so you can bring groups of people to party or attack the dungeon together. ## Changelog 🆑 add: Adds the Haunted Trading Post space ruin. add: Adds 10+ unique items for the Haunted Trading Post add: Adds 5 dangerous mobs for the Haunted Trading Post add: Adds 4 new types of hazardous traps for the Haunted Trading Post. /🆑 --------- Co-authored-by: Afevis <ShizCalev@users.noreply.github.com> Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
5f80128fa9 |
Corrects 200+ instances of "it's" where it should've been "its" instead (#85169)
## About The Pull Request it's - conjunction of "it" and "is" its - possessive form of "it" grammar is hard, and there were a lot of places where "it's" was used where it shouldn't have been. i went and painstakingly searched the entire repository for these instances, spending a few hours on it. i completely ignored the changelog archive, and i may have missed some outliers. most player-facing ones should be corrected, though ## Why It's Good For The Game proper grammar is good ## Changelog 🆑 spellcheck: Numerous instances of "it's" have been properly replaced with "its" /🆑 |
||
|
|
ff6b41aa07 |
Afterattack is dead, long live Afterattack (#83818)
## About The Pull Request - Afterattack is a very simple proc now: All it does is this, and all it's used for is for having a convenient place to put effects an item does after a successful attack (IE, the attack was not blocked)  - An overwhelming majority of afterattack implementations have been moved to `interact_with_atom` or the new `ranged_interact_with_atom` I have manually tested many of the refactored procs but there was 200+ so it's kinda hard ## Why It's Good For The Game Afterattack is one of the worst parts of the attack chain, as it simultaneously serves as a way of doing random interactions NOT AT ALL related to attacks (despite the name) while ALSO serving as the defacto way to do a ranged interaction with an item This means careless coders (most of them) may throw stuff in afterattack without realizing how wide reaching it is, which causes bugs. By making two well defined, separate procs for handing adjacent vs ranged interactions, it becomes WAY WAY WAY more easy to develop for. If you want to do something when you click on something else and you're adjacent, use `interact_with_atom` If you want to do something when you click on something else and you're not adjacent, use 'ranged_interact_with_atom` This does result in some instances of boilerplate as shown here:  But I think it's acceptable, feel free to oppose if you don't I'm sure we can think of another solution ~~Additionally it makes it easier to implement swing combat. That's a bonus I guess~~ ## Changelog 🆑 Melbert refactor: Over 200 item interactions have been refactored to use a newer, easier-to-use system. Report any oddities with using items on other objects you may see (such as surgery, reagent containers like cups and spray bottles, or construction devices), especially using something at range (such as guns or chisels) refactor: Item-On-Modsuit interactions have changed slightly. While on combat mode, you will attempt to "use" the item on the suit instead of inserting it into the suit's storage. This means being on combat mode while the suit's panel is open will block you from inserting items entirely via click (but other methods such as hotkey, clicking on the storage boxes, and mousedrop will still work). refactor: The detective's scanner will now be inserted into storage items if clicked normally, and will scan the storage item if on combat mode /🆑 |
||
|
|
c0e0e9289f |
[no gbp] Fixes hilberts hotel alt click (#83431)
<!-- 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. --> ## About The Pull Request Base alt click would skip turfs as I did not think any had special alt click behaviors. I was mistaken. The comment was too. Note: Checking can_perform_action() does not work on turfs. I added some simple checks for turfs in its absence. <!-- Describe The Pull Request. Please be sure every change is documented or this can delay review and even discourage maintainers from merging your PR! --> ## Why It's Good For The Game Fixes #83430 <!-- 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. --> ## Changelog <!-- 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. --> 🆑 add: Added a screentip for hilbert's hotel door fix: Fixed alt-click interaction with hilbert's hotel door /🆑 <!-- Both 🆑's are required for the changelog to work! You can put your name to the right of the first 🆑 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: san7890 <the@san7890.com> |
||
|
|
8e3f635b98 |
Alt click refactor (#82656)
## About The Pull Request Rewrites how alt click works. Based heavily on #82625. What a cool concept, it flows nicely with #82533. Fixes #81242 (tm bugs fixed) Fixes #82668 <details><summary>More info for devs</summary> Handy regex used for alt click s&r: `AltClick\((.*).*\)(\n\t.*\.\.\(\))?` `click_alt($1)` (yes I am aware this only copies the first arg. there are no other args!) ### Obj reskins No reason for obj reskin to check on every single alt click for every object. It applies to only a few items. - Moved to obj/item - Made into signal - Added screentips ### Ventcrawling Every single atmospherics machine checked for ventcrawling capability on alt click despite only 3 objects needing that functionality. This has been moved down to those individual items. </details> ## Why It's Good For The Game For players: - Alt clicking should work more logically, not causing double actions like eject disk and open item window - Added context menus for reskinnable items - Removed adjacency restriction on loot panel For devs: - Makes alt click interactions easier to work with, no more click chain nonsense and redundant guard clauses. - OOP hell reduced - Pascal Case reduced - Glorious snake case ## Changelog 🆑 add: The lootpanel now works at range. add: Screentips for reskinnable items. fix: Alt click interactions have been refactored, which may lead to unintentional changes to gameplay. Report any issues, please. /🆑 |
||
|
|
9579eb338a |
[no gbp] Space Ruin bioscramblers shouldn't chase people around (#82649)
## About The Pull Request See title They wouldn't lock on to people on the station from a space ruin, but would to whoever entered their z level the second it was entered. Also fixes bug where I changed `status_flags` to `status_effects` for some reason which isn't where you look for godmode ## Why It's Good For The Game We have a space ruin whcih several (coreless) anomalies spawn on, the bioscrambler was put as an option because it was already immortal. It's weird though to zone into the ruin and immediately have every anomaly in there lock onto you, the best intended effect is probably for these ones specifically not to be bloodthirsty. We kind of only care about that behaviour on the station. ## Changelog 🆑 fix: Anomalous Research ruin Bioscrambler anomalies won't home in on targets fix: Bioscrambler won't randomly drop its target for no reason /🆑 |
||
|
|
1530f361c0 |
Removes unused code for HTML UIs (#82589)
## About The Pull Request This is the final PR for https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA that I've been slowly inching towards the past few months. This removes ``updateDialog``, ``updateUsrDialog``, ``IN_USE``, ``INTERACT_MACHINE_SET_MACHINE``, and everything surrounding it. Also fixes advanced camera consoles not booting you off when you're moved out of reach. We called ``check_eye`` on mob life whenever they had their machine var set, but their machine var would never be set to anything that actually used it, which I found to be a little funny but was also probably my fault. ## Why It's Good For The Game This is poor and unmaintained code used for HTML UIs that we no longer need thanks to TGUI, we should get rid of it to encourage the use of TGUI in the future instead. ## Changelog 🆑 fix: Advanced camera consoles now boots you off when you're moved out of reach. /🆑 |
||
|
|
88bdabe53b |
Adds a small cafeteria behind the right wing shutters of the museum. (#81465)
## About The Pull Request I was thinking to contribute something to the new away mission map to make it better. Mapping and all takes too much time for me, so I could do little. Though it comes with its own unique gimmicks. To reach the cafeteria, one has to complete a couple puzzles. The first set is opened by inputing the correct PIN on the password panel beside it. There're several clues to help you guess this fairly easy puzzle, in the form of several number graffitis, a scrapped piece of paper full of numbers, and a board filled with colored dots also found just beside the panel. The second one is opened by a keycard, and is generally lazier. To find it, you'll need to do a bit of (toilet) searching. As for the unique things this PR adds: - A fire extinguisher... that actually contains welding fuel - A (dirt-cheap) hotdog vending machine* - A completely ornamental maneki-neko (that's the name of the luck-bringing, paw-waving cat figurine) - A piggy bank that carries money between rounds. It has a cap of 10k credits worth of holochips, cash and coins, which is pretty high, but I'm confident people will just destroy it for its contents the moment they find it. His name is Pigston Swinelord VI. - More, totally legit and not actually fake bombable walls :^) *By the by, you can also find it during the national hotdog day. Screenshots of the new location:   ## Why It's Good For The Game You know how most away missions are not that special at all? Yeah, @mc-oofert set an example of a pretty decent one actually, if not a tad small. I thought it could use a touch of another mind actually contributing to it too, because it deserves it. Also, this sets the basis for other persistent piggy banks. I don't think they should all have that 10k cap like this one, perhaps 1k is enough. Beside, the code that mothblocks did for json database datum is pretty good, so there is not a whole lot of shitcode here. ## Changelog 🆑 add: Added a cafeteria to the museum away mission, with a few special things to it. To reach it, you'll have to complete a couple puzzles however. map: The museum away mission now has a couple restrooms. add: Hotdog vending machines may spawn during the National Hot Dog Day. /🆑 |
||
|
|
e4b23f2b4b |
General maintenance for Lathes (#81244)
## About The Pull Request
1. **Qol Stuff**
- Screentips & examines for screwdriver, crowbar acts, multiool &
wirecutter Also for Alt click
- Techfabs can now also use the Mouse drag functionality to set drop
target for items
- Lathe printing animation now plays on loop instead of just flicking
once till printing is finished for more visual feedback
2. **Code Improvements**
- Merged `start_making()` with `do_make_item()`. That proc was like only
3 lines long and used only in 1 place so let's just move that code to
`ui_act()`
- Merged `user_print_item_id()` with `ui_act()`. Again was used only in
1 place so let's just move that code in to save some proc overhead
- Sets `processing_flags` for autolathe to `NONE` cause we don't use
`process()`
- Autodocs vars such as `hacked` , `shocked` etc & procs
- `maxmult` is now computed client side saving backend bandwidth,
`construction_time` is removed from lathes which did not use it
- Removed all usages of lathe taxes and their related vars, removed
engineering lathe no tax from ice moon, replaced with normal engineering
lathe
3. **Fixes**
- Lathe sheet insertion animations are now linked & work again for all
material types inserted via remote silo/local storage,
silver/titanium/plastic all play the same animation(that is
`protolathe_shiny` overlay). Other materials have their own respective
overlays
- Fixes #81243. Calling `update_static_data_for_all_viewers()` is too
expensive for the UI. We should instead use `SStgui.update_uis(src)`
which will report the `busy` status to the UI more immediatly
- Fixes #81236. Some problems with the params passed to the timer
callback. It should now print the correct number of requested items
- Fixes #81192. `design.materials` would runtime for custom material
items as they were list of texts not materials. We have to pass our
manually parsed list of materials for an specific item to ensure they
are set & used correctly. Same fixes apply for techfabs as well
## Changelog
🆑
qol: adds screentips & examines for screwdriver & crowbar acts & alt
click.
qol: techfabs can now use the mouse drop functionality to set drop
target.
qol: lathe printing animation plays on loop while printing rather than
flicking once for more visual feedback
fix: lathe sheet insertion animations are now linked & work again for
all material types inserted via remote silo/local storage
fix: printing custom materials items from autolathe works again.
fix: printing multiple items from lathes will actually print that
correct quantity of items requested.
fix: printing items the 2nd time around from lathes won't cause the UI
to reload each time.
code: autodoc for some vars & procs, merges procs.
refactor: Optimized code for autolathe & techfabs in general. Report
bugs on github
/🆑
---------
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
|
||
|
|
279904e079 |
Saves some free lag by removing some in area (in world) loops (#80644)
## About The Pull Request Goes through and changes some `in area` / `in a` loops to use `get_contained_turfs` to cut down on `in_world` loops. Saves some free lag. ## Changelog 🆑 Melbert fix: Some things which affect everything in an area are less laggy, the "all lights are broken" station trait especially /🆑 |
||
|
|
45438b4f04 |
Removes the attack_slime proc, and other slime refactors (#80487)
## About The Pull Request - **Removed attack_slime**. Most of the attack_slime content has been moved to a proc that signs up for COMSIG_LIVING_UNARMED_ATTACK. Its ugly, but will make converting slimes to a basic mob easier. They now use attack_animal for now, which might cause some unexpected interactions. Hopefully when they are converted to basic mobs, these can be cleared up properly. - This caused some issues with cyborgs, who used to get only half damage dealt to them. As refactoring this would have been too much of a difficult task without much real gain, after much pondering, I have decided that since slimes can always flash cyborgs with each of their strikes, maybe cyborgs should only fear slimes that have electric charges in them. In addition, slimes electric charges decrease now after they successfully zap an cyborg, making them more consistent with the zaps that affect carbons. AIs are still fully immune to slimes. - The slime.dm and slime.life files were extremely bloated, and unorganized. I have created two new files, defense.dm and ai.dm. I have moved the various attack_by/attack_hand/etc procs to defense.dm. Ai.dm now contains every single proc the slime's "AI" uses; this should help getting a clearer picture of the current functionality, which should aid with basic mob conversion and decision tree creation. The remaining files have been slightly organized, with overrides in front, and new procs at the back. - Created a proc for swapping out Adult and Baby states of a slime. Previously, attack_slime was in many cases ignoring fields like melee_damage_lower and melee_damage_upper, replacing it with magic numbers based on the slime's lifestate. Now these values are hard set by these procs. This has caused slimes to be more consistent, though baby slimes might do a bit less damage on the low end. I am tempted to turn these in datums in the future, or as part of this PR. - Removed baby slime's chance to accidentally attack a window/grille by bumping into it, they had 0 object damage anyways, unlike adult slimes, so there was no reason not to early return. - The proc of `handle_feeding` assumed adjustBruteLoss and adjustToxLoss return positive values when damage has been done, when in reality, it returns the total health change along with its direction. This meant slimes would fell off simple or basic mobs after a single bite. This has been fixed. - Also updated the warning before the slime type defines, as they were out of date. - I have removed the bespoke spacewalk override for slimes, which should allow them to drift, should gravity go out. - The nutrition stats are assigned only once, when the slime grows up, instead of compared to being an adult every life tick ## Why It's Good For The Game Less duplicated code. This refactor should help in the basic mob conversion process. Cyborgs have an easier time wrangling slimes, who could previously kill them in three hits, if charged. They are mostly encased in metal, they should feel fine when not hit with electric attacks. Lets slimes feast on delicious corgis. |
||
|
|
08274f8343 |
Basic Constructs: Proteon (#79425)
## About The Pull Request Last one! Makes proteons into a basic mob, and completely removes the simple_animal construct supertype. Proteons aren't really designed to be played by a player, instead being a nuisance mapped into various ruins and traps. As such, they don't really have any special abilities. Instead, the hostile variant has a somewhat unique behavior. They'll viciously attack anyone who comes close, but, being frail little cowards, if a proteon takes damage it will immediately flee. After a random period between 2 and 4 seconds, it will stop fleeing and come back for more. In addition to this, a few other things have been done, some only related because they're in files I touched. - Moved proteons from the file for the Cleric's Den to their own file in the basic constructs folder. Given that they're used in several different ruins, they might as well not just be in the file for one. - Simple constructs have been cut, and with them the procs for healing/repairing on shades and cult structures, as those are no longer needed. - Because I was touching it anyway, I touched up the file for trap structures. They no longer use any one-letter variable names, and time is now universally listed in seconds rather than deciseconds in that file. - I removed a completely unused blackboard key from ice demons. This is something I noticed due to a change I ended up not making while working on proteon AI, but I figured I might as well leave it gone. ## Why It's Good For The Game Kills the last three simple construct typepaths, bringing us to the destined 19 removed. Huzzah! The proteon AI routine should inject a little spice into fighting proteons, especially for the unprepared - unlike many mobs, they won't stand there and take it if you decide to fight back, but you can never safely ignore them when they run away. They still aren't particularly dangerous. ## Changelog 🆑 refactor: Proteon constructs now use the basic mob framework. The ones encountered in ruins are a bit flightier now, and will briefly flee combat if attacked - only so that they can return and menace you again soon after. Please report any bugs. /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
d31c21ff1b |
new space ruin, the biological research outpost (#79149)
## About The Pull Request  adds this ruin to space ruin pool this is a shady (as NT always is) bioresearch outpost that got fucked up by an experiment this has like some puzzle aspect to it since you gotta find keycards and shit and press buttons to unlock shield gates this ends with you fighting a heart which if you defeat, destroys the blockade that prevents you from entering the outpost vault also you can no longer literally just cut indestructible grilles or unanchor indestructible windows ### new puzzle elements or something idk variant of pressure plate that you cannot remove and it sends a puzzle signal cooler red puzzle doors that look very foreboding or something idk theyre for this ruin also puzzle blockades, which are indestructible dense objects that are destroyed if they receive a puzzle signal and also buttons and keycard pads for puzzles https://github.com/tgstation/tgstation/assets/70376633/c98807ec-1e7b-49c4-a757-cdbb76a1b566 https://github.com/tgstation/tgstation/assets/70376633/9d5d9dd1-5868-44e6-a978-5ea57b30c298 stuff that throws electric shocks in a pattern, ignores insuls and only knocks down, and no you cannot just run past https://github.com/tgstation/tgstation/assets/70376633/5772917c-a963-48a4-a743-b0f610801d25 ### enemies living floor, it can only attack stuff on top of it and it attacks until the victim is dead it is invincible to all but a crowbar, and it cannot move, and it remains hidden until a victim is in range https://github.com/tgstation/tgstation/assets/70376633/aa1d54f6-b259-4e58-9d44-e393d2131acf living flesh, it can replace your limbs with itself the conditions for that are; the limb must have 20 or more brute, victim must be alive and dismemberable, the limb may not be torso or head, or the limb may not be living flesh alternatively it can replace a missing limb these are all checked with every attack they have 20 hp the limbs in question will sometimes act up, while passively draining nutrition, arms will randomly start pulling nearby stuff, legs may step randomly limbs when detached, turn into mobs and reactivate AI 2 seconds later. if the host is shocked, all living flesh limbs will detach, or if the host dies they will also do that https://github.com/tgstation/tgstation/assets/70376633/765cc99e-c800-4efb-aabe-d68817bbd7ae ## Why It's Good For The Game ruin variety is cool i think also the other things i added should be useful for other mappers for bitrunning or whatever also bug bad for that one fix ## Changelog 🆑 add: living floor, living flesh, and other stuff for the bioresearch outpost ruin add: bioresearch outpost ruin fix: you may not defeat indestructible grilles and windows with mere tools /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
b65f729901 |
Nanotrasen basic mobs. (#78917)
## About The Pull Request First and foremost, converts all Nanotrasen simplemobs into basic mobs. To avoid messy and redundant code, or god forbid, making Nanotrasen mobs a subtype of Syndicate ones, I've made Syndicate, Russian, and Nanotrasen mobs all share a unified "Trooper" parent. This should have no effect on their behaviors, but makes things much easier to extend further in the future. While most of this PR is pretty cut-and-dry, I've done a couple notable things. For one, all types of ranged trooper will now avoid friendly fire, instead of shooting their friends in the back. Even the Russians have trigger discipline. I've also created a new AI subtree that allows mobs to call for reinforcements. I've hopefully made this easy to extend, but the existing version works as follows: - A mob with this subtree that gains a target that is also a mob will call out to all mobs within 15 tiles. - If they share a faction, mobs receiving the call will have the target added to their retaliate list, and have a new key set targeting the calling mob. - If they have the correct subtree in their AI controller, called-to mobs will then run over to help out. Sadly, this behavior is currently used only by a few completely unused Nanotrasen mobs, so in practice it will not yet be seen. Finally, I've fixed a minor issue where melee Russian mobs punch people to death despite holding a knife. They now use the proper effects for stabbing instead of punching. ## Why It's Good For The Game Removes 8 more simple animals from the list. As said above, making all "trooper" type mobs share a common parent cuts down on code reuse, ensures consistency of behavior, and makes it much easier to add new troopers not affiliated with these groups. I expect that I'll make pirates share this same parent next. The new "reinforcements" behavior, though extremely powerful, opens up exciting new opportunities in the future. There aren't many existing behaviors that allow basic mobs to work _together_ in interesting ways, and I think adding some enemy teamwork could be fun. ## Changelog 🆑 refactor: Hostile Nanotrasen mobs now use the basic mob framework. This should make them a little smarter and more dangerous. Please report any bugs. fix: Russian mobs will now actually use those knives they're holding. /🆑 |
||
|
|
cd030b0690 |
Adds 'Bloody Spreader' component that bloodies everything it touches (#78743)
## About The Pull Request Adds 'Bloody Spreader' component that bloodies everything it touches! For example inserting an item into it if it is a storage item. Or entering it if it's a turf, or bumping onto it, or... you get the point, hopefully. Added this component to the MEAT backpack, meat slabs, bouncy castles, meateor fluff, meateor heart, and the heretic sanguine blade. Gave most of these the blood walk component as well, which spreads blood if it's dragged around. Meat slabs contain a limited amount of both components, eventually they will 'dry out'. ## Why It's Good For The Game Meat isn't meaty and squelchy enough, this will make it meatier. It also makes the janitor suffer. ## Changelog 🆑 code: Adds 'Bloody Spreader' component that bloodies everything it touches! code: For example inserting an item into it if it is a storage item. Or entering it if it's a turf, or bumping onto it, or... you get the point, hopefully. add: Added this component to the MEAT backpack, meat slabs, bouncy castles, meateor fluff, meateor heart, and the heretic sanguine blade. add: Gave most of these the blood walk component as well, which spreads blood if it's dragged around. add: Meat slabs contain a limited amount of both components, eventually they will 'dry out'. code: Added a signal for when an item is entered into storage. /🆑 |
||
|
|
7626c3bd6c |
Tram v6/Transport Subsystem (#78230)
Co-authored-by: Unit0016 <50649185+unit0016@users.noreply.github.com> Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com> Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: Kylerace <kylerlumpkin1@gmail.com> |
||
|
|
d6f79f4427 |
Refactor gib code to use bitflags and have documentation (#78754)
## About The Pull Request This takes all the gib related procs: - `gib()` - `spawn_gibs()` - `spill_organs()` - `spread_bodyparts()` And adds heavy documentation that communicates what the procs are used for and how the different bitflags affect them. The difference is noticeable: `gib(TRUE, FALSE, FALSE, null)` vs `gib(DROP_ORGANS|DROP_BODYPARTS)` The code is now much more legible which is important considering it's used in a lot of places! Another robust change, is that we had several places in the code where there were double negatives like so: ``` /mob/living/carbon/spill_organs(no_brain, no_organs, no_bodyparts) if(!no_bodyparts) // DOUBLE NEGATIVES ARE BAD M'KAY?!? // do stuff here ``` This is a mindfuck to untangle. I inverted a lot of these parts so we don't lose our sanity. Last thing that was changed was a big `if()` loop in the `spill_organ()` proc. This was refactored to just be a simple `for` loop with `continue` statements where we needed to skip enabled bitflags. It's now shorter and cleaner than before. The only slight gameplay change this affects is that gibbing a mob now guarantees to drop all items unless the `DROP_ITEMS` bitflag is deliberately omitted. Some places like admin gib self, we don't want this to happen. ## Why It's Good For The Game Gib code is very old. (~15 years) People kept adding more arguments to the procs when it should have been a bitflag initially. By doing it this way, there is more flexibility and readability when it comes to adding new code in the future. ## Changelog 🆑 refactor: Refactor gib code to be more robust. qol: Gibbing a mob will result in all items being dropped instead of getting deleted. There are a few exceptions (like admin gib self) where this will not take place. /🆑 |
||
|
|
1b96345e44 |
Multi-Z Support for Lazy Templates | Cleans up some turf flag misuse (#77786)
## About The Pull Request Adds multi-z support for lazy templates Also fixes some improper use and placement for turf flags ## Why It's Good For The Game Shadow needs/wants this for bit runner maps. Turf flags are also why lava has been generating in places it shouldnt. (inside of ruins) ## Changelog 🆑 fix: Lava can no longer occasionally generate inside of previously loaded templates and breach and/or destroy shit /🆑 --------- Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com> Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com> |
||
|
|
009af8c2ce |
[TEST-MERGE FIRST] Wound refactor number two: Full synthetic support (#78124)
## About The Pull Request Heavily refactors wounds AGAIN. The primary thing this PR does is completely change how wounds are generated and added - while the normal "hit a guy til they bleed" stuff works about the same, asking for a specific type of wound, say, like how vending machines try to apply a compound fracture sometimes, isnt going to work if we ever get any non-organic wounds, which the previous refactor allowed. With this PR, however... * You can now ask for a specific type of wound via get_corresponding_wound_type(), which takes wound types, a limb, wound series, etc. and will try to give you a wound fitting those specifications - but also, a wound that can be applied to a limb. * This will allow for a vending machine to apply a compound fracture to a human, but a collapsed superstructure (assuming my synth wounds go in) to a robot There are now new "series types" and "wound specific types" that allow us to designate what series are "mainline" and randomly generatable, and what are "alternate types" and must be generated manually - you can see the documentation in wounds.dm. The behavior of limping and interaction delays has been abstracted to datum/wound from bone wounds to allow just, general ease of development Pregen data now allows for series-specific wound penalties. Example: You could set a burn wound's series wound penalty to 40, which would make wound progression in the burn category easier - but it would not make it any easier to get a slashing wound. As it stands wound penalties are for wounds globally Scar files are now picked in a "priority" list, where the wound checks to see if the limb has a biostate before moving down in said list. Example: Wounds will check for flesh first, if it finds it - it will use the flesh scar list. Failing that, they then check bone - if it uses that, it will use the bone scar list. This allows for significantly more modular scars that dont even need much proc editing when a new wound type is added Misc changes: most initial() usage has been replaced by singleton datums, wound_type is now wound_types and thus wounds can accept multiple wound types, wounds can now accept multiple tool behaviors for treatment, wounds now have a picking weight so we can make certain wounds rarer flatly, This PR also allows for wounds to override lower severity wounds on generation, allowing eswords to jump to avulsions - but in spirit of refactoring, this has been disabled by default (see pregen data's competition_mode var). ## Why It's Good For The Game Code quality is good! Also, all the changes above allow wounds to be a MUCH more modular system, which is one of its biggest problems right now - everything is kinda hardcoded and static, making creative work within wounds harder to do. ## Changelog 🆑 refactor: Refactored wounds yet again fix: Wounds are now picked from the most severe down again, meaning eswords can jump to avulsions fix: Scar descs are now properly applied /🆑 |
||
|
|
aa820c08fe |
Oldstation now has their own RND (#78132)
## About The Pull Request This PR does many things and I expect to be asked to atomize some stuff. ### Oldstation Additions Oldstation now has their own research server, generating their own points. To help alleviate major concerns, they have a few stuff to help with this: - They now have a pre-built operating computer - They now have an Autopsy scanner - They now have access to Experimental Dissection Experimental Dissection is the old dissection, giving research points in the form of paper notes on completion. They must be turned in to the RND server (only works on the Oldstation one, so you can't abuse this) for points. This was an idea I've had for some time, as Oldstation is used somewhat as a representation of how ss13 used to be (through its use of directional windows (before they got removed, but I'd like to bring them back), old IDs, RTGs, and old engines before they got removed from the game fully) Considering there are 11 alien mobs in Oldstation, there is 27.5k research points to get from alien corpses, enough to bring them up to speed with whatever they wish to do. This is their 'alternative' for experiments (which they can still do if they want, but it is very hard to do, outside of dissection which is needed for the node). This surgery isn't repeatable, isn't upgradable, and isn't removed by being healed. It is not mutually exclusive with autopsy (so you can't ruin yourself doing the wrong surgery). ### Other stuff - Ninjas now drain RND points from the server they drain from, rather than always hitting science - Syncing machines to research roundstart is now a macro, and now immediately syncs to a server on your Z-level. Machines will automatically connect to the Science servers if none else are available. ### non-player facing - Science, Admin, and Oldstation techwebs are now no longer vars on research, but stored in research's list of techwebs. - ``get_available_servers`` and ``find_valid_servers`` are now procs on the research subsystem, rather than the experisci component. - Oldstation code has been split into separate files. ## Why It's Good For The Game Oldstation is one of my favorite ruins, but it is also one of the largest complaints for RND (along with Golems) because they use the station's Science nodes & points (I recently tried de-hardcoding Science stuff to help prepare for this, but I didn't get everything in advance). The complaint stems from these ghost roles, who are meant to be a fun activity to do while waiting for the next round, using the station's research points for their own stuff, completely untrackable unless someone goes out of their way to grief a ghost spawn just for using points to get things they need. These roles make their own servers to drain the station, and I find that unfun and quite boring for everyone- it's also not very flavorful, why would Charliestation know of the station's RND to take advantage of it? This hopes to fix those issues, make Charliestation more worthwhile, and more flavorful. ## Changelog 🆑 fix: Getting a node researched now properly makes it no longer hidden. fix: Ninjas draining RD servers now drains it from the connected techweb, rather than sniping Science. balance: Machines will first try to connect to a techweb with servers on their z-level, with the Science techweb remaining as fallback. add: Oldstation RND, comes with their own Techweb and special surgery to gain research points through dissecting Xenomorphs. /🆑 |
||
|
|
4b8de7b79f |
Refactors the notransform variable into a trait. (#78146)
## About The Pull Request Hey there, There were more than a few times (like in cinematic code) where we might need to accurately know the source of what's adding this trait (or have multiple sources for the whole 'we don't want this mob to do shit while we transform this mob'), so in order to rectify this potential issue, let's refactor it into a trait. ## Why It's Good For The Game Some code already declared that there might be issues with this being a boolean var (with no way of knowing _why_ we don't want this mob to not transform (or not do anything idk). Let's remove those comments and any future doubt in those instances with the trait macros. Also, stuff like `TRAIT_IMMOBILIZED` which does a similar thing in many contexts was already a trait that was regularly added in conjunction with flipping the variable, so we're able to flatten all that stuff into `add_traits()` and `remove_traits()` now. nice I also cleaned up quite a bit of code as I saw it, let me know if it should be split out but I guarantee that if I didn't do it- no one will for the next two years. ## Changelog 🆑 refactor: If you transform into another mob and notice bugs with interacting with the game world, please create a bug report as this framework was recently refactored. /🆑 Probably fucked up somewhere, lmk --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
245ce7aba8 |
Fixes the Hilbert's research tram (#78035)
## About The Pull Request Corrects the specific_tram_id helper for the Hilbert's Research to use the hilbert tram ID. I've also dropped the `.../hilbert/research` (tram-specific) paths in favor of simply `.../hilbert` ## Why It's Good For The Game Fixes the Hilbert Hotel Research ruin's tram, and also stops the malfunctioning tram event from being able to use that tram to start. (No more trams going haywire on maps without trams!) Closes #78018 ## Changelog 🆑 fix: Hilbert's Hotel Research ruin now has a functioning tram. As a side effect, the malfunctioning tram event should now only fire on maps with a tram! /🆑 |
||
|
|
554edc60e9 |
[TEST-MERGE FIRST] Allows all limbs to be dismembered and significantly refactors wounds (#77813)
## About The Pull Request **_THIS PR UPDATES THE SCAR VERSION - ALL EXISTING SCARS WILL BE WIPED_** Expands the wound system functionality to support any type of limb at all. To do this, wounds have been significantly refactored. For starters, wounds now use limb biotype instead of wound type for determining what they can be applied to. They also use singleton instances for most "can we apply this" checks instead if copy pasted initial(). Wounds now use a "wound series" instead of wound_type for determining the, well, series. Previously, all WOUND_BLUNT wounds were considered bone wounds, making it impossible to have multiple WOUND_BLUNT wounds at once. Now, its based on wound series - bone wounds are of the blunt bone wound series, and use the typical logic. One change that results from this is the ability for everything with a jointed limb to get a dislocation. Yes, this includes things like prosthetics. On the note of external and internal biotypes: Exterior are bones, Interior is flesh. Interior protects exterior from slash until its mangled, at which point it either exposes exterior to slash or allows dismemberment if theres no exterior. Basically - it acts the exact same way, except its not hardcoded, and its more modular. A lot, lot more changes were made - I cant name them all, but if youre interested, you can read up. Wounds have more procs, more modularization, and less hardcoding. Sadly, scars have been updated in such a way so that the wound version must be updated. Scars will be deleted. ## Why It's Good For The Game As it stands, half the limbs in the game can't be dismembered. This changes that, allowing every single limb to be dismembered. The two dismemberment critera are now: 1. If able to get mangled flesh or bone, it can be dismembered once it gets mangled flesh and bone (or JUST flesh if it only has a internal biostate, vice vers afor bone if external only) 2. If it cant be dismembered by the above, it will have a chance to dismember when at or above 80% of its total max damage Finally, code being better is usually a good thing. ## Changelog 🆑 balance: Prosthetics and slimepeople can now have limbs dismembered balance: Slimepeople can now receive slash wounds, but cannot bleed balance: Most limbs can now be dislocated refactor: Scar backend reworked, scars will be wiped as they update to the new format /🆑 |
||
|
|
037dd1dad1 |
Immovable rod meets unstoppable tram (#77656)
## About The Pull Request Adds interaction between immovable rod and the tram for the rare occasions the rod hits it at the front or back while flying at a parallel angle. The rod will push/pull the tram in the direction it's flying until a short distance past the tram's usual landmark, eventually winning and carrying on. - Only applies to random rods, if the rod has a target it will ignore the tram as usual. - Looping rod only pushes the tram once. - As long as the tram has power, can be returned to the rails as usual by calling it. ## Why It's Good For The Game When the HoP is having a really unlucky day. https://github.com/tgstation/tgstation/assets/83487515/2f0393cd-f796-4b00-8674-d97e57358543 https://github.com/tgstation/tgstation/assets/83487515/f74c8497-8d62-4fcf-80a0-da7259160b7f ## Changelog 🆑 LT3 add: Immovable rod will now battle the unstoppable tram should they cross paths fix: Birdshot's maint tram doors now work properly fix: Tramstation's exterior light fixtures no longer get destroyed as soon as the tram moves code: Tram landmarks are now all subtyped instead of map varedits /🆑 |
||
|
|
c25eb380c8 |
Fixes a Typo on a fluff paper on oldstation (#77898)
## About The Pull Request title ## Why It's Good For The Game typo bad ## Changelog too minor to make a difference |
||
|
|
6c34d93be7 |
Nukies Update 7: Hats (Also massive uplink standardization, weapon kits and ammo changes) (#77330)
## About The Pull Request Massively overhauls and standardizes the nuclear operative uplink. ### Weapon Kits Essentially, all the main weapons of the uplink have been changed to instead come as 'weapon kits', which are essentially cases containing a weapon loadout to enable operatives to easily start operating on only just one item purchase, without the fuss of worrying whether or not operatives are getting spare ammo, or getting relevant equipment for success. Consider this a pseudo-loadout, though without necessarily restricting the purchasing of more weapon kits. All kits come in three categories: Low Cost (8 TC), Medium Cost (14 TC) and High Cost (18 TC). This is also matched by categorized ammo costs; Basic Ammo (2 TC), Hollow Point and Armour Penetrating (4 TC), Incendiary (3 TC) and Special (or anything that does not easily fit these categories and does something real extra) (5 TC). Weapons that lacked these ammos have gained these ammo types to fill the gaps. <details> There is may one exception to this in disruptor ammo, which is priced as basic ammo if only because it isn't _quite_ good enough to justify pricing at 5 tc and I can see an op wanting to use it as a basic ammo type instead of normal .50 BMG against, say, a silicon/mech heavy opposition. Since it cannot kill organics on its own, I'll consider this mostly basic-adjacent </details> The kits have also been labelled based on potential difficulty. This reflects possible difficulties in using the item, how conducive it is to success for how much game knowledge needed to actually use it, and how likely an op is to succeed using it. I don't expect ops to win using nothing but a rocket launcher, but I think ops should get a fair shake at trying, yeah? The kits are as below: #### **Low-Cost** _Bulldog (Moderate):_ Shotgun and three magazines of standard ammo. _Ansem (Easy/Spare):_ Pistol and three spare magazines of standard ammo. #### **Medium Cost** _C-20r (Easy):_ SMG and three spare magazines of standard ammo. _Energy Sword and Shield (Very Hard):_ Energy sword and shield. (Also a special hat) _Revolver (Moderate):_ Revolver and three speedloaders of standard ammo. _Rocket Launcher (Hard):_ Rocket launcher with three spare rockets. #### **High Cost** _L6 SAW (Moderate):_ LMG, and that's it. No spare ammo. _M-90gl (Hard):_ Rifle, two spare magazines of standard ammo and a box of rubber grenades. _Sniper (Hard):_ Sniper rifle, two spare magazine of standard ammo, and one magazine of disruptor ammo. Also suit and tie. _CQC (Very Hard):_ Comes with a stealth implant and a bandana. _Double-Energy Sword (Very Hard):_ Double-energy sword, syndicate soap, antislip module, meth injector and a prisoner jumpsuit. _**NEW** Grenadier's Kit (Hard):_ Grenadier's belt and grenade launcher (the one that launchers chem grenades). (I replaced the shit acid grenade with another flashbang in the belt) Surplus SMG (Flukie difficulty) has been unchanged. It just now comes with two rations. Includes two new revolver ammo types: Phasic, which goes through walls and armor, but has significantly less damage as a result (I've equalized the revolver damage and the rifle version's damage to 30 for both). And Heartseeker, which has homing bullets. Both are Special ammo, and are priced at 5 TC a speedloader. ### Other Gear The other items in the uplink have also been consolidated and standardized in various ways. #### Grenades Most now cost 15 TC for three grenades of any given type (including the full fungal tuberculous). This is pretty much identical to the previous price, just more consistent overall and front-loaded in cost. #### Reinforcements All the various reinforcements now cost 35 TC and all refundable, equalizing cost to the average across the reinforcements. This is primarily because I feel like all these options should be weighed equally, and not one of these options are necessarily worse or better than the other in their current balance. They're largely inaccessible for normal ops regardless, and typically come out when there is a discount or war ops. I took the average value and went with it. Not much more to say. #### Mechs They're just cheaper. These things still suck and they need help. They've always needed help. A slightly less excessive value for the mechs may help see people willing to spend the TC on them. I doubt it. I seriously suggest not buying these still. I keep them in primarily because they are big stompy mechs and are kind of iconic 'war ops' gear. #### Bundles Since I've implemented weapon kits, gun bundles are rather redundant. So the bulldog weapon and ammo bundle, the c20-r weapon and ammo bundle and technically the sniper bundle were removed. The sniper bundle is now the weapon kit, obviously. Nothing else here really. Except for one.... #### Implants Not much changed here. I standardized the implant prices to 8 TC a pop. This is in accordance with traitor implants, which ops also get. So everything in this category bar a few exceptions (like macro/microbombs) are around 8 TC. Makes sense to me, really. Importantly, I made the Implant bundle 25 TC, and I unrandomized the contents. Who in the right fucking mind would spend 40 TC just to get five reviver implants is beyond me. But instead, you get one of each of the cybernetic implants except thermal eyes (you can just buy thermals and get the benefit of both vision types; x-ray and thermal vision, if you want to use smokescreens a lot). #### Base Keys They're all now 15 TC, except the fridge which is 5 TC. It's weird they're valued differently when they are taken mostly to do gimmicks like xenobio and toxins in a hurry before hitting the station. So we've standardized it. ## Hat Crate **YES, GOOD SIR, YOU TOO CAN ORDER A HAT CRATE FROM THE SYNDICATE STORE FOR ONLY 5 TC!** **NO NEED FOR A KEY, JUST BUY IT AND PULL IT OPEN WITH YOUR STANDARD ISSUE CROWBAR!** **ENJOY YOUR NEW CRATE! ENJOY YOUR NEW HAT!** **PUT IT ON USING THE FREE HAT STABILIZERS WE INCLUDED WITH THE HATS!** ~~**NO REFUNDS IF YOU GET BLOOD ON YOUR HAT!**~~ <details> There is a 1% chance to instagib people with direct hits from a rocket. This does the crit effect. </details> ## Why It's Good For The Game The uplink needed more spring cleaning and standardization. With this, I've partially implemented my older idea for ammo consistency and initial allowance for nukies. Ammo is kind of over-priced and often where a good chunk of TC goes towards without really pushing nukies towards meaningful success. And it is often what is tripping up new players who didn't think to get any. Now, when they get a gun, they get ammo in their case. On top of this, the weapon kit category is both at the top of the uplink AND has a little label to say 'Recommend', so that these new players will hopefully know they should be looking there first. In addition, it is the gateway towards a concept that is currently being worked on. Nuclear operatives having some degree of predefined loadouts for players to select if they aren't sure what they want, or don't know what to get. Nukies is very confusing for many players. So giving them a fighting chance with some premade setups can help ease them into the role without needing too much player knowledge in how to apply the items. This is only one step towards that, so that players can identify what gear they need to help succeed based on their skill. I wanted to implement a difficulty warning so that players can choose gear loadouts that are actually conducive to their skill and knowledge. I based it on how much players would need to know to engage in combat with it, and how much fiddling is required to get something to work properly (overly involved reloading is a consideration, for example, as well as precise button presses). In addition, how much of a force multiplier some weapons can be for their ease of use. Most people recognize the c20-r as the most new player friendly weapon, as an example. So it would be good to steer players towards taking that gun because of how easy it is to use, understand and succeed with it. And most importantly of all; Having standards within the uplink is important. Most of the values in the uplink are just completely random. Nobody has a good grasp of what is too much or too little. Even just a hint of consistency, and people will stick to it (see implants for what I mean). And there is still some work to be done even there. A good start is weapons. Price for power can be meaningful when decided whether we want some weapons to come out more often than others. Players do enjoy making informed decisions and choices, and having affordability be a draw to some otherwise less powerful weapons (looking at you, Bulldog) can actually be a worthwhile and meaningful difference. ~~I thought it would tick off the gun nerds to change the calibers on the guns.~~ ~~I also thought adding hats would be funny given the release of TF2's most recent update.~~ ## Changelog 🆑 balance: Standardizes some of the nuclear operative entries to have more consistent pricing within their respective categories. add: Adds some new categories so that players have an easier time navigating the nuclear operative uplink. balance: Many items have had prices reduced or adjusted to make them more desirable or more consistent within their category. add: Weapon kits have replaced almost all the individual weapons in the uplink. You now buy these instead of the individual weapon. These often come with spare ammo or relevant gear for success. add: Most ammo types have been standardized in price. refactor; Removes a lot of redundant item entry code and tidies up the actual code part of the nuclear uplink so that it is much easier to find things within it. add: Added 40 new cosmetic items to the Syndicate Store. Buy them now from the Hat Crate, only 5 TC! code: Updated the nuclear operative uplink files. /🆑 |
||
|
|
f71ea26f72 |
Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types (#76822)
## About The Pull Request Removes all of the duplicate global lists for specific machine types where the only thing they do is store all machines of that type. Adds machine tracking to SSmachines in the form of a list for all machines, and then an associative list for machines by their type. Previously we have machines in multiple global lists, such as airlocks being in GLOB.doors, GLOB.airlocks, GLOB.machines. This makes that not a thing, and also means that iterating through GLOB.machines looking for a specific type is no longer as expensive. |
||
|
|
a373b4cb08 |
Icon folder cleaning wave one (#76703)
## About The Pull Request Due to a mental breakdown caused by unfathomable abomination that is icons folder, I swore to myself to one day clean it. Today is kind of that day. Been at it for around 6, you gotta understand I need a rest. I tracked most changes in descriptions of commits if you are looking for details. ## Why It's Good For The Game Saner spriters make better sprites. And also, just helps keep track of things. ## Changelog 🆑 image: added sprites for different variants of scrolls. image: modified couple posters with ghost pixels. /🆑 --------- Co-authored-by: OrionTheFox <76465278+OrionTheFox@users.noreply.github.com> |
||
|
|
22ad858d48 |
Yeets a duplicate ambience .ogg (#75909)
## About The Pull Request Removed `ambigen2.ogg` and renamed all the generic ambience sounds after `ambigen1.ogg` to account the fact we have one less generic ambience sound file now. ## Why It's Good For The Game This will close #75010 ## Changelog N/A, it wasn't even used in the code. |
||
|
|
4318f9401b | Oldstation QoL tweaks and minor fixes (#75259) | ||
|
|
0c99bd28f4 |
Makes gasses use defines (#75542)
## About The Pull Request Adds defines for gasses and replaces uses I've found to instead use the defines. Can you believe I made this PR while trying to work with Xenos? This sucks! ## Why It's Good For The Game There's a lot of different uses of things like "o2" and "plasma", and they are pretty inconsistent. In some places, it's "hydrogen", in others it's "h2". In some it's "plasma", others "plasm". This unifies it all under defines so it has a less chance of breaking in the future. ## Changelog Nothing player-facing. |
||
|
|
9c6a63872c |
Stops SSmachines processing lighting updates for lights stored inside a hilbert hotel storage container (#75301)
  this has been spamming runtime logs for yeaaaaaaarrrrrrrrrrrsssssssss. above screenshot is from just the last week. fixes #63850 closes #75305 🆑 ShizCalev fix: Lighting inside of a Hilbert Hotel storage room no longer constantly fails to update, clearing up some log spam and getting back some free lag. /🆑 |
||
|
|
47edb1fa7b | Cere Whiteship Redo - Salvager's Heaven (#74994) |