public JournalRepair(JObject evt) : base(evt, JournalTypeEnum.Repair) { if (evt["Items"] is JArray) { Items = new List <RepairItem>(); ItemLocalised = Item = ItemFD = ""; foreach (var jitem in evt["Items"]) { var itemfd = JournalFieldNaming.NormaliseFDItemName(jitem.Str()); var item = JournalFieldNaming.GetBetterItemName(itemfd); var repairitem = new RepairItem { ItemFD = itemfd, Item = item, ItemLocalised = item.SplitCapsWordFull() }; ItemLocalised = ItemLocalised.AppendPrePad(repairitem.ItemLocalised, ", "); // for the voice pack, keep this going Items.Add(repairitem); } } else { ItemFD = JournalFieldNaming.NormaliseFDItemName(evt["Item"].Str()); Item = JournalFieldNaming.GetBetterItemName(ItemFD); ItemLocalised = JournalFieldNaming.CheckLocalisation(evt["Item_Localised"].Str(), Item); } Cost = evt["Cost"].Long(); }
public JournalModuleBuy(JObject evt) : base(evt, JournalTypeEnum.ModuleBuy) { SlotFD = JournalFieldNaming.NormaliseFDSlotName(evt["Slot"].Str()); Slot = JournalFieldNaming.GetBetterSlotName(SlotFD); BuyItemFD = JournalFieldNaming.NormaliseFDItemName(evt["BuyItem"].Str()); BuyItem = JournalFieldNaming.GetBetterItemName(BuyItemFD); BuyItemLocalised = JournalFieldNaming.CheckLocalisation(evt["BuyItem_Localised"].Str(), BuyItem); BuyPrice = evt["BuyPrice"].Long(); ShipFD = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str()); Ship = JournalFieldNaming.GetBetterShipName(ShipFD); ShipId = evt["ShipID"].Int(); SellItemFD = JournalFieldNaming.NormaliseFDItemName(evt["SellItem"].Str()); SellItem = JournalFieldNaming.GetBetterItemName(SellItemFD); SellItemLocalised = JournalFieldNaming.CheckLocalisation(evt["SellItem_Localised"].Str(), SellItem); SellPrice = evt["SellPrice"].LongNull(); StoredItemFD = JournalFieldNaming.NormaliseFDItemName(evt["StoredItem"].Str()); StoredItem = JournalFieldNaming.GetBetterItemName(StoredItemFD); StoredItemLocalised = JournalFieldNaming.CheckLocalisation(evt["StoredItem_Localised"].Str(), StoredItem); MarketID = evt["MarketID"].LongNull(); }
public void Rescan(JObject evt) { ShipModules = new List <ShipModule>(); JArray jmodules = (JArray)evt["Modules"]; if (jmodules != null) { foreach (JObject jo in jmodules) { string slotfdname = JournalFieldNaming.NormaliseFDSlotName(jo["Slot"].Str()); string itemfdname = JournalFieldNaming.NormaliseFDItemName(jo["Item"].Str()); ShipModule module = new ShipModule( JournalFieldNaming.GetBetterSlotName(slotfdname), slotfdname, JournalFieldNaming.GetBetterItemName(itemfdname), itemfdname, null, // unknown jo["Priority"].IntNull(), null, // aclip null, // ahooper null, // health null, // Value jo["Power"].DoubleNull(), null //engineering ); ShipModules.Add(module); } ShipModules = ShipModules.OrderBy(x => x.Slot).ToList(); // sort for presentation.. } }
public JournalRepair(JObject evt) : base(evt, JournalTypeEnum.Repair) { ItemFD = JournalFieldNaming.NormaliseFDItemName(evt["Item"].Str()); Item = JournalFieldNaming.GetBetterItemName(ItemFD); ItemLocalised = JournalFieldNaming.CheckLocalisation(evt["Item_Localised"].Str(), Item); Cost = evt["Cost"].Long(); }
public JournalModuleSwap(JObject evt) : base(evt, JournalTypeEnum.ModuleSwap) { FromSlotFD = JournalFieldNaming.NormaliseFDSlotName(evt["FromSlot"].Str()); FromSlot = JournalFieldNaming.GetBetterSlotName(FromSlotFD); ToSlotFD = JournalFieldNaming.NormaliseFDSlotName(evt["ToSlot"].Str()); ToSlot = JournalFieldNaming.GetBetterSlotName(ToSlotFD); FromItemFD = JournalFieldNaming.NormaliseFDItemName(evt["FromItem"].Str()); FromItem = JournalFieldNaming.GetBetterItemName(FromItemFD); FromItemLocalised = JournalFieldNaming.CheckLocalisation(evt["FromItem_Localised"].Str(), FromItem); ToItemFD = JournalFieldNaming.NormaliseFDItemName(evt["ToItem"].Str()); ToItem = JournalFieldNaming.GetBetterItemName(ToItemFD); if (ToItem.Equals("Null")) // Frontier bug.. something Null is here.. remove { ToItem = ToItemFD = ""; } ToItemLocalised = JournalFieldNaming.CheckLocalisation(evt["ToItem_Localised"].Str(), ToItem); // if ToItem is null or not there, this won't be ShipFD = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str()); Ship = JournalFieldNaming.GetBetterShipName(ShipFD); ShipId = evt["ShipID"].Int(); MarketID = evt["MarketID"].LongNull(); }
public JournalModuleStore(JObject evt) : base(evt, JournalTypeEnum.ModuleStore) { SlotFD = JournalFieldNaming.NormaliseFDSlotName(evt["Slot"].Str()); Slot = JournalFieldNaming.GetBetterSlotName(SlotFD); ShipFD = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str()); Ship = JournalFieldNaming.GetBetterShipName(ShipFD); ShipId = evt["ShipID"].Int(); StoredItemFD = JournalFieldNaming.NormaliseFDItemName(evt["StoredItem"].Str()); StoredItem = JournalFieldNaming.GetBetterItemName(StoredItemFD); StoredItemLocalised = JournalFieldNaming.CheckLocalisation(evt["StoredItem_Localised"].Str(), StoredItem); EngineerModifications = evt["EngineerModifications"].StrNull().SplitCapsWordFull(); ReplacementItemFD = JournalFieldNaming.NormaliseFDItemName(evt["ReplacementItem"].Str()); ReplacementItem = JournalFieldNaming.GetBetterItemName(ReplacementItemFD); ReplacementItemLocalised = JournalFieldNaming.CheckLocalisation(evt["ReplacementItem_Localised"].Str(), ReplacementItem); Cost = evt["Cost"].LongNull(); Hot = evt["Hot"].BoolNull(); Level = evt["Level"].IntNull(); Quality = evt["Quality"].DoubleNull(); MarketID = evt["MarketID"].LongNull(); }
public JournalAfmuRepairs(JObject evt) : base(evt, JournalTypeEnum.AfmuRepairs) { ModuleFD = JournalFieldNaming.NormaliseFDItemName(evt["Module"].Str()); Module = JournalFieldNaming.GetBetterItemName(ModuleFD); ModuleLocalised = JournalFieldNaming.CheckLocalisation(evt["Module_Localised"].Str(), Module); FullyRepaired = evt["FullyRepaired"].Bool(); Health = evt["Health"].Float() * 100.0F; }
public JournalJetConeDamage(JObject evt) : base(evt, JournalTypeEnum.JetConeDamage) { ModuleFD = JournalFieldNaming.NormaliseFDItemName(evt["Module"].Str()); Module = JournalFieldNaming.GetBetterItemName(ModuleFD); ModuleLocalised = JournalFieldNaming.CheckLocalisation(evt["Module_Localised"].Str(), Module); if (ModuleLocalised.Length == 0) { ModuleLocalised = evt["_Localised"].Str(); //Frontier bug - jet cone boost entries are bugged in journal at the moment up to 2.2. } ModuleLocalised = ModuleLocalised.Alt(Module); }
public JournalLoadout(JObject evt) : base(evt, JournalTypeEnum.Loadout) { ShipFD = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str()); Ship = JournalFieldNaming.GetBetterShipName(ShipFD); ShipId = evt["ShipID"].Int(); ShipName = evt["ShipName"].Str(); ShipIdent = evt["ShipIdent"].Str(); HullValue = evt["HullValue"].LongNull(); HullHealth = evt["HullHealth"].DoubleNull(); if (HullHealth != null) { HullHealth *= 100.0; // convert to 0-100 } ModulesValue = evt["ModulesValue"].LongNull(); Rebuy = evt["Rebuy"].LongNull(); Hot = evt["Hot"].BoolNull(); // 3.3 ShipModules = new List <ShipModule>(); JArray jmodules = (JArray)evt["Modules"]; if (jmodules != null) // paranoia { foreach (JObject jo in jmodules) { ShipModule.EngineeringData engineering = null; JObject jeng = (JObject)jo["Engineering"]; if (jeng != null) { engineering = new ShipModule.EngineeringData(jeng); } string slotfdname = JournalFieldNaming.NormaliseFDSlotName(jo["Slot"].Str()); string itemfdname = JournalFieldNaming.NormaliseFDItemName(jo["Item"].Str()); ShipModule module = new ShipModule(JournalFieldNaming.GetBetterSlotName(slotfdname), slotfdname, JournalFieldNaming.GetBetterItemName(itemfdname), itemfdname, jo["On"].BoolNull(), jo["Priority"].IntNull(), jo["AmmoInClip"].IntNull(), jo["AmmoInHopper"].IntNull(), jo["Health"].DoubleNull(), jo["Value"].IntNull(), null, //power not received here engineering); ShipModules.Add(module); } ShipModules = ShipModules.OrderBy(x => x.Slot).ToList(); // sort for presentation.. } }
public JournalModuleSellRemote(JObject evt) : base(evt, JournalTypeEnum.ModuleSellRemote) { Slot = evt["StorageSlot"].Str(); // this is NOT a ship slot name, just a index SellItemFD = JournalFieldNaming.NormaliseFDItemName(evt["SellItem"].Str()); SellItem = JournalFieldNaming.GetBetterItemName(SellItemFD); SellItemLocalised = JournalFieldNaming.CheckLocalisation(evt["SellItem_Localised"].Str(), SellItem); SellPrice = evt["SellPrice"].Long(); ShipFD = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str()); Ship = JournalFieldNaming.GetBetterShipName(ShipFD); ShipId = evt["ShipID"].Int(); ServerId = evt["ServerId"].Int(); }
public JournalModuleSell(JObject evt) : base(evt, JournalTypeEnum.ModuleSell) { SlotFD = JournalFieldNaming.NormaliseFDSlotName(evt["Slot"].Str()); Slot = JournalFieldNaming.GetBetterSlotName(SlotFD); SellItemFD = JournalFieldNaming.NormaliseFDItemName(evt["SellItem"].Str()); SellItem = JournalFieldNaming.GetBetterItemName(SellItemFD); SellItemLocalised = evt["SellItem_Localised"].Str().Alt(SellItem); SellPrice = evt["SellPrice"].Long(); ShipFD = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str()); Ship = JournalFieldNaming.GetBetterShipName(ShipFD); ShipId = evt["ShipID"].Int(); MarketID = evt["MarketID"].LongNull(); }
public JournalFetchRemoteModule(JObject evt) : base(evt, JournalTypeEnum.FetchRemoteModule) { StorageSlot = evt["StorageSlot"].Str(); // Slot number, not a slot on our ship StoredItemFD = JournalFieldNaming.NormaliseFDItemName(evt["StoredItem"].Str()); StoredItem = JournalFieldNaming.GetBetterItemName(StoredItemFD); StoredItemLocalised = JournalFieldNaming.CheckLocalisation(evt["StoredItem_Localised"].Str(), StoredItem); TransferCost = evt["TransferCost"].Long(); ShipFD = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str()); Ship = JournalFieldNaming.GetBetterShipName(ShipFD); ShipId = evt["ShipID"].Int(); ServerId = evt["ServerId"].Int(); nTransferTime = evt["TransferTime"].IntNull(); FriendlyTransferTime = nTransferTime.HasValue ? nTransferTime.Value.SecondsToString() : ""; }
public JournalMassModuleStore(JObject evt) : base(evt, JournalTypeEnum.MassModuleStore) { ShipFD = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str()); Ship = JournalFieldNaming.GetBetterShipName(ShipFD); ShipId = evt["ShipID"].Int(); ModuleItems = evt["Items"]?.ToObjectProtected <ModuleItem[]>(); MarketID = evt["MarketID"].LongNull(); if (ModuleItems != null) { foreach (ModuleItem i in ModuleItems) { i.SlotFD = JournalFieldNaming.NormaliseFDSlotName(i.Slot); i.Slot = JournalFieldNaming.GetBetterSlotName(i.SlotFD); i.NameFD = JournalFieldNaming.NormaliseFDItemName(i.Name); i.Name = JournalFieldNaming.GetBetterItemName(i.NameFD); } } }
public JournalEngineerCraftBase(JObject evt, JournalTypeEnum en) : base(evt, en) { SlotFD = JournalFieldNaming.NormaliseFDSlotName(evt["Slot"].Str()); Slot = JournalFieldNaming.GetBetterSlotName(SlotFD); ModuleFD = JournalFieldNaming.NormaliseFDItemName(evt["Module"].Str()); Module = JournalFieldNaming.GetBetterItemName(ModuleFD); Engineering = new ShipModule.EngineeringData(evt); IsPreview = evt["IsPreview"].BoolNull(); JToken mats = (JToken)evt["Ingredients"]; if (mats != null) { Ingredients = new Dictionary <string, int>(); if (mats.Type == JTokenType.Object) { Dictionary <string, int> temp = mats?.ToObjectProtected <Dictionary <string, int> >(); if (temp != null) { foreach (string key in temp.Keys) { Ingredients[JournalFieldNaming.FDNameTranslation(key)] = temp[key]; } } } else { foreach (JObject jo in (JArray)mats) { Ingredients[JournalFieldNaming.FDNameTranslation((string)jo["Name"])] = jo["Count"].Int(); } } } }