private static void AddWeaponIntoRsp(GetEquipmentDataRsp rsp, int addNum) { List <WeaponMetaData> itemList = WeaponMetaDataReader.GetItemList(); int num = 0; foreach (WeaponMetaData data in itemList) { num++; if (num > addNum) { break; } Weapon item = new Weapon(); item.set_unique_id(GenerateNewUid()); item.set_id((uint)data.ID); item.set_level(1); item.set_exp(0); rsp.get_weapon_list().Add(item); num++; } List <AvatarMetaData> list2 = AvatarMetaDataReader.GetItemList(); _weaponUidSet = new Dictionary <int, uint>(); foreach (AvatarMetaData data2 in list2) { WeaponMetaData weaponMetaDataByKey = WeaponMetaDataReader.GetWeaponMetaDataByKey(data2.initialWeapon); Weapon weapon2 = new Weapon(); weapon2.set_unique_id(GenerateNewUid()); weapon2.set_id((uint)weaponMetaDataByKey.ID); weapon2.set_level(1); weapon2.set_exp(0); rsp.get_weapon_list().Add(weapon2); _weaponUidSet[data2.avatarID] = weapon2.get_unique_id(); } }
public static void LoadFromFileAndBuildMap() { WeaponMetaDataReader.LoadFromFile(); _evoPreDict = new Dictionary <int, int>(); _path = new List <int>(); foreach (WeaponMetaData data in WeaponMetaDataReader.GetItemList()) { if (data.evoID > 0) { _evoPreDict[data.evoID] = data.ID; } } }
public override StorageDataItemBase GetEvoStorageItem() { WeaponDataItem item; if (this._metaData.evoID == 0) { return(null); } return(new WeaponDataItem(0, WeaponMetaDataReader.GetWeaponMetaDataByKey(this._metaData.evoID)) { level = item.GetMaxLevel() }); }
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 <WeaponMetaData> GetAllWeaponData() { List <WeaponMetaData> itemList = WeaponMetaDataReader.GetItemList(); List <WeaponMetaData> list2 = new List <WeaponMetaData>(); int num = 0; int count = itemList.Count; while (num < count) { WeaponMetaData item = itemList[num]; if (!ItempediaData.IsInBlacklist(item.ID) && (item.subRarity == 0)) { list2.Add(item); } num++; } return(list2); }
private void ReturnMaterial(StorageDataItemBase input) { WeaponDataItem item = input as WeaponDataItem; List <int> evoPath = WeaponMetaDataReaderExtend.GetEvoPath(item.ID); int num = 0; foreach (int num2 in evoPath) { int accumulateExp = 0; if (num2 == item.ID) { int expType = item.GetExpType(); int exp = item.exp; accumulateExp = EquipmentLevelMetaDataReaderExtend.GetAccumulateExp(item.level, expType) + exp; } else { WeaponMetaData weaponMetaDataByKey = WeaponMetaDataReader.GetWeaponMetaDataByKey(num2); int type = weaponMetaDataByKey.expType; accumulateExp = EquipmentLevelMetaDataReaderExtend.GetAccumulateExp(weaponMetaDataByKey.maxLv, type); } num += accumulateExp; } float num9 = Singleton <PlayerModule> .Instance.playerData.disjoin_equipment_back_exp_percent * 0.01f; int num11 = (int)(num * num9); int[] numArray = new int[] { 0xbbc, 0xbbb, 0xbba, 0xbb9 }; foreach (int num12 in numArray) { float gearExpProvideBase = ItemMetaDataReader.GetItemMetaDataByKey(num12).gearExpProvideBase; float num15 = MaterialExpBonusMetaDataReader.GetMaterialExpBonusMetaDataByKey(num12).weaponExpBonus * 0.01f; int num16 = (int)(gearExpProvideBase * num15); int num17 = num11 / num16; num11 = num11 % num16; if (num17 > 0) { this.AddItem(num12, num17); } } }