protected override void ReadData(ESPReader reader)
 {
     using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
         using (ESPReader subReader = new ESPReader(stream, reader.Plugin))
         {
             try
             {
                 MagicEffectFlags = subReader.ReadEnum <MagicEffectFlags>();
                 BaseCost         = subReader.ReadSingle();
                 AssociatedItem.ReadBinary(subReader);
                 MagicSchool    = subReader.ReadEnum <MagicSchool>();
                 ResistanceType = subReader.ReadEnum <ActorValues>();
                 Unknown        = subReader.ReadUInt16();
                 Unused         = subReader.ReadBytes(2);
                 Light.ReadBinary(subReader);
                 ProjectileSpeed = subReader.ReadSingle();
                 EffectShader.ReadBinary(subReader);
                 ObjectDisplayShader.ReadBinary(subReader);
                 EffectSound.ReadBinary(subReader);
                 BoltSound.ReadBinary(subReader);
                 HitSound.ReadBinary(subReader);
                 AreaSound.ReadBinary(subReader);
                 ConstantEffectEnchantmentFactor = subReader.ReadSingle();
                 ConstantEffectBarterFactor      = subReader.ReadSingle();
                 Archetype  = subReader.ReadEnum <MagicEffectArchetype>();
                 ActorValue = subReader.ReadEnum <ActorValues>();
             }
             catch
             {
                 return;
             }
         }
 }
Esempio n. 2
0
 public RecipeData(ActorValues Skill, UInt32 Level, FormID Category, FormID SubCategory)
 {
     this.Skill       = Skill;
     this.Level       = Level;
     this.Category    = Category;
     this.SubCategory = SubCategory;
 }
Esempio n. 3
0
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Magnitude", false, out subEle))
            {
                Magnitude = subEle.ToUInt32();
            }

            if (ele.TryPathTo("Area", false, out subEle))
            {
                Area = subEle.ToUInt32();
            }

            if (ele.TryPathTo("Duration", false, out subEle))
            {
                Duration = subEle.ToUInt32();
            }

            if (ele.TryPathTo("Type", false, out subEle))
            {
                Type = subEle.ToEnum <EffectType>();
            }

            if (ele.TryPathTo("ActorValue", false, out subEle))
            {
                ActorValue = subEle.ToEnum <ActorValues>();
            }
        }
Esempio n. 4
0
 public RecipeData(string Tag = null)
     : base(Tag)
 {
     Skill       = new ActorValues();
     Level       = new UInt32();
     Category    = new FormID();
     SubCategory = new FormID();
 }
Esempio n. 5
0
 public EffectData(EffectData copyObject)
 {
     Magnitude  = copyObject.Magnitude;
     Area       = copyObject.Area;
     Duration   = copyObject.Duration;
     Type       = copyObject.Type;
     ActorValue = copyObject.ActorValue;
 }
Esempio n. 6
0
 public EffectData(UInt32 Magnitude, UInt32 Area, UInt32 Duration, EffectType Type, ActorValues ActorValue)
 {
     this.Magnitude  = Magnitude;
     this.Area       = Area;
     this.Duration   = Duration;
     this.Type       = Type;
     this.ActorValue = ActorValue;
 }
Esempio n. 7
0
 public EffectData(string Tag = null)
     : base(Tag)
 {
     Magnitude  = new UInt32();
     Area       = new UInt32();
     Duration   = new UInt32();
     Type       = new EffectType();
     ActorValue = new ActorValues();
 }
Esempio n. 8
0
 public ClassData(ActorValues TagSkill1, ActorValues TagSkill2, ActorValues TagSkill3, ActorValues TagSkill4, ClassDataFlag ClassDataFlags, ServicesFlag Services, Skills TrainingSkill, Byte MaxTrainingLevel, Byte[] Unused)
 {
     this.TagSkill1        = TagSkill1;
     this.TagSkill2        = TagSkill2;
     this.TagSkill3        = TagSkill3;
     this.TagSkill4        = TagSkill4;
     this.ClassDataFlags   = ClassDataFlags;
     this.Services         = Services;
     this.TrainingSkill    = TrainingSkill;
     this.MaxTrainingLevel = MaxTrainingLevel;
     this.Unused           = Unused;
 }
