EDCD / EDDI

Companion application for Elite Dangerous
Other
443 stars 81 forks source link

Mission data for hauling missions is split and duplicated between the `Mission` and `Haulage` objects #2610

Closed Tkael closed 2 months ago

Tkael commented 5 months ago

What happens now

Mission data for hauling missions is split and duplicated between the Mission and Haulage objects. This creates significant cross-linking between the mission and cargo monitors that I'd like to avoid and in my opinion may be more confusing than simply capturing all of the mission data within the Mission object.

What I'd like to happen

The Mission object should have all of the information for missions. The cargo monitor should contain more limited information tracking quantities of legal cargo, stolen cargo, and mission cargo (separated the same way these are presented in-game so that the user can view their total cargo counts or the counts of legal vs. illegal vs. mission cargo).

How it can happen

Consider moving mission related cargo data from the Haulage object to the Mission object and presenting that information within the mission details. Create "buckets" to track legal, stolen, and mission cargo separately. Consider using a list to represent each bucket and using that list to record source systems, acquisition costs, and mission IDs for each collected commodity.

The remaining cargo data would be similar to what what we see from the Frontier API section for Fleet Carrier inventory (which I suspect to be similar to how most cargo inventories would be handled in game).

{ "commodity": "Clothing", “originSystem": 9465705473417, "missionID": 67510393, "qty": 2, "value": 0, "stolen": false, "locName": "Clothing" }

EDDI Version

4.0.3

Tkael commented 5 months ago

If the mission is abandoned, the missionID would be removed and the cargo would be marked as stolen. No additional mission processing would take place in the Cargo Monitor. Mission type information would be irrelevant and not needed for the Cargo Monitor.

Tkael commented 5 months ago

Cargo.json can be used to assess changes to stolen item counts.

{ "timestamp":"2024-05-06T05:38:15Z", "event":"Cargo", "Vessel":"Ship", "Count":1, "Inventory":[ 
{ "Name":"thargoidgeneratortissuesample", "Name_Localised":"Caustic Tissue Sample", "Count":1, "Stolen":0 }
 ] }