public static int OnDamageExtraEffect(ref HurtDataInfo _hurt, int _hurtValue) { SkillSlot skillSlot = null; if (!_hurt.atker || _hurt.atker.handle.ActorControl.IsDeadState) { return(_hurtValue); } BufferLogicEffect logicEffect = _hurt.atker.handle.BuffHolderComp.logicEffect; List <PoolObjHandle <BuffSkill> > list = logicEffect.GetExtraHurtList(); for (int i = 0; i < list.get_Count(); i++) { if (!_hurt.target) { return(_hurtValue); } BuffSkill buffSkill = list.get_Item(i); int skillFuncParam = buffSkill.GetSkillFuncParam(72, 0, false); if (_hurt.atkSlot == (SkillSlotType)skillFuncParam && _hurt.atker.handle.SkillControl.TryGetSkillSlot(_hurt.atkSlot, out skillSlot)) { int skillFuncParam2 = buffSkill.GetSkillFuncParam(72, 1, false); int skillFuncParam3 = buffSkill.GetSkillFuncParam(72, 2, false); int skillFuncParam4 = buffSkill.GetSkillFuncParam(72, 3, false); int skillFuncParam5 = buffSkill.GetSkillFuncParam(72, 4, false); logicEffect.SetSkillSlotUseTime(_hurt.atkSlot, skillFuncParam5); logicEffect.SetSkillSlotUseCount(_hurt.atkSlot, skillSlot.GetSkillUseCount()); return(logicEffect.DamageExtraEffect(ref _hurt, _hurtValue, skillFuncParam2, skillFuncParam3, skillFuncParam4)); } } return(_hurtValue); }
public static int OnDamageExtraEffect(ref HurtDataInfo _hurt, int _hurtValue) { BuffSkill skill = null; SkillSlot slot = null; BufferLogicEffect logicEffect = null; List<PoolObjHandle<BuffSkill>> extraHurtList = null; if ((_hurt.atker != 0) && !_hurt.atker.handle.ActorControl.IsDeadState) { logicEffect = _hurt.atker.handle.BuffHolderComp.logicEffect; extraHurtList = logicEffect.GetExtraHurtList(); for (int i = 0; i < extraHurtList.Count; i++) { if (_hurt.target == 0) { return _hurtValue; } skill = extraHurtList[i]; int num = skill.GetSkillFuncParam(0x48, 0, false); if ((_hurt.atkSlot == num) && _hurt.atker.handle.SkillControl.TryGetSkillSlot(_hurt.atkSlot, out slot)) { int num2 = skill.GetSkillFuncParam(0x48, 1, false); int num3 = skill.GetSkillFuncParam(0x48, 2, false); int num4 = skill.GetSkillFuncParam(0x48, 3, false); int num5 = skill.GetSkillFuncParam(0x48, 4, false); logicEffect.SetSkillSlotUseTime(_hurt.atkSlot, num5); logicEffect.SetSkillSlotUseCount(_hurt.atkSlot, slot.GetSkillUseCount()); return logicEffect.DamageExtraEffect(ref _hurt, _hurtValue, num2, num3, num4); } } } return _hurtValue; }