//Takes data from form and saves in data structure
        private statBlockPF Save_Character()
        {
            // pulling needed information to call the constructor for a statblockPF

            string playername = this.inputPfPName.Text;

            string charactername = this.inputPfCName.Text;
            string race_level = this.inputPfRace.Text;


            // statblock is created with the above information, error checking will be implemented to ensure the required information
            // is available to be entered into the new statblock for creation

            statBlockPF temp = new statBlockPF(characterLL.getLast().blockID + 1, charactername, playername, race_level);

            temp.STR = Convert.ToInt32(BTNSaveChecking(this.inputPfStr.Text));
            temp.DEX = Convert.ToInt32(BTNSaveChecking(this.inputPfDex.Text));
            temp.CON = Convert.ToInt32(BTNSaveChecking(this.inputPfCon.Text));
            temp.INT = Convert.ToInt32(BTNSaveChecking(this.inputPfInt.Text));
            temp.WIS = Convert.ToInt32(BTNSaveChecking(this.inputPfWis.Text));
            temp.CHA = Convert.ToInt32(BTNSaveChecking(this.inputPfCha.Text));
            temp.AC = Convert.ToInt32(BTNSaveChecking(this.inputPfAC.Text));
            temp.fort = Convert.ToInt32(BTNSaveChecking(this.inputPfFort.Text));
            temp.reflex = Convert.ToInt32(BTNSaveChecking(this.inputPfRef.Text));
            temp.will = Convert.ToInt32(BTNSaveChecking(this.inputPfWill.Text));
            temp.speed = Convert.ToInt32(BTNSaveChecking(this.inputPfSpeed.Text));
            temp.reach = Convert.ToInt32(BTNSaveChecking(this.inputPfReach.Text));
            temp.touchAC = Convert.ToInt32(BTNSaveChecking(this.inputPfTAC.Text));
            temp.flatAC = Convert.ToInt32(BTNSaveChecking(this.inputPfFFAC.Text));
            temp.BAB = Convert.ToInt32(BTNSaveChecking(this.inputPfBAB.Text));
            temp.CMB = Convert.ToInt32(BTNSaveChecking(this.inputPfCMB.Text));
            temp.CMD = Convert.ToInt32(BTNSaveChecking(this.inputPfCMD.Text));
            temp.initiative = Convert.ToInt32(BTNSaveChecking(this.inputPfInit.Text));
            temp.sklAcro = Convert.ToInt32(BTNSaveChecking(this.txtPfSklAcro.Text));
            temp.sklAppr = Convert.ToInt32(BTNSaveChecking(this.txtPfSklAppr.Text));
            temp.sklBluf = Convert.ToInt32(BTNSaveChecking(this.txtPfSklBluf.Text));
            temp.sklClim = Convert.ToInt32(BTNSaveChecking(this.txtPfSklClim.Text));
            temp.sklCraf = Convert.ToInt32(BTNSaveChecking(this.txtPfSklCraft.Text));
            temp.sklDipl = Convert.ToInt32(BTNSaveChecking(this.txtPfSklDiplomacy.Text));
            temp.sklDisa = Convert.ToInt32(BTNSaveChecking(this.txtPfSklDisableDevice.Text));
            temp.sklDisg = Convert.ToInt32(BTNSaveChecking(this.txtPfSklDisguise.Text));
            temp.sklEsca = Convert.ToInt32(BTNSaveChecking(this.txtPfSklEscapeArtist.Text));
            temp.sklFly = Convert.ToInt32(BTNSaveChecking(this.txtPfSklFly.Text));
            temp.sklHand = Convert.ToInt32(BTNSaveChecking(this.txtPfSklHandleAnimal.Text));
            temp.sklHeal = Convert.ToInt32(BTNSaveChecking(this.txtPfSklHeal.Text));
            temp.sklInti = Convert.ToInt32(BTNSaveChecking(this.txtPfSklIntimidate.Text));
            temp.sklLing = Convert.ToInt32(BTNSaveChecking(this.txtPfSklLinguistics.Text));
            temp.sklPerc = Convert.ToInt32(BTNSaveChecking(this.txtPfSklPerception.Text));
            temp.sklPerf = Convert.ToInt32(BTNSaveChecking(this.txtPfSklPreform.Text));
            temp.sklProf = Convert.ToInt32(BTNSaveChecking(this.txtPfSklProfession.Text));
            temp.sklRide = Convert.ToInt32(BTNSaveChecking(this.txtPfSklRide.Text));
            temp.sklSens = Convert.ToInt32(BTNSaveChecking(this.txtPfSklSenseMotive.Text));
            temp.sklSlei = Convert.ToInt32(BTNSaveChecking(this.txtPfSklSleightofHand.Text));
            temp.sklSpel = Convert.ToInt32(BTNSaveChecking(this.txtPfSklSpellCraft.Text));
            temp.sklStel = Convert.ToInt32(BTNSaveChecking(this.txtPfSklStealth.Text));
            temp.sklSurv = Convert.ToInt32(BTNSaveChecking(this.txtPfSklSurvival.Text));
            temp.sklSwim = Convert.ToInt32(BTNSaveChecking(this.txtPfSklSwim.Text));
            temp.sklUseD = Convert.ToInt32(BTNSaveChecking(this.txtPfSklUseMagicDevice.Text));
            temp.knwArca = Convert.ToInt32(BTNSaveChecking(this.txtPfSklArcana.Text));
            temp.knwDung = Convert.ToInt32(BTNSaveChecking(this.txtPfSklDungeoneering.Text));
            temp.knwEngi = Convert.ToInt32(BTNSaveChecking(this.txtPfSklEngineering.Text));
            temp.knwGeog = Convert.ToInt32(BTNSaveChecking(this.txtPfSklGeography.Text));
            temp.knwHist = Convert.ToInt32(BTNSaveChecking(this.txtPfSklHistory.Text));
            temp.knwLoca = Convert.ToInt32(BTNSaveChecking(this.txtPfSklLocal.Text));
            temp.knwNatu = Convert.ToInt32(BTNSaveChecking(this.txtPfSklNature.Text));
            temp.knwNobi = Convert.ToInt32(BTNSaveChecking(this.txtPfSklNobility.Text));
            temp.knwPlan = Convert.ToInt32(BTNSaveChecking(this.txtPfSklPlanes.Text));
            temp.knwReli = Convert.ToInt32(BTNSaveChecking(this.txtPfSklReligion.Text));

            //Passes the Checked state to the data structure
            //Checked == true        Unchecked == false
            temp.acroTrn = checkStateToBool(chkPfSklAcro.CheckState);
            temp.apprTrn = checkStateToBool(chkPfSklAppr.CheckState);
            temp.blufTrn = checkStateToBool(chkPfSklBluf.CheckState);
            temp.climTrn = checkStateToBool(chkPfSklClim.CheckState);
            temp.crafTrn = checkStateToBool(chkPfSklCraft.CheckState);

            temp.diplTrn = checkStateToBool(chkPfSklDiplomacy.CheckState);
            temp.disaTrn = checkStateToBool(chkPfSklDisableDevice.CheckState);
            temp.disgTrn = checkStateToBool(chkPfSklDisguise.CheckState);
            temp.escaTrn = checkStateToBool(chkPfSklEscapeArtist.CheckState);
            temp.flyTrn = checkStateToBool(chkPfSklFly.CheckState);

            temp.handTrn = checkStateToBool(chkPfSklHandleAnimal.CheckState);
            temp.healTrn = checkStateToBool(chkPfSklHeal.CheckState);
            temp.intiTrn = checkStateToBool(chkPfSklintimidate.CheckState);
            temp.lingTrn = checkStateToBool(chkPfSklLinguistics.CheckState);
            temp.percTrn = checkStateToBool(chkPfSklPerception.CheckState);

            temp.perfTrn = checkStateToBool(chkPfSklPreform.CheckState);
            temp.profTrn = checkStateToBool(chkPfSklProfession.CheckState);
            temp.rideTrn = checkStateToBool(chkPfSklRide.CheckState);
            temp.sensTrn = checkStateToBool(chkPfSklSenseMotive.CheckState);
            temp.sleiTrn = checkStateToBool(chkPfSklSleightofHand.CheckState);

            temp.spelTrn = checkStateToBool(chkPfSklSpellCraft.CheckState);
            temp.steaTrn = checkStateToBool(chkPfSklStealth.CheckState);
            temp.survTrn = checkStateToBool(chkPfSklSurvival.CheckState);
            temp.swimTrn = checkStateToBool(chkPfSklSwim.CheckState);
            temp.useMTrn = checkStateToBool(chkPfSklUseMagicDevice.CheckState);

            temp.arcaTrn = checkStateToBool(chkPfSklArcana.CheckState);
            temp.dungTrn = checkStateToBool(chkPfSklDungeoneering.CheckState);
            temp.engiTrn = checkStateToBool(chkPfSklEngineering.CheckState);
            temp.geogTrn = checkStateToBool(chkPfSklGeography.CheckState);
            temp.histTrn = checkStateToBool(chkPfSklHistory.CheckState);

            temp.locaTrn = checkStateToBool(chkPfSklLocal.CheckState);
            temp.natuTrn = checkStateToBool(chkPfSklNature.CheckState);
            temp.nobiTrn = checkStateToBool(chkPfSklNobility.CheckState);
            temp.planTrn = checkStateToBool(chkPfSklPlanes.CheckState);
            temp.reliTrn = checkStateToBool(chkPfSklReligion.CheckState);

            // The three for loops below handle the gathering and saving of each boxes information, using the total amount fron the list box to dynamically
            // add everything in, be it 2 items to 100 items.

            string selected;
            LSTBOXClassFeatLang.BeginUpdate();

            for (int i = 0; i < LSTBOXClassFeatLang.Items.Count; i++)
            {
                LSTBOXClassFeatLang.SetSelected(i, true);

                selected = LSTBOXClassFeatLang.SelectedItem.ToString();

                temp.classFeat.Add(LSTBOXClassFeatLang.SelectedItem.ToString());

                LSTBOXClassFeatLang.SetSelected(i, false);
            }
            LSTBOXClassFeatLang.EndUpdate();

            LSTBOXitemsEquip.BeginUpdate();
            for (int i = 0; i < LSTBOXitemsEquip.Items.Count; i++)
            {
                LSTBOXitemsEquip.SetSelected(i, true);

                selected = LSTBOXitemsEquip.SelectedItem.ToString();

                temp.equipment.Add(LSTBOXitemsEquip.SelectedItem.ToString());

                LSTBOXitemsEquip.SetSelected(i, false);
            }
            LSTBOXitemsEquip.EndUpdate();

            TXTBOXknownSpells.BeginUpdate();
            for (int i = 0; i < TXTBOXknownSpells.Items.Count; i++)
            {
                TXTBOXknownSpells.SetSelected(i, true);

                selected = TXTBOXknownSpells.SelectedItem.ToString();

                temp.spells.Add(TXTBOXknownSpells.SelectedItem.ToString());

                TXTBOXknownSpells.SetSelected(i, false);
            }
            TXTBOXknownSpells.EndUpdate();

            //update the list box with a new entry
            LSTBOXCharacters.BeginUpdate();
            LSTBOXCharacters.Items.Add(charactername);
            LSTBOXCharacters.EndUpdate();

            // return the class to the save buttons call
            return temp;
        }
        //Populates form from data structure
        private void Load_Character(statBlockPF temp_load_in)
        {

            this.inputPfPName.Text = temp_load_in.playerName;
            this.inputPfCName.Text = temp_load_in.name;
            this.inputPfRace.Text = temp_load_in.raceClass;


            // the load character function acts like the save character function, except in reverse, by pulling the information and setting the
            // by setting the interfaces information to what is inside the characters statblockpf

            this.inputPfStr.Text = Convert.ToString(temp_load_in.STR);
            this.inputPfDex.Text = Convert.ToString(temp_load_in.DEX);
            this.inputPfCon.Text = Convert.ToString(temp_load_in.CON);
            this.inputPfInt.Text = Convert.ToString(temp_load_in.INT);
            this.inputPfWis.Text = Convert.ToString(temp_load_in.WIS);
            this.inputPfCha.Text = Convert.ToString(temp_load_in.CHA);

            this.inputPfAC.Text = Convert.ToString(temp_load_in.AC);
            this.inputPfFort.Text = Convert.ToString(temp_load_in.fort);
            this.inputPfRef.Text = Convert.ToString(temp_load_in.reflex);
            this.inputPfWill.Text = Convert.ToString(temp_load_in.will);
            this.inputPfSpeed.Text = Convert.ToString(temp_load_in.speed);
            this.inputPfReach.Text = Convert.ToString(temp_load_in.reach);

            this.inputPfTAC.Text = Convert.ToString(temp_load_in.touchAC);
            this.inputPfFFAC.Text = Convert.ToString(temp_load_in.flatAC);
            this.inputPfBAB.Text = Convert.ToString(temp_load_in.BAB);
            this.inputPfCMB.Text = Convert.ToString(temp_load_in.CMB);
            this.inputPfCMD.Text = Convert.ToString(temp_load_in.CMD);
            this.inputPfInit.Text = Convert.ToString(temp_load_in.initiative);

            this.txtPfSklAcro.Text = Convert.ToString(temp_load_in.sklAcro);
            this.txtPfSklAppr.Text = Convert.ToString(temp_load_in.sklAppr);
            this.txtPfSklBluf.Text = Convert.ToString(temp_load_in.sklBluf);
            this.txtPfSklClim.Text = Convert.ToString(temp_load_in.sklClim);
            this.txtPfSklCraft.Text = Convert.ToString(temp_load_in.sklCraf);

            this.txtPfSklDiplomacy.Text = Convert.ToString(temp_load_in.sklDipl);
            this.txtPfSklDisableDevice.Text = Convert.ToString(temp_load_in.sklDisa);
            this.txtPfSklDisguise.Text = Convert.ToString(temp_load_in.sklDisg);
            this.txtPfSklEscapeArtist.Text = Convert.ToString(temp_load_in.sklEsca);
            this.txtPfSklFly.Text = Convert.ToString(temp_load_in.sklFly);

            this.txtPfSklHandleAnimal.Text = Convert.ToString(temp_load_in.sklHand);
            this.txtPfSklHeal.Text = Convert.ToString(temp_load_in.sklHeal);
            this.txtPfSklIntimidate.Text = Convert.ToString(temp_load_in.sklInti);
            this.txtPfSklLinguistics.Text = Convert.ToString(temp_load_in.sklLing);
            this.txtPfSklPerception.Text = Convert.ToString(temp_load_in.sklPerc);

            this.txtPfSklPreform.Text = Convert.ToString(temp_load_in.sklPerf);
            this.txtPfSklProfession.Text = Convert.ToString(temp_load_in.sklProf);
            this.txtPfSklRide.Text = Convert.ToString(temp_load_in.sklRide);
            this.txtPfSklSenseMotive.Text = Convert.ToString(temp_load_in.sklSens);
            this.txtPfSklSleightofHand.Text = Convert.ToString(temp_load_in.sklSlei);

            this.txtPfSklSpellCraft.Text = Convert.ToString(temp_load_in.sklSpel);
            this.txtPfSklStealth.Text = Convert.ToString(temp_load_in.sklStel);
            this.txtPfSklSurvival.Text = Convert.ToString(temp_load_in.sklSurv);
            this.txtPfSklSwim.Text = Convert.ToString(temp_load_in.sklSwim);
            this.txtPfSklUseMagicDevice.Text = Convert.ToString(temp_load_in.sklUseD);

            this.txtPfSklArcana.Text = Convert.ToString(temp_load_in.knwArca);
            this.txtPfSklDungeoneering.Text = Convert.ToString(temp_load_in.knwDung);
            this.txtPfSklEngineering.Text = Convert.ToString(temp_load_in.knwEngi);
            this.txtPfSklGeography.Text = Convert.ToString(temp_load_in.knwGeog);
            this.txtPfSklHistory.Text = Convert.ToString(temp_load_in.knwHist);

            this.txtPfSklLocal.Text = Convert.ToString(temp_load_in.knwLoca);
            this.txtPfSklNature.Text = Convert.ToString(temp_load_in.knwNatu);
            this.txtPfSklNobility.Text = Convert.ToString(temp_load_in.knwNobi);
            this.txtPfSklPlanes.Text = Convert.ToString(temp_load_in.knwPlan);
            this.txtPfSklReligion.Text = Convert.ToString(temp_load_in.knwReli);

            chkPfSklAcro.CheckState = boolToCheckState(temp_load_in.acroTrn);
            chkPfSklAppr.CheckState = boolToCheckState(temp_load_in.apprTrn);
            chkPfSklBluf.CheckState = boolToCheckState(temp_load_in.blufTrn);
            chkPfSklClim.CheckState = boolToCheckState(temp_load_in.climTrn);
            chkPfSklCraft.CheckState = boolToCheckState(temp_load_in.crafTrn);

            chkPfSklDiplomacy.CheckState = boolToCheckState(temp_load_in.diplTrn);
            chkPfSklDisableDevice.CheckState = boolToCheckState(temp_load_in.disaTrn);
            chkPfSklDisguise.CheckState = boolToCheckState(temp_load_in.disgTrn);
            chkPfSklEscapeArtist.CheckState = boolToCheckState(temp_load_in.escaTrn);
            chkPfSklFly.CheckState = boolToCheckState(temp_load_in.flyTrn);

            chkPfSklHandleAnimal.CheckState = boolToCheckState(temp_load_in.handTrn);
            chkPfSklHeal.CheckState = boolToCheckState(temp_load_in.healTrn);
            chkPfSklintimidate.CheckState = boolToCheckState(temp_load_in.intiTrn);
            chkPfSklLinguistics.CheckState = boolToCheckState(temp_load_in.lingTrn);
            chkPfSklPerception.CheckState = boolToCheckState(temp_load_in.percTrn);

            chkPfSklPreform.CheckState = boolToCheckState(temp_load_in.perfTrn);
            chkPfSklProfession.CheckState = boolToCheckState(temp_load_in.profTrn);
            chkPfSklRide.CheckState = boolToCheckState(temp_load_in.rideTrn);
            chkPfSklSenseMotive.CheckState = boolToCheckState(temp_load_in.sensTrn);
            chkPfSklSleightofHand.CheckState = boolToCheckState(temp_load_in.sleiTrn);

            chkPfSklSpellCraft.CheckState = boolToCheckState(temp_load_in.spelTrn);
            chkPfSklStealth.CheckState = boolToCheckState(temp_load_in.steaTrn);
            chkPfSklSurvival.CheckState = boolToCheckState(temp_load_in.survTrn);
            chkPfSklSwim.CheckState = boolToCheckState(temp_load_in.swimTrn);
            chkPfSklUseMagicDevice.CheckState = boolToCheckState(temp_load_in.useMTrn);

            chkPfSklArcana.CheckState = boolToCheckState(temp_load_in.arcaTrn);
            chkPfSklDungeoneering.CheckState = boolToCheckState(temp_load_in.dungTrn);
            chkPfSklEngineering.CheckState = boolToCheckState(temp_load_in.engiTrn);
            chkPfSklGeography.CheckState = boolToCheckState(temp_load_in.geogTrn);
            chkPfSklHistory.CheckState = boolToCheckState(temp_load_in.histTrn);

            chkPfSklLocal.CheckState = boolToCheckState(temp_load_in.locaTrn);
            chkPfSklNature.CheckState = boolToCheckState(temp_load_in.natuTrn);
            chkPfSklNobility.CheckState = boolToCheckState(temp_load_in.nobiTrn);
            chkPfSklPlanes.CheckState = boolToCheckState(temp_load_in.planTrn);
            chkPfSklReligion.CheckState = boolToCheckState(temp_load_in.reliTrn);

            string selected;
            LSTBOXClassFeatLang.BeginUpdate();
            LSTBOXClassFeatLang.Items.Clear();
            for (int i = 0; i < temp_load_in.classFeat.Count(); i++)
            {
                selected = Convert.ToString(temp_load_in.classFeat[i]);

                LSTBOXClassFeatLang.Items.Add(selected);

            }
            LSTBOXClassFeatLang.EndUpdate();


            LSTBOXitemsEquip.BeginUpdate();
            LSTBOXitemsEquip.Items.Clear();
            for (int i = 0; i < temp_load_in.equipment.Count(); i++)
            {
                selected = Convert.ToString(temp_load_in.equipment[i]);

                LSTBOXitemsEquip.Items.Add(selected);
            }
            LSTBOXitemsEquip.EndUpdate();

            TXTBOXknownSpells.BeginUpdate();
            TXTBOXknownSpells.Items.Clear();
            for (int i = 0; i < temp_load_in.spells.Count(); i++)
            {
                selected = Convert.ToString(temp_load_in.spells[i]);

                TXTBOXknownSpells.Items.Add(selected);

            }
            TXTBOXknownSpells.EndUpdate();
        }
        public void saveCampagainAs()
        {
            //TEST DATA FOR gameDateList Class
            gameDateEntry BK_GDEntry1 = new gameDateEntry(0, "Test GD Entry 0");
            gameDateEntry BK_GDEntry2 = new gameDateEntry(1, "Test GD Entry 1");
            gameDateList BK_GDList1 = new gameDateList();
            BK_GDList1.addEntry(BK_GDEntry1);
            BK_GDList1.addEntry(BK_GDEntry2);

            //TEST DATA FOR statBlockPF
            statBlockPF BK_char1 = new statBlockPF();
            BK_char1.blockID = 5;
            BK_char1.name = "This Char Works!";
            statBlockPF BK_char2 = new statBlockPF();
            BK_char2.blockID = 12;
            BK_char2.name = "This Char works too!";

            //Setting up save dialog
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();
            saveFileDialog1.Filter = "XML File|*.xml";
            saveFileDialog1.Title = "Save your Campaign";

            //Valid File Name is Entered
            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog1.OpenFile();

                System.Xml.Serialization.XmlSerializer writer =
                    new System.Xml.Serialization.XmlSerializer(typeof(serializationWrapper));
                gameDateEntry index = BK_GDList1.getFirst();

                serializationWrapper myTester = new serializationWrapper();

                while (index.gameDateID < BK_GDList1.getLast().gameDateID)
                {
                    myTester.gameDateHolder.Add(index);
                    index = BK_GDList1.getNext(index.gameDateID);
                }

                myTester.gameDateHolder.Add(index);

                myTester.charStatHolder.Add(BK_char1);
                myTester.charStatHolder.Add(BK_char2);
                writer.Serialize(fs, myTester);
                fs.Close();
            }
        }
        //Add specified payload to list or update entry
        public Boolean addEntry(statBlockPF newBlock) {

            if (charList.Count == 0) {
                charList.AddFirst(newBlock);
                return true;
            }

            LinkedListNode<statBlockPF> current = charList.First;

            while (current != null) {

                if (current.Value.blockID == newBlock.blockID) {               //If updating an entry
                    current.Value = newBlock;
                    return true;
                } else if (current.Value.blockID > newBlock.blockID) {         //Inserting within list
                    charList.AddBefore(current, newBlock);
                    return true;
                } else if (current == charList.Last) {                         //Inserting at end of list
                    charList.AddAfter(current, newBlock);
                    return true;
                }

                current = current.Next;
            }

            return false;
        }
        private statBlockPF Save_Character()
        {
            // pulling needed information to call the constructor for a statblockPF

            string playername = this.inputPfPName.Text;
            string charactername = this.inputPfCName.Text;
            string race_level = this.inputPfRace.Text;

            // statblock is created with the above information, error checking will be implemented to ensure the required information
            // is available

            statBlockPF temp = new statBlockPF(characterLL.getLast().blockID + 1, charactername, playername, race_level);

            temp.STR = Convert.ToInt32(this.inputPfStr.Text);
            temp.DEX = Convert.ToInt32(this.inputPfDex.Text);
            temp.CON = Convert.ToInt32(this.inputPfCon.Text);
            temp.INT = Convert.ToInt32(this.inputPfInt.Text);
            temp.WIS = Convert.ToInt32(this.inputPfWis.Text);
            temp.CHA = Convert.ToInt32(this.inputPfCha.Text);
            temp.AC = Convert.ToInt32(this.inputPfAC.Text);
            temp.fort = Convert.ToInt32(this.inputPfFort.Text);
            temp.reflex = Convert.ToInt32(this.inputPfRef.Text);
            temp.will = Convert.ToInt32(this.inputPfWill.Text);
            temp.speed = Convert.ToInt32(this.inputPfSpeed.Text);
            temp.reach = Convert.ToInt32(this.inputPfReach.Text);
            temp.touchAC = Convert.ToInt32(this.inputPfTAC.Text);
            temp.flatAC = Convert.ToInt32(this.inputPfFFAC.Text);
            temp.BAB = Convert.ToInt32(this.inputPfBAB.Text);
            temp.CMB = Convert.ToInt32(this.inputPfCMB.Text);
            temp.CMD = Convert.ToInt32(this.inputPfCMD.Text);
            temp.initiaitive = Convert.ToInt32(this.inputPfInit.Text);
            temp.sklAcro = Convert.ToInt32(this.txtPfSklAcro.Text);
            temp.sklAppr = Convert.ToInt32(this.txtPfSklAppr.Text);
            temp.sklBluf = Convert.ToInt32(this.txtPfSklBluf.Text);
            temp.sklClim = Convert.ToInt32(this.txtPfSklClim.Text);
            temp.sklCraf = Convert.ToInt32(this.txtPfSklCraft.Text);
            temp.sklDipl = Convert.ToInt32(this.txtPfSklDiplomacy.Text);
            temp.sklDisa = Convert.ToInt32(this.txtPfSklDisableDevice.Text);
            temp.sklDisg = Convert.ToInt32(this.txtPfSklDisguise.Text);
            temp.sklEsca = Convert.ToInt32(this.txtPfSklEscapeArtist.Text);
            temp.sklFly = Convert.ToInt32(this.txtPfSklFly.Text);
            temp.sklHand = Convert.ToInt32(this.txtPfSklHandleAnimal.Text);
            temp.sklHeal = Convert.ToInt32(this.txtPfSklHeal.Text);
            temp.sklInti = Convert.ToInt32(this.txtPfSklIntimidate.Text);
            temp.sklLing = Convert.ToInt32(this.txtPfSklLinguistics.Text);
            temp.sklPerc = Convert.ToInt32(this.txtPfSklPerception.Text);
            temp.sklPerf = Convert.ToInt32(this.txtPfSklPreform.Text);
            temp.sklProf = Convert.ToInt32(this.txtPfSklProfession.Text);
            temp.sklRide = Convert.ToInt32(this.txtPfSklRide.Text);
            temp.sklSens = Convert.ToInt32(this.txtPfSklSenseMotive.Text);
            temp.sklSlei = Convert.ToInt32(this.txtPfSklSleightofHand.Text);
            temp.sklSpel = Convert.ToInt32(this.txtPfSklSpellCraft.Text);
            temp.sklStel = Convert.ToInt32(this.txtPfSklStealth.Text);
            temp.sklSurv = Convert.ToInt32(this.txtPfSklSurvival.Text);
            temp.sklSwim = Convert.ToInt32(this.txtPfSklSwim.Text);
            temp.sklUseD = Convert.ToInt32(this.txtPfSklUseMagicDevice.Text);
            temp.knwArca = Convert.ToInt32(this.txtPfSklArcana.Text);
            temp.knwDung = Convert.ToInt32(this.txtPfSklDungeoneering.Text);
            temp.knwEngi = Convert.ToInt32(this.txtPfSklEngineering.Text);
            temp.knwGeog = Convert.ToInt32(this.txtPfSklGeography.Text);
            temp.knwHist = Convert.ToInt32(this.txtPfSklHistory.Text);
            temp.knwLoca = Convert.ToInt32(this.txtPfSklLocal.Text);
            temp.knwNatu = Convert.ToInt32(this.txtPfSklNature.Text);
            temp.knwNobi = Convert.ToInt32(this.txtPfSklNobility.Text);
            temp.knwPlan = Convert.ToInt32(this.txtPfSklPlanes.Text);
            temp.knwReli = Convert.ToInt32(this.txtPfSklReligion.Text);

            string selected;
            LSTBOXClassFeatLang.BeginUpdate();
            //LSTBOXClassFeatLang.SelectionMode = SelectionMode.MultiExtended;
            for (int i = 0; i < LSTBOXClassFeatLang.Items.Count; i++)
            {
                LSTBOXClassFeatLang.SetSelected(i, true);

                selected = LSTBOXClassFeatLang.SelectedItem.ToString();

                temp.classFeat.Add(LSTBOXClassFeatLang.SelectedItem.ToString());

                System.Windows.Forms.MessageBox.Show(selected);

                //LSTBOXClassFeatLang.Items.Remove(selected);


            }
            LSTBOXClassFeatLang.EndUpdate();

            // return the class to the save buttons call
            return temp;
        }