123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using CombatLibrary.CombatLibrary.CombatCore.CustomizeTimeLogic.FxLogic;
- using Excel2Json;
- using GameLogic.Combat.CombatTool;
- using GameLogic.Combat.Hero;
- using UTool.CustomizeTimeLogic.FxLogic.TimeLineEventinterface;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 牧师加血
- /// </summary>
- public class S20001 : SkillBasic
- {
- protected float recoverValue;
- private int _count;
- private SkillConfig _skillBasic2004;
- private SkillConfig _skillBasic2005;
- protected override void ProInitSkillConfig()
- {
- recoverValue = SelfSkillConfig.effectValue[0];
- _count = 1;
-
- }
- protected override void ProInitSkill()
- {
- _skillBasic2004 = CombatHeroEntity.CurrCombatHeroInfo.GetGroupSkillConfig(20004);
- _skillBasic2005 = CombatHeroEntity.CurrCombatHeroInfo.GetGroupSkillConfig(20005);
- if (_skillBasic2005.ID>0)
- {
- _count += (int)_skillBasic2005.effectValue[0];
- }
- }
- protected override void ProUseSkill()
- {
- ActivationTimeLineData("sk1");
- }
- protected override ILifetCycleHitPoint[] ProGetTineLineTargetEntity(
- TimeLineEventLogicBasic timeLineEventLogicBasic)
- {
- ILifetCycleHitPoint[] allLifetCycleHitPoints =
- CombatController.currActiveCombat.CombatHeroController.GetHeroHitPoint(CombatHeroEntity.IsEnemy);
- return CombatCalculateTool.Instance.GetMinHpHero(allLifetCycleHitPoints, _count);
- }
- protected override void ProDefaultTimeLineTrigger(string groupName, CombatHeroHitPoint targetEntity,
- ITimelineFxLogic timelineFxLogic,
- TriggerData triggerData)
- {
- float currRecoverValue = recoverValue;
- if (_skillBasic2004.ID>0)
- {
- float hpBl = _skillBasic2004.effectValue[0];
- float currBl = (float)(targetEntity.combatHeroEntity.CurrCombatHeroInfo.hp.Value * 100f /
- targetEntity.combatHeroEntity.MaxCombatHeroInfo.hp.Value);
- if (currBl <= hpBl)
- {
- currRecoverValue += _skillBasic2004.effectValue[1];
- }
- }
- long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(CombatHeroEntity.CurrCombatHeroInfo.attack.Value,
- currRecoverValue);
- HarmReturnInfo harmReturnInfo = Recover(CombatHeroEntity, targetEntity,
- v, AttType.Normal, HarmType.Default);
- }
- }
- }
|