| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 | 
							- 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 UnityEngine;
 
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
 
- namespace GameLogic.Combat.Skill
 
- {
 
-     /// <summary>
 
-     /// 缠绕
 
-     /// 敌人脚下生长出藤蔓,将敌人捆住。{0}秒内不能行动(功法不在释放和填充),受到木灵之子的攻击伤害+{1}%
 
-     /// </summary>
 
-     public class S9064 : SkillBasic
 
-     {
 
-         private float _currTime;
 
-         private bool _isUpdate;
 
-         private TimeLineEventLogicGroupBasic _chanRaoLoop;
 
-         private CombatHeroEntity chanRaoTarget;
 
-         private BuffBasic _buffBasic;
 
-         protected override void ProUseSkill()
 
-         {
 
-             ActivationTimeLineData("9064");
 
-             CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
 
-                 .GetThis<CombatHeroEntity>()
 
-                 .GetMainHotPoin<CombatHeroHitPoint>();
 
-             BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
 
-             currTarget.Add(combatHeroHitPoint);
 
-             chanRaoTarget = combatHeroHitPoint.combatHeroEntity as CombatHeroEntity;
 
-             _chanRaoLoop = ActivationTimeLineData("9064_chanrao", currTarget: currTarget);
 
-         }
 
-         protected override void ProActiveSkill()
 
-         {
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.StartInjured, StartInjured);
 
-         }
 
-         private void StartInjured(IEventData data)
 
-         {
 
-             if (!_isUpdate)
 
-             {
 
-                 return;
 
-             }
 
-             StartInjuredEventData startInjuredEventData = data as StartInjuredEventData;
 
-             if (startInjuredEventData.HarmReturnInfo.target.combatHeroEntity != chanRaoTarget)
 
-             {
 
-                 return;
 
-             }
 
-             SummonCombatHeroEntity summonCombatHeroEntity =
 
-                 startInjuredEventData.HarmReturnInfo.source as SummonCombatHeroEntity;
 
-             if (summonCombatHeroEntity != null && summonCombatHeroEntity.ownerEntity == CombatHeroEntity)
 
-             {
 
-                 long att = startInjuredEventData.HarmReturnInfo.att;
 
-                 long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(att, effectValue[1]);
 
-                 startInjuredEventData.HarmReturnInfo.att += v;
 
-             }
 
-             //如果是木桩 伤害增加
 
-         }
 
-         protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
 
-             ITimelineFxLogic timelineFxLogic,
 
-             TriggerData triggerData, ISkillFeatures skillFeatures)
 
-         {
 
-             _currTime = 0;
 
-             _isUpdate = true;
 
-             BuffInfo buffInfo = BuffInfo.GetBuffInfo(10251, -1, 1);
 
-             _buffBasic = chanRaoTarget.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
 
-         }
 
-         private void Finish()
 
-         {
 
-             _isUpdate = false;
 
-             chanRaoTarget = null;
 
-             if (_buffBasic != null)
 
-             {
 
-                 _buffBasic.DelectBuff();
 
-             }
 
-             _buffBasic = null;
 
-             if (_chanRaoLoop != null)
 
-             {
 
-                 _chanRaoLoop.CloseLoopFx();
 
-             }
 
-             _chanRaoLoop = null;
 
-         }
 
-         protected override void ProDispose()
 
-         {
 
-             Finish();
 
-         }
 
-         protected override void ProCombatUpdate(float time)
 
-         {
 
-             if (!_isUpdate)
 
-             {
 
-                 return;
 
-             }
 
-             _currTime += time;
 
-             if (_currTime > effectValue[0])
 
-             {
 
-                 Finish();
 
-             }
 
-         }
 
-     }
 
- }
 
 
  |