Пример #1
0
        public CooldownConfigParser(Class c)
        {
            var filePath = Path.Combine(App.ResourcesPath, "config", "skills", $"{c.ToString().ToLower()}-skills.json");

            if (File.Exists(filePath))
            {
                Data = JsonConvert.DeserializeObject <CooldownConfigData>(File.ReadAllText(filePath));
                return;
            }

            Data = GetDefaults(c);
        }
Пример #2
0
        private static CooldownConfigData GetDefaults(Class c)
        {
            var ret = new CooldownConfigData();

            switch (c)
            {
            case Class.Warrior:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(410100, CooldownType.Skill),
                    new CooldownData(300100, CooldownType.Skill),
                    new CooldownData(181100, CooldownType.Skill),
                    new CooldownData(40100, CooldownType.Skill),
                    new CooldownData(280730, CooldownType.Skill),
                    new CooldownData(160700, CooldownType.Skill),
                    new CooldownData(191000, CooldownType.Skill),
                    new CooldownData(400100, CooldownType.Skill),
                    new CooldownData(290730, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(420100, CooldownType.Skill),
                });
                break;

            case Class.Lancer:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(50100, CooldownType.Skill),
                    new CooldownData(30100, CooldownType.Skill),
                    new CooldownData(180100, CooldownType.Skill),
                    new CooldownData(100100, CooldownType.Skill),
                    new CooldownData(131100, CooldownType.Skill),
                    new CooldownData(80100, CooldownType.Skill),
                    new CooldownData(250100, CooldownType.Skill),
                    new CooldownData(280100, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(160700, CooldownType.Skill),
                    new CooldownData(220100, CooldownType.Skill),
                    new CooldownData(300100, CooldownType.Skill),
                });
                break;

            case Class.Slayer:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(21400, CooldownType.Skill),
                    new CooldownData(30100, CooldownType.Skill),
                    new CooldownData(80100, CooldownType.Skill),
                    new CooldownData(120100, CooldownType.Skill),
                    new CooldownData(220200, CooldownType.Skill),
                    new CooldownData(230900, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(60100, CooldownType.Skill),
                });
                break;

            case Class.Berserker:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(31400, CooldownType.Skill),
                    new CooldownData(101400, CooldownType.Skill),
                    new CooldownData(151200, CooldownType.Skill),
                    new CooldownData(240500, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(270100, CooldownType.Skill),
                    new CooldownData(80700, CooldownType.Skill),
                });
                break;

            case Class.Sorcerer:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(21500, CooldownType.Skill),
                    new CooldownData(41500, CooldownType.Skill),
                    new CooldownData(120900, CooldownType.Skill),
                    new CooldownData(271000, CooldownType.Skill),
                    new CooldownData(301000, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(70100, CooldownType.Skill),
                    new CooldownData(260100, CooldownType.Skill),
                });
                break;

            case Class.Archer:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(31400, CooldownType.Skill),
                    new CooldownData(41400, CooldownType.Skill),
                    new CooldownData(51000, CooldownType.Skill),
                    new CooldownData(81200, CooldownType.Skill),
                    new CooldownData(221100, CooldownType.Skill),
                    new CooldownData(221100, CooldownType.Skill),
                    new CooldownData(320300, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(60300, CooldownType.Skill),
                    new CooldownData(70700, CooldownType.Skill),
                    new CooldownData(360100, CooldownType.Skill),
                });
                break;

            case Class.Priest:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(181200, CooldownType.Skill),
                    new CooldownData(193200, CooldownType.Skill),
                    new CooldownData(220500, CooldownType.Skill),
                    new CooldownData(370200, CooldownType.Skill),
                    new CooldownData(401000, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(120100, CooldownType.Skill),
                    new CooldownData(300800, CooldownType.Skill),
                    new CooldownData(330300, CooldownType.Skill),
                });
                break;

            case Class.Mystic:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(53100, CooldownType.Skill),
                    new CooldownData(423200, CooldownType.Skill),
                    new CooldownData(70100, CooldownType.Skill),
                    new CooldownData(100100, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(60100, CooldownType.Skill),
                    new CooldownData(170100, CooldownType.Skill),
                    new CooldownData(280600, CooldownType.Skill),
                });
                break;

            case Class.Reaper:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(30300, CooldownType.Skill),
                    new CooldownData(50300, CooldownType.Skill),
                    new CooldownData(60200, CooldownType.Skill),
                    new CooldownData(40300, CooldownType.Skill),
                    new CooldownData(100200, CooldownType.Skill),
                    new CooldownData(80200, CooldownType.Skill),
                    new CooldownData(190100, CooldownType.Skill),
                    new CooldownData(120200, CooldownType.Skill),
                    new CooldownData(90100, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(230100, CooldownType.Skill),
                    new CooldownData(110200, CooldownType.Skill),
                    new CooldownData(150300, CooldownType.Skill),
                });
                break;

            case Class.Gunner:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(151000, CooldownType.Skill),
                    new CooldownData(31100, CooldownType.Skill),
                    new CooldownData(71100, CooldownType.Skill),
                    new CooldownData(61100, CooldownType.Skill),
                    new CooldownData(91000, CooldownType.Skill),
                    new CooldownData(430100, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(470100, CooldownType.Skill),
                    new CooldownData(110800, CooldownType.Skill),
                    new CooldownData(400100, CooldownType.Skill),
                    new CooldownData(210300, CooldownType.Skill),
                });
                ret.Hidden.AddRange(new[]
                {
                    new CooldownData(110731, CooldownType.Skill),
                });
                break;

            case Class.Brawler:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(41000, CooldownType.Skill),
                    new CooldownData(71000, CooldownType.Skill),     //rhk
                    new CooldownData(91000, CooldownType.Skill),     //jh
                    new CooldownData(81000, CooldownType.Skill),     //pd
                    new CooldownData(61000, CooldownType.Skill),     //hm
                    new CooldownData(240100, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(260100, CooldownType.Skill),
                    new CooldownData(50900, CooldownType.Skill),
                });
                break;

            case Class.Ninja:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(30800, CooldownType.Skill),
                    new CooldownData(71000, CooldownType.Skill),
                    new CooldownData(141100, CooldownType.Skill),
                    new CooldownData(121100, CooldownType.Skill),
                    new CooldownData(131000, CooldownType.Skill),
                    new CooldownData(61000, CooldownType.Skill),
                    new CooldownData(190500, CooldownType.Skill),
                    new CooldownData(220100, CooldownType.Skill),
                    new CooldownData(210190, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(20100, CooldownType.Skill),
                    new CooldownData(53100, CooldownType.Skill),
                    new CooldownData(90100, CooldownType.Skill),
                });
                break;

            case Class.Valkyrie:
                ret.Main.AddRange(new[]
                {
                    new CooldownData(55500, CooldownType.Skill),
                    new CooldownData(115300, CooldownType.Skill),
                    new CooldownData(66000, CooldownType.Skill),
                    new CooldownData(75800, CooldownType.Skill),
                    new CooldownData(96000, CooldownType.Skill),
                    new CooldownData(106000, CooldownType.Skill),
                    new CooldownData(136100, CooldownType.Skill),
                    new CooldownData(166000, CooldownType.Skill),
                    new CooldownData(245100, CooldownType.Skill),
                    new CooldownData(230100, CooldownType.Skill),
                });
                ret.Secondary.AddRange(new[]
                {
                    new CooldownData(80100, CooldownType.Skill),
                    new CooldownData(205800, CooldownType.Skill),
                });
                break;
            }

            return(ret);
        }