mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-06-17 04:04:14 +01:00
088409bbe376a7adcd4d1fb747cf4a5e4f257c5b
2786 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
2cf34ec44e | Reduces volume of the nuke sound (#86888) | ||
|
|
c7f02d7c46 |
Fixes touch spells on_hand hit signals (#86849)
## About The Pull Request Fixes touch spells on_hand hit signals ## Why It's Good For The Game Mainly fixes the issues with mansus grasp not being able to attack things properly, specifically unanchor the mawed crucible. |
||
|
|
d4ac95a0e1 |
Nobody expects the span inquisition: replaces most <span>s with macros (#86798)
## About The Pull Request 123 changed files and multiple crashes after writing broken regex, I replaced most remains of direct spans with macros. This cleans up the code and makes it easier to work with in general, see justification for the original PR. I also fixed a bunch of broken and/or unclosed spans here too. I intentionally avoided replacing spans with multiple classes (in most cases) and spans in the middle of strings as it would impact readability (in my opinion at least) and could be done later if required. ## Why It's Good For The Game Cleaner code, actually using our macros, fixes borked HTML in some places. See original PR. ## Changelog Nothing player-facing |
||
|
|
7ced5e911a | you can now use the toy codex cicatrix as base for the codex ritual (#86824) | ||
|
|
c42d4dcfb2 | Health Analyzer Rework (medial mains inquire within) (#86666) | ||
|
|
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 /🆑 |
||
|
|
09998dd995 |
Fixes some stuff with the Living Heart ritual (#86831)
## About The Pull Request This fixes and improves some stuff with the living heart ritual: - If you don't have any heart at all - i.e, you're a species without a heart, or have no heart due to vein muscle membrane surgery, you can still use the ritual to *put* a living heart into your chest. - Fixed a "qdeleted thing being thrown around" runtime from the ritual unintentionally deleting your old heart while dramatically throwing it out of your chest. - The ritual, when its replacing/adding a new heart to your chest, will now heal the heart to just below the "severe organ damage" threshold, if needed. It's very easy for a heart to accidentally decay without you realizing if you're butchering a monkey in maints to hastily replace your heart, especially if you accidentally forget the poppy or something and have to go sprint to get one. Fixes https://github.com/tgstation/tgstation/issues/71451 ## Why It's Good For The Game Consistency for edge cases is good, as well as avoiding runtimes. ## Changelog 🆑 fix: Fixed the Living Heart ritual deleting your old heart when replacing it instead of having it dramatically burst out of your chest like it should. qol: The Living Heart ritual will now work if you don't have one at all for some reason, in the same way that'd you use an organic heart in the ritual to replace a cybernetic heart. qol: The Living Heart ritual, when putting a new heart into your chest, will now heal the heart enough to be just under the "severe damage" threshold, if needed. /🆑 |
||
|
|
a2f3e5f1b9 |
[NO GBP] Nerfs Void Conduit. (#86808)
<!-- 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 Void conduit has been given slightly less range and the pulse affects only structures within LoS. <!-- 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 I tested this skill in game a couple of times, it's admittedly a bit overtuned, the pulse ignoring LoS leads to a lot of cheesy scenarios, like RCDing walls all around the portal while being able to space multiple areas. It's still a very good spell, just less insane. <!-- 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 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. --> 🆑 balance: Void Conduit has less range and no longer ignores Line of Sight. /🆑 <!-- 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. --> |
||
|
|
431bbf7a0c |
Changeling buffs: Absorbs increment your ability to readapt, last resort (explode into headslug) is innate (#86605)
## About The Pull Request I've been beating a drum for a little while that Heretic is just Better Changeling, and one of the things that Heretic has that simply blows changeling out of the water is a Get Out of Jail For A Crafted Item card. I took inspiration from that and made the headslug explosion ability for changeling innate. Now they can use it any time they have 20 chemicals. If you want to make sure you're gonna be able to get the ling to the incinerator or a nearby shuttle parking, bait out their abilities, kill them, then set them on fire. Fire stops ling chem regen. Second: Lings aren't really fitting the niche of "Monster That Rapidly Adapts By Consuming Humanoid DNA" very much by being able to readapt once if they've recently killed someone. Instead, I changed it so their readaption is a counter that increments up when they absorb someone. This makes them more adaptable, but it doesn't really increase their strength outside of giving them more ability variety... kinda like Heretic having all their abilities available at all times if they have a focus. I hope this will bring ling more in-line with the other antagonists in the department of Not Sucking in comparison when comparing inherent abilities. ## Why It's Good For The Game Changeling kinda sucks. People have been spamming blood spiders because it is honestly the only viable strategy as a changeling to not get horribly murdered by the valid salad cuisine team extraordinaire. If I'm being totally honest, I'm hoping we can get ling into a place where we can get rid of blood spiders, because I fucking hate how blood spiders work right now, but that's outside the scope of this... This also encourages people to light lings on fire. Fire doesn't prevent headslugging, but if you've managed to outplay the ling into spending all their chemicals before you light their ass up, I think you earned it at that point. Currently, buying headslug is basically trading a power and admitting to yourself "I'm probably gonna fuck up so I'll be less powerful in exchange for this escape route". Instead, just let them explode at their leisure. They already give up every single thing they have on their person when they do this -- ID, weapons, tools, etc -- and they still need to go through the process of finding a corpse to implant in afterward. ## Changelog 🆑 Bisar balance: Changelings are now able to respec multiple times if they have absorbed multiple humanoids, instead of it being toggled on if it was off during their most recent absorb. balance: Last Resort is now an innate ability for changelings. code: Added a little counter and a tgui function for displaying how many absorbs lings have in their belly to spend for readaptions! /🆑 |
||
|
|
a4328ae1f9 |
Audits tgui_input_text() for length issues (#86741)
Fixes #86784
## About The Pull Request
Although some of the issues found were a direct result from #86692
(
|
||
|
|
7d3004bc79 |
Removes caps from many improper items (#86759)
## About The Pull Request Removes caps from many improper items. For example - Heated Rebar Crossbow -> heated rebar crossbow I've kept a lot of items untouched because for some reason or another it felt nicer to me that they be, uh, capsed. For example Hat of the Honkmother, anything that has 'weight' to it. There's also some minor name changes that I think fit better, such as Rebar Storage Quiver -> rebar quiver. I mean, we already know it's for storage. That's the whole point of quivers. ## Why It's Good For The Game This is one of my biggest pet peeves, Randomly Capitalized Items For No Reason. It looks sloppy, awkward, and half-assed. This PR brings a lot of the worst offenders in line. if your name isn't a proper noun it almost never should have caps. ## Changelog 🆑 spellcheck: Removes caps from many improper items /🆑 --------- Co-authored-by: LT3 <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
40533d5c5c |
Implemenet an alert that blob expansion failed in space (#86728)
## About The Pull Request Adds a balloon alert that the expansion has failed, as there previously was confusion on why the blob was attacking space. See #84618 for such an instance. ## Why It's Good For The Game Makes it clear that the blob is not just attacking space for no reason, it is just the expansion failing. ## Changelog 🆑 qol: made it clearer that the expansion in space failed for blob instead of wildly flailing at space. /🆑 |
||
|
|
cff4aa6703 |
Fixes downstream species joining ERT not getting internals they need (#86691)
## About The Pull Request Some species weren't getting their needed internals when joining ERT. Now they do  ## Why It's Good For The Game Allows other species to safety join ERT ## Changelog 🆑 fix: Downstream species not getting internals they need when joining ERT /🆑 |
||
|
|
ab365f9fb4 |
Adds the ability for an AI to remotely charge an APC with an upgrade disk (#86470)
## About The Pull Request Adds an upgrade disk that gives the ability to remotely charge an APC with the AIs backup power (the one that runs down when there is no power in an APC). This tech disk is under advanced AI tech Also added the ability to make new disks with the new object type /obj/item/aiupgrade, and made it so not every AI module is malf, now only subtypes of /datum/ai_module/malf show up on malf upgrade screens ## Why It's Good For The Game Adds the ability for an AI to assist crewmembers who do not have power, which is a pretty interesting interaction. Does chem not have power and is trying to make some healing chems? you can provide power for them for a bit, but they better hurry! ## Changelog 🆑 add: Added the remote power AI disk code: made it possible to easily add new AI upgrade disks /🆑 --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
dc7279448a |
Fix lack of blob reagent description (#86715)
## About The Pull Request This PR addresses the lack of descriptions for blob reagents. Previously, the description for these reagents stated: "shouldn't exist and you should adminhelp immediately." This has been changed to automatically generate a basic description when a reagent's name exists. The confusion caused by the previous description is exemplified in issue #85363 (does not fix the issue itself). For example, if the reagent is named *Blazing Oil*, the new description will read: "Blazing Oil is the reagent created by that type of blob.". See the example below:  If the reagent name is *Unknown*, the description will revert to the original message, prompting players to adminhelp.  In addition, two specific blob chemicals used to inject players, *Regenerative Materia* and *Cryogenic Poison*, will now include more detailed descriptions, specifying their purposes.   ## Why It's Good For The Game This change makes it easier for players to understand the origin of blob chemicals, reducing confusion when they are detected. ## Changelog 🆑 fix: fixes description for blob reagents /🆑 |
||
|
|
cfa8bf43a8 |
Being abducted by a contractor no longer recursively dumps contents of all of your boxes and belts, nor does it break your UI anymore (#86657)
## About The Pull Request Contractor abductions no longer recursively dump all of your items on the ground, instead only doing a single depth loop. Also fixed storage UI getting broken after being kidnapped due to using a wrong proc ## Why It's Good For The Game There's zero reason as for why it should behave like that other than just making recovery far more annoying. ## Changelog 🆑 fix: Your UI no longer breaks after being kidnapped by a contractor qol: Being kidnapped by a contractor no longer dumps all of your boxes and belts /🆑 |
||
|
|
97ef3ec349 |
[NO GBP] Quickfix for a now removed status flag (also byond issue). (#86680)
## About The Pull Request Making the code compile. EDIT: There's an on-going BYOND issue with datum subtypes (not atoms) in which trying to override the parent value with null won't work. Melbert has provided me a fix for it too (from: https://github.com/tgstation/tgstation/pull/86666/commits/d6c1dbf4fd641d160961d7964e145e93b86d672c) ## Why It's Good For The Game Making the code compile and the CI succeed ## Changelog . |
||
|
|
5409570e01 |
Upgrades GODMODE from a flag to a trait. (#86596)
## About The Pull Request GODMODE has a lot of sources that toggle it. From admin-stuff to status effects, components, actions and mobs which are supposed to be invincible. It's better off as a trait than a flag, so we can manage these sources. ## Why It's Good For The Game See above. ## Changelog 🆑 admin: godmode is now a datum trait instead of a bitflag. This means the process for toggling it is a little different now. /🆑 |
||
|
|
e0a8f29778 |
Fix typo for the description of the heretic's "Lionhunter's Rifle". (#86653)
## About The Pull Request Fixes typos in the heretic's "Lionhunter's Rifle". ## Why It's Good For The Game Improves readability and user experience. ## Changelog 🆑 spellcheck: fixed typos on heretic's "Lionhunter's Rifle" /🆑 |
||
|
|
df35d48300 |
Humans that never had a player controlling them no longer count towards changeling absorption counter (#86631)
## About The Pull Request If a DNA absorption victim doesn't have a client/mind (i.e. monkey or spawned corpse, most of the time) they no longer count towards the absorption counter / refresh your respec. This affects only one ability, that being bloody spiders which requires you to succ 3 people in order to buy it. ## Why It's Good For The Game Blood spiders is a potent tool in right hands and I don't think that it should be acquirable by just visiting genetics/xenobiology/virology/cargo for some monkey cubes. This will force antags who want to get a strong ability to interact with the crew a bit more instead of spending first 15 minutes "powering up" ## Changelog 🆑 balance: Humans that never had a player controlling them no longer count towards changeling absorption counter /🆑 |
||
|
|
74a5ac1a6f |
Allows admins to see previously obsessed players, minor obsession code cleanup (#86609)
## About The Pull Request Closes #86603 by adding a dummy antag datum that will be added to everyone who lost the trauma before losing the antag datum (i.e. from being "cured" from trauma in one way or another) Also added defines for obsession objectives ## Changelog 🆑 code: Minor obsession code cleanup admin: Admins can now see players who were previously obsessed but had been "cured" from the trauma /🆑 |
||
|
|
6808a082eb |
Assorted changes to job assignment code and logging. Runtime free, guaranteed or your money back. Price: $£0. (#85947)
## About The Previous Pull Request #85308 reverted by #85929  ~~Causes the round to not start when a player isn't eligible for any jobs at a specific priority level due to runtimes trying to `pick()` from an empty list aborting the entire job assignment stack.~~ (Fixed???? by https://github.com/tgstation/tgstation/pull/85947/commits/e0e9f2f430079d4ab7097abe12e75f934131a638) Maybe we should test merge this for a mo just to make sure no more cheeky runtimes pop up before merging. ## About The Pull Request This PR does a couple of minor things: Makes the job debug logging a bit easier to follow. Minorly brings some SSjob code up to code standards, converting proc names to snake_case and doing some otherm is cleanup. Refactored some stuff into different procs, updated some comments. And some major things: Changes the job assignment logic. Old behaviour > Assign dynamic priority roles > Force one Head of Staff (if possible) > Assign all AIs > Assign overflow roles (bugged in 2 ways) > Shuffle the available jobs list once, at the start of the random job assignment loop > Pick and assign random jobs for random players from High prefs down, with a priority on Head of Staff roles > Handle everyone that couldn't be assigned a random job New behaviour > Assign dynamic priority roles > Assign all Head of Staff roles to players with High prefs > If no Head of Staff was made in the above way, force one Head of Staff (if possible) > Assign all AIs > Assign overflow roles (fixed) > Prioritise and fill unfilled head roles at each job priority pref level, from High prefs down. > Build a list of all jobs that each unassigned player could be eligible for at the above pref level. > Pick a job from that list at random and assign it to the player. > Handle everyone that couldn't be assigned a random job. In reality there should be little impact on overall job assignment, the code changes read more as semantics. For example, the priority check for filling Head slots will have the same candidate pool in both old and new versions, but in the new version we're more clearly saying that Heads are important and we want to prioritise filling them for the sake of round progression even though the outcome in new and old is the same. A key change will lead to an increase in assistants - Overflow fixes. Currently the code block to do early assignments to the Overflow role doesn't work - or works but not as you'd expect. The idea was is that because enabling the Overflow role in the prefs menu is an On/Off toggle that sets the job to High priority when enabled and prevents any other High priority pref, players that have the Overflow role enabled will **always** get it. It's their highest priority job with infinite slots. So we do a pass right at the start to give everyone with the Overflow role enabled that role and save us wasting time later on in random job code giving them that same role but with more work. The problem is the code for this only assigns the Overflow role to people with it set to Low priority in their prefs, resulting in log readouts like: ``` [2024-07-27 09:49:43.469] DEBUG-JOB: DO, Running Overflow Check 1 [2024-07-27 09:49:43.469] DEBUG-JOB: Running FOC, Job: /datum/job/assistant, Level: Low Priority [2024-07-27 09:49:43.472] DEBUG-JOB: FOC player job enabled at wrong level, Player: Radioprague, TheirLevel: Medium Priority, ReqLevel: Low Priority [2024-07-27 09:49:43.472] DEBUG-JOB: FOC player job enabled at wrong level, Player: Caluan, TheirLevel: High Priority, ReqLevel: Low Priority [2024-07-27 09:49:43.473] DEBUG-JOB: FOC player job enabled at wrong level, Player: Caractaser, TheirLevel: High Priority, ReqLevel: Low Priority [2024-07-27 09:49:43.473] DEBUG-JOB: FOC player job enabled at wrong level, Player: Apsua, TheirLevel: High Priority, ReqLevel: Low Priority [2024-07-27 09:49:43.475] DEBUG-JOB: FOC player job enabled at wrong level, Player: Bebrus2, TheirLevel: Medium Priority, ReqLevel: Low Priority [2024-07-27 09:49:43.475] DEBUG-JOB: AC1, Candidates: 0 ``` Where nobody gets pre-assigned the overflow role because their prefs are all set to the High priority from being toggled... Except wait a second, some people have it at Medium priority when it should just be a No Role/High Priority Role toggle? And herein we meet a problem. My hypothesis is that traits and stuff that change the overflow have allowed players to set the "ordinary" overflow role of Assistant to Medium and/or Low priority. This still shows as enabled in the prefs menu, but leads to an outcome where a player with assistant enabled is assigned Cook instead. ``` [2024-07-27 09:49:47.775] DEBUG-JOB: DO, Running Overflow Check 1 [2024-07-27 09:49:47.775] DEBUG-JOB: Running FOC, Job: /datum/job/assistant, Level: Low Priority ... [2024-07-27 09:49:43.475] DEBUG-JOB: FOC player job enabled at wrong level, Player: Bebrus2, TheirLevel: Medium Priority, ReqLevel: Low Priority ... [2024-07-27 09:49:47.987] DEBUG-JOB: Running AR, Player: Bebrus2, Job: /datum/job/cook, LateJoin: 0 ``` So players with the Overflow job pref set to Low (an unexpected state, should be disabled or High) would be guaranteed to get that role if none of the higher priority Head of Staff/AI/Dynamic roles took over via the bugged "force overflow for people with the pref enabled" proc. Players with the Overflow job pref set to High would be guaranteed to get that role if none of the higher priority Head of Staff/AI/Dynamic roles took over via the random job assignment code giving them their Highest priority role thanks to the infinite job slots of the Overflow. And players with the Overflow job pref set to Medium (an unexpected state, should be disabled or High) would get Assistant if the shuffle step of the available jobs list put Assisstant before any of the other jobs they had prefs enabled for at Medium that weren't already filled, otherwise they'd get another random job. This code is now changed to ignore the priority the player has set when looking for people to fill the overflow role. As long as it **is** enabled, the player will get it unless they're forced into a dynamic ruleset role (AI when malf rolls) or a Head of Staff role due to their other prefs (they have RD set to med or low, and no other player has a Head of Staff at high so they get randomly picked and miss the overflow role). This will increase the number of assistants in shifts where their pref state has Assisstant in the bugged Medium priority, but doesn't change it for bugged Low and not-bugged High/On priority. On the other side of the coin, we have how the random jobs are picked. They're kinda not random, and I noticed this reading the logs then reading the code. The list of available jobs to pick from is randomly shuffled - but only **once**. All players pull from a list of jobs in the same order. So you end up with a log block like this: ``` [2024-07-27 09:49:47.985] DEBUG-JOB: DO pass, Player: Pierow, Level:3, Job:Botanist [2024-07-27 09:49:47.985] DEBUG-JOB: Running AR, Player: Pierow, Job: /datum/job/botanist, LateJoin: 0 [2024-07-27 09:49:47.985] DEBUG-JOB: Player: Pierow is now Rank: Botanist, JCP:0, JPL:2 [2024-07-27 09:49:47.986] DEBUG-JOB: DO pass, Player: Daddos, Level:3, Job:Botanist [2024-07-27 09:49:47.986] DEBUG-JOB: Running AR, Player: Daddos, Job: /datum/job/botanist, LateJoin: 0 [2024-07-27 09:49:47.986] DEBUG-JOB: Player: Daddos is now Rank: Botanist, JCP:1, JPL:2 [2024-07-27 09:49:47.986] DEBUG-JOB: FOC job filled and not overflow, Player: Bebrus2, Job: /datum/job/botanist, Current: 2, Limit: 2 [2024-07-27 09:49:47.987] DEBUG-JOB: FOC player job not enabled, Player: Bebrus2 [2024-07-27 09:49:47.987] DEBUG-JOB: DO pass, Player: Bebrus2, Level:3, Job:Cook [2024-07-27 09:49:47.987] DEBUG-JOB: Running AR, Player: Bebrus2, Job: /datum/job/cook, LateJoin: 0 [2024-07-27 09:49:47.988] DEBUG-JOB: Player: Bebrus2 is now Rank: Cook, JCP:0, JPL:1 [2024-07-27 09:49:47.988] DEBUG-JOB: FOC player job not enabled, Player: Redwizz [2024-07-27 09:49:47.988] DEBUG-JOB: FOC job filled and not overflow, Player: Redwizz, Job: /datum/job/cook, Current: 1, Limit: 1 ``` The list is shuffled into an order of something like `list("Scientist", "Botanist", "Cook", "Sec Officer", ...)` then iterated over for each player. So every random job selection goes: > "Does Player1 have Scientist enabled and at the right priority? No? Okay, Botanist? Yes? You get botanist." > "Does Player2 have Scientist enabled and at the right priority? No? Okay, Botanist? Yes? You get botanist." > "Does Player3 have Scientist enabled and at the right priority? No? Okay, Botanist has no slots left so we'll remove it from the list. Okay, Cook? Yes? You get cook." > "Does Player4 have Scientist enabled and at the right priority? No? Okay, Cook has no slots left so we'll remove it from the list. Okay, Sec Officer? ..." This can lead to stacked individual departments if it gets randomly rolled to the start of the list in the shuffle, and completely empty departments if they end up at the end. On high pop shifts this is probably less of an issue. Player prefs add noise to this and as departments at the front fill up, those at the back pick up some of the lower pref players. But have you ever had a shift where there's just like... No fucking sec even though there's tons of players? The logging (before I made changes in this PR) was a bit ass, but my hypothesis there is that sec officer was shuffled right at the end of the random job list, so every other department was filled up before sec officers were picked. To mitigate this, I made the list shuffle every single time the game picks a random available job for the player. This should lead to a more balanced selection of available jobs by avoiding situations where the code is biased towards packing some departments by accident. ## Why It's Good For The Game Overflow fixes mean people who go to their prefs and see the Overflow Role is On will all have the same experience - They will be the Overflow role. More random random job selection should prevent individual departments having a jobs be stacked when it would have otherwise been possible for a more balanced selection but the code unintentially biased random departments to be overstaffed and understaffed each shift. ## Changelog 🆑 fix: Having the Overflow Role set to On will properly ensure you get that role at a High priority as intended by the game code. fix: Job selection is now a little bit more random. Fixes an unintentional bias in random job assignment that could lead to feast-or-famine for roles where everyone is assigned one job and nobody is assigned another job. /🆑 |
||
|
|
8486f2f7e2 |
Storage / table interactions at the bottom of the interaction chain (#85512)
Because the wings were in fact made of wax ## About The Pull Request Storage goes to the very bottom of the interaction chain, hardcoded in on `/atom`. This is not preferred, obviously, but it ends up being a lot less snowflaking overall. Tables also go at the very bottom by extending `base_item_interaction`. Fixes #83742 Fixes #84434 Fixes #83982 Fixes #85516 Fixes #84990 Fixes #84890 Closes #85036 Closes #84025 (RMB places it on the table.) Closes #86616 Other changes: Refactored pod storage to be less jank. Patches some exploits around it. ## Why It's Good For The Game Should make a lot more interactions a lot more reliable... hopefully ## Changelog 🆑 Melbert refactor: Storage and Tables are now a lower priority action, meaning some uses of items on storage should work... better, now. Here's hoping at least, report any oddities. refactor: Note: For an overwhelming majority of items, **combat mode** will attempt to attack/insert into the target, while **non-combat-mode** will attempt to use on a target. This means screwdrivering or emagging a MODsuit must be done on non-combat-mode, as combat mode will simply put the screwdriver or emag into its storage. Same applies to tables, though when in doubt, RMB may help (for things which are also weapons, like mops). refactor: Refactored escape pod storage, now they actually properly show as unlocked on red alert and above. /🆑 |
||
|
|
6047f202dc |
Fix up the information on some void heretic abilities; fixes a typo and makes another more descriptive (#86611)
## About The Pull Request Fixes a typo in one part of the description for Void Conduit, and updates a menu description for it to be more informative of what it does. ## Why It's Good For The Game Good descriptions may one day make our players want to read good and maybe do other stuff good too ## Changelog 🆑 Bisar fix: Fixed up a couple of Void Heretic rework descriptions. /🆑 |
||
|
|
06ba9d93eb |
Pun Pun Station Trait, But it's only active on Monkey Day (14 December, every round) (#86091)
## About The Pull Request This is a remake of https://github.com/tgstation/tgstation/pull/84501 with a few small changes to avoid mapping issues. This time it's restricted to a once-in-a-year event, mainly because neither Jacq and Lemon were ok with the possibility of Pun Pun being posibly playable all year, however Jacq said he's fine with it being available on the holiday, while Lemon isn't around on Discord atm so I don't know what he's to say. The trait makes pun pun playable and gives them the job of being a busser (waiter) in the cafeteria. They're clever and can use tools most other monkeys can't, but cannot be humanized, while also being unable to speak Galactic Common. Should they roll traitor, they'll be able to buy syndicate monkey reinforcements and equipment, which it can also use, being a monkey itself. ## Why It's Good For The Game This is a fairly unique job, like the Cargo Gorilla, due to the fact it's not a conventional humanoid crew member nor the AI or a cyborg. I thought this was a fun idea, though I met some obstacles and the original PR was DNM'ed and then closed. However, the trait perfectly fits the theme of the holiday, making a good compromise since Pun Pun will stay AI-controlled the rest of the year, as Jacquarel and Lemon want it to be. It can also be added by an admin through VV, whether they're planning some shenanigean or just want to add something more to the round. ## Changelog 🆑 add: Pun Pun is a playable crewmember during Monkey Day (14 December). /🆑 |
||
|
|
6faa37853b |
Void Heretic Rework: You Can (Not) Heat Up. (#85728)
## About The Pull Request Reworks most of the Void Heretic kit. All Void spells now apply a stacking debuff that makes you gradually colder. Void Blast has been replaced with a new spell "Void Conduit" and a new Side knowledge spell, "Void Prison" has been introduced. Waltz At The End Of Time has been completely overhauled. Lastly Void Blade has been resprited along with the overlay of Void Chill, check any of the linked videos to see the new look. All new sprites have been kindly made by OrcaCora. ## Why It's Good For The Game Void path is *Supposedly* themed around the cold of space but doesn't have any tools to live up to the fantasy of being an harbringer of the Void whose main goal is to freeze the station to an icicle. Then there's also the issue of Void being utterly underwhelming compared to his neighbors, Cold is way too easy to treat as a status effect, so much so, a simple cup of coffee can utterly shutdown the void storm, which is just unacceptable. # **Changes** - **Void Chill**: Is now a stacking debuff, each stack slows movement speed by a percentage while lowering body temperature, upon reaching the cap, which is 5 stacks, the victim cannot heat up anymore, all void Spells apply 1 stack of the debuff, with the exception of the grasp applying 5 (2 for the mark and 3 for the detonation) and the blade upgrade applying 2. **Reasoning**: Void chill currently suffers from being completely shutdown by sipping tea, coffee or having the COLD_RESIST trait,with this change you can still negate the damage and the slowdown you get from being cold but not the slowdown from the debuff itself. - **Aristocrat's Way**: Now grants no slip on ice and water tiles on cold or depressurized turfs **Reasoning:** Since the rework revolves around making Void heretic more involved in freezing the station, they should be able to move in their domain without getting punished for it. - **Void Cloak:** Can now be toggled on and off to make the cloak visible or invisible; when the cloak is visible it grants low pressure immunity trait. **Reasoning:** Not having pressure resistance as a Void Heretic just sucks, as you are clearly intended to somewhat go into space at some point; giving it to the cloak is a good compromise since you sacrifice better protection (***the armor values of the cloak are pitiful***) for utility. - **Replaces "Void Blast" with a new spell, "Void Conduit"**. **Void Conduit:** Opens a gate to the Void; it releases an intermittent pulse that damages windows and airlocks and applies a stack of void chill to non heretics, Heretics are granted the low pressure resistance trait. **Reasoning**: I like the idea behind Void Blast; unfortunately, the spell has limited uses if an area isn't already spaced, which is hard to do considering the current kit of Void Heretic doesn't provide anything to help in that regard. I wanted to give Void Heretic a tool to turn any area of their choosing into their ideal habitat. Not amazing for quick assassinations, good if you are anticipating a fight or want to simply expand your domain, the added Trait might seem redundant, but let's not forget that the void cloak is still a side knowledge, I don't want newbie heretics to space an area and accidentally killing themselves because of it. Video Demonstration: https://www.youtube.com/watch?v=nhPdj1hIgSI - **New side knowledge: "Void Prison."** **Void Prison:** It makes the target invulnerable and unable to do anything for 10 seconds , when the spell ends, it applies a few stacks of void chill, cannot be self-cast. It occupies the same slot of Blood Siphon (inbetween Raw Ritual and Void Phase.) Video Demonstration: https://www.youtube.com/watch?v=nKZd8aEcZFw **Reasoning**: Void is technically meant to be an assassination path and not really apt at tackling multiple opponents, this spell might come into clutch if you are outnumbered, or simply want some breathing room from your pursuers. - **Void Jaunt and Void Pull** Cooldown respectively reduced to 25 and 30 seconds, down from 30 and 40. **Reasoning:** I felt that the cooldown on these was a bit too high overall; as it stands, Void Phase cooldown is twice as long as Ashen passage, one of the best and arguably most sidepathed spells in the game. Granted phase is faster and has more range but I don't think it justifies its cooldown being this long. Void pull could also use slightly less cooldown, being the very last spell you unlock and offering a simple melee knockdown. - **Seeking Blade:** Now applies 2 stacks of void chill per hit. **Reasoning:** Seeking blade is a bit underwhelming for being the final blade upgrade, teleporting to a target you just stunned at melee range is incredibly niche, now that Void chill is a stacking debuff we can probably just slap it on the blade itself. - **Waltz At The End Of Time:** The Heretic becomes weightless and able to levitate around, (carp movement essentialy). The heavy storm is no longer bound to the room the heretic is in but is now an aura around them, this does a few things. 1) Releases a pulse that depressurizes areas, shatters windows, airlocks and firelocks, and applies a stack of void chill to non heretics, the passive burn and oxy damage effect has been removed. 2) Grants to the Heretic projectile deflection. **Reasoning:** Void Has the reputation of having the weakest ascension in the game, which it's hard to disagree on considering you can completely neutralize the effects of the storm by simply sipping tea and how generally little it does overall. It's also kind of strange that you have this massive Eldritch storm ravaging the station and for it to have no effects on its atmosphere, infrastructure, or projectiles whatsoever. Video Demonstration: https://www.youtube.com/watch?v=1_blr20-hgA ## Changelog 🆑 add: New Heretic Side Knowledge, Void Prison. add: New Void Spell Void Conduit has now replaced Void Blast. balance: Void Chill is now a stacking debuff, upon reaching the cap, makes the target unable to heat up. balance: Aristocrat's way now grants immunity to ice and water slips on cold turfs. balance: Void Cloak now grants low pressure resistance when visible. balance: Void Phase and Void pull have received a minor CD reduction. balance: Seeking Blade now applies a couple of stacks of void chill. balance: Void Heretic Ascension has been overhauled, it's now protects the heretic from projectiles, destroys windows and airlocks and applies void chills to non heretics. image: Void Blade and Void Chill have received some new sprites. /🆑 --------- Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com> Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com> |
||
|
|
c24dcb625c |
Fixes broken malf AI shunting, fixes AI dying when they move a controlled mech into the SM, undoes mech domination cancelling delta, makes mech destruction during control cause a massive EMP instead (#86526)
## About The Pull Request This fixes a couple of bugs that are still lurking for malf AI, primarily, and reverts an unintentional balance change I did by making mech domination cancel the delta activation. There's a balance change instead; previously mech domination death killed you (seemingly because of badly formed callstacks assuming you never had a core or APCs available); I replaced this by causing the AI to produce a massive EMP centered at their location if their mech gets destroyed while they're piloting it. ## Why It's Good For The Game Fixes https://github.com/tgstation/tgstation/issues/86107 Fixes https://github.com/tgstation/tgstation/issues/83753 Undoes unintentional balance change and adds with something that is still quite debilitating, especially if you're currently under attack as a malf AI. ## Changelog 🆑 Bisar balance: AIs piloting mechs no longer die if they hit the supermatter, nor do they harmlessly snap back to their core. The shock now causes them to produce a massive EMP. balance: Undid a balance change I did during the malf AI refactor. The doomsday countdown will no longer stop if a malf AI dominates a mech. fix: Fixed a few bugs with AI shunting and AI mech death. /🆑 |
||
|
|
48bbd6fddf |
Reworks examine (a little) (#86506)
## About The Pull Request Basically, reworks how examining things looks to the user. #86497 is required even though this pretty much replaces the entire PR. Examining random objects and simplemobs:   Examining a person:   Examining an ID card a person is wearing (by clicking the hyperlink adorning the ID card when examining them): (Note, you can only pull up this if you are within 3 tiles of the person)  ## Why It's Good For The Game Examine is very old and very inconsistent between atoms and mobs. So I thought I could spruce it up a bit while bringing some consistency along. This should also help with losing certain details in massive walls of examine text - stuff like names will stick out more. ## Changelog 🆑 Melbert qol: The way examine looks has been updated. qol: A person's ID card no longer appears with a big icon on examine. You can now click on their ID card (in the chat box) to get a bigger picture of it, as well as information about them. refactor: Much of examine backend code has been refactored, report any odd looking text. /🆑 |
||
|
|
69176298ed |
Spelling Fixes (#86056)
## About The Pull Request Fixes several errors to spelling, grammar, and punctuation. ## Why It's Good For The Game Improves readability and user experience. ## Changelog 🆑 spellcheck: fixed a few typos /🆑 |
||
|
|
bb0ceb796b |
You no longer return to the station cuffed after being sacrificed by a heretic (#86554)
## About The Pull Request Closes #86083 ## Why It's Good For The Game Being teleported to a random place, often without an ID as heretics frequently loot their victims first, almost guarantees a death with some of the new organs unless someone can notice and quickly save you, and due to heavy slurring you cannot broadcast your position either. ## Changelog 🆑 fix: You no longer return to the station cuffed after being sacrificed by a heretic /🆑 |
||
|
|
faf3eb5106 |
Adds OD's new pragma to lints, fixes all issues it found (#86568)
## About The Pull Request Closes #86567 Don't think any of these were found/reported or actually could trigger in-game ## Why It's Good For The Game Glory to OpenDream ## Changelog 🆑 code: Fixed multiple minor logic issues with code found by OpenDream's new pragma /🆑 |
||
|
|
f811d41ad9 |
New ERT: Code Violet EMT Response Team (#85650)
## About The Pull Request This adds a new ERT type, the Code Violet EMT Response Team. This summons a batch of unarmed EMTs, led by a Chief EMT. The doctors get some above average equipment for healing/reviving a deluge of casualties, with the commander getting even better equipment and the means to defend the rest of their doctors and enforce their authority on the station (a pulse pistol and telebaton). This also autodocs the undoced vars on the ERT datum, for easier reading. You'll see why the mobtype has not been documented in a future PR. It's entirely unused right now (since it is always overridden) but this is addressed in #85651. ## Why It's Good For The Game I've seen plenty of situations where, despite the crew having vanquished all of their foes, the number of bodies is too high to get everything back into working order. This also goes for situations where all of the medical staff are dead, and the corpse-revival engine is unable to kickstart itself. It's not a situation where sending in an ERT full of armed goons can help. Sometimes a more delicate, caring hand is required to get the station rolling again. Also, autodocs are useful. ## Changelog 🆑 Rhials add: Code-Violet Medical Support ERT teams have been rolled out for deployment to Space Station 13 and related Nanotrasen Installations. /🆑 |
||
|
|
3600f3c4ae |
Makes it so that every shields can be shieldbashed, not just riot shields. Take Two (#86039)
## About The Pull Request This PR adds shieldbashing to every single shields, not just riotshields specifically. Various different sounds is made depending on the type of shield you shieldbash. Also adds an energy shieldbash sound, for the e-shields. by editing the shieldbash.ogg. ## Why It's Good For The Game It always bugged me why you could only shieldbash using riot shields specifically, even though there's really should be nothing stopping you from being able to do it on every shield types. This PR makes it so that the shieldbash feature is consistent across all shields, not just the riot shield specifically. reducing snowflake code. ## Changelog 🆑 sound: adds sounds for energy shieldbashing code: Shieldbashing feature is now consistent across all shield types /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |
||
|
|
444b4990d4 |
Fixes Infinite Codicies (#86468)
## About The Pull Request Codex will now call the parent proc to consume the required items on transmuation of the codex in the instance there wasn't a corpse nearby. <details> <summary>Before</summary> https://github.com/user-attachments/assets/2e1c7953-1735-4cd5-9e13-e7030a8bb488 </details> <details> <summary>After</summary> https://github.com/user-attachments/assets/36989998-e225-4570-b342-e28bbd34df5a </details> ## Why It's Good For The Game Fixes #86410 ## Changelog 🆑 TwistedSilicon fix: The Codex Cicatrix ritual now consumes the item in the case where a hide was used instead of a corpse. No more free books. /🆑 |
||
|
|
aefa22166c |
Heretic Influences use alt appearances (so ghosts can now see them (semi-transparent)) (#85932)
## About The Pull Request Removes the rather overcomplicated system behind heretic influences and makes them use alt appearances Fixes a few bugs involving alt appearances that I noticed in making them I made this PR 7 months ago and forgot to Pr it ## Why It's Good For The Game Less complex codes and lets observers get a cut in on the action. Should fix #77530 ## Changelog 🆑 Melbert refactor: Refactored heretic influences a tiny bit, now ghosts can see them! Report any oddities. /🆑 |
||
|
|
ed3561daaf |
Prevents changelings from spawning bloody spiders inside of vents (#86448)
## About The Pull Request Closes #86192 by making the ability require the owner to be on an open turf when casting ## Why It's Good For The Game We probably don't want people to spawn infinite antags inside of vents which prevents anyone from being able to see or do anything about them without tearing every single pipe on the station ## Changelog 🆑 fix: Changelings can no longer spawn undetectable spider eggs inside of vents /🆑 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> |
||
|
|
d2ab513332 |
Reintroducing my PRs that were lost in the wallening revert. (#86439)
## About The Pull Request This PR reintroduces #85759, #85892 and #85894. #85892 has post-wallening arrows, but it isn't a big deal because they fit the top-down or 3/4 style we've for a lot of things. ## Why It's Good For The Game Reintroducing lost features and improvements. Remember to remove the 'Lost in the wallening revert' label from those PRs when this is merged. ## Changelog N/A |
||
|
|
13ae831787 |
Voidwalker 'Unsettle' doesn't immediately go on cooldown if line of sight is broken (#86111)
## About The Pull Request This was an oversight. If someone breaks line of sight (which you need to maintain for 8 seconds) it immediately goes back on cooldown, which is kinda ass ## Why It's Good For The Game I saw the voidwalker I was playing against was Livrah so I checked the stream afterwards. Not that I can understand a word but the Unsettle going on cooldown seemed frustrating, and is not something I intended Also this is me we're so cute toghether ❤️  ## Changelog 🆑 qol: Unsettle (Voidwalker) doesn't go on cooldown if line of sight is broken /🆑 |
||
|
|
8263be1b73 |
All jaunts now kick you out if you are KO'd mid-jaunt (#86339)
## About The Pull Request Basically, this is https://github.com/tgstation/tgstation/pull/83241 extended to all jaunts, like bloodcrawl and such ## Why It's Good For The Game Kinda sucks getting RR'd if you die for some stupid reason mid-bloodcrawl (i.e accidentally suffocating while jaunting) ## Changelog 🆑 fix: You will now be ejected from any jaunt (i.e bloodcrawl or shadow walk) if you lose consciousness somehow during the jaunt. /🆑 |
||
|
|
4e4ba93b94 |
Heretic sacrifice theme (#86124)
## About The Pull Request https://imgur.com/a/bJkpusB ## Why It's Good For The Game It sounds cool ## Changelog 🆑 grungussuss sound: being sacrificed by a heretic is now spookier /🆑 |
||
|
|
9a9b428b61 |
Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
|
||
|
|
3c8f8a4cbf |
Bioscrambler anomalies no longer affect inorganic species (#86061)
## About The Pull Request Closes #86045 by making inorganic or geneless species not be affected by bioscrambler anomalies ## Why It's Good For The Game Currently this only affects voidwalkers which are now also considered geneless, but should ensure that we don't end up with bioscrambled semiorganic skeletons or synths later down the line if something akin to those gets added and ends up missing limb/organ tags. ## Changelog 🆑 fix: Bioscrambler anomalies no longer affect inorganic species /🆑 |
||
|
|
e1bf793264 |
Spelling and Grammar Fixes (#86022)
## About The Pull Request Fixes several errors to spelling, grammar, and punctuation. ## Why It's Good For The Game ## Changelog 🆑 spellcheck: fixed a few typos /🆑 |
||
|
|
0adcea1cc6 |
[NO GBP] Partially reverts a change to *Rusted Ritual* (#85986)
## About The Pull Request Partially reverts a change i made to Rust walkers summoning ritual by having it require Iron(slightly more than it once did) instead of titanium. Link to my previous pr: https://github.com/tgstation/tgstation/pull/83765 ## Why It's Good For The Game Couple of months ago i made rust walkers more expensive to summon as the result of how punishing the vomiting chain stun inflicted by rust was, Initially i thought rust walkers were the problem, as they allowed the heretic to spread rust much quicker than you'd be able to do on their own. That was the wrong way to tackle the problem though, As from what i've seen barely anybody bothers summons these guys after i changed the recipe, and it didn't make Rust heretic any less oppressive. What needed addressing is how oppressive the vomiting was, which admittedly it did change. The vomit is now a knockdown instead of a hard stun and cannot costantly chain proc thanks to this PR. https://github.com/tgstation/tgstation/pull/85944 We do want Heretics to use summons, it brings other players into the fun and makes the round chaotic in a fun way. That's why i'm partially reverting the nerf, it still requires more iron than it once did, 10 sheets instead of 5. Admittedly titanium as a reagent was a bit stupid considering it cannot even rust IRL, oh well.... ## Changelog 🆑 balance: Rusted Ritual now requries 10 sheets of Iron instead of Titanium. /🆑 |
||
|
|
095f7e3b70 |
Death of mutant bodyparts AND external organs (#85137)
## About The Pull Request Removes mutant bodyparts and external organs from the game completely Digitgrade behaviour was mutant bodypart for no reason Cat ears now work with the bodyparts overlay system, same as all the other external organs (since all their behaviour is now just on /organ It doesn't remove all the /external types, but moves all behaviour to /organ. I'll follow up with a PR wiping all the /external organ types, but it's just conflict heaven so not this PR I've also streamlined a lot of duplicate/weird species regeneration code Melbert did the same PR as well but due to a lack of time (?) I have absorbed his PR to double nuke mutant bodyparts ## Why It's Good For The Game Frees us from the chain of unmodular code, and kills my greatest nemesis (after the shuttle meteor murder bug) ## Changelog 🆑 Time-Green and MrMelbert Refactor: External organ behaviour has been moved to /organ, ears now use the same system as the other organs Refactor: Mutant bodyparts are dead! This likely does not mean much to the average person but it's very dear to me code: Improves digitgrade handling in preference code /🆑 I have absorbed #85126, using Melberts code to improve and add some missing changes. Mainly improving the functioning of preferences and digitgrade legs. I didn't take over the hairstyle improvements. --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> |
||
|
|
2f69fe6190 |
Adds three new deathmatch maps - Ragnarok, Lattice Battles, Species Showdown (#85319)
## About The Pull Request Adds three new deathmatch maps. ### Important nonDM Balance Changes Cult daggers fit on belts. Heretic blades fit on belts. Veil shifters fit on belts. I really don't know why these didn't, it makes inventory management rather annoying at times. It also screwed my loadouts over. Cursed Blades fit on cult robes. They're cult equipment after all. Bronze suits fit toy watches!! ### Ragnarok  A vicious battle in the jungle, between the three major religious sects: Prove your deity's might! And try not to upset any primates. Or fall into the chasm. Going clockwise: **Cultist Invoker**: Wielding a mirror shield, shielded robes, a sword, and some bolas, this cultist has a 'well-balanced' set of equipment to annihilate their opponents. **Cultist Artificer**: This set harnesses the blood magicks - with spells of stunning, blood rites, and ranged hallucinations, with a wicked Cursed Blade and Veil Shifter as implement, and Berserker Robes to finish the look. **Holy Crusader**: Nullifying most, but certainly not all, of the fearsome arsenal of the opponents with the null rod at their belt, the Crusader packs a dangerous claymore and armor to protect them from the demons. **Rat'var Apostate**: Hey, what's that guy doing there in the dark? They don't have any magic because their god is Fucking Dead, but they're still going to show up for a token effort. Good luck! **Heretic Scribe**: This mad soul wields an antique rifle and an assortment of other dangerous relics, with a set of magic geared towards staying far apart, picking enemies off from range and evading their attacks for the final blow. **Heretic Warrior**: With the deadliest of Mansus Magic at their disposal, this warrior is only limited by their ability to juggle all their spells at once - don't get overwhelmed sorting your spells while an Invoker runs at you with a sword and shield and makes you cry yourself to death. ### Lattice Battles  A fresh change of pace: In this pacifist map, the only way to kill your opponents is to snip the lattices and catwalks from under them. Watch your step. ### Species Warfare  Prove the might of your static by duking it out with every other kind of crewmember out there. Features a messy dorms, a ticking-timebomb atmos, a rather sterile robotics, a slippery closet, a fluffy medbay, and an energetic bridge. Mirror Shields now shatter on throw (which stuns and hurts) ## Code changes Added two new traits, TRAIT_ACT_AS_CULTIST and TRAIT_ACT_AS_HERETIC. Added these as an OR to respective IS_X checks. Added new GET_X checks for them, which do not check the trait. Tidied up the file those are in. Added belt_contents() to outfits, but it dosen't work.... Added a heretic rust sister-type to rust walls and floors. Fixed a typo in cult ascension. ## Why It's Good For The Game These maps all aim to do something interesting and unique with DM rather than the usual deathfest and hugging of random crates. Ragnarok allows players to practice unusual and rare magical mechanics, similar to Ragin' Mages. Lattice Battles adds SPLEEF to the game, which I think is awesome. Species Warfare is, I think, fun and funny. Each 'department' has incredibly chaotic and thematically-appropiate content for the species its meant to symbolize, and I look forward to the chaos that every round in it is inevitably going to have. > Mirror Shields now shatter on throw. I'm surprised they didn't! Since they aren't used anywhere I can do what I want with them. ## Code changes > Added two new traits, TRAIT_ACT_AS_CULTIST and TRAIT_ACT_AS_HERETIC. Added these as an OR to respective IS_X checks. Added new GET_X checks for them, which do not check the trait. I think this is a clever solution to the problem of 'what if I want someone who acts as the antag, but isn't?' Some procs do need the datum to modify it, so there's GET_X, but those aren't common and don't seem likely to be an issue. > Added belt_contents() to outfits, but it dosen't work.... Help would be very much appreciated, I don't know what I'm doing wrong here. It's only used for the heretic scribe's unfathomable curio. Some post-PR cleanup coming up. ## Changelog 🆑 add: Added three new DM maps - Ragnarok, Lattice Battles, Species Showdown. /🆑 |
||
|
|
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. /🆑 |
||
|
|
ce0a9c932e | Shrunk arrow from pointing at things. Command roles unaffected thanks to id trims (also new skillchip). (#85892) | ||
|
|
a8071313a9 |
Fixes heretic summon rituals not consuming items (#85926)
## About The Pull Request Heretic summon rituals are broken right now to not consume items; this means infinite summons for one set of items. This PR fixes that. ## Why It's Good For The Game Exploits bad Fixes https://github.com/tgstation/tgstation/issues/85925 ## Changelog 🆑 Bisar fix: The Nanotrasen Emergency Religious Response Team has blessed the station; heretic summon rituals now actually consume resources, fixing infinite summon loops. /🆑 --------- Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com> |