using CommonAI.Zone; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; namespace XmdsCommonSkill.Plugin.Skills.Pet { /// /// 让主人进入振奋状态<$4>秒,期间主人攻击力提升<$5>%,防御力提升<$6>% /// class Pet_8300502 : XmdsSkillBase { public static int ID = 8300502; public static int Buff_ID = 8300502; public static XmdsSkillValue Buff_Value; public override int SkillID { get { return ID; } } protected override void OnInitSkillParam() { XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID); InitData(data, out Buff_Value, XmdsSkillData.XmdsSkillDataKey.ValueSet); } protected override void OnSkillLogicEvent(BattleParams param) { param.Attacker.mUnit.AddBuff(Buff_ID, param.Attacker.mUnit); } protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template) { XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID); var bufflist = pack.GetXmdsBuffList(); int value = this.GetTargetFormulaValue(info.SkillLevel, Buff_Value); if (bufflist.Count >= 2) { var propChange = (XmdsBuff_PropChange)bufflist[0]; propChange.CurentChangeType = XmdsVirtual.UnitAttributeType.Attack; propChange.CurrentValue = value; propChange.IsPercent = true; propChange = (XmdsBuff_PropChange)bufflist[1]; propChange.CurentChangeType = XmdsVirtual.UnitAttributeType.Defence; propChange.CurrentValue = value; propChange.IsPercent = true; } BuffTemplate bt = pack.mBuffTemplate; bt.IsHarmful = false; bt.LifeTimeMS = 5000; pack.BindTemplateAndDispose(); unit.RegistSendBuff(bt); } } }