private void CreateEntry(StreamWriter fs, SaintCoinach.Xiv.Item item) { string[] itemStr = new string[item.SourceRow.Sheet.Header.ColumnCount]; int itemStrIndex = 0; foreach (var col in item.SourceRow.Sheet.Header.Columns) { // insert col key, {"name"} : itemStr[itemStrIndex] += WrapStringInBrackets(WrapStringInQuotes(col.Name)); itemStr[itemStrIndex] += ":"; // insert col key, {"name"} : var colRaw = item.ColumnValues().ElementAt(itemStrIndex); if (colRaw == null) { itemStr[itemStrIndex] += WrapStringInBrackets("null"); } else if (colRaw.GetType().Equals(typeof(SaintCoinach.Text.XivString))) { // insert col child(ren), {"name"} : {"Water Crystal"} SaintCoinach.Text.XivString colVal = (SaintCoinach.Text.XivString)colRaw; itemStr[itemStrIndex] += CreateFormattedStringWithBracketEnclosement(colVal.Children); } else { itemStr[itemStrIndex] += WrapStringInBrackets(WrapStringInQuotes(colRaw.ToString())); } itemStrIndex++; } finalizeWriteToFile(fs, itemStr); }
public static int GetPatchCategory(SaintCoinach.Xiv.Item item) { if (Hacks.IsItemSkipped(item.Name, item.Key)) { return(-1); } if (item.ItemAction is SaintCoinach.Xiv.ItemActions.MountUnlock) { return(17); } if (item.ItemAction is SaintCoinach.Xiv.ItemActions.CompanionUnlock) { return(11); } var equipment = item as SaintCoinach.Xiv.Items.Equipment; // PvP Equipment if (equipment != null && equipment.IsPvP) { return(18); } // Fixed categories if (ItemPatchCategoryByUICategory.TryGetValue(item.ItemUICategory.Key, out var category)) { return(category); } // Equipment by parameters if (equipment != null) { // Check parameters for accessories. foreach (var param in equipment.AllParameters) { var attrCategory = GetAttributePatchCategory(param.BaseParam); if (attrCategory != null && attrCategory.Value != 19) { return(attrCategory.Value); } } // Remaining soul crystals if (equipment.ItemUICategory.Key == 62) { return(0); } // No discernable parameters - Glamour. return(3); } // If you're reading this update the ItemPatchCategoryByUICategory map at the top of this file. throw new NotImplementedException($"Unknown patch category for {item.Name} ({item.Key}), ItemUICategory {item.ItemUICategory.Key}"); }
public Item(Player player, SaintCoinach.Xiv.Item entry, ulong guid, uint stackSize = 1u) { Debug.Assert(player != null); Debug.Assert(entry != null); owner = player; Entry = entry; Guid = guid; StackSize = stackSize; }
public int CompareEquipLevel(SaintCoinach.Xiv.Item x, SaintCoinach.Xiv.Item y) { int ex = 0; int ey = 0; if (x is SaintCoinach.Xiv.Items.Equipment) { ex = ((SaintCoinach.Xiv.Items.Equipment)x).EquipmentLevel; } if (y is SaintCoinach.Xiv.Items.Equipment) { ey = ((SaintCoinach.Xiv.Items.Equipment)y).EquipmentLevel; } return(((int)EquipLevelOption) * ex.CompareTo(ey)); }
public int CompareCategoryMajor(SaintCoinach.Xiv.Item x, SaintCoinach.Xiv.Item y) { return(((int)CategoryOption) * x.ItemUICategory.MajorOrder.CompareTo(y.ItemUICategory.MajorOrder)); }
public int CompareItemLevel(SaintCoinach.Xiv.Item x, SaintCoinach.Xiv.Item y) { return(((int)ItemLevelOption) * x.ItemLevel.Key.CompareTo(y.ItemLevel.Key)); }