public override void Init(StoC_0x7B_TrainerWindow pak)
            {
                m_skills = new RealmAbility[pak.Count];

                for (int i = 0; i < pak.Count; i++)
                {
                    RealmAbility skill = new RealmAbility();
                    skill.level = pak.ReadByte();
                    skill.minLevel = pak.ReadByte();
                    skill.type = pak.ReadByte();
                    skill.cost = pak.ReadByte();
                    if (skill.type == 9)
                    {
                        skill.unk1_1112 = pak.ReadByte();
                        skill.unk2_1112 = pak.ReadByte();
                        skill.unk3_1112 = pak.ReadShort();
                        skill.unk2 = pak.ReadShort();
                    }
                    if ((skill.type == (byte)StoC_0x16_VariousUpdate.eSkillPage.AbilitiesSpell))
                    {
                        skill.unk2 = pak.ReadShort();
                    }
                    skill.unk3 = pak.ReadShort();
                    skill.name = pak.ReadPascalString();
                    m_skills[i] = skill;
                }
            }
Beispiel #2
0
            public override void Init(StoC_0x7B_TrainerWindow pak)
            {
                m_skills = new RealmAbility[pak.Count];

                for (int i = 0; i < pak.Count; i++)
                {
                    RealmAbility skill = new RealmAbility();
                    skill.level    = pak.ReadByte();
                    skill.minLevel = pak.ReadByte();
                    skill.type     = pak.ReadByte();
                    skill.cost     = pak.ReadByte();
                    if (skill.type == 9)
                    {
                        skill.unk1_1112 = pak.ReadByte();
                        skill.unk2_1112 = pak.ReadByte();
                        skill.unk3_1112 = pak.ReadShort();
                        skill.unk2      = pak.ReadShort();
                    }
                    if ((skill.type == (byte)StoC_0x16_VariousUpdate.eSkillPage.AbilitiesSpell))
                    {
                        skill.unk2 = pak.ReadShort();
                    }
                    skill.unk3  = pak.ReadShort();
                    skill.name  = pak.ReadPascalString();
                    m_skills[i] = skill;
                }
            }
Beispiel #3
0
            public override void Init(StoC_0x7B_TrainerWindow pak)
            {
                countRows = pak.ReadByte();
                m_skills  = new ChampionSkill[countRows];

                for (int i = 0; i < countRows; i++)
                {
                    ChampionSkill skill = new ChampionSkill();
                    skill.index       = pak.ReadByte();
                    skill.countSpells = pak.ReadByte();
                    skill.m_spells    = new ChampionSpell[skill.countSpells];
                    for (int index = 0; index < skill.countSpells; index++)
                    {
                        ChampionSpell spell = new ChampionSpell();
                        spell.index              = pak.ReadByte();
                        spell.type               = pak.ReadByte();
                        spell.icon               = pak.ReadShortLowEndian();
                        spell.name               = pak.ReadPascalString();
                        spell.aviability         = pak.ReadByte();
                        spell.stickedSkillsCount = pak.ReadByte();
                        if (spell.stickedSkillsCount > 0)
                        {
                            spell.stickedSkills = new byte[spell.stickedSkillsCount];
                        }
                        for (int k = 0; k < spell.stickedSkillsCount; k++)
                        {
                            spell.stickedSkills[k] = pak.ReadByte();
                        }
                        skill.m_spells[index] = spell;
                    }
                    m_skills[i] = skill;
                }
            }
Beispiel #4
0
            public override void Init(StoC_0x7B_TrainerWindow pak)
            {
                startIndex = pak.ReadByte();
                names      = new string[pak.count];

                for (int i = 0; i < pak.count; i++)
                {
                    names[i] = pak.ReadPascalString();
                }
            }
Beispiel #5
0
            public override void Init(StoC_0x7B_TrainerWindow pak)
            {
                m_skills = new Skill[pak.count];

                for (int i = 0; i < pak.count; i++)
                {
                    Skill skill = new Skill();

                    skill.index = pak.ReadByte();
                    skill.level = pak.ReadByte();
                    skill.cost  = pak.ReadByte();
                    skill.name  = pak.ReadPascalString();

                    m_skills[i] = skill;
                }
            }
Beispiel #6
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;
     }
 }
Beispiel #7
0
 abstract public void Init(StoC_0x7B_TrainerWindow pak);
            public override void Init(StoC_0x7B_TrainerWindow pak)
            {
                m_skills = new Skill[pak.count];

                for (int i = 0; i < pak.count; i++)
                {
                    Skill skill = new Skill();

                    skill.index = pak.ReadByte();
                    skill.level = pak.ReadByte();
                    skill.cost = pak.ReadByte();
                    skill.name = pak.ReadPascalString();

                    m_skills[i] = skill;
                }
            }
 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)
            {
                startIndex = pak.ReadByte();
                names = new string[pak.count];

                for (int i = 0; i < pak.count; i++)
                {
                    names[i] = pak.ReadPascalString();
                }
            }
            public override void Init(StoC_0x7B_TrainerWindow pak)
            {
                countRows = pak.ReadByte();
                m_skills = new ChampionSkill[countRows];

                for (int i = 0; i < countRows; i++)
                {
                    ChampionSkill skill = new ChampionSkill();
                    skill.index = pak.ReadByte();
                    skill.countSpells = pak.ReadByte();
                    skill.m_spells = new ChampionSpell[skill.countSpells];
                    for (int index = 0; index < skill.countSpells; index++)
                    {
                        ChampionSpell spell = new ChampionSpell();
                        spell.index = pak.ReadByte();
                        spell.type = pak.ReadByte();
                        spell.icon = pak.ReadShortLowEndian();
                        spell.name = pak.ReadPascalString();
                        spell.aviability = pak.ReadByte();
                        spell.stickedSkillsCount = pak.ReadByte();
                        if (spell.stickedSkillsCount > 0)
                            spell.stickedSkills = new byte[spell.stickedSkillsCount];
                        for (int k = 0; k < spell.stickedSkillsCount; k++)
                        {
                            spell.stickedSkills[k] = pak.ReadByte();
                        }
                        skill.m_spells[index] = spell;
                    }
                    m_skills[i] = skill;
                }
            }
 public abstract void Init(StoC_0x7B_TrainerWindow pak);