public EncounterSlot8(int specForm, int min, int max, AreaWeather8 weather) { Species = specForm & 0x7FF; Form = specForm >> 11; LevelMin = min; LevelMax = max; Weather = weather; }
public static bool IsMarkCompatible(this AreaWeather8 weather, IRibbonSetMark8 m) { if (m.RibbonMarkCloudy) { return((weather & Overcast) != 0); } if (m.RibbonMarkRainy) { return((weather & Raining) != 0); } if (m.RibbonMarkStormy) { return((weather & Thunderstorm) != 0); } if (m.RibbonMarkSnowy) { return((weather & Snowing) != 0); } if (m.RibbonMarkBlizzard) { return((weather & Snowstorm) != 0); } if (m.RibbonMarkDry) { return((weather & Intense_Sun) != 0); } if (m.RibbonMarkSandstorm) { return((weather & Sandstorm) != 0); } if (m.RibbonMarkMisty) { return((weather & Heavy_Fog) != 0); } return(true); // no mark / etc is fine; check later. }
public static bool CanEncounterViaFishing(this AreaSlotType8 type, AreaWeather8 weather) => type is OnlyFishing || weather.HasFlag(Fishing);