Exemplo n.º 1
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.º 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();
        }
        public JournalLoadGame(JObject evt) : base(evt, JournalTypeEnum.LoadGame)
        {
            LoadGameCommander = evt["Commander"].Str();
            ShipFD            = evt["Ship"].Str();
            if (ShipFD.Length > 0)      // Vega logs show no ship on certain logs.. handle it to prevent warnings.
            {
                ShipFD = JournalFieldNaming.NormaliseFDShipName(ShipFD);
                Ship   = JournalFieldNaming.GetBetterShipName(ShipFD);
                ShipId = evt["ShipID"].Int();
            }
            else
            {       // leave ShipFD as blank.
                Ship = "Unknown";
            }

            StartLanded = evt["StartLanded"].Bool();
            StartDead   = evt["StartDead"].Bool();
            GameMode    = evt["GameMode"].Str();
            Group       = evt["Group"].Str();
            Credits     = evt["Credits"].Long();
            Loan        = evt["Loan"].Long();

            ShipName     = evt["ShipName"].Str();
            ShipIdent    = evt["ShipIdent"].Str();
            FuelLevel    = evt["FuelLevel"].Double();
            FuelCapacity = evt["FuelCapacity"].Double();

            Horizons = evt["Horizons"].BoolNull();

            FID = evt["FID"].Str();     // 3.3 on
        }
        public JournalShipTargeted(JObject evt) : base(evt, JournalTypeEnum.ShipTargeted)
        {
            TargetLocked = evt["TargetLocked"].Bool();

            ShipFD = evt["Ship"].StrNull();
            if (ShipFD != null)
            {
                ShipFD = JournalFieldNaming.NormaliseFDShipName(ShipFD);
                Ship   = JournalFieldNaming.GetBetterShipName(ShipFD);
            }
            Ship_Localised = evt["Ship_Localised"].Str().Alt(Ship);

            ScanStage           = evt["ScanStage"].IntNull();
            PilotName           = evt["PilotName"].StrNull();
            PilotName_Localised = evt["PilotName_Localised"].Str().Alt(PilotName);

            PilotRank       = evt["PilotRank"].StrNull();
            ShieldHealth    = evt["ShieldHealth"].DoubleNull();
            HullHealth      = evt["HullHealth"].DoubleNull();
            Faction         = evt["Faction"].StrNull();
            LegalStatus     = evt["LegalStatus"].StrNull();
            Bounty          = evt["Bounty"].IntNull();
            SubSystem       = evt["SubSystem"].StrNull();
            SubSystemHealth = evt["SubSystemHealth"].DoubleNull();
        }
Exemplo n.º 5
0
        public JournalLoadout(JObject evt) : base(evt, JournalTypeEnum.Loadout)
        {
            Ship      = JournalFieldNaming.GetBetterShipName(evt["Ship"].Str());
            ShipFD    = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str());
            ShipId    = evt["ShipID"].Int();
            ShipName  = evt["ShipName"].Str();
            ShipIdent = evt["ShipIdent"].Str();

            ShipModules = new List <ShipModule>();

            JArray jmodules = (JArray)evt["Modules"];

            if (jmodules != null)       // paranoia
            {
                foreach (JObject jo in jmodules)
                {
                    ShipModule module = new ShipModule(JournalFieldNaming.GetBetterSlotName(jo["Slot"].Str()),
                                                       JournalFieldNaming.NormaliseFDSlotName(jo["Slot"].Str()),
                                                       JournalFieldNaming.GetBetterItemNameLoadout(jo["Item"].Str()),
                                                       JournalFieldNaming.NormaliseFDItemName(jo["Item"].Str()),
                                                       jo["On"].BoolNull(),
                                                       jo["Priority"].IntNull(),
                                                       jo["AmmoInClip"].IntNull(),
                                                       jo["AmmoInHopper"].IntNull(),
                                                       jo["EngineerBlueprint"].Str().SplitCapsWordFull(),
                                                       jo["EngineerLevel"].IntNull(),
                                                       jo["Health"].DoubleNull(),
                                                       jo["Value"].IntNull());
                    ShipModules.Add(module);
                }

                ShipModules = ShipModules.OrderBy(x => x.Slot).ToList();            // sort for presentation..
            }
        }
