123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.Hero;
- using UnityEngine;
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 木灵分身
- /// 生命低于{0}%时触发,木灵的根须快速在自身周围生出2个木灵之子,木灵之子之有普通攻击,木灵之子拥有boss的{1}最大生命值的生命
- ///(等级跟随boss的等级走)
- /// </summary>
- public class S9062 : SkillBasic
- {
- private bool _isTrigger;
- protected override void ProUseSkill()
- {
- }
- protected override void ProActiveSkill()
- {
- CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
- }
- protected override void ProDispose()
- {
- CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
- }
- private void HeroInjured(IEventData data)
- {
- if (_isTrigger)
- {
- return;
- }
- HeroInjuredEventData heroInjuredEventData = data as HeroInjuredEventData;
- if (heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity == CombatHeroEntity)
- {
- if (CombatHeroEntity.HpBl < effectValue[0])
- {
- _isTrigger = true;
- ZhaoHuan();
- }
- }
- }
- private void ZhaoHuan()
- {
- for (int i = 0; i < 2; i++)
- {
- CombatHeroEntity heroEntity = new CombatHeroEntity();
- heroEntity.IsEnemy = true;
- CombatHeroInfo combatHeroInfo = new CombatHeroInfo();
- combatHeroInfo.InitMonster(1000, 1);
- // testHeroInfoConfig.CopyToCombatHeroInfo((combatHeroInfo));
- Vector3 pos = Vector3.forward;
- heroEntity.Init(new CombatHeroAi(), combatHeroInfo, pos,
- delegate(CombatHeroEntity entity)
- {
- CombatController.currActiveCombat.CombatHeroController.AddHero(entity);
- });
- }
- }
- protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
- ITimelineFxLogic timelineFxLogic,
- TriggerData triggerData, ISkillFeatures skillFeatures)
- {
- // float harmBl = 0;
- // b_1018 b1018 = targetEntity.combatHeroEntity.BuffControl.GetBuffBasicForType<b_1018>();
- // if (b1018 != null) //消耗一层感电,额外照成伤害
- // {
- // harmBl += b1018.buffCount * 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);
- }
- }
- }
|