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 04/06/2024 #9

Merged
merged 23 commits into from
Jul 7, 2024

Conversation

FoxxoTrystan
Copy link
Collaborator

@FoxxoTrystan FoxxoTrystan commented Jul 6, 2024

Description

Upstream Merge from: https://github.com/Simple-Station/Einstein-Engines/

This Merge bring a bunch of fixes, QOL additions, Refractors and some tiny new features.

EE Merged PRs:
Simple-Station/Einstein-Engines#476
Simple-Station/Einstein-Engines#459
Simple-Station/Einstein-Engines#505
Simple-Station/Einstein-Engines#425
Simple-Station/Einstein-Engines#509
Simple-Station/Einstein-Engines#511
Simple-Station/Einstein-Engines#501
Simple-Station/Einstein-Engines#500
Simple-Station/Einstein-Engines#456
Simple-Station/Einstein-Engines#484
Simple-Station/Einstein-Engines#514

I have verified and made sure its does not conflict with floof changes but if needed, please double check before merge and comment on any issues founds.


TODO


Media

N/A


Changelog

Mnemotechnician and others added 23 commits July 5, 2024 12:53
# Description
Makes it so that the station and the ATS get a very tiny bit of friction
to prevent cargo tech pros from sending either of those out of this
galaxy cluster (which has actually happened multiple times on two
servers and required either admin intervention or early round ending).

# Technical details
Added a PassiveDampeningComponent which defines how much friction an
entity receives while in 0g. FrictionRemoverSystem was updated to try to
fetch this component from an entity before updating its dampening. A new
system was added to automatically add this component (if it's not
already defined) to all station grids.

# Media
See the #when-you-code-it channel for a preview. It's kinda hard to
demonstrate, but after a few minutes, stations and the ATS come to an
almost complete stop.

# Changelog
:cl:
- tweak: Space stations now have a tiny bit of velocity dampening to
prevent them from being flunged into the void.
# Description
This cherry-picks the following two PRs of mine from delta-v:
- DeltaV-Station/Delta-v#1118 (this one is a
port of two other frontier PRs, see the original description for
details)
- DeltaV-Station/Delta-v#1232

Encompassing a total of 8 distinct changes:
1. Fixes dropping the carried person when walking to a different grid
(from station to shuttle or vice versa. Walking into space however will
still make you drop them) and also makes sure that pressing shift while
being carried does not make you escape.
2. Ensures that the carried person is always centered relative to the
parent (under certain conditions, such as walking near a gravitational
anomaly, their position can change, and that leads to really weird
effects)
3. Fixes the mass contest in CarryingSystem that caused stronger
entities to take longer to escape than weaker ones.
4. Adds popups for when you're getting picked up or being stuffed into a
bag as a pseudo-item (e.g. a felinid)
5. Adds an action to stop escaping an inventory. This action gets added
to your action bar when you attempt escaping and gets removed when you
stop or escape. It applies both to carrying and items (hampsters,
felinids, whatever else).
6. Adds a sleep action for pseudo-items stuffed inside a suitable bag.
The bag must have a special component, which is added to the base
backpack item and thus inherited by all soft bags (duffels, satchels,
etc). Contrary to a popular belief, sleeping IS PURELY COSMETICAL and
does not provide healing. (Beds provide healing when you buckle into
them and that healing does not depend on whether or not you're sleeping)
7. Makes it so that when you try to take a pseudo-item out of the bag
(e.g. a felinid), you automatically try to carry them (if you don't have
enough free hands, they will be dropped on the floor like usually), and
enables you to insert the carried person into a bag, but only if they're
a pseudo-item (e.g. felinid).
8. Allows pseudoitems to be inserted into bags even when there are other
items (as long as there's enough space)

---

## For technical details and video showcases, see the original PRs

This PR is split into separate commits so different parts can be
reverted if deemed unneccessary.

---

<!--
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:
- fix: Carrying is less likely to behave erratically or suddenly
interrupt now.
- add: You can now see when someone is trying to pick you up, and also
you can interrupt your attempt at escaping from their hands or
inventory.
- add: You can now properly take Felinids out of bags and place them
inside.
- add: Scientists have discovered that Felinids can sleep in bags.
# Description
Ports delta-v paper signatures implemented by me in
DeltaV-Station/Delta-v#1172, including the
changes later introduced by deltanedas in
DeltaV-Station/Delta-v#1345.

Everything should be pretty self-explanatory, see the original PR for
details.

---

<!--
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/69920617/50737402-a60d-425a-8938-f6e47427b22b)

(see the original PR for a video demonstation)

</p>
</details>

---

# Changelog

:cl:
- add: You can now sign paper by alt-clicking it while holding a pen.

---------

Signed-off-by: Mnemotechnican <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[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]?
-->

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]>
@Fansana Fansana merged commit 97d3896 into Fansana:master Jul 7, 2024
9 of 13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants