using System; using System.Collections.Generic; using System.Linq; using System.Text; using XmdsCommon.Plugin; namespace XmdsCommonSkill.Plugin.Buffs { class XmdsBuff_Invincible_LuanchSkillBreak : XmdsBuffBase { private int mHandUUID = 0; public override int GetAbilityID() { return (int)XmdsBuffProperties.XmdsBuffAbility.Invincible_luanchSkillBreak; } protected override void OnBuffBegin(XmdsCommonServer.Plugin.XmdsVirtual hitter, XmdsCommonServer.Plugin.XmdsVirtual attacker, CommonAI.Zone.Instance.InstanceUnit.BuffState state) { //通过编辑器设置无敌效果. //XmdsVirtual.FormatLog("单位 {0} 无敌开始", hitter.mInfo.Name); hitter.IsInvincible = true; mHandUUID = hitter.RegistLaunchSkillOver(OnLaunchSkillOver, null); } protected override void OnBuffEnd(XmdsCommonServer.Plugin.XmdsVirtual hitter, CommonAI.Zone.Instance.InstanceUnit.BuffState state, bool replace) { // XmdsVirtual.FormatLog("单位 {0} 无敌解除", hitter.mInfo.Name); hitter.IsInvincible = false; hitter.UnRegistLaunchSkillOver(mHandUUID); } private int OnLaunchSkillOver(GameSkill info, XmdsCommonServer.Plugin.XmdsVirtual attacker, CommonAI.Zone.Instance.InstanceUnit.SkillState state) { attacker.mUnit.removeBuff(BindBuffID); //Console.WriteLine("============"); //attacker.IsInvincible = false; //attacker.UnRegistLaunchSkillOver(mHandUUID); return 0; } } }