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/15/2024 #47

Merged
merged 20 commits into from
Jul 15, 2024

Conversation

VMSolidus
Copy link
Contributor

New updates from EE. MassContests are now officially merged and no longer in beta. New traits have been added(Foreigner, Heavyweight Drunk, Drunk Traits Rework), new sprites were added. Several bugfixes included. Random announcer system was added.

Several issues with Psionics Refactor were fixed.

Mnemotechnician and others added 18 commits July 12, 2024 13:46
# Description

#525 Added foreigner traits, now during testing I revealed a few bugs.
This PR fixes them:
- The light version now correctly allows you to understand common (it
would not because I forgot to add [DataField])
- The translator now correctly starts with a high-capacity power cell
- Equipping the translator in a pocket slot no longer takes time

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


![image](https://github.com/user-attachments/assets/4d2cabc7-2ce2-498b-822b-8ff9b82eea7d)

</p></details>

# Changelog
:cl:
- fix: Foreigner traits now work correctly.
Signed-off-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]?
-->

Adds the inverse of lightweight drunk, which makes you less susceptible
to the effects of ethanol.
(more specifically, it halves the damage of alcohol and you need to
drink twice as much to feel the effects in the first place)

To make the change happen, `LightweightDrunk` component was reworked to:
- A) no longer change any drunk effects (including non-alcohol related
drunkness like bloodloss)
- B) instead multiply the effects of ethanol in your bloodstream

I chose this route in particular, because the other option of
multiplying the amount of ethanol gained from alcohols is nonsense.

---

# 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] Add a `TryMetabolizeReagent` event to `MetabolizerSystem.cs` so a
`LightweightDrunkSystem.cs` can listen to the event and multiply the
effects of "Ethanol" specifically.
- [X] Add the Heavyweight Drunk trait
- ~~Fix a minor spelling mistake that caused the trait condition to not
show up~~
- [ ] Would we be able to name trait files after categories? I don't
want to put every positive trait in a file named 'skills.yml'

---

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

<!--
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 Heavyweight Drunk trait, which doubles your alcoholism
potential.

---------

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

Replaces every instance of station announcements with an announcer
system meant to handle audio and messages for various announcers defined
in prototypes instead of each server replacing the scattered files
inconsistently with whatever singular thing they want to hear announce
messages.

# TODO

- [x] Systems
- [x] CVars
- [x] Sounds
- [x] Client volume slider
- [x] Collections
- [x] Prototypes
- [x] Events
- [x] Commands
- [x] PR media
- [x] Deglobalize
- [x] Passthrough localization parameters to overrides
- [x] Make every announcer follow the template
- [x] Move sounds into subdirectories
- [x] Make announcement IDs camelCased
- [x] Test announcement localizations
- [x] Weighted announcer lists

---

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


https://github.com/Simple-Station/Parkstation-Friendly-Chainsaw/assets/77995199/caf5805d-acb0-4140-b344-875a8f79e5ee

</p>
</details>

---

# Changelog

:cl:
- add: Added 4 new announcers that will randomly be selected every shift
# Description

Part of Issue #467 

This is a complete re imagining of the Nyanotrasen Mass Contest
System(Long since removed from the game). This system adds a highly
flexible function that outputs a ratio of a given entity's mass, that is
optionally relative to another entity. I've primarily written this
system to be used in conjunction with PR #458 , as it adds several new
implementations of variable player mass to the game.

How this differs from the original Mass Contest system is that it is
configured via hotloaded CVars, and is inherently clamped so that
character mass only modifies functions by a finite amount rather than
providing infinite scaling. This essentially means that while an Oni is
25% better at shoving a Felinid to the floor thanks to their different
masses, a 2000kg Lamia is also only 25% better at shoving a Felinid to
the floor, rather than 50000% better. The inverse is also true, a small
player character can only be 25% better or worse at a given
implementation. These implementations are not handled directly by the
ContestSystem, and are instead handled directly by other systems that
call upon it.

This percentage limit can be modified by a new CVar at any time.
Additionally, the entire MassContest system can be optionally toggled
off completely at any time via CVar, without needing to modify any code
that calls upon it.

At this time, I have included three different implementations to serve
as suitable examples for how MassContest can be used.

