protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master) { XElement subEle; ele.TryPathTo("AnimationType", true, out subEle); subEle.Value = AnimationType.ToString(); ele.TryPathTo("AnimationMultiplier", true, out subEle); subEle.Value = AnimationMultiplier.ToString("G15"); ele.TryPathTo("Reach", true, out subEle); subEle.Value = Reach.ToString("G15"); ele.TryPathTo("Flags1", true, out subEle); subEle.Value = Flags1.ToString(); ele.TryPathTo("GripAnimation", true, out subEle); subEle.Value = GripAnimation.ToString(); ele.TryPathTo("AmmoUse", true, out subEle); subEle.Value = AmmoUse.ToString(); ele.TryPathTo("ReloadAnimation", true, out subEle); subEle.Value = ReloadAnimation.ToString(); ele.TryPathTo("MinSpread", true, out subEle); subEle.Value = MinSpread.ToString("G15"); ele.TryPathTo("Spread", true, out subEle); subEle.Value = Spread.ToString("G15"); ele.TryPathTo("Unknown", true, out subEle); subEle.Value = Unknown.ToHex(); ele.TryPathTo("SightFOV", true, out subEle); subEle.Value = SightFOV.ToString("G15"); ele.TryPathTo("Unknown2", true, out subEle); subEle.Value = Unknown2.ToString("G15"); ele.TryPathTo("Projectile", true, out subEle); Projectile.WriteXML(subEle, master); ele.TryPathTo("BaseVATSToHitChance", true, out subEle); subEle.Value = BaseVATSToHitChance.ToString(); ele.TryPathTo("AttackAnimation", true, out subEle); subEle.Value = AttackAnimation.ToString(); ele.TryPathTo("ProjectileCount", true, out subEle); subEle.Value = ProjectileCount.ToString(); ele.TryPathTo("EmbeddedWeaponActorValue", true, out subEle); subEle.Value = EmbeddedWeaponActorValue.ToString(); ele.TryPathTo("Range/Min", true, out subEle); subEle.Value = MinRange.ToString("G15"); ele.TryPathTo("Range/Max", true, out subEle); subEle.Value = MaxRange.ToString("G15"); ele.TryPathTo("LimbKillBehavior", true, out subEle); subEle.Value = LimbKillBehavior.ToString(); ele.TryPathTo("Flags2", true, out subEle); subEle.Value = Flags2.ToString(); ele.TryPathTo("AttackAnimationMultiplier", true, out subEle); subEle.Value = AttackAnimationMultiplier.ToString("G15"); ele.TryPathTo("FireRate", true, out subEle); subEle.Value = FireRate.ToString("G15"); ele.TryPathTo("ActionPointCost", true, out subEle); subEle.Value = ActionPointCost.ToString("G15"); ele.TryPathTo("Rumble/LeftMotorStrength", true, out subEle); subEle.Value = RumbleLeftMotorStrength.ToString("G15"); ele.TryPathTo("Rumble/RightMotorStrength", true, out subEle); subEle.Value = RumbleRightMotorStrength.ToString("G15"); ele.TryPathTo("Rumble/Duration", true, out subEle); subEle.Value = RumbleDuration.ToString("G15"); ele.TryPathTo("DamageToWeaponMult", true, out subEle); subEle.Value = DamageToWeaponMult.ToString("G15"); ele.TryPathTo("AttackShotsPerSecond", true, out subEle); subEle.Value = AttackShotsPerSecond.ToString("G15"); ele.TryPathTo("ReloadTime", true, out subEle); subEle.Value = ReloadTime.ToString("G15"); ele.TryPathTo("JamTime", true, out subEle); subEle.Value = JamTime.ToString("G15"); ele.TryPathTo("AimArc", true, out subEle); subEle.Value = AimArc.ToString("G15"); ele.TryPathTo("Skill", true, out subEle); subEle.Value = Skill.ToString(); ele.TryPathTo("Rumble/Pattern", true, out subEle); subEle.Value = RumblePattern.ToString(); ele.TryPathTo("Rumble/Wavelength", true, out subEle); subEle.Value = RumbleWavelength.ToString("G15"); ele.TryPathTo("LimbDamageMult", true, out subEle); subEle.Value = LimbDamageMult.ToString("G15"); ele.TryPathTo("ResistanceType", true, out subEle); subEle.Value = ResistanceType.ToString(); ele.TryPathTo("SightUsage", true, out subEle); subEle.Value = SightUsage.ToString("G15"); ele.TryPathTo("SemiAutomaticFireDelay/Min", true, out subEle); subEle.Value = SemiAutomaticFireDelayMin.ToString("G15"); ele.TryPathTo("SemiAutomaticFireDelay/Max", true, out subEle); subEle.Value = SemiAutomaticFireDelayMax.ToString("G15"); ele.TryPathTo("Unknown3", true, out subEle); subEle.Value = Unknown3.ToString("G15"); ele.TryPathTo("Mods/Mod1/Effect", true, out subEle); subEle.Value = Mod1Effect.ToString(); ele.TryPathTo("Mods/Mod2/Effect", true, out subEle); subEle.Value = Mod2Effect.ToString(); ele.TryPathTo("Mods/Mod3/Effect", true, out subEle); subEle.Value = Mod3Effect.ToString(); ele.TryPathTo("Mods/Mod1/ValueA", true, out subEle); subEle.Value = Mod1ValueA.ToString("G15"); ele.TryPathTo("Mods/Mod2/ValueA", true, out subEle); subEle.Value = Mod2ValueA.ToString("G15"); ele.TryPathTo("Mods/Mod3/ValueA", true, out subEle); subEle.Value = Mod3ValueA.ToString("G15"); ele.TryPathTo("PowerAttackAnimation", true, out subEle); subEle.Value = PowerAttackAnimation.ToString(); ele.TryPathTo("StrengthRequirement", true, out subEle); subEle.Value = StrengthRequirement.ToString(); ele.TryPathTo("Unknown4", true, out subEle); subEle.Value = Unknown4.ToString(); ele.TryPathTo("Mods/Mod1/ReloadAnimation", true, out subEle); subEle.Value = Mod1ReloadAnimation.ToString(); ele.TryPathTo("Unknown5", true, out subEle); subEle.Value = Unknown5.ToHex(); ele.TryPathTo("AmmoRegenRate", true, out subEle); subEle.Value = AmmoRegenRate.ToString("G15"); ele.TryPathTo("KillImpulse", true, out subEle); subEle.Value = KillImpulse.ToString("G15"); ele.TryPathTo("Mods/Mod1/ValueB", true, out subEle); subEle.Value = Mod1ValueB.ToString("G15"); ele.TryPathTo("Mods/Mod2/ValueB", true, out subEle); subEle.Value = Mod2ValueB.ToString("G15"); ele.TryPathTo("Mods/Mod3/ValueB", true, out subEle); subEle.Value = Mod3ValueB.ToString("G15"); ele.TryPathTo("ImpulseDistance", true, out subEle); subEle.Value = ImpulseDistance.ToString("G15"); ele.TryPathTo("SkillRequirement", true, out subEle); subEle.Value = SkillRequirement.ToString(); }
public override void WritePropertyXML(XmlWriter xmlWriter) { base.WritePropertyXML(xmlWriter); xmlWriter.WriteStartElement("Type"); xmlWriter.WriteString(Methods.GetCreatureTypeString(Type)); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("ChallengeRating"); xmlWriter.WriteString(ChallengeRating.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("AttackSets"); foreach (AttackSet attackSet in AttackSets) { attackSet.WriteXML(xmlWriter); } xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Strength"); xmlWriter.WriteString(Strength.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Dexterity"); xmlWriter.WriteString(Dexterity.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Constitution"); xmlWriter.WriteString(Constitution.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Intelligence"); xmlWriter.WriteString(Intelligence.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Wisdom"); xmlWriter.WriteString(Wisdom.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Charisma"); xmlWriter.WriteString(Charisma.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("BaseAttackBonus"); xmlWriter.WriteString(BaseAttackBonus.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("GrappleModifier"); xmlWriter.WriteString(GrappleModifier.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("HitPoints"); xmlWriter.WriteString(HitPoints.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("HitDice"); xmlWriter.WriteString(HitDice.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("HitDieType"); xmlWriter.WriteString(Methods.GetDieTypeString(HitDieType)); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("ArmorClass"); xmlWriter.WriteString(ArmorClass.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("TouchArmorClass"); xmlWriter.WriteString(TouchArmorClass.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("FlatFootedArmorClass"); xmlWriter.WriteString(FlatFootedArmorClass.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Speed"); Speed.WriteXML(xmlWriter); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("FortitudeSave"); xmlWriter.WriteString(FortitudeSave.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("ReflexSave"); xmlWriter.WriteString(ReflexSave.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("WillSave"); xmlWriter.WriteString(WillSave.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Feats"); foreach (string feat in Feats) { xmlWriter.WriteStartElement("Feat"); xmlWriter.WriteString(feat); xmlWriter.WriteEndElement(); } xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Space"); xmlWriter.WriteString(Space.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Reach"); xmlWriter.WriteString(Reach.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Size"); xmlWriter.WriteString(Methods.GetSizeString(Size)); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("DamageReductions"); foreach (DamageReduction dr in DamageReductions) { dr.WriteXML(xmlWriter); } xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("Immunities"); Immunities.WriteXML(xmlWriter); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("EnergyResistances"); foreach (EnergyResistance er in EnergyResistances) { er.WriteXML(xmlWriter); } xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("SpellResistance"); xmlWriter.WriteString(SpellResistance.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("FastHealing"); xmlWriter.WriteString(FastHealing.ToString()); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("SpecialAttacks"); xmlWriter.WriteString(SpecialAttacks); xmlWriter.WriteEndElement(); xmlWriter.WriteStartElement("SpecialQualities"); xmlWriter.WriteString(String.Join(", ", SpecialQualities)); xmlWriter.WriteEndElement(); }