public int OnDamage(ref HurtDataInfo _hurt, int _hurtValue)
        {
            if (!_hurt.bLastHurt)
            {
                this.clearRule.CheckBuffClear(1);
            }
            if (!_hurt.bExtraBuff)
            {
                SkillSlotType atkSlot = _hurt.atkSlot;
                SkillSlotType atkSlot2;
                bool          flag = this.OnChangeExtraEffectSkillSlot(_hurt.atker, _hurt.atkSlot, out atkSlot2);
                if (flag)
                {
                    _hurt.atkSlot = atkSlot2;
                }
                this.OnDamageTriggerEffect(_hurt.target, _hurt.atker);
                this.OnDamageExtraEffect(_hurt.atker, _hurt.atkSlot);
                if (flag)
                {
                    _hurt.atkSlot = atkSlot;
                }
            }
            int num = _hurtValue * _hurt.iEffectFadeRate / 10000;

            num = num * _hurt.iOverlayFadeRate / 10000;
            num = this.protectRule.ResistDamage(ref _hurt, num);
            num = BufferLogicEffect.OnDamageExtraEffect(ref _hurt, num);
            num = this.DealDamageContionType(ref _hurt, num);
            this.OnDamageExtraHurtFunc(ref _hurt, _hurt.atkSlot);
            return(num);
        }
示例#2
0
        public int OnDamage(ref HurtDataInfo _hurt, int _hurtValue)
        {
            int num = _hurtValue;

            if (!_hurt.bLastHurt)
            {
                this.clearRule.CheckBuffClear(RES_SKILLFUNC_CLEAR_RULE.RES_SKILLFUNC_CLEAR_DAMAGE);
            }
            if (!_hurt.bExtraBuff)
            {
                this.OnDamageExtraEffect(_hurt.atker, _hurt.atkSlot);
            }
            num = (num * _hurt.iEffectFadeRate) / 0x2710;
            num = (num * _hurt.iOverlayFadeRate) / 0x2710;
            num = this.protectRule.ResistDamage(ref _hurt, num);
            return(BufferLogicEffect.OnDamageExtraEffect(ref _hurt, num));
        }