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

Update 9/21/2024 #69

Merged
merged 149 commits into from
Sep 21, 2024
Merged

Update 9/21/2024 #69

merged 149 commits into from
Sep 21, 2024

Conversation

VMSolidus
Copy link
Contributor

Description

We are now back to our regular Merge Upstream schedule. This time DS14 is grabbing 149 new commits. All the changes are far too many for me to count.

SimpleStation14 and others added 30 commits September 7, 2024 01:07
# Description

Interacting with some materials now opens up the radial menu with some
often used recipes. Port from White Dream.

---

# Why?

It looks cool I guess. Also required by Blood Cult.

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


https://github.com/user-attachments/assets/8207ea19-f4a3-45e1-b6f2-c870b46b6837

</p>
</details>

---

# Changelog


:cl:
- add: Interacting with some materials now opens the radial menu
containing some of the most used recipes of that material.
Back bcs im stupid

Signed-off-by: Evgencheg <[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

We've had the DeltaV TOML files for awhile now, and it's come up that we
very strongly need to update the defaults. Someone who actually knows
what they're doing(I'm not a server host, I'm just the guy who codes a
ton of random things), please let me know if I've gotten anything wrong
here.

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description
Something that just makes sense, this makes your effect character weight
affect your bloodstream volume. As a minimum size felinid you will get
33% of normal blood volume, whereas as something as huge as a lamia you
may get up to 3 times the normal blood volume.

The resulting volume of your bloodstream can be calculated as `V =
clamp(normal_volume * mass_contest ^ 0.6)` (assuming default
parameters), where mass_contest is the result of a mass contest between
your entity and the average humanoid. For average species like vulps,
this means that their bloodstream can become up to ~40% smaller than
normal (at minimum size), or up to 50% larger than normal (at maximum
size). For onis the range is shifted towards higher values, a maximum
size oni will have twice as much blood as an average human.

This has both drawbacks and advantages. For instance, having little
blood means you can bleed out easily, but at the same time it means it
will take way less blood packs/saline/iron/proteins to restore your
blood to the normal level. Opposite is also true, having more blood
means you will be harder to heal.

Also, this PR slightly refactors the HeightAdjustSystem to be more
flexible.

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



https://github.com/user-attachments/assets/951c2391-09d8-4a4a-812b-a2394862fadd


</p>
</details>

# Changelog
:cl:
- add: Your character size now affects your blood level. Smaller
characters will have less blood, and larger characters will have more.

---------

Signed-off-by: Mnemotechnican <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description
As was discussed on discord, quick swap is a feature that makes certain
things needlessly easy. You can instantly swap the magazine in a gun
without even paying attention to it, you can quickly swap cells in
IPCs/borgs, you can instantly swap the ID in your pda with that of
someone else without anyone noticing, et cetera. In my opinion, this is
unnecessary QOL that makes the game feel more bland and primitive.
Besides, it used to lead to odd and unwanted behavior, such as IPCs
being able to swap their own power cells.

In addition to that, certain entities do not support quick swap. For
instance, rechargers will stop working if you insert a power cell and
then quick-swap it before it finishes charging.

This PR makes quick swap disabled by default. It can still be re-enabled
by setting `ItemSlotsComponent.Slots.[ItemSlot].Swap = true` on
individual entities.

# Changelog
:cl:
- remove: Quick swap has been disabled for most item slots. This
primarily means you will have to eject power cells/magazines from
items/weapons/borgs before replacing them with different ones.
<!--
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]?
-->

Fixed some comment syntax that annoyed me.
# Description

Nuff said.  
I just wanted to make this and uhhhhh. It grew into its own thing.

---

# Changelog

:cl: router
- add: Added Chip Nightmare to the nuke music roster.
# Description

This PR replaces slime_scream_f2.ogg with a modified version of
Voice/Human/femalescream_5.ogg. The original scream doesn't feel like it
belongs in SS14 with the other slime sounds (laugh, cry, sigh, etc).

---