Esempio n. 9
0
 public ClassData(string Tag = null)
     : base(Tag)
 {
     TagSkill1        = new ActorValues();
     TagSkill2        = new ActorValues();
     TagSkill3        = new ActorValues();
     TagSkill4        = new ActorValues();
     ClassDataFlags   = new ClassDataFlag();
     Services         = new ServicesFlag();
     TrainingSkill    = new Skills();
     MaxTrainingLevel = new Byte();
     Unused           = new byte[2];
 }
 public MagicEffectData(MagicEffectData copyObject)
 {
     MagicEffectFlags = copyObject.MagicEffectFlags;
     BaseCost         = copyObject.BaseCost;
     if (copyObject.AssociatedItem != null)
     {
         AssociatedItem = (FormID)copyObject.AssociatedItem.Clone();
     }
     MagicSchool    = copyObject.MagicSchool;
     ResistanceType = copyObject.ResistanceType;
     Unknown        = copyObject.Unknown;
     if (copyObject.Unused != null)
     {
         Unused = (Byte[])copyObject.Unused.Clone();
     }
     if (copyObject.Light != null)
     {
         Light = (FormID)copyObject.Light.Clone();
     }
     ProjectileSpeed = copyObject.ProjectileSpeed;
     if (copyObject.EffectShader != null)
     {
         EffectShader = (FormID)copyObject.EffectShader.Clone();
     }
     if (copyObject.ObjectDisplayShader != null)
     {
         ObjectDisplayShader = (FormID)copyObject.ObjectDisplayShader.Clone();
     }
     if (copyObject.EffectSound != null)
     {
         EffectSound = (FormID)copyObject.EffectSound.Clone();
     }
     if (copyObject.BoltSound != null)
     {
         BoltSound = (FormID)copyObject.BoltSound.Clone();
     }
     if (copyObject.HitSound != null)
     {
         HitSound = (FormID)copyObject.HitSound.Clone();
     }
     if (copyObject.AreaSound != null)
     {
         AreaSound = (FormID)copyObject.AreaSound.Clone();
     }
     ConstantEffectEnchantmentFactor = copyObject.ConstantEffectEnchantmentFactor;
     ConstantEffectBarterFactor      = copyObject.ConstantEffectBarterFactor;
     Archetype  = copyObject.Archetype;
     ActorValue = copyObject.ActorValue;
 }
