Boss_90310.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using CommonAI.Zone;
  2. using CommonAI.Zone.Formula;
  3. using CommonAI.Zone.Helper;
  4. using CommonAI.Zone.Instance;
  5. using XmdsCommon.Plugin;
  6. using XmdsCommonServer.Plugin;
  7. using XmdsCommonServer.XLS.Data;
  8. using XmdsCommonSkill.Plugin.Buffs;
  9. using XmdsCommonSkill.Plugin.PassiveSkills.Magic;
  10. using static CommonAI.Zone.Instance.InstanceUnit;
  11. namespace XmdsCommonSkill.Plugin.Skills.Boss
  12. {
  13. /// <summary>
  14. /// boss - 2 - 振奋(召唤一片灵气区域,在灵气区域内BOSS和小兵的攻防增加)
  15. /// </summary>
  16. public class Boss_90310 : XmdsSkillBase
  17. {
  18. private static int ID = 90310;
  19. private static int Buff_ID = (int)XmdsBuffBase.XmdsBuffList.PROP_CHANGE_2;
  20. public static XmdsSkillValue defenceValue; // 防御提升系数
  21. public static XmdsSkillValue attackValue; // 攻击提升系数
  22. public static XmdsSkillValue buffTime; // buff时间
  23. public override int SkillID { get { return ID; } }
  24. protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
  25. {
  26. XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID);
  27. //攻击
  28. XmdsBuff_PropChange buff = (XmdsBuff_PropChange)pack.GetXmdsBuff(0);
  29. buff.CurentChangeType = XmdsVirtual.UnitAttributeType.Attack;
  30. buff.CurrentValue = attackValue.GetValue();
  31. buff.IsPercent = true;
  32. //防御
  33. XmdsBuff_PropChange buff1 = (XmdsBuff_PropChange)pack.GetXmdsBuff(1);
  34. buff1.CurentChangeType = XmdsVirtual.UnitAttributeType.Defence;
  35. buff1.CurrentValue = defenceValue.GetValue();
  36. buff1.IsPercent = true;
  37. BuffTemplate bt = pack.mBuffTemplate;
  38. pack.BindTemplateAndDispose();
  39. bt.IsHarmful = true;
  40. bt.LifeTimeMS = buffTime.GetValue();
  41. unit.RegistSendBuff(bt);
  42. }
  43. protected override void OnSkillLogicEvent(BattleParams param)
  44. {
  45. param.UseDamageType = CommonAI.Data.DamageType.None;
  46. param.Hitter.mUnit.AddBuff(Buff_ID, param.Attacker.mUnit);
  47. }
  48. protected override void OnInitSkillParam()
  49. {
  50. XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
  51. InitData(data, out defenceValue, XmdsSkillData.XmdsSkillDataKey.DmgRate);
  52. InitData(data, out attackValue, XmdsSkillData.XmdsSkillDataKey.ValueSet);
  53. InitData(data, out buffTime, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
  54. }
  55. }
  56. }