1. Weapon recoil is now modified by an entity's mass relative to the
human average baseline. Smaller characters experience more recoil,
larger characters experience less recoil
2. Disarm/Shove is now modified by Mass Contests. Entities that are
sized differently from their target have their shove/disarm chance
modified based on the ratio of performer and target mass.
3. Certain types of handcuffs(such as Cablecuffs and zipties) are now
faster to slip out of if you are smaller than the average.

# Changelog

:cl:
- add: Mass Contests have returned in a new reworked form. 
- add: Weapon Recoil is now resisted by character mass. More massive
characters take less recoil, less massive characters take more recoil.
- add: Disarm and Shove actions are now modified by relative character
mass. It is easier to shove people around if you're bigger than them.
- add: Cablecuffs and Zipties are now easier to escape out of if you're
smaller.

---------

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

Resprite the IDCards with newers looking sprites, making them also
modular so easy to edit/create new cards without the need to make
compleatly new sprites.

---

# 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] ID Cards
- [x] Cleanup

---

<!--
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/45297731/10b50980-b7d4-470d-b6d7-baf5a18b5710)

</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:
- tweak: We got new ID Cards the old ones were soo tiny that they were
lost.
# Description
Shock collars were a useful thing in nyano for a long time, but security
could never put them to use because they could be removed instantly, so
they were forgotten about.

Now that we have enquip delays, shock collars can be useful for
controlling unruly prisoners (or unruly secoffs who like to harm baton
passengers). Only two problems is there's no way to manufacture them,
and they can be quite deadly when used repeatedly. This PR solves both
of these issues, and also fixes a little bug:
- Shock collars can be manufactured at the secfab.
- Shock collars deal 1 shock damage instead of 5.
- The shock ignores insulation.

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


![image](https://github.com/user-attachments/assets/16d8efdf-c3de-46de-9a48-401d99c92b29)

</p></details>

---

# Changelog
:cl:
- tweak: Shock collars can now be manufactured in the security techfab.
They also deal less damage and ignore insulated gloves.
Copy link
Contributor

github-actions bot commented Jul 15, 2024

RSI Diff Bot; head commit 000b25b merging into 2228f20
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Objects/Misc/id_cards.rsi

State Old New Status
centcom Modified
default Modified
gold Modified
ert_chaplain Removed
ert_commander Removed
ert_engineer Removed
ert_janitor Removed
ert_medic Removed
ert_security Removed
idatmospherictechnician Removed
idbartender Removed
idbotanist Removed
idboxer Removed
idbrigmedic Removed
idcaptain Removed
idcargotechnician Removed
idcentcom Removed
idchaplain Removed
idchemist Removed
idchiefengineer Removed
idchiefmedicalofficer Removed
idclown Removed
idcluwne Removed
idcook Removed
idcurator Removed
iddetective Removed
idgeneticist Removed
idheadofpersonnel Removed
idheadofsecurity Removed
idintern-cadet Removed
idintern-med Removed
idintern-sci Removed
idintern-service Removed
idintern-tech Removed
idjanitor Removed
idlawyer Removed
idmedicaldoctor Removed
idmime Removed
idmusician Removed
idparamedic Removed
idpassenger Removed
idprisoner Removed
idpsychologist Removed
idquartermaster Removed
idreporter Removed
idresearchdirector Removed
idroboticist Removed
assistant Added
atmospherictechnician Added
bartender Added
black Added
botanist Added
boxer Added
captain Added
cargotechnician Added
carp Added
cc Added
chaplain Added
chemist Added
clown Added
cook Added
curator Added
death Added
department Added
departmenthead Added
detective Added
flame Added
geneticist Added
gladiator Added
headofpersonnel Added

Resources/Textures/DeltaV/Objects/Misc/id_cards.rsi

State Old New Status
idchaplain Removed
nyanogladiator Removed
nyanomailcarrier Removed
nyanomantis Removed
nyanomartialartist Removed
nyanoprisoner Removed
nyanoprisonguard Removed

Edit: diff updated after 000b25b

@VMSolidus VMSolidus merged commit 2ae684a into SS14-Classic:master Jul 15, 2024
10 of 12 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.

6 participants