public JournalEngineerContribution(JObject evt) : base(evt, JournalTypeEnum.EngineerContribution) { Engineer = evt["Engineer"].Str(); EngineerID = evt["EngineerID"].LongNull(); Type = evt["Type"].Str(); if (Type.Equals("Commodity") || Type.Equals("Materials") || Type.Equals("Credits") || Type.Equals("Bond") || Type.Equals("Bounty")) { unknownType = false; } else { unknownType = true; } Commodity = evt["Commodity"].Str(); Commodity = JournalFieldNaming.FDNameTranslation(Commodity); // pre-mangle to latest names, in case we are reading old journal records FriendlyCommodity = MaterialCommodityData.GetNameByFDName(Commodity); Commodity_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Commodity_Localised"].Str(), FriendlyCommodity); Material = evt["Material"].Str(); Material = JournalFieldNaming.FDNameTranslation(Material); // pre-mangle to latest names, in case we are reading old journal records FriendlyMaterial = MaterialCommodityData.GetNameByFDName(Material); Material_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Material_Localised"].Str(), FriendlyMaterial); Quantity = evt["Quantity"].Int(); TotalQuantity = evt["TotalQuantity"].Int(); }
public JournalMiningRefined(JObject evt) : base(evt, JournalTypeEnum.MiningRefined) { Type = JournalFieldNaming.FixCommodityName(evt["Type"].Str()); // instances of $.._name, translate to FDNAME Type = JournalFieldNaming.FDNameTranslation(Type); // pre-mangle to latest names, in case we are reading old journal records FriendlyType = MaterialCommodityData.GetNameByFDName(Type); Type_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Type_Localised"].Str(), FriendlyType); }
public JournalCollectCargo(JObject evt) : base(evt, JournalTypeEnum.CollectCargo) { Type = evt["Type"].Str(); //FDNAME Type = JournalFieldNaming.FDNameTranslation(Type); // pre-mangle to latest names, in case we are reading old journal records FriendlyType = MaterialCommodityData.GetNameByFDName(Type); Type_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Type_Localised"].Str(), FriendlyType); // always ensure we have one Stolen = evt["Stolen"].Bool(); }
public JournalMissionCompleted(JObject evt) : base(evt, JournalTypeEnum.MissionCompleted) { FDName = evt["Name"].Str(); Name = JournalFieldNaming.GetBetterMissionName(FDName); Faction = evt["Faction"].Str(); Commodity = JournalFieldNaming.FixCommodityName(evt["Commodity"].Str()); // evidence of $_name problem, fix to fdname Commodity = JournalFieldNaming.FDNameTranslation(Commodity); // pre-mangle to latest names, in case we are reading old journal records FriendlyCommodity = MaterialCommodityData.GetNameByFDName(Commodity); CommodityLocalised = JournalFieldNaming.CheckLocalisationTranslation(evt["Commodity_Localised"].Str(), FriendlyCommodity); Count = evt["Count"].IntNull(); TargetType = evt["TargetType"].Str(); TargetTypeFriendly = JournalFieldNaming.GetBetterTargetTypeName(TargetType); // remove $, underscores etc TargetTypeLocalised = JournalFieldNaming.CheckLocalisation(evt["TargetTypeLocalised"].Str(), TargetTypeFriendly); // may be empty.. TargetFaction = evt["TargetFaction"].Str(); Target = evt["Target"].Str(); TargetFriendly = JournalFieldNaming.GetBetterTargetTypeName(Target); // remove $, underscores etc TargetLocalised = JournalFieldNaming.CheckLocalisation(evt["Target_Localised"].Str(), TargetFriendly); // copied from Accepted.. no evidence Reward = evt["Reward"].LongNull(); Donation = evt["Donation"].LongNull(); MissionId = evt["MissionID"].Int(); DestinationSystem = evt["DestinationSystem"].Str().Replace("$MISSIONUTIL_MULTIPLE_INNER_SEPARATOR;", ",") .Replace("$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;", ","); // multi missions get this strange list; DestinationStation = evt["DestinationStation"].Str(); PermitsAwarded = evt["PermitsAwarded"]?.ToObjectProtected <string[]>(); // 7/3/2018 journal 16 3.02 CommodityReward = evt["CommodityReward"]?.ToObjectProtected <CommodityRewards[]>(); if (CommodityReward != null) { foreach (CommodityRewards c in CommodityReward) { c.Normalise(); } } MaterialsReward = evt["MaterialsReward"]?.ToObjectProtected <MaterialRewards[]>(); if (MaterialsReward != null) { foreach (MaterialRewards m in MaterialsReward) { m.Normalise(); } } FactionEffects = evt["FactionEffects"]?.ToObjectProtected <FactionEffectsEntry[]>(); // NEEDS TEST }
public JournalSearchAndRescue(JObject evt) : base(evt, JournalTypeEnum.SearchAndRescue) { FDName = evt["Name"].Str(); FDName = JournalFieldNaming.FDNameTranslation(FDName); // some premangling FriendlyName = MaterialCommodityData.GetNameByFDName(FDName); Name_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Name_Localised"].Str(), FriendlyName); // always ensure we have one Count = evt["Count"].Int(); Reward = evt["Reward"].Long(); MarketID = evt["MarketID"].LongNull(); }
public JournalMarketBuy(JObject evt) : base(evt, JournalTypeEnum.MarketBuy) { MarketID = evt["MarketID"].LongNull(); Type = evt["Type"].Str(); // must be FD name Type = JournalFieldNaming.FDNameTranslation(Type); // pre-mangle to latest names, in case we are reading old journal records FriendlyType = MaterialCommodityData.GetNameByFDName(Type); // our translation.. Type_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Type_Localised"].Str(), FriendlyType); // always ensure we have one Count = evt["Count"].Int(); BuyPrice = evt["BuyPrice"].Long(); TotalCost = evt["TotalCost"].Long(); }
public JournalEjectCargo(JObject evt) : base(evt, JournalTypeEnum.EjectCargo) { Type = evt["Type"].Str(); // fdname Type = JournalFieldNaming.FDNameTranslation(Type); // pre-mangle to latest names, in case we are reading old journal records FriendlyType = MaterialCommodityData.GetNameByFDName(Type); Type_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Type_Localised"].Str(), FriendlyType); // always ensure we have one Count = evt["Count"].Int(); Abandoned = evt["Abandoned"].Bool(); PowerplayOrigin = evt["PowerplayOrigin"].Str(); }
public void Normalise() { Name = JournalFieldNaming.FDNameTranslation(Name); FriendlyName = MaterialCommodityData.GetNameByFDName(Name); Name_Localised = JournalFieldNaming.CheckLocalisationTranslation(Name_Localised ?? "", FriendlyName); if (Category != null) { Category = JournalFieldNaming.NormaliseMaterialCategory(Category); Category_Localised = JournalFieldNaming.CheckLocalisation(Category_Localised ?? "", Category); } }
public void Normalise() { Material = JournalFieldNaming.FDNameTranslation(Material); FriendlyMaterial = MaterialCommodityData.GetNameByFDName(Material); Material_Localised = JournalFieldNaming.CheckLocalisationTranslation(Material_Localised ?? "", FriendlyMaterial); // ensure. if (Category != null) // some entries do not have this { Category = JournalFieldNaming.NormaliseMaterialCategory(Category); // fix up any strangeness Category_Localised = JournalFieldNaming.CheckLocalisation(Category_Localised ?? "", Category); } }
public JournalMarketSell(JObject evt) : base(evt, JournalTypeEnum.MarketSell) { MarketID = evt["MarketID"].LongNull(); Type = evt["Type"].Str(); // FDNAME Type = JournalFieldNaming.FDNameTranslation(Type); // pre-mangle to latest names, in case we are reading old journal records FriendlyType = MaterialCommodityData.GetNameByFDName(Type); // goes thru the translator.. Type_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Type_Localised"].Str(), FriendlyType); // always ensure we have one Count = evt["Count"].Int(); SellPrice = evt["SellPrice"].Long(); TotalSale = evt["TotalSale"].Long(); AvgPricePaid = evt["AvgPricePaid"].Long(); IllegalGoods = evt["IllegalGoods"].Bool(); StolenGoods = evt["StolenGoods"].Bool(); BlackMarket = evt["BlackMarket"].Bool(); }
public JournalMissionAccepted(JObject evt) : base(evt, JournalTypeEnum.MissionAccepted) { Faction = evt["Faction"].Str(); FDName = evt["Name"].Str(); Name = JournalFieldNaming.GetBetterMissionName(FDName); LocalisedName = evt["LocalisedName"].Str(); TargetType = evt["TargetType"].Str(); TargetTypeFriendly = JournalFieldNaming.GetBetterTargetTypeName(TargetType); // remove $, underscore it TargetTypeLocalised = JournalFieldNaming.CheckLocalisation(evt["TargetType_Localised"].Str(), TargetTypeFriendly); TargetFaction = evt["TargetFaction"].Str(); Target = evt["Target"].Str(); TargetFriendly = JournalFieldNaming.GetBetterTargetTypeName(Target); // remove $, underscore it TargetLocalised = JournalFieldNaming.CheckLocalisation(evt["Target_localised"].Str(), TargetFriendly); // not all KillCount = evt["KillCount"].IntNull(); DestinationSystem = evt["DestinationSystem"].Str().Replace("$MISSIONUTIL_MULTIPLE_INNER_SEPARATOR;", ",") .Replace("$MISSIONUTIL_MULTIPLE_FINAL_SEPARATOR;", ","); // multi missions get this strange list; DestinationStation = evt["DestinationStation"].Str(); Influence = evt["Influence"].Str(); Reputation = evt["Reputation"].Str(); MissionId = evt["MissionID"].Int(); Commodity = JournalFieldNaming.FixCommodityName(evt["Commodity"].Str()); // instances of $_name, fix to fdname FriendlyCommodity = MaterialCommodityData.GetNameByFDName(Commodity); CommodityLocalised = JournalFieldNaming.CheckLocalisationTranslation(evt["Commodity_Localised"].Str(), FriendlyCommodity); Count = evt["Count"].IntNull(); Expiry = evt["Expiry"].DateTimeUTC(); PassengerCount = evt["PassengerCount"].IntNull(); PassengerVIPs = evt["PassengerVIPs"].BoolNull(); PassengerWanted = evt["PassengerWanted"].BoolNull(); PassengerType = evt["PassengerType"].StrNull(); Reward = evt["Reward"].IntNull(); // not in DOC V13, but present in latest journal entries Wing = evt["Wing"].BoolNull(); // new 3.02 }
public JournalProspectedAsteroid(JObject evt) : base(evt, JournalTypeEnum.ProspectedAsteroid) { Content = evt["Content"].Str(); // strange string with $AsteroidMaterialContent_High Content_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Content_Localised"].Str(), Content); MotherlodeMaterial = JournalFieldNaming.FDNameTranslation(evt["MotherlodeMaterial"].Str()); FriendlyMotherlodeMaterial = MaterialCommodityData.GetNameByFDName(MotherlodeMaterial); Remaining = evt["Remaining"].Double(); // 0-100o Materials = evt["Materials"]?.ToObjectProtected <Material[]>().OrderBy(x => x.Name)?.ToArray(); if (Materials != null) { foreach (Material m in Materials) { m.Normalise(); } } }
public JournalEngineerContribution(JObject evt) : base(evt, JournalTypeEnum.EngineerContribution) { Engineer = evt["Engineer"].Str(); EngineerID = evt["EngineerID"].LongNull(); Type = evt["Type"].Str(); Commodity = evt["Commodity"].Str(); Commodity = JournalFieldNaming.FDNameTranslation(Commodity); // pre-mangle to latest names, in case we are reading old journal records FriendlyCommodity = MaterialCommodityMicroResourceType.GetNameByFDName(Commodity); Commodity_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Commodity_Localised"].Str(), FriendlyCommodity); Material = evt["Material"].Str(); Material = JournalFieldNaming.FDNameTranslation(Material); // pre-mangle to latest names, in case we are reading old journal records FriendlyMaterial = MaterialCommodityMicroResourceType.GetNameByFDName(Material); Material_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Material_Localised"].Str(), FriendlyMaterial); Quantity = evt["Quantity"].Int(); TotalQuantity = evt["TotalQuantity"].Int(); }
public JournalProspectedAsteroid(JObject evt) : base(evt, JournalTypeEnum.ProspectedAsteroid) { Content = evt["Content"].Enumeration <AsteroidContent>(AsteroidContent.Low, x => x.Replace("$AsteroidMaterialContent_", "").Replace(";", "")); Content_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Content_Localised"].Str(), Content.ToString()); MotherlodeMaterial = JournalFieldNaming.FDNameTranslation(evt["MotherlodeMaterial"].Str()); FriendlyMotherlodeMaterial = MaterialCommodityMicroResourceType.GetNameByFDName(MotherlodeMaterial); MotherlodeMaterial_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["MotherlodeMaterial_Localised"].Str(), FriendlyMotherlodeMaterial); Remaining = evt["Remaining"].Double(); // 0-100 Materials = evt["Materials"]?.ToObjectQ <Material[]>().OrderBy(x => x.Name)?.ToArray(); if (Materials != null) { foreach (Material m in Materials) { m.Normalise(); } } }