1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- using CommonAI.Zone;
- using CommonAI.Zone.Formula;
- using CommonAI.Zone.Instance;
- 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_BaiHuBase : JSGCardSkillBase
- {
- // 白虎之力【n秒内下一个玄武技能增加的护盾量每层提高80%,并清除该buff】(白虎技能主伤害(走基类) + 破定)
- public static readonly int BuffID_TYPE_ABILITY = (int)XmdsBuffBase.XmdsBuffList.CARD_BAIHU;
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- unit.RegistReduceMPEvent(OnReduceOtherMpEvent, info);
- }
- private bool OnReduceOtherMpEvent(int mp, InstanceUnit sender, InstanceUnit hitter, out int finalMP, AttackSource source)
- {
- finalMP = mp;
- if (source == null || source.FromSkillType != CommonAI.Zone.Helper.XmdsSkillType.cardSkill)
- {
- return false;
- }
-
- IntIntData strengthInfo = (sender.Virtual as XmdsVirtual).CardModule.GetStrengthInfo(CardStrengthenType.Shield);
- if (strengthInfo != null && strengthInfo.value1 > 0)
- {
- finalMP += CUtils.CastInt(finalMP * (XmdsUnitProp.PER * strengthInfo.value1));
- }
- return false;
- }
- }
- }
|