Exemplo n.º 6
0
        public JournalShipyardBuy(JObject evt) : base(evt, JournalTypeEnum.ShipyardBuy)
        {
            ShipTypeFD = JournalFieldNaming.NormaliseFDShipName(evt["ShipType"].Str());
            ShipType   = JournalFieldNaming.GetBetterShipName(ShipTypeFD);
            ShipPrice  = evt["ShipPrice"].Long();

            StoreOldShipFD = evt["StoreOldShip"].StrNull();
            if (StoreOldShipFD != null)
            {
                StoreOldShipFD = JournalFieldNaming.NormaliseFDShipName(StoreOldShipFD);
                StoreOldShip   = JournalFieldNaming.GetBetterShipName(StoreOldShipFD);
            }

            StoreOldShipId = evt["StoreShipID"].IntNull();

            SellOldShipFD = evt["SellOldShip"].StrNull();
            if (SellOldShipFD != null)
            {
                SellOldShipFD = JournalFieldNaming.NormaliseFDShipName(SellOldShipFD);
                SellOldShip   = JournalFieldNaming.GetBetterShipName(SellOldShipFD);
            }

            SellOldShipId = evt["SellShipID"].IntNull();

            SellPrice = evt["SellPrice"].LongNull();

            MarketID = evt["MarketID"].LongNull();
        }
Exemplo n.º 7
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.º 8
0
 public JournalSetUserShipName(JObject evt) : base(evt, JournalTypeEnum.SetUserShipName)
 {
     Ship      = JournalFieldNaming.GetBetterShipName(evt["Ship"].Str());
     ShipFD    = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str());
     ShipID    = evt["ShipID"].Int();
     ShipName  = evt["UserShipName"].Str(); // name to match LoadGame
     ShipIdent = evt["UserShipId"].Str();   // name to match LoadGame
 }
Exemplo n.º 9
0
 public JournalShipyardSwap(JObject evt) : base(evt, JournalTypeEnum.ShipyardSwap)
 {
     ShipType     = JournalFieldNaming.GetBetterShipName(evt["ShipType"].Str());
     ShipFD       = JournalFieldNaming.NormaliseFDShipName(evt["ShipType"].Str());
     ShipId       = evt["ShipID"].Int();
     StoreOldShip = JournalFieldNaming.GetBetterShipName(evt["StoreOldShip"].Str());
     StoreShipId  = evt["StoreShipID"].IntNull();
 }
Exemplo n.º 10
0
 public JournalSellShipOnRebuy(JObject evt) : base(evt, JournalTypeEnum.SellShipOnRebuy)
 {
     ShipTypeFD = JournalFieldNaming.NormaliseFDShipName(evt["ShipType"].Str());
     ShipType   = JournalFieldNaming.GetBetterShipName(ShipTypeFD);
     System     = evt["System"].Str();
     SellShipId = evt["SellShipId"].Int();
     ShipPrice  = evt["ShipPrice"].Long();
 }
Exemplo n.º 11
0
 public JournalShipyardSell(JObject evt) : base(evt, JournalTypeEnum.ShipyardSell)
 {
     MarketID   = evt["MarketID"].LongNull();
     ShipTypeFD = JournalFieldNaming.NormaliseFDShipName(evt["ShipType"].Str());
     ShipType   = JournalFieldNaming.GetBetterShipName(ShipTypeFD);
     SellShipId = evt["SellShipID"].Int();
     ShipPrice  = evt["ShipPrice"].Long();
     System     = evt["System"].Str();
 }
Exemplo n.º 12
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.º 13
0
        public JournalShipyardSwap(JObject evt) : base(evt, JournalTypeEnum.ShipyardSwap)
        {
            ShipFD   = JournalFieldNaming.NormaliseFDShipName(evt["ShipType"].Str());
            ShipType = JournalFieldNaming.GetBetterShipName(ShipFD);
            ShipId   = evt["ShipID"].Int();

            StoreOldShipFD = JournalFieldNaming.NormaliseFDShipName(evt["StoreOldShip"].Str());
            StoreOldShip   = JournalFieldNaming.GetBetterShipName(StoreOldShipFD);
            StoreShipId    = evt["StoreShipID"].IntNull();

            MarketID = evt["MarketID"].LongNull();

            //•	SellShipID -- NO EVIDENCE seen
        }
