pkNX/pkNX.Structures/Move/Move.cs
Kurt 2578ba073c Refactoring
File scoped namespaces for all lib projects
netstandard2.0 => net6; now uniform. bye netframework!
2022-10-01 17:08:17 -07:00

76 lines
2.8 KiB
C#

namespace pkNX.Structures;
public abstract class Move3DS : IMove
{
protected readonly byte[] Data;
protected abstract int SIZE { get; }
protected Move3DS(byte[] data = null) => Data = data ?? new byte[SIZE];
public byte[] Write() => Data;
public abstract int Type { get; set; }
public abstract int Quality { get; set; }
public abstract int Category { get; set; }
public abstract int Power { get; set; }
public abstract int Accuracy { get; set; }
public abstract int PP { get; set; }
public abstract int Priority { get; set; }
public abstract int HitMin { get; set; }
public abstract int HitMax { get; set; }
public abstract int Inflict { get; set; }
public abstract int InflictPercent { get; set; }
public abstract MoveInflictDuration InflictCount { get; set; }
public abstract int TurnMin { get; set; }
public abstract int TurnMax { get; set; }
public abstract int CritStage { get; set; }
public abstract int Flinch { get; set; }
public abstract int EffectSequence { get; set; }
public abstract int Recoil { get; set; }
public abstract Heal Healing { get; set; }
public abstract MoveTarget Target { get; set; }
public abstract int Stat1 { get; set; }
public abstract int Stat2 { get; set; }
public abstract int Stat3 { get; set; }
public abstract int Stat1Stage { get; set; }
public abstract int Stat2Stage { get; set; }
public abstract int Stat3Stage { get; set; }
public abstract int Stat1Percent { get; set; }
public abstract int Stat2Percent { get; set; }
public abstract int Stat3Percent { get; set; }
}
public interface IMove
{
byte[] Write();
public int Type { get; set; }
public int Quality { get; set; }
public int Category { get; set; }
public int Power { get; set; }
public int Accuracy { get; set; }
public int PP { get; set; }
public int Priority { get; set; }
public int HitMin { get; set; }
public int HitMax { get; set; }
public int Inflict { get; set; }
public int InflictPercent { get; set; }
public MoveInflictDuration InflictCount { get; set; }
public int TurnMin { get; set; }
public int TurnMax { get; set; }
public int CritStage { get; set; }
public int Flinch { get; set; }
public int EffectSequence { get; set; }
public int Recoil { get; set; }
public Heal Healing { get; set; }
public MoveTarget Target { get; set; }
public int Stat1 { get; set; }
public int Stat2 { get; set; }
public int Stat3 { get; set; }
public int Stat1Stage { get; set; }
public int Stat2Stage { get; set; }
public int Stat3Stage { get; set; }
public int Stat1Percent { get; set; }
public int Stat2Percent { get; set; }
public int Stat3Percent { get; set; }
}