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 = MaterialCommodityMicroResourceType.GetNameByFDName(Type); Type_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Type_Localised"].Str(), FriendlyType); }
public DirectionType Direction { get; set; } // TransferMicroResources. public void Normalise() { Name_Localised = JournalFieldNaming.CheckLocalisation(Name_Localised, Name); Name = JournalFieldNaming.FDNameTranslation(Name); // this lower cases the name FriendlyName = MaterialCommodityMicroResourceType.GetNameByFDName(Name); // normalises to lower case Category = Category.Alt(Type); // for some reason category is called type in places.. }
public JournalMaterialDiscovered(JObject evt) : base(evt, JournalTypeEnum.MaterialDiscovered) { Category = JournalFieldNaming.NormaliseMaterialCategory(evt["Category"].Str()); Name = JournalFieldNaming.FDNameTranslation(evt["Name"].Str()); // pre-mangle to latest names, in case we are reading old journal records FriendlyName = MaterialCommodityMicroResourceType.GetNameByFDName(Name); DiscoveryNumber = evt["DiscoveryNumber"].Int(); }
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 = MaterialCommodityMicroResourceType.GetNameByFDName(Type); Type_Localised = JournalFieldNaming.CheckLocalisationTranslation(evt["Type_Localised"].Str(), FriendlyType); // always ensure we have one Stolen = evt["Stolen"].Bool(); MissionID = evt["MissionID"].ULongNull(); }
public void FillInformation(ISystem sys, out string info, out string detailed, int maxcol) { info = BaseUtils.FieldBuilder.Build("Prices on ; items".T(EDTx.JournalCommodityPricesBase_PON), Commodities.Count, "< at ".T(EDTx.JournalCommodityPricesBase_CPBat), Station, "< in ".T(EDTx.JournalCommodityPricesBase_CPBin), StarSystem); int col = 0; detailed = "Items to buy: ".T(EDTx.JournalCommodityPricesBase_Itemstobuy) + System.Environment.NewLine; foreach (CCommodities c in Commodities) { if (c.buyPrice > 0) { string name = MaterialCommodityMicroResourceType.GetNameByFDName(c.fdname); if (c.sellPrice > 0) { detailed += string.Format("{0}: {1} sell {2} Diff {3} {4}% ".T(EDTx.JournalCommodityPricesBase_CPBBuySell), name, c.buyPrice, c.sellPrice, c.buyPrice - c.sellPrice, ((double)(c.buyPrice - c.sellPrice) / (double)c.sellPrice * 100.0).ToString("0.#")); } else { detailed += string.Format("{0}: {1} ".T(EDTx.JournalCommodityPricesBase_CPBBuy), name, c.buyPrice); } if (++col == maxcol) { detailed += System.Environment.NewLine; col = 0; } } } if (col == maxcol - 1) { detailed += System.Environment.NewLine; } col = 0; detailed += "Sell only Items: ".T(EDTx.JournalCommodityPricesBase_SO) + System.Environment.NewLine; foreach (CCommodities c in Commodities) { if (c.buyPrice <= 0) { string name = MaterialCommodityMicroResourceType.GetNameByFDName(c.fdname); detailed += string.Format("{0}: {1} ".T(EDTx.JournalCommodityPricesBase_CPBBuy), name, c.sellPrice); if (++col == maxcol) { detailed += System.Environment.NewLine; col = 0; } } } }
public JournalSearchAndRescue(JObject evt) : base(evt, JournalTypeEnum.SearchAndRescue) { FDName = evt["Name"].Str(); FDName = JournalFieldNaming.FDNameTranslation(FDName); // some premangling FriendlyName = MaterialCommodityMicroResourceType.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 = MaterialCommodityMicroResourceType.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 void Normalise() { Name = JournalFieldNaming.FDNameTranslation(Name); FriendlyName = MaterialCommodityMicroResourceType.GetNameByFDName(Name); Name_Localised = JournalFieldNaming.CheckLocalisationTranslation(Name_Localised ?? "", FriendlyName); if (Category != null) { Category = JournalFieldNaming.NormaliseMaterialCategory(Category); Category_Localised = JournalFieldNaming.CheckLocalisation(Category_Localised ?? "", Category); } }
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 = MaterialCommodityMicroResourceType.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(); MissionID = evt["MissionID"].ULongNull(); }
public void Normalise() { Material = JournalFieldNaming.FDNameTranslation(Material); FriendlyMaterial = MaterialCommodityMicroResourceType.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 override void FillInformation(ISystem sys, out string info, out string detailed) { info = Name; if (Materials != null) { foreach (KeyValuePair <string, int> k in Materials) { info += ", " + MaterialCommodityMicroResourceType.GetNameByFDName(k.Key) + ": " + k.Value.ToString(); } } detailed = ""; }
} // BuyMicroResources, SellMicroResource, TradeMicroResources, TransferMicroResources. These call it type: BackPackChange, UseConsumable, CollectItems, DropItems public void Normalise(string cat) { if (Name.HasChars()) { Name_Localised = JournalFieldNaming.CheckLocalisation(Name_Localised, Name); Name = JournalFieldNaming.FDNameTranslation(Name); // this lower cases the name FriendlyName = MaterialCommodityMicroResourceType.GetNameByFDName(Name); // normalises to lower case if (cat != null) { Category = cat; } } }
public JournalTradeMicroResources(JObject evt) : base(evt, JournalTypeEnum.TradeMicroResources) { Offered = evt["Offered"]?.ToObjectQ<MicroResource[]>()?.OrderBy(x => x.Name)?.ToArray(); MicroResource.Normalise(Offered); Received = evt["Received"].Str(); Received_Localised = evt["Received_Localised"].Str(); Category = evt["Category"].Str(); Count = evt["Count"].Int(); MarketID = evt["MarketID"].Long(); Received_Localised = JournalFieldNaming.CheckLocalisation(Received_Localised, Received); Received = JournalFieldNaming.FDNameTranslation(Received); Received_FriendlyName = MaterialCommodityMicroResourceType.GetNameByFDName(Received); }
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 = MaterialCommodityMicroResourceType.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 JournalTechnologyBroker(JObject evt) : base(evt, JournalTypeEnum.TechnologyBroker) { BrokerType = evt["BrokerType"].Str("Unknown"); MarketID = evt["MarketID"].LongNull(); ItemsUnlocked = evt["ItemsUnlocked"]?.ToObjectQ <Unlocked[]>(); //3.03 entry CommodityList = evt["Commodities"]?.ToObjectQ <Commodities[]>(); MaterialList = evt["Materials"]?.ToObjectQ <Materials[]>(); if (ItemsUnlocked != null) { foreach (Unlocked u in ItemsUnlocked) { u.Name_Localised = JournalFieldNaming.CheckLocalisation(u.Name_Localised ?? "", u.Name); } } if (CommodityList != null) { foreach (Commodities c in CommodityList) { c.FriendlyName = MaterialCommodityMicroResourceType.GetNameByFDName(c.Name); } } if (MaterialList != null) { foreach (Materials m in MaterialList) { m.FriendlyName = MaterialCommodityMicroResourceType.GetNameByFDName(m.Name); m.Category = JournalFieldNaming.NormaliseMaterialCategory(m.Category); } } string oldentry = evt["ItemUnlocked"].StrNull(); // 3.02 journal entry if (ItemsUnlocked == null && oldentry != null) { ItemsUnlocked = new Unlocked[] { new Unlocked() { Name = oldentry, Name_Localised = oldentry } } } ; }
public override void FillInformation(ISystem sys, out string info, out string detailed) { info = BaseUtils.FieldBuilder.Build("In Slot: ".T(EDTx.JournalEntry_InSlot), Slot, "", Module, "By: ".T(EDTx.JournalEntry_By), Engineering.Engineer, "Blueprint: ".T(EDTx.JournalEntry_Blueprint), Engineering.FriendlyBlueprintName, "Level: ".T(EDTx.JournalEntry_Level), Engineering.Level); detailed = ""; if (Ingredients != null) { foreach (KeyValuePair <string, int> k in Ingredients) // may be commodities or materials { detailed += BaseUtils.FieldBuilder.Build("", MaterialCommodityMicroResourceType.GetNameByFDName(k.Key), "", k.Value) + "; "; } } if (Engineering != null) { detailed = detailed.AppendPrePad(Engineering.ToString(), System.Environment.NewLine); } }
public JournalMissionAccepted(JObject evt) : base(evt, JournalTypeEnum.MissionAccepted) { Faction = evt["Faction"].Str(); FDName = evt["Name"].Str(); Name = JournalFieldNaming.GetBetterMissionName(FDName); LocalisedName = JournalFieldNaming.CheckLocalisation(evt["LocalisedName"].Str(), Name); 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"].ULong(); Commodity = JournalFieldNaming.FixCommodityName(evt["Commodity"].Str()); // instances of $_name, fix to fdname FriendlyCommodity = MaterialCommodityMicroResourceType.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 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(); } } }
public JournalCargoDepot(JObject evt) : base(evt, JournalTypeEnum.CargoDepot) { MissionId = evt["MissionID"].ULong(); UpdateType = evt["UpdateType"].Str(); // must be FD name System.Enum.TryParse <UpdateTypeEnum>(UpdateType, out UpdateTypeEnum u); UpdateEnum = u; CargoType = evt["CargoType"].Str(); // item counts FriendlyCargoType = MaterialCommodityMicroResourceType.GetNameByFDName(CargoType); Count = evt["Count"].Int(0); StartMarketID = evt["StartMarketID"].Long(); EndMarketID = evt["EndMarketID"].Long(); ItemsCollected = evt["ItemsCollected"].Int(); ItemsDelivered = evt["ItemsDelivered"].Int(); TotalItemsToDeliver = evt["TotalItemsToDeliver"].Int(); ItemsToGo = TotalItemsToDeliver - ItemsDelivered; ProgressPercent = evt["Progress"].Double() * 100; MarketID = evt["MarketID"].LongNull(); if (ProgressPercent < 0.01) { ProgressPercent = ((double)System.Math.Max(ItemsCollected, ItemsDelivered) / (double)TotalItemsToDeliver) * 100; } }
public void Normalise() { Name = JournalFieldNaming.FDNameTranslation(Name); FriendlyName = MaterialCommodityMicroResourceType.GetNameByFDName(Name); }
public override void FillInformation(ISystem sys, out string info, out string detailed) { info = ""; bool comma = false; if (Materials != null) { foreach (MaterialItem m in Materials.Materials) { if (comma) { info += ", "; } comma = true; info += BaseUtils.FieldBuilder.Build("Name: ".T(EDTx.JournalEntry_Name), MaterialCommodityMicroResourceType.GetNameByFDName(m.Name), "", m.Count); } } if (Commodities != null) { foreach (CommodityItem m in Commodities.Commodities) { if (comma) { info += ", "; } comma = true; info += BaseUtils.FieldBuilder.Build("Name: ".T(EDTx.JournalEntry_Name), MaterialCommodityMicroResourceType.GetNameByFDName(m.Name), "", m.Count); } } detailed = ""; }
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 = MaterialCommodityMicroResourceType.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(); JToken dtk = evt["Donation"]; if (dtk != null) { if (dtk.IsString) // some records have donations as strings incorrectly { Donation = dtk.Str().InvariantParseLongNull(); } else { Donation = dtk.LongNull(); } } MissionId = evt["MissionID"].ULong(); 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"]?.ToObjectQ <string[]>(); // 7/3/2018 journal 16 3.02 CommodityReward = evt["CommodityReward"]?.ToObjectQ <CommodityRewards[]>(); if (CommodityReward != null) { foreach (CommodityRewards c in CommodityReward) { c.Normalise(); } } MaterialsReward = evt["MaterialsReward"]?.ToObjectQ <MaterialRewards[]>(); if (MaterialsReward != null) { foreach (MaterialRewards m in MaterialsReward) { m.Normalise(); } } FactionEffects = evt["FactionEffects"]?.ToObjectQ <FactionEffectsEntry[]>(); // NEEDS TEST }