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; }
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); }