1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- using CommonAI.Zone;
- using CommonAI.Zone.Helper;
- using CommonAI.Zone.Instance;
- using System.Diagnostics;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using XmdsCommonServer.Plugin.XmdsSkillTemplate.Skills;
- using XmdsCommonServer.XLS.Data;
- using XmdsCommonSkill.Plugin.Buffs;
- namespace XmdsCommonSkill.Plugin.Skills.Magic
- {
- /// <summary>
- /// 法师三技能:3-6(释放技能后获得剑魂,下次攻击会召唤数柄仙剑从空中四面八方刺向目标,对目标造成伤害,对目标周围圆形范围敌人造成少量伤害)
- /// </summary>
- public class Magic_310360 : Magic_310350
- {
- private static readonly int ID = 310360;
- public override int SkillID { get { return ID; } }
- protected static readonly int BuffID_3_6 = (int)XmdsBuffBase.XmdsBuffList.FS_BUFF_3_6;
- //3-6自己经过寒霜加速,加攻,N秒
- public XmdsSkillValue mValueSet4;
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- base.OnInit(info, unit, ref template);
- XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(BuffID_3_6);
- //攻击
- XmdsBuff_PropChange buff = (XmdsBuff_PropChange)pack.GetXmdsBuff(0);
- buff.CurentChangeType = XmdsVirtual.UnitAttributeType.MoveSpeed;
- buff.CurrentValue = mValueSet4.GetValue(info.TalentSkillLevel3, 1);
- buff.IsPercent = true;
- //攻速
- XmdsBuff_PropChange buff1 = (XmdsBuff_PropChange)pack.GetXmdsBuff(1);
- buff1.CurentChangeType = XmdsVirtual.UnitAttributeType.Attack;
- buff1.CurrentValue = mValueSet4.GetValue(info.TalentSkillLevel3, 2);
- buff1.IsPercent = true;
- BuffTemplate bt = pack.mBuffTemplate;
- bt.IsHarmful = true;
- bt.LifeTimeMS = mValueSet4.GetValue(info.TalentSkillLevel3, 3);
- pack.BindTemplateAndDispose();
- unit.RegistSendBuff(bt);
- }
- protected override void OnSkillDataChange(GameSkill gs, XmdsVirtual unit)
- {
- base.OnSkillDataChange(gs, unit);
- var buff1 = unit.GetRegisBuffVirtual(BuffID_3_6, 0) as XmdsBuff_PropChange;
- buff1.CurrentValue = mValueSet4.GetValue(gs.TalentSkillLevel3, 1);
- var buff2 = unit.GetRegisBuffVirtual(BuffID_3_6, 1) as XmdsBuff_PropChange;
- buff2.CurrentValue = mValueSet4.GetValue(gs.TalentSkillLevel3, 2);
- var bt1 = unit.GetRegistBuff(BuffID_3_6);
- bt1.LifeTimeMS = mValueSet4.GetValue(gs.TalentSkillLevel3, 3);
- }
- protected override void OnSkillLogicEvent(BattleParams param)
- {
- base.OnSkillLogicEvent(param);
- if(param.Attacker.mUnit == param.Hitter.mUnit)
- {
- param.UseDamageType = CommonAI.Data.DamageType.None;
- param.Attacker.mUnit.AddBuff(BuffID_3_6);
- }
- }
- 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 mValueSet4, XmdsSkillData.XmdsSkillDataKey.ValueSet4);
- // 扩展配置
- InitData(data, out mValueSet5, XmdsSkillData.XmdsSkillDataKey.ValueSet5);
- InitData(data, out mValueSet6, XmdsSkillData.XmdsSkillDataKey.ValueSet6);
- InitData(data, out mValueSet7, XmdsSkillData.XmdsSkillDataKey.ValueSet7);
- }
- }
- }
|