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

fix: only single exosuit can be worn now #5933

Merged
merged 2 commits into from
Jan 17, 2025

Conversation

Goredell
Copy link
Contributor

@Goredell Goredell commented Jan 16, 2025

Checklist

Required

Optional

Purpose of change

fixes #5920

Describe the solution

Introduced new "EXOSUIT" flag, so any item with this flag will conflict with eachother, removed "ONLY_ONE" flag, for said items, as obsolete.

Describe alternatives you've considered

Testing

Tested so it does not affect other clothing;
Checked all(4) items with both on/off states

Additional context

@github-actions github-actions bot added src changes related to source code. JSON related to game datas in JSON format. labels Jan 16, 2025
Copy link
Member

@scarf005 scarf005 left a comment

Choose a reason for hiding this comment

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

is it a bug or feature that ONLY_ONE allows wearing mulitple exosuits? bit leery of adding a new flag, so it'd be great if we could fix ONLY_ONE when it happens to be a bug.

@Goredell
Copy link
Contributor Author

Goredell commented Jan 17, 2025

Kinda misinterpreted the behaviour when reported the bug, after some investigation during PR writing got results properly.
If exo is disabled, u can't wear another one, but when u enable it, u can grab another. so technically "ONLY_ONE" works as intended, since u don't "wear" the clothing u activate and activated exo is considered as another unique item.
And it can end up as this absurd.
5 military exos and 2 industrial - tons of stats
image
Also, regarding "bug or feature" debate, common sense tells that while I can put up 2 backpacks or 2 pair of socks, I highly doubt i'd be able to put on 2 exo-suits, even if they are different.

@karxi
Copy link
Contributor

karxi commented Jan 17, 2025

I could go both ways on this, and while my gut says to consult whoever added them, I have no clue how feasible that is.
I bring this up because we can (somewhat unintuitively) wear exo-suits and power armor at the same time, even though power armor is so bulky and close to the body that it explicitly disallows wearing almost every other clothing/armor in the game.

Does that imply that an exo-suit (be it the sleeker military version or the implicitly bulkier industrial suit) is thin enough and light enough to qualify as 'underwear', or does it imply that it's so broadly adjustable as to encompass even heavy power armor? (The "OVERSIZE" tag strongly implies the latter.) And if the latter is the case, why can't you stack them? You can wear them with a 'tank suit' (heavy power armor), which is its own kind of powered exoskeleton.
They're specifically flagged "POWERARMOR_COMPATIBLE", so that part is intentional.

The thing about stacking the same exosuit by messing with whether they're active or not is definitely a bug, and stacking multiple types is probably a bug, but I kind of like it the way it is. The power requirement for the two 'best' exo-suits comes out to 700000 units (350000 each); light power armor is 750000 units (potentially cut to 50% or 25% of this with the right CBMs). Exo-suit power draw can't be mitigated the way power armor's can.
If you're stacking all three types (what did you mean by "all(4) items"?), the survivor exo-suit tacks on another 500000, at which point you're paying around 80% of what you would for normal power armor, and half as much as heavy power armor.
I get the impression that power armor only provides enough motive force to allow the user to move relatively unencumbered by it, whereas the exo-suits are meant to actually enhance physical capabilities. From that angle, combining them does make some sense.

Having said all that, the damage resistance values for exo-armor could probably stand to be tweaked. Military and industrial exo-armors give 48/48/40 bash/cutting/ballistic protection, which seems slightly insane. (Though the coverage is 35%, so maybe I'm overestimating their impact.)

@RoyalFox2140
Copy link
Collaborator

is it a bug or feature that ONLY_ONE allows wearing mulitple exosuits? bit leery of adding a new flag, so it'd be great if we could fix ONLY_ONE when it happens to be a bug.

ONLY_ONE means you can only wear one of the same item, not only one of similar items. If it was applied to shirts you could only wear one long sleeved shirt but not only one torso item. It's definitely a bug that can only be fixed with more JSON flags because we have no means within existing JSON to block similar items that feasibly should block each other.

I asked Chorus in the dev chat what She thought and it was greenlit. The build error appears unrelated.

Copy link
Collaborator

@RoyalFox2140 RoyalFox2140 left a comment

Choose a reason for hiding this comment

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

As Exo-suits are not feasible to be multi-worn this feels reasonable. Additionally ONLY_ONE should not be expanded to include this. ONLY_ONE is for not wearing the same item more than once, which doesn't cover the several different Exosuit items we have in-game.

https://www.nbcnews.com/mach/innovation/robotic-exoskeletons-are-changing-lives-surprising-ways-n722676
https://www.army-technology.com/projects/raytheon-xos-2-exoskeleton-us/

@RoyalFox2140 RoyalFox2140 merged commit f1679cc into cataclysmbnteam:main Jan 17, 2025
15 of 16 checks passed
@karxi
Copy link
Contributor

karxi commented Jan 17, 2025

That's present-day tech, which is subject to a host of issues that make it relatively infeasible for extended use (particularly in the context of military exo-suits—when they run out of power they're dead weight, and that's a problem when working out logistics pipelines).

In other words, things change when you add things like microreactors and plutonium fuel cells into the equation.

Moreover, I could very much see someone coding exo-suit sections for the legs versus power armor for the arms/back, splitting the speed and strength bonuses between the two (and honestly, now that I say this, I'm tempted to do it myself; modularity is good). It doesn't have to be binary, and I would argue that it shouldn't.

If we need something akin to an "excludes_wearing" list, that's fine (and AFAIK, should be possible to set up by referencing abstract items).

@Goredell Goredell deleted the fix_exosuit branch January 26, 2025 05:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
JSON related to game datas in JSON format. src changes related to source code.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Multiple active exo-suits are wearable
4 participants