1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- 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 &&
- addUseGongFaEventData.SkillBasic.index + 1 == index)
- {
- _addTime = 0;
- _isUpdate = true;
- Finish();
- _addSpeed = SelfSkillConfig.effectValue[0];
- CombatHeroEntity.CurrCombatHeroInfo.addAttSpeed_bl += _addSpeed;
- }
- }
- }
- }
|