Skip to content
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 Merge 2025-02-20 #574

Open
wants to merge 204 commits into
base: master
Choose a base branch
from

Conversation

Mnemotechnician
Copy link
Collaborator

@Mnemotechnician Mnemotechnician commented Feb 20, 2025

Description

An attempt at merging down 2-3 months worth of PRs from EE. Fear. The goal of this PR is to merge most changes up to but not including the "wizden merge for station AI".

This has not yet even been compiled. This will NOT work yet. There are yet more PRs to merge, but I need some time to do it because each wave of 2-5 PRs causes several merge conflicts.

Yes, there is over a dozen merge commits because I was doing this in waves of 2-5 commits at a time to make it more bearable for myself.

Maybe-breaking changes:

  • MeleeWeaponComponent.AttackRate is now in seconds rather than hertz. Yes, this change makes the field have a misleading name. And this change was made by a mathematician, none the less!
  • Mosins bayonet included some legacy code from frontier which may not work/need to be removed now
  • Shadowkins have been butchered upstream and may not work at all, will require testing and possible refactor
  • Some loadouts may be broken
  • Psionics got reworked AGAIN, so none of floof-specific psionics work now (for gods sake have you ever heard of backwards compatibility??)
  • Some surgery-related stuff got moved or removed, make sure stripping UI slots no longer break (or find the new method that removes them, if there's any, and make sure it's not predicted)

Merged features:

  • Blood cult (currently set to have a weight of just 0.05, roughly 4.7% in secret.
  • Guns as melee weapons
  • Most heavy objects as throwable weapons
  • Loadouts V4
  • Surgery is now mostly located in dedicated shitmed namespaces and changes related to it are now properly commented, plus some goobstation changes to surgery got ported to EE too from what it seems
    TODO: PR numbers, go through the commit list and list them

NOT merged (skipped via git merge -s ours):

  • Fix rules (EE#1321) - we have our own rules
  • Back Out "Flash Now Flashes Black Instead of White. (# 14642)" (EE#1331) - because FUCK NO

Discarded (commented out or otherwise):

  • Xenoglossy as a selectible trait, because it renders a whole range of gameplay/roleplay mechanics obsolete.
  • More dangerous mindbreaking (turns the player into an NPC, can be turned on via a CVar)
  • Trait anticheat - solidus made it so that if you spawn in with an invalid trait point value, your character gets erased 2-5 minutes into the shift. Yes, all that instead of writing a server-side check. I have no words to describe how I am feeling about this. Can be turned back on via a CVar.
  • Third party hubs in the default server config

TODO

  • Finish this PR
    • Finish merging stuff
    • Make stuff work
      • Cherry-pick changes from the future to make some things work
    • Finish this TODO list
  • Test this PR
    • Test shadowkin
      • Rework shadowkin if they are broken
    • Make sure the stripping menu didn't start to break again since the method I changed to fix it was moved/removed.
    • Make sure buckles work
    • Make sure standing works
    • Everything else
  • Decide what to do with the blood cult
  • Get rid of all the Hands2, Head2 and other similar character item groups that floof introduced and merge them into upstream groups instead

Media

TODO

Changelog

🆑

  • add: Merged about two months worth of content from upstream- incoherent screaming

Remuchi and others added 30 commits November 22, 2024 16:54
<!--
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
Adds a new game mode - The Blood Cult. 
Hail to Nar'Sie!

---

# TODO

- [x] Gamemode
- [x] Roles
- [x] Runes
- [x] Constructs
- [x] Structures
  - [x] Forge
  - [x] Archives
  - [x] Altar
  - [x] Pylon
    - [x] Structure
    - [x] Placement System
  - [x] Airlocks
    - [x] Repulsor system
  - [x] Construction system
- [x] Items
  - [x] Eldritch Whetstone
  - [x] Construct Shell
  - [x] Mirror Shield
  - [x] True Nar'sian Hardened Armor
  - [x] Flagellant's Robe
  - [x] Eldritch Longsword
  - [x] Zealot's Blindfold
    - [ ] Night vision system
  - [x] Shuttle Curse
  - [x] Veil Shifter
  - [x] Void Torch
 - [x] Reagents
   - [x] Holy Water
- [ ] Actions
  - [x] Cult Magic
    - [x] Stun
    - [x] Teleport
    - [x] Electromagnetic Pulse
    - [x] Shadow Shackles
    - [x] Twisted Construction
    - [x] Summon Combat Equipment
    - [x] Summon Ritual Dagger
    - [x] Blood Rites
  - [ ] Cult Leader Magic
    - [ ] Final Reckoning
    - [ ] Mark Target
    - [ ] Eldritch Pulse
  - [ ] Construct's Magic 
    - [ ] Artificer 
      - [ ] Summon Cult Floor 
      - [ ] Summon Cult Wall
      - [ ] Greater Conjuration
      - [ ] Summon Soulstone
    - [ ] Wraith 
      - [ ] Phase Shift
    - [ ] Juggernaut
      - [ ] Shield
      - [ ] Gauntlet Echo
- [x] Cult leader selection system
- [ ] Rending/Apocalypse rune placement markers
EXTRA:
- [ ] Spirit Realm rune
- [x] Eldritch language
- [ ] Conceal magic
- [ ] Ru locale
---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>

![Example Media Embed](https://example.com/thisimageisntreal.png)

</p>
</details>

---

# Changelog

:cl:
- add: Added Blood Cult Gamemode.

---------

Signed-off-by: VMSolidus <[email protected]>
Signed-off-by: Remuchi <[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]?
-->

Updates to engine version v237.2.0.
Fixes disposals systems breaking and not using the proper direction.

---------

Co-authored-by: sleepyyapril <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>
# Description

Examining an item's damage values as an Oni now calculates your bonus
damage, and it also works with all of the Oni combat traits.

## Technical details

`OniSystem`, instead of adding melee damage through `MeleeHitEvent`, now
adds damage through `GetMeleeDamageEvent`, the same event that examining
melee weapon damage raises through `GetDamage`.

## Media

**Normal damage values**

<img
src="https://github.com/user-attachments/assets/9de255ef-29e6-4119-93cc-356349812a6f"
width=300px>

**Oni damage values**

<img
src="https://github.com/user-attachments/assets/18d44aaf-5a70-4ba9-a8c8-be29e92d7267"
width=300px>


# 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: Skubman
- tweak: As an Oni, examining the damage values of weapons now takes
into account the melee damage bonus from your species or trait.
# Description

# TODO

- [x] Custom name/desc/color tint, toggleable individually per-loadout
	- [x] Fix them not changing correctly between profiles in-editor
	- [x] Preview colors in the lobby
- [x] Allow the users to null the color themselves (and default it to
such)
	- [x] Pick what should be allowed to be recolored
- [x] Guidebook links
	- [x] Make an example
- [x] Special components for loadouts
- [x] Heirlooms
	- [x] Pick what should have heirlooms
- [x] Decimate lag
- [x] Fix live character preview
- Maybe do characters per job
  - Rethink unusable

---

<details><summary><h1>Media</h1></summary>
<p>

<!--
![image](https://github.com/user-attachments/assets/cce7dcf3-eeb6-4998-ae88-6373db8cb93f)
-->


https://github.com/user-attachments/assets/bcf61517-6b64-40d2-b299-7462e2469fe2

</p>
</details>

---

# Changelog

:cl:
- add: Players can set custom names, descriptions, and color tints for
their loadout items
- add: Certain loadouts may have Guidebook pages shown in the editor
- add: Players can pick a list of loadout items to have one randomly be
their family heirloom for a mood bonus or deficit if they are carrying
it
- fix: Loadouts have almost as little lag as possible (hopefully none)
- fix: Everything properly updates your character editor's live preview

---------

Signed-off-by: DEATHB4DEFEAT <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
Co-authored-by: Pspritechologist <[email protected]>
This is an automated Pull Request. This PR updates the GitHub
contributors in the credits section.

Co-authored-by: SimpleStation Changelogs <[email protected]>
There's a small error on the admin verb for blood cultists which made
the verb only work on self. This fixes 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]?
-->

Fixes IPCs being unable to use the midi menu.

---

# 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 IPCs being unable to use the midi menu.
<!--
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 bug with opening storage containers while there's already one
opened.

---

# 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 the bug with opening storage containers while there's
already one open.
<!-- Guidelines:
https://docs.spacestation14.io/en/getting-started/pr-guideline -->

## About the PR
<!-- What did you change? -->
- Fixed a bug where applicable medication stacks would revert back to 10
after 1 use.

## Why / Balance
<!-- Discuss how this would affect game balance or explain why it was
changed. Link any relevant discussions or issues. -->
- Did you know maxstacks were stored in a separate YML? Me neither,
until now.

**Changelog**
<!-- Add a Changelog entry to make players aware of new features or
changes that could affect gameplay.
Make sure to read the guidelines and take this Changelog template out of
the comment block in order for it to show up.
Changelog must have a 🆑 symbol, so the bot recognizes the changes and
adds them to the game's changelog. -->
<!--
-->
🆑
- fix: Fixed a bug where applicable medication stacks would revert back
to 10 after 1 use from full.

Signed-off-by: Tmanzxd <[email protected]>
# Description

Re-enables language font and colors showing up in chat messages. The
language font/colors were bugged after adding language names in chat
(Simple-Station/Einstein-Engines#1165)

I also overhauled the format for chat messages to be more aesthetically
pleasing, and made sure chat bubbles use the language color/font.

## Media

**Nekomimetic**


![image](https://github.com/user-attachments/assets/4cb88d7b-7466-42ed-bf2d-b68c68edb62c)

![image](https://github.com/user-attachments/assets/adec7fd7-0a84-4e21-9eff-c1a387e2d529)

**Bubblish**


![image](https://github.com/user-attachments/assets/c49f5573-ac96-4375-a584-e8b2cc6f5fee)

![image](https://github.com/user-attachments/assets/c739c249-9d1e-453e-9e92-3f7ef24a4d61)

**Tau-Ceti Basic (Default Language)**


![image](https://github.com/user-attachments/assets/e6660039-ac2f-449b-96e0-44e0142d3715)

![image](https://github.com/user-attachments/assets/2baec2ca-975d-4111-85b0-3b2056fdd7f7)

**Rootspeak**


![image](https://github.com/user-attachments/assets/99d94f8d-9a1c-4be9-8c98-b42c9c7cffd7)

![image](https://github.com/user-attachments/assets/c20b4621-1ca7-42f5-a22a-82c9a4d1dddf)

## Changelog

:cl: Skubman
- fix: Language colors and fonts will show up in text messages again,
both on in-person messages and on the radio.
- tweak: The text on chat bubbles now uses the color and font of the
language being spoken.
- tweak: The language prefix before the name on chat messages now uses
the language's color.
# Description

![image](https://github.com/user-attachments/assets/b10f1e33-94fb-4ded-a644-b9945b58dbc5)

Honey wake up, another shitmed PR with 5 features and a trillion bugs! I
love bloat.

---

# Known Bugs
- A lot of shit with changelings lol
- Markings suddenly disappear from your entity apparently at random.
Wizden exclusive issue as of now.
- Fire heretics explode when ascending due to part damage shitcode
(sorry)
- Some exceptions/null point references at round end, tentatively
related to salvage corpses.
- Slots having wonky behavior due to not being networked. More of a
broad issue with how I implemented them initially.
- Arachne are FUCKED with surgery, I was incredibly tempted to set them
to roundstart: false, but I'll try to hotfix it this week.

---

# Changelog

:cl: Mocho, Deltanedas
- add: Ported Ghetto Surgery from Deltanedas!
- add: Ported fishops organs from Deltanedas!
- add: Added different step durations to each surgery step.
- add: Added a T2 research for advanced surgical tools
- add: Added a T3 research for an omnitool for surgery.
- add: Added Surgical and Advanced Surgical modules for Mediborgs
- add: Mediborgs can now perform surgery!
- add: Added lobotomies as an operation. Godspeed you psychopaths.
- add: Added cybernetic arms, legs and eyes.
- add: Added EMP weaknesses to all cybernetic parts (the day of
reckoning will come for IPCs soon)
- add: Losing your eyes now blinds you.
- fix: Fixed a few species that did not inherit from BasePart's, thus
taking damage types they shouldn't on their limbs.
- fix: Fixed harpy lungs not being usable in surgeries.
- fix: Fixed biosynthetic and other printable parts not allowing you to
attach body parts to them.
- fix: Fixed fire being able to destroy your chest.
- fix: Fixed entities being able to take over your body by just
inserting a brain or another head on top of you.
- fix: Fixed some shitcode that didnt let rejuvenate or godmode work
properly.
- fix: Fixed bionic arm, and cybernetic eyes traits not working properly
due to shitty networking.
- tweak: Increased tend wounds's speed by double, and bumped up the
values on its calculations. DEATH TO TOPICALS, LEAVE THOSE TO TIDERS.
- tweak: Beheading an entity now doesnt let it move, speak, and forces
it to the ground immediately (literally 1984!!11!!)
- tweak: Changed sprites on most surgical tools to now use /tg/ sprites.
- tweak: Unbound shitmed targeting doll keybinds by default (did you
know we have those).

---------

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]>
<!--
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]?
-->

Link to every PR I cherry-picked:
1. new-frontiers-14/frontier-station-14#2283
2. space-wizards/space-station-14#29219
3. space-wizards/space-station-14#30075
4. space-wizards/space-station-14#28639
5. space-wizards/space-station-14#32527
6. space-wizards/space-station-14#28030
7. space-wizards/space-station-14#28178

The main purpose of this PR is the first cherry-picked PR. It adds the
ability for admins to reply to ahelps via discord using an HTTP POST
request. See all relevant details in the initial PR by Myzumi.

---------

Co-authored-by: Myzumi <[email protected]>
Co-authored-by: Whatstone <[email protected]>
Co-authored-by: Whatstone <[email protected]>
Co-authored-by: Pieter-Jan Briers <[email protected]>
Co-authored-by: to4no_fix <[email protected]>
Co-authored-by: Repo <[email protected]>
Co-authored-by: Chief-Engineer <[email protected]>
Co-authored-by: metalgearsloth <[email protected]>
Co-authored-by: Leon Friedrich <[email protected]>
Co-authored-by: ShadowCommander <[email protected]>
# Description

This PR adds a bunch more equipment selections for Engineering loadouts,
plus Suit/Skirt selections for the jobs that were missing it.

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/user-attachments/assets/031224b4-e348-4030-9ea4-7f2dbc64c87d)

</p>
</details>

# Changelog

:cl:
- add: All engineering roles have had their equipment loadouts
significantly expanded upon. Engineers can now buy construction
materials with their loadout points.
- fix: All engineering jobs now have their Suit/Skirt selection via
loadouts.
- add: Salvage techs can now select from a variety of knife options to
start their spess adventures with.
- add: Epistemics staff now have *some* equipment selection options that
they share. More to come when I finish making the Potentiometer.
<!--
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]?
-->

Change your hostname whenever map, preset, or runlevel changes!

Variables given on all hostname locale strings:
- {$mapName} - The name of the current map.
- {$preset} - The name of the current preset.
- {$originalHostname} - What you originally had game.hostname set to,
before updating.

---

<!--
This is default collapsed, readers click to expand it and see all your
media
The PR media section can get very large at times, so this is a good way
to keep it clean
The title is written using HTML tags
The title must be within the <summary> tags or you won't see it
-->

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/user-attachments/assets/97cba40b-5ceb-40f8-91e4-93450cd22b78)

![image](https://github.com/user-attachments/assets/2cf27e65-b493-4916-bedd-aa69eaa0135b)

![image](https://github.com/user-attachments/assets/234f5be0-7a8c-41e1-abdf-10e9c6700a90)

![image](https://github.com/user-attachments/assets/522525d6-fb23-45b9-b559-deffb3f37a58)



</p>
</details>

---

# 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
-->
nah
# Description

This PR adds a few articles of various kinds of religious headgear to
loadouts, namely a Hijab, Turban, and Kippah. All 3 are whitescale items
that are set as colorable, allowing players to make them whatever color
is desired.

Farida can finally have the pink Hijab she was always supposed to have.

<details><summary><h1>Media</h1></summary>
<p>


![image](https://github.com/user-attachments/assets/35fca330-98ba-439b-8e23-eec917b0d30c)

</p>
</details>

# Changelog

:cl:
- add: Added various articles of religious headgear to loadouts, such as
Hijab, Kippah, and Turban. All of these are set to allow custom colors.
@Mnemotechnician Mnemotechnician added Status: Do Not Merge Do not merge Status: Awaiting Changes Do not merge due to requested changes Priority: 3-Low Should be resolved at some point and removed 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 Status: Needs Review Someone please review this labels Feb 20, 2025
@Mnemotechnician
Copy link
Collaborator Author

Obviously do not merge. I am leaving this as an open PR to let workflows run and indicate progress.

@github-actions github-actions bot added the Status: Merge Conflict FIX YOUR PR AAAGH label Feb 27, 2025
Copy link
Contributor

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@github-actions github-actions bot added Changes: C# Changes any cs files Changes: Audio Changes any ogg files 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 labels Feb 27, 2025
@github-actions github-actions bot removed the Status: Merge Conflict FIX YOUR PR AAAGH label Feb 27, 2025
@Mnemotechnician
Copy link
Collaborator Author

Mnemotechnician commented Feb 27, 2025

This horror of a PR now finally has everything merged, and will bring us exactly 1 commit behind the wizden merge.

But that was just the introductory part of the trip to hell that this PR is. Next up is making it at least compile and run (right now quite a bit of things are just broken, it's outlined in the PR description), and then debugging the possible issues.

@github-actions github-actions bot added the Status: Merge Conflict FIX YOUR PR AAAGH label Mar 1, 2025
Copy link
Contributor

github-actions bot commented Mar 1, 2025

This pull request has conflicts, please resolve those before we can evaluate the pull request.

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: 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: 3-Low Should be resolved at some point Status: Awaiting Changes Do not merge due to requested changes Status: Do Not Merge Do not merge Status: Merge Conflict FIX YOUR PR AAAGH
Projects
None yet
Development

Successfully merging this pull request may close these issues.