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; } } }