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 7/5/2024 #42

Merged
merged 62 commits into from
Jul 6, 2024

Conversation

VMSolidus
Copy link
Contributor

The Runner tests are going to fail, but the tests concerning Sophie's new conversation tree can be ignored. I've verified through ingame testing that the game will run just fine.

SimpleStation14 and others added 30 commits June 29, 2024 23:46
## Mirror of PR #26026: [Throwing Knives: Syndicate
Kit](space-wizards/space-station-14#26026) from
<img src="https://avatars.githubusercontent.com/u/10567778?v=4"
alt="space-wizards" width="22"/>
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)

###### `393bcbfc1346589075ad960473685c78bdbf46e5`

PR opened by <img
src="https://avatars.githubusercontent.com/u/134914314?v=4"
width="16"/><a href="https://github.com/UbaserB"> UbaserB</a> at
2024-03-12 06:57:41 UTC

---

PR changed 13 files with 101 additions and 8 deletions.

The PR had the following labels:
- No C#
- Changes: Sprites


---

<details open="true"><summary><h1>Original Body</h1></summary>

> <!-- Please read these guidelines before opening your PR:
https://docs.spacestation14.io/en/getting-started/pr-guideline -->
> <!-- The text between the arrows are comments - they will not be
visible on your PR. -->
> 
> ## About the PR
> <!-- What did you change in this PR? -->
> 
> This PR adds throwing knives and a syndicate bundle in the bundle
category for 6 TC which comes with 4 throwing knives in a box. Each
knife does 10 slash + 15 pierce damage on throw, and 5 flash per hit (10
DPS). This makes it better than a kitchen knife, but worse than a combat
knife, which is what security is fitted with.
> 
> ## Why / Balance
> <!-- Why was it changed? Link any discussions or issues here. Please
discuss how this would affect game balance. -->
> 
> This kit is built for weakening an enemy from a distance (from
chasing, etc) while being able to fight back if cornered into a 1v1 CQC
fight. Sure, you can kill several people with the kit; hence why it's so
expensive, but there are drawbacks. Firstly, once it embeds into a
target they are able to pull it out. Secondly, when you are pulling them
out of a target, YOU are vulnerable. Thirdly, if you miss your hits the
target will probably not die. Good things you have four knives and can
stab them to death.. better than punches!
> 
> ## Media
> <!-- 
> PRs which make ingame changes (adding clothing, items, new features,
etc) are required to have media attached that showcase the changes.
> Small fixes/refactors are exempt.
> Any media may be used in SS14 progress reports, with clear credit
given.
> 
> If you're unsure whether your PR will require media, ask a maintainer.
> 
> Check the box below to confirm that you have in fact seen this (put an
X in the brackets, like [X]):
> -->
> 
> - [X] I have added screenshots/videos to this PR showcasing its
changes ingame, **or** this PR does not require an ingame showcase
> 
> **It embeds and kills in 4 throws on an unarmoured target.**
>
![image](https://github.com/space-wizards/space-station-14/assets/134914314/05f4112d-a08c-4bde-9b34-8a5ecde0b270)
> 
> **Item description.**
>
![image](https://github.com/space-wizards/space-station-14/assets/134914314/87704a6e-8501-4f19-a158-bf89d6b4a83e)
> 
> **4 knives.**
>
![image](https://github.com/space-wizards/space-station-14/assets/134914314/44dc4c40-add3-46be-b224-b71e2f14f1e9)
> 
> **Kit on uplink.**
> [IMG NEEDS UPDATING]
> 
> **Changelog**
> 
> 🆑 Ubaser
> - add: You can now purchase a set of 4 throwing knives in the uplink
as a bundle for 12 TC.


</details>

---------

Co-authored-by: SimpleStation14 <Unknown>
Co-authored-by: VMSolidus <[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]>
# Description
For centuries SS14 had equip and unequip delays on the clothing
component, and yet that feature remained unused and unheard of, not even
nyanotrasen/deltav used it when designing shock collars and headcages,
whose descriptions clearly suggested they should take time to take off.
For centuries salvage specialists could safely swap suits in space. For
centuries you could accidentally unequip your eva suit mid-spacewalk and
die. Now the time has come. The time when we change it.

This adds equip and unequip delays to the base clothing item. The
currently chosen time is half a second - it's meant to not be too
annoying, but at the same time prevent people from being able to
instantly swap clothes, headsets, other things with a single click.

EVA suits take 1.5 seconds to equip and 1 second to take off, so to swap
EVA suits, you will have to expose your body to the dangers of space for
at least 1.5 seconds. For hardsuits, both values are increased to 2.5
seconds.

The values are not final and this PR will probably need polishing before
it can be merged - for example, while recording the second preview
video, I discovered that jetpacks do not inherit from base clothing and
thus do not inherit the delays. There's probably way more such items.

---

# TODO
Add equip/unequip delays to:

- [X] most basic clothing items
- [X] hardsuits/softsuits
- [X] special items (currently headcages and shock collars, possibly
more later?)
- [ ] Everything that was missed by the above

---

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

Basics


https://github.com/Simple-Station/Einstein-Engines/assets/69920617/3fc900b8-ee13-4968-bf5d-cddeb9a141b6

Hardsuits, eva suits, shock collars, headcages + demonstration that
aghost stripping is unaffected.


https://github.com/Simple-Station/Einstein-Engines/assets/69920617/a536578f-2ac3-40e1-9b27-3b167e006397



</p>
</details>

---

# Changelog
:cl:
- add: Most items now take time to equip and unequip, especially space
suits.
## Mirror of PR #25994: [StrippableSystem doafter
overhaul](space-wizards/space-station-14#25994)
from <img src="https://avatars.githubusercontent.com/u/10567778?v=4"
alt="space-wizards" width="22"/>
[space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14)

###### `41ca8f3dfcb986432e1e509247bf239cac137836`

PR opened by <img
src="https://avatars.githubusercontent.com/u/42424291?v=4"
width="16"/><a href="https://github.com/Krunklehorn"> Krunklehorn</a> at
2024-03-11 12:36:28 UTC

---

PR changed 7 files with 465 additions and 305 deletions.

The PR had the following labels:
- Status: Needs Review


---

<details open="true"><summary><h1>Original Body</h1></summary>

> ## About the PR
> 
> Refactors Strippable DoAfter events to make them synchronous and
organized.
> 
> 
> ## Technical details
> 
> ### Strippable System & Component
> - Synchronous DoAfters
> - Made use of `TimeSpan`, `GetStripTimeModifiers()` and `ByRefEvent`
> - Reorganized checks, removed some redundant ones
> - Resolve pattern where useful
> - Added more asserts
> - Lots of cleanup
> 
> The DoAfters were grouped under one event to avoid copy-pasting eight
separate cancel checks, asserts and function signatures.
> 
> Let me know if this is bad for performance and I'll roll them out
instead.
> 
> 
> ## Media
> 
> - [x] I have added screenshots/videos to this PR showcasing its
changes ingame, **or** this PR does not require an ingame showcase
> 
> 
> ## Breaking changes
> 
> ### TimeSpans
> `ThievingComponent`, `InventoryTemplatePrototype` and
`ToggleableClothingSystem` use `TimeSpan` in places where they intersect
with `StrippableComponent`.
> 
> 
> **Changelog**
> 
> N/A
> 


</details>

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: SimpleStation14 <Unknown>
Co-authored-by: VMSolidus <[email protected]>
# Description

Part of #467, #460, and #474

This is a small PR that corrects a math error in SharedGunSystem,
causing shell casings to be "Thrown" directly downwards instead of in an
actually cinematic and exciting arc. While I'm at it, I also corrected
the fixture of base shell casings to favor "Bounciness", and decreased
its mass to approximately 100 grams. Finally, I added a sound for when
casings bounce off of walls, which wasn't present before.


https://github.com/Simple-Station/Einstein-Engines/assets/16548818/56bb4ecc-d5eb-4b36-853b-42f05374150d

🆑
- fix: Spent bullet casings now fly away from a shooter in a cinematic
manner, rather than fall at their feet.

Co-authored-by: Danger Revolution! <[email protected]>
We now have a glimmer system that can accommodate and account for lots of psychics with multiple powers.
<!--
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]?
-->

Self explanatory

P.S. i genuinely dont know what the fuck i did, who wrote this?

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->

- [X] Fix shit

# Media

https://youtu.be/hbJbd5SgZ54

# 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 loadouts becoming uneditable after spending all your points
This reverts commit 10803e1.
# Description
Cherry-picks DeltaV-Station/Delta-v#1194

This is a minor issue in the yml files of custom species that will
become a problem if we ever merge wizden's better hand indicators.

This PR shouldn't require a preview; all credit goes to the original
author of the fix.

---

# Changelog
Too minor for a cl. Or as some say, no cl no fun.

Co-authored-by: Angelo Fallaria <[email protected]>
# Description
Cherry-picks DeltaV-Station/Delta-v#1237

All credit goes to the original author, deltanedas

Adds a PDA app that lets seccies know who's wanted and who's about to be
thrown out of an airlock without relying on the sechud and people having
their IDs on them.

# Media


![image](https://github.com/Simple-Station/Einstein-Engines/assets/69920617/37f5fa1a-27a5-4392-b4bb-be0f1016b499)

(see the original PR for a better preview)

# Changelog

:cl: deltanedas
- add: Security can find the new SecWatch™ app in their PDAs to see
current suspects and wanted criminals.

Co-authored-by: deltanedas <[email protected]>
Co-authored-by: Azzy <[email protected]>
SimpleStation14 and others added 23 commits July 5, 2024 17:34
<!--
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]?
-->

Reworks felinid thieving to no longer act like passive thieving gloves
which grant invisible stripping (hereon referred to as hard stealing),
in favour of soft thievery (hereon referred to as soft stealing).

Soft thievery comprises of the following:
- A smaller popup, with the thief anonymised.
- A visible doafter bar
- A 33% faster strip speed, that stacks with Thieving gloves
- An additional ability to identify hidden items to better plan your
course of action

You no longer need to completely avoid felinids to maintain your
precious items as long as you pay attention. For a felinid to utilise
their thieving passive, they are encouraged to exploit any distractions
to make moves on a target. If there is none, create one through
conversation or other forms of player interaction. If you are suspected,
persuade your victim that the thief is in fact, the other person.

A faster strip speed makes thief bonuses diegetic to other players, and
also improves the value proposition of thieving gloves on someone who
already has thieving bonuses.

Any other race can also gain soft thievery via a moderate costing trait.
Non-felinid thieves are encouraged to exploit any felinids as a
scapegoat.

---

# TODO

<!--
A list of everything you have to do before this PR is "complete"
You probably won't have to complete everything before merging but it's
good to leave future references
-->
Code
- [X] IgnoreStripHidden - allows thieves to look into peoples pockets
- [X] StripTimeMultiplier - stripping at a multiplicative rate helps
strip bags/belts which creates trait value
- [X] Stealthy > Stealth - rather than a bool, distinguishes stealth
levels as an enum

Balance
- [X] Soft thieves can identify items in pockets, which creates player
agency
- [X] Soft thieves steal 33% faster, which stacks with thieving gloves
- [X] Victims to soft stealing get a smaller popup, useful if they're
preoccupied
- [X] Soft thievery is a trait, which Felinids get for free
- [X] Felinids no longer hard steal items

Media
- [x] Attach media
---

<!--
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/Simple-Station/Einstein-Engines/assets/69510347/c0c6e81f-21e2-48c5-a535-777c1f683ef7)
![video](https://www.youtube.com/embed/elDfOgAPmIs?si=yV5JjOaSYvurGZer)
</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
-->

:cl:
- add: Added the Thievery trait, which provides various soft stripping
bonuses
- tweak: Felinids no longer have passive thieving gloves, they instead
get the Thievery trait by default

---------

Signed-off-by: WarMechanic <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description
Cherry-picks DeltaV-Station/Delta-v#1145

All credit goes to the original author of the PR.

Original description is: "adds carriable component to a lot of animals
that didn't have it"

---

# Why

## Renault my beloved!!!

---


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


![image](https://github.com/Simple-Station/Einstein-Engines/assets/69920617/12777e9b-7d00-4df2-8703-a7f9e42ea1c6)


</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
-->

:cl: Froffy025
- add: You can now carry most of the station pets.

---------

Signed-off-by: Froffy025 <[email protected]>
Co-authored-by: Froffy025 <[email protected]>
# Description
Fixes job requirements using wrong locales

Happened because one function had role-timer- as its default locale
prefix and the other that called the first had null as the default.

---

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


![image](https://github.com/Simple-Station/Einstein-Engines/assets/69920617/0d02c40a-a58f-4b48-89f5-e0a6b4ff75b9)


![image](https://github.com/Simple-Station/Einstein-Engines/assets/69920617/f3b651dd-492e-47c0-aa9f-74998c78f792)

</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
-->

:cl:
- fix: Job requirements are now displayed correctly.
# Description
This restores the basic/survival event rates to how they were before
before #486 (however, it keeps the CVars created in it).

- 5-25 minutes for basic instead of 15-35
- 4-12 minutes for survival instead of 20-45

---

# Why
The PR made it so that survival rounds actually have less events than
extended - that is considering that survival rounds are supposed to be
troublesome and filled with events while extended ones are supposed to
be a chill alternative.

Other forks don't bother with editing CVars every 5 minutes, so this
"opportunity to configure their experience" was never addressed. Based
on the feedback I've received from other players, the change was rather
negative.

From my personal experience, survival rounds became an extended
extended, where during a 2-hour shift you can get a grand total of one
power outage and two mice infestations, and nothing else at all.

---

# Changelog

:cl:
- tweak: Events should now occur as frequently as before. Note: server
owner can configure the frequency on their server manually.

Signed-off-by: Mnemotechnican <[email protected]>
# Description
The original release of Loadouts to EE did not have much in the way of
actual implementation as far as the item list was concerned. This PR
seeks to get a head start at fixing that by implementing a fairly
sizeable chunk of new items that can be bought with loadout points.

One important addition is the use of "non-clothing-job-related items",
which helps further set this version of Loadouts apart from the /tg/
style of loadouts implemented elsewhere. One of the key strengths of
this loadout system is that it's not limited to just replacing a job's
clothing selections, but can also add items unrelated to clothing. My
given example for this is the new option for Security
characters(provided they have sufficient number of hours as a Security
Officer) can spend roughly half their loadout points to start with a
spare magazine for their handgun.

Secondly, we also now have an opportunity to place non-nanotrasen
corporate items in the game, in such a way that players can tie their
characters to other corporations. Ostensibly this is to build up to the
idea of "Contractor" characters. I hope that this will help broaden
people's horizons.

# On "Syndie" items
I'd like to take this as an opportunity to kind of push people away from
the whole thing of "THATS A SYNDICATE ITEM!!!!" wherever possible. For
the most part this is very much NRP behavior that I'd like to
discourage. With some notable exceptions, this doesn't mean outright
antag items should be obtainable through Loadouts. To that end, items
such as Interdyne branded smokes, Cybersun branded clothing, and other
items with "In-Universe Company Brands" should be moved away from their
identity as strictly antag objects, and instead things characters could
reasonably have bought with their paycheck.

# Technical Changes
I had to make some improvements to the way Loadouts handles species,
namely it wasn't previously possible to have an item require any entry
from a list of species. I updated it so that SpeciesRequirement takes a
list of Species, and will accept any entry from that list. My given
example for this is the entries for Nitrogen air tanks, which can only
be purchased in loadouts by SlimePersons and Vox(who are not currently
playable, but I am accounting for them). Other usage of this is in the
Oni-specific Security items. I do hope to use this as an opportunity to
introduce more species-specific goods in the future.

# Media

Outerwear

![image](https://github.com/Simple-Station/Einstein-Engines/assets/16548818/8d0d9286-7758-45f3-aaff-506dddd35da6)

More job-related selections available to some departments

![image](https://github.com/Simple-Station/Einstein-Engines/assets/16548818/7b214593-7111-42d7-966e-2a340c766f61)

More variety of trinkets and items, including instruments!

![image](https://github.com/Simple-Station/Einstein-Engines/assets/16548818/1b7befaf-c94c-4238-b93b-cbdf14e939dd)

Species Specific Items!

![image](https://github.com/Simple-Station/Einstein-Engines/assets/16548818/e4a2a7e6-085d-4e1b-9ed9-635af8b70e84)

# Changelog

:cl: VMSolidus
- add: The catalog of items available via Loadouts has been greatly
expanded. Have fun customizing your characters!

---------

Signed-off-by: VMSolidus <[email protected]>
Signed-off-by: DEATHB4DEFEAT <[email protected]>
Co-authored-by: Danger Revolution! <[email protected]>
Co-authored-by: SimpleStation14 <[email protected]>
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: SimpleStation Changelogs <[email protected]>
Co-authored-by: Pspritechologist <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
Co-authored-by: stellar-novas <[email protected]>
# Description

This PR brings back a previous briefly existing feature, that of the
NormalVisionComponent, which now exists as a single point positive trait
that can be taken only by Harpies and Vulpkanin(A list to later be
expanded if we ever get new species that have modified vision types).
This trait is called "Trichromat Modification", and it simply removes
any species based vision modifications an entity may have, such as
Ultraviolet Vision.

:cl:
- add: Trichromat Modification has been added as a new positive trait.
It can be taken by Harpies and Vulpkanin to buy off their unique vision
negative traits.

Signed-off-by: VMSolidus <[email protected]>
# Description
The language PR was merged early and OH GOD I ALREADY REGRET IT

This PR is intended to provide the missing refactors and address the
issues that were missed due to the early merge.

---

# TODO
- [X] Introduced a polymorphic obfuscation property to the
LanguagePrototype - now it supports more than just 2 hardcoded methods,
and each method can be configured per-language. Currently there are 3
obfuscation methods: replacement (same as replacement accent),
obuscation by syllables and obfuscation by phrases.
- [X] Refactored the existing obfuscation methods to not be a big
hardcoded mess.
- [X] Updated the existing languages accordingly: animalistic languages
are now less of an unreadable mess and include less syllables. Certain
languages like binary and snake seriously benefit from that.
- [X] Refactored the existing commands in response to the
never-addressed review (it got lost among hundreds of others)
- [X] Refactored the commands to be more user-friendly (you can now use
the number of the language in saylang and languageselect which can allow
using keybinds to switch between languages)
- [X] Moved a lot of obfuscation-related stuff from server to shared.
The actual obfuscation process, however, is still done on the server.
That may or may not be subject to change, too.
- [X] Refactored the entire process of resolution of entities'
languages. Instead of raising an event every time it's required to learn
what languages an entity knows, the lists of ALL languages available to
the entity (including via translators) is stored in
LanguageSpeakerComponent and only updated when necessary (e.g. when a
translator gets toggled). The list of languages the entity knows on its
own is now stored in LanguageKnowledgeComponent.
- [X] Made handheld translators automatically change your current
language when activated.
- [X] Rewrote the translator implanter system, now using the real
implants and implanters
- [ ] Rebalance science stuff (translators are incredibly expensive for
what they're worth)
- [ ] Uhhh stuff

---

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

N/A for now

</p>
</details>

---

# Changelog

:cl:
- tweak: Translator implants are now proper implants that can be
removed.
- tweak: Animalistic languages should now look less messy.
- fix: Hopefully fixed language menu desync and other issues.

---------

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

This PR adds the ability to transfer objects from one player's hand to
another player's hand, as in SS13.

I have little coding experience, so my solutions may not be ideal.

---

# TODO

- [x] Make the code work
- [x] Add popup
- [x] Write a summary of the code
- [x] Сorrect inaccuracies

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

https://youtu.be/zTQWTsYm1gw

</p>
</details>

---

# Changelog

:cl:
- add: Added system
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - - - - - - -

---------

Co-authored-by: Danger Revolution! <[email protected]>
Copy link
Contributor

github-actions bot commented Jul 6, 2024

RSI Diff Bot; head commit ca3f3ca merging into 876c654
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Actions/escapeinventory.rsi

State Old New Status
cancel-escape Added

Resources/Textures/Interface/Alerts/offer_item.rsi

State Old New Status
offer_item Added

Resources/Textures/Interface/Misc/give_item.rsi

State Old New Status
give_item Added

Resources/Textures/Objects/Misc/bureaucracy.rsi

State Old New Status
paper_stamp-signature Added

Resources/Textures/Objects/Storage/boxes.rsi

State Old New Status
throwing_knives Added

Resources/Textures/Objects/Storage/boxicons.rsi

State Old New Status
throwing_knives Added

Resources/Textures/Objects/Weapons/Melee/throwing_knife.rsi

State Old New Status
equipped-BELT Added
icon Added
inhand-left Added
inhand-right Added

@VMSolidus VMSolidus merged commit b8c434a into SS14-Classic:master Jul 6, 2024
11 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants