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

Commits on Jul 5, 2024

  1. Frictionfull Space (#514)

    # 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.
    Mnemotechnician committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    e092203 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    81dd782 View commit details
    Browse the repository at this point in the history
  3. Port All Carrying/PseudoItem/EscapeInventory Tweaks From DeltaV (#484)

    # 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.
    Mnemotechnician committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    58be850 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    00d786a View commit details
    Browse the repository at this point in the history
  5. Port Paper Signatures (#456)

    # 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]>
    Mnemotechnician and DEATHB4DEFEAT committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    476e6de View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    692ceff View commit details
    Browse the repository at this point in the history
  7. Felinid Soft Thieving + Trait (#500)

    <!--
    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]>
    WarMechanic and DEATHB4DEFEAT committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    e06045c View commit details
    Browse the repository at this point in the history
  8. Cherry-Pick Carrypets From Delta-V (#501)

    # 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]>
    Mnemotechnician and Froffy025 committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    4609f9e View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    4ebb3cc View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    d971e7c View commit details
    Browse the repository at this point in the history
  11. Fix Them Pesky Job Requirements (#511)

    # 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.
    Mnemotechnician committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    d5f73ad View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    c4f7700 View commit details
    Browse the repository at this point in the history
  13. Restore Old Event Rates (#509)

    # 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]>
    Mnemotechnician committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    aaee45a View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    50092e9 View commit details
    Browse the repository at this point in the history
  15. More Loadout Items Wave 1 (#425)

    # 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]>
    8 people committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    8de45e7 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    529c5a4 View commit details
    Browse the repository at this point in the history
  17. Trichromat Modification Trait (#505)

    # 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]>
    VMSolidus committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    5d36483 View commit details
    Browse the repository at this point in the history
  18. Refactor the Language System (#459)

    # 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]>
    Mnemotechnician committed Jul 5, 2024
    Configuration menu
    Copy the full SHA
    9d5f3b6 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    726fd0f View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2024

  1. Add Item Transfer System (#476)

    # 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]>
    Spatison and DangerRevolution committed Jul 6, 2024
    Configuration menu
    Copy the full SHA
    c8a9002 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a6073ef View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1ab4945 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3070900 View commit details
    Browse the repository at this point in the history