1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using CommonAI.Zone;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using XmdsCommonServer.XLS.Data;
- using XmdsCommonSkill.Plugin.Buffs;
- namespace XmdsCommonSkill.Plugin.Skills.Pet
- {
- /// <summary>
- /// 让敌人陷入衰弱状态<$4>秒,期间敌人攻击力下降<$5>%,防御力下降<$6>%
- /// </summary>
- class Pet_8300402 : XmdsSkillBase
- {
- public static int ID = 8300402;
- public static int Buff_ID = 8300402;
- public static XmdsSkillValue Buff_Value;
- public static XmdsSkillValue Buff_Value2;
- 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);
- InitData(data, out Buff_Value2, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
- }
- protected override void OnSkillLogicEvent(BattleParams param)
- {
- param.Hitter.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);
- int value2 = -this.GetTargetFormulaValue(info.SkillLevel, Buff_Value2);
- 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 = value2;
- propChange.IsPercent = true;
- }
- BuffTemplate bt = pack.mBuffTemplate;
- bt.IsHarmful = true;
- bt.LifeTimeMS = 5000;
-
- pack.BindTemplateAndDispose();
- unit.RegistSendBuff(bt);
- }
- }
- }
|