private void btnAddInit_Click(object sender, EventArgs e) { var itm = new InitTrackItem(); int temp = 0; itm.Init = Convert.ToInt32(numInit.Value); itm.InitName = txtInitName.Text; itm.PC = cbxInitPC.Checked; itm.HP = int.TryParse(txtInitHP.Text, out temp) ? temp : 0; itm.AC = int.TryParse(txtInitAC.Text, out temp) ? temp : 0; itm.ACFlat = int.TryParse(txtInitFlat.Text, out temp) ? temp : 0; itm.ACTouch = int.TryParse(txtInitTouch.Text, out temp) ? temp : 0; itm.Fort = int.TryParse(txtInitFort.Text, out temp) ? temp : 0; itm.Ref = int.TryParse(txtInitRef.Text, out temp) ? temp : 0; itm.Will = int.TryParse(txtInitWill.Text, out temp) ? temp : 0; itm.Subdual = int.TryParse(txtInitSubd.Text, out temp) ? temp : 0; itm.BestiaryId = -1; itm.IsBeast = false; _initList.Add(itm); }
public void AddBestiary(int bId) { int i = 0; var b = _parent.pfdb.Bestiaries.Find(bId); if (b != null && b.BestiaryId > 0) { var initItem = new InitTrackItem(); var ac = b.AC.Split(','); if (ac.Length == 3) { initItem.AC = int.TryParse(Regex.Match(ac[0], @"\d+").Value, out i) ? i : 0; initItem.ACFlat = int.TryParse(Regex.Match(ac[1], @"\d+").Value, out i) ? i : 0; initItem.ACTouch = int.TryParse(Regex.Match(ac[2], @"\d+").Value, out i) ? i : 0; } else if (ac.Length > 0) { initItem.AC = int.TryParse(Regex.Match(ac[0], @"\d+").Value, out i) ? i : 0; initItem.ACFlat = initItem.AC; initItem.ACTouch = initItem.AC; } else { initItem.AC = initItem.ACFlat = initItem.ACTouch = 0; } initItem.BestiaryId = bId; initItem.Fort = b.Fort ?? 0; initItem.HP = b.HP ?? 0; initItem.Init = _rand.Next(1, 21) + (b.Init ?? 0); initItem.InitName = b.Name; initItem.IsBeast = true; initItem.PC = false; initItem.Ref = b.Ref_ ?? 0; initItem.Subdual = 0; initItem.Will = b.Will ?? 0; _initList.Add(initItem); txtBestiaryId.Clear(); } }