Example #1
0
 protected override void ReadData(ESPReader reader)
 {
     using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
         using (ESPReader subReader = new ESPReader(stream, reader.Plugin))
         {
             try
             {
                 SkillBonus1       = subReader.ReadEnum <ActorValuesByte>();
                 SkillBonus1Amount = subReader.ReadByte();
                 SkillBonus2       = subReader.ReadEnum <ActorValuesByte>();
                 SkillBonus2Amount = subReader.ReadByte();
                 SkillBonus3       = subReader.ReadEnum <ActorValuesByte>();
                 SkillBonus3Amount = subReader.ReadByte();
                 SkillBonus4       = subReader.ReadEnum <ActorValuesByte>();
                 SkillBonus4Amount = subReader.ReadByte();
                 SkillBonus5       = subReader.ReadEnum <ActorValuesByte>();
                 SkillBonus5Amount = subReader.ReadByte();
                 SkillBonus6       = subReader.ReadEnum <ActorValuesByte>();
                 SkillBonus6Amount = subReader.ReadByte();
                 SkillBonus7       = subReader.ReadEnum <ActorValuesByte>();
                 SkillBonus7Amount = subReader.ReadByte();
                 Unused            = subReader.ReadBytes(2);
                 MaleHeight        = subReader.ReadSingle();
                 FemaleHeight      = subReader.ReadSingle();
                 MaleWeight        = subReader.ReadSingle();
                 FemaleWeight      = subReader.ReadSingle();
                 RaceFlags         = subReader.ReadEnum <RaceFlags>();
             }
             catch
             {
                 return;
             }
         }
 }
Example #2
0
 public RaceData(RaceData copyObject)
 {
     SkillBonus1       = copyObject.SkillBonus1;
     SkillBonus1Amount = copyObject.SkillBonus1Amount;
     SkillBonus2       = copyObject.SkillBonus2;
     SkillBonus2Amount = copyObject.SkillBonus2Amount;
     SkillBonus3       = copyObject.SkillBonus3;
     SkillBonus3Amount = copyObject.SkillBonus3Amount;
     SkillBonus4       = copyObject.SkillBonus4;
     SkillBonus4Amount = copyObject.SkillBonus4Amount;
     SkillBonus5       = copyObject.SkillBonus5;
     SkillBonus5Amount = copyObject.SkillBonus5Amount;
     SkillBonus6       = copyObject.SkillBonus6;
     SkillBonus6Amount = copyObject.SkillBonus6Amount;
     SkillBonus7       = copyObject.SkillBonus7;
     SkillBonus7Amount = copyObject.SkillBonus7Amount;
     if (copyObject.Unused != null)
     {
         Unused = (Byte[])copyObject.Unused.Clone();
     }
     MaleHeight   = copyObject.MaleHeight;
     FemaleHeight = copyObject.FemaleHeight;
     MaleWeight   = copyObject.MaleWeight;
     FemaleWeight = copyObject.FemaleWeight;
     RaceFlags    = copyObject.RaceFlags;
 }
Example #3
0
 public RaceDefinition(Race race, string name, int factionId, RaceFlags flags, int displayIdMale, int displayIdFemale, int firstLoginCinematicId)
 {
     Race                  = race;
     Name                  = name;
     FactionID             = factionId;
     Flags                 = flags;
     DisplayIDMale         = displayIdMale;
     DisplayIDFemale       = displayIdFemale;
     FirstLoginCinematicID = firstLoginCinematicId;
 }
Example #4
0
 public RaceData(ActorValuesByte SkillBonus1, Byte SkillBonus1Amount, ActorValuesByte SkillBonus2, Byte SkillBonus2Amount, ActorValuesByte SkillBonus3, Byte SkillBonus3Amount, ActorValuesByte SkillBonus4, Byte SkillBonus4Amount, ActorValuesByte SkillBonus5, Byte SkillBonus5Amount, ActorValuesByte SkillBonus6, Byte SkillBonus6Amount, ActorValuesByte SkillBonus7, Byte SkillBonus7Amount, Byte[] Unused, Single MaleHeight, Single FemaleHeight, Single MaleWeight, Single FemaleWeight, RaceFlags RaceFlags)
 {
     this.SkillBonus1       = SkillBonus1;
     this.SkillBonus1Amount = SkillBonus1Amount;
     this.SkillBonus2       = SkillBonus2;
     this.SkillBonus2Amount = SkillBonus2Amount;
     this.SkillBonus3       = SkillBonus3;
     this.SkillBonus3Amount = SkillBonus3Amount;
     this.SkillBonus4       = SkillBonus4;
     this.SkillBonus4Amount = SkillBonus4Amount;
     this.SkillBonus5       = SkillBonus5;
     this.SkillBonus5Amount = SkillBonus5Amount;
     this.SkillBonus6       = SkillBonus6;
     this.SkillBonus6Amount = SkillBonus6Amount;
     this.SkillBonus7       = SkillBonus7;
     this.SkillBonus7Amount = SkillBonus7Amount;
     this.Unused            = Unused;
     this.MaleHeight        = MaleHeight;
     this.FemaleHeight      = FemaleHeight;
     this.MaleWeight        = MaleWeight;
     this.FemaleWeight      = FemaleWeight;
     this.RaceFlags         = RaceFlags;
 }
