void addSkillToChar(string line) { string[] parse = line.Replace("[", "").Replace("]", "").Split(','); bool found = false; SkillClass d = new SkillClass(); d.Name = parse[1]; d.Value = int.Parse(parse[2]); d.Specialization = parse[3]; foreach (CharacterClass c in goodList) { if (c.Name == parse[0]) { c.skillList.Add(d); EventClass.LogEvent(d.Name + " skill added to " + c.Name); found = true; return; } } foreach (CharacterClass c in badList) { if (c.Name == parse[0]) { c.skillList.Add(d); EventClass.LogEvent(d.Name + " skill added to " + c.Name); found = true; return; } } EventClass.LogEvent("ERROR: cannot find " + parse[0] + " when adding skill " + d.Name); }
void writeCharacterToTextBox(CharacterClass c, TextBox txtBox) { txtBox.Clear(); string s = c.Name + "\r\n" + "Body : " + c.Body + " Strength : " + c.Strength + "\r\n" + "Agility : " + c.Agility + " Intelligence : " + c.Intelligence + "\r\n" + "Willpower : " + c.Willpower + " Charisma : " + c.Charisma + "\r\n" + "Intuition : " + c.Intuition + " Logic : " + c.Logic + "\r\n"; s += SkillClass.getAllSkills(c); txtBox.Text = s; }
void resolveCombat(CharacterClass c, CharacterClass t) { int i = 0; DamageClass charWeapon = DamageClass.getActiveWeapon(c); int charWeaponSkill = SkillClass.getSkill(c, charWeapon); int charAttribute = c.getAttributeSkillValue(charWeapon); // DamageClass targetWeapon = DamageClass.getActiveWeapon(t); //int targetWeaponSkill = SkillClass.getSkill(t, targetWeapon); //int targetAttribute = c.getAttributeSkillValue(targetWeapon); RollerClass r = new RollerClass(); List <int> charRolls = r.Roll(charWeaponSkill + charAttribute, 0); int charSuccess = r.returnSuccesses(charRolls); List <int> targetRolls = r.Roll(t.Reaction + t.Intuition, 0); int targetSuccess = r.returnSuccesses(targetRolls); int netSuccesses = charSuccess - targetSuccess; EventClass.LogEvent(c.Name + " attack rolls (" + charSuccess + ") " + r.displayRolls(charRolls)); EventClass.LogEvent(t.Name + " defense rolls (" + targetSuccess + ") " + r.displayRolls(targetRolls)); if (netSuccesses > 0) { List <int> targetResistRolls = r.Roll(t.Body + t.Armor - charWeapon.armorPen, 0); int targetResistSuccess = r.returnSuccesses(targetResistRolls); EventClass.LogEvent(t.Name + " resist rolls (" + targetResistSuccess + ") " + r.displayRolls(targetResistRolls)); int dv = charWeapon.baseDamage + netSuccesses; int damage = dv - targetResistSuccess; EventClass.LogEvent(c.Name + " dv = " + dv + " damage = " + damage); if (dv >= (t.Armor - charWeapon.armorPen)) { //t.Health -= damage; EventClass.LogEvent(c.Name + " did physical damage of " + damage + " to " + t.Name); } else { //t.Stun -= damage; EventClass.LogEvent(c.Name + " did stun damage of " + damage + " to " + t.Name); } } else { EventClass.LogEvent(c.Name + " missed " + t.Name); } }