private static CharacterFile.WeaponSave WeaponFromItem(IItem item, IDye dye) { CharacterFile.WeaponSave save = new CharacterFile.WeaponSave(); save.Color = Color.White; save.Scale = Vector.One; save.ModelSet = item.ModelSet; save.ModelBase = item.ModelBase; save.ModelVariant = item.ModelVariant; if (dye != null) { save.DyeId = dye.Id; } return(save); }
private static IItemModel GetWeaponModel(CharacterFile.WeaponSave weaponSave, bool mainHand) { if (weaponSave.ModelSet == 0 && weaponSave.ModelBase == 0 && weaponSave.ModelVariant == 0) { return(null); } foreach (IItem item in allItems) { if (item is XivGear itemModel) { if (itemModel.ModelInfo.PrimaryID == weaponSave.ModelSet && itemModel.ModelInfo.SecondaryID == weaponSave.ModelBase && itemModel.ModelInfo.ImcSubsetID == weaponSave.ModelVariant) { return(mainHand ? itemModel : itemModel.PairedItem); } } } throw new Exception($"Could not find model for weapon save: {weaponSave}"); }