1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- 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>
- /// 冰星坠地(二阶段技能,一场触发1到2次即可)
- /// 天空中出现多道冰球,只会有{0}枚砸向玩家,其他的冰球主要是为了好看和为了拦截玩家的弹道,照成{1}伤害,并施加一层寒气
- /// </summary>
- public class S9014 : SkillBasic
- {
- private float currTime;
- private int currCount;
- private bool isUpdate;
- protected override void ProActiveSkill()
- {
- isActive = false;
- }
- protected override void ProUseSkill()
- {
- isUpdate = true;
- currCount = 0;
- currTime = 0;
- 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);
- //
- // }
- }
- protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
- ITimelineFxLogic timelineFxLogic,
- TriggerData triggerData, ISkillFeatures skillFeatures)
- {
- float harmBl = 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);
- if (harmReturnInfo.isHitHero)
- {
- BuffInfo buffInfo = BuffInfo.GetBuffInfo(10011, 1);
- targetEntity.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity, buffInfo);
- }
- }
- protected override void ProCombatUpdate(float time)
- {
- if (!isUpdate)
- {
- return;
- }
- currTime += time;
- if (currTime > 0.2f)
- {
- currTime = 0;
- CombatHeroHitPoint combatHeroHitPoint = CombatHeroEntity.CombatAIBasic.currFocusTarget
- .GetThis<CombatHeroEntity>()
- .GetMainHotPoin<CombatHeroHitPoint>();
- // Vector3 pos = (combatHeroHitPoint.combatHeroEntity.dotPos - CombatHeroEntity.dotPos);
- float x = CombatCalculateTool.Instance.GetOdd(-5, 3);
- float z = CombatCalculateTool.Instance.GetOdd(3, 12);
- Vector3 startPos = CombatHeroEntity.GameObject.transform.TransformPoint(x, 10, z);
- Vector3 endPos=CombatHeroEntity.GameObject.transform.TransformPoint(x+10, -30, z);
-
- // SpecialDotInfo specialDotInfo = CombatHeroEntity.GetSpecialDotInfo("zdpos2");
- ActivationTimeLineData("9014",
- customizePos: new Vector3[] { startPos,endPos });
- //生成一个冰星 3个后生成砸中玩家的哪一个
- }
- }
- }
- }
|