Remedy_510250.cs 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using CommonAI.Zone;
  2. using CommonAI.Zone.Helper;
  3. using CommonAI.Zone.Instance;
  4. using CommonLang;
  5. using XmdsCommon.Plugin;
  6. using XmdsCommonServer.Plugin;
  7. using XmdsCommonServer.XLS.Data;
  8. using XmdsCommonSkill.Plugin.Buffs;
  9. namespace XmdsCommonSkill.Plugin.Skills.Remedy
  10. {
  11. /// <summary>
  12. /// 治疗, 二技能: 2-5 ( 3个精灵围绕,自动索敌攻击,每次X%攻击力伤害,一个人命中多次衰减)
  13. /// </summary>
  14. public class Remedy_510250 : Remedy_510240
  15. {
  16. private static readonly int ID = 510250;
  17. // 伤害系数
  18. protected XmdsSkillValue valueSet3;
  19. //扩展配置
  20. protected XmdsSkillValue valueSet5;
  21. public override int SkillID { get { return ID; } }
  22. protected override void OnSkillDamagePerEvent(BattleParams param)
  23. {
  24. if(param.AtkProp.DamagePerID == 2)
  25. {
  26. param.SkillDamagePer = valueSet3.GetValue(param.GameSkill.TalentSkillLevel2);
  27. int nNums = param.GameSkill.mHitUnits.Get(param.Hitter.mUnit.ID);
  28. for(int i = 0; i < nNums; i++)
  29. {
  30. param.SkillDamagePer = CUtils.CastInt(param.SkillDamagePer * (1 - XmdsUnitProp.PER * valueSet5.GetValue(param.GameSkill.TalentSkillLevel2)));
  31. }
  32. param.GameSkill.mHitUnits.Put(param.Hitter.mUnit.ID, nNums + 1);
  33. }
  34. else
  35. {
  36. base.OnSkillDamagePerEvent(param);
  37. }
  38. }
  39. protected override void OnInitConfig()
  40. {
  41. XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
  42. base.InitBaseConfig(data);
  43. InitData(data, out buffTime, XmdsSkillData.XmdsSkillDataKey.DmgRate);
  44. InitData(data, out valueSet, XmdsSkillData.XmdsSkillDataKey.ValueSet);
  45. InitData(data, out valueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
  46. InitData(data, out valueSet3, XmdsSkillData.XmdsSkillDataKey.ValueSet3);
  47. //扩展配置
  48. InitData(data, out valueSet5, XmdsSkillData.XmdsSkillDataKey.ValueSet5);
  49. }
  50. }
  51. }