Exemplo n.º 1
0
        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();
        }
Exemplo n.º 2
0
        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();
        }
Exemplo n.º 3
0
        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..
            }
        }
Exemplo n.º 4
0
 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();
 }
Exemplo n.º 5
0
        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();
        }
Exemplo n.º 6
0
        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();
        }
Exemplo n.º 7
0
 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;
 }
Exemplo n.º 8
0
 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);
 }
Exemplo n.º 9
0
        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..
            }
        }
Exemplo n.º 10
0
        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();
        }
Exemplo n.º 12
0
        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() : "";
        }
Exemplo n.º 13
0
        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);
                }
            }
        }
Exemplo n.º 14
0
        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();
                    }
                }
            }
        }