public SkillSupport(ENABLE_EQUIP_TYPE e, BuffParam.BUFFTYPE t, int v, SP_ATTACK_TYPE spAttackType)
 {
     targetEquip        = e;
     type               = t;
     value              = v;
     targetSpAttackType = spAttackType;
 }
Beispiel #2
0
 public bool IsEnableSupportEquipType(ENABLE_EQUIP_TYPE type, int support_index)
 {
     if (supportPassiveEqType[support_index] == ENABLE_EQUIP_TYPE.ALL)
     {
         return(true);
     }
     return(supportPassiveEqType[support_index] == type);
 }
 public void Clone(AbilityData baseData)
 {
     id                  = baseData.id;
     needAP              = baseData.needAP;
     minNeedAP           = baseData.minNeedAP;
     name                = baseData.name;
     description         = baseData.description;
     descriptionPreGrant = baseData.descriptionPreGrant;
     enableEquipType     = baseData.enableEquipType;
     key2                = baseData.key2;
     m_info              = new AbilityInfo[baseData.m_info.Length];
     for (int i = 0; i < baseData.m_info.Length; i++)
     {
         m_info[i] = baseData.m_info[i].Clone();
     }
     m_cashedInfo    = null;
     m_cashedAbility = null;
 }
Beispiel #4
0
        public bool IsMatchSupportEquipType(EQUIPMENT_TYPE type)
        {
            if (supportPassiveEqType == null)
            {
                return(false);
            }
            if (supportPassiveEqType.Length <= 0)
            {
                return(false);
            }
            ENABLE_EQUIP_TYPE enableEquipTypeFromEquipmentType = GetEnableEquipTypeFromEquipmentType(type);

            for (int i = 0; i < supportPassiveEqType.Length; i++)
            {
                if (enableEquipTypeFromEquipmentType == supportPassiveEqType[i])
                {
                    return(true);
                }
            }
            return(false);
        }
Beispiel #5
0
    private bool HasFixAbilityWithWeaponType(EquipItemInfo item, int wepIndex, bool checkOnlyFixAbility)
    {
        if (item.ability == null || item.ability.Length == 0)
        {
            return(false);
        }
        for (int i = 0; i < item.ability.Length; i++)
        {
            if (!checkOnlyFixAbility || item.IsFixedAbility(i))
            {
                AbilityDataTable.AbilityData abilityData = Singleton <AbilityDataTable> .I.GetAbilityData(item.ability[i].id, item.ability[i].ap);

                if (abilityData != null)
                {
                    ENABLE_EQUIP_TYPE enableEquipType = abilityData.enableEquipType;
                    switch (enableEquipType)
                    {
                    case ENABLE_EQUIP_TYPE.ONE_HAND_SWORD:
                        if (wepIndex == 1)
                        {
                            return(true);
                        }
                        goto default;

                    default:
                        if (enableEquipType == ENABLE_EQUIP_TYPE.TWO_HAND_SWORD && wepIndex == 2)
                        {
                            return(true);
                        }
                        if (enableEquipType == ENABLE_EQUIP_TYPE.SPEAR && wepIndex == 3)
                        {
                            return(true);
                        }
                        if (enableEquipType == ENABLE_EQUIP_TYPE.PAIR_SWORDS && wepIndex == 4)
                        {
                            return(true);
                        }
                        if (enableEquipType == ENABLE_EQUIP_TYPE.ARROW && wepIndex == 5)
                        {
                            return(true);
                        }
                        break;

                    case ENABLE_EQUIP_TYPE.ALL:
                        break;
                    }
                    AbilityDataTable.AbilityData.AbilityInfo[] info = abilityData.info;
                    for (int j = 0; j < info.Length; j++)
                    {
                        if (!string.IsNullOrEmpty(info[j].target))
                        {
                            string target = info[j].target;
                            if (target == "ONE_HAND_SWORD" && wepIndex == 1)
                            {
                                return(true);
                            }
                            if (target == "TWO_HAND_SWORD" && wepIndex == 2)
                            {
                                return(true);
                            }
                            if (target == "SPEAR" && wepIndex == 3)
                            {
                                return(true);
                            }
                            if (target == "PAIR_SWORDS" && wepIndex == 4)
                            {
                                return(true);
                            }
                            if (target == "ARROW" && wepIndex == 5)
                            {
                                return(true);
                            }
                        }
                    }
                }
            }
        }
        return(false);
    }