Exemplo n.º 1
0
        public override Definition ParseMain(BinaryReader f, int RecNo)
        {
            Definition dat;
            if (RConfig.Instance.DatVersionAsEnum >= DatVersion.CT3_Awakening)
            {
                var info = new NpcGrpInfo_CT3();
                info.InitFieldValues();

                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "tag", "npc_speed");
                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "UNK_0_NEW");
                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "snd1", "snd3");

                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "rb_effect_on");
                if (info.rb_effect_on.Value == 1)
                    info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "rb_effect", "rb_effect_fl");

                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "UNK_1_NEW", "UNK_2_NEW");
                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "effect", "summon_grade");

                dat = info;
            }
            else if (RConfig.Instance.DatVersionAsEnum >= DatVersion.High_Five)
            {
                var info = new NpcGrpInfo_HighFive();
                info.InitFieldValues();

                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "tag", "npc_speed");
                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "UNK_0_NEW");
                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "snd1", "snd3");

                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "rb_effect_on");
                if (info.rb_effect_on.Value == 1)
                    info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "rb_effect", "rb_effect_fl");

                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "UNK_1_NEW", "UNK_2_NEW");
                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "effect", "use_zoomincam");

                dat = info;
            }
            else if (RConfig.Instance.DatVersionAsEnum >= DatVersion.Freya)
            {
                var info = new NpcGrpInfo_Freya();
                info.InitFieldValues();

                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "tag", "npc_speed");
                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "UNK_0_NEW");
                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "snd1", "snd3");

                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "rb_effect_on");
                if (info.rb_effect_on.Value == 1)
                    info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "rb_effect", "rb_effect_fl");

                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "UNK_1_NEW", "UNK_2_NEW");
                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "effect", "npc_end");

                dat = info;
            }
            else if (RConfig.Instance.DatVersionAsEnum >= DatVersion.Gracia_Plus__Epilogue)
            {
                var info = new NpcgrpInfo_Gracia_Plus();
                info.InitFieldValues();

                info = (NpcgrpInfo_Gracia_Plus) base.ReadFieldValue(f, info, "tag", "npc_speed");
                info = (NpcgrpInfo_Gracia_Plus) base.ReadFieldValue(f, info, "UNK_0_NEW");
                info = (NpcgrpInfo_Gracia_Plus) base.ReadFieldValue(f, info, "snd1", "snd3");

                info = (NpcgrpInfo_Gracia_Plus) base.ReadFieldValue(f, info, "rb_effect_on");
                if (info.rb_effect_on.Value == 1)
                    info = (NpcgrpInfo_Gracia_Plus) base.ReadFieldValue(f, info, "rb_effect", "rb_effect_fl");

                info = (NpcgrpInfo_Gracia_Plus)base.ReadFieldValue(f, info, "UNK_1_NEW");
                info = (NpcgrpInfo_Gracia_Plus) base.ReadFieldValue(f, info, "effect", "npc_end");

                dat = info;
            }
            else
            {
                var info = new NpcgrpInfo();
                info.InitFieldValues();
                info = (NpcgrpInfo) base.ReadFieldValue(f, info, "tag", "npc_speed");
                if (RConfig.Instance.DatVersionAsEnum >= DatVersion.C5)
                    info = (NpcgrpInfo) base.ReadFieldValue(f, info, "UNK_0_NEW");
                else
                    info = (NpcgrpInfo) base.ReadFieldValue(f, info, "UNK_0_OLD");
                info = (NpcgrpInfo) base.ReadFieldValue(f, info, "snd1", "snd3");
                if (RConfig.Instance.DatVersionAsEnum >= DatVersion.Interlude)
                {
                    info = (NpcgrpInfo) base.ReadFieldValue(f, info, "rb_effect_on");
                    if (info.rb_effect_on.Value == 1)
                        info = (NpcgrpInfo) base.ReadFieldValue(f, info, "rb_effect", "rb_effect_fl");
                }
                if (RConfig.Instance.DatVersionAsEnum >= DatVersion.C5)
                    info = (NpcgrpInfo) base.ReadFieldValue(f, info, "UNK_1_NEW");
                else
                    info = (NpcgrpInfo) base.ReadFieldValue(f, info, "UNK_1_OLD", "level_lim_up");

                info = (NpcgrpInfo) base.ReadFieldValue(f, info, "effect", "class_lim");

                dat = info;
            }

            return dat;
        }
