private void btnExotic_Click(object sender, EventArgs e) { if (_character.Options.KarmaNewActiveSkill > _character.Karma && _character.Created) { MessageBox.Show(LanguageManager.GetString("Message_NotEnoughKarma", GlobalOptions.Language)); return; } XmlDocument document = XmlManager.Load("skills.xml"); frmSelectExoticSkill frmPickExoticSkill = new frmSelectExoticSkill(_character); frmPickExoticSkill.ShowDialog(this); if (frmPickExoticSkill.DialogResult == DialogResult.Cancel) { return; } XmlNode node = document.SelectSingleNode("/chummer/skills/skill[name = \"" + frmPickExoticSkill.SelectedExoticSkill + "\"]"); ExoticSkill skill = new ExoticSkill(ObjCharacter, node) { Specific = frmPickExoticSkill.SelectedExoticSkillSpecialisation }; skill.Upgrade(); ObjCharacter.SkillsSection.Skills.Add(skill); ObjCharacter.SkillsSection.SkillsDictionary.Add(skill.Name + " (" + skill.DisplaySpecializationMethod(GlobalOptions.DefaultLanguage) + ')', skill); }
private void btnExotic_Click(object sender, EventArgs e) { XmlDocument xmlSkillsDocument = XmlManager.Load("skills.xml"); frmSelectExoticSkill frmPickExoticSkill = new frmSelectExoticSkill(_objCharacter); frmPickExoticSkill.ShowDialog(this); if (frmPickExoticSkill.DialogResult == DialogResult.Cancel) { return; } XmlNode xmlSkillNode = xmlSkillsDocument.SelectSingleNode("/chummer/skills/skill[name = \"" + frmPickExoticSkill.SelectedExoticSkill + "\"]"); ExoticSkill objSkill = new ExoticSkill(_objCharacter, xmlSkillNode) { Specific = frmPickExoticSkill.SelectedExoticSkillSpecialisation }; // Karma check needs to come after the skill is created to make sure bonus-based modifiers (e.g. JoAT) get applied properly (since they can potentially trigger off of the specific exotic skill target) if (_objCharacter.Created && objSkill.UpgradeKarmaCost > _objCharacter.Karma) { MessageBox.Show(LanguageManager.GetString("Message_NotEnoughKarma", GlobalOptions.Language)); return; } objSkill.Upgrade(); _objCharacter.SkillsSection.Skills.Add(objSkill); string key = objSkill.Name + " (" + objSkill.DisplaySpecializationMethod(GlobalOptions.DefaultLanguage) + ')'; if (!_objCharacter.SkillsSection.SkillsDictionary.ContainsKey(key)) { _objCharacter.SkillsSection.SkillsDictionary.Add(key, objSkill); } }
private void btnExotic_Click(object sender, EventArgs e) { ExoticSkill objSkill; XmlDocument xmlSkillsDocument = _objCharacter.LoadData("skills.xml"); using (frmSelectExoticSkill frmPickExoticSkill = new frmSelectExoticSkill(_objCharacter)) { frmPickExoticSkill.ShowDialog(this); if (frmPickExoticSkill.DialogResult == DialogResult.Cancel) { return; } XmlNode xmlSkillNode = xmlSkillsDocument.SelectSingleNode("/chummer/skills/skill[name = " + frmPickExoticSkill.SelectedExoticSkill.CleanXPath() + "]"); objSkill = new ExoticSkill(_objCharacter, xmlSkillNode) { Specific = frmPickExoticSkill.SelectedExoticSkillSpecialisation }; } // Karma check needs to come after the skill is created to make sure bonus-based modifiers (e.g. JoAT) get applied properly (since they can potentially trigger off of the specific exotic skill target) if (_objCharacter.Created && objSkill.UpgradeKarmaCost > _objCharacter.Karma) { Program.MainForm.ShowMessageBox(LanguageManager.GetString("Message_NotEnoughKarma")); return; } objSkill.Upgrade(); _objCharacter.SkillsSection.Skills.Add(objSkill); }
private void btnExotic_Click(object sender, EventArgs e) { if (_character.Options.KarmaNewActiveSkill > _character.Karma && _character.Created) { MessageBox.Show(LanguageManager.Instance.GetString("Message_NotEnoughKarma")); return; } XmlDocument document = XmlManager.Instance.Load("skills.xml"); frmSelectExoticSkill frmPickExoticSkill = new frmSelectExoticSkill(); frmPickExoticSkill.ShowDialog(this); if (frmPickExoticSkill.DialogResult == DialogResult.Cancel) return; XmlNode node = document.SelectSingleNode("/chummer/skills/skill[name = \"" + frmPickExoticSkill.SelectedExoticSkill + "\"]"); ExoticSkill skill = new ExoticSkill(ObjCharacter, node); skill.Specific = frmPickExoticSkill.SelectedExoticSkillSpecialisation; skill.Upgrade(); ObjCharacter.SkillsSection.Skills.Add(skill); }