using CommonAI.Zone; using CommonAI.Zone.Helper; using CommonAI.Zone.Instance; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; namespace XmdsCommonSkill.Plugin.Skills.Magic { /// 二技能: 2-3(被命中敌人被禁锢1S; 自身对其伤害提高20%,持续3S) public class Magic_310230 : Magic_310220 { private static int ID = 310230; private static int Buff_1 = (int)XmdsBuffBase.XmdsBuffList.ATTACK_UP_FS_2_3; private static int Buff_2 = (int)XmdsBuffBase.XmdsBuffList.JINGU_FS_2_3_1; protected XmdsSkillValue mValueSet4; //禁锢时间 protected XmdsSkillValue mValueSet5; public override int SkillID { get { return ID; } } protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template) { base.OnInit(info, unit, ref template); //法术发送者对其造成伤害提高20% XmdsBuffPack pack1 = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_1); XmdsBuff_Brand_2 buff1 = (XmdsBuff_Brand_2)pack1.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.Brand_2); buff1.BuffValue = mValueSet4.GetValue(info.TalentSkillLevel3, 1); BuffTemplate bt1 = pack1.mBuffTemplate; bt1.LifeTimeMS = mValueSet4.GetValue(info.TalentSkillLevel3, 2); pack1.BindTemplateAndDispose(); unit.RegistSendBuff(bt1); //禁锢buf XmdsBuffPack pack2 = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_2); BuffTemplate bt2 = pack2.mBuffTemplate; bt2.IsHarmful = true; bt2.LifeTimeMS = mValueSet5.GetValue(info.TalentSkillLevel3); pack2.BindTemplateAndDispose(); unit.RegistSendBuff(bt2); } protected override void OnSkillDataChange(GameSkill gs, XmdsVirtual unit) { base.OnSkillDataChange(gs, unit); var buff = unit.GetRegisBuffVirtual(Buff_1) as XmdsBuff_Brand_2; buff.BuffValue = mValueSet4.GetValue(gs.TalentSkillLevel3, 1); var bt1 = unit.GetRegistBuff(Buff_1); bt1.LifeTimeMS = mValueSet4.GetValue(gs.TalentSkillLevel3, 2); var bt2 = unit.GetRegistBuff(Buff_2); bt2.LifeTimeMS = mValueSet5.GetValue(gs.TalentSkillLevel3); } protected override void OnSkillLogicEvent(BattleParams param) { //禁锢 param.Hitter.mUnit.AddBuff(Buff_2, param.Attacker.mUnit); //攻击增伤buff param.Hitter.mUnit.AddBuff(Buff_1, param.Attacker.mUnit); } protected override void OnInitConfig() { XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID); InitData(data, out mValueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet); InitData(data, out mValueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2); InitData(data, out mValueSet3, XmdsSkillData.XmdsSkillDataKey.ValueSet3); InitData(data, out mValueSet4, XmdsSkillData.XmdsSkillDataKey.ValueSet4); InitData(data, out mValueSet5, XmdsSkillData.XmdsSkillDataKey.ValueSet5); //扩展 InitData(data, out mValueSet8, XmdsSkillData.XmdsSkillDataKey.ValueSet8); } } }