-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Upstream Sync #73
Merged
Merged
Upstream Sync #73
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> # Description <!-- Explain this PR in as much detail as applicable Some example prompts to consider: How might this affect the game? The codebase? What might be some alternatives to this? How/Who does this benefit/hurt [the game/codebase]? --> An attempt to do all engine updates in one go. Not focusing on content associated, only what's needed for it to run and any bug fixes. --- # TODO - [x] Fix bug where unbuckling resets you to lying down. - [x] Fix bug where you can no longer get up after lying down. - [x] See what else I broke. --- --------- Signed-off-by: sleepyyapril <[email protected]> Co-authored-by: metalgearsloth <[email protected]> Co-authored-by: Leon Friedrich <[email protected]> Co-authored-by: Tayrtahn <[email protected]> Co-authored-by: VMSolidus <[email protected]> Co-authored-by: Nemanja <[email protected]> Co-authored-by: ShadowCommander <[email protected]> Co-authored-by: Plykiya <[email protected]> Co-authored-by: plykiya <[email protected]> Co-authored-by: Pieter-Jan Briers <[email protected]> Co-authored-by: metalgearsloth <[email protected]> Co-authored-by: Chief-Engineer <[email protected]> Co-authored-by: deltanedas <[email protected]>
# Description I hate that I have to check if the map even exists at all. How the hell is there a station even existing in the first place if the default loaded map is NULLSPACE?! GetSpawnableStations should have returned a list containing zero stations if that was the case, which would then exit out. I hate these stupid tests. I hate these stupid tests. I hate these stupid tests. I hate these stupid tests. I hate these stupid tests. I hate these stupid tests. I hate these stupid tests. I hate these stupid tests. I hate these stupid tests. I hate these stupid tests. I hate these stupid tests. I hate these stupid tests. # Changelog No CL because this isn't player facing.
<!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> # Description <!-- Explain this PR in as much detail as applicable Some example prompts to consider: How might this affect the game? The codebase? What might be some alternatives to this? How/Who does this benefit/hurt [the game/codebase]? --> Goal of this PR is to fix the stamina system, as was caused by #1220. --- # Changelog <!-- You can add an author after the `:cl:` to change the name that appears in the changelog (ex: `:cl: Death`) Leaving it blank will default to your GitHub display name This includes all available types for the changelog --> :cl: - fix: Fixed stamina system Co-authored-by: sleepyyapril <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>
# Description Add real world Day/Night cycle changing, with Ambient color interpolation and some configurable features for mappers. High inspired by [Nuclear-14](https://github.com/Vault-Overseers/nuclear-14.git) and [Crystall Punk 14](https://github.com/crystallpunk-14/) TimeCycle use 24h day calculation, instead coefficient, like in N14. --- # TODO [ ] - Add more examples/prepared map palettes for Day/Night ambient. [ ] - (Optional) Move all palette description into List of variables, instead calling `IPrototypeManager` every minute passing. --- https://github.com/user-attachments/assets/cc5d1b8c-bd25-4042-8cee-e2edfa0d9acc ![image](https://github.com/user-attachments/assets/abcdc11d-fdb1-4b48-8599-0116a5797f8b) --- # Changelog :cl: - add: Added Day/Night time cycle for admins and mapers.
# Description First in a series of PRs to introduce bugfixes and updates to Shitmed, this will generally feature PRs from Goobstation or Backmen as well since they are actively helping me maintain the code. Usual Shoutouts: Deltanedas: Goob-Station/Goob-Station#882 --- # Changelog :cl: Mocho, Deltanedas - add: You can now perform surgery as a monke. Rejoice. - add: You can perform surgery on a lot of animals now, I missed a lot of them so just ask if you want any particular critter to get it. - tweak: Entities now perish after 60 seconds of losing their heart and/or brain. - fix: Entities properly take asphyxiation damage after losing their brain. - fix: Torsos being gibbable, which would break surgery or just about anything. - fix: Items not being removed from their respective slots if the parts were gibbed rather than dropped. - fix: Animal organs not being usable properly in surgeries - fix: Cyborg limbs are now usable as pseudo-peg arm/legs. --------- Signed-off-by: gluesniffler <[email protected]> Co-authored-by: FoxxoTrystan <[email protected]> Co-authored-by: goet <[email protected]> Co-authored-by: Saphire Lattice <[email protected]>
# Description Quick fix to prevent the Self-Aware trait from crashing the client of a player when examining their character's health. [`HealthExaminableSystem.CreateMarkupSelfAware`](https://github.com/Simple-Station/Einstein-Engines/blob/6945e3027bc14eac1de0099d30f8f35b19a3034e/Content.Shared/HealthExaminable/HealthExaminableSystem.cs#L119) attempts to access the `AnalyzableTypes` and `DetectableGroups` data fields from [`SelfAwareComponent`](https://github.com/Simple-Station/Einstein-Engines/blob/6945e3027bc14eac1de0099d30f8f35b19a3034e/Content.Shared/Traits/Assorted/Components/SelfAwareComponent.cs), but since they are only initialized in the server and `null` in the client, the client crashes. I believe this could be related to the recent trait overhauls, but not sure. I just fixed it by adding `AutoNetworkedField` to those fields to automatically propagate the initialized values. Other traits might have a similar bug to this. ## Changelog :cl: Skubman - fix: Examining yourself with the Self-Aware trait will no longer crash your game client.
# Description Adds popups for surgery steps in Shitmed that every player within PVS range can see. This allows other players to see if the correct procedure is being performed. This PR also includes locale text for the new procedures and steps in #1240. ## Media **Remove Brain / Insert Brain** https://github.com/user-attachments/assets/ac20afa1-df74-48ab-b1d5-2e9a273dfba2 <details><summary>See more</summary> **Amputate Right Arm** https://github.com/user-attachments/assets/17f78683-6d3b-44ee-aea3-bb6987844fdc **Attach Right Arm** https://github.com/user-attachments/assets/584d4da2-d8b0-4c82-a323-26636e7fa4b8 </details> ## Changelog :cl: Skubman - add: Surgery step descriptions (like making an incision, removing/attaching limbs and organs) are now shown as popups to everyone in range upon the start of the step. This makes it clear which surgical procedure is being done and to which body part. No more stealthy brain-stealing in front of everyone!
<!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> # Description <!-- Explain this PR in as much detail as applicable Some example prompts to consider: How might this affect the game? The codebase? What might be some alternatives to this? How/Who does this benefit/hurt [the game/codebase]? --> Fixes the silly heisentest. --------- Co-authored-by: sleepyyapril <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>
# Description QoL updates to improve the stamina management experience with power attacks: - The stamina cost of an object's power attack can be revealed by examining its damage values. - Power attacks can't be done if your stamina is too low, so you can't accidentally stamcrit yourself with power attacks anymore. - **Nerf:** Power attacks now cost stamina even without hitting anything. - Prevent power attacks from showing a blue visual effect on the character who attacked due to stamina damage. ## Media **Gameplay** https://github.com/user-attachments/assets/f5031ce3-8303-475a-9c37-d8004ed55dbc **Damage Examine** <img src="https://github.com/user-attachments/assets/82821d5a-176b-4edf-93c4-f08f9c104c7a" width=300px> <img src="https://github.com/user-attachments/assets/6347db9f-11e3-45fd-8317-f132a125082a" width=300px> ## Changelog :cl: Skubman - add: The stamina cost of an object's power attack can now be revealed by examining its damage values. - tweak: Power attacks can't be done if your stamina is too low, so you can't accidentally stamcrit yourself with power attacks anymore. - tweak: Power attacks now cost stamina even without hitting anything. - tweak: Prevent power attacks from showing a blue visual effect on the character who attacked due to stamina damage.
# Description Small oversight that Glimmer Wisps are generally described as drinking their victim's soul and obliterating their entire personhood. Which is fundamentally just mindbreaking said person. So this PR makes it so that Glimmer Wisps killing a psion also inflicts the Mindbroken condition on them. # Changelog :cl: - add: Glimmer Wisps now completely obliterate their victim's Personhood, inflicting the Mindbroken condition on them.
# Description This was entirely too long overdue. I am reorganizing the entirety of all ingame loadouts, so that it is possible to see what jobs are actually missing loadout items. Every job in the game will have its own loadout tab, each of them all sharing the same organization hierarchy with *plainly visible blank spaces* that people can use to see what jobs are in need of having things added to them. Command category only contains Captain, Head of Personel, with space for Centcomm roles and Blueshield if we ever add those. Instead all of the "Department Specific Commands" are sorted with their respective departments. Which makes it really obvious if for instance there's an entire 2nd list of Head of Security drip... # TODO - [X] All of the Categories - [x] Localize the categories - [x] Make item groups for everything ## Organize Command - [x] Captain - [x] Head Of Personnel ## Organize Engineering - [x] atmos tech - [x] CE - [x] senior engineer - [x] station engineer - [x] tech assistant ## Organize Epistemics - [x] acolyte - [x] cataloger - [x] chaplain - [x] golemancer - [x] mystagogue - [x] mystic - [x] noviciate - [x] psionic mantis ## Organize Logistics - [x] cargo tech - [x] courier - [x] LO - [x] salvage ## Organize Medical - [x] chemist - [x] CMO - [x] doctor - [x] medical intern - [x] paramed - [x] senior physician ## Organize Security - [x] cadet - [x] corpsman - [x] detective - [x] HOS - [x] secoff - [x] senior officer - [x] warden ## Organize Service - [x] bartender - [x] botanist - [x] chef - [x] clown - [x] janitor - [x] lawyer - [x] mime - [x] musician - [x] reporter ## GUH - [x] Add literally everything we are missing - [x] Do literally all of the Job specific Item Groups <details><summary><h1>Media</h1></summary> <p> ![Example Media Embed](https://example.com/thisimageisntreal.png) </p> </details> # Changelog :cl: - fix: Reorganized Loadouts so that all Jobs now have their own job specific tabs. The code for them has been thoroughly reorganized too, such that figuring out which jobs are missing crap is way easier to do. - add: Captain's Personal Weapon loadout category. Currently only contains a choice between the antique laser pistol, or a pulse pistol. Whichever choice is made will be used as a target for a traitor objective. --------- Signed-off-by: VMSolidus <[email protected]>
# Description This fixes some stupid math. Power attacks are now correctly slower than left clicks. Previously they were faster. # Changelog :cl: - fix: Power Attacks now correctly apply a penalty on swing speed, and are no longer faster than left clicking.
# Description Converted the descriptions of most wizden traits to a more formal and roleplay-oriented style, also clarifying some aspects of other traits in the process. --- TODO: - [ ] Test this --- # Changelog :cl: - tweak: Tweaked the descriptions of most Wizden traits to be more vivid and descriptive. --------- Signed-off-by: Mnemotechnican <[email protected]>
# Description This PR effectively "Reworks" several of the Bionic Traits through use of new modular TraitFunctions. These being, **TraitPushDescription**: Ensures that an entity has the new ExtendDescriptionComponent, then writes to said component. ExtendDescriptionComponent serves as a new highly modular "One stop shop" for any system wanting to add text to the shift-click examine window. It even accepts arguments for text color, font size, and whether or not a person must be standing within touching distance to "See" the provided texts. It accepts arbitrarily any number of descriptions. **TraitAddArmor**: This takes advantage of a new functionality for the DamageableSystem, whereby entities are able to have more than one DamageModifierSet. This allows arbitrarily any number of traits to add as many modifier sets as desired, without fear of any compatibility issues. These can be both negative and positive, and as Skubman has pointed out, this can also be used to create negative traits that make a character more vulnerable to a given damage type! Additionally, most of the Bionics Traits have been reworked. CyberEyes has been split into two modules, one for the base implant, and one for the Flash Protection. Dermal Armor has been reworked using TraitAddArmor, so that it no longer replaces your original modifier set, and instead stacks multiplicatively with whatever your original species modifier set was. Thus, it can now be taken by any species. # TODO <details><summary><h1>Media</h1></summary> <p> TraitPushDescription ![image](https://github.com/user-attachments/assets/4661671a-6f20-4cb1-9fad-41c36f7ad79e) TraitAddArmor ![image](https://github.com/user-attachments/assets/bbc823e1-73bf-471d-b5f6-ef8cdf35c746) </p> </details> # Changelog :cl: - add: Five new functions for the Trait System, AddArmor, PushDescription, ModifyMobThresholds, AddSolutionContainer, and ModifyStamina. - tweak: CyberEyes Basic System has been split, now Flash Protection is a separate module. - add: Dermal Armor no longer replaces your original species damage resistances. It now stacks multiplicatively with your original resistances. - tweak: Dermal Armor can now be taken by any species, not just Humans. - add: Dermal Armor, and Bionic Arms can now be revealed by a close examination. Shift click on someone within touching distance will reveal if they have these "Obvious" cyberware. --------- Signed-off-by: VMSolidus <[email protected]> Co-authored-by: Remuchi <[email protected]>
# Description Makes it so that using one anomaly scanner on another transfers the anomaly data onto the used scanner. <details><summary><h1>Media</h1></summary> <p> ![image](https://github.com/user-attachments/assets/b212e6e8-58a3-4a64-a216-3ba496a81d4a) </p> </details> # Changelog :cl: - add: You can now touch one anomaly scanner with another to copy the anomaly scan data from it.
<!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> # Description <!-- Explain this PR in as much detail as applicable Some example prompts to consider: How might this affect the game? The codebase? What might be some alternatives to this? How/Who does this benefit/hurt [the game/codebase]? --> Mass bug fixing, for bugs related to #1220. Feel free to link or send bugs. Fix list: - #1242 - #1243 - #1244 - space-wizards/space-station-14#28084 - space-wizards/space-station-14#28282 - Actually fixed PirateRadioSpawnRule heisentest (with a bandaid) (I cancel if it's 0) - Simple-Station/Einstein-Engines#1263 --- # Changelog <!-- You can add an author after the `:cl:` to change the name that appears in the changelog (ex: `:cl: Death`) Leaving it blank will default to your GitHub display name This includes all available types for the changelog --> :cl: - fix: Fixed chair visuals drawing depth wrongly if you sat in a north-facing chair. - fix: Fixed buckling doing several buckles each time you did one. - fix: Fixed the magic mirror. - fix: Fixed beds re-positioning you every few seconds. - fix: Fixed E not opening containers that are in another container. - fix: Fixed disposal systems not flushing or ejecting properly. --------- Co-authored-by: sleepyyapril <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> Co-authored-by: Nemanja <[email protected]>
# Description Turns a plethora of items into throwing weapons that deal damage when thrown. Throwing weapons cost stamina to throw. ## Technical/Balance Details To make a melee weapon also a throwing weapon, just add `- type: DamageOtherOnHit`, and it will automatically inherit the damage from a light melee attack and the melee sound effect as the thrown hit sound effect. You can set a custom damage value with the `damage` field (necessary when the item is not a `MeleeWeapon`) and stamina cost with `staminaCost`. To make the throwing weapon embed and deal damage over time when embedded, add `- type: EmbeddableProjectile` and `- type: EmbedPassiveDamage`. By default, the embed damage per second is 5% of the throwing damage, but it can be modified on `EmbedPassiveDamage` with `throwingDamageMultiplier`. The default stamina cost for throwing is 3.5 stamina. The baseline cost for almost all DoT embeddables is 5 stamina, because of the extra damage the DoT brings. When a thrown item hits a target with body parts, it will randomly select a body part and only deal throwing damage to that body part. It will also embed to the same body part and only deal passive embed damage to it. ## TODO The unchecked checkmarks are best addressed in another PR but they will stay here for now. <details><summary>Show Todo</summary> - [ ] Deal with prediction issue on embeddable projectile removal - [ ] This happens even before this PR so not really a big issue, maybe in a separate PR - [x] Add embeddable damage numbers to embeddables - [x] Fix throwing angle for surgery tools after the surgical tools sprite update - [ ] Try to make the throw knockback function as if it hit a wall - [x] Esword/desword/e-dagger toggle embed damage - [x] Don't start passive embed damage if EmbedPassiveDamageComponent has no damage - [x] Make DamageOtherOnHit.Damage not nullable - [x] Throwing damage only to a specific body part ### Traits - [ ] **Enraged Throw** (Oni) - [ ] Oni/trait damage bonus applied to throwing weapon too - [ ] Can throw carried bodies, which will do a MassContest between the thrown body and the hit body to determine blunt damage, and stun duration for each party - [ ] 15% resistance to thrown/embed damage - This helps when their enemy uses the items they throw against them. - [ ] **Sharpthrower** (Human) - [ ] 10% more Brute thrown damage - [ ] 50% chance of throw hitting targetted body part - [ ] 40% throwing stamina cost reduction - [ ] 15% resistance to thrown/embed damage ### Embeds - [x] Adjust embed damage per second to be like /tg/ (in /tg/ spear has around ~1.2 embed DPS, adjust for ~45% embed chance since we're not implementing embed chance and its 0.54) - [ ] Merge EmbeddableProjectileComponent and EmbeddablePassiveDamageComponent - [ ] Split SharedProjectileSystem into EmbeddableProjectileSystem - [x] Embed to a specific body part and deal damage only to that part, for now can randomly select body parts on embed - [ ] ~~Normal passive damage becomes x0.2 when lying down~~ - [ ] Increased damage when moving, more bonus damage for running (Jostle DPS on /tg/ is 0.2 running and 0.1 when walking/crawling) - [x] All embeddables have a fall out time (30 or 45 secs) - [ ] - [x] On damage examine, can see that an object is embeddable "It can embed on a target if thrown." - [ ] Negative moodlet for attached harmful embeddables - [ ] On health examine target with embeds, can see embedded objects "He has a spear embedded in his left arm." - [x] On examine item that is embedded, can see to which body part the item is embedded "The spear is embedded on Urist McHands's left arm." - [ ] An embeddable removed outside of surgery deals a lot of damage (x2 thrown damage) - [ ] Lying down prevents natural falling out and thus the damage with non-surgical removal - [ ] Surgical procedure on a body part to remove all embeds on it, using hemostat for removal - [x] Allow anyone to remove embedded cultist weapons even if they're not a cultist </details> ## Media **Throwing Toolbox Tools** https://github.com/user-attachments/assets/4e20568f-adf0-4be8-ac38-fc6b21fed03c **Examine** ![image](https://github.com/user-attachments/assets/ef95e653-1491-4d9b-8f84-785c3df22763) **Examine After Embedding** ![image](https://github.com/user-attachments/assets/edc79c8f-db23-4bd3-9fa7-3b47f79c5881) ## Changelog :cl: Skubman - add: The Throwing Update is here. You can throw most melee weapons at the cost of stamina to deal damage from afar. - add: Dozens of throwable weapons, mainly sharp weapons will now embed on throw and deal damage every second until they're manually removed or naturally fall off after some time. - add: Examining the damage values of an item now shows its throwing damage, throwing stamina cost, whether or not it embeds on a throw, and if the embed deals damage over time. - add: Examining an embedded item now shows what body part it's embedded in. - tweak: The traits High Adrenaline, Adrenal Dysfunction, Masochism and Low Pain Tolerance now affect throwing attacks just like melee attacks. - tweak: The default time to remove embedded items has been increased from 3 to 5 seconds, and both the remover and the target with the embedded item need to stand still during the removal. - tweak: The time to pry up a floor tile with a crowbar and other tools has been decreased from 1 second to 0.5 seconds. The throwing damage of floor tiles has been increased. Go figure. - fix: Attempting to throw a Blood Cultist item without being a cultist will stun you and drop the item you're holding properly. --------- Co-authored-by: sleepyyapril <[email protected]>
…22) (#1329) Cherry picks "Fix station events schedulers, antag selection and possibly other systems acting weird in a rare scenario." # Description This is being PRed mostly as a fix to an issue which caused the round to fail to start due to an error in antag selection, which did happen in Thief antags and may also happen with Bloodcult gamemode. Double posting from discord: > It fixed issues caused with antag selection at roundstart which affected roundstart Thief selection. > > Since cultists are also selected exactly at roundstart - unlike traitors for instance, I think this might help with cultists too. > > I tried to force start bloodcult gamemode in the past and it failed to start but I since I had tracebacks disabled trying to improve performance I'm not sure this was the cause. > Credits to April for pointing this out for me after I commented on the issue. ---- This cherry picks 79ff990ddf7c7af40f70bcc7ba2d3220730852ab removing changes which change methods which do not exist yet on our side. <!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> Co-authored-by: faint <[email protected]>
nothin' crazy, just annoying.
Description. Melee weapons got swapped from attacks/second to second/attack but the actual attack rate value didn't get changed so weapons got all jumbled. I'm pretty sure I got them all but I might've missed a few in weird folders :cl: - fix: Fixed melee weapons. --------- Signed-off-by: dge21 <[email protected]> Co-authored-by: sleepyyapril <[email protected]> Co-authored-by: VMSolidus <[email protected]>
<!-- This is a semi-strict format, you can add/remove sections as needed but the order/format should be kept the same Remove these comments before submitting --> # Description <!-- Explain this PR in as much detail as applicable Some example prompts to consider: How might this affect the game? The codebase? What might be some alternatives to this? How/Who does this benefit/hurt [the game/codebase]? --> This takes in one CVar and one required value and simply checks if the CVar's value as a string is equal to the required value. I could make it use a list of them, but I really didn't think it was needed considering CharacterAndLogic. I also cleaned up CharacterRequirements.Profile.cs a bit. --------- Signed-off-by: sleepyyapril <[email protected]> Co-authored-by: VMSolidus <[email protected]> Co-authored-by: DEATHB4DEFEAT <[email protected]>
…ngines into upstream-sync-8
DEATHB4DEFEAT
added
Size: 1-Very Large
For especially large issues/PRs
Priority: 2-High
Needs to be resolved as soon as possible
labels
Dec 10, 2024
github-actions
bot
added
Changes: C#
Changes any cs files
Changes: Map
Changes any yml file in the Maps directories
Changes: Localization
Changes any ftl files
Changes: YML
Changes any yml files
Changes: Documentation
Changes any xml or md files
Changes: Sprite
Changes any png or json in an rsi
Changes: UI
Changes any XAML files
Changes: Config
Changes any configuration file
Changes: Audio
Changes any ogg files
and removed
Status: Needs Review
Someone please review this
labels
Dec 10, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Changes: Audio
Changes any ogg files
Changes: C#
Changes any cs files
Changes: Config
Changes any configuration file
Changes: Documentation
Changes any xml or md files
Changes: Localization
Changes any ftl files
Changes: Map
Changes any yml file in the Maps directories
Changes: Sprite
Changes any png or json in an rsi
Changes: UI
Changes any XAML files
Changes: YML
Changes any yml files
Priority: 2-High
Needs to be resolved as soon as possible
Size: 1-Very Large
For especially large issues/PRs
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.