Edengineer: Odyssey New Ingredients

Created on 27 Apr 2021  ·  28Comments  ·  Source: msarilar/EDEngineer

New ingredients:

https://elite-dangerous.fandom.com/wiki/Data
https://elite-dangerous.fandom.com/wiki/Components
https://elite-dangerous.fandom.com/wiki/Goods

The ingredient file will need to be updated:

https://github.com/msarilar/EDEngineer/blob/master/EDEngineer/Resources/Data/entryData.json

Example ingredient:

  {
    "Name": "Aberrant Shield Pattern Analysis",
    "Rarity": "Rare",
    "FormattedName": "aberrantshieldpatternanalysis",
    "Kind": "Data",
    "OriginDetails": [
      "Ship scanning (combat ships)",
      "Mission reward",
      "Needed for The Sarge (50)"
    ],
    "Group": "ShieldData"
  }
  • Name : will need to be what's on the screen
  • FormattedName : will need to match what's in the game's logs when the ingredient is found
  • Kind : will need to refer to new types I think (OdysseyData/OdysseyComponents/OdysseyGoods for instance)
  • OriginDetails : can be left empty for now
  • Group : to be determined
enhancement help wanted RefData odyssey

Most helpful comment

I'm working on events, TradeMicroResources works now for me.
I'll send new pull request soon.

All 28 comments

Howdy all devs for this wonderful app.

I am keen to help out here, but not a regular user of GitHub or developer apart from soem basic scripting, not sure I want to step on any toes or add updates to the master - but happy to check specific things or testing to confrim wiki data for final json update and make this Odyssey compatible asap.

Let me know if i can be of help in that regard - or anything to help you out here.
DruiD

Looked around a little.
I have found a way of generating the JSON code from an excel sheet using this site: https://www.convertcsv.com/csv-to-json.htm
Had to make a template to get the array right.
Now I need lists containing data for the new stuff.

INARA has made the following categories for odyssey stuff:
ITEMS (No rarity)
DATA (No rarity)
CHEMICALS (Each individual type has a value)
CIRCUITS (Each individual type has a value)
TECH (Each individual type has a value)

INARA does not contain FormattedName though.

Question: Do we add the "value" where rarity should be or do we need an additional field?
INARA has Planetary Settlement as Origin details for all as a place holder it seems. De we use that?
INARA has also mapped usage for a few of the items.

I also see that ED Discovery has lists of what seem to be Name and FormattedName.

Neither INARA or EDD seem to have complete lists though, so main issue is lack of data right now. EDD might have, but I haven't found it in their code.

Also, there does not seem to be any groupings for the new stuff.

INARA does not contain FormattedName though

formatted name is used by edengineer to figure out the "code name" that appears in the game logs to be able to pick up cargo updates - some of them are just the label seen by the player but in lowercase while some others have a completely different name

a good start is to format the label seen by the player by default - maybe then we'll see issues such as "_that ingredient isn't tracked by edengineer_" which means we'll need to update the FormattedName

Do we add the "value" where rarity should be or do we need an additional field?

