namespace pkNX.Structures.FlatBuffers.SWSH;
attribute "fs_serializer";

table EncounterTrade {
    Form:ubyte;
    DynamaxLevel:ubyte;
    BallItemID:int;
    Field_03:int;
    Hash0:ulong;
    CanGigantamax:bool;
    HeldItem:int;
    Level:ubyte;
    Species:int;
    Hash1:ulong;
    TrainerID:int;
    Memory:ubyte;
    TextVar:ushort;
    Feeling:ubyte;
    Intensity:ubyte;
    Hash2:ulong;
    OTGender:ubyte;
    RequiredForm:ubyte;
    RequiredSpecies:int;
    RequiredNature:int;
    UnknownRequirement:ubyte; // all 0; we know this field is a trade requirement, but unsure what exactly
    ShinyLock:int;
    Nature:int;
    Gender:byte;
    IV_SPE:byte;
    IV_ATK:byte;
    IV_DEF:byte;
    IV_HP:byte;
    IV_SPA:byte;
    IV_SPD:byte;
    AbilityNumber:ubyte;
    Relearn1:ushort;
    Relearn2:ushort;
    Relearn3:ushort;
    Relearn4:ushort;
}

table EncounterTradeArchive (fs_serializer) {
    Table:[EncounterTrade] (required);
}

root_type EncounterTradeArchive;
