lay ground work for supporting thargoid combat zones

This commit is contained in:
2022-12-03 14:33:09 +01:00
parent 8d72808fbf
commit 914aa43d33
4 changed files with 65 additions and 47 deletions

View File

@@ -57,7 +57,7 @@ internal class TransactionParserContext {
public Dictionary<string, long> BuyCost = new();
public void DiscernCombatZone(TransactionList transactions, Entry e) {
string grade = CombatZone.DifficultyLow;
string grade = CombatZones.DifficultyLow;
string cztype;
ulong? highest = HighestCombatBond;
@@ -66,40 +66,40 @@ internal class TransactionParserContext {
}
if (OnFootKills > 0) {
cztype = CombatZone.GroundCombatZone;
cztype = CombatZones.GroundCombatZone;
// High on foot combat zones have enforcers that bring 80k a pop
if (highest >= 80000) {
grade = CombatZone.DifficultyHigh;
grade = CombatZones.DifficultyHigh;
} else if (highest >= 40000) {
grade = CombatZone.DifficultyMedium;
grade = CombatZones.DifficultyMedium;
} else {
grade = CombatZone.DifficultyLow;
grade = CombatZones.DifficultyLow;
}
} else if (ShipKills > 0) {
// Ship combat zones can be identified by the amount of kills
if (ShipKills > 20) {
grade = CombatZone.DifficultyHigh;
grade = CombatZones.DifficultyHigh;
} else if (ShipKills > 10) {
grade = CombatZone.DifficultyMedium;
grade = CombatZones.DifficultyMedium;
}
// Cap ship, means a high conflict zone
if (HaveSeenCapShip) {
grade = CombatZone.DifficultyHigh;
grade = CombatZones.DifficultyHigh;
} else {
int warzoneNpcs = new List<bool>() { HaveSeenCaptain, HaveSeenCorrespondent, HaveSeenSpecOps }
.Where(x => x == true)
.Count()
;
if (warzoneNpcs >= 2 && grade != CombatZone.DifficultyHigh) {
if (warzoneNpcs >= 2 && grade != CombatZones.DifficultyHigh) {
// Only large combat zones have two NPCs
grade = CombatZone.DifficultyHigh;
} else if (warzoneNpcs >= 1 && grade == CombatZone.DifficultyLow) {
grade = CombatZone.DifficultyMedium;
grade = CombatZones.DifficultyHigh;
} else if (warzoneNpcs >= 1 && grade == CombatZones.DifficultyLow) {
grade = CombatZones.DifficultyMedium;
}
}
cztype = CombatZone.ShipCombatZone;
cztype = CombatZones.ShipCombatZone;
} else {
transactions.AddIncomplete(new CombatZone(), "Failed to discern combat zone type");
return;