123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- using GameLogic.Combat.Buff;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.Hero;
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 幻花迷雾(当场上有木灵分身时触发)
- /// 身体摇动,天空散发出小小的花朵。木灵隐藏其中防御+{0}%,期间不在攻击,直到木灵之子全部死亡后的{1}秒消失
- /// </summary>
- public class S9061 : SkillBasic
- {
- protected float _currTime;
- private bool _isUpdate;
- protected override void ProInitSkill()
- {
- CombatEventManager.Instance.AddEventListener(CombatEventType.HeroDie, HeroDie);
- }
- private void HeroDie(IEventData iEventData)
- {
- if (_isUpdate)
- {
- return;
- }
- HeroDieEventData heroHpUpdateEventData = iEventData as HeroDieEventData;
- SummonCombatHeroEntity summonCombatHeroEntity =
- heroHpUpdateEventData.combatHeroEntity as SummonCombatHeroEntity;
- if (summonCombatHeroEntity != null && summonCombatHeroEntity.ownerEntity == CombatHeroEntity)
- {
- CombatHeroEntity[] combatHeroEntities =
- CombatController.currActiveCombat.CombatHeroController.GetHero(CombatHeroEntity.IsEnemy);
- bool isOk = false;
- for (int i = 0; i < combatHeroEntities.Length; i++)
- {
- SummonCombatHeroEntity t = combatHeroEntities[i] as SummonCombatHeroEntity;
- if (t != null)
- {
- isOk = true;
- break;
- }
- }
- if (isOk)
- {
- return;
- }
- _isUpdate = true;
- _currTime = 0;
- }
- }
- protected override void ProDispose()
- {
- CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroDie, HeroDie);
- }
- protected override void ProUseSkill()
- {
- ActivationTimeLineData("9061");
- CombatHeroEntity.CombatHeroSkillControl.This<CombatHeroSkillControl>().SkillTurntable.isStop = true;
- }
- protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
- ITimelineFxLogic timelineFxLogic,
- TriggerData triggerData, ISkillFeatures skillFeatures)
- {
- // float harmBl = 0;
- // b_1018 b1018 = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForType<b_1018>();
- // if (b1018 != null) //消耗一层感电,额外照成伤害
- // {
- // harmBl += b1018.buffCount * effectValue[1];
- // }
- //
- // long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
- // harmBl);
- //
- // HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v,
- // AttType.Skill, triggerData,
- // wuXingType, skillFeatures,
- // HarmType.Default);
- }
- protected override void ProCombatUpdate(float time)
- {
- if (!_isUpdate)
- {
- return;
- }
- _currTime += time;
- if (_currTime >= effectValue[1])
- {
- _isUpdate = false;
- CombatHeroEntity.CombatHeroSkillControl.This<CombatHeroSkillControl>().SkillTurntable.isStop = false;
- }
- }
- }
- }
|