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);
        }
Exemple #2
0
        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();
                        }
                    }
                }
            }
        }
Exemple #5
0
        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);
        }
Exemple #6
0
        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);
            }
        }