123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- using System;
- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
- using Excel2Json;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.Hero;
- using UnityEngine;
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 战士的旋风斩
- /// </summary>
- public class S10001 : SkillBasic
- {
- protected float _harm;
- protected int count = 0;
- // protected
- protected override void ProInitSkillConfig()
- {
- count = 1;
- _harm = SelfSkillConfig.effectValue[0];
- // if(
- AddTriggerCallBack("sk1_fashe", Sk1_fasheTrigger);
- }
- protected override void ProInitSkill()
- {
- SkillConfig skillBasic = CombatHeroEntity.CurrCombatHeroInfo.GetGroupSkillConfig(10004);
- if (skillBasic.ID > 0)
- {
- count += (int)skillBasic.effectValue[0];
- }
- }
- protected override void ProUseSkill()
- {
- ActivationTimeLineData("sk1");
- }
- protected void Sk1_fasheTrigger(string groupName, CombatHeroHitPoint targetEntity,
- ITimelineFxLogic timelineFxLogic,
- TriggerData triggerData)
- {
- long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
- _harm);
- HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity,
- v, AttType.Skill, triggerData);
- }
- protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
- ITimelineFxLogic timelineFxLogic,
- TriggerData triggerData)
- {
- if (targetEntity.combatHeroEntity == CombatHeroEntity)
- {
- Vector3 forward = new Vector3(0, 0, 1);
- Vector3 eulerAngles = CombatHeroEntity.combatHeroGameObject.transform.eulerAngles;
- Vector3 zdPos = CombatHeroEntity.GetSpecialDotInfo("zdpos").GetWorlPos();
- int angle = 90 / count;
- for (int i = 0; i < count; i++)
- {
- int c = 0;
- if (i % 2 == 0)
- {
- c = (i / 2);
- }
- else
- {
- c = (-(i + 1) / 2);
- }
- Vector3 currEulerAngles = eulerAngles + new Vector3(0, c * angle, 0);
- // Quaternion quaternion = Quaternion.AngleAxis(i * 90, Vector3.up);
- // quaternion = quaternion + CombatHeroEntity.combatHeroGameObject.transform.rotation;
- // Vector3 newAngle = new Vector3(eulerAngles.x, eulerAngles.y + i * 15+180, eulerAngles.z);
- // Quaternion quaternion = Quaternion.Euler(newAngle);
- Quaternion quaternion = Quaternion.Euler(currEulerAngles);
- Vector3 newForward = quaternion * forward;
- Vector3 targetPos = zdPos + newForward;
- ActivationTimeLineData("sk1_fashe", null, new Vector3[] { targetPos });
- }
- }
- else
- {
- long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(
- CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
- _harm);
- HarmReturnInfo harmReturnInfo = Harm(CombatHeroEntity, targetEntity,
- v, AttType.Skill, triggerData);
- }
- }
- }
- }
|