123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- using CommonAI.Data;
- using CommonAI.Zone;
- using CommonAI.Zone.Formula;
- using CommonAI.Zone.Helper;
- using CommonAI.Zone.Instance;
- using System;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using XmdsCommonServer.XLS.Data;
- using XmdsCommonSkill.Plugin.Buffs;
- namespace XmdsCommonSkill.Plugin.Skills.Warrior
- {
-
-
-
-
-
- public class Warrior_110200 : XmdsSkillBase
- {
- private static readonly int ID = 110200;
- public override int SkillID { get { return ID; } }
- protected static readonly int Buff_ID = (int)XmdsBuffBase.XmdsBuffList.ZS_SPEEDDOWN_2;
-
- protected static readonly int Buff_INGORE_DAMAGE = (int)XmdsBuffBase.XmdsBuffList.ZS_INGORE_DAMAGE;
-
- protected XmdsSkillValue mValueSet1;
-
- protected XmdsSkillValue mValueSet5;
-
- protected XmdsSkillValue mValueSet8;
-
- protected long mSkillAngerTime;
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
-
- var pack2 = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID);
- var buff2 = pack2.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.MoveSpeedDown) as XmdsBuff_MoveSpeedDown;
- buff2.ChangePercent = -mValueSet5.GetValue(GetBaseSpeedDownLv(info), 1);
- var bt2 = pack2.mBuffTemplate;
- bt2.LifeTimeMS = mValueSet5.GetValue(GetBaseSpeedDownLv(info), 2) * 10;
- bt2.IsHarmful = true;
- pack2.BindTemplateAndDispose();
- unit.RegistSendBuff(bt2);
-
- XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_INGORE_DAMAGE);
- XmdsBuff_PropChange buff = (XmdsBuff_PropChange)pack.GetXmdsBuff(0);
- buff.CurentChangeType = XmdsVirtual.UnitAttributeType.AllDmgReduce;
- buff.CurrentValue = mValueSet8.GetValue(info.SkillLevel, 2);
- buff.IsPercent = true;
- BuffTemplate bt = pack.mBuffTemplate;
- bt.IsHarmful = true;
- bt.LifeTimeMS = mValueSet8.GetValue(info.SkillLevel, 1);
- pack.BindTemplateAndDispose();
- unit.RegistSendBuff(bt);
- unit.RegistLaunchSkillOver(OnLaunchSkillOver, info);
- unit.RegistOnHitDamage(OnHandleOnHitDamage, info, true);
- }
- private int OnLaunchSkillOver(GameSkill info, XmdsCommonServer.Plugin.XmdsVirtual launcher, CommonAI.Zone.Instance.InstanceUnit.SkillState skill)
- {
- launcher.mUnit.AddBuff(Buff_INGORE_DAMAGE);
- mSkillAngerTime = CommonLang.CUtils.localTimeMS + mValueSet8.GetValue(info.SkillLevel, 1);
- return 0;
- }
-
- private float OnHandleOnHitDamage(float damage, XmdsVirtual hitter, XmdsVirtual attacker, AttackSource source,
- ref XmdsVirtual.AtkResult result, DamageType damageType, GameSkill skill, ref bool isEndDispatch)
- {
-
- if(CommonLang.CUtils.localTimeMS < mSkillAngerTime && skill != null)
- {
- hitter.Talent__Add(mValueSet8.GetValue(skill.SkillLevel, 3));
- }
- return damage;
- }
- protected override void OnSkillDataChange(GameSkill gs, XmdsVirtual unit)
- {
- base.OnSkillDataChange(gs, unit);
- var buff = unit.GetRegisBuffVirtual(Buff_ID) as XmdsBuff_MoveSpeedDown;
- buff.ChangePercent = mValueSet5.GetValue(GetBaseSpeedDownLv(gs), 1);
- var bt = unit.GetRegistBuff(Buff_ID);
- bt.LifeTimeMS = mValueSet5.GetValue(GetBaseSpeedDownLv(gs), 2);
- }
- protected override void OnSkillDamagePerEvent(BattleParams param)
- {
- param.SkillDamageAdd = mValueSet1.GetValue(param.GameSkill.SkillLevel, param.AtkProp.DamagePerID);
- param.SkillDamagePer = mValueSet1.GetValueExt(param.GameSkill.SkillLevel, param.AtkProp.DamagePerID);
- }
- protected virtual int GetBaseSpeedDownLv(GameSkill info)
- {
- return info.SkillLevel;
- }
- protected override void OnSkillLogicEvent(BattleParams param)
- {
-
- if(param.AtkProp.DamagePerID == 2)
- {
-
- param.Hitter.mUnit.AddBuff(Buff_ID, param.Attacker.mUnit);
- }
- }
- protected override void OnInitConfig()
- {
- XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
- InitData(data, out mValueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet);
-
- InitData(data, out mValueSet5, XmdsSkillData.XmdsSkillDataKey.ValueSet5);
-
- InitData(data, out mValueSet8, XmdsSkillData.XmdsSkillDataKey.ValueSet8);
- }
- }
- }
|