Example #1
0
        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}");
        }