123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- using CommonAI.Data;
- using CommonAI.Zone;
- using CommonAI.Zone.Formula;
- using CommonLang;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using XmdsCommonServer.XLS.Data;
- using XmdsCommonSkill.Plugin.Buffs;
- namespace XmdsCommonSkill.Plugin.CardSkill
- {
- public abstract class CardSkill_QingLongBase : JSGCardSkillBase
- {
- // 青龙之力【n秒内下一个朱雀技能伤害每层提高80%,并清除该buff】 (青龙技能主治疗量加成)
- public static readonly int BuffID_TYPE_ABILITY = (int)XmdsBuffBase.XmdsBuffList.CARD_QINGLONG;
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- // 打到其他人(主治疗逻辑处理)
- unit.RegistOnHitOther(OnHandleHitOther, info);
- }
- protected float OnHandleHitOther(float damage, XmdsVirtual hitted, XmdsVirtual attacker, AttackSource source,
- ref XmdsVirtual.AtkResult result, DamageType damageType, GameSkill skill, ref bool isEndDispatch)
- {
- //受治疗量提高
- if (damage < 0)
- {
- return GetHealFinalValue(attacker, damage);
- }
- return damage;
- }
- // 护盾
- public float GetHealFinalValue(XmdsVirtual player, float healValue)
- {
- IntIntData strengthInfo = player.CardModule.GetStrengthInfo(CardStrengthenType.Heal);
- if (strengthInfo != null && strengthInfo.value1 > 0)
- {
- return healValue * (1.0f + strengthInfo.value1 * XmdsUnitProp.PER);
- }
- return healValue;
- }
- }
- }
|