using System;
namespace PKHeX.Core;
///
/// Generation 7 Trade Encounter
///
///
public sealed record EncounterTrade7(GameVersion Version) : EncounterTrade(Version), IMemoryOT
{
public override int Generation => 7;
public override EntityContext Context => EntityContext.Gen7;
public override int Location => Locations.LinkTrade6NPC;
// immutable setters
public byte OT_Memory { get => 1; set => throw new InvalidOperationException(); }
public byte OT_Intensity { get => 3; set => throw new InvalidOperationException(); }
public byte OT_Feeling { get => 5; set => throw new InvalidOperationException(); }
public ushort OT_TextVar { get => 40; set => throw new InvalidOperationException(); }
protected override void ApplyDetails(ITrainerInfo sav, EncounterCriteria criteria, PKM pk)
{
base.ApplyDetails(sav, criteria, pk);
var pk7 = (PK7)pk;
pk7.OT_Memory = OT_Memory;
pk7.OT_Intensity = OT_Intensity;
pk7.OT_Feeling = OT_Feeling;
pk7.OT_TextVar = OT_TextVar;
}
}