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

Feature: biodata tracking. #4

Closed
Balvald opened this issue Nov 25, 2022 · 4 comments · Fixed by #7
Closed

Feature: biodata tracking. #4

Balvald opened this issue Nov 25, 2022 · 4 comments · Fixed by #7
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@Balvald
Copy link
Owner

Balvald commented Nov 25, 2022

Track all biodata. Whats already scanned but unsold and sold.

In E:D Odyssey you can sell biodata in 3 different ways:

  • Sell all of the unsold data at once.
  • Sell all data of a single system.
  • Sell a single particular exobiology scan. (ew.)
    (The last two need some exhaustive testing, minus the impossible edge cases)

The case that seems impossible to catch:
if the player sells the data by system and 2 systems have the same amount of the same species then no one can tell which system was actually sold at vista genomics. This is because the SellOrganicData does not have any info about from where exactly the sold data is in the biodata array (neither system or planet info is anywhere in the respective event in the journal).

Botched as of now "good enough" solution until the "SellOrganicData" event gets changed (so never):
In described case whatever is the first system we encounter thats still possible to be the system that was sold is chosen to have its portion of data be pushed from an unsoldbiodata.json to an soldbiodata.json

unfixable horror scenario:
Selling a single biodata entry from a single system that could be from a selection of different systems which data haven't been sold then die and lose the rest of the unsold biodata. - With bad luck this will switch up two exobiology data entries

Bonus unfixable horror scenario:
Sell a singular organic data scan only from a single system where several more organic scans are ready to be sold from the same species but different body. Then realize that of course the one sold is not the one tracked as sold

The "horror scenarios" are generally avoidable when selling atleast a whole system at once (as people rarely scan only the exact same amount and type of exobiology in two different systems.) And completely avoidable when they sell everything at once.

Missing from current dev branch as of now:

  • Add a possibility to have the plugin scan through journals and create/update the respective soldbiodata.json and unsoldbiodata.json
    for any biodata that was scanned prior to installing the plugin.
@Balvald Balvald added the enhancement New feature or request label Nov 25, 2022
@Balvald Balvald self-assigned this Nov 25, 2022
@Balvald Balvald added this to the v 0.1.2 milestone Nov 25, 2022
@Balvald
Copy link
Owner Author

Balvald commented Nov 26, 2022

Add a possibility to have the plugin scan through journals and create/update the respective soldbiodata.json and unsoldbiodata.json for any biodata that was scanned prior to installing the plugin.

  • Add a Button for this in the preferences tab using the journalcrawler.py to build it.
  • Check how I can get the correct journal location specified in the EDMC preferences someway.
  • Maybe a tick box to just switch to reading from a local journal folder in the same directory the load.py sides in if we can't get the journal directory from EDMC somehow.

Add a possibility to manually insert an already sold scan that is missing because the respective journal where it should be in has been lost.

Removing this from original. Don't know what I was thinking. Just edit the json.

@Balvald
Copy link
Owner Author

Balvald commented Nov 27, 2022

  • Add a Button for this in the preferences tab using the journalcrawler.py to build it.

This I've done.

  • Maybe a tick box to just switch to reading from a local journal folder in the same directory the load.py sides in if we can't get the journal directory from EDMC somehow.

This is now just an extra button.

@Balvald
Copy link
Owner Author

Balvald commented Nov 27, 2022

Biodata tracking just for the heck of it isn't cutting it of course It needs to show what was already sold when in a system
all with options to hide it if the user does not want it.

Balvald added a commit that referenced this issue Nov 27, 2022
- Added the buttons for tracking the sold organic scans from journals mentioned in #4

- Moved the vista genomics price table to its own file organicinfo.py
and already created a list of clonal colonial ranges in m for #2

- Changed the journalcrawler.py so it can be effectively used in the context of being part of the edmc plugin i.e. switched to logger.info calls so the edmc log shows some info when building the soldbbiodata.json

- Needs change: journal paths are hardcoded. It'll work as long as it is in <userprofile>\Savedgames\Frontier_Developments\Elite_Dangerous/ Theres a journal file path that the user can specify in the edmc settings, gotta check how I can just get the path from it.
Balvald added a commit that referenced this issue Nov 28, 2022
Concerning #4 :
- Added labels to show which biology scans were sold in the current system. Relates to
- Getting the E:D journal folder location from the config now.
@Balvald
Copy link
Owner Author

Balvald commented Nov 28, 2022

Biodata tracking just for the heck of it isn't cutting it of course It needs to show what was already sold when in a system
all with options to hide it if the user does not want it.

Implemented and working on dev.

Now I only have to check if I can improve my checking for when the star system changed.
Specifically and really only when we initially start the plugin and the current_system is still None.
Also gotta check if its even needed for me to implement this or if there already is someting in EDMC I can piggyback off of.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant