public static Skill Deserialize(GenericReader gr, int ind)
        {
            string cl = gr.ReadString();

            if (cl == "TwoHandedSkill")
            {
                cl = "TwoHandedSwordSkill";
            }
            ConstructorInfo ct = Utility.FindConstructor(cl);
            Skill           s  = (Skill)ct.Invoke(null);

            s.Deserialize(gr, ind, true);
            return(s);
        }
Exemple #2
0
        public Skills(Mobile owner, GenericReader reader)
        {
            m_Owner = owner;

            int version = reader.ReadInt();

            switch (version)
            {
            case 3:
            case 2:
            {
                m_Cap = reader.ReadInt();

                goto case 1;
            }

            case 1:
            {
                if (version < 2)
                {
                    m_Cap = 7000;
                }

                if (version < 3)
                {
                    /*m_Total =*/ reader.ReadInt();
                }

                SkillInfo[] info = SkillInfo.Table;

                m_Skills = new Skill[info.Length];

                int count = reader.ReadInt();

                for (int i = 0; i < count; ++i)
                {
                    if (i < info.Length)
                    {
                        Skill sk = Skill.Deserialize(this, info[i], reader);

                        if (sk != null)
                        {
                            m_Skills[i] = sk;
                            m_Total    += sk.BaseFixedPoint;
                        }
                    }
                    else
                    {
                        Skill.Deserialize(this, null, reader);
                    }
                }

                //for ( int i = count; i < info.Length; ++i )
                //	m_Skills[i] = new Skill( this, info[i], 0, 1000, SkillLock.Up );

                break;
            }

            case 0:
            {
                reader.ReadInt();

                goto case 1;
            }
            }
        }