public override void Init(StoC_0x7B_TrainerWindow pak) { for (int i = 0; i < 50; i++) { specPoints[i] = pak.ReadByte(); } m_skills = new Dictionary <int, List <SpecSkill> >(pak.count); for (int j = 0; j < pak.count; j++) { int index = pak.ReadByte(); int skillsCount = pak.ReadByte(); pak.Skip(1); // TODO List <SpecSkill> specList = new List <SpecSkill>(skillsCount); for (int i = 0; i < skillsCount; i++) { SpecSkill skill = new SpecSkill(); skill.level = pak.ReadByte(); skill.icon = pak.ReadShort(); skill.type = pak.ReadByte(); if (skill.type == (byte)StoC_0x16_VariousUpdate.eSkillPage.Styles) { skill.internalId = skill.icon; skill.unk1 = pak.ReadByte(); skill.unk2 = pak.ReadByte(); if (skill.unk1 >= 200) // on prev style { skill.previosId = pak.ReadShort(); } skill.icon = pak.ReadShort(); } else { skill.unk1 = pak.ReadByte(); skill.unk2 = pak.ReadByte(); skill.internalId = pak.ReadShort(); } specList.Add(skill); } m_skills[index] = specList; } }
public override void Init(StoC_0x7B_TrainerWindow pak) { for (int i = 0 ; i < 50; i++) { specPoints[i] = pak.ReadByte(); } m_skills = new Dictionary<int, List<SpecSkill>>(pak.count); for (int j = 0; j < pak.count; j++) { int index = pak.ReadByte(); int skillsCount = pak.ReadByte(); pak.Skip(1); // TODO List<SpecSkill> specList = new List<SpecSkill>(skillsCount); for (int i = 0; i < skillsCount ; i++) { SpecSkill skill = new SpecSkill(); skill.level = pak.ReadByte(); skill.icon = pak.ReadShort(); skill.type = pak.ReadByte(); if (skill.type == (byte)StoC_0x16_VariousUpdate.eSkillPage.Styles) { skill.internalId = skill.icon; skill.unk1 = pak.ReadByte(); skill.unk2 = pak.ReadByte(); if (skill.unk1 >= 200) // on prev style { skill.previosId = pak.ReadShort(); } skill.icon = pak.ReadShort(); } else { skill.unk1 = pak.ReadByte(); skill.unk2 = pak.ReadByte(); skill.internalId = pak.ReadShort(); } specList.Add(skill); } m_skills[index] = specList; } }