1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using System.Collections.Generic;
- using GameLogic.Combat.Buff;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.Hero;
- using UnityEngine;
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
- namespace GameLogic.Combat.Skill.MagicSkill
- {
- /// <summary>
- /// 绝脉瓶
- /// 对敌人照成水系伤害,封锁敌人筋脉随机{0}个格子流动{1}秒
- /// </summary>
- public class S3203 : MagicSkillBasic
- {
- private CombatHeroEntity target;
- protected override void ProMagicUseSkill()
- {
- // StraightLineShow straightLineShow = new StraightLineShow();
- // straightLineShow.Init(this);
- target= CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CombatAIBasic.currFocusTarget;
- if (target == null )
- {
- SkillPlayFinish();
- return;
- }
-
- MagicAttShowBasic magicAttShowBasic = InitMagicAttShowBasic(target, Finish);
- SetMagicAttShowBasic(magicAttShowBasic);
- }
- protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
- TimeLineEventLogicBasic timeLineEventLogicBasic)
- {
- ILifetCycleHitPoint[] lifetCycleHitPoints = new ILifetCycleHitPoint[1];
- lifetCycleHitPoints[0] = target.GetMainHotPoin<ILifetCycleHitPoint>();
- return lifetCycleHitPoints;
- }
- private void Finish()
- {
- //
- Debug.Log("法宝对敌人照成伤害");
- ILifetCycleHitPoint lifetCycleHitPoint = target.GetMainHotPoin<ILifetCycleHitPoint>();
- if (lifetCycleHitPoint == null)
- {
- SkillPlayFinish();
- return;
- }
- BetterList<ILifetCycleHitPoint> cBetterList = new BetterList<ILifetCycleHitPoint>(1);
- cBetterList.Add(lifetCycleHitPoint);
- ActivationTimeLineData("gongji", currTarget: cBetterList);
- SkillPlayFinish();
- List<int> buffId = new List<int>() { 10191, 10201, 10211, 10221, 10231 };
- for (int i = 0; i < effectValue[1]; i++)
- {
- int index = CombatCalculateTool.Instance.GetOdd(0, buffId.Count);
- int id = buffId[index];
- BuffInfo buffInfo = BuffInfo.GetBuffInfo(id, effectValue[2], 1);
- BuffBasic buffBasic = target.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
- buffId.RemoveAt(index);
- }
- long att = CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity.CurrCombatHeroInfo.attack.Value;
- long harm = CombatCalculateTool.Instance.GetVlaueRatioForLong(att, effectValue[0]);
- CombatCalculateTool.Instance.Harm(CombatMagicWeaponEntity.RootMagicWeaponControl.combatHeroEntity,
- lifetCycleHitPoint as CombatHeroHitPoint, harm, AttType.FaBao, triggerData, wuXingType, null,
- HarmType.Default);
- }
- }
- }
|