protected override void ReadData(ESPReader reader)
 {
     using (MemoryStream stream = new MemoryStream(reader.ReadBytes(size)))
         using (ESPReader subReader = new ESPReader(stream, reader.Plugin))
         {
             try
             {
                 Stimpack.ReadBinary(subReader);
                 SuperStimpack.ReadBinary(subReader);
                 RadX.ReadBinary(subReader);
                 RadAway.ReadBinary(subReader);
                 MedX.ReadBinary(subReader);
                 PerkParalysis.ReadBinary(subReader);
                 PlayerFaction.ReadBinary(subReader);
                 MysteriousStrangerNPC.ReadBinary(subReader);
                 MysteriousStrangerFaction.ReadBinary(subReader);
                 DefaultMusic.ReadBinary(subReader);
                 BattleMusic.ReadBinary(subReader);
                 DeathMusic.ReadBinary(subReader);
                 SuccessMusic.ReadBinary(subReader);
                 LevelUpMusic.ReadBinary(subReader);
                 PlayerVoiceMale.ReadBinary(subReader);
                 PlayerVoiceMaleChild.ReadBinary(subReader);
                 PlayerVoiceFemale.ReadBinary(subReader);
                 PlayerVoiceFemaleChild.ReadBinary(subReader);
                 EatPackageDefaultFood.ReadBinary(subReader);
                 EveryActorAbility.ReadBinary(subReader);
                 DrugWearsOffImageSpace.ReadBinary(subReader);
                 DoctorsBag.ReadBinary(subReader);
                 MissFortuneNPC.ReadBinary(subReader);
                 MissFortuneFaction.ReadBinary(subReader);
                 MeltdownExplosion.ReadBinary(subReader);
                 UnarmedPowerAttackForward.ReadBinary(subReader);
                 UnarmedPowerAttackBackward.ReadBinary(subReader);
                 UnarmedPowerAttackLeft.ReadBinary(subReader);
                 UnarmedPowerAttackRight.ReadBinary(subReader);
                 UnarmedPowerAttackCrouch.ReadBinary(subReader);
                 UnarmedPowerAttackCounter.ReadBinary(subReader);
                 SpotterEffect.ReadBinary(subReader);
                 ItemDetectedEffect.ReadBinary(subReader);
                 CateyeMobileEffect.ReadBinary(subReader);
             }
             catch
             {
                 return;
             }
         }
 }
 protected override void WriteData(ESPWriter writer)
 {
     Stimpack.WriteBinary(writer);
     SuperStimpack.WriteBinary(writer);
     RadX.WriteBinary(writer);
     RadAway.WriteBinary(writer);
     MedX.WriteBinary(writer);
     PerkParalysis.WriteBinary(writer);
     PlayerFaction.WriteBinary(writer);
     MysteriousStrangerNPC.WriteBinary(writer);
     MysteriousStrangerFaction.WriteBinary(writer);
     DefaultMusic.WriteBinary(writer);
     BattleMusic.WriteBinary(writer);
     DeathMusic.WriteBinary(writer);
     SuccessMusic.WriteBinary(writer);
     LevelUpMusic.WriteBinary(writer);
     PlayerVoiceMale.WriteBinary(writer);
     PlayerVoiceMaleChild.WriteBinary(writer);
     PlayerVoiceFemale.WriteBinary(writer);
     PlayerVoiceFemaleChild.WriteBinary(writer);
     EatPackageDefaultFood.WriteBinary(writer);
     EveryActorAbility.WriteBinary(writer);
     DrugWearsOffImageSpace.WriteBinary(writer);
     DoctorsBag.WriteBinary(writer);
     MissFortuneNPC.WriteBinary(writer);
     MissFortuneFaction.WriteBinary(writer);
     MeltdownExplosion.WriteBinary(writer);
     UnarmedPowerAttackForward.WriteBinary(writer);
     UnarmedPowerAttackBackward.WriteBinary(writer);
     UnarmedPowerAttackLeft.WriteBinary(writer);
     UnarmedPowerAttackRight.WriteBinary(writer);
     UnarmedPowerAttackCrouch.WriteBinary(writer);
     UnarmedPowerAttackCounter.WriteBinary(writer);
     SpotterEffect.WriteBinary(writer);
     ItemDetectedEffect.WriteBinary(writer);
     CateyeMobileEffect.WriteBinary(writer);
 }
        protected override void ReadDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            if (ele.TryPathTo("PlayerVoice/Male", false, out subEle))
            {
                PlayerVoiceMale.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("PlayerVoice/MaleChild", false, out subEle))
            {
                PlayerVoiceMaleChild.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("PlayerVoice/Female", false, out subEle))
            {
                PlayerVoiceFemale.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("PlayerVoice/FemaleChild", false, out subEle))
            {
                PlayerVoiceFemaleChild.ReadXML(subEle, master);
            }

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

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

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

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

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

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

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

            if (ele.TryPathTo("UnarmedPowerAttack/Forward", false, out subEle))
            {
                UnarmedPowerAttackForward.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Backward", false, out subEle))
            {
                UnarmedPowerAttackBackward.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Left", false, out subEle))
            {
                UnarmedPowerAttackLeft.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Right", false, out subEle))
            {
                UnarmedPowerAttackRight.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Crouch", false, out subEle))
            {
                UnarmedPowerAttackCrouch.ReadXML(subEle, master);
            }

            if (ele.TryPathTo("UnarmedPowerAttack/Counter", false, out subEle))
            {
                UnarmedPowerAttackCounter.ReadXML(subEle, master);
            }

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

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

            if (ele.TryPathTo("CateyeMobileEffect", false, out subEle))
            {
                CateyeMobileEffect.ReadXML(subEle, master);
            }
        }
        protected override void WriteDataXML(XElement ele, ElderScrollsPlugin master)
        {
            XElement subEle;

            ele.TryPathTo("Stimpack", true, out subEle);
            Stimpack.WriteXML(subEle, master);

            ele.TryPathTo("SuperStimpack", true, out subEle);
            SuperStimpack.WriteXML(subEle, master);

            ele.TryPathTo("RadX", true, out subEle);
            RadX.WriteXML(subEle, master);

            ele.TryPathTo("RadAway", true, out subEle);
            RadAway.WriteXML(subEle, master);

            ele.TryPathTo("MedX", true, out subEle);
            MedX.WriteXML(subEle, master);

            ele.TryPathTo("PerkParalysis", true, out subEle);
            PerkParalysis.WriteXML(subEle, master);

            ele.TryPathTo("PlayerFaction", true, out subEle);
            PlayerFaction.WriteXML(subEle, master);

            ele.TryPathTo("MysteriousStrangerNPC", true, out subEle);
            MysteriousStrangerNPC.WriteXML(subEle, master);

            ele.TryPathTo("MysteriousStrangerFaction", true, out subEle);
            MysteriousStrangerFaction.WriteXML(subEle, master);

            ele.TryPathTo("DefaultMusic", true, out subEle);
            DefaultMusic.WriteXML(subEle, master);

            ele.TryPathTo("BattleMusic", true, out subEle);
            BattleMusic.WriteXML(subEle, master);

            ele.TryPathTo("DeathMusic", true, out subEle);
            DeathMusic.WriteXML(subEle, master);

            ele.TryPathTo("SuccessMusic", true, out subEle);
            SuccessMusic.WriteXML(subEle, master);

            ele.TryPathTo("LevelUpMusic", true, out subEle);
            LevelUpMusic.WriteXML(subEle, master);

            ele.TryPathTo("PlayerVoice/Male", true, out subEle);
            PlayerVoiceMale.WriteXML(subEle, master);

            ele.TryPathTo("PlayerVoice/MaleChild", true, out subEle);
            PlayerVoiceMaleChild.WriteXML(subEle, master);

            ele.TryPathTo("PlayerVoice/Female", true, out subEle);
            PlayerVoiceFemale.WriteXML(subEle, master);

            ele.TryPathTo("PlayerVoice/FemaleChild", true, out subEle);
            PlayerVoiceFemaleChild.WriteXML(subEle, master);

            ele.TryPathTo("EatPackageDefaultFood", true, out subEle);
            EatPackageDefaultFood.WriteXML(subEle, master);

            ele.TryPathTo("EveryActorAbility", true, out subEle);
            EveryActorAbility.WriteXML(subEle, master);

            ele.TryPathTo("DrugWearsOffImageSpace", true, out subEle);
            DrugWearsOffImageSpace.WriteXML(subEle, master);

            ele.TryPathTo("DoctorsBag", true, out subEle);
            DoctorsBag.WriteXML(subEle, master);

            ele.TryPathTo("MissFortuneNPC", true, out subEle);
            MissFortuneNPC.WriteXML(subEle, master);

            ele.TryPathTo("MissFortuneFaction", true, out subEle);
            MissFortuneFaction.WriteXML(subEle, master);

            ele.TryPathTo("MeltdownExplosion", true, out subEle);
            MeltdownExplosion.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Forward", true, out subEle);
            UnarmedPowerAttackForward.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Backward", true, out subEle);
            UnarmedPowerAttackBackward.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Left", true, out subEle);
            UnarmedPowerAttackLeft.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Right", true, out subEle);
            UnarmedPowerAttackRight.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Crouch", true, out subEle);
            UnarmedPowerAttackCrouch.WriteXML(subEle, master);

            ele.TryPathTo("UnarmedPowerAttack/Counter", true, out subEle);
            UnarmedPowerAttackCounter.WriteXML(subEle, master);

            ele.TryPathTo("SpotterEffect", true, out subEle);
            SpotterEffect.WriteXML(subEle, master);

            ele.TryPathTo("ItemDetectedEffect", true, out subEle);
            ItemDetectedEffect.WriteXML(subEle, master);

            ele.TryPathTo("CateyeMobileEffect", true, out subEle);
            CateyeMobileEffect.WriteXML(subEle, master);
        }