Exemplo n.º 2
0
        public override Definition ParseMain(BinaryReader f, int RecNo)
        {
            Definition dat;

            if (RConfig.Instance.DatVersionAsEnum >= DatVersion.CT3_Awakening)
            {
                var info = new NpcGrpInfo_CT3();
                info.InitFieldValues();

                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "tag", "npc_speed");
                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "UNK_0_NEW");
                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "snd1", "snd3");

                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "rb_effect_on");
                if (info.rb_effect_on.Value == 1)
                {
                    info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "rb_effect", "rb_effect_fl");
                }

                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "UNK_1_NEW", "UNK_2_NEW");
                info = (NpcGrpInfo_CT3)base.ReadFieldValue(f, info, "effect", "summon_grade");

                dat = info;
            }
            else if (RConfig.Instance.DatVersionAsEnum >= DatVersion.High_Five)
            {
                var info = new NpcGrpInfo_HighFive();
                info.InitFieldValues();

                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "tag", "npc_speed");
                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "UNK_0_NEW");
                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "snd1", "snd3");

                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "rb_effect_on");
                if (info.rb_effect_on.Value == 1)
                {
                    info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "rb_effect", "rb_effect_fl");
                }

                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "UNK_1_NEW", "UNK_2_NEW");
                info = (NpcGrpInfo_HighFive)base.ReadFieldValue(f, info, "effect", "use_zoomincam");

                dat = info;
            }
            else if (RConfig.Instance.DatVersionAsEnum >= DatVersion.Freya)
            {
                var info = new NpcGrpInfo_Freya();
                info.InitFieldValues();

                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "tag", "npc_speed");
                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "UNK_0_NEW");
                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "snd1", "snd3");

                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "rb_effect_on");
                if (info.rb_effect_on.Value == 1)
                {
                    info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "rb_effect", "rb_effect_fl");
                }

                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "UNK_1_NEW", "UNK_2_NEW");
                info = (NpcGrpInfo_Freya)base.ReadFieldValue(f, info, "effect", "npc_end");

                dat = info;
            }
            else if (RConfig.Instance.DatVersionAsEnum >= DatVersion.Gracia_Plus__Epilogue)
            {
                var info = new NpcgrpInfo_Gracia_Plus();
                info.InitFieldValues();

                info = (NpcgrpInfo_Gracia_Plus)base.ReadFieldValue(f, info, "tag", "npc_speed");
                info = (NpcgrpInfo_Gracia_Plus)base.ReadFieldValue(f, info, "UNK_0_NEW");
                info = (NpcgrpInfo_Gracia_Plus)base.ReadFieldValue(f, info, "snd1", "snd3");

                info = (NpcgrpInfo_Gracia_Plus)base.ReadFieldValue(f, info, "rb_effect_on");
                if (info.rb_effect_on.Value == 1)
                {
                    info = (NpcgrpInfo_Gracia_Plus)base.ReadFieldValue(f, info, "rb_effect", "rb_effect_fl");
                }

                info = (NpcgrpInfo_Gracia_Plus)base.ReadFieldValue(f, info, "UNK_1_NEW");
                info = (NpcgrpInfo_Gracia_Plus)base.ReadFieldValue(f, info, "effect", "npc_end");

                dat = info;
            }
            else
            {
                var info = new NpcgrpInfo();
                info.InitFieldValues();
                info = (NpcgrpInfo)base.ReadFieldValue(f, info, "tag", "npc_speed");
                if (RConfig.Instance.DatVersionAsEnum >= DatVersion.C5)
                {
                    info = (NpcgrpInfo)base.ReadFieldValue(f, info, "UNK_0_NEW");
                }
                else
                {
                    info = (NpcgrpInfo)base.ReadFieldValue(f, info, "UNK_0_OLD");
                }
                info = (NpcgrpInfo)base.ReadFieldValue(f, info, "snd1", "snd3");
                if (RConfig.Instance.DatVersionAsEnum >= DatVersion.Interlude)
                {
                    info = (NpcgrpInfo)base.ReadFieldValue(f, info, "rb_effect_on");
                    if (info.rb_effect_on.Value == 1)
                    {
                        info = (NpcgrpInfo)base.ReadFieldValue(f, info, "rb_effect", "rb_effect_fl");
                    }
                }
                if (RConfig.Instance.DatVersionAsEnum >= DatVersion.C5)
                {
                    info = (NpcgrpInfo)base.ReadFieldValue(f, info, "UNK_1_NEW");
                }
                else
                {
                    info = (NpcgrpInfo)base.ReadFieldValue(f, info, "UNK_1_OLD", "level_lim_up");
                }

                info = (NpcgrpInfo)base.ReadFieldValue(f, info, "effect", "class_lim");

                dat = info;
            }


            return(dat);
        }