public FrameCompare(IVFilter ivBase, uint nature) { if (ivBase != null) { hpValue = ivBase.hpValue; hpCompare = ivBase.hpCompare; atkValue = ivBase.atkValue; atkCompare = ivBase.atkCompare; defValue = ivBase.defValue; defCompare = ivBase.defCompare; spaValue = ivBase.spaValue; spaCompare = ivBase.spaCompare; spdValue = ivBase.spdValue; spdCompare = ivBase.spdCompare; speValue = ivBase.speValue; speCompare = ivBase.speCompare; } Nature = nature; }
public IVFilters() { InitializeComponent(); IVFilter = new IVFilter(); }
public override bool ParseInput() { // passes each of the fields into a function to parse the input // also validates the ranges // min/max frame can be larger in the input box than the limit of a uint but it's low priority to fix that if (!(FormsFunctions.ParseInputD(searchParams.minFrame, out minFrame) && FormsFunctions.ParseInputD(searchParams.maxFrame, out maxFrame) && minFrame <= maxFrame && FormsFunctions.ParseInputD(searchParams.minHour, out minHour) && FormsFunctions.ParseInputD(searchParams.maxHour, out maxHour) && minHour <= maxHour && maxHour <= 23 && FormsFunctions.ParseInputD(searchParams.minMinute, out minMinute) && FormsFunctions.ParseInputD(searchParams.maxMinute, out maxMinute) && minMinute <= maxMinute && maxMinute <= 59)) { return(false); } //parse the id/sid defaulting to 0 FormsFunctions.ParseInputD(searchParams.id, out id); FormsFunctions.ParseInputD(searchParams.sid, out sid); // everything from here on should always be valid input seedDate = searchParams.date.Value; bool shiny = searchParams.isShiny.Checked; bool synch = searchParams.isSynch.Checked; IVFilter ivfilter = searchParams.ivfilters.IVFilter; List <int> encounterSlots = null; if (searchParams.encounterSlot.Text != "Any" && searchParams.encounterSlot.CheckBoxItems.Count > 0) { encounterSlots = new List <int>(); for (int i = 0; i < searchParams.encounterSlot.CheckBoxItems.Count; i++) { if (searchParams.encounterSlot.CheckBoxItems[i].Checked) { // We have to subtract 1 because this custom control contains a hidden item for text display encounterSlots.Add(i - 1); } } } List <uint> natures = null; if (searchParams.nature.Text != "Any" && searchParams.nature.CheckBoxItems.Count > 0) { natures = (from t in searchParams.nature.CheckBoxItems where t.Checked select(uint) ((Nature)t.ComboBoxItem).Number).ToList(); } frameCompare = new FrameCompare(ivfilter, natures, (int)((ComboBoxItem)searchParams.ability.SelectedItem).Reference, shiny, synch, false, encounterSlots, (GenderFilter)(searchParams.gender.SelectedItem)); EncounterMod currentMod = synch ? EncounterMod.Synchronize : EncounterMod.None; generator = new FrameGenerator { FrameType = (FrameType)((ComboBoxItem)searchParams.frameType.SelectedItem).Reference, EncounterMod = currentMod }; if (currentMod == EncounterMod.Synchronize && natures == null) { generator.EncounterMod = EncounterMod.None; } generator.SynchNature = ((Nature)searchParams.synchNature.SelectedItem).Number; generator.EncounterType = EncounterTypeCalc.EncounterString(searchParams.encounterType.Text); return(true); }