/// <summary> /// Sets all ribbon flags according to a legality report. /// </summary> /// <param name="pk">Pokémon to modify</param> /// <param name="allValid">Set all valid ribbons only</param> public static void SetSuggestedRibbons(this PKM pk, IEncounterable enc, bool allValid = true) { if (allValid) { RibbonApplicator.SetAllValidRibbons(pk); if (pk is PK8 pk8 && pk8.Species != (int)Species.Shedinja && pk8.GetRandomValidMark(enc, out var mark)) { pk8.SetRibbonIndex(mark); } } string report = new LegalityAnalysis(pk).Report(); if (report.Contains(string.Format(LegalityCheckStrings.LRibbonFMissing_0, ""))) { var val = string.Format(LegalityCheckStrings.LRibbonFMissing_0, ""); var ribbonList = GetRequiredRibbons(report, val); var missingRibbons = GetRibbonsRequired(pk, ribbonList); SetRibbonValues(pk, missingRibbons, 0, true); } if (report.Contains(string.Format(LegalityCheckStrings.LRibbonFInvalid_0, ""))) { var val = string.Format(LegalityCheckStrings.LRibbonFInvalid_0, ""); string[] ribbonList = GetRequiredRibbons(report, val); var invalidRibbons = GetRibbonsRequired(pk, ribbonList); SetRibbonValues(pk, invalidRibbons, 0, false); } }
public static ModifyResult SetSuggestedRibbons(BatchInfo info, string value) { var pk = info.Entity; if (IsNone(value)) { RibbonApplicator.RemoveAllValidRibbons(pk); } else // All { RibbonApplicator.SetAllValidRibbons(pk); } return(ModifyResult.Modified); }
private void B_None_Click(object sender, EventArgs e) { if (ModifierKeys == Keys.Shift) { RibbonApplicator.RemoveAllValidRibbons(pkm); Close(); return; } foreach (var c in TLP_Ribbons.Controls.OfType <CheckBox>()) { c.Checked = false; } foreach (var n in TLP_Ribbons.Controls.OfType <NumericUpDown>()) { n.Value = 0; } }
private void B_All_Click(object sender, EventArgs e) { if (ModifierKeys == Keys.Shift) { RibbonApplicator.RemoveAllValidRibbons(Entity); RibbonApplicator.SetAllValidRibbons(Entity); Close(); return; } foreach (var c in TLP_Ribbons.Controls.OfType <CheckBox>()) { c.Checked = true; } foreach (var n in TLP_Ribbons.Controls.OfType <NumericUpDown>()) { n.Value = n.Maximum; } }
/// <summary> /// Sets all ribbon flags according to a legality report. /// </summary> /// <param name="pk">Pokémon to modify</param> /// <param name="allValid">Set all valid ribbons only</param> public static void SetSuggestedRibbons(this PKM pk, bool allValid = true) { if (allValid) { RibbonApplicator.SetAllValidRibbons(pk); } string report = new LegalityAnalysis(pk).Report(); if (report.Contains(string.Format(LegalityCheckStrings.LRibbonFMissing_0, ""))) { var val = string.Format(LegalityCheckStrings.LRibbonFMissing_0, ""); var ribbonList = GetRequiredRibbons(report, val); var missingRibbons = GetRibbonsRequired(pk, ribbonList); SetRibbonValues(pk, missingRibbons, 0, true); } if (report.Contains(string.Format(LegalityCheckStrings.LRibbonFInvalid_0, ""))) { var val = string.Format(LegalityCheckStrings.LRibbonFInvalid_0, ""); string[] ribbonList = GetRequiredRibbons(report, val); var invalidRibbons = GetRibbonsRequired(pk, ribbonList); SetRibbonValues(pk, invalidRibbons, 0, false); } }
private void B_None_Click(object sender, EventArgs e) { if (ModifierKeys == Keys.Shift) { RibbonApplicator.RemoveAllValidRibbons(Entity); if (Entity is IRibbonSetAffixed affixed) { affixed.AffixedRibbon = -1; } Close(); return; } CB_Affixed.SelectedValue = -1; foreach (var c in TLP_Ribbons.Controls.OfType <CheckBox>()) { c.Checked = false; } foreach (var n in TLP_Ribbons.Controls.OfType <NumericUpDown>()) { n.Value = 0; } }