PKHeX/PKHeX.Core/Editing/BattleTemplate/IBattleTemplate.cs
Kurt f730f7d19a
Feature: Localization of Battle Templates (Showdown Set) (#4482)
* Localization capability for each language, import & export
* Lines with stat names (IVs/EVs) can be configured to many representations (X/X/X/X/X/X, HABCDS, etc).
* Add nonstandard localizations
* Add token types for Showdown's new set format
* Add new program settings for hover & export styles. Allows users to select which presentation format they want for the hover previews, as well as the set export format.
* Revises preview hover GUI to use new settings
* Revises export events to use new settings
* Moves no longer indicate end of set
* Enhance robustness of stat parsing
* Expand all settings in settings editor on form load
* Extract clipboard -> sets operation to api for maintainability & reusability
2025-05-01 23:16:36 -05:00

74 lines
1.9 KiB
C#

namespace PKHeX.Core;
/// <summary>
/// Interface containing details relevant for battling.
/// </summary>
public interface IBattleTemplate : ISpeciesForm, IGigantamaxReadOnly, IDynamaxLevelReadOnly, INatureReadOnly, ITeraTypeReadOnly
{
/// <summary>
/// <see cref="PKM.Context"/> of the Set entity it is specific to.
/// </summary>
EntityContext Context { get; }
/// <summary>
/// <see cref="PKM.Nickname"/> of the Set entity.
/// </summary>
string Nickname { get; }
/// <summary>
/// <see cref="PKM.Gender"/> name of the Set entity.
/// </summary>
byte? Gender { get; }
/// <summary>
/// <see cref="PKM.HeldItem"/> of the Set entity.
/// </summary>
/// <remarks>Depends on <see cref="Context"/> for context-specific item lists.</remarks>
int HeldItem { get; }
/// <summary>
/// <see cref="PKM.Ability"/> of the Set entity.
/// </summary>
int Ability { get; }
/// <summary>
/// <see cref="PKM.CurrentLevel"/> of the Set entity.
/// </summary>
byte Level { get; }
/// <summary>
/// <see cref="PKM.CurrentLevel"/> of the Set entity.
/// </summary>
bool Shiny { get; }
/// <summary>
/// <see cref="PKM.CurrentFriendship"/> of the Set entity.
/// </summary>
byte Friendship { get; }
/// <summary>
/// <see cref="PKM.Form"/> name of the Set entity, stored in PKHeX style (instead of Showdown's)
/// </summary>
string FormName { get; }
/// <summary>
/// <see cref="PKM.HPType"/> of the Set entity.
/// </summary>
sbyte HiddenPowerType { get; }
/// <summary>
/// <see cref="EffortValues"/> of the Set entity.
/// </summary>
int[] EVs { get; }
/// <summary>
/// <see cref="PKM.IVs"/> of the Set entity.
/// </summary>
int[] IVs { get; }
/// <summary>
/// <see cref="PKM.Moves"/> of the Set entity.
/// </summary>
ushort[] Moves { get; }
}