Esempio n. 11
0
 protected override void ReadData(ESPReader reader)
 {
     using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
         using (ESPReader subReader = new ESPReader(stream, reader.Plugin))
         {
             try
             {
                 Magnitude  = subReader.ReadUInt32();
                 Area       = subReader.ReadUInt32();
                 Duration   = subReader.ReadUInt32();
                 Type       = subReader.ReadEnum <EffectType>();
                 ActorValue = subReader.ReadEnum <ActorValues>();
             }
             catch
             {
                 return;
             }
         }
 }
 public MagicEffectData(MagicEffectFlags MagicEffectFlags, Single BaseCost, FormID AssociatedItem, MagicSchool MagicSchool, ActorValues ResistanceType, UInt16 Unknown, Byte[] Unused, FormID Light, Single ProjectileSpeed, FormID EffectShader, FormID ObjectDisplayShader, FormID EffectSound, FormID BoltSound, FormID HitSound, FormID AreaSound, Single ConstantEffectEnchantmentFactor, Single ConstantEffectBarterFactor, MagicEffectArchetype Archetype, ActorValues ActorValue)
 {
     this.MagicEffectFlags                = MagicEffectFlags;
     this.BaseCost                        = BaseCost;
     this.AssociatedItem                  = AssociatedItem;
     this.MagicSchool                     = MagicSchool;
     this.ResistanceType                  = ResistanceType;
     this.Unknown                         = Unknown;
     this.Unused                          = Unused;
     this.Light                           = Light;
     this.ProjectileSpeed                 = ProjectileSpeed;
     this.EffectShader                    = EffectShader;
     this.ObjectDisplayShader             = ObjectDisplayShader;
     this.EffectSound                     = EffectSound;
     this.BoltSound                       = BoltSound;
     this.HitSound                        = HitSound;
     this.AreaSound                       = AreaSound;
     this.ConstantEffectEnchantmentFactor = ConstantEffectEnchantmentFactor;
     this.ConstantEffectBarterFactor      = ConstantEffectBarterFactor;
     this.Archetype                       = Archetype;
     this.ActorValue                      = ActorValue;
 }
 public MagicEffectData(string Tag = null)
     : base(Tag)
 {
     MagicEffectFlags                = new MagicEffectFlags();
     BaseCost                        = new Single();
     AssociatedItem                  = new FormID();
     MagicSchool                     = new MagicSchool();
     ResistanceType                  = new ActorValues();
     Unknown                         = new UInt16();
     Unused                          = new byte[2];
     Light                           = new FormID();
     ProjectileSpeed                 = new Single();
     EffectShader                    = new FormID();
     ObjectDisplayShader             = new FormID();
     EffectSound                     = new FormID();
     BoltSound                       = new FormID();
     HitSound                        = new FormID();
     AreaSound                       = new FormID();
     ConstantEffectEnchantmentFactor = new Single();
     ConstantEffectBarterFactor      = new Single();
     Archetype                       = new MagicEffectArchetype();
     ActorValue                      = new ActorValues();
 }
 public WeaponExtraData(WeaponAnimationType AnimationType, Single AnimationMultiplier, Single Reach, WeaponDataFlags1 Flags1, WeaponGripAnimationType GripAnimation, Byte AmmoUse, WeaponReloadAnimationType ReloadAnimation, Single MinSpread, Single Spread, Byte[] Unknown, Single SightFOV, Single Unknown2, FormID Projectile, Byte BaseVATSToHitChance, WeaponAttackAnimationType AttackAnimation, Byte ProjectileCount, EmbeddedWeaponActorValue EmbeddedWeaponActorValue, Single MinRange, Single MaxRange, LimbKillBehavior LimbKillBehavior, WeaponDataFlags2 Flags2, Single AttackAnimationMultiplier, Single FireRate, Single ActionPointCost, Single RumbleLeftMotorStrength, Single RumbleRightMotorStrength, Single RumbleDuration, Single DamageToWeaponMult, Single AttackShotsPerSecond, Single ReloadTime, Single JamTime, Single AimArc, ActorValues Skill, WeaponRumblePattern RumblePattern, Single RumbleWavelength, Single LimbDamageMult, ActorValues ResistanceType, Single SightUsage, Single SemiAutomaticFireDelayMin, Single SemiAutomaticFireDelayMax, Single Unknown3, WeaponModEffect Mod1Effect, WeaponModEffect Mod2Effect, WeaponModEffect Mod3Effect, Single Mod1ValueA, Single Mod2ValueA, Single Mod3ValueA, WeaponPowerAttackAnimation PowerAttackAnimation, UInt32 StrengthRequirement, Byte Unknown4, WeaponReloadAnimationType Mod1ReloadAnimation, Byte[] Unknown5, Single AmmoRegenRate, Single KillImpulse, Single Mod1ValueB, Single Mod2ValueB, Single Mod3ValueB, Single ImpulseDistance, UInt32 SkillRequirement)
 {
     this.AnimationType       = AnimationType;
     this.AnimationMultiplier = AnimationMultiplier;
     this.Reach                     = Reach;
     this.Flags1                    = Flags1;
     this.GripAnimation             = GripAnimation;
     this.AmmoUse                   = AmmoUse;
     this.ReloadAnimation           = ReloadAnimation;
     this.MinSpread                 = MinSpread;
     this.Spread                    = Spread;
     this.Unknown                   = Unknown;
     this.SightFOV                  = SightFOV;
     this.Unknown2                  = Unknown2;
     this.Projectile                = Projectile;
     this.BaseVATSToHitChance       = BaseVATSToHitChance;
     this.AttackAnimation           = AttackAnimation;
     this.ProjectileCount           = ProjectileCount;
     this.EmbeddedWeaponActorValue  = EmbeddedWeaponActorValue;
     this.MinRange                  = MinRange;
     this.MaxRange                  = MaxRange;
     this.LimbKillBehavior          = LimbKillBehavior;
     this.Flags2                    = Flags2;
     this.AttackAnimationMultiplier = AttackAnimationMultiplier;
     this.FireRate                  = FireRate;
     this.ActionPointCost           = ActionPointCost;
     this.RumbleLeftMotorStrength   = RumbleLeftMotorStrength;
     this.RumbleRightMotorStrength  = RumbleRightMotorStrength;
     this.RumbleDuration            = RumbleDuration;
     this.DamageToWeaponMult        = DamageToWeaponMult;
     this.AttackShotsPerSecond      = AttackShotsPerSecond;
     this.ReloadTime                = ReloadTime;
     this.JamTime                   = JamTime;
     this.AimArc                    = AimArc;
     this.Skill                     = Skill;
     this.RumblePattern             = RumblePattern;
     this.RumbleWavelength          = RumbleWavelength;
     this.LimbDamageMult            = LimbDamageMult;
     this.ResistanceType            = ResistanceType;
     this.SightUsage                = SightUsage;
     this.SemiAutomaticFireDelayMin = SemiAutomaticFireDelayMin;
     this.SemiAutomaticFireDelayMax = SemiAutomaticFireDelayMax;
     this.Unknown3                  = Unknown3;
     this.Mod1Effect                = Mod1Effect;
     this.Mod2Effect                = Mod2Effect;
     this.Mod3Effect                = Mod3Effect;
     this.Mod1ValueA                = Mod1ValueA;
     this.Mod2ValueA                = Mod2ValueA;
     this.Mod3ValueA                = Mod3ValueA;
     this.PowerAttackAnimation      = PowerAttackAnimation;
     this.StrengthRequirement       = StrengthRequirement;
     this.Unknown4                  = Unknown4;
     this.Mod1ReloadAnimation       = Mod1ReloadAnimation;
     this.Unknown5                  = Unknown5;
     this.AmmoRegenRate             = AmmoRegenRate;
     this.KillImpulse               = KillImpulse;
     this.Mod1ValueB                = Mod1ValueB;
     this.Mod2ValueB                = Mod2ValueB;
     this.Mod3ValueB                = Mod3ValueB;
     this.ImpulseDistance           = ImpulseDistance;
     this.SkillRequirement          = SkillRequirement;
 }
 public WeaponExtraData(string Tag = null)
     : base(Tag)
 {
     AnimationType       = new WeaponAnimationType();
     AnimationMultiplier = new Single();
     Reach                     = new Single();
     Flags1                    = new WeaponDataFlags1();
     GripAnimation             = new WeaponGripAnimationType();
     AmmoUse                   = new Byte();
     ReloadAnimation           = new WeaponReloadAnimationType();
     MinSpread                 = new Single();
     Spread                    = new Single();
     Unknown                   = new byte[4];
     SightFOV                  = new Single();
     Unknown2                  = new Single();
     Projectile                = new FormID();
     BaseVATSToHitChance       = new Byte();
     AttackAnimation           = new WeaponAttackAnimationType();
     ProjectileCount           = new Byte();
     EmbeddedWeaponActorValue  = new EmbeddedWeaponActorValue();
     MinRange                  = new Single();
     MaxRange                  = new Single();
     LimbKillBehavior          = new LimbKillBehavior();
     Flags2                    = new WeaponDataFlags2();
     AttackAnimationMultiplier = new Single();
     FireRate                  = new Single();
     ActionPointCost           = new Single();
     RumbleLeftMotorStrength   = new Single();
     RumbleRightMotorStrength  = new Single();
     RumbleDuration            = new Single();
     DamageToWeaponMult        = new Single();
     AttackShotsPerSecond      = new Single();
     ReloadTime                = new Single();
     JamTime                   = new Single();
     AimArc                    = new Single();
     Skill                     = new ActorValues();
     RumblePattern             = new WeaponRumblePattern();
     RumbleWavelength          = new Single();
     LimbDamageMult            = new Single();
     ResistanceType            = new ActorValues();
     SightUsage                = new Single();
     SemiAutomaticFireDelayMin = new Single();
     SemiAutomaticFireDelayMax = new Single();
     Unknown3                  = new Single();
     Mod1Effect                = new WeaponModEffect();
     Mod2Effect                = new WeaponModEffect();
     Mod3Effect                = new WeaponModEffect();
     Mod1ValueA                = new Single();
     Mod2ValueA                = new Single();
     Mod3ValueA                = new Single();
     PowerAttackAnimation      = new WeaponPowerAttackAnimation();
     StrengthRequirement       = new UInt32();
     Unknown4                  = new Byte();
     Mod1ReloadAnimation       = new WeaponReloadAnimationType();
     Unknown5                  = new byte[2];
     AmmoRegenRate             = new Single();
     KillImpulse               = new Single();
     Mod1ValueB                = new Single();
     Mod2ValueB                = new Single();
     Mod3ValueB                = new Single();
     ImpulseDistance           = new Single();
     SkillRequirement          = new UInt32();
 }
