123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- using CommonAI.Zone;
- using CommonAI.Zone.Helper;
- using CommonAI.Zone.Instance;
- using CommonLang;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using XmdsCommonServer.Plugin.XmdsSkillTemplate.DamageCalculator;
- using XmdsCommonServer.XLS.Data;
- using XmdsCommonSkill.Plugin.Buffs;
- namespace XmdsCommonSkill.Plugin.Skills.Warrior
- {
- /// 三技能:3-5(产生一条火焰路径(同样会随着蓄力状态增长),存在T秒,在路径上敌人移动速度降低更多并受到持续伤害(防御力系数),离开路径立刻消失(9.5*3.5) 额外:自己在此路径上移速提升n%)
- public class Warrior_110350 : Warrior_110340
- {
- private static readonly int ID = 110350;
- public override int SkillID { get { return ID; } }
- private static readonly int Buff_SpeedUp = (int)XmdsBuffBase.XmdsBuffList.ZS_SPEEDUP_3_5;
- //伤害-防御系数, 自己加速时间,自己加速效果,替换基础的减速比例,替换基础的减速时间
- protected XmdsSkillValue mValueSet3;
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- base.OnInit(info, unit, ref template);
- //自己额外意思提升
- XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_SpeedUp);
- var buff = pack.GetXmdsBuff(XmdsBuffProperties.XmdsBuffAbility.PropChange) as XmdsBuff_PropChange;
- buff.CurentChangeType = XmdsVirtual.UnitAttributeType.MoveSpeed;
- buff.IsPercent = true;
- buff.CurrentValue = mValueSet3.GetValue(info.TalentSkillLevel2, 2);
- BuffTemplate bt = pack.mBuffTemplate;
- bt.IsHarmful = false;
- bt.LifeTimeMS = mValueSet3.GetValue(info.TalentSkillLevel2, 3);
- pack.BindTemplateAndDispose();
- unit.RegistSendBuff(bt);
- }
- //获取基础减速效果-减速值
- public override int GetBaseSpeedDownValue(GameSkill info)
- {
- return mValueSet3.GetValue(info.TalentSkillLevel2, 4);
- }
- //获取基础减速效果-减速时间
- public override int GetBaseSpeedDownTime(GameSkill info)
- {
- return mValueSet3.GetValue(info.TalentSkillLevel2, 5);
- }
- protected override void OnSkillDataChange(GameSkill gs, XmdsVirtual unit)
- {
- base.OnSkillDataChange(gs, unit);
- var bt = unit.GetRegistBuff(Buff_SpeedUp);
- bt.LifeTimeMS = mValueSet3.GetValue(gs.TalentSkillLevel2, 3);
- var buff = unit.GetRegisBuffVirtual(Buff_SpeedUp) as XmdsBuff_PropChange;
- buff.CurrentValue = mValueSet3.GetValue(gs.TalentSkillLevel2, 2);
- }
- protected override bool OnSkillFinalDamageModifyEvent(BattleParams param)
- {
- if (param.Attacker == param.Hitter)
- {
- if (param.AtkProp.DamagePerID == 2)
- {
- //给自己加个加速buff
- param.Attacker.mUnit.AddBuff(Buff_SpeedUp);
- }
- return true;
- }
-
- // 花式玩法,特殊的法术,又是根据防御来算伤害的
- if (param.AtkProp.DamagePerID == 2)
- {
- int hpValue = CUtils.CastInt(param.Attacker.MirrorProp.Defence * XmdsUnitProp.PER * mValueSet3.GetValue(param.GameSkill.TalentSkillLevel2, 1));
- param.HitDamge = XmdsDamageCalculator.GetDamage(hpValue, param.Attacker, param.Hitter, param.Source);
- return true;
- }
- return false;
- }
- protected override void OnInitConfig()
- {
- XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
- InitData(data, out mValueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet);
- InitData(data, out mValueSet2, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
- InitData(data, out mValueSet3, XmdsSkillData.XmdsSkillDataKey.ValueSet3);
- // 基础-减速数值
- InitData(data, out mValueSet5, XmdsSkillData.XmdsSkillDataKey.ValueSet5);
- //蓄力技能规则
- InitData(data, out mValueSet8, XmdsSkillData.XmdsSkillDataKey.ValueSet8);
- }
- }
- }
|