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);
    }
Beispiel #2
0
    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();
    }
Beispiel #5
0
 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);
                }
            }
        }
    }
Beispiel #7
0
 public void Set(EquipItem.Ability a)
 {
     ability = new EquipItemAbility((uint)a.id, a.pt);
     isFix   = true;
 }