using System; namespace XUtliPoolLib { public class SkillList : CVSReader { public SkillList.RowData[] Table = null; public class RowData { public string SkillScript; public uint SkillScriptHash; public byte SkillLevel; public string ScriptName; public SeqListRef PhysicalRatio; public SeqListRef PhysicalFixed; public byte[] AddBuffPoint; public SeqListRef BuffID; public byte HpMaxLimit; public byte[] LevelupCost; public byte[] UpReqRoleLevel; public string CurrentLevelDescription; public string NextLevelDescription; public string Icon; public SeqListRef MagicRatio; public SeqListRef MagicFixed; public byte Element; public int Profession; public byte SkillType; public int IncreaseSuperArmor; public short[] DecreaseSuperArmor; public byte IsBasicSkill; public SeqRef CostMP; public SeqListRef TipsRatio; public SeqListRef TipsFixed; public string PreSkill; public byte XPostion; public short YPostion; public SeqListRef StartBuffID; public SeqRef AuraBuffID; public byte HpMinLimit; public SeqRef CDRatio; public SeqRef PvPCDRatio; public uint XEntityStatisticsID; public int PvPIncreaseSuperArmor; public float[] PvPDecreaseSuperArmor; public SeqListRef PvPRatio; public SeqListRef PvPFixed; public float InitCD; public float PvPInitCD; public SeqListRef PvPMagicRatio; public SeqListRef PvPMagicFixed; public string PreviewScript; public uint[] MobBuffs; public string Atlas; public short[] Flag; public short PreSkillPoint; public string SuperIndureAttack; public string SuperIndureDefense; public string ExSkillScript; public byte UnchangableCD; public float EnmityRatio; public int EnmityExtValue; public SeqListRef PercentDamage; public string LinkedSkill; public byte LinkType; public float RemainingCDNotify; public int StrengthValue; public byte UsageCount; public byte[] ExclusiveMask; public string BindSkill; public bool IsAwake; } protected override void ReadLine(XBinaryReader reader) { SkillList.RowData rowData = new SkillList.RowData(); base.Read(reader, ref rowData.SkillScript, CVSReader.stringParse); this.columnno = 0; base.Read(reader, ref rowData.SkillScriptHash, CVSReader.uintParse); this.columnno = 0; base.Read(reader, ref rowData.SkillLevel, CVSReader.byteParse); this.columnno = 1; base.Read(reader, ref rowData.ScriptName, CVSReader.stringParse); this.columnno = 2; rowData.PhysicalRatio.Read(reader, this.m_DataHandler); this.columnno = 3; rowData.PhysicalFixed.Read(reader, this.m_DataHandler); this.columnno = 4; base.ReadArray(reader, ref rowData.AddBuffPoint, CVSReader.byteParse); this.columnno = 6; rowData.BuffID.Read(reader, this.m_DataHandler); this.columnno = 7; base.Read(reader, ref rowData.HpMaxLimit, CVSReader.byteParse); this.columnno = 8; base.ReadArray(reader, ref rowData.LevelupCost, CVSReader.byteParse); this.columnno = 10; base.ReadArray(reader, ref rowData.UpReqRoleLevel, CVSReader.byteParse); this.columnno = 11; base.Read(reader, ref rowData.CurrentLevelDescription, CVSReader.stringParse); this.columnno = 12; base.Read(reader, ref rowData.NextLevelDescription, CVSReader.stringParse); this.columnno = 13; base.Read(reader, ref rowData.Icon, CVSReader.stringParse); this.columnno = 14; rowData.MagicRatio.Read(reader, this.m_DataHandler); this.columnno = 15; rowData.MagicFixed.Read(reader, this.m_DataHandler); this.columnno = 16; base.Read(reader, ref rowData.Element, CVSReader.byteParse); this.columnno = 17; base.Read(reader, ref rowData.Profession, CVSReader.intParse); this.columnno = 18; base.Read(reader, ref rowData.SkillType, CVSReader.byteParse); this.columnno = 19; base.Read(reader, ref rowData.IncreaseSuperArmor, CVSReader.intParse); this.columnno = 20; base.ReadArray(reader, ref rowData.DecreaseSuperArmor, CVSReader.shortParse); this.columnno = 21; base.Read(reader, ref rowData.IsBasicSkill, CVSReader.byteParse); this.columnno = 22; rowData.CostMP.Read(reader, this.m_DataHandler); this.columnno = 23; rowData.TipsRatio.Read(reader, this.m_DataHandler); this.columnno = 24; rowData.TipsFixed.Read(reader, this.m_DataHandler); this.columnno = 25; base.Read(reader, ref rowData.PreSkill, CVSReader.stringParse); this.columnno = 26; base.Read(reader, ref rowData.XPostion, CVSReader.byteParse); this.columnno = 27; base.Read(reader, ref rowData.YPostion, CVSReader.shortParse); this.columnno = 28; rowData.StartBuffID.Read(reader, this.m_DataHandler); this.columnno = 29; rowData.AuraBuffID.Read(reader, this.m_DataHandler); this.columnno = 33; base.Read(reader, ref rowData.HpMinLimit, CVSReader.byteParse); this.columnno = 34; rowData.CDRatio.Read(reader, this.m_DataHandler); this.columnno = 35; rowData.PvPCDRatio.Read(reader, this.m_DataHandler); this.columnno = 36; base.Read(reader, ref rowData.XEntityStatisticsID, CVSReader.uintParse); this.columnno = 39; base.Read(reader, ref rowData.PvPIncreaseSuperArmor, CVSReader.intParse); this.columnno = 40; base.ReadArray(reader, ref rowData.PvPDecreaseSuperArmor, CVSReader.floatParse); this.columnno = 41; rowData.PvPRatio.Read(reader, this.m_DataHandler); this.columnno = 42; rowData.PvPFixed.Read(reader, this.m_DataHandler); this.columnno = 43; base.Read(reader, ref rowData.InitCD, CVSReader.floatParse); this.columnno = 45; base.Read(reader, ref rowData.PvPInitCD, CVSReader.floatParse); this.columnno = 46; rowData.PvPMagicRatio.Read(reader, this.m_DataHandler); this.columnno = 48; rowData.PvPMagicFixed.Read(reader, this.m_DataHandler); this.columnno = 49; base.Read(reader, ref rowData.PreviewScript, CVSReader.stringParse); this.columnno = 50; base.ReadArray(reader, ref rowData.MobBuffs, CVSReader.uintParse); this.columnno = 51; base.Read(reader, ref rowData.Atlas, CVSReader.stringParse); this.columnno = 52; base.ReadArray(reader, ref rowData.Flag, CVSReader.shortParse); this.columnno = 53; base.Read(reader, ref rowData.PreSkillPoint, CVSReader.shortParse); this.columnno = 54; base.Read(reader, ref rowData.SuperIndureAttack, CVSReader.stringParse); this.columnno = 55; base.Read(reader, ref rowData.SuperIndureDefense, CVSReader.stringParse); this.columnno = 56; base.Read(reader, ref rowData.ExSkillScript, CVSReader.stringParse); this.columnno = 57; base.Read(reader, ref rowData.UnchangableCD, CVSReader.byteParse); this.columnno = 58; base.Read(reader, ref rowData.EnmityRatio, CVSReader.floatParse); this.columnno = 59; base.Read(reader, ref rowData.EnmityExtValue, CVSReader.intParse); this.columnno = 60; rowData.PercentDamage.Read(reader, this.m_DataHandler); this.columnno = 61; base.Read(reader, ref rowData.LinkedSkill, CVSReader.stringParse); this.columnno = 62; base.Read(reader, ref rowData.LinkType, CVSReader.byteParse); this.columnno = 63; base.Read(reader, ref rowData.RemainingCDNotify, CVSReader.floatParse); this.columnno = 64; base.Read(reader, ref rowData.StrengthValue, CVSReader.intParse); this.columnno = 65; base.Read(reader, ref rowData.UsageCount, CVSReader.byteParse); this.columnno = 66; base.ReadArray(reader, ref rowData.ExclusiveMask, CVSReader.byteParse); this.columnno = 67; base.Read(reader, ref rowData.BindSkill, CVSReader.stringParse); this.columnno = 69; base.Read(reader, ref rowData.IsAwake, CVSReader.boolParse); this.columnno = 70; this.Table[this.lineno] = rowData; this.columnno = -1; } protected override void OnClear(int lineCount) { bool flag = lineCount > 0; if (flag) { this.Table = new SkillList.RowData[lineCount]; } else { this.Table = null; } } } }