示例#1
0
        /// <summary>
        ///  获取已触发的魂技加成效果
        /// </summary>
        /// <param name="abilityType">技能类型</param>
        /// <param name="demageNum">伤害值</param>
        /// <returns>负数是减益效果,正数是增益效果</returns>
        public decimal TriggerAbilityEffectNum(AbilityType abilityType, int demageNum)
        {
            decimal effectNum = demageNum;

            //当前有的魂技加成
            ForeachAbilityStatus(item =>
            {
                if (item.AbilityType.Equals(abilityType))
                {
                    if (item.IsIncrease)
                    {
                        effectNum = effectNum.Addition(demageNum * item.IncreaseNum + item.BaseNum, int.MaxValue);
                    }
                    else
                    {
                        effectNum = effectNum.Subtraction(demageNum * item.IncreaseNum + item.BaseNum, 0);
                    }
                }
            });
            //有增加和减少的效果 effectNum = effectNum.Validate();
            return(effectNum);
        }