internal static void JumpJetDef_FromJSON(JumpJetDef def) { { var statisticData = StatCollectionExtension .JumpCapacity(null) .CreateStatisticData( StatCollection.StatOperation.Float_Add, def.JumpCapacity ); def.AddPassiveStatisticEffectIfMissing(statisticData); } if (EngineFeature.settings.JumpJetDefaultJumpHeat.HasValue) { var statisticData = StatCollectionExtension .JumpHeat(null) .CreateStatisticData( StatCollection.StatOperation.Float_Add, EngineFeature.settings.JumpJetDefaultJumpHeat.Value ); def.AddPassiveStatisticEffectIfMissing(statisticData); } }
internal static void JumpJetDef_FromJSON(JumpJetDef def) { { var statisticData = new StatisticEffectData() { statName = StatCollectionExtension.JumpCapacity(null).Key, operation = StatCollection.StatOperation.Float_Add, modValue = def.JumpCapacity.ToString(), modType = "System.Single" }; def.AddPassiveStatisticEffectIfMissing(statisticData); } if (EngineFeature.settings.JumpJetDefaultJumpHeat.HasValue) { var statisticData = new StatisticEffectData() { statName = StatCollectionExtension.JumpHeat(null).Key, operation = StatCollection.StatOperation.Float_Add, modValue = EngineFeature.settings.JumpJetDefaultJumpHeat.ToString(), modType = "System.Single" }; def.AddPassiveStatisticEffectIfMissing(statisticData); } }
// reduce upgrade components for the center torso that are 3 or larger public static void Postfix(JumpJetDef __instance) { try { JumpJetDef_FromJSON(__instance); } catch (Exception e) { Control.Logger.Error.Log(e); } }
public TypedShopDefItem(ShopDefItem item) { try { Control.LogDebug(DInfo.TypedItemDef, "TypedShopDefItem.ctor"); this.Count = item.Count; this.ID = item.ID; this.Type = item.Type; this.DiscountModifier = item.DiscountModifier; this.Count = item.Count; this.IsInfinite = item.IsInfinite; this.IsDamaged = item.IsDamaged; this.SellCost = item.SellCost; this.SetGuid(item.GUID); Control.LogDebug(DInfo.TypedItemDef, "data copied"); var dm = Control.State.Sim.DataManager; switch (item.Type) { case ShopItemType.Weapon: Control.LogDebug(DInfo.TypedItemDef, "Weapon"); WeaponDef weaponDef = null; if (dm.WeaponDefs.Exists(GUID)) { weaponDef = dm.WeaponDefs.Get(GUID); } Component = weaponDef; Description = weaponDef.Description; break; case ShopItemType.AmmunitionBox: Control.LogDebug(DInfo.TypedItemDef, "AmmunitionBox"); AmmunitionBoxDef ammoboxDef = null; if (dm.AmmoBoxDefs.Exists(GUID)) { ammoboxDef = dm.AmmoBoxDefs.Get(GUID); } Component = ammoboxDef; Description = ammoboxDef.Description; break; case ShopItemType.HeatSink: Control.LogDebug(DInfo.TypedItemDef, "HeatSink"); HeatSinkDef hsDef = null; if (dm.HeatSinkDefs.Exists(GUID)) { hsDef = dm.HeatSinkDefs.Get(GUID); } Component = hsDef; Description = hsDef.Description; break; case ShopItemType.JumpJet: Control.LogDebug(DInfo.TypedItemDef, "JumpJet"); JumpJetDef jjDef = null; if (dm.JumpJetDefs.Exists(GUID)) { jjDef = dm.JumpJetDefs.Get(GUID); } Component = jjDef; Description = jjDef.Description; break; case ShopItemType.Upgrade: Control.LogDebug(DInfo.TypedItemDef, "Upgrade"); UpgradeDef upgradeDef = null; if (dm.UpgradeDefs.Exists(GUID)) { upgradeDef = dm.UpgradeDefs.Get(GUID); } Component = upgradeDef; Description = upgradeDef.Description; break; case ShopItemType.MechPart: case ShopItemType.Mech: Control.LogDebug(DInfo.TypedItemDef, item.Type.ToString()); var id = Control.GetMDefFromCDef(GUID); Control.LogDebug(DInfo.TypedItemDef, $"MechPart/Mech {GUID} {ID} {id}"); if (dm.MechDefs.Exists(id)) { Mech = dm.MechDefs.Get(id); } else { Control.LogError($"Cannot find Mech for {id}"); } Description = Type == ShopItemType.MechPart ? Mech.Description : Mech.Chassis.Description; break; } Control.LogDebug(DInfo.TypedItemDef, "done"); } catch (Exception e) { Control.LogError(e); } }