# Changelog

:cl: router
- tweak: Female slimes no longer have movie screams.
# Description
Something that was omitted in #733. Hugging and petting now give
positive moodlets.

The petting interaction was split into two: one for animals and one for
humanoids. The one for animals improves both your own mood and the mood
of the animal, whereas petting a humanoid only improves their own mood.
In addition to all that, being hugged and being pet do not stack.

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


https://github.com/user-attachments/assets/47e8f722-44ee-4d03-a580-65a2946a1920

</p>
</details>

# Changelog
:cl:
- tweak: Hugging and petting interactions now influence mood, just like
the old hugging.

---------

Signed-off-by: Mnemotechnican <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description
4 FTL lines changed

Finally them native GC speakers will know what language to respond in
when speaking to us

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


https://github.com/user-attachments/assets/68d1b1b2-373d-4f98-958d-3659b7cff440

</p>
</details>

# Changelog

:cl:
- add: Chat bubbles now use the font & color of the language of the
message.
# Description
This introduces a new event scheduler type that follows a random curve
that slowly changes in time. It's designed to sometimes offer the
station some chaos, and sometimes offer it times to breathe.

Also adds two new gamemodes - irregular and irregular extended - which
use this scheduler.

Also fixed the issue with other related CVars not being archived.

# TODO
- [X] Do stuff
- [X] Test stuff
- [X] Fix stuff

# Changelog
:cl:
- add: Added two new gamemodes - irregular and irregular extended -
which use a new type of event scheduler that offers irregular periods of
peace, chaos, and anything in between. The extended version is meant for
longer rounds with significantly lower levels of chaos.

---------

Signed-off-by: Mnemotechnican <[email protected]>
Co-authored-by: Danger Revolution! <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description

This PR implements a new functionality for Traits, while also making
clever use of the new Loadouts Version 3.0 addition of logic gates.
Traits have been extended to now also allow for Component Removals,
ostensibly so that traits can remove species Innate traits. In theory
this could also be used to completely wipe a pre-existing component, and
then let the trait fully replace it with a new component.

To make use of this feature, I've added a new trait called Anomalous
Positronics, which allows for IPCs to "Buy off" their innate Psionic
Insulation, and thus allow them to be psionic. The previously existing
psionic traits that required you not be an IPC, now make use of new
logic gates to require that you are either not an IPC, or have the
AnomalousPositronics trait. Additionally, roundstart psion jobs, like
the Mystagogue, Mantis, Chaplain, also all now have a check for "Not
IPC, OR has AnomalousPositronics".

Finally, thanks to the logic gates, it's now possible to simultaneously
disallow the roundstart psions from buying Latent Psychic, while also
still allowing the Chaplain and Librarian to buy Natural Telepath.

# Changelog

:cl:
- add: Traits now allow for full component removals, enabling traits
that directly remove innate species traits without the need to hardcode
new systems for it. Or, to allow species components to be fully removed
as preparation for being replaced with a new component.
- add: Anomalous Positronics has been added as a new trait. It removes
the psionic insulation from IPCs, allowing them to be affected by
psionics, as well as take roundstart psion jobs like the Mystagogue, and
also buying traits such as Latent Psychic.
- remove: NormalVisionComponent and NormalVisionSystem have been
removed. The NormalVision trait now uses
TraitSystem.RemoveTraitComponents to do its work.
- add: Chaplain and Cataloguer can now purchase Natural Telepath.

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
# Description
Cherry-picks DeltaV-Station/Delta-v#862 on
behalf of the author.

This was not tested; need someone to check if it actually works before
merging.

# Changelog
:cl:
- add: A shrimp morphotype was added to the failure pool of the
metempsychotic machine.

---------

Signed-off-by: leo <[email protected]>
Signed-off-by: Mnemotechnican <[email protected]>
Co-authored-by: leo <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
Co-authored-by: Null <[email protected]>
Co-authored-by: VMSolidus <[email protected]>
# Description
This completely refactors the translator system, fixing various issues,
such as being unable to hold multiple translators at once normally,
entity languages not getting updated properly if a translator was
removed from it via stripping or similar, etc.

