Exemple #1
0
 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);
 }
Exemple #2
0
        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;
        }
Exemple #3
0
        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;
        }
Exemple #4
0
 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);
 }
Exemple #5
0
        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());
        }
Exemple #6
0
 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));
 }
Exemple #7
0
        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);
        }
Exemple #8
0
        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);
        }
Exemple #9
0
        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);
        }
Exemple #10
0
 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 _);
Exemple #12
0
 public TrainerPokemonTeamElementViewModel(ViewPort viewPort, TrainerPokemonTeamRun tptRun, string parentName, int itemAddress)
     : base(viewPort, parentName, itemAddress, tptRun.FormatString)
 {
     Run = tptRun;
 }