12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using CommonAI.Zone;
- using System.Collections.Generic;
- 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
- {
- /// <summary>
- /// 无双
- /// </summary>
- public class XmdsBattleFunctionEvent_10026 : XmdsBattleFunctionEventBase
- {
- public static readonly int EventID = 10026;
- private int mBuff_LifeTime = 0; // buff持续时间.
- private int mHPPer = 0; // 生命加成
- private int mAtkPer = 0; // 攻击加成
- private int mDamage = 0; // 伤害加成
- private int mHPRecoverPer = 0; // 生命恢复百分百
- public override int GetEventID() { return EventID; }
- protected override bool OnInit()
- {
- BuffConfig config = base.GetBuffConfig();
- mHPPer = System.Int32.Parse(config.ValueSet1);
- mAtkPer = System.Int32.Parse(config.ValueSet2);
- mDamage = System.Int32.Parse(config.ValueSet3);
- mHPRecoverPer = System.Int32.Parse(config.ValueSet4);
- mBuff_LifeTime = System.Int32.Parse(config.ValueSet5);
- List<XmdsBuffProperties.XmdsBuffAbility> abilityList = new List<XmdsBuffProperties.XmdsBuffAbility>();
- abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.PropChange);
- abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.PropChange);
- abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.PropChange);
- abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.PropChange);
- abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.Invincible);
- return XmdsBuffFactory.GetInstance().XmdsBuffPackTest(base.mBuff_ID, abilityList);
- }
- protected override void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender)
- {
- XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(base.mBuff_ID);
- var buff1 = (XmdsBuff_PropChange)pack.GetXmdsBuff(0);
- buff1.CurentChangeType = XmdsVirtual.UnitAttributeType.MaxHP;
- buff1.CurrentValue = mHPPer;
- buff1.IsPercent = true;
- var buff2 = (XmdsBuff_PropChange)pack.GetXmdsBuff(1);
- buff2.CurentChangeType = XmdsVirtual.UnitAttributeType.Attack;
- buff2.CurrentValue = mAtkPer;
- buff2.IsPercent = true;
- var buff3 = (XmdsBuff_PropChange)pack.GetXmdsBuff(2);
- buff3.CurentChangeType = XmdsVirtual.UnitAttributeType.AllDmgAdd;
- buff3.CurrentValue = mDamage;
- buff3.IsPercent = true;
- var buff4 = (XmdsBuff_PropChange)pack.GetXmdsBuff(3);
- buff4.CurentChangeType = XmdsVirtual.UnitAttributeType.HPRecover;
- buff4.CurrentValue = mHPRecoverPer;
- buff4.IsPercent = true;
- BuffTemplate bt = pack.mBuffTemplate;
- bt.IsHarmful = false;
- bt.LifeTimeMS = mBuff_LifeTime;
- pack.BindTemplateAndDispose();
- target.mUnit.AddBuff(bt, sender.mUnit);
- }
- }
- }
|