Also fixes translators being utter shitcode.

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


https://github.com/user-attachments/assets/239f831b-7262-4980-932d-c6231dcecf72

</p>
</details>

# Changelog
:cl:
- fix: Multiple issues with translators were fixed. Additionally, you
can now hold multiple handheld translators at once without issues.
# Description

WAITER, WAITER, PLEASE FEED ME MORE FELINIDS.

# Changelog

:cl:
- add: Recyclers can now once again eat people when emagged.
- add: The ability for emagged Recyclers to eat people is now controlled
by the CVar "reclaimer.allow_gibbing".
- add: Recyclers require power to eat people. No more dragging emagged
recyclers into crowds.

---------

Signed-off-by: VMSolidus <[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]?
-->

This adds a toy hammer based on the old BanHammer from ss13 which was a
joke toy that made a bwoink sound. It also had a really old description
which made minor fun of the russian translation changing it to
'bangammer' and 'reisin' which I decided to keep for the veterans.

---

<!--
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/user-attachments/assets/802c1896-f175-4e39-8f2e-97f1df2e88ba)

![image](https://github.com/user-attachments/assets/39add23b-1503-41ec-b9ce-080cd5757677)


</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 bwoink hammer with bwoink sound

---------

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

This PR adds a new console command for directly adding psionic powers to
an entity. Should an entity not already be psionic, this command will
additionally make them psionic.

# Changelog

:cl:
- add: A new console command, AddPsionicPower has been added.

---------

Signed-off-by: VMSolidus <[email protected]>
Co-authored-by: DEATHB4DEFEAT <[email protected]>
SimpleStation14 and others added 20 commits September 20, 2024 20:05
# Description

I hate when people don't use nullables correctly, and SOMEHOW a null
reference is still being handed into IPCs.
# Description

Take 1, I hope it's this simple. This is an important balancing feature
that means you can't use longarms (Rifles, Machine Guns, Shotguns, etc.)
without holding them in two hands. I might revisit this later and create
options that can bypass this requirement, but for now this is needed so
that Nukies in EE don't just "Buy Jugsuit, L6, Eshield, Auto-Win".

# Changelog

:cl:
- add: All "Long-arms", Rifles, Light Machine Guns, Shotguns, now
require wielding to use.
<!--
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]? -->

- Ports the Atmospheric Alerts Computer, as implemented on WizDen

---

# TODO

[x] small fixes

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

n/a

---

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

![Snímka obrazovky 2024-09-13

225958](https://github.com/user-attachments/assets/e03a5535-4e1d-427b-97b3-91b515e7df59)



</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: zelezniciar
- add: Added Atmospheric Alerts Computer

Co-authored-by: SsalamethVersaach <[email protected]>
# Description

This is a very _early_ take on a Language menu, making use of the new
CharacterItemGroups functionality, as well as functionality added to the
trait system that allows it to add and remove languages directly. This
PR adds in the languages Tau-Cetic Basic(taking the place of Galactic
Common), Tradeband, Freespeak, Elyran Standard, and Sol Common(I'm
replacing the extremely basic bastardized Sol Common we had before with
the fully realized version of it from Bay12).

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


![image](https://github.com/user-attachments/assets/68d054b6-975b-42db-b039-d517e337ace3)

</p>
</details>

# Changelog

:cl:
- add: A basic Languages menu has been added into the Traits tab. 
- add: Tau-Ceti Basic, Tradeband, Freespeak, Elyran Standard, Sol
Common, and Sign Language have been added to the Languages tab.
# Description

This should have been removed awhile ago. This objective shouldn't exist
because you automatically win it entirely by default if you selected the
Latent Psychic trait in Chargen. And you permanently fail the objective
if you didn't select said trait.

# Changelog

:cl:
- remove: Removed the "Become Psionic" traitor objective. It was
literally impossible to fail if you took the Latent Psychic trait, and
literally impossible to greentext if you didn't.
This is an automated Pull Request. This PR updates the GitHub
contributors in the credits section.

Co-authored-by: SimpleStation Changelogs <[email protected]>
# Description

By extremely popular demand(Both internally, and from our downstreams),
this PR reimplements Part Upgrading. Since some of the systems that this
PR touches were substantially changed since the removal of Parts, I had
to do a lot of very in depth by-hand edits of individual systems.
Shockingly, the only one that really proved any trouble was Cloning
System, so I'm genuinely surprised wizden didn't substantially touch any
of these codes since removing parts..

# Changelog

:cl:
- add: Part Upgrading has returned!

---------

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

This is a port of
WWhiteDreamProject/wwdpublic#11 from White
Dream. This feature selects random items in the traitor uplink each
round to be discounted and moved to the Discount tab, which are the same
for every traitor. This in theory helps encourage players to be
spontaneous, and use items that they otherwise might not normally
consider using, which helps mix things up from round to round.

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

> # Описание PR
> Порт скидок в аплинке.
> 
> # Изменения
> 🆑 Spatison
> 
> * add: Added discounts in uplink / Добавлены скидки в аплинк

</p>
</details>

# Changelog

:cl: Spatison
add: Added discounts in uplink / Добавлены скидки в аплинк

---------

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

This PR introduces two new Psionic Powers, Healing Word, and Breath of
Life, both utilizing a new PsionicHealOtherSystem, which operates on
datafield event arguments rather than a "hardcoded" component. Thus, any
number of powers can be created which share this system.

Healing Word is a power that features a short cast time, and heals a
small amount of each damage type to a target(while reducing the target's
rot timer slightly). It has a relatively short cooldown, and a low
glimmer cost.

Breath of Life by contrast, is an extremely rare power with a longer
cast time, healing a much larger amount of each damage type to a target,
reduces rot significantly, and attempts to revive the target. It has a 2
minute cooldown, and a high glimmer cost.

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


![image](https://github.com/user-attachments/assets/ba01ccce-639f-4b03-84bb-55f96b5aeda3)

</p>
</details>

# Changelog

:cl:
- add: Healing Word has been added as a new Psionic Power. When cast on
another person, it heals a small amount of every damage type(scaling
with Casting Stats), while also reducing rot timers. Healing Word has a
very short cooldown, and a fairly low Glimmer cost.
- add: Breath of Life has been added as a new extremely rare Psionic
Power. When cast on another person, it heals a large amount of
damage(scaling with Casting Stats), while also substantially reducing
rot timers. Additionally, it will revive the target if it is possible to
do so. Breath of Life has an incredibly long cooldown, a long
interuptable cast time, and an extraordinarily high glimmer cost(A
typical Psion will spike glimmer by more than 50 points when casting
it).
- add: The Chaplain now starts with the Healing Word power.

---------

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

This PR is a follow up to
Simple-Station/Einstein-Engines#939
By increasing the number of items that are struck by bullets, or can be
targeted by bullets. To add to the "Cinematic" experience of a gunfight,
Bottles, Cups, and Plates of all kinds are automatically struck by
bullets when fired over, and *probably* destroyed given that they only
have 5 hit points. This also serves to aid in limiting the amount of
things that can be hidden underneath when crawling under a table, since
the station's bar counter will likely explode into a ton of glass and
spilled booze when a gunfight gets near it.

I also added Chairs to the "RequireProjectileTarget" feature, so that if
you click on a chair, you'll shoot the chair and (probably) destroy it.

# Changelog

:cl:
- add: Bottles, Drink Glasses, Plates, and all liquid containers are now
struck by bullets(and most likely destroyed in the process). We hope
that this will offer both a small tactical advantage/disadvantage, as
well as contribute to making gunfights around the bar more "Cinematic".
- add: Chairs are now hit by projectiles if a shooter clicks on them, in
addition to Tables.
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.