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 #73907 Stop Flip Flopping mutations in Alpha stomach chain #74022

Merged
merged 8 commits into from
May 26, 2024

Conversation

Kamejeir
Copy link
Contributor

@Kamejeir Kamejeir commented May 23, 2024

Summary

Bugfixes "Flip-flopping in acquisition of Intestinal Fortitude"

Purpose of change

bugfix #73907

Describe the solution

Weak Stomach now leads to Nausea, that itself turns into Vomitous.

Intestinal Fortitude has its different prereqs replaced with Weak Stomach and Vomitous, the two of which are set to change into Intestinal Fortitude.

Removes Robust Genetics from Alpha. Alpha should be a jealous category.

Describe alternatives you've considered

Testing

It only go in one direction, and through a couple runs of mutating Rat, never observed Vomitous turning into Nausea.

Weak Stomach, Nausea and Vomitous successfully disappear after acquiring Intestinal Fortitude.

Additional context

@github-actions github-actions bot added <Bugfix> This is a fix for a bug (or closes open issue) [JSON] Changes (can be) made in JSON Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels May 23, 2024
@Kamejeir
Copy link
Contributor Author

Tests are failing because breach power is too high. I could shove something else around, or edit the test to make Alpha slightly easier to get. I don't know which to choose.

@Kamejeir
Copy link
Contributor Author

Now after Venera telling me that I am not to change the test, the other option has me wondering what to even do. I haven't ever gotten involved with the balance of Alpha. My best and only guess is to move Deterioration to post-thresh.

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label May 24, 2024
Copy link
Member

@Maleclypse Maleclypse left a comment

Choose a reason for hiding this comment

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

Do not merge until I can look at this.

@Maleclypse
Copy link
Member

Deterioration to post thresh is not going to work. I’ll look at some options. I think in this specific instance Venera may be wrong about the test because it’s the alpha category and if he isn’t wrong it should be a positive mutation that moves to post thresh.

@Maleclypse Maleclypse marked this pull request as draft May 24, 2024 20:39
@Kamejeir
Copy link
Contributor Author

Kamejeir commented May 24, 2024

Actually, looking back, it is extremely wacky that the test succeeded. The total amount of mutations potentially available to breach didn't change (Weakening just stayed, when it would have otherwise turned into Deterioration, which would have resulted in no point where, there less Alpha mutations to potentially make it harder to go post-threshold). It makes me think the test is unreliable and should be changed.

@Kamejeir
Copy link
Contributor Author

These ones could use a 61 instead of 60 in case it is determined that the test should be changed rather than editing Alpha stuff.

// Alpha threshold is intentionally meant to be harder to breach, so the permitted range is 35-60

THEN( "Alpha Threshold breach power is between 35 and 60" ) {
INFO( "MUTATIONS: " << get_mutations_as_string( dummy ) );
CHECK( breach_chance >= 35 );
CHECK( breach_chance <= 60 );

@Kamejeir
Copy link
Contributor Author

btw are you on github via the site or..? edited the first message after your actions a lot, it changed meaning pretty drastically, dunno if edits are re-sent as a new message

@Maleclypse
Copy link
Member

btw are you on github via the site or..? edited the first message after your actions a lot, it changed meaning pretty drastically, dunno if edits are re-sent as a new message

They aren’t sent as new messages. No worries. So the issue with the test is that alpha has a unique test in the larger threshbreak test because it has fewer mutation than you can breach with otherwise. It’s the smallest tree. The note on the test is wrong but basically because it’s so small you have to change the threshbreach chance if you add a mutation or else it will be unnaturally easy to become thresh alpha

@Kamejeir
Copy link
Contributor Author

Kamejeir commented May 25, 2024

Then it appears as though we have to move an independent mutation (one that does not change to anything else / is a parent that something else changes into, and thus actually makes a difference for breach power) post-threshold.
The three choices that fits the bill are as follows:

  • Weak Scent (starting trait quality would probably have to go)
  • Picky Eater (ditto for above, as well as this believably imo being what an "average dude" could have)
  • Highly Vain
    I chose these ones because they are uniquely available to Alpha, letting us remove a mutation pre-threshold to counteract the part of adding one (with Weak Stomach now coexisting with Nausea).

@Maleclypse Maleclypse changed the title fix #73907 fix #73907 Stop Flip Flopping mutations in Alpha stomach chain May 25, 2024
@Maleclypse Maleclypse marked this pull request as ready for review May 25, 2024 18:13
@Kamejeir
Copy link
Contributor Author

Well, color me impressed. I had failed to understand that it was about points within the mutations, not the number of mutations.

@github-actions github-actions bot removed the BasicBuildPassed This PR builds correctly, label assigned by github actions label May 25, 2024
@Kamejeir
Copy link
Contributor Author

Oops, too hasty a judgment. Well, that was a failure.

@Maleclypse
Copy link
Member

Oops, too hasty a judgment. Well, that was a failure.

Yeah I expected that would likely be a failure because I was pretty sure negatives didn't count by points. Other people seemed to think this might be a way to impact points by adjusting the positives again, not sure that the points the test is counting correlate.

@Maleclypse
Copy link
Member

Maleclypse commented May 26, 2024

 if( !have_upgrade && !mdata.flags.count( json_flag_NON_THRESH ) ) {
            // ... find the mutations distance from normalcy...
            int mut_height = mutation_height( mut );
            // ... and for each category it falls in...
            for( const mutation_category_id &cat : mdata.category ) {
                // ... add the height and a constant value
                mutation_category_level[cat] += mut_height + 2;

So by making the lead to instead of change to you've added one to the height of the stomach branch. So none of these changes I've been trying have a chance of working. I'm going to make a PR to remove the special treatment for Alpha threshbreach and after that is merged this will pass.

Robust Genetics no longer makes sense in Alpha.  In fact I would argue that Alpha needs a mutation that makes it harder to get non alpha mutations. Tier 1 Alpha mutation that is most likely your first mutation to get in Alpha and a post thresh version that randomly removes non-alpha mutations once a month.
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label May 26, 2024
@Maleclypse Maleclypse merged commit cd60b6b into CleverRaven:master May 26, 2024
25 checks passed
@Kamejeir Kamejeir deleted the eatyourpoison branch May 26, 2024 18:08
@Kamejeir Kamejeir restored the eatyourpoison branch May 26, 2024 18:11
@Kamejeir Kamejeir deleted the eatyourpoison branch May 26, 2024 18:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Bugfix> This is a fix for a bug (or closes open issue) [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Mutations / Traits / Professions/ Hobbies Mutations / Traits / Professions/ Hobbies
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants