private static HashSet <int> CalculateEvoList(StigmataMetaData meta) { HashSet <int> set = new HashSet <int>(); for (int i = meta.evoID; i > 0; i = StigmataMetaDataReader.GetStigmataMetaDataByKey(i).evoID) { set.Add(i); } return(set); }
public override StorageDataItemBase GetEvoStorageItem() { StigmataDataItem item; if (this._metaData.evoID == 0) { return(null); } return(new StigmataDataItem(0, StigmataMetaDataReader.GetStigmataMetaDataByKey(this._metaData.evoID)) { level = item.GetMaxLevel() }); }
public static void LoadFromFileAndBuildMap() { StigmataMetaDataReader.LoadFromFile(); List <StigmataMetaData> itemList = StigmataMetaDataReader.GetItemList(); _evoMap = new Dictionary <int, HashSet <int> >(); foreach (StigmataMetaData data in itemList) { if (data.evoID > 0) { _evoMap[data.ID] = CalculateEvoList(data); } } }
public void SetLeaderAvatar(AvatarDetailData avatarDetailData) { this.leaderAvatar = new AvatarDataItem((int)avatarDetailData.get_avatar_id(), (int)avatarDetailData.get_avatar_level(), (int)avatarDetailData.get_avatar_star()); WeaponDetailData data = avatarDetailData.get_weapon(); if ((data != null) && (WeaponMetaDataReader.GetWeaponMetaDataByKey((int)data.get_id()) != null)) { WeaponDataItem item = new WeaponDataItem(0, WeaponMetaDataReader.GetWeaponMetaDataByKey((int)data.get_id())) { level = (int)data.get_level() }; this.leaderAvatar.equipsMap[1] = item; } EquipmentSlot[] slotArray = new EquipmentSlot[] { 2, 3, 4 }; List <StigmataDetailData> list = new List <StigmataDetailData> { avatarDetailData.get_stigmata_1(), avatarDetailData.get_stigmata_2(), avatarDetailData.get_stigmata_3() }; for (int i = 0; i < list.Count; i++) { StigmataDetailData data2 = list[i]; if ((data2 != null) && (StigmataMetaDataReader.GetStigmataMetaDataByKey((int)data2.get_id()) != null)) { StigmataDataItem item2 = new StigmataDataItem(0, StigmataMetaDataReader.GetStigmataMetaDataByKey((int)data2.get_id())) { level = (int)data2.get_level() }; int num2 = !data2.get_pre_affix_idSpecified() ? 0 : ((int)data2.get_pre_affix_id()); int num3 = !data2.get_suf_affix_idSpecified() ? 0 : ((int)data2.get_suf_affix_id()); item2.SetAffixSkill(true, num2, num3); this.leaderAvatar.equipsMap[slotArray[i]] = item2; } } foreach (AvatarSkillDetailData data3 in avatarDetailData.get_skill_list()) { if (this.leaderAvatar.GetAvatarSkillBySkillID((int)data3.get_skill_id()) != null) { AvatarSkillDataItem avatarSkillBySkillID = this.leaderAvatar.GetAvatarSkillBySkillID((int)data3.get_skill_id()); foreach (AvatarSubSkillDetailData data4 in data3.get_sub_skill_list()) { if (avatarSkillBySkillID.GetAvatarSubSkillBySubSkillId((int)data4.get_sub_skill_id()) != null) { avatarSkillBySkillID.GetAvatarSubSkillBySubSkillId((int)data4.get_sub_skill_id()).level = (int)data4.get_level(); } } } } }
private List <StigmataMetaData> GetAllStigmataData() { List <StigmataMetaData> itemList = StigmataMetaDataReader.GetItemList(); List <StigmataMetaData> list2 = new List <StigmataMetaData>(); int num = 0; int count = itemList.Count; while (num < count) { StigmataMetaData item = itemList[num]; if (!ItempediaData.IsInBlacklist(item.ID) && (item.subRarity == 0)) { list2.Add(item); } num++; } return(list2); }
private static void AddStigmataIntoRsp(GetEquipmentDataRsp rsp, int addNum) { List <StigmataMetaData> itemList = StigmataMetaDataReader.GetItemList(); int num = 0; foreach (StigmataMetaData data in itemList) { num++; if (num > addNum) { break; } Stigmata item = new Stigmata(); item.set_unique_id(GenerateNewUid()); item.set_id((uint)data.ID); item.set_level(1); item.set_exp(0); rsp.get_stigmata_list().Add(item); } }