public EquipItemInfo(CharaInfo.EquipItem home_chara_equip_data) { EquipItem equipItem = new EquipItem { uniqId = "0", equipItemId = home_chara_equip_data.eId, level = (XorInt)home_chara_equip_data.lv, exceed = home_chara_equip_data.exceed, price = 0, is_locked = 0, ability = new List <EquipItem.Ability>() }; int i = 0; for (int count = home_chara_equip_data.aIds.Count; i < count; i++) { EquipItem.Ability item = new EquipItem.Ability { id = home_chara_equip_data.aIds[i], pt = home_chara_equip_data.aPts[i] }; equipItem.ability.Add(item); } equipItem.abilityItem = home_chara_equip_data.ai; SetValue(equipItem); }
protected void OnQuery_ABILITY_DATA_POPUP() { object[] array = GameSection.GetEventData() as object[]; int num = (int)array[0]; Transform targetTrans = array[1] as Transform; EquipItemAbility equipItemAbility = null; if (detailItemData is EquipItemInfo) { EquipItemInfo equipItemInfo = detailItemData as EquipItemInfo; equipItemAbility = equipItemInfo.ability[num]; } else if (detailItemData is EquipItemTable.EquipItemData) { EquipItemTable.EquipItemData equipItemData = detailItemData as EquipItemTable.EquipItemData; EquipItem.Ability ability = equipItemData.fixedAbility[num]; equipItemAbility = new EquipItemAbility((uint)ability.id, ability.pt); } if (equipItemAbility != null) { if (abilityDetailPopUp == null) { abilityDetailPopUp = CreateAndGetAbilityDetail((Enum)UI.OBJ_DETAIL_ROOT); } abilityDetailPopUp.ShowAbilityDetail(targetTrans); abilityDetailPopUp.SetAbilityDetailText(equipItemAbility); GameSection.StopEvent(); } }
public bool IsFixedAbility(int index) { if (0 > index || tableData.fixedAbility.Length <= index) { return(false); } EquipItem.Ability ability = tableData.fixedAbility[index]; EquipItemAbility[] validAbility = GetValidAbility(); EquipItemAbility equipItemAbility = validAbility[index]; return(ability.id == equipItemAbility.id && ability.pt == equipItemAbility.ap && !ability.vr); }
protected virtual void OnQuery_ABILITY_DATA_POPUP() { object[] array = GameSection.GetEventData() as object[]; int num = (int)array[0]; EquipItemTable.EquipItemData equipTableData = GetEquipTableData(); EquipItem.Ability ability = equipTableData.fixedAbility[num]; Transform targetTrans = array[1] as Transform; EquipItemAbility abilityDetailText = new EquipItemAbility((uint)ability.id, ability.pt); if (abilityDetailPopUp == null) { abilityDetailPopUp = CreateAndGetAbilityDetail((Enum)UI.OBJ_DETAIL_ROOT); } abilityDetailPopUp.ShowAbilityDetail(targetTrans); abilityDetailPopUp.SetAbilityDetailText(abilityDetailText); GameSection.StopEvent(); }
public EquipItemExceedParam() { atk = 0; def = 0; hp = 0; atkElement = new int[6]; defElement = new int[6]; for (int i = 0; i < 6; i++) { atkElement[i] = 0; defElement[i] = 0; } skillSlot = new SkillItemTable.SkillSlotData(); skillSlot.slotType = SKILL_SLOT_TYPE.NONE; skillSlot.skill_id = 0u; ability = new EquipItem.Ability(); ability.id = 0; ability.pt = 0; }
public void Parse(CharaInfo.EquipItem item, EquipItemTable.EquipItemData data) { _Reset(); type = data.type; spAttackType = data.spAttackType; GrowEquipItemTable.GrowEquipItemData growEquipItemData = Singleton <GrowEquipItemTable> .I.GetGrowEquipItemData(data.growID, (uint)item.lv); if (object.ReferenceEquals(growEquipItemData, null)) { baseStatus.hp = data.baseHp; baseStatus.attacks[0] = data.baseAtk; baseStatus.defences[0] = data.baseDef; for (int i = 0; i < 6; i++) { baseStatus.attacks[i + 1] = data.atkElement[i]; baseStatus.tolerances[i] = data.defElement[i]; } } else { baseStatus.hp = growEquipItemData.GetGrowParamHp(data.baseHp); baseStatus.attacks[0] = growEquipItemData.GetGrowParamAtk(data.baseAtk); baseStatus.defences[0] = growEquipItemData.GetGrowParamDef(data.baseDef); int[] growParamElemAtk = growEquipItemData.GetGrowParamElemAtk(data.atkElement); int[] growParamElemDef = growEquipItemData.GetGrowParamElemDef(data.defElement); for (int j = 0; j < 6; j++) { baseStatus.attacks[j + 1] = growParamElemAtk[j]; baseStatus.tolerances[j] = growParamElemDef[j]; } } EquipItemExceedParamTable.EquipItemExceedParamAll exceedParam = data.GetExceedParam((uint)item.exceed); if (!object.ReferenceEquals(exceedParam, null)) { baseStatus.hp += exceedParam.hp; baseStatus.attacks[0] += exceedParam.atk; baseStatus.defences[0] += exceedParam.def; for (int k = 0; k < 6; k++) { baseStatus.attacks[k + 1] += exceedParam.atkElement[k]; baseStatus.tolerances[k] += exceedParam.defElement[k]; } } int l = 0; for (int count = item.sIds.Count; l < count; l++) { SkillItemTable.SkillItemData skillItemData = Singleton <SkillItemTable> .I.GetSkillItemData((uint)item.sIds[l]); GrowSkillItemTable.GrowSkillItemData growSkillItemData = Singleton <GrowSkillItemTable> .I.GetGrowSkillItemData(skillItemData.growID, item.sLvs[l]); constHp += growSkillItemData.GetGrowParamHp(skillItemData.baseHp); constAtks[0] += growSkillItemData.GetGrowParamAtk(skillItemData.baseAtk); constDefs[0] += growSkillItemData.GetGrowParamDef(skillItemData.baseDef); int[] growParamElemAtk2 = growSkillItemData.GetGrowParamElemAtk(skillItemData.atkElement); int[] growParamElemDef2 = growSkillItemData.GetGrowParamElemDef(skillItemData.defElement); for (int m = 0; m < 6; m++) { constAtks[m + 1] += growParamElemAtk2[m]; constTols[m] += growParamElemDef2[m]; } if (skillItemData.IsPassive()) { int n = 0; for (int num = skillItemData.supportType.Length; n < num; n++) { if (skillItemData.supportType[n] != BuffParam.BUFFTYPE.NONE) { skillSupport.Add(new SkillSupport(skillItemData.supportPassiveEqType[n], skillItemData.supportType[n], growSkillItemData.GetGrowParamSupprtValue(skillItemData.supportValue, n), skillItemData.supportPassiveSpAttackType)); } } } } int num2 = 0; for (int count2 = item.aIds.Count; num2 < count2; num2++) { int num3 = item.aIds[num2]; int num4 = item.aPts[num2]; if (this.ability.ContainsKey(num3)) { Dictionary <int, int> dictionary; Dictionary <int, int> dictionary2 = dictionary = this.ability; int key; int key2 = key = num3; key = dictionary[key]; dictionary2[key2] = key + num4; } else { this.ability.Add(num3, num4); } } int num5 = 0; for (int num6 = data.fixedAbility.Length; num5 < num6; num5++) { EquipItem.Ability ability = data.fixedAbility[num5]; if (this.ability.ContainsKey(ability.id)) { Dictionary <int, int> dictionary3; Dictionary <int, int> dictionary4 = dictionary3 = this.ability; int key; int key3 = key = ability.id; key = dictionary3[key]; dictionary4[key3] = key + ability.pt; } else { this.ability.Add(ability.id, ability.pt); } } if (!object.ReferenceEquals(exceedParam, null)) { int num7 = 0; for (int num8 = exceedParam.ability.Length; num7 < num8; num7++) { EquipItem.Ability ability2 = exceedParam.ability[num7]; if (this.ability.ContainsKey(ability2.id)) { Dictionary <int, int> dictionary5; Dictionary <int, int> dictionary6 = dictionary5 = this.ability; int key; int key4 = key = ability2.id; key = dictionary5[key]; dictionary6[key4] = key + ability2.pt; } else { this.ability.Add(ability2.id, ability2.pt); } } } }
public void Set(EquipItem.Ability a) { ability = new EquipItemAbility((uint)a.id, a.pt); isFix = true; }