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

Added sulfur chunk energy source to auto-evo #5762

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

hhyyrylainen
Copy link
Member

Brief Description of What This PR Does

Makes auto-evo to know about the added sulfur chunks. Sadly it seems auto-evo doesn't want to fill the miches. So this is marked as a draft until someone can figure out how to fix that.

Related Issues

closes #5761

Progress Checklist

Note: before starting this checklist the PR should be marked as non-draft.

  • PR author has checked that this PR works as intended and doesn't
    break existing features:
    https://wiki.revolutionarygamesstudio.com/wiki/Testing_Checklist
    (this is important as to not waste the time of Thrive team
    members reviewing this PR)
  • Initial code review passed (this and further items should not be checked by the PR author)
  • Functionality is confirmed working by another person (see above checklist link)
  • Final code review is passed and code conforms to the
    styleguide.

Before merging all CI jobs should finish on this PR without errors, if
there are automatically detected style issues they should be fixed by
the PR author. Merging must follow our
styleguide.

@revolutionary-bot
Copy link

We are currently in feature freeze until the next release.
If your PR is not just a simple fix, then it may take until the release to get reviewed and merged.


maintainGlucose.AddChild(envPressure);
if (hydrogenSulfideAmount.Amount > 0)
Copy link
Contributor

Choose a reason for hiding this comment

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

If hydrogenSulfide is not present in the patch, just the chunks, I might be wrong, but isn't this a crash?

Copy link
Member Author

Choose a reason for hiding this comment

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

I think my IDE or the C# compiler should have prevented that. As hydrogenSulfideAmount is a struct, when the TryGet fails it returns a default initialized struct instance (i.e. so all values are initialized to 0, which should mean the amount is zero in the case that the TryGet failed). And that should mean writing this check is safe like this.

@hhyyrylainen
Copy link
Member Author

So based on the Discord discussion, this piece of code needs updating in ChunkCompoundPressure:

        var compoundATP = cache.GetCompoundGeneratedFrom(compound, atp, microbeSpecies, patch.Biome);
        var energyBalance = cache.GetEnergyBalanceForSpecies(microbeSpecies, patch.Biome);

        // Penalize species that don't actually need the compound generated by the chunk
        score *= MathF.Min(compoundATP / energyBalance.TotalConsumption, 1);

so that it properly evaluates chunk compounds that are turned into intermediate compounds before those turn into ATP

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In progress
Development

Successfully merging this pull request may close these issues.

Sulfur chunks need to be added to miches
3 participants