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] Upstream. Yappie #50

Merged
merged 62 commits into from
Sep 9, 2024
Merged

[Upstream] Upstream. Yappie #50

merged 62 commits into from
Sep 9, 2024

Conversation

Remuchi
Copy link
Collaborator

@Remuchi Remuchi commented Sep 9, 2024

Описание PR

Черрипик-апстрим. Ченджлог был переведён.
Нужен мне чтобы починить бота ченджлога и чтобы убрать у IPC урон от стекла.


Изменения

🆑
no cl no fun

ShatteredSwords and others added 30 commits September 9, 2024 15:33
# Description


This PR fixes an undetected bug in Prize Balls where an error would
occur if a prize ball tried to give out a BasePetRock.

---

No CL No Fun

Signed-off-by: ShatteredSwords <135023515+ShatteredSwords@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description

This PR adds several new Tips that are specific to Einstein-Engines. I
also removed some tips that are completely irrelevant to the game. These
should be as a whole, relevant only to SS14 and Einstein Engines. While
some joke tips are probably fine, they should still be game relevant.

# Changelog

:cl:
- add: Several new tips have been added to the game, many of which
reference new content available on Einstein-Engines.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Conflicts:
#	Resources/Changelog/Changelog.yml
# Description
Fixes:
- Interaction verbs being usable regardless of whether the user can
access the target (I checked for CanInteract but not CanAccess 😭), which
fixes #836
- Certain close-range verbs having a ridiculous 2-tile range (now it's
1.2, similarly to hugging and other things)
- Certain locale strings missing

This also separates verb checks into its own method in the interaction
verb system and adds more error messages instead of one generic "some
requirements are not met".

# Changelog
:cl:
- fix: Fixed a couple issues with the new interaction verb system.
# Description

This matters for Birbs. All Colored Jumpskirts were incorrectly parented
to Jumpsuit and not Jumpskirt, meaning that Harpies couldn't wear them.
This fixes that issue.

# Changelog

:cl:
- add: Due to NUMEROUS complaints, NanoTrasen has swapped the sticker
labels on all colored jumpskirts to correctly state that they are
infact, "Skirts", so now they can legally be worn by Harpies, Lamia, and
Arachne.
# Description


This PR ports my trait balance changes from Floof. You can find the PR
for that repo at Fansana/floofstation1#170.

---


# Changelog

:cl:
- tweak: The cost of many traits have been updated
- tweak: A few traits have been tweaked

---------

Signed-off-by: ShatteredSwords <135023515+ShatteredSwords@users.noreply.github.com>
Co-authored-by: Fansana <116083121+Fansana@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description
By a (somewhat) popular request from floofstation, this adds the
roboticist job (each existing map gets 1 job slot, since robotics on
each of them is just one tiny room that's more similar to a broom closet
than a subdepartament).

The job is purely cosmetical and does not offer any new accesses since
that would require changing a lot of maps and would probably make being
a scientist in the absense of a roboticist miserable. If needed,
roboticists can always build blast doors on the entrance to robotics, as
someone has done before in my experience.

This also adds the robotics PDA, robotics ID card, robotics satchel,
backpack, and duffel (duffel icon taken from paradise station, rest of
the sprites is respective science bags recolored by me to match the
palette of the icon). This also increases the capacity of mystagogue's
science PDA box to incorporate the new PDA type.

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


