Elite Dangerous BGS helper
Go to file
2021-11-11 17:42:59 +01:00
BGS make generic log prettier 2021-11-11 17:22:53 +01:00
EDDB rename project to EliteBGS 2021-11-10 21:24:39 +01:00
Properties some more de-NONA-fication 2021-11-11 17:42:59 +01:00
Resources some more de-NONA-fication 2021-11-11 17:42:59 +01:00
UI rename project to EliteBGS 2021-11-10 21:24:39 +01:00
Util rename project to EliteBGS 2021-11-10 21:24:39 +01:00
.gitattributes Add .gitignore and .gitattributes. 2021-07-09 11:03:28 +02:00
.gitignore Add .gitignore and .gitattributes. 2021-07-09 11:03:28 +02:00
App.config Add project files. 2021-07-09 11:03:30 +02:00
App.xaml rename project to EliteBGS 2021-11-10 21:24:39 +01:00
App.xaml.cs rename project to EliteBGS 2021-11-10 21:24:39 +01:00
CombatZoneDialog.xaml some more de-NONA-fication 2021-11-11 17:42:59 +01:00
CombatZoneDialog.xaml.cs rename project to EliteBGS 2021-11-10 21:24:39 +01:00
EliteBGS.csproj some more de-NONA-fication 2021-11-11 17:42:59 +01:00
EliteBGS.ico some more de-NONA-fication 2021-11-11 17:42:59 +01:00
EliteBGS.sln rename project to EliteBGS 2021-11-10 21:24:39 +01:00
LICENCE.txt add licence file 2021-08-13 10:12:08 +02:00
logo_v4.png some more de-NONA-fication 2021-11-11 17:42:59 +01:00
main-entries.png update screenshots with new button 2021-09-28 14:52:22 +02:00
main-objectives.png update screenshots with new button 2021-09-28 14:52:22 +02:00
main-report.png add readme 2021-08-13 09:56:16 +02:00
MainWindow.xaml some more de-NONA-fication 2021-11-11 17:42:59 +01:00
MainWindow.xaml.cs change to a more generic bgs logger 2021-11-10 21:51:34 +01:00
packages.config add autocompletion for system names 2021-07-09 14:40:27 +02:00
ProgressDialog.xaml some more de-NONA-fication 2021-11-11 17:42:59 +01:00
ProgressDialog.xaml.cs rename project to EliteBGS 2021-11-10 21:24:39 +01:00
README.md some more de-NONA-fication 2021-11-11 17:42:59 +01:00
Resources.Designer.cs some more de-NONA-fication 2021-11-11 17:42:59 +01:00
Resources.resx some more de-NONA-fication 2021-11-11 17:42:59 +01:00

EliteBGS

This tool is meant to help people contributing to the BGS effort to create BGS reports. The tool allows you to configure BGS objectives, and will then parse your player journal for tasks you completed relating to that BGS objective. Once the JSON player journal has been parsed, you may then generate a BGS report discord logs.

Source code is available here.

Binary downloads can be found here: https://bgs.n0la.org/.

How To

Main Window Objectives

Use the main tab to add objectives to the program. To do this, insert the system name, faction, and, optionally, a station. Then press "Add Objective". Objectives can be deleted by selecting them and pressing the "DEL" key.

Once you have your objectives have been configured, you can press "Parse Journal", which will check your Elite Dangerous player journal for completed missions. Currently the tool recognises the following completed tasks:

  • Completed missions
  • Vouchers, including bounty vouchers, combat bonds, and settlement vouchers (aka intel packages)
  • Selling of micro resources (Odyssey only)
  • Selling cartography data
  • Selling of cargo to stations

Please note that cartography data, and micro resources only help the controlling faction of a station. The tool is clever enough to exclude these if the station you turn them in at, is not controlled by the faction you specified in the objective.

There is no entry in the journal if you win a combat zone. So you have to add those manually. Select an objective for which you wish to log a combat zone. The faction in the objective, must be the faction you fought for in the combat zone. Then click "Add Combat Zone Win". Select type, either "On Foot" for Odyssey, or "Ship" for regular ones. Then select the grade (low, medium or high), and how many you won. Then press "Accept". Select "Cancel" to abort. You can of course remove the combat zone entries by selecting them, and pressing "DEL".

Main Window with entries

The window will then list all the journal entries it has found, and group them by objectives. You can remove individual entries (if you think the tool detected soemthing you thought was wrong), by selecting the entry, and pressing the "DEL" key.

Once you are satisfied with the result, move to "Discord Report" tab, and click "Generate Report".

Generated Report

Before you copy/paste it into the discord of your squadron, you should check the log. You can of course edit it, if something is wrong or the tool itself missed something.

Known Issues and Bugs

Settlement vouchers (aka Intel Packages) help every faction aligned with the given superpower. So if you turn in an Imperial intel package on an imperial station, all factions aligned with the Empire will gain a bit of INF boost. The tool currently cannot handle that. All intel packages are displayed instead.

Sometimes bounty vouchers are not properly recognised. This is a bug in the player journal, where the faction information is not properly written out in the journal:

{ 
  "timestamp":"2021-10-07T14:57:50Z", "event":"RedeemVoucher", 
  "Type":"bounty", "Amount":20750, 
  "Factions":[ { "Faction":"", "Amount":500 }, { "Faction":"", "Amount":20250 }]
}

Since the tool does not know for which faction these bounties were redeemed for, it cannot assign it to an objective.

The player journal currently does not make an entry when you win or lose a combat zone. This is a an ommission from FDev:

Please upvote the issue to get it fixed. Until then, you have to add combat zone wins manually.

Also missions accepted from NPCs in Odyssey concourses do not get a player journal entry. This is also an ommission from FDev:

Until this is fixed, please edit the resulting BGS log text, and manually add such entries.

Use EDDB information

EliteBGS can download information from EDDB to auto complete system- and station names. You can enable its use in the "Settings". Once enabled, you must also press "Download", to download and process the current version of the EDDB database.

Please note that the database is rather large (>200 MB), and processing it takes some time. It is best if you don't use this feature if you are on a slow or metered internet connection.

Nothing's Perfect

The tool itself is still a work in progress, and it might miss something. If you think the tool missed a task you have done, please contact Hekateh on the Elite Dangerous community discord. It would be helpful if you included the JSON player journal. This player journal can be found here:

%userprofile%\saved Games\Frontier Developments\Elite Dangerous\

Build Dependencies

Handling of Elite Dangerous player journals have been moved to a separate project called EDJournal. Its source can be found here. This project simply depends on the binary DLL that EDJournal builds.

The project also requires Ookii.Dialogs.WPF controls, which contains the auto complete text box.

And of course, Newtonsoft.Json as the JSON parser.

About

This tool was made by CMDR Hekateh (Discord: nola#2457) of Vulcan Industrial Ventures.

Long live the Empire.