|
@@ -0,0 +1,77 @@
|
|
|
|
+using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
|
|
|
|
+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层毒,如果敌人毒超过{1}层,
|
|
|
|
+ /// 则每层毒对敌人的伤害提升{2}%,并有几率施加一层噬魂
|
|
|
|
+ /// </summary>
|
|
|
|
+ public class S1302 : SkillBasic
|
|
|
|
+ {
|
|
|
|
+ private int currCount;
|
|
|
|
+ private Vector3 startPos;
|
|
|
|
+ private Vector3 fangXiang;
|
|
|
|
+
|
|
|
|
+ protected override void ProUseSkill()
|
|
|
|
+ {
|
|
|
|
+ currCount = 0;
|
|
|
|
+
|
|
|
|
+ ActivationTimeLineData("1301");
|
|
|
|
+ ballisticsCount = (int)effectValue[0];
|
|
|
|
+ for (int i = 0; i < effectValue[0]; i++)
|
|
|
|
+ {
|
|
|
|
+ CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
|
|
|
|
+ .GetThis<CombatHeroEntity>()
|
|
|
|
+ .GetMainHotPoin<CombatHeroHitPoint>();
|
|
|
|
+ BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
|
|
|
|
+ currTarget.Add(combatHeroHitPoint);
|
|
|
|
+ Vector3 p = CombatHeroEntity.GameObject.transform.TransformPoint(new Vector3(Random.Range(-1f, 2f),
|
|
|
|
+ Random.Range(2f, 3f), Random.Range(0.5f, 1f)));
|
|
|
|
+
|
|
|
|
+ ActivationTimeLineData("1301_fashe", currTarget: currTarget,
|
|
|
|
+ customizePos: new Vector3[] { p }, indexCount: i);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // private void Launch()
|
|
|
|
+ // {
|
|
|
|
+ // CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
|
|
|
|
+ // .GetThis<CombatHeroEntity>()
|
|
|
|
+ // .GetMainHotPoin<CombatHeroHitPoint>();
|
|
|
|
+ // BetterList<ILifetCycleHitPoint> currTarget = new BetterList<ILifetCycleHitPoint>();
|
|
|
|
+ // currTarget.Add(combatHeroHitPoint);
|
|
|
|
+ // // SpecialDotInfo specialDotInfo= CombatHeroEntity.GetSpecialDotInfo("zdpos" + (i + 2));
|
|
|
|
+ // ActivationTimeLineData("duzhen_fashe", currTarget: currTarget,
|
|
|
|
+ // customizePos: new Vector3[] { specialDotInfo.GetWorlPos() }, indexCount: i);
|
|
|
|
+ // }
|
|
|
|
+
|
|
|
|
+ protected override void ProTimelineFxLogicInit(string groupName, ITimelineFxLogic timelineFxLogic,
|
|
|
|
+ TriggerData triggerData)
|
|
|
|
+ {
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
|
|
|
|
+ ITimelineFxLogic timelineFxLogic,
|
|
|
|
+ TriggerData triggerData, ISkillFeatures skillFeatures)
|
|
|
|
+ {
|
|
|
|
+ long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
|
|
|
|
+ effectValue[1]);
|
|
|
|
+ CombatCalculateTool.Instance.Harm(CombatHeroEntity, targetEntity, v, AttType.Skill, triggerData,
|
|
|
|
+ wuXingType, skillFeatures,
|
|
|
|
+ HarmType.Default);
|
|
|
|
+
|
|
|
|
+ int odds = CombatCalculateTool.Instance.GetOdd(0, 100);
|
|
|
|
+ if (odds < effectValue[2])
|
|
|
|
+ {
|
|
|
|
+ BuffInfo buffInfo = BuffInfo.GetBuffInfo(10031, 1);
|
|
|
|
+ targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|