private void TestWeapons() { Character objCharacter = new Character(); XmlDocument objXmlDocument = XmlManager.Load("weapons.xml"); pgbProgress.Minimum = 0; pgbProgress.Value = 0; pgbProgress.Maximum = objXmlDocument.SelectNodes("/chummer/weapons/weapon").Count; pgbProgress.Maximum += objXmlDocument.SelectNodes("/chummer/accessories/accessory").Count; pgbProgress.Maximum += objXmlDocument.SelectNodes("/chummer/mods/mod").Count; // Weapons. foreach (XmlNode objXmlGear in objXmlDocument.SelectNodes("/chummer/weapons/weapon")) { pgbProgress.Value++; Application.DoEvents(); try { Weapon objTemp = new Weapon(objCharacter); objTemp.Create(objXmlGear, null); try { decimal objValue = objTemp.TotalCost; } catch { txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalCost\r\n"; } try { string objValue = objTemp.TotalAP(GlobalOptions.Language); } catch { txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalAP\r\n"; } try { string objValue = objTemp.TotalAvail(GlobalOptions.CultureInfo, GlobalOptions.Language); } catch { txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalAvail\r\n"; } try { string objValue = objTemp.TotalRC; } catch { txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalRC\r\n"; } try { int objValue = objTemp.TotalReach; } catch { txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalReach\r\n"; } try { string objValue = objTemp.CalculatedAmmo(GlobalOptions.CultureInfo, GlobalOptions.Language); } catch { txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedAmmo\r\n"; } try { string objValue = objTemp.CalculatedConcealability(GlobalOptions.CultureInfo); } catch { txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedConcealability\r\n"; } try { string objValue = objTemp.CalculatedDamage(GlobalOptions.CultureInfo, GlobalOptions.Language); } catch { txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedDamage\r\n"; } } catch { txtOutput.Text += objXmlGear["name"].InnerText + " general failure\r\n"; } } // Weapon Accessories. foreach (XmlNode objXmlGear in objXmlDocument.SelectNodes("/chummer/accessories/accessory")) { pgbProgress.Value++; Application.DoEvents(); try { WeaponAccessory objTemp = new WeaponAccessory(objCharacter); objTemp.Create(objXmlGear, new Tuple <string, string>(string.Empty, string.Empty), 0); try { decimal objValue = objTemp.TotalCost; } catch { txtOutput.Text += objXmlGear["name"].InnerText + " failed CalculatedCost\r\n"; } try { string objValue = objTemp.TotalAvail(GlobalOptions.CultureInfo, GlobalOptions.Language); } catch { txtOutput.Text += objXmlGear["name"].InnerText + " failed TotalAvail\r\n"; } } catch { txtOutput.Text += objXmlGear["name"].InnerText + " general failure\r\n"; } } objCharacter.DeleteCharacter(); }