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 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) { 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) { 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 == (byte)StoC_0x16_VariousUpdate.eSkillPage.AbilitiesSpell) { skill.unk2 = pak.ReadShort(); } skill.unk3 = pak.ReadShort(); skill.name = pak.ReadPascalString(); m_skills[i] = skill; } }
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; } }
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; } }
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; } }