cost / barter / unit should be added as new fields (replacing rarity for these)
for https://inara.cz/component/179/ for instance:

},
{
    // ...
    "CostUnit": "Chemicals",
    "BarterCost": 9,
    "BarterValue": 5,
    // ...
},
{

INARA has Planetary Settlement as Origin details for all as a place holder it seems. De we use that?

OriginDetails is used for these icons:
image

We can add more origins / icons if new location types have been added although I think "planerary settlement" or something similar already exists

Thank you.
I have started sorting data based on what I have (mainly INARA and some from EDD and journals).

Do we separate OdysseyData and OdysseyItems that do not have barter values into different files with a different setup, or do we just leave barter values blank.

I checked a bit more the update, I think for these new items, we should have:
Kind = [Odyssey something - let's find a name]
Group = Chemicals/Circuits/Techs/Item
BarterCost/Value = some value or nothing

This will make EDEngineer show all these new ingredients in a new dedicated tab (the Kind - Similarly to Materials/Data/Loadout) and group them by their unit (chemicals / circuits / etc.. similarly to current Alloys / Capacitors / etc...)

for reference, current gui:

image

I currently have something like this for components:

[
{
"Name": "Aerogel",
"CostUnit": "Chemicals",
"BarterCost": 9,
"BarterValue": 5,
"FormattedName": "aerogel",
"Kind": "OdysseyComponent",
"OriginDetails": ["Planetary Settlement"
]
"Group": ""
}
]

All components with values are in my spreadsheet.
Working on Data.

I have used "OdysseyComponent", "OdysseyData" and "OdysseyItem". Basically I'm using INARA categories.

My main challenge is generating the array in there. I'm not a programmer, and the online tools are limited. But if we leave it blank or with just one value, it's fine.

that looks great

you can actually remove the CostUnit field and put it in the Group instead:

[
    {
        "Name": "Aerogel",
        "BarterCost": 9,
        "BarterValue": 5,
        "FormattedName": "aerogel",
        "Kind": "OdysseyComponent",
        "OriginDetails": [ "Planetary Settlement" ],
        "Group": "Chemicals"
    }
]

I'm not comfortable making Pull Requests yet.
First file, OdysseyComponents.txt
OdysseyComponent.txt

For Items and Data there is no rarity or value information. Do I take value fields out but leave rarity in or take them all out?

I'm not comfortable making Pull Requests yet.
First file, OdysseyComponents.txt
OdysseyComponent.txt

like that is perfect

for items & data I believe you could put them as the same Kind as the components but with dedicated group ("Group": "Items" / "Group": "Data")

if they don't have rarity in game, you can omit the rarity in the json

So I have a complete list of data and items based on the sources I have available (INARA, ED Wiki, my journals and EDD)
I'm still uncertain about how to set this up.
They have an in-game value. (Listed on the Wiki for some of them)
I have found no indication of rarity in game, but I haven't played enough to really say for sure.
The wiki typically provides this:

Classification: Data
Value: 4,000 CR
Settlement Type: ?
Building Type: LAB, PROC, PWR, AGRI
Container Type: Agricultural Data Port, Data Port, Industrial Data Port, Laboratory Data Port, Power Data Port

So how much should be included?
To me this looks like arrays for settlement type, building type and container type, but it's still early days and I suspect this may change when we have more experience.

the additional data can be added to the json to maybe be integrated in the gui at some point later

if it's too much trouble then it's all right to begin with minimal info : EDEngineer will track the new ingredients and we'll be able to add the related blueprints to report progress

thanks a lot 👍

I have been playing a bit with the tools I found.
I can now "generate" this from my spreadsheet.

{
"Name": "Aerogel",
"ValueCr": 500,
"BarterCost": 9,
"BarterValue": 5,
"FormattedName": "aerogel",
"Kind": "OdysseyComponent",
"OriginDetails": ["Planetary Settlement"],
"Group": "Chemicals",
"SettlementType": [""],
"BuildingType": ["LAB", "PROC"],
"ContainerType": ["Industrial Locker (S)", "Research Locker (L)"],
"OdysseyRecipes": ["Artimis Suit upgrades"]
},

Doing it this way means we can leave out Origin Details, but I thought it might be an idea to keep it, as you have used it for various stuff.

I have all the data entered for Chemicals/Circuits/tech
Data and items is a bigger beast and might take me a few days.

Additional data from INARA and the ED Wiki
The names for engineer upgrades have been retrieved from the Wiki.
I'm happy to do this, just say what information you want in the JSON file

Bonus is: I'm starting to learn how powerful VS Code is :)

that looks great

"OdysseyRecipes": ["Artimis Suit upgrades"]

edengineer works a bit differently for recipes (file here - beware it's big and can take a while to lead) : blueprints reference the ingredients and not the other way around

so for now you can drop this field I think

example recipe in blueprints.json file (to avoid loading the file):

  {
    "Type": "Plasma Accelerator",
    "Name": "Short Range Blaster",
    "Engineers": [
      "Etienne Dorn",
      "Zacariah Nemo",
      "Bill Turner"
    ],
    "Ingredients": [
      {
        "Name": "Nickel",
        "Size": 1
      }
    ],
    "Effects": [
      {
        "Effect": "+27%",
        "Property": "Damage",
        "IsGood": true
      },
      {
        "Effect": "-10%",
        "Property": "Maximum Range",
        "IsGood": false
      }
    ],
    "Grade": 1,
    "CoriolisGuid": "81dca970-1fbf-4017-af46-0c6285c3a728"
  },

Great
Ah, in that case this should be done today.
Recipes was the only thing left to enter into excel.

Do you want this as one file where I leave in BarterCost and BarterValue in for "Item" and "Data" objects, or as two files?

I have made a single file for all Odyssey Material. If it needs tweaking or separating into different files, please shout out.
Source for data: INARA, ED Wiki, EDD.
FormattedName: Not sufficiently verified. Where I did not know, I have used truncated display name in lower case.
SettlementType, BuildingType, ContainerType data from ED Wiki. There were some conflicts between Wiki and INARA.
File is generated from spreadsheet using: https://www.convertcsv.com/csv-to-json.htm
Then further tweaking (search and replace) in VS Code editor.
Spreadsheet included (not sure it is intelligible)
OdysseyMaterials-v2.txt
ED Odyssey data2.xlsx

brilliant - you can append the content of the array to the entryData.json file and open a review

i'll start working on exploiting that data soon

So I made a draft pull request with Odyssey materials #597
Never done that before, so hopefully I did this right.

brilliant, we're soon there

in game, have you got some of the new ingredients? would you mind uploading your logs (including the new backpack.json file described in these docs http://hosting.zaonce.net/community/journal/v31/Journal_Manual_v31.pdf)

I have a few, not many though.
Backpack.txt
My backpack.jason file is empty though. I think it's dynamic and empties when you enter the ship.
2 journal files.
Journal.210601201323.01.txt
Journal.210602215229.01.txt

cheers

I have this kind of gui for now using the data you provided:

image

I'll integrate the Settlement/Building/Container type as well as the prices and barter properties soon

once it's there, I'll probably deploy a temporary version until I get the log parsing working with the new events

That was fast.
Looks good. I'll keep an eye out for updates to the list.
Do you intend to track the backpack as well. It can contain consumables, as well as the Odyssey micro-resources.

These plus E-breach are all currently known consumables.
I don't have an E-Breach yet.
Updated with info from OzDruiD :)

``` json
{
"Consumables":
[ { "Name":"healthpack", "Name_Localised":"Medkit", "OwnerID":0, "Count":10 },
{ "Name":"energycell", "Name_Localised":"Energy Cell", "OwnerID":0, "Count":11 },
{ "Name":"amm_grenade_emp", "Name_Localised":"Shield Disruptor", "OwnerID":0, "Count":10 },
{ "Name":"amm_grenade_frag", "Name_Localised":"Frag Grenade", "OwnerID":0, "Count":10 },
{ "Name":"amm_grenade_shield", "Name_Localised":"Shield Projector", "OwnerID":0, "Count":10 }
{ "Name":"bypass", "Name_Localised":"E-Breach", "OwnerID":0, "Count":96 }
]
}

@Gimi1967 ddoes this help?
{ "Name":"bypass", "Name_Localised":"E-Breach", "OwnerID":0, "Count":96 }
This is from my journals - anything else your looking for ? or ?

So .. I lost ALL my "Goods" and "Data" from all things odyssey. I dont think it was due to mucking around with log files, but be caeful, nearly 1000 goods, 800 odd data- just gone. Ticket with fdev, but that may take weeks.

I was stuck, so logged into Horizons, back to Odyssey, those two catagories are reset to 0/1000, whereas "consumables" and the "Assets" are still fine.

Btw - the e-breech count I guess can be adjusted back to 10 or whatever. thats just the count i had in my bag :P

I think we have most of it now

thanks a lot for the contributions @Gimi1967 and @jpacelli62

upcoming steps:

  • going to deploy the current version
  • log parsing for updates of ingredient

I'm working on events, TradeMicroResources works now for me.
I'll send new pull request soon.

You guys are awesome .. if need logs or testing anything - shout out.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

CmdrHogweed picture CmdrHogweed  ·  3Comments

Alekhoff picture Alekhoff  ·  41Comments

TheFalkenrath picture TheFalkenrath  ·  23Comments

ghost picture ghost  ·  27Comments

Shemuev picture Shemuev  ·  20Comments