12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- using GameLogic.Combat.CombatTool;
- using OfficeOpenXml.FormulaParsing.Excel.Functions.Logical;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 天风迅灵 后槽位技能在催动时获得转盘加速10%,持续2秒
- /// 加速期间伤害提升10%
- /// </summary>
- public class S2007 : SkillBasic
- {
- private float _addSpeed;
- private bool _isUpdate;
- private float _addTime;
- protected override void ProUseSkill()
- {
- }
- protected override void ProReplace()
- {
- CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddUseGongFa, AddUseGongFa);
- CombatEventManager.Instance.RemoveEventListener(CombatEventType.StartInjured, StartInjured);
- Finish();
- }
- protected override void ProActiveSkill()
- {
- CombatEventManager.Instance.AddEventListener(CombatEventType.StartInjured, StartInjured);
- CombatEventManager.Instance.AddEventListener(CombatEventType.AddUseGongFa, AddUseGongFa);
- }
- protected override void ProCombatUpdate(float time)
- {
- if (_isUpdate)
- {
- _addTime += time;
- if (_addTime > SelfSkillConfig.effectValue[1])
- {
- Finish();
- }
- }
- }
- private void Finish()
- {
- CombatHeroEntity.CurrCombatHeroInfo.addAttSpeed_bl -= _addSpeed;
- _addSpeed = 0;
- _isUpdate = false;
- }
- private void StartInjured(IEventData iEventData)
- {
- if (SelfSkillConfig.level < 5||!_isUpdate)
- {
- return;
- }
- StartInjuredEventData heroInjuredEventData = iEventData as StartInjuredEventData;
- HarmReturnInfo harmReturnInfo = heroInjuredEventData.HarmReturnInfo;
- if (harmReturnInfo.source == CombatHeroEntity)
- {
- harmReturnInfo.att +=
- CombatCalculateTool.Instance.GetVlaueRatioForLong(harmReturnInfo.att,
- SelfSkillConfig.effectValue[2]);
- }
- }
- private void AddUseGongFa(IEventData iEventData)
- {
- AddUseGongFaEventData addUseGongFaEventData = iEventData as AddUseGongFaEventData;
- if (addUseGongFaEventData.SkillBasic.CombatHeroEntity == CombatHeroEntity )
- {
- if (IsPassiveActivateSkill(addUseGongFaEventData.SkillBasic))
- {
- _addTime = 0;
- _isUpdate = true;
- Finish();
- _addSpeed = SelfSkillConfig.effectValue[0];
- CombatHeroEntity.CurrCombatHeroInfo.addAttSpeed_bl += _addSpeed;
- }
- }
- }
- }
- }
|