public TrainerTeamTests() { CreateTextTable(HardcodeTablesModel.ItemsTableName, 0x100, "potion", "hyper potion", "rare candy", "masterball"); CreateTextTable(HardcodeTablesModel.PokemonNameTable, 0x140, "bulbasaur", "farfetch'd", "nidoran \\sm", "mr. mime"); CreateTextTable(HardcodeTablesModel.MoveNamesTable, 0x180, "tackle", "scratch", "hyper beam", "rest"); run = new TrainerPokemonTeamRun(Model, 0, SortedSpan <int> .None); }
public override void UpdateNewRunFromPointerFormat(IDataModel model, ModelDelta token, string name, ref IFormattedRun run) { var runAttempt = new TrainerPokemonTeamRun(model, run.Start, run.PointerSources); model.ClearFormat(token, run.Start, runAttempt.Length); run = runAttempt; }
public override void UpdateNewRunFromPointerFormat(IDataModel model, ModelDelta token, string name, IReadOnlyList <ArrayRunElementSegment> sourceSegments, int parentIndex, ref IFormattedRun run) { var runAttempt = new TrainerPokemonTeamRun(model, run.Start, run.PointerSources); model.ClearFormat(token, run.Start, runAttempt.Length); run = runAttempt; }
public TrainerTeamTests() { CreateTextTable(HardcodeTablesModel.ItemsTableName, 0x100, "potion", "hyper potion", "rare candy", "masterball", "go-goggles", "king's rock"); CreateTextTable(HardcodeTablesModel.PokemonNameTable, 0x150, "bulbasaur", "farfetch'd", "nidoran \\sm", "mr. mime", "ho-oh"); CreateTextTable(HardcodeTablesModel.MoveNamesTable, 0x1A0, "tackle", "scratch", "hyper beam", "rest", "name-with-dash"); run = new TrainerPokemonTeamRun(Model, 0, false, SortedSpan <int> .None); }
public void TeamWithIVScalingOff_255IVs_Show255() { var run = new TrainerPokemonTeamRun(Model, 0, true, SortedSpan <int> .None); Model.WriteMultiByteValue(0, 2, Token, 255); Assert.IsNotType <ArrayRunTupleSegment>(run.ElementContent[0]); Assert.Contains("IVs=255", run.SerializeRun()); }
protected override bool TryCopy(StreamElementViewModel other) { if (!(other is TrainerPokemonTeamElementViewModel that)) { return(false); } setDefaultMoves = that.setDefaultMoves; setDefaultItems = that.setDefaultItems; Run = that.Run; return(base.TryCopy(other)); }
public void TrainerData_DeserializeWithIVLabel_IVChanges() { var parent = SetupTrainerTable(0x100, 1); parent.WriteValue(4, Model, ViewPort.CurrentChange, 0, "pokemonCount"); parent.WritePointer(0x80, Model, ViewPort.CurrentChange, 0, "pokemon"); var teamRun = new TrainerPokemonTeamRun(Model, 0x80, false, new SortedSpan <int>(0x100 + 36)); Model.ObserveRunWritten(ViewPort.CurrentChange, teamRun); var newRun = teamRun.DeserializeRun("1 bulbasaur (IVs=12) ", ViewPort.CurrentChange, false, false); Assert.InRange(newRun.ReadValue(Model, 0, "ivSpread"), 12 * 8, 12 * 8 + 7); }
public void TrainerData_Serialize_SeeIVLabel() { var parent = SetupTrainerTable(0x100, 1); parent.WriteValue(4, Model, ViewPort.CurrentChange, 0, "pokemonCount"); parent.WritePointer(0x80, Model, ViewPort.CurrentChange, 0, "pokemon"); var teamRun = new TrainerPokemonTeamRun(Model, 0x80, false, new SortedSpan <int>(0x100 + 36)); Model.ObserveRunWritten(ViewPort.CurrentChange, teamRun); var text = teamRun.SerializeRun(); Assert.Contains("(IVs=0)", text); }
public override bool TryAddFormatAtDestination(IDataModel owner, ModelDelta token, int source, int destination, string name, IReadOnlyList <ArrayRunElementSegment> sourceSegments) { var teamRun = new TrainerPokemonTeamRun(owner, destination, new SortedSpan <int>(source)); var length = teamRun.Length; if (length < 2) { return(false); } if (!(token is NoDataChangeDeltaModel)) { owner.ObserveRunWritten(token, teamRun); } return(true); }
public override ErrorInfo TryParseData(IDataModel model, string name, int dataIndex, ref IFormattedRun run) { run = new TrainerPokemonTeamRun(model, dataIndex, run.PointerSources); return(ErrorInfo.NoError); }
public static TrainerPokemonTeamRun DeserializeRun(this TrainerPokemonTeamRun streamRun, string content, ModelDelta token, bool setDefaultMoves, bool setDefaultItems) => streamRun.DeserializeRun(content, token, setDefaultMoves, setDefaultItems, out var _);
public TrainerPokemonTeamElementViewModel(ViewPort viewPort, TrainerPokemonTeamRun tptRun, string parentName, int itemAddress) : base(viewPort, parentName, itemAddress, tptRun.FormatString) { Run = tptRun; }