![image](https://github.com/user-attachments/assets/cb086058-8257-4281-82ad-0f59873a1308)


![image](https://github.com/user-attachments/assets/f9e9e1dd-567c-4d47-a778-5704b3a72265)


![image](https://github.com/user-attachments/assets/60bd6769-026e-4fdc-b5f3-825f99dd92a7)


![image](https://github.com/user-attachments/assets/54a27d9c-b91d-4115-b2d6-258a320d8093)


![image](https://github.com/user-attachments/assets/7168edd5-465a-49a7-99e6-5b1592beb3eb)

</p>
</details>

---

# Changelog
:cl:
- add: A new Roboticist job has been added. The job does not offer any
new accesses, but lets you distinguish yourself from scientists.
Existing maps will need to be updated to support the new job.
- add: Added new PDA, ID, and bag variants for roboticists. The
mystagogue will now also find a roboticist PDA in their office.

---------

Signed-off-by: Mnemotechnican <69920617+Mnemotechnician@users.noreply.github.com>
# Description

Resolves #723
Resolves #708
Resolves #691
Resolves #671
Resolves #643

Adding/removing loadouts and categories (and trait stuff) will require
disconnecting and reconnecting to the server (or anything that will
reload the lobby UI) due to how I've done my caching.

---

# TODO

- [x] Test entity IDs from loadouts
- [x] Better Tab Container
	- [x] Scroll props
	- [x] Margin props
	- [x] Make vertical work
	- [x] Merge buttons
- [x] Subcategories
	- [x] Allow the same for traits (their tab is completely broken)
- [x] Give the Job Picker tab a BoxContainer
- [x] Different selected unusable color
- [x] Deselect unusable button
- Sort menu/Reverse sort direction button
- [x] Fix scroll resetting on updating
	- [x] Cache loadouts
- [x] Ensure everything that can affect reqs updates everything that
checks reqs
- [x] More Requirements
	- [x] Height
	- [x] Width
	- [x] Weight
	- [x] Gender
	- [x] Sex
	- Markings
	- [x] Logic
		- [x] And
		- [x] Or
		- [x] Xor
	- [x] Item groups
- [x] #643
- Something better than `Exclusive`
	- Allow picking slots for things to go in (hands and inventories too)
- [x] Add a background to the loadout spriteView
- [x] Get better style colors
---
- [ ] More PRs
- [ ] Remove duplicate command loadouts that are outside the command
folders/categories
	- [ ] Categorize job loadouts (By dept?)
- [ ] Fix [every
loadout](https://discord.com/channels/1218698320155906090/1218698321053356060/1279260210208440361)'s
IDs (who reviewed them??)
		- [ ] Make loadout ID migrations?

---

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

## New loadouts/traits UI

<!--

![image](https://github.com/user-attachments/assets/3b296f66-2502-49fb-8e24-5a98117bd5e5)

![image](https://github.com/user-attachments/assets/48b1ac49-6afb-49d4-ba6e-03a2551f6dfa)

![image](https://github.com/user-attachments/assets/6c10f68c-a858-478c-a880-f1ac2cf5f033)
-->

![image](https://github.com/user-attachments/assets/9a9c3f64-6ba4-40ea-a89e-d5f57efcf7c0)

![image](https://github.com/user-attachments/assets/3b6f0a36-a474-4ca6-a7c8-90c13e3faa0b)

## NeoTabContainer allows changing the tab orientation

### https://youtu.be/krg8TJoQG3I

![image](https://github.com/user-attachments/assets/81491ad9-45bd-41ed-833e-7295a2216a04)

![image](https://github.com/user-attachments/assets/deb72919-7efe-4be9-a661-b12aa7dc6976)

</p>
</details>

---

# Changelog

:cl:
- fix: The loadout/trait editors' performance has been improved by
100~1000x
- tweak: The character editor's tabs look, feel, and function much
better
- fix: Unusable loadouts/traits have an orange color when selected
- tweak: Loadout previews are now inside the button
- add: Added a button to remove any unusable loadouts (or traits) you
have selected
- add: Loadouts and traits can have subcategories, though only Command
loadouts use them at the moment
- fix: Fixed empty loadout categories not hiding
- fix: Fixed spacing on some loadout requirements' reason text
- fix: Fixed traits not updating after saving
# Conflicts:
#	Content.Shared/Customization/Systems/CharacterRequirements.Profile.cs
#	Resources/Locale/en-US/customization/character-requirements.ftl
#	Resources/Prototypes/Loadouts/Jobs/service.yml
Signed-off-by: Evgencheg <73418250+Evgencheg@users.noreply.github.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description

I'm going to split the other groups into their own PRs, next up is
Shoes. This PR adds all of the "Civilian" uniforms to the first of what
will be many new Loadout Groups, and now takes the opportunity to
significantly cut down on the loadout point costs of all non-job
uniforms. Now the overwhelming majority of them are 0 or 1 point, with
rare few examples being only 2 points. The tradeoff for this is that you
are limited to a single selection of civilian uniforms to take with you
to the station, presumably in addition to your job uniform as a spare
outfit, if desired.

Next up, shoes.

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


https://github.com/user-attachments/assets/47804a59-189d-4432-bac9-0b010c50f61e

</p>
</details>

---

# Changelog

:cl:
- add: The first of all new loadout groups has been added, Civilian
Uniforms. Only one civilian uniform can be selected, in exchange for...
- tweak: All non-job specific uniforms have had their points reduced
drastically, almost all of them down to 0 points, with only a tiny
handful at 2 points, and the rest as 1.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description

This is the next PR after
Simple-Station/Einstein-Engines#872
This time adding an item group for Shoes, and drastically cutting down
on the base cost of shoes to compensate.

# Changelog

:cl:
- tweak: The cost of all shoes in loadouts has been reduced, in most
cases to 0.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description

Cheaper Hats

# Changelog

:cl:
- tweak: All non-job specific headgear has been significantly reduced in
Loadout point costs, most of them to 0.
# Description

And now Outerwear. :)

# Changelog

:cl:
- tweak: All non-job outerwear has had their Loadout point costs
significantly reduced.
# Description

Gloves Next. Woo.

# Changelog

:cl:
- tweak: All gloves have had their Loadout point costs reduced, many to
0.
# Description

This is the last of the Loadout Item Group PRs I'm going to do for now.
This PR adds several more than the previous ones, primarily to split up
the Items tab into several distinct groups so as to push down the costs
of many items. In particular, the new groups are:

1. Smokes
2. Lighters
3. Instruments
4. Air tanks
5. Box Kits(Survival Boxes or Medkits)
6. Writables

Survival boxes sharing an Item Group with Medkits is kind of intentional
here. Both of them take up a SIGNIFICANT amount of your starting
inventory space. Now we can have free survival kits once again, but also
have as an option, where you can elect to spend some of your loadout
points to take a personal Medkit instead of a survival box. You can
think of it as an upgrade over a standard survival kit. :)

# Changelog

:cl:
- tweak: Item groups for Smokes, Lighters, Instruments, Air Tanks,
SurvivalBoxes/Medkits, and Writable items have been added. All items in
these categories have received discounts to their costs, and in some
cases have become free.
# Conflicts:
#	Resources/Prototypes/Loadouts/items.yml
# Description

And another one! This time Neck slot items. Sequel to
Simple-Station/Einstein-Engines#872

# Changelog

:cl:
- tweak: All neck slot Loadout items have had their costs significantly
reduced, most of them to 0.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description

Now for Eyes...
Last one to do is split apart the "Items" tab.

# Changelog

:cl:
- tweak: Eyewear have had their loadout point costs significantly
reduced.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description

Yet another sequel to
Simple-Station/Einstein-Engines#872
This time Masks

# Changelog

:cl:
- tweak: All masks have had their loadout point costs substantially
reduced.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
Signed-off-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# 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.
SimpleStation14 and others added 14 commits September 9, 2024 16:29
# 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 <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Description

Glacier, Core, and Saltern were missing their assistant job slots(My
mistake, when the Linter said I needed to set the Overflow job, I
assumed it meant "Replace the [-1, -1] slot with the Overflow", but
apparently both are needed.

Additionally, Glacier, Core, and Saltern are now added to the Map Pool.

:cl:
- add: Glacier, Core, and Saltern now have assistant job slots.
- add: Glacier, Core, and Saltern are now able to be voted on for map
selection.
<!--
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]?
-->

Changes some outfits, notably the Operative Jumpskirt, Kimono,
Dark/Light Monastic Robes, and the Gladiator Uniform to be assigned as
skirts, rather than suits. This allows harpies to wear them. In
addition, the UnsensoredClothingSkirtBase base now possesses the
'ClothMade' tag, allowing moths to eat outfits with this base.

---

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

# 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: Fixes a few typos in outfit descriptions
- fix: The Kimono, Dark/Light Monastic Robes, Gladiator Uniform, and
Operative Jumpskirt should be properly considered jumpskirts, and are by
extension wearable for harpies.
- fix: Moths should be able to eat outfits with the
UnsensoredClothingSkirtBase parent.
# Description

I have updated the Contests System to make it safe to use by Americans.
This is accomplished by adding very helpful warning labels, as well as
restricting the Range of all its functions so that they cannot return
either a negative number, or a zero. Therefore, all Contests are now
perfectly safe to divide by.

# Changelog

:cl:
- tweak: ContestsSystem(Mass Contest, Stamina Contest, Health Contest,
Mind Contest, Mood Contest, and Every Contest) have all been updated to
be safe to divide by, since it is no longer possible for them to ever
return 0. Instead they will just return
0.0000000000000000000000000000000000000000000001401298, so if you divide
by an unclamped contest, I hope you like your function randomly
returning the 32bit integer limit.
- add: Warning labels have been added to all Contests to make them
comply with the demands of the American consumer market.
# Description

I made this PR in response to a bug report from Floof, where it was
discovered that a "Minimum Size Felinid or Harpy" is instantaneously
killed by mouse traps. Which confused me, because Felinids and Harpies
are intended to be immune to floor traps like landmines, glass, and
mouse traps. Then I discovered that mouse traps overwrite the step
trigger cancellation, meaning that mouse traps will just completely
ignore a Felinid/Harpy canceling the step trigger. Additionally, to my
endless frustration, the Felinid/Harpy floor trap immunity is handled by
a Tag and not a Component, which isn't really acceptable in this day and
age.

I decided to take a little bit of a different approach to this problem,
first by doing the usual code cleanup to EE standards. Then by adding a
new StepTriggerImmuneComponent. This component acts as an early-exit for
the entire StepTriggerSystem, immediately at the initial entrypoint,
during the CanTrigger bool. This component is given to Felinids and
Harpies by default, representing their "Extremely low density bodies"
having too much surface area and not enough mass to trigger floor traps.
Effectively, they are now working as originally intended, by having
immunity to setting off landmines.

Because we have a trait point system, and this is coincidentally also a
trait requested by Nuclear14, I have gone ahead and created a Trait that
gives this component to anyone willing to pay the points for it.

# Changelog

:cl:
- fix: Felinids and Harpies will now correctly never set off floor
traps, such as landmines and mouse traps.
- add: Trap Avoider has been added as a new trait, allowing characters
to buy the innate ability to avoid floor traps. I would have named this
"Light Step", after the trait from Fallout that shares its name and
effect, but someone already gave that name to a different trait
entirely.

---------

Signed-off-by: VMSolidus <evilexecutive@gmail.com>
Co-authored-by: DEATHB4DEFEAT <77995199+DEATHB4DEFEAT@users.noreply.github.com>
# Conflicts:
#	Resources/Changelog/Changelog.yml
# Description

It's time to finally rip off a bandaid, and cease fucking with awful
layer garbage and marking workarounds. This PR completely removes the
Arms and Legs marking categories, replacing them with:

1. Right Arm
2. Right Hand
3. Left Arm
4. Left Hand
5. Right Leg
6. Right Foot
7. Left Leg
8. Left Foot

Finally, removing harpy layer shitcode is within our grasp.

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


![image](https://github.com/user-attachments/assets/7cb5cb2d-ec5a-4269-a29b-08eeabc5668b)


![image](https://github.com/user-attachments/assets/a5b8861d-ae25-45cb-96d7-2d4dbf17be98)

</p>
</details>

# Changelog

:cl:
- add: Arm and Leg markings are now split between individual arms,
hands, legs, and feet.
Copy link
Contributor

github-actions bot commented Sep 9, 2024

RSI Diff Bot; head commit b94d092 merging into 523aacb
This PR makes changes to 1 or more RSIs. Here is a summary of all changes:

Resources/Textures/Clothing/Back/Backpacks/robotics.rsi

State Old New Status
equipped-BACKPACK Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/Clothing/Back/Duffels/robotics.rsi

State Old New Status
equipped-BACKPACK Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/Clothing/Back/Satchels/robotics.rsi

State Old New Status
equipped-BACKPACK Added
icon Added
inhand-left Added
inhand-right Added

Resources/Textures/DeltaV/Mobs/Animals/shrimp.rsi

State Old New Status
dead Added
shrimp Added

Resources/Textures/Objects/Fun/bwoink_hammer.rsi

State Old New Status
icon Added
inhand-left Added
inhand-right Added

Edit: diff updated after b94d092

Copy link
Contributor

coderabbitai bot commented Sep 9, 2024

Important

Review skipped

More than 25% of the files skipped due to max files limit. The review is being skipped to prevent a low-quality review.

117 files out of 207 files are above the max files limit of 75. Please upgrade to Pro plan to get higher limits.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share
Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Member

@Spatison Spatison left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@VMSolidus
Copy link
Contributor

Wooh! Loadouts Version 3 finally coming to White Dream. :)

@Remuchi Remuchi merged commit cebab3b into master Sep 9, 2024
11 checks passed
@Remuchi Remuchi deleted the upstream branch September 9, 2024 16:06
riddleridou added a commit that referenced this pull request Sep 9, 2024
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.