static partial void WriteBinaryBodyTemplateCustom(MutagenWriter writer, IArmorAddonGetter item) { if (item.BodyTemplate.TryGet(out var templ)) { BodyTemplateBinaryWriteTranslation.Write(writer, templ); } }
public static void ProcessAndDistributeJewelary(IPatcherState <ISkyrimMod, ISkyrimModGetter> state) { Logger.InfoFormat("Creating Leveled list for Jewelary....."); ISkyrimMod patchedMod = FileUtils.GetOrAddPatch("ZZZ Jewelry"); Dictionary <string, HashSet <IArmorGetter> > jewelleries = new Dictionary <string, HashSet <IArmorGetter> >(); // Adding all the patches to load order foreach (IModListing <ISkyrimModGetter> modlist in state.LoadOrder.PriorityOrder .Where(x => Configuration.User.JewelryMods.Contains(x.ModKey.FileName) && x.Mod.Armors.Count > 0)) { // Getting Jewelary Armors ISkyrimModGetter mod = modlist.Mod; IEnumerable <IArmorGetter> armors = mod.Armors .Where(x => ArmorUtils.IsValidArmor(x) && x.Name != null); for (int i = 0; i < armors.Count(); i++) { IArmorGetter armor = armors.ElementAtOrDefault(i); IArmorAddonGetter addon = armor.Armature.FirstOrDefault().Resolve(Configuration.Cache); string gender = (addon.WorldModel.Male != null && addon.WorldModel.Female != null ? "_C_" : addon.WorldModel.Male == null ? "_F_" : "_M_"); var bodyFlags = armor.BodyTemplate.FirstPersonFlags; var key = bodyFlags.ToString() + gender; if (!jewelleries.ContainsKey(key)) { jewelleries.Add(key, new HashSet <IArmorGetter>()); } jewelleries.GetValueOrDefault(key).Add(armor); } } // Creating leveled list for the jewelleries string prefix = Configuration.Patcher.LeveledListPrefix + "_LL_Jewels_"; jewelleries.Where(x => !Regex.Match(x.Key.ToString(), "Decapitate", RegexOptions.IgnoreCase).Success) .ForEach(j => { string lvli_eid = prefix + j.Key.ToString().Replace(" ", "_"); OutfitUtils.CreateLeveledList(patchedMod, j.Value, lvli_eid, 1, LeveledItem.Flag.CalculateForEachItemInCount); }); Logger.InfoFormat("Leveled List created for Jewelary...."); // Writing patched mod to disk DistributeJewelaryUsingSPID(state, patchedMod); Logger.InfoFormat("Distribution of Jewelaries is completed...\n\n"); }
static partial void WriteBinaryWeightSliderEnabledCustom(MutagenWriter writer, IArmorAddonGetter item) { var weightSlider = item.WeightSliderEnabled; writer.Write(weightSlider.Male ? (byte)2 : default(byte)); writer.Write(weightSlider.Female ? (byte)2 : default(byte)); }