1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- using CommonAI.Zone;
- using CommonAI.Zone.Helper;
- using CommonAI.Zone.Instance;
- using CommonLang;
- using System;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator;
- using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;
- using XmdsCommonServer.XLS.Data;
- using XmdsCommonSkill.Plugin.Buffs;
- using XmdsCommonSkill.Plugin.PassiveSkills.Magic;
- using static CommonAI.Zone.Instance.InstanceUnit;
- using static XmdsCommonSkill.Plugin.Buffs.XmdsBuff_SwordShadow;
- namespace XmdsCommonSkill.Plugin.Skills.Magic
- {
- /// <summary>
- /// 突刺,命中禁锢,流血
- /// </summary>
- public class Skill_910030 : XmdsSkillBase
- {
- private static readonly int ID = 910030;
- public override int SkillID { get { return ID; } }
- private static readonly int Buff_JinGu = (int)XmdsBuffBase.XmdsBuffList.COM_JINGU; // 禁锢
- private static readonly int Buff_Bleed = (int)XmdsBuffBase.XmdsBuffList.COM_BRAND; // 流血
- private static XmdsSkillValue mJinGuTime;
- private static XmdsSkillValue mBleedDmg;
- private static XmdsSkillValue mBleedTime;
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- //禁锢buf
- XmdsBuffPack pack1 = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_JinGu);
- BuffTemplate bt1 = pack1.mBuffTemplate;
- bt1.IsHarmful = true;
- bt1.LifeTimeMS = mJinGuTime.GetValue();
- pack1.BindTemplateAndDispose();
- unit.RegistSendBuff(bt1);
- // 流血
- XmdsBuffPack pack2 = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_Bleed);
- var Buff2 = pack2.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.Brand) as XmdsBuff_Brand;
- BuffTemplate bt2 = pack2.mBuffTemplate;
- bt2.IsHarmful = true;
- bt2.LifeTimeMS = mBleedTime.GetValue();
- pack2.BindTemplateAndDispose();
- unit.RegistSendBuff(bt2);
- }
- protected override void OnSkillLogicEvent(BattleParams param)
- {
- param.UseDamageType = CommonAI.Data.DamageType.None;
- var bleedBuff = param.Attacker.GetRegisBuffVirtual(Buff_Bleed) as XmdsBuff_Brand;
- int baseDamage = CUtils.CastInt(param.Attacker.MirrorProp.GetFinalAttack(param.Hitter.mUnit.IsMonster) * XmdsUnitProp.PER * mBleedDmg.GetValue());
- bleedBuff.BuffValue = XmdsDamageCalculator.GetDamage(baseDamage, param.Attacker, param.Hitter, param.Source);
- param.Hitter.mUnit.AddBuff(Buff_JinGu, param.Attacker.mUnit);
- param.Hitter.mUnit.AddBuff(Buff_Bleed, param.Attacker.mUnit);
- }
- protected override void OnInitSkillParam()
- {
- XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
- InitData(data, out mJinGuTime, XmdsSkillData.XmdsSkillDataKey.ValueSet);
- InitData(data, out mBleedDmg, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
- InitData(data, out mBleedTime, XmdsSkillData.XmdsSkillDataKey.ValueSet3);
- }
- }
- }
|