private void LoadData(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.InitialDirectory = @"C:\"; dialog.Filter = "mm files (*.mm)|*.mm"; dialog.RestoreDirectory = true; if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK) { Data jsonMonster = new Data(); jsonMonster = JsonConvert.DeserializeObject <Data>(System.IO.File.ReadAllText(dialog.FileName)); TraitsList.Items.Clear(); Monster.Input(jsonMonster); foreach (Ability item in Monster._Abilities) { TraitsList.Items.Add("Ability: " + item.Title); } foreach (Attack item in Monster._Attacks) { TraitsList.Items.Add("Attack: " + item.Title); } foreach (string language in Monster._Languages) { TraitsList.Items.Add("Language: " + language); } foreach (string senses in Monster._Senses) { TraitsList.Items.Add("Sense: " + senses); } foreach (string CImmunity in Monster.ConditionImmunities) { TraitsList.Items.Add("Condition Immunity: " + CImmunity); } foreach (string DImmunities in Monster.DamageImmunities) { TraitsList.Items.Add("Damage Immunity: " + DImmunities); } foreach (string DResistance in Monster.DamageResistances) { TraitsList.Items.Add("Damage Resistance: " + DResistance); } foreach (string DVulnerability in Monster.DamageVulnerability) { TraitsList.Items.Add("Damage Vulnerability: " + DVulnerability); } foreach (string SavingThrow in Monster.SavingThrowBonuses) { string temp = SavingThrow.Split(' ')[0]; int tempBonus = 0; int.TryParse(SavingThrow.Split('+')[1], out tempBonus); switch (temp) { case "Str": StrSaveBonusUpDown.Value = tempBonus; break; case "Dex": DexSaveBonusUpDown.Value = tempBonus; break; case "Con": ConSaveBonusUpDown.Value = tempBonus; break; case "Int": IntSaveBonusUpDown.Value = tempBonus; break; case "Wis": WisSaveBonusUpDown.Value = tempBonus; break; case "Cha": ChaSaveBonusUpDown.Value = tempBonus; break; } } foreach (string SkillBonus in Monster.SkillBonuses) { TraitsList.Items.Add(SkillBonus); } } }
private void DexterityAttackButton_Click(object sender, EventArgs e) { HitDiceBonusDamage.Value = Convert.ToInt32(Monster.StatMod(Monster.DEX)); AttackBonusUpDown.Value = Convert.ToInt32(Monster.StatMod(Monster.DEX)) + Monster.CR.profBonus; }
private void GenerateMonsterData() { if (Monster.output.Count > 0) { Monster.Clear(); } int.TryParse(ProfBonus.Text, out Monster.proficency); Monster.CreatureName = MonsterNameTextBox.Text; Monster.CreatureSize = SizeDropDown.Text; Monster.CreatureAlign = AlignmentDropDown.Text; Monster.CreatureType = TypeDropDown.Text; if (!String.IsNullOrEmpty(TagDropDown.Text)) { Monster.CreatureType += " (" + TagDropDown.Text + ")"; } Monster.STR = (int)StrUpDown.Value; Monster.DEX = (int)DexUpDown.Value; Monster.CON = (int)ConUpDown.Value; Monster.INT = (int)IntUpDown.Value; Monster.WIS = (int)WisUpDown.Value; Monster.CHA = (int)ChaUpDown.Value; Monster.Speed = SpeedUpDown.Value.ToString(); if (burrowUpDown.Value > 0) { Monster.Speed += ", Burrow: " + burrowUpDown.Value; } if (ClimbUpDown.Value > 0) { Monster.Speed += ", Climb: " + ClimbUpDown.Value; } if (FlyUpDown.Value > 0) { Monster.Speed += ", Fly: " + FlyUpDown.Value; } if (HoverCheckBox.Checked) { Monster.Speed += " (Hover)"; } if (SwimUpDown.Value > 0) { Monster.Speed += ", Swim: " + SwimUpDown.Value; } Monster.AC = ACUpDown.Value + " " + ACSourceTextBox.Text; Monster.HP = HitDieTextBox.Text; Monster.CR = ChallengeRatingDropDown.Text; foreach (string item in TraitsList.Items) { switch (item.Split(':')[0]) { case "Skill": Monster.AddSkillBonus(item); break; case "Skill+": Monster.AddSkillBonus(item); break; case "Damage Vulnerability": Monster.AddDamageVulnerabilities(item.Split(':')[1].Trim()); break; case "Damage Resistance": Monster.AddDamageResistance(item.Split(':')[1].Trim()); break; case "Damage Immunity": Monster.AddDamageImmunity(item.Split(':')[1].Trim()); break; case "Condition Immunity": Monster.AddConditionImmunity(item.Split(':')[1].Trim()); break; case "Language": Monster._Languages.Add(item.Split(':')[1].Trim()); break; case "Sense": Monster._Senses.Add(item.Split(':')[1].Trim()); break; } } if (StrSaveBonusUpDown.Value > 0) { Monster.AddSavingThrow("Str +" + StrSaveBonusUpDown.Value); } if (DexSaveBonusUpDown.Value > 0) { Monster.AddSavingThrow("Dex +" + DexSaveBonusUpDown.Value); } if (ConSaveBonusUpDown.Value > 0) { Monster.AddSavingThrow("Con +" + ConSaveBonusUpDown.Value); } if (IntSaveBonusUpDown.Value > 0) { Monster.AddSavingThrow("Int +" + IntSaveBonusUpDown.Value); } if (WisSaveBonusUpDown.Value > 0) { Monster.AddSavingThrow("Wis +" + WisSaveBonusUpDown.Value); } if (ChaSaveBonusUpDown.Value > 0) { Monster.AddSavingThrow("Cha +" + ChaSaveBonusUpDown.Value); } ShowMonster(); }
private void StrengthAttackButton_Click(object sender, EventArgs e) { //Console.WriteLine(Monster.CR.AttackBonus + " " + Monster.CR.profBonus); HitDiceBonusDamage.Value = Convert.ToInt32(Monster.StatMod(Monster.STR)); AttackBonusUpDown.Value = Convert.ToInt32(Monster.StatMod(Monster.STR)) + Monster.CR.profBonus; }