예제 #1
0
        public int GetTotalDisableConditionCount()
        {
            CondEffect condEffect = this.skill.GetCondEffect(SkillEffectTargets.Target);

            if (condEffect == null || condEffect.param == null || (condEffect.param.conditions == null || condEffect.param.type != ConditionEffectTypes.DisableCondition))
            {
                return(0);
            }
            int num = 0;

            for (int index1 = 0; index1 < this.targets.Count; ++index1)
            {
                Unit target = this.targets[index1].target;
                for (int index2 = 0; index2 < condEffect.param.conditions.Length; ++index2)
                {
                    switch (condEffect.param.conditions[index2])
                    {
                    case EUnitCondition.DisableBuff:
                        if (target.CheckActionSkillBuffAttachments(BuffTypes.Buff))
                        {
                            goto default;
                        }
                        else
                        {
                            break;
                        }

                    case EUnitCondition.DisableDebuff:
                        if (target.CheckActionSkillBuffAttachments(BuffTypes.Debuff))
                        {
                            goto default;
                        }
                        else
                        {
                            break;
                        }

                    default:
                        ++num;
                        break;
                    }
                }
            }
            return(num);
        }