Exemple #1
0
 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;
     }
 }