Remedy_510510.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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.Plugin.XmdsSkillTemplate.DamageCalculator;
  8. using XmdsCommonServer.XLS.Data;
  9. using XmdsCommonSkill.Plugin.Buffs;
  10. namespace XmdsCommonSkill.Plugin.Skills.Remedy
  11. {
  12. /// <summary>
  13. /// 治疗, 五技能 5-1(造成的伤害,一定百分比系数给奶妈和友军恢复血量。)
  14. /// </summary>
  15. public class Remedy_510510 : Remedy_510500
  16. {
  17. private static readonly int ID = 510510;
  18. private static readonly int Buff_ID1 = (int)XmdsBuffBase.XmdsBuffList.AttackRoundAddHP;
  19. public override int SkillID { get { return ID; } }
  20. //伤害系数转换成治疗系数
  21. public XmdsSkillValue valueSet2;
  22. protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
  23. {
  24. base.OnInit(info, unit, ref template);
  25. var pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID1);
  26. var bt = pack.mBuffTemplate;
  27. bt.IsHarmful = false;
  28. bt.LifeTimeMS = valueSet5.GetValue(info.SkillLevel, 4);
  29. pack.BindTemplateAndDispose();
  30. unit.RegistSendBuff(bt);
  31. }
  32. protected override void OnSkillDataChange(GameSkill gs, XmdsVirtual unit)
  33. {
  34. base.OnSkillDataChange(gs, unit);
  35. var bt = unit.GetRegistBuff(Buff_ID1);
  36. bt.LifeTimeMS = valueSet5.GetValue(gs.SkillLevel, 4);
  37. }
  38. protected override int OnLaunchSkillOver(GameSkill info, XmdsCommonServer.Plugin.XmdsVirtual launcher, CommonAI.Zone.Instance.InstanceUnit.SkillState state)
  39. {
  40. base.OnLaunchSkillOver(info, launcher, state);
  41. var buff = launcher.GetRegisBuffVirtual(Buff_ID1, 0) as XmdsBuff_AttackRoundAddHP;
  42. if (buff != null)
  43. {
  44. buff.damageToHp = valueSet2.GetValue(info.TalentSkillLevel1)/XmdsDamageCalculator.PERER;
  45. launcher.mUnit.AddBuff(Buff_ID1);
  46. }
  47. return 0;
  48. }
  49. protected override void OnInitConfig()
  50. {
  51. XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
  52. base.InitBaseConfig(data);
  53. InitData(data, out valueSet, XmdsSkillData.XmdsSkillDataKey.ValueSet);
  54. InitData(data, out valueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
  55. // 扩展配置
  56. InitData(data, out valueSet5, XmdsSkillData.XmdsSkillDataKey.ValueSet5);
  57. InitData(data, out valueSet7, XmdsSkillData.XmdsSkillDataKey.ValueSet7);
  58. }
  59. }
  60. }