add a mkdocs based website
This commit is contained in:
parent
9329c1d17a
commit
678ca39b44
3
.gitignore
vendored
3
.gitignore
vendored
@ -360,4 +360,5 @@ MigrationBackup/
|
||||
.ionide/
|
||||
|
||||
# Fody - auto-generated XML schema
|
||||
FodyWeavers.xsd
|
||||
FodyWeavers.xsd
|
||||
/site
|
||||
|
@ -171,22 +171,33 @@
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<None Include="docs\faq.md" />
|
||||
<None Include="docs\index.md" />
|
||||
<None Include="mkdocs.yml" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="README.md">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="docs\description.md" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="main-objectives.png">
|
||||
<Content Include="docs\main-objectives.png" />
|
||||
<Resource Include="main-entries.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
</Resource>
|
||||
<Resource Include="main-objectives.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
<Resource Include="main-report.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Resource>
|
||||
<None Include="README.md">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
<None Include="TestData\Mission-NoInfForSourceOrTarget.txt" />
|
||||
<None Include="TestData\NoFactionName-AndNoInfluence.txt" />
|
||||
<None Include="TestData\Mission-Failed.txt" />
|
||||
@ -197,19 +208,15 @@
|
||||
<None Include="TestData\Double-5-Inf.txt" />
|
||||
<None Include="TestData\SameInfTwice-Log.txt" />
|
||||
<None Include="TestData\SameInfTwice.txt" />
|
||||
<None Include="CHANGELOG.md">
|
||||
<None Include="docs\CHANGELOG.md">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="main-entries.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="docs\main-entries.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="main-report.png">
|
||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||
</Content>
|
||||
<Content Include="docs\main-report.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="LICENCE.txt">
|
||||
@ -227,5 +234,6 @@
|
||||
<ItemGroup>
|
||||
<Resource Include="EliteBGS.ico" />
|
||||
</ItemGroup>
|
||||
<ItemGroup />
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
</Project>
|
242
docs/description.md
Normal file
242
docs/description.md
Normal file
@ -0,0 +1,242 @@
|
||||
# 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 you can copy/paste into Discord.
|
||||
|
||||
Source code is available [here](https://git.aror.org/florian/elitebgs).
|
||||
|
||||
Binary downloads can be found here: [https://bgs.n0la.org/](https://bgs.n0la.org/).
|
||||
|
||||
## How To
|
||||
|
||||
![Main Window Objectives](main-objectives.png)
|
||||
|
||||
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. Manually added objectives like this are
|
||||
enabled by default. You can always enable, and disable an objective by checking the box
|
||||
next to its name. Disabled objectives are not included in the BGS discord log generation.
|
||||
|
||||
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:
|
||||
|
||||
* Buying of cargo from stations (new in Update 10)
|
||||
* Completed missions
|
||||
* Failed missions
|
||||
* Murders
|
||||
* Search and Rescue contributions
|
||||
* Selling cartography data
|
||||
* Selling of cargo to stations
|
||||
* Selling of micro resources (Odyssey only)
|
||||
* Selling of organic data (Odyssey only)
|
||||
* Vouchers, including bounty vouchers, combat bonds, and settlement vouchers (aka intel packages)
|
||||
|
||||
Vouchers help the faction that is listed for them. If said faction is not present in the
|
||||
current system, then there is no BGS impact. So the tool looks for all system factions, and
|
||||
makes sure that your vouchers actually have a BGS impact, otherwise it won't list them.
|
||||
|
||||
Selling cargo attempts to discern the profit and/or loss, which is helpful to gauge BGS
|
||||
impact. But the player journal does not tell the amount of profit in the sell message.
|
||||
So the tool looks for a buy a message related to the same commodity, and calculates loss
|
||||
and/or profit from that. If the buy of the commodity is not within the time and date range,
|
||||
or some other shenanigans happen that the tool does not yet support, the profit/loss could
|
||||
be wrong. You can use the "Adjust Trade Profit" button to manually adjust the trade profit,
|
||||
or you could simply edit the discord log manually.
|
||||
|
||||
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.
|
||||
|
||||
Some missions may show up having zero influence for the given faction. This happens if you do
|
||||
missions for a faction which is currently in an election state. You do not gain influence for
|
||||
the faction so the influence reads as zero. But you contribute towards the election, so the
|
||||
missions are selected anyway.
|
||||
|
||||
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".
|
||||
|
||||
If you deliberately fail a mission (to log negative INF towards a faction), the tool cannot detect
|
||||
it, if the day you accepted the mission is outside of the given date range. It needs the journal
|
||||
entry where you accept the mission to connect the mission to a faction, system and station. The tool
|
||||
will warn you if this happens, with a message in the error log in the fourth tab.
|
||||
|
||||
When committing murder, the journal entry contains the faction information of the faction that gave
|
||||
you the bounty. And not the faction of the victim. The tool will look for an event in which you
|
||||
scanned your victim, and gleem the victim's faction from that. If you did not scan your victim, then
|
||||
sadly the tool cannot connect the victim's faction to the victim.
|
||||
|
||||
![Main Window with entries](main-entries.png)
|
||||
|
||||
The window will then list all the journal entries it has found, and group them by objectives. You
|
||||
can select which objectives you wish to report, by using the checkmarks.
|
||||
|
||||
You can exclude a specific entry within an objective by deselecting the checkbox next to them.
|
||||
This way said entry will not appear in the final log. You can also remove individual entries
|
||||
(if you think the tool detected something 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, select a template, and click
|
||||
"Generate Report".
|
||||
|
||||
![Generated Report](main-report.png)
|
||||
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
### Bugged bounty vouchers
|
||||
|
||||
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.
|
||||
|
||||
### Combat Zones
|
||||
|
||||
The player journal currently does not make an entry when you win or lose a combat zone. This is a
|
||||
an ommission from FDev:
|
||||
|
||||
* [https://issues.frontierstore.net/issue-detail/43509](https://issues.frontierstore.net/issue-detail/43509)
|
||||
|
||||
Please upvote the issue to get it fixed. Until then, you have to add combat zone wins manually.
|
||||
|
||||
### On-Foot NPC givers
|
||||
|
||||
Up until update 13 missions accepted from NPCs in Odyssey concourses do not get a player journal entry.
|
||||
This has been fixed in update 13. Any on foot missions from NPCs accepted before update 13, do not have
|
||||
an entry in the player journal.
|
||||
|
||||
### Failed vs. Abandoned Missions
|
||||
|
||||
The tool also currently cannot differentiate between missions you have abandoned in the transaction
|
||||
tab before it was completed, and those that you have failed - either delibaretly or by time-out. So
|
||||
it will find and add them all, and you simply can remove those that you have abandoned manually.
|
||||
|
||||
### Influence given to empty/non-existent faction
|
||||
|
||||
Sometimes the log will state that it gave positive or negative influence to a faction, but the
|
||||
faction name is empty:
|
||||
|
||||
```
|
||||
"FactionEffects": [
|
||||
{
|
||||
"Faction": "",
|
||||
"Effects": [
|
||||
{
|
||||
"Effect": "$MISSIONUTIL_Interaction_Summary_EP_down;",
|
||||
"Effect_Localised": "The economic status of $#MinorFaction; has declined in the $#System; system.",
|
||||
"Trend": "DownBad"
|
||||
}
|
||||
],
|
||||
"Influence": [
|
||||
{
|
||||
"SystemAddress": 251012319587,
|
||||
"Trend": "DownBad",
|
||||
"Influence": "+"
|
||||
}
|
||||
],
|
||||
"ReputationTrend": "DownBad",
|
||||
"Reputation": "+"
|
||||
}
|
||||
]
|
||||
```
|
||||
This happens for example if you do a scan/heist mission from a surface POI, but no one owns said
|
||||
surface POI. Randomly generated surface POIs sometimes have no owner, and said non-existant owner
|
||||
then gets the negative influence.
|
||||
|
||||
### Mission Completed but no one gains influence
|
||||
|
||||
Sometimes missions are completed but no one gains any influence:
|
||||
|
||||
```
|
||||
{
|
||||
"timestamp": "2022-02-25T21:30:45Z",
|
||||
"event": "MissionCompleted",
|
||||
"Faction": "Social LHS 6103 Confederation",
|
||||
"Name": "Mission_Courier_Elections_name",
|
||||
"MissionID": 850025233,
|
||||
"TargetFaction": "Delphin Blue Federal PLC",
|
||||
"DestinationSystem": "Delphin",
|
||||
"DestinationStation": "Aristotle Orbital",
|
||||
"Reward": 122300,
|
||||
"FactionEffects": [
|
||||
{
|
||||
"Faction": "Social LHS 6103 Confederation",
|
||||
"Effects": [
|
||||
{
|
||||
"Effect": "$MISSIONUTIL_Interaction_Summary_EP_up;",
|
||||
"Effect_Localised": "The economic status of $#MinorFaction; has improved in the $#System; system.",
|
||||
"Trend": "UpGood"
|
||||
}
|
||||
],
|
||||
"Influence": [],
|
||||
"ReputationTrend": "UpGood",
|
||||
"Reputation": "+"
|
||||
},
|
||||
{
|
||||
"Faction": "Delphin Blue Federal PLC",
|
||||
"Effects": [],
|
||||
"Influence": [],
|
||||
"ReputationTrend": "UpGood",
|
||||
"Reputation": "+"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
Here the is known that at the time of completion the Confederation was in an Election and could not
|
||||
have gained any influence regardless. It is unclear whether this also holds true for Delphin Blue
|
||||
Federal PLC. So to be save, the tool assumes that if no influence was gained for the source faction,
|
||||
it still has to make an entry for the source system. The same applies for the target faction: if no
|
||||
influence is gained for the target faction, still add an entry for the target faction in the missions
|
||||
target system.
|
||||
|
||||
Since it is not possible to differentiate between missions that give no influence no matter what, and
|
||||
no influence gained because of an election, we have to assume it *gave* influence and let the user
|
||||
decide whether it was because of an election, or not.
|
||||
|
||||
Future tool versions should probably take faction states into account in such matters.
|
||||
|
||||
## 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](https://git.aror.org/florian/edjournal). 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.
|
94
docs/faq.md
Normal file
94
docs/faq.md
Normal file
@ -0,0 +1,94 @@
|
||||
## FAQ
|
||||
|
||||
Most frequently asked questions:
|
||||
|
||||
### Windows complains that it does not wish to run the application, what gives?
|
||||
|
||||
The tool contains no viruses, but it is not seen as "trustworthy". You can however
|
||||
right-click EliteBGS.exe and "Unblock" the application.
|
||||
|
||||
### Does this work for console players?
|
||||
|
||||
Sorry, no. Console players don't have a player journal per se, and the tool does
|
||||
not support Frontier Commander API.
|
||||
|
||||
### Why won't the tool start anymore?
|
||||
|
||||
Open the file explorer, and go to the path `%AppData%`. Once there, delete the
|
||||
folder called `EliteBGS` to delete the tool's configuration and cache. If it
|
||||
still doesn't work, contact me directly.
|
||||
|
||||
### I pressed 'Download Data' and it is hanging now and won't respond. Help?
|
||||
|
||||
Go and delete the `EliteBGS` folder as described above to undo that action.
|
||||
Also please upgrade to version 0.1.3, where this feature was removed for
|
||||
exactly this reason.
|
||||
|
||||
### Why is it unable to find my player journal?
|
||||
|
||||
Usually your player journal lives in the Saved Games folder in your home
|
||||
directory. If, for some reason, this doesn't match up, you can point the
|
||||
tool towards your player journal in the third tab.
|
||||
|
||||
### Why do some of the objective not show up in the final discord log?
|
||||
|
||||
Only objectives with the little checkbox enabled show up there. Those
|
||||
that the tool generates by itself are not enabled per default.
|
||||
|
||||
### Can I delete an objective or an entry?
|
||||
|
||||
Click on an objective or entry and press the Delete key.
|
||||
|
||||
### I deleted something I didn't want to. What now?
|
||||
|
||||
Just press "Parse Journal" again, and the tool will generate all
|
||||
the entries again.
|
||||
|
||||
### What are micro resources?
|
||||
|
||||
Odyssey cargo that you sell at the bartender. Just like normal cargo,
|
||||
they aid the controlling faction of the station where you sold them.
|
||||
|
||||
### Why are missions accepted in a concourse or in a settlement from an NPC missing?
|
||||
|
||||
Because up until Update 13, they did not show up in player journal. This should
|
||||
now be fixed.
|
||||
|
||||
### Some mission names are weird. What gives?
|
||||
|
||||
That's because the tool uses the game generated mission name, if it doesn't
|
||||
have a clean and nice mission name on file for the certain mission type. The
|
||||
fourth tab "Event Log" should have an entry about it, so please post those
|
||||
names into this channel.
|
||||
|
||||
### Some missions say they have 0 influence?
|
||||
|
||||
That happens for missions that aid an Election. The faction in question does
|
||||
not gain influence during an election, as influence is locked during conflicts.
|
||||
But since you are contributing towards the election win of that faction,
|
||||
the tool picks them anyway.
|
||||
|
||||
### Why are some failed missions not showing up?
|
||||
|
||||
The time span you specify must include the day where you accepted the mission,
|
||||
as well as the day where you failed the mission. Otherwise the tool cannot handle
|
||||
that failed mission.
|
||||
|
||||
### The tool complains about missing factions for an NPC I murdered.
|
||||
|
||||
The player journal only tells the faction that issued the bounty upon murder, and
|
||||
not the faction of the NPC killed. The tool has to fetch that from you scanning the
|
||||
hip. If you didn't fully scan the ship before murdering it, the tool won't know
|
||||
the faction of the NPC.
|
||||
|
||||
### Why does cartography data, and sold cargo show up for the wrong faction, but for the right station/system?
|
||||
|
||||
Because they only aid the controlling faction of the station.
|
||||
|
||||
### Why are some of my bounty vouchers missing?
|
||||
|
||||
Sometimes, due to a bug, the bounty vouchers in the journal have no faction information
|
||||
associated with them. Here the tool simply cannot associate the vouchers to a faction
|
||||
or station. If you are sure they aided in BGS, simply add them by editing the Discord
|
||||
report.
|
||||
|
69
docs/index.md
Normal file
69
docs/index.md
Normal file
@ -0,0 +1,69 @@
|
||||
# EliteBGS
|
||||
|
||||
EliteBGS is a Windows desktop application, that helps you sum up your BGS related actions.
|
||||
It then creates a report from your actions, so you can post it your Squadron's discord.
|
||||
|
||||
## Origins
|
||||
|
||||
The tool originated from the [Nova Navy](https://inara.cz/elite/squadron/5058/), which required
|
||||
BGS contributions to be posted to the Navy's discord, in a very specific format. Writing those
|
||||
logs manually was a lot of work, so CMDR Hekateh created a tool to automate this process.
|
||||
|
||||
## Overview
|
||||
|
||||
EliteBGS reads through your player journal for BGS relevant activity, and sorts them into
|
||||
"categories". These are based upon the star system, station and the faction for which the
|
||||
action was taken. So for example if you contributed bounty vouchers for Nova Paresa in
|
||||
Paresa, but also did some missions for Nova Paresa in Adachit, those actions will be
|
||||
split into two categories.
|
||||
|
||||
You can then select which of the two actions goes into the final log.
|
||||
|
||||
### What it detects:
|
||||
|
||||
* Buying of cargo from stations (BGS relevant since Update 10)
|
||||
* Completed missions
|
||||
* Failed missions
|
||||
* Murders
|
||||
* Search and Rescue contributions
|
||||
* Selling cartography data
|
||||
* Selling of cargo to stations
|
||||
* Selling of micro resources (Odyssey only)
|
||||
* Selling of organic data (Odyssey only)
|
||||
* Vouchers, including bounty vouchers, combat bonds, and settlement vouchers (aka intel packages)
|
||||
|
||||
### What it does not detect:
|
||||
|
||||
* Combat zone wins, and its objectives
|
||||
* Megaship scenarios
|
||||
* On foot missions accepted by NPCs in stations (pre Update 13)
|
||||
* Murders of NPCs you haven't fully scanned
|
||||
|
||||
## Open Source
|
||||
|
||||
The tool itself is Open Source, licenced unter the GPLv3.
|
||||
|
||||
The source code can be found here:
|
||||
|
||||
* [https://git.aror.org/florian/EliteBGS](https://git.aror.org/florian/EliteBGS)
|
||||
|
||||
It requires a separate library, called EDJournal, which is also open source:
|
||||
|
||||
* [https://git.aror.org/florian/edjournal](https://git.aror.org/florian/edjournal)
|
||||
|
||||
## Downloads
|
||||
|
||||
The latest version of EliteBGS **0.1.5** is available for download here:
|
||||
|
||||
* [https://bgs.n0la.org/elitebgs-0.1.5.zip](https://bgs.n0la.org/elitebgs-0.1.5.zip)
|
||||
|
||||
Older versions are available in the archive:
|
||||
|
||||
* [https://bgs.n0la.org/archive/](https://bgs.n0la.org/archive/)
|
||||
|
||||
## Contact
|
||||
|
||||
I can be reached over discord: `nola#2457`
|
||||
|
||||
Or by joining either the [Salus Invicta](https://discord.com/invite/FeEtjqBRkg) or the
|
||||
[Nova Navy](https://discord.gg/WEJeFQw) discord.
|
BIN
docs/main-entries.png
Normal file
BIN
docs/main-entries.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 81 KiB |
BIN
docs/main-objectives.png
Normal file
BIN
docs/main-objectives.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
BIN
docs/main-report.png
Normal file
BIN
docs/main-report.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
14
mkdocs.yml
Normal file
14
mkdocs.yml
Normal file
@ -0,0 +1,14 @@
|
||||
site_name: EliteBGS
|
||||
|
||||
markdown_extensions:
|
||||
- pymdownx.snippets:
|
||||
check_paths: true
|
||||
|
||||
theme:
|
||||
name: lumen
|
||||
|
||||
nav:
|
||||
- Overview: 'index.md'
|
||||
- "Detailed Description": 'description.md'
|
||||
- FAQ: 'faq.md'
|
||||
- Changelog: 'CHANGELOG.md'
|
Loading…
Reference in New Issue
Block a user