Esempio n. 16
0
 public EntryPointActorValMult(string Tag = null)
     : base(Tag)
 {
     ActorValue = new ActorValues();
     Multiplier = new Single();
 }
Esempio n. 17
0
 public EntryPointActorValMult(ActorValues ActorValue, Single Multiplier)
 {
     this.ActorValue = ActorValue;
     this.Multiplier = Multiplier;
 }
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            if (ele.TryPathTo("Flags", false, out subEle))
            {
                MagicEffectFlags = subEle.ToEnum <MagicEffectFlags>();
            }

            if (ele.TryPathTo("BaseCost", false, out subEle))
            {
                BaseCost = subEle.ToSingle();
            }

            if (ele.TryPathTo("AssociatedItem", false, out subEle))
            {
                AssociatedItem.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("MagicSchool", false, out subEle))
            {
                MagicSchool = subEle.ToEnum <MagicSchool>();
            }

            if (ele.TryPathTo("ResistanceType", false, out subEle))
            {
                ResistanceType = subEle.ToEnum <ActorValues>();
            }

            if (ele.TryPathTo("Unknown", false, out subEle))
            {
                Unknown = subEle.ToUInt16();
            }

            ReadUnusedXML(ele, master);

            if (ele.TryPathTo("Light", false, out subEle))
            {
                Light.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("ProjectileSpeed", false, out subEle))
            {
                ProjectileSpeed = subEle.ToSingle();
            }

            if (ele.TryPathTo("EffectShader", false, out subEle))
            {
                EffectShader.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("ObjectDisplayShader", false, out subEle))
            {
                ObjectDisplayShader.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("EffectSound", false, out subEle))
            {
                EffectSound.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("BoltSound", false, out subEle))
            {
                BoltSound.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("HitSound", false, out subEle))
            {
                HitSound.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("AreaSound", false, out subEle))
            {
                AreaSound.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("ConstantEffectEnchantmentFactor", false, out subEle))
            {
                ConstantEffectEnchantmentFactor = subEle.ToSingle();
            }

            if (ele.TryPathTo("ConstantEffectBarterFactor", false, out subEle))
            {
                ConstantEffectBarterFactor = subEle.ToSingle();
            }

            if (ele.TryPathTo("Archetype", false, out subEle))
            {
                Archetype = subEle.ToEnum <MagicEffectArchetype>();
            }

            if (ele.TryPathTo("ActorValue", false, out subEle))
            {
                ActorValue = subEle.ToEnum <ActorValues>();
            }
        }