using CommonAI.Zone; using System; using System.Collections.Generic; using System.Linq; using System.Text; using XmdsCommon.Plugin; using XmdsCommonServer.Plugin; using XmdsCommonServer.XLS.Data; using XmdsCommonSkill.Plugin.Buffs; namespace XmdsCommonSkill.Plugin.Skills.Pet { /// /// 大白之力 瞬发 大白激发潜力,身体瞬间变大,物攻提高<$5>%,这个效果持续<$3>秒 一个增大模型,增加自身的物攻伤害的BUFF, /// class Pet_8100203 : XmdsSkillBase { public static int ID = 8100203; public static XmdsSkillValue Buff_Value; public static int Buff_ID = 8100203; public override int SkillID { get { return ID; } } protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template) { XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID); XmdsBuff_PropChange buff = (XmdsBuff_PropChange)pack.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.PropChange); BuffTemplate bt = pack.mBuffTemplate; bt.IsHarmful = false; pack.BindTemplateAndDispose(); unit.RegistSendBuff(bt); } protected override void OnSkillLogicEvent(BattleParams param) { // 没伤害. param.UseDamageType = CommonAI.Data.DamageType.None; // +攻击力(物魔). XmdsBuff_PropChange buff = param.Attacker.GetRegisBuffVirtual(Buff_ID, 0) as XmdsBuff_PropChange; buff.CurentChangeType = XmdsVirtual.UnitAttributeType.Attack; buff.IsPercent = true; buff.CurrentValue = this.GetTargetFormulaValue(param.GameSkill.SkillLevel, Buff_Value); BuffTemplate bt = param.Attacker.GetRegistBuff(Buff_ID); bt.LifeTimeMS = 5000; param.Hitter.mUnit.AddBuff(Buff_ID, param.Attacker.mUnit); } protected override void OnInitSkillParam() { XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID); InitData(data, out Buff_Value, XmdsSkillData.XmdsSkillDataKey.ValueSet); } } }