Example #1
0
        public CachedSkills(NXFile dataFile)
            : base()
        {
            foreach (NXNode categoryNode in dataFile.ResolvePath("/Skill"))
            {
                if (categoryNode.Name == "MobSkill.img")
                {
                    continue; // TODO: Mob Skills.
                }

                foreach (NXNode skillNode in categoryNode["skill"])
                {
                    int mapleId = int.Parse(skillNode.Name);

                    this.Add(mapleId, new Dictionary <byte, Skill>());

                    foreach (NXNode levelNode in skillNode["level"])
                    {
                        MapleData.InfoNode = levelNode;

                        Skill skill = new Skill();

                        skill.MapleID       = mapleId;
                        skill.ParameterA    = MapleData.GetShort("x");
                        skill.ParameterB    = MapleData.GetShort("y");
                        skill.LT            = MapleData.GetPosition("lt");
                        skill.RB            = MapleData.GetPosition("rb");
                        skill.Mastery       = MapleData.GetSByte("mastery");
                        skill.BuffTime      = MapleData.GetInt("time");
                        skill.MobCount      = MapleData.GetSByte("mobCount");
                        skill.HP            = MapleData.GetShort("hp");
                        skill.MP            = MapleData.GetShort("mp");
                        skill.WeaponAttack  = MapleData.GetShort("pad");
                        skill.WeaponDefense = MapleData.GetShort("pdd");
                        skill.MagicAttack   = MapleData.GetShort("mad");
                        skill.MagicDefense  = MapleData.GetShort("mdd");
                        skill.Avoid         = MapleData.GetShort("eva");
                        skill.Accuracy      = MapleData.GetShort("acc");
                        skill.Jump          = MapleData.GetShort("jump");
                        skill.Speed         = MapleData.GetShort("speed");
                        skill.CostHP        = MapleData.GetShort("hpCon");
                        skill.CostMP        = MapleData.GetShort("mpCon");
                        skill.CostItem      = MapleData.GetInt("itemCon");
                        skill.ItemCount     = MapleData.GetShort("itemConNo");
                        skill.CostBullet    = MapleData.GetShort("bulletCount");
                        skill.CostMeso      = MapleData.GetShort("moneyCon");
                        skill.Probability   = MapleData.GetShort("prop");

                        this[mapleId].Add(byte.Parse(levelNode.Name), skill);
                    }
                }
            }
        }
Example #2
0
        public CachedQuests(NXFile dataFile)
            : base()
        {
            foreach (NXNode questNode in dataFile.ResolvePath("/Quest/QuestInfo.img"))
            {
                MapleData.InfoNode = questNode;

                Quest quest = new Quest();

                quest.ID   = ushort.Parse(questNode.Name);
                quest.Area = MapleData.GetSByte("area");

                this.Add(quest);
            }
        }