XmdsBattleFunctionEvent_10026.cs 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. using CommonAI.Zone;
  2. using System.Collections.Generic;
  3. using XmdsCommon.Plugin;
  4. using XmdsCommonServer.Plugin;
  5. using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator;
  6. using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;
  7. using XmdsCommonServer.XLS.Data;
  8. using XmdsCommonSkill.Plugin.Buffs;
  9. namespace XmdsCommonSkill.Plugin.FunctionEvent
  10. {
  11. /// <summary>
  12. /// 无双
  13. /// </summary>
  14. public class XmdsBattleFunctionEvent_10026 : XmdsBattleFunctionEventBase
  15. {
  16. public static readonly int EventID = 10026;
  17. private int mBuff_LifeTime = 0; // buff持续时间.
  18. private int mHPPer = 0; // 生命加成
  19. private int mAtkPer = 0; // 攻击加成
  20. private int mDamage = 0; // 伤害加成
  21. private int mHPRecoverPer = 0; // 生命恢复百分百
  22. public override int GetEventID() { return EventID; }
  23. protected override bool OnInit()
  24. {
  25. BuffConfig config = base.GetBuffConfig();
  26. mHPPer = System.Int32.Parse(config.ValueSet1);
  27. mAtkPer = System.Int32.Parse(config.ValueSet2);
  28. mDamage = System.Int32.Parse(config.ValueSet3);
  29. mHPRecoverPer = System.Int32.Parse(config.ValueSet4);
  30. mBuff_LifeTime = System.Int32.Parse(config.ValueSet5);
  31. List<XmdsBuffProperties.XmdsBuffAbility> abilityList = new List<XmdsBuffProperties.XmdsBuffAbility>();
  32. abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.PropChange);
  33. abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.PropChange);
  34. abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.PropChange);
  35. abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.PropChange);
  36. abilityList.Add(XmdsBuffProperties.XmdsBuffAbility.Invincible);
  37. return XmdsBuffFactory.GetInstance().XmdsBuffPackTest(base.mBuff_ID, abilityList);
  38. }
  39. protected override void OnTriggerEvent(XmdsVirtual target, XmdsVirtual sender)
  40. {
  41. XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(base.mBuff_ID);
  42. var buff1 = (XmdsBuff_PropChange)pack.GetXmdsBuff(0);
  43. buff1.CurentChangeType = XmdsVirtual.UnitAttributeType.MaxHP;
  44. buff1.CurrentValue = mHPPer;
  45. buff1.IsPercent = true;
  46. var buff2 = (XmdsBuff_PropChange)pack.GetXmdsBuff(1);
  47. buff2.CurentChangeType = XmdsVirtual.UnitAttributeType.Attack;
  48. buff2.CurrentValue = mAtkPer;
  49. buff2.IsPercent = true;
  50. var buff3 = (XmdsBuff_PropChange)pack.GetXmdsBuff(2);
  51. buff3.CurentChangeType = XmdsVirtual.UnitAttributeType.AllDmgAdd;
  52. buff3.CurrentValue = mDamage;
  53. buff3.IsPercent = true;
  54. var buff4 = (XmdsBuff_PropChange)pack.GetXmdsBuff(3);
  55. buff4.CurentChangeType = XmdsVirtual.UnitAttributeType.HPRecover;
  56. buff4.CurrentValue = mHPRecoverPer;
  57. buff4.IsPercent = true;
  58. BuffTemplate bt = pack.mBuffTemplate;
  59. bt.IsHarmful = false;
  60. bt.LifeTimeMS = mBuff_LifeTime;
  61. pack.BindTemplateAndDispose();
  62. target.mUnit.AddBuff(bt, sender.mUnit);
  63. }
  64. }
  65. }