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 8/10/2024 #61

Merged
merged 15 commits into from
Aug 10, 2024

Commits on Aug 10, 2024

  1. Supermatter Engine (Port From White Dream) (#341)

    ![SM
    boom](https://github.com/Simple-Station/Einstein-Engines/assets/16548818/6937c520-0963-437c-a9a6-49afe6c8b787)
    
    ![New edge
    supermatter](https://github.com/Simple-Station/Einstein-Engines/assets/16548818/e8305536-b777-41f8-b9bf-295d402dc1bf)
    
    This PR has been produced in collaboration with coders from White Dream,
    with written permission given by the relevant code owners to port this
    specific slice of content to Einstein-Engines. Supermatter Engines are a
    form of nuclear reactor, which produces energy in the form of
    radioactive particles, while also decaying into Phoron when excited by
    an external energy source.
    
    Power can be obtained from the engine via radiation collectors, which
    like those of a singularity engine, must be periodically refueled. In
    addition, the engine must also be actively cooled via aid from
    Atmospherics, and for undesirable gasses to be extracted from the
    reactor chamber.
    
    If not cooled, the crystal will begin to destabilize and eventually
    collapse into one of three different situations depending on the source
    of its instability.
    1. A nuclear blast.
    2. A gravitational singularity
    3. A Tesla ball
    
    :cl: VMSolidus, White Dream, Colin-Tel
    - add: Supermatter Engines have been implemented.
    
    ---------
    
    Signed-off-by: VMSolidus <evilexecutive@gmail.com>
    Co-authored-by: whateverusername0 <whateveremail>
    Co-authored-by: username <113782077+whateverusername0@users.noreply.github.com>
    Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
    Co-authored-by: Pieter-Jan Briers <pieterjan.briers@gmail.com>
    Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
    5 people committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    ffbc04c View commit details
    Browse the repository at this point in the history
  2. GO

    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    627dbf7 View commit details
    Browse the repository at this point in the history
  3. Oracle Refactor (#549)

    Refactors the oracle system and component, making them more customizable
    and less trash.
    
    - Most of the nyano shitcode was rewritten in accordance with the new
    standards and in a less hardcoded manner (all features were preserved,
    with some changes).
    - Replaced the accumulator field pattern with the "nextX" pattern for
    things oracle does on certain intervals.
    - Removed some code duplication and bloat.
    - Gave oracle a 75% chance to request technology and 25% to request a
    plant.
    - When requesting a technology, oracle will only request what's either
    already researched, or can be researched soon (that is, the
    prerequisites of the research are complete and the research isn't locked
    for any reason).
    - If there's no research server at the moment when oracle demands an
    item, it will only demand a plant
    - When dispensing rewards, oracle can now spawn 1, 3, or 5 crystals at
    once, and research disks worth 5k, 10k, and 20k research points. Each
    one of those have different probabilities (3 crystals and 5k points
    still prevail, but occasionally you can get the more expensive rewards).
    - When dispensing rewards, oracle now throws them at the person who
    fulfilled the request instead of simply spawning them at their feet.
    
    Almost every oracle thing (except for throwing and the amount of liquid
    dispensed) can now be configured in the yaml prototype of the oracle.
    Forget it
    
    <details><summary><h1>Media</h1></summary><p>
    
    https://github.com/user-attachments/assets/9d4be44f-37d5-4072-a6e6-f194764f7ff6
    
    ![image](https://github.com/user-attachments/assets/011761d4-8d73-4d65-ba9c-92b25a28e95f)
    
    </p></details>
    
    ---
    :cl:
    - tweak: Oracle requests are now more likely to be aligned with the
    current research.
    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    e149a2f View commit details
    Browse the repository at this point in the history
  4. Update OracleSystem.cs

    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    ef014cc View commit details
    Browse the repository at this point in the history
  5. Carrying System Refactor (#580)

    This is a very simple and apparently minor update to the Carrying
    System, bringing it up to date with more modern code. The biggest
    difference is that rather than having a private one-off implementation
    of one of the original Nyano MassContest functions, it uses the new
    public Reworked MassContests. With this change, pick up durations no
    longer infinitely scale with arbitrary mass, meaning that a hypothetical
    2000kg Lamia doesn't have an arbitrarily infinitesimal pickup duration
    when trying to pick up a 10kg Harpy. Carrying is also more strictly
    limited by mass, rather than by carrying duration, meaning that if a
    target character is more than 25% heavier than your character, it will
    not be possible to shoulder them. You'll just have to either drag them,
    or get a roller bed to move overly massive characters.
    
    The last thing I did was just cleanup all of the code, so that has nice,
    Single-IF exit conditions, rather than 30+ line blocks of IF(THING)
    RETURN;
    
    Oh, and entities can now set their own internal base PickupDuration, so
    that entities can declare however easy or difficult they should be to
    pick up!
    
    https://github.com/user-attachments/assets/9ee0f1dd-ac75-406f-8bbd-9a130594d46d
    
    🆑
    - tweak: The Carrying system has been reworked as a means of better
    supporting having extremely large species and characters. 10kg Harpies
    should no longer be oppressed by 2000kg Lamia with infinitely short
    carry attempts.
    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    f05bfeb View commit details
    Browse the repository at this point in the history
  6. Rebase Blood Drinker System, Arachne, Oneirophage (#438)

    This is a simple rebase of the Blood Drinker System, and its related
    features that have been commented out and/or omitted due to its lack of
    rebase. I am NOT substantially updating any of this code at this time,
    outside of the barest minimum updates needed to make it run in the first
    place. The reason I am doing this is that I require the Blood Drinker
    system functional as a prerequisite for future features, and I will
    update or refactor it when needed.
    
    Arachne are still pending a Full Rework, but that is beyond the scope of
    this PR.
    
    - [x] Make the code functional
    - [x] Port Arachne
    - [x] Uncomment Oneirophages
    - [x] Re-add Oneirophage midround event
    
    :cl:
    - add: Arachne have been reimplemented!
    - add: Oneirophages are back!
    
    ---------
    
    Signed-off-by: VMSolidus <evilexecutive@gmail.com>
    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    d6459a7 View commit details
    Browse the repository at this point in the history
  7. CPR Remake (#487)

    This is a re implementation and complete rewrite of the original
    Nyanotrasen CPR feature, this time as its own completely standalone
    system. Unlike the original CPR, this system requires no modification of
    base game code, and can be toggled on and off via CVars while the server
    is running.
    
    Fixes #473
    Fixes SS14-Classic#49
    
    🆑
    - add: CPR has been added to the game. People with CPR training can now
    perform CPR on anyone who is in either crit or dead states.
    - add: CPR Training has been added to the game as a new positive trait.
    All medical staff start with this trait for free.
    
    ---------
    
    Signed-off-by: VMSolidus <evilexecutive@gmail.com>
    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    c2d4e2a View commit details
    Browse the repository at this point in the history
  8. Rename Mantis (#709)

    "Mantis" was going to be the original name, but the doubling as
    detective lead me to needing to add the qualifier "forensic" to make
    that part clearer. The "Mantis" was already there to imply the psionic
    part.
    
    For "psionic mantis" defenders, I propose an alternative renaming
    scheme:
    Mystagogue -> Psionic Mystagogue
    Mantis -> Psionic Mantis
    Cyborg -> Robotic Cyborg
    Chaplain -> Religious Chaplain
    
    Players either already know what a mantis is, or they've got little
    enough playtime that there's still some intrigue left in the setting and
    it's something they can learn by observation. Weird names are mostly
    restricted to one dept here and a tinge harder time understanding it is
    what I'd call "Mystery" rather than something that's undesirable here.
    The mechanic the mantis interacts with - psionics - is also somewhat
    hidden and esoteric.
    
    ![image](https://github.com/user-attachments/assets/8706c0cd-97a3-4ed6-a0e4-e23012a461a7)
    
    ![image](https://github.com/user-attachments/assets/7e6296fb-52ca-4d4e-b40d-2e166520d4b5)
    
    <!--
    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: Rane
    - tweak: Renamed "Psionic Mantis" to "Mantis", as it was originally
    going to be called.
    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    1a598fa View commit details
    Browse the repository at this point in the history
  9. Remove Hugging Interaction Popup From Humanoids (#710)

    <!--
    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
    -->
    
    Reasoning:
    1) Hugging your coworkers isn't necessarily always inappropriate, but
    it's something that should take a bit more intention than it does now.
    2) Event subs in this game right now still have no good method of
    handling multiple subscriptions to the same event. The hugging event is
    occupying 2 pieces of prime real estate - the empty hand interaction,
    which is the most common, and the humanoid interaction, which is the
    most common and most important. And for what? Spamming popups and chat
    for something that could just be an emote.
    3) Because of the above, it's too easy to accidentally hug people while
    doing something else - the lack of intersectionality makes people just
    ignore hugging because they assume it means nothing and was not
    intentional. This does not lead to good roleplay outcomes.
    4) I left the petting stuff on animals because that's much more common
    and appropriate and you're less likely to be trying to do other complex
    interactions with them. Also, since they're usually NPCs, it doesn't
    matter if they get desensitized to the interaction as meaningless, or at
    least it's out of scope.
    
    :cl: Rane
    - remove: Removed the spammable hugging on click. Consider using emotes
    for this instead.
    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    2bb5a39 View commit details
    Browse the repository at this point in the history
  10. NyanoCombat 2, Part 3: Physical Traits (#607)

    Done in partnership with @OldDanceJacket
    
    This PR adds 9 additional physical traits to the game, 5 positive, and 4
    negative. While this PR is intended to go with NyanoCombat 2, Part 1 and
    2, I have made this PR function completely standalone. It does not
    require either of the two other PRs.
    
    - **Will To Live**: Increases your Dead threshold by 10
    - **Tenacity**: Increases your Crit threshold by 5
    - **Vigor**: Increases your maximum Stamina by 10
    - **High Adrenaline**: You gain up to 10% more damage with all melee
    attacks when injured.
    - **Masochism**: You ignore the first 10% of stamina damage penalties to
    melee attacks. If NyanoCombat 2 Part 1 isn't merged yet, this makes you
    deal up to 10% more melee damage when you receive stamina damage.
    - **Martial Artist**: Your unarmed melee attacks have bonus range, and
    deal 50% more damage(for every species in the game, this means 7.5
    instead of 5 damage). This trait is identical to one that the Boxer job
    receives for free, thus it cannot be taken by Boxers.
    
    - **Will To Die**: Decreases your Dead threshold by 15
    - **Glass Jaw**: Decreases your Crit Threshold by 10
    - **Lethargy**: Decreases your maximum Stamina by 15
    - **Adrenal Dysfunction**: Your melee attacks are penalized by up to 20%
    when injured. If NyanoCombat 2 Part 1 is merged, this cancels out the
    natural bonus everyone globally gets to melee when injured.
    - **Low Pain Tolerance**: Your melee attacks are penalized by up to 15%
    when receiving stamina damage. If NyanoCombat 2 Part 1 is merged, this
    stacks with the natural penalties everyone globally gets to melee when
    taking stamina damage.
    
    - [ ] Let ODJ look over these for balance.
    
    ![image](https://github.com/user-attachments/assets/242e8b50-8a5e-4079-bf1d-f952ceeade38)
    
    :cl: VMSolidus and Skubman
    - add: 11 new Physical Traits have been added to the game! 6 positive
    traits, and 5 negative traits.
    
    ---------
    
    Signed-off-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
    Co-authored-by: Angelo Fallaria <ba.fallaria@gmail.com>
    Co-authored-by: Danger Revolution! <142105406+DangerRevolution@users.noreply.github.com>
    3 people committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    35759e8 View commit details
    Browse the repository at this point in the history
  11. Make Lamiae Out of Tris Instead of Sprites (#673)

    <!--
    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
    -->
    
    <!--
    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]?
    -->
    
    The old sprite-based rendering approach was very limiting, here I've
    changed to using an overlay and just constructing the lamia bodies out
    of triangles. I'm about happy with it although it's lacking the clothing
    feature we added earlier just waiting on art. Networking and perf should
    be fine. I don't know how much of the other stuff you want me to clean
    up. A lot of unrelated code can probably get just deleted.
    
    - [ ] New base + clothes sprites that look good
    - [ ] Support for clothes based texture change (should take 5 mins)
    
    https://github.com/user-attachments/assets/c5022e54-cb3d-4f53-b65c-83863b21df29
    
    <!--
    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: Rane
    - add: Lamiae should now be rendered much better.
    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    b80402c View commit details
    Browse the repository at this point in the history
  12. Update CCVars.cs

    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    dadf42c View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    f81a973 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    d4144b6 View commit details
    Browse the repository at this point in the history
  15. Update packedsm.yml

    VMSolidus committed Aug 10, 2024
    Configuration menu
    Copy the full SHA
    98cc2e0 View commit details
    Browse the repository at this point in the history