Exemplo n.º 14
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.º 16
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.º 17
0
        public JournalLoadGame(JObject evt) : base(evt, JournalTypeEnum.LoadGame)
        {
            LoadGameCommander = evt["Commander"].Str();
            Ship        = JournalFieldNaming.GetBetterShipName(evt["Ship"].Str());
            ShipFD      = JournalFieldNaming.NormaliseFDShipName(evt["Ship"].Str());
            ShipId      = evt["ShipID"].Int();
            StartLanded = evt["StartLanded"].Bool();
            StartDead   = evt["StartDead"].Bool();
            GameMode    = evt["GameMode"].Str();
            Group       = evt["Group"].Str();
            Credits     = evt["Credits"].Long();
            Loan        = evt["Loan"].Long();

            ShipName     = evt["ShipName"].Str();
            ShipIdent    = evt["ShipIdent"].Str();
            FuelLevel    = evt["FuelLevel"].Double();
            FuelCapacity = evt["FuelCapacity"].Double();
        }
Exemplo n.º 18
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.º 19
0
        public JournalLoadGame(JObject evt) : base(evt, JournalTypeEnum.LoadGame)
        {
            LoadGameCommander = JournalFieldNaming.SubsituteCommanderName(evt["Commander"].Str());

            ShipFD = evt["Ship"].Str();
            if (ShipFD.Length == 0)      // Vega logs show no ship on certain logs.. handle it to prevent warnings.
            {
                ShipFD = "Unknown";
            }

            if (ItemData.IsShip(ShipFD))
            {
                ShipFD = JournalFieldNaming.NormaliseFDShipName(ShipFD);
                Ship   = JournalFieldNaming.GetBetterShipName(ShipFD);
            }
            else
            {
                Ship = ShipFD.SplitCapsWordFull();
            }

            ShipId      = evt["ShipID"].ULong();
            StartLanded = evt["StartLanded"].Bool();
            StartDead   = evt["StartDead"].Bool();
            GameMode    = evt["GameMode"].Str();
            Group       = evt["Group"].Str();
            Credits     = evt["Credits"].Long();
            Loan        = evt["Loan"].Long();

            ShipName     = evt["ShipName"].Str();
            ShipIdent    = evt["ShipIdent"].Str();
            FuelLevel    = evt["FuelLevel"].Double();
            FuelCapacity = evt["FuelCapacity"].Double();

            Horizons = evt["Horizons"].Bool();
            Odyssey  = evt["Odyssey"].Bool();

            Language    = evt["language"].Str();
            GameVersion = evt["gameversion"].Str();
            Build       = evt["build"].Str();

            FID = JournalFieldNaming.SubsituteCommanderFID(evt["FID"].Str());     // 3.3 on
        }
Exemplo n.º 20
0
        public JournalShipyardTransfer(JObject evt) : base(evt, JournalTypeEnum.ShipyardTransfer)
        {
            ShipTypeFD = JournalFieldNaming.NormaliseFDShipName(evt["ShipType"].Str());
            ShipType   = JournalFieldNaming.GetBetterShipName(ShipTypeFD);
            ShipId     = evt["ShipID"].Int();

            FromSystem    = evt["System"].Str();
            Distance      = evt["Distance"].Double();
            TransferPrice = evt["TransferPrice"].Long();

            if (Distance > 100000.0)       // previously, it was in m, now they have changed it to LY per 2.3. So if its large (over 100k ly, impossible) convert
            {
                Distance = Distance / 299792458.0 / 365 / 24 / 60 / 60;
            }

            nTransferTime        = evt["TransferTime"].IntNull();
            FriendlyTransferTime = nTransferTime.HasValue ? nTransferTime.Value.SecondsToString() : "";

            MarketID     = evt["MarketID"].LongNull();
            ShipMarketID = evt["ShipMarketID"].LongNull();
        }
Exemplo n.º 21
0
 public JournalShipyardNew(JObject evt) : base(evt, JournalTypeEnum.ShipyardNew)
 {
     ShipFD   = JournalFieldNaming.NormaliseFDShipName(evt["ShipType"].Str());
     ShipType = JournalFieldNaming.GetBetterShipName(ShipFD);
     ShipId   = evt["NewShipID"].Int();
 }