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

Pull of biodata and unsold profit tracking #7

Merged
merged 23 commits into from
Dec 1, 2022
Merged

Pull of biodata and unsold profit tracking #7

merged 23 commits into from
Dec 1, 2022

Conversation

Balvald
Copy link
Owner

@Balvald Balvald commented Dec 1, 2022

Implementations of the following #3 #4 #5 #6 are now moved to main branch.

also fixed flake8 and pylance warnings
- had a sad bluescreen once and then the value of the scanned exobiological signals forgot what I scanned before the crash because it didn't immeadiately save it before.

Now it's saved after any journal entry that is relevant to the plugin is encountered.
Status to sold biodata happens to all analysed biodata as soon as any biodata is sold. This version does not account for selling only 1 systems then dying right after and losing the rest of the analysed biodata. To do that the plugin creates and maintians 2 jsonfiles: soldbiodata.json which holds all biodata that was sold. And notsoldbiodata.json which holds only the biodata we analysed and haven't been able to sell yet.

Moved load.py as its removing an unnecessary folder.
As the folder of the plugin does not have to be the exact plugin name.
Ignoring the files this dev version of the AST creates to keep track of already sold biodata.
Added journalcrawler.py, this is a script that goes through any ED player journal and builds a soldbiodata.json.

It lacks checks for keeping it seperate for each player.
This is something I will have to implement or a lot of players
could only use it for a single CMDR.

plugin implementation is untested but the crawler seems to work nicely so far.
Finally tested the last change.

Scanned but unsold amounts of biodata were doubled.
Maybe they're right in light of upcoming exo bio data payout buffs.

I falsely just copied what made sense in my journal crawler for keeping track of old data. Amounts of money of unscanned data should now add up properly again.

This change is untested so far.
Different issue that I saw on this branch is that the sell action did not decrease the value of the unsold data!
As of now no idea how this can be.
Not returning directly in the plugin_*() functions.

Modified the plugin_app function according to example for dynamic adding and removing of widgets.
User does not need to restart EDMC for preferences to take effect.

Refactored the code that creates the labels into rebuild_ui function that expects the reference to the plugin.
- removed lastsample as it is not needed.
- fixed logging for the plugin
- tracking for scanning and selling works now besides of edge cases where the player sells only part of the data before dying.
- Restructured the plugins journal_entry function and split it up into more manageable helper functions.
- 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.
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.
Added a new price table for #6

Values are largely updated as of now.

The few values it is missing updated prices are:
- sinuos tubers
- bark mounds
- amphora plant
- crystalline shards
Concerning #6 plugin now uses the largely updated pricetable that is still missing a few updated values as I specified in the last commit.
plugin now shows organic scans sold or fully scanned by species for the current system in the following form:

species body1, body2, ...

which indicates that the species from body1 and body2 have been sold by the player.

new functionality now: finished but not sold organic scans are noted by "*" around the name of the body.

This change also needed a few new rebuild_ui() calls like at the end of the sequence that handles a fully finished scan.
in journal entries the plugin now looks at the species which is completely independent and always the same for any language given any species.

for this organicinfo got another dictionary to translate from the species' journal name to the in plugins' localised name for a given species.

The journal names are the type that appear in the SellOrganicData

technically this doesn't resolve any opened issues its just here to mitigate any risk of this being the case.
Concerning #6 :
- Found exact values for Crystalline Shards and Bark Mounds (thx to Matt G on the Canonn Discord for leading me to the bioforge where the updated value for Bark Mounds was already displayed in full)
- Still Missing values: Sinouos Tubers, Amphore Plant (though strong suspicion it will be the same as the crystalline shards since the Amphore plant had the same price pre update 14.)
Also added clonal colonial range for Amphora plant
@Balvald Balvald added this to the v0.1.2 milestone Dec 1, 2022
@Balvald Balvald self-assigned this Dec 1, 2022
@Balvald Balvald merged commit 5488374 into main Dec 1, 2022
@Balvald Balvald deleted the dev branch December 1, 2022 21:09
@Balvald Balvald linked an issue Dec 5, 2022 that may be closed by this pull request
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant