mirror of
https://github.com/kwsch/PKHeX.git
synced 2026-04-24 23:57:12 -05:00
Narrow fields to reduce allocation < 16 bytes (maybe make this a struct?) Add method to get combined IVs (gen3/4 format) for RNG purposes use ^ method in RNG methods Change GetExpectedLevel to be generic rather than interface, better codegen Change Gender to enum for clarity breaks ALM and potentially other plugins, just need to recompile if using IVs
73 lines
1.8 KiB
C#
73 lines
1.8 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>
|
|
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; }
|
|
}
|