Exemplo n.º 1
0
 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();
                    }
                }
            }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 5
0
 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();
                    }
                }
            }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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)));
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        public override object ReadYaml(IParser parser, Type type)
        {
            var value = parser.Expect <Scalar>().Value;

            return(XivCollection.GetSheet <BaseParam>().Single(bp => bp.Name == value));
        }
Exemplo n.º 11
0
        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>();
 }
Exemplo n.º 13
0
        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)));
        }
Exemplo n.º 14
0
 public BNpcData(XivCollection collection, Libra.BNpcName libraRow) {
     _Base = collection.GetSheet<BNpcBase>()[(int)libraRow.BaseKey];
     _Name = collection.GetSheet<BNpcName>()[(int)libraRow.NameKey];
 }