PKHeX/PKHeX.Core/Ribbons/IRibbonSetMark8.cs
Kurt 88830e0d00
Update from .NET Framework 4.6 to .NET 7 (#3729)
Updates from net46->net7, dropping support for mono in favor of using the latest runtime (along with the performance/API improvements). Releases will be posted as 64bit only for now.

Refactors a good amount of internal API methods to be more performant and more customizable for future updates & fixes.

Adds functionality for Batch Editor commands to `>`, `<` and <=/>=

TID/SID properties renamed to TID16/SID16 for clarity; other properties exposed for Gen7 / display variants.

Main window has a new layout to account for DPI scaling (8 point grid)

Fixed: Tatsugiri and Paldean Tauros now output Showdown form names as Showdown expects
Changed: Gen9 species now interact based on the confirmed National Dex IDs (closes #3724)
Fixed: Pokedex set all no longer clears species with unavailable non-base forms (closes #3720)
Changed: Hyper Training suggestions now apply for level 50 in SV. (closes #3714)
Fixed: B2/W2 hatched egg met locations exclusive to specific versions are now explicitly checked (closes #3691)
Added: Properties for ribbon/mark count (closes #3659)
Fixed: Traded SV eggs are now checked correctly (closes #3692)
2023-01-21 20:02:33 -08:00

122 lines
5 KiB
C#

namespace PKHeX.Core;
/// <summary> Marks introduced in Generation 8 </summary>
public interface IRibbonSetMark8
{
bool RibbonMarkLunchtime { get; set; }
bool RibbonMarkSleepyTime { get; set; }
bool RibbonMarkDusk { get; set; }
bool RibbonMarkDawn { get; set; }
bool RibbonMarkCloudy { get; set; }
bool RibbonMarkRainy { get; set; }
bool RibbonMarkStormy { get; set; }
bool RibbonMarkSnowy { get; set; }
bool RibbonMarkBlizzard { get; set; }
bool RibbonMarkDry { get; set; }
bool RibbonMarkSandstorm { get; set; }
bool RibbonMarkMisty { get; set; }
bool RibbonMarkDestiny { get; set; }
bool RibbonMarkFishing { get; set; }
bool RibbonMarkCurry { get; set; }
bool RibbonMarkUncommon { get; set; }
bool RibbonMarkRare { get; set; }
bool RibbonMarkRowdy { get; set; }
bool RibbonMarkAbsentMinded { get; set; }
bool RibbonMarkJittery { get; set; }
bool RibbonMarkExcited { get; set; }
bool RibbonMarkCharismatic { get; set; }
bool RibbonMarkCalmness { get; set; }
bool RibbonMarkIntense { get; set; }
bool RibbonMarkZonedOut { get; set; }
bool RibbonMarkJoyful { get; set; }
bool RibbonMarkAngry { get; set; }
bool RibbonMarkSmiley { get; set; }
bool RibbonMarkTeary { get; set; }
bool RibbonMarkUpbeat { get; set; }
bool RibbonMarkPeeved { get; set; }
bool RibbonMarkIntellectual { get; set; }
bool RibbonMarkFerocious { get; set; }
bool RibbonMarkCrafty { get; set; }
bool RibbonMarkScowling { get; set; }
bool RibbonMarkKindly { get; set; }
bool RibbonMarkFlustered { get; set; }
bool RibbonMarkPumpedUp { get; set; }
bool RibbonMarkZeroEnergy { get; set; }
bool RibbonMarkPrideful { get; set; }
bool RibbonMarkUnsure { get; set; }
bool RibbonMarkHumble { get; set; }
bool RibbonMarkThorny { get; set; }
bool RibbonMarkVigor { get; set; }
bool RibbonMarkSlump { get; set; }
bool HasMarkEncounter8 { get; }
}
public interface IRibbonSetRibbons
{
int RibbonCount { get; }
}
public interface IRibbonSetMarks
{
int MarkCount { get; }
int RibbonMarkCount { get; }
}
internal static partial class RibbonExtensions
{
public static bool HasWeatherMark(this IRibbonSetMark8 m)
{
return m.RibbonMarkCloudy || m.RibbonMarkRainy || m.RibbonMarkStormy || m.RibbonMarkSnowy
|| m.RibbonMarkBlizzard || m.RibbonMarkDry || m.RibbonMarkSandstorm || m.RibbonMarkMisty;
}
internal static void CopyRibbonSetMark8(this IRibbonSetMark8 set, IRibbonSetMark8 dest)
{
dest.RibbonMarkLunchtime = set.RibbonMarkLunchtime;
dest.RibbonMarkSleepyTime = set.RibbonMarkSleepyTime;
dest.RibbonMarkDusk = set.RibbonMarkDusk;
dest.RibbonMarkDawn = set.RibbonMarkDawn;
dest.RibbonMarkCloudy = set.RibbonMarkCloudy;
dest.RibbonMarkRainy = set.RibbonMarkRainy;
dest.RibbonMarkStormy = set.RibbonMarkStormy;
dest.RibbonMarkSnowy = set.RibbonMarkSnowy;
dest.RibbonMarkBlizzard = set.RibbonMarkBlizzard;
dest.RibbonMarkDry = set.RibbonMarkDry;
dest.RibbonMarkSandstorm = set.RibbonMarkSandstorm;
dest.RibbonMarkMisty = set.RibbonMarkMisty;
dest.RibbonMarkDestiny = set.RibbonMarkDestiny;
dest.RibbonMarkFishing = set.RibbonMarkFishing;
dest.RibbonMarkCurry = set.RibbonMarkCurry;
dest.RibbonMarkUncommon = set.RibbonMarkUncommon;
dest.RibbonMarkRare = set.RibbonMarkRare;
dest.RibbonMarkRowdy = set.RibbonMarkRowdy;
dest.RibbonMarkAbsentMinded = set.RibbonMarkAbsentMinded;
dest.RibbonMarkJittery = set.RibbonMarkJittery;
dest.RibbonMarkExcited = set.RibbonMarkExcited;
dest.RibbonMarkCharismatic = set.RibbonMarkCharismatic;
dest.RibbonMarkCalmness = set.RibbonMarkCalmness;
dest.RibbonMarkIntense = set.RibbonMarkIntense;
dest.RibbonMarkZonedOut = set.RibbonMarkZonedOut;
dest.RibbonMarkJoyful = set.RibbonMarkJoyful;
dest.RibbonMarkAngry = set.RibbonMarkAngry;
dest.RibbonMarkSmiley = set.RibbonMarkSmiley;
dest.RibbonMarkTeary = set.RibbonMarkTeary;
dest.RibbonMarkUpbeat = set.RibbonMarkUpbeat;
dest.RibbonMarkPeeved = set.RibbonMarkPeeved;
dest.RibbonMarkIntellectual = set.RibbonMarkIntellectual;
dest.RibbonMarkFerocious = set.RibbonMarkFerocious;
dest.RibbonMarkCrafty = set.RibbonMarkCrafty;
dest.RibbonMarkScowling = set.RibbonMarkScowling;
dest.RibbonMarkKindly = set.RibbonMarkKindly;
dest.RibbonMarkFlustered = set.RibbonMarkFlustered;
dest.RibbonMarkPumpedUp = set.RibbonMarkPumpedUp;
dest.RibbonMarkZeroEnergy = set.RibbonMarkZeroEnergy;
dest.RibbonMarkPrideful = set.RibbonMarkPrideful;
dest.RibbonMarkUnsure = set.RibbonMarkUnsure;
dest.RibbonMarkHumble = set.RibbonMarkHumble;
dest.RibbonMarkThorny = set.RibbonMarkThorny;
dest.RibbonMarkVigor = set.RibbonMarkVigor;
dest.RibbonMarkSlump = set.RibbonMarkSlump;
}
}