Example #5
0
        public RaceData(System.IO.BinaryReader reader)
        {
            for (var i = 0; i < 7; i++)
            {
                var skill = (CharacterSkill)reader.ReadInt32();
                var bonus = reader.ReadInt32();
                skillBonuses[i] = new Tuple <CharacterSkill, int>(skill, bonus);
            }

            for (var i = 0; i < attributes.Length; i++)
            {
                var maleAttribute   = reader.ReadInt32();
                var femaleAttribute = reader.ReadInt32();
                attributes[i] = new Tuple <int, int>(maleAttribute, femaleAttribute);
            }

            maleHeight   = reader.ReadSingle();
            femaleHeight = reader.ReadSingle();
            maleWeight   = reader.ReadSingle();
            femaleWeight = reader.ReadSingle();

            flags = (RaceFlags)reader.ReadInt32();
        }
Example #6
0
 public RaceData(string Tag = null)
     : base(Tag)
 {
     SkillBonus1       = new ActorValuesByte();
     SkillBonus1Amount = new Byte();
     SkillBonus2       = new ActorValuesByte();
     SkillBonus2Amount = new Byte();
     SkillBonus3       = new ActorValuesByte();
     SkillBonus3Amount = new Byte();
     SkillBonus4       = new ActorValuesByte();
     SkillBonus4Amount = new Byte();
     SkillBonus5       = new ActorValuesByte();
     SkillBonus5Amount = new Byte();
     SkillBonus6       = new ActorValuesByte();
     SkillBonus6Amount = new Byte();
     SkillBonus7       = new ActorValuesByte();
     SkillBonus7Amount = new Byte();
     Unused            = new byte[2];
     MaleHeight        = new Single();
     FemaleHeight      = new Single();
     MaleWeight        = new Single();
     FemaleWeight      = new Single();
     RaceFlags         = new RaceFlags();
 }
Example #7
0
 public void SetFlag(RaceFlags flags)
 {
     mFlags |= flags;
 }
Example #8
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("SkillBonuses/Bonus1/Skill", false, out subEle))
            {
                SkillBonus1 = subEle.ToEnum <ActorValuesByte>();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus1/Amount", false, out subEle))
            {
                SkillBonus1Amount = subEle.ToByte();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus2/Skill", false, out subEle))
            {
                SkillBonus2 = subEle.ToEnum <ActorValuesByte>();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus2/Amount", false, out subEle))
            {
                SkillBonus2Amount = subEle.ToByte();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus3/Skill", false, out subEle))
            {
                SkillBonus3 = subEle.ToEnum <ActorValuesByte>();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus3/Amount", false, out subEle))
            {
                SkillBonus3Amount = subEle.ToByte();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus4/Skill", false, out subEle))
            {
                SkillBonus4 = subEle.ToEnum <ActorValuesByte>();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus4/Amount", false, out subEle))
            {
                SkillBonus4Amount = subEle.ToByte();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus5/Skill", false, out subEle))
            {
                SkillBonus5 = subEle.ToEnum <ActorValuesByte>();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus5/Amount", false, out subEle))
            {
                SkillBonus5Amount = subEle.ToByte();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus6/Skill", false, out subEle))
            {
                SkillBonus6 = subEle.ToEnum <ActorValuesByte>();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus6/Amount", false, out subEle))
            {
                SkillBonus6Amount = subEle.ToByte();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus7/Skill", false, out subEle))
            {
                SkillBonus7 = subEle.ToEnum <ActorValuesByte>();
            }

            if (ele.TryPathTo("SkillBonuses/Bonus7/Amount", false, out subEle))
            {
                SkillBonus7Amount = subEle.ToByte();
            }

            ReadUnusedXML(ele, master);

            if (ele.TryPathTo("Height/Male", false, out subEle))
            {
                MaleHeight = subEle.ToSingle();
            }

            if (ele.TryPathTo("Height/Female", false, out subEle))
            {
                FemaleHeight = subEle.ToSingle();
            }

            if (ele.TryPathTo("Weight/Male", false, out subEle))
            {
                MaleWeight = subEle.ToSingle();
            }

            if (ele.TryPathTo("Weight/Female", false, out subEle))
            {
                FemaleWeight = subEle.ToSingle();
            }

            if (ele.TryPathTo("Flags", false, out subEle))
            {
                RaceFlags = subEle.ToEnum <RaceFlags>();
            }
        }
Example #9
0
 public static bool IsSet(this RaceFlags options, RaceFlags flags)
 {
     return((options & flags) == flags);
 }