using CommonAI.Zone; using CommonAI.Zone.Helper; using CommonAI.Zone.Instance; using CommonAI.ZoneServer.JSGModule; using System; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; using XmdsCommonSkill.Plugin.PassiveSkills.Remedy; namespace XmdsCommonSkill.Plugin.Skills.Remedy { /// /// 治疗, 4技能4-2 (蔓延的蔓藤打到友方会解除掉当前的控制效果,提供一个0.5S的霸体) /// public class Remedy_510420 : Remedy_510410 { private static readonly int ID = 510420; public override int SkillID { get { return ID; } } //挂毒概率,层数 public XmdsSkillValue valueSet3; protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template) { base.OnInit(info, unit, ref template); } protected override void OnSkillLogicEvent(BattleParams param) { base.OnSkillLogicEvent(param); if (param.AtkProp.DamagePerID == 3) { param.UseDamageType = CommonAI.Data.DamageType.None; if(JSGModule.RandomPrecent(valueSet3.GetValue(param.GameSkill.TalentSkillLevel2, 1))) { PlayerCache_Remedy talnet = param.Attacker.GetPlayerCache() as PlayerCache_Remedy; if (talnet == null) { log.Warn("Remedy_510420叠毒找不到天赋:" + param.Attacker.mUnit.PlayerUUID + ", " + param.Attacker.mUnit.Parent.GetSceneID()); } else if(talnet.IsCanAddPosion(param.Hitter)) { int addLayer = valueSet3.GetValue(param.GameSkill.TalentSkillLevel2, 2); param.Hitter.mUnit.AddBuff(Remedy_510601.Buff_POISON, param.Attacker.mUnit, 0, false, false, false, 0, addLayer); } } } } protected override void OnInitConfig() { XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID); base.InitBaseConfig(data); 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); InitData(data, out valueSet8, XmdsSkillData.XmdsSkillDataKey.ValueSet8); } } }