Warrior_110110.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using CommonAI.Zone;
  2. using CommonAI.Zone.Helper;
  3. using CommonAI.Zone.Instance;
  4. using System;
  5. using XmdsCommon.Plugin;
  6. using XmdsCommonServer.Plugin;
  7. using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator;
  8. using XmdsCommonServer.XLS.Data;
  9. using XmdsCommonSkill.Plugin.Buffs;
  10. using XmdsCommonSkill.Plugin.Skills;
  11. using static CommonAI.Zone.Instance.InstanceUnit;
  12. /// <summary>
  13. /// 战士【1】技能 1 - 1 (每命中一次,下次造成的伤害提高10%)
  14. /// </summary>
  15. ///
  16. namespace XmdsCommonSkill.Plugin.Skills.Warrior
  17. {
  18. public class Warrior_110110 : Warrior_110100
  19. {
  20. private static readonly int ID = 110110;
  21. //命中,下段伤害提高值
  22. protected XmdsSkillValue mValueSet2;
  23. public override int SkillID { get { return ID; } }
  24. protected override void OnSkillDamagePerEvent(BattleParams param)
  25. {
  26. base.OnSkillDamagePerEvent(param);
  27. int hitTimes = 0; //命中次数
  28. int hitMaxAdd = Math.Min(param.AtkProp.DamagePerID - 1, mHitFlag.Length);
  29. for (int i = 0; i < hitMaxAdd; i++)
  30. {
  31. if(mHitFlag[i] > 0)
  32. {
  33. hitTimes++;
  34. }
  35. else
  36. {
  37. hitTimes = 0;
  38. break;
  39. }
  40. }
  41. param.SkillDamagePer += hitTimes * mValueSet2.GetValue(param.GameSkill.TalentSkillLevel1);
  42. }
  43. protected override void OnInitConfig()
  44. {
  45. XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
  46. InitData(data, out mValueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet);
  47. InitData(data, out mValueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
  48. // 基础扩展
  49. InitData(data, out mValueSet8, XmdsSkillData.XmdsSkillDataKey.ValueSet8);
  50. }
  51. }
  52. }