using CommonAI.Zone; using CommonAI.Zone.Helper; using CommonAI.Zone.Instance; using CommonLang; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; namespace XmdsCommonSkill.Plugin.Skills.Remedy { /// /// 治疗, 二技能: 2-5 ( 3个精灵围绕,自动索敌攻击,每次X%攻击力伤害,一个人命中多次衰减) /// public class Remedy_510250 : Remedy_510240 { private static readonly int ID = 510250; // 伤害系数 protected XmdsSkillValue valueSet3; //扩展配置 protected XmdsSkillValue valueSet5; public override int SkillID { get { return ID; } } protected override void OnSkillDamagePerEvent(BattleParams param) { if(param.AtkProp.DamagePerID == 2) { param.SkillDamagePer = valueSet3.GetValue(param.GameSkill.TalentSkillLevel2); int nNums = param.GameSkill.mHitUnits.Get(param.Hitter.mUnit.ID); for(int i = 0; i < nNums; i++) { param.SkillDamagePer = CUtils.CastInt(param.SkillDamagePer * (1 - XmdsUnitProp.PER * valueSet5.GetValue(param.GameSkill.TalentSkillLevel2))); } param.GameSkill.mHitUnits.Put(param.Hitter.mUnit.ID, nNums + 1); } else { base.OnSkillDamagePerEvent(param); } } protected override void OnInitConfig() { XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID); base.InitBaseConfig(data); InitData(data, out buffTime, XmdsSkillData.XmdsSkillDataKey.DmgRate); InitData(data, out valueSet, XmdsSkillData.XmdsSkillDataKey.ValueSet); InitData(data, out valueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2); InitData(data, out valueSet3, XmdsSkillData.XmdsSkillDataKey.ValueSet3); //扩展配置 InitData(data, out valueSet5, XmdsSkillData.XmdsSkillDataKey.ValueSet5); } } }