using CommonAI.Zone; using CommonLang; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator; using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; namespace XmdsCommonSkill.Plugin.FunctionEvent { /// /// 成魔 /// public class XmdsBattleFunctionEvent_10028 : XmdsBattleFunctionEventBase { public static readonly int EventID = 10028; public static int Buff_ID = 0; public static int Buff_LifeTime = 0; // buff持续时间. public static float Buff_Damage = 0; public override int GetEventID() { return EventID; } protected override bool OnInit() { BuffConfig config = XmdsDataMgr.GetInstance().GetBuffConfigData(EventID); Buff_ID = config.BuffID; Buff_LifeTime = System.Int32.Parse(config.ValueSet1); Buff_Damage = System.Int32.Parse(config.ValueSet2) * XmdsUnitProp.PER; BuffTemplate bt = XmdsBattleSkill.GetBuffTemplate(Buff_ID, false); return true; } protected override void OnTriggerEvent(XmdsVirtual target, int value1, int value2, int value3, int value4, int value5, int value6) { XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID); var buff1 = (XmdsBuff_Bleed)pack.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.Bleed); buff1.ChangeValue = CUtils.CastInt(target.MirrorProp.MaxHP * Buff_Damage); BuffTemplate bt = pack.mBuffTemplate; bt.LifeTimeMS = Buff_LifeTime; pack.BindTemplateAndDispose(); target.mUnit.AddBuff(bt, target.mUnit); } } }