EDCD / EDDI

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

Mission monitor interprets mission name suffixes / modifiers as system states #890

Closed rodan123 closed 5 years ago

rodan123 commented 6 years ago

EDDI version in which issue found

3.1-b3

Steps to reproduce

Examine log entries

Expected

No odd entries

Observed

Odd localization lookup failures logged as [Info] Are these values even localized and what is blops?

018-10-27T21:46:07 [Info] ResourceBasedLocalizedEDName:FromEDName Unknown ED name illegal in resource EddiDataDefinitions.Properties.SystemStates

2018-10-27T21:46:07 [Info] ResourceBasedLocalizedEDName:FromEDName Unknown ED name blops in resource EddiDataDefinitions.Properties.SystemStates

2018-10-27T23:07:51 [Info] ResourceBasedLocalizedEDName:FromEDName Unknown ED name paint in resource EddiDataDefinitions.Properties.Modules

Investigation

Doesn't seem to affect gameplay. Just an FYI that something isn't quite correct,

Tkael commented 6 years ago

EDDI encountered names for which it doesn't have a localizable value. Unfortunately, the log currently isn't very clear about where it encountered those names and I have no idea what blops is. :-) paint is easy enough... that's probably from a repair where you refreshed your paintjob. (got it, PR #899) The other two have the same timestamp - do you have an entry in your journal at around that timestamp which includes the word blops?

rodan123 commented 6 years ago

I searched the journal, and this is what came back for 'blops'

{ .., "Name":"Mission_Assassinate_Illegal_BLOPS", "LocalisedName":"Wetwork contract", "TargetType":"$MissionUtil_FactionTag_Politician;", "TargetType_Localised":"Politician", ... }

So the [Info] Unknown ED name entries are to be expected and it's not EDDI saying it failed on a lookup. Thanks, can close this issue then.

Tkael commented 6 years ago

I've also found a few. My hypothesis is that blops is an abbreviation for black ops and that this error is originating from MissionMonitor.cs line 608, which attempts to parse the mission name and is trying to parse that portion of the mission name as a state.

{ "timestamp":"2018-03-24T00:58:15Z", "event":"MissionAccepted", "Faction":"Revolutionary Party of Diaguandri", "Name":"Mission_Assassinate_Illegal_BLOPS_Election", "LocalisedName":"Political Statement", "TargetType":"$MissionUtil_FactionTag_Politician;", "TargetType_Localised":"Politician", "TargetFaction":"Movement for Balante Unionists", "DestinationSystem":"Balante", "DestinationStation":"Laplace Ring", "Target":"$MissionUtil_Settlement_Target_Radar;", "Target_Localised":"Comms Array", "Target":"Lowtax", "Expiry":"2018-03-25T00:40:40Z", "Wing":false, "Influence":"Med", "Reputation":"Med", "Reward":1118286, "MissionID":352747639 }
{ "timestamp":"2018-03-22T05:02:55Z", "event":"MissionAccepted", "Faction":"Revolutionary Party of Diaguandri", "Name":"Mission_Massacre_Illegal_BLOPS_Elections", "LocalisedName":"Covert elections combat operation", "TargetType":"$MissionUtil_FactionTag_Citizen;", "TargetType_Localised":"Civilians", "TargetFaction":"Balante Democrats", "KillCount":48, "DestinationSystem":"Balante", "DestinationStation":"Laplace Ring", "Expiry":"2018-03-23T23:42:26Z", "Wing":false, "Influence":"Med", "Reputation":"Med", "Reward":10350756, "MissionID":351354392 }
{ "timestamp":"2018-03-22T05:00:57Z", "event":"MissionAccepted", "Faction":"Diaguandri Interstellar", "Name":"Mission_Massacre_Illegal_BLOPS", "LocalisedName":"Spec ops contract", "TargetType":"$MissionUtil_FactionTag_Citizen;", "TargetType_Localised":"Civilians", "TargetFaction":"Balante Flag", "KillCount":24, "DestinationSystem":"Balante", "DestinationStation":"Laplace Ring", "Expiry":"2018-03-23T14:43:16Z", "Wing":false, "Influence":"Med", "Reputation":"Med", "Reward":4381812, "MissionID":351353934 }
Tkael commented 6 years ago

A complete list of mission names from my log. Note that system state appears to be appended near to (but not always at) the end of various mission names.

 "Chain_HelpFinishTheOrder"
 "Chain_PlanetaryIncursions"
 "Chain_RegainFooting"
 "Chain_WrongTarget"
 "Mission_Altruism"
 "Mission_AltruismCredits"
 "Mission_AltruismCredits_Bust"
 "Mission_AltruismCredits_CivilUnrest"
 "Mission_AltruismCredits_Famine"
 "Mission_AltruismCredits_Outbreak"
 "Mission_Assassinate"
 "Mission_Assassinate_Illegal_BLOPS"
 "Mission_Assassinate_Illegal_BLOPS_CivilUnrest"
 "Mission_Assassinate_Illegal_BLOPS_Election"
 "Mission_Assassinate_Illegal_BLOPS_Industrial"
 "Mission_Assassinate_Illegal_BLOPS_Industrial_name"
 "Mission_Assassinate_Illegal_BLOPS_name"
 "MISSION_assassinate_legal_CivilUnrest"
 "Mission_Assassinate_Legal_CivilWar"
 "Mission_Assassinate_Legal_Corporate"
 "Mission_Assassinate_Legal_War"
 "Mission_Assassinate_Planetary"
 "Mission_Assassinate_RankFed"
 "Mission_AssassinateWing"
 "MISSION_assassinateWing_legal_CivilUnrest"
 "Mission_AssassinateWing_Legal_Corporate"
 "Mission_AssassinateWing_Legal_War"
 "Mission_Collect"
 "Mission_Collect_CivilWar"
 "Mission_Collect_Famine"
 "Mission_Collect_Industrial"
 "MISSION_Collect_RankEmp"
 "Mission_CollectWing"
 "Mission_CollectWing_CivilWar"
 "Mission_CollectWing_Industrial"
 "Mission_Courier"
 "Mission_Courier_Boom"
 "Mission_Courier_CivilUnrest"
 "Mission_Courier_CivilWar"
 "Mission_Courier_Democracy"
 "Mission_Courier_Elections"
 "Mission_Courier_Expansion"
 "Mission_Courier_Famine"
 "Mission_Courier_Lockdown"
 "Mission_Courier_RankEmp"
 "Mission_Courier_RankFed"
 "Mission_Courier_War"
 "Mission_Delivery"
 "Mission_Delivery_Agriculture"
 "Mission_Delivery_Boom"
 "Mission_Delivery_CivilUnrest"
 "Mission_Delivery_Confederacy"
 "Mission_Delivery_Cooperative"
 "Mission_Delivery_Democracy"
 "Mission_Delivery_Founder"
 "MISSION_Disable_BLOPS"
 "Mission_Disable_BLOPS_CivilUnrest"
 "Mission_Disable_BLOPS_CivilUnrest_name"
 "Mission_Disable_BLOPS_CivilWar"
 "Mission_Disable_BLOPS_CivilWar_name"
 "MISSION_Disable_BLOPS_name"
 "Mission_Disable_CivilUnrest"
 "Mission_Disable_CivilWar"
 "Mission_DS_Collect"
 "Mission_DS_PassengerBulk"
 "MISSION_genericPermit1"
 "Mission_Hack_BLOPS_CivilUnrest"
 "Mission_Hack_BLOPS_CivilUnrest_name"
 "Mission_Hack_BLOPS_CivilWar"
 "Mission_LongDistanceExpedition_Explorer_Boom"
 "Mission_Massacre"
 "Mission_Massacre_Conflict_CivilWar"
 "Mission_Massacre_Conflict_War"
 "Mission_Massacre_Illegal_BLOPS"
 "Mission_Massacre_Illegal_BLOPS_Elections"
 "Mission_Massacre_Illegal_BLOPS_name"
 "Mission_Massacre_Legal_CivilUnrest"
 "Mission_Massacre_RankFed"
 "Mission_Massacre_Skimmer_CivilUnrest"
 "Mission_Massacre_Skimmer_Corporation"
 "Mission_Massacre_Skimmer_Expansion"
 "Mission_Massacre_Skimmer_Refinery"
 "Mission_MassacreWing"
 "Mission_PassengerBulk"
 "Mission_PassengerBulk_AIDWORKER_ARRIVING"
 "Mission_PassengerBulk_AIDWORKER_LEAVING"
 "Mission_PassengerBulk_BUSINESS_ARRIVING"
 "Mission_PassengerBulk_BUSINESS_LEAVING"
 "Mission_PassengerBulk_MEDICAL_ARRIVING"
 "Mission_PassengerBulk_PRISONEROFWAR_LEAVING"
 "Mission_PassengerBulk_PROTESTOR_ARRIVING"
 "Mission_PassengerBulk_REBEL_ARRIVING"
 "Mission_PassengerBulk_REFUGEE_LEAVING"
 "Mission_PassengerBulk_SECURITY_ARRIVING"
 "Mission_PassengerVIP"
 "Mission_PassengerVIP_Doctor_WAR"
 "Mission_PassengerVIP_Explorer_EXPANSION"
 "Mission_PassengerVIP_Terrorist_CIVILUNREST"
 "Mission_PassengerVIP_Terrorist_OUTBREAK"
 "Mission_PassengerVIP_Tourist_BOOM"
 "Mission_Piracy_BLOPS_Famine"
 "Mission_Piracy_RankEmp"
 "Mission_Rescue"
 "Mission_Rescue_CivilUnrest"
 "Mission_Rescue_Elections"
 "Mission_Rescue_Planet"
 "Mission_Salvage"
 "MISSION_Salvage_CivilUnrest"
 "MISSION_Salvage_CivilWar"
 "MISSION_Salvage_Illegal"
 "Mission_Salvage_Planet"
 "MISSION_Salvage_Refinery"
 "MISSION_Scan"
 "Mission_Scan_CivilUnrest"
 "Mission_Scan_CivilWar"
 "Mission_Scan_Lockdown"
 "Mission_Sightseeing"
 "Mission_Sightseeing_CEO_BOOM"
 "Mission_Sightseeing_CEO_EXPANSION"
 "Mission_Sightseeing_Criminal_BOOM"
 "Mission_Sightseeing_Criminal_CIVILWAR"
 "Mission_Sightseeing_Explorer_EXPANSION"
 "Mission_Sightseeing_Tourist_BOOM"
 "Mission_Sightseeing_Tourist_EXPANSION"
 "Mission_Smuggle_BLOPS_CivilWar"
 "Mission_Smuggle_BLOPS_Extraction"
 "Mission_Smuggle_BLOPS_Extraction_name"
 "Mission_Smuggle_BLOPS_Famine"
 "Mission_Smuggle_BLOPS_Famine_name"
 "Mission_Smuggle_Boom"
 "MISSION_Smuggle_Bust"
 "Mission_Smuggle_Famine"
 "Mission_Smuggle_RankEmp"
 "Mission_Smuggle_RankFed"
Tkael commented 6 years ago

I've asked @Hoodathunk to review mission monitor parsing. We shouldn't see errors every time a suffix is appended onto a mission that isn't a FactionState, and there seems to be information here we are not capturing fully.

Tkael commented 5 years ago

MissionTypeReview.xlsx

Hoodathunk commented 5 years ago

Fixed in 3.1-b3.