using CommonAI.Zone; using CommonAI.Zone.Instance; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.XLS.Data; namespace XmdsCommonSkill.Plugin.Skills.Assassin { /// <summary> /// 强化剑刃: 剑刃乱舞的暴击率提高x%. /// </summary> public class Assassin_201040 : Assassin_200040 { /// 技能ID. public static new int ID = 201040; /// 暴击率上升. public static XmdsSkillValue CritAddPer; public override int SkillID { get { return ID; } } protected override void OnRegistEvent() { this.RegistEvent(EventType.CritRateAdd, OnCritAddEvent); base.OnRegistEvent(); } private void OnCritAddEvent(BattleParams param) { param.CritAdd = this.GetTargetFormulaValue(param.GameSkill.TalentSkillLevel1, CritAddPer); } protected override void OnStateEndEvent(XmdsVirtual owner, InstanceUnit.StateSkill state, GameSkill gs) { //技能结束,BUFF结束. if (state.SkillData.ID == ID) { owner.mUnit.removeBuff(TargetBuffID, InstanceUnit.BuffState.EndResult_ByCode); } } protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template) { //注册技能结束监听. unit.RegistStateSkillEndEvent(OnStateEndEvent, info, false); } protected override void OnInitSkillParam() { base.OnInitSkillParam(); XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID); InitData(data, out CritAddPer, XmdsSkillData.XmdsSkillDataKey.ValueSet); } } }