12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
-
- using CommonAI.Zone;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using XmdsCommonSkill.Plugin.Buffs;
- using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;
- using XmdsCommonServer.XLS.Data;
- using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator;
- using CommonLang;
- namespace XmdsCommonSkill.Plugin.Skills.Assassin
- {
- /// <summary>
- /// 涂毒: 使毁伤攻击时,额外对敌人在x秒内造成共计x倍物攻的毒伤害.
- /// </summary>
- public class Assassin_201010 : Assassin_200010
- {
- public static new int ID = 201010;
- public static int Buff_2 = (int)XmdsBuffBase.XmdsBuffList.DU_SHANG;
- public static XmdsSkillValue Buff_2_Value;
- public override int SkillID { get { return ID; } }
- protected override void OnSkillLogicEvent(BattleParams param)
- {
- addLianJiDian(param);
- BuffTemplate bt = param.Attacker.GetRegistBuff(Buff_2);
- bt.LifeTimeMS = 5000;
- UnitBuff ub = param.Attacker.GetRegisBuffVirtual(Buff_2);
- XmdsBuff_Bleed buff = ub as XmdsBuff_Bleed;
- int t = this.GetTargetFormulaValue(param.Attacker.SkillHelper.GetGameSkill(SkillID).TalentSkillLevel1, Buff_2_Value);
- t = CUtils.CastInt(t / XmdsDamageCalculator.PERER * param.Attacker.MirrorProp.BaseAttack);
- t = XmdsDamageCalculator.GetDamage(t, param.Attacker, param.Hitter, param.Source); // 参与物防计算
- buff.ChangeValue = t / (bt.LifeTimeMS / 1000);
- param.Hitter.mUnit.AddBuff(Buff_2, param.Attacker.mUnit);
- }
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- //技能技能初始化,常用作为修改BUFF能力等等.
- XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_1);
- BuffTemplate bt = pack.mBuffTemplate;
- bt.IsHarmful = false;
- pack.BindTemplateAndDispose();
- unit.RegistSendBuff(bt);
- //多段伤害实现.
- pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_2);
- XmdsBuff_Bleed buff = (XmdsBuff_Bleed)pack.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.Bleed);
- bt = pack.mBuffTemplate;
- bt.IsHarmful = true;
- pack.BindTemplateAndDispose();
- unit.RegistSendBuff(bt);
- }
- protected override void OnInitSkillParam()
- {
- base.OnInitSkillParam();
- XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
- InitData(data, out Buff_2_Value, XmdsSkillData.XmdsSkillDataKey.ValueSet);
- }
- }
- }
|