PKHeX/PKHeX.Core/Ribbons/RibbonIndex.cs
2021-11-25 19:27:02 -05:00

130 lines
3 KiB
C#

namespace PKHeX.Core
{
/// <summary>
/// Ribbon Indexes for Generation 8
/// </summary>
public enum RibbonIndex
{
ChampionKalos,
ChampionG3,
ChampionSinnoh,
BestFriends,
Training,
BattlerSkillful,
BattlerExpert,
Effort,
Alert,
Shock,
Downcast,
Careless,
Relax,
Snooze,
Smile,
Gorgeous,
Royal,
GorgeousRoyal,
Artist,
Footprint,
Record,
Legend,
Country,
National,
Earth,
World,
Classic,
Premier,
Event,
Birthday,
Special,
Souvenir,
Wishing,
ChampionBattle,
ChampionRegional,
ChampionNational,
ChampionWorld,
CountMemoryContest,
CountMemoryBattle,
ChampionG6Hoenn,
ContestStar,
MasterCoolness,
MasterBeauty,
MasterCuteness,
MasterCleverness,
MasterToughness,
ChampionAlola,
BattleRoyale,
BattleTreeGreat,
BattleTreeMaster,
ChampionGalar,
TowerMaster,
MasterRank,
MarkLunchtime,
MarkSleepyTime,
MarkDusk,
MarkDawn,
MarkCloudy,
MarkRainy,
MarkStormy,
MarkSnowy,
MarkBlizzard,
MarkDry,
MarkSandstorm,
MarkMisty,
MarkDestiny,
MarkFishing,
MarkCurry,
MarkUncommon,
MarkRare,
MarkRowdy,
MarkAbsentMinded,
MarkJittery,
MarkExcited,
MarkCharismatic,
MarkCalmness,
MarkIntense,
MarkZonedOut,
MarkJoyful,
MarkAngry,
MarkSmiley,
MarkTeary,
MarkUpbeat,
MarkPeeved,
MarkIntellectual,
MarkFerocious,
MarkCrafty,
MarkScowling,
MarkKindly,
MarkFlustered,
MarkPumpedUp,
MarkZeroEnergy,
MarkPrideful,
MarkUnsure,
MarkHumble,
MarkThorny,
MarkVigor,
MarkSlump,
Pioneer,
TwinklingStar,
}
public static class RibbonIndexExtensions
{
public static bool GetRibbonIndex(this IRibbonIndex x, RibbonIndex r) => x.GetRibbon((int)r);
public static void SetRibbonIndex(this IRibbonIndex x, RibbonIndex r, bool value = true) => x.SetRibbon((int)r, value);
public static AreaWeather8 GetWeather8(this RibbonIndex x) => x switch
{
RibbonIndex.MarkCloudy => AreaWeather8.Overcast,
RibbonIndex.MarkRainy => AreaWeather8.Raining,
RibbonIndex.MarkStormy => AreaWeather8.Thunderstorm,
RibbonIndex.MarkDry => AreaWeather8.Intense_Sun,
RibbonIndex.MarkSnowy => AreaWeather8.Snowing,
RibbonIndex.MarkBlizzard => AreaWeather8.Snowstorm,
RibbonIndex.MarkSandstorm => AreaWeather8.Sandstorm,
RibbonIndex.MarkMisty => AreaWeather8.Heavy_Fog,
_ => AreaWeather8.None,
};
}
}