public Enumerator(XivCollection collection) { _GilShopEnumerator = collection.GetSheet <GilShop>().GetEnumerator(); _GCShopEnumerator = collection.GetSheet <GCShop>().GetEnumerator(); _SpecialShopEnumerator = collection.GetSheet <SpecialShop>().GetEnumerator(); _FccShopEnumerator = collection.GetSheet <FccShop>().GetEnumerator(); }
internal RewardItem(JsonReader reader, XivCollection collection) { if (reader.TokenType != JsonToken.StartObject) throw new InvalidOperationException(); var allItems = collection.GetSheet<Item>(); var allQuests = collection.GetSheet<Quest>(); while (reader.Read() && reader.TokenType != JsonToken.EndObject) { if (reader.TokenType != JsonToken.PropertyName) throw new InvalidOperationException(); switch (reader.Value.ToString()) { case "has_rate_condition": this.HasRateCondition = ReadCondition(reader); break; case "Item": ReadItem(reader, allItems); break; case "Quest": ReadRequiredQuest(reader, allQuests); break; case "is_week_restriction_one": this.HasWeekRestriction = ReadCondition(reader); break; default: Console.Error.WriteLine("Unknown 'InstanceContent.RewardItem' data key: {0}", reader.Value); throw new NotSupportedException(); } } }
public ItemCollection(XivCollection collection) { Collection = collection; InventoryItemSheet = collection.GetSheet <Item>(); EventItemSheet = collection.GetSheet <EventItem>(); _InventoryRanges = Range.Combine(InventoryItemSheet.Header.DataFileRanges); _EventRanges = Range.Combine(EventItemSheet.Header.DataFileRanges); }
public ClassJobActionCollection(XivCollection collection) { Collection = collection; ActionSheet = collection.GetSheet <Action>(); CraftActionSheet = collection.GetSheet <CraftAction>(); _ActionRanges = Range.Combine(ActionSheet.Header.DataFileRanges); _CraftActionRanges = Range.Combine(CraftActionSheet.Header.DataFileRanges); }
public BNpcCollection(XivCollection collection) { if (collection == null) { throw new ArgumentNullException("collection"); } if (!collection.IsLibraAvailable) { throw new NotSupportedException("BNpcs are only available when Libra Eorzea database is present."); } Collection = collection; BaseSheet = collection.GetSheet <BNpcBase>(); NameSheet = collection.GetSheet <BNpcName>(); }
internal Treasure(JsonReader reader, XivCollection collection) { if (reader.TokenType != JsonToken.StartObject) throw new InvalidOperationException(); var allItems = collection.GetSheet<Item>(); while (reader.Read() && reader.TokenType != JsonToken.EndObject) { if (reader.TokenType != JsonToken.PropertyName) throw new InvalidOperationException(); switch (reader.Value.ToString()) { case "Currency": ReadCurrency(reader); break; case "Item": ReadItems(reader, allItems); break; case "WeekRestrictionIndex": ReadWeeklyRestriction(reader); break; case "coordinate": ReadCoordinates(reader); break; default: Console.Error.WriteLine("Unknown 'InstanceContent.Treasure' data key: {0}", reader.Value); throw new NotSupportedException(); } } }
static JArray ExtractFoodTypes(XivCollection gameData, int[] types) { JArray res = new JArray(); foreach (var item in gameData.GetSheet <Item>()) { foreach (int type in types) { if (item.ItemAction.Type == type) { if (gameData.GetSheet <ItemFood>().ContainsRow(item.ItemAction.GetData(1))) { var food = gameData.GetSheet <ItemFood>()[item.ItemAction.GetData(1)]; if (food != null) { JObject foodRow = new JObject(); foreach (var param in food.Parameters) { if (param.BaseParam.DefaultValue.ToString() == "CP" || param.BaseParam.DefaultValue.ToString() == "Control" || param.BaseParam.DefaultValue.ToString() == "Craftsmanship") { if (foodRow.GetValue("itemId") == null) { foodRow.Add("itemId", item.Key); } JArray paramRow = new JArray(); foreach (var value in param.Values) { var valueRow = new JObject(); valueRow.Add("amount", ((ParameterValueRelativeLimited)value).Amount); valueRow.Add("max", ((ParameterValueRelativeLimited)value).Maximum); paramRow.Add(valueRow); } foodRow.Add(param.BaseParam.DefaultValue.ToString(), paramRow); } } if (foodRow.HasValues) { res.Add(foodRow); } } } } } } return(res); }
public override object ReadYaml(IParser parser, Type type) { var value = parser.Expect <Scalar>().Value; return (XivCollection.GetSheet <ClassJob>() .Single(e => string.Equals(e.Abbreviation, value, StringComparison.InvariantCultureIgnoreCase))); }
static void ExtractActionIcons(XivCollection gameData) { JObject res = new JObject(); foreach (var action in gameData.GetSheet <CraftAction>()) { int iconId = GetIconId(action.Icon); if (iconId != 405 && iconId > 0) { res.Add(action.Key.ToString(), iconId); } } foreach (var action in gameData.GetSheet <SaintCoinach.Xiv.Action>()) { int iconId = GetIconId(action.Icon); if (iconId != 405 && iconId > 0) { res.Add(action.Key.ToString(), iconId); } } string json = Regex.Replace(res.ToString(), "(\"(?:[^\"\\\\]|\\\\.)*\")|\\s+", "$1"); File.WriteAllText(AppDomain.CurrentDomain.BaseDirectory + BASE_ANGULAR_PATH + "src\\app\\core\\data\\sources\\action-icons.json", json); }
public override object ReadYaml(IParser parser, Type type) { var value = parser.Expect <Scalar>().Value; return(XivCollection.GetSheet <BaseParam>().Single(bp => bp.Name == value)); }
public override object ReadYaml(IParser parser, Type type) { var value = parser.Expect <Scalar>().Value; return(XivCollection.GetSheet <ClassJob>().Single(e => e.Abbreviation == value)); }
public ENpcCollection(XivCollection xivCollection) { Collection = xivCollection; BaseSheet = xivCollection.GetSheet <ENpcBase>(); ResidentSheet = xivCollection.GetSheet <ENpcResident>(); }
public override object ReadYaml(IParser parser, Type type) { var value = parser.Expect <Scalar>().Value; return(XivCollection.GetSheet <BaseParam>().Single(bp => string.Equals(bp.Name, value, StringComparison.InvariantCultureIgnoreCase))); }
public BNpcData(XivCollection collection, Libra.BNpcName libraRow) { _Base = collection.GetSheet<BNpcBase>()[(int)libraRow.BaseKey]; _Name = collection.GetSheet<BNpcName>()[(int)libraRow.NameKey]; }