123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- using CommonAI.Zone;
- using CommonAI.Zone.Helper;
- using CommonAI.Zone.Instance;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using XmdsCommonServer.XLS.Data;
- using XmdsCommonSkill.Plugin.Buffs;
- using XmdsCommonSkill.Plugin.Interface;
- namespace XmdsCommonSkill.Plugin.Skills.Magic
- {
- /// <summary>
- /// 法师五技能 :基类
- /// 在自身周围召唤仙剑围绕自身旋转一圈后飞向目标区域,对从上往下对目标区域进行轰炸,
- /// 每0.5秒造成100%伤害,持续5秒,期间不可移动,持续施法,可被打断
- /// </summary>
- public class Magic_310500 : XmdsSkillBase
- {
- /// 技能ID.
- private static readonly int ID = 310500;
- public override int SkillID { get { return ID; } }
- //伤害:基础值_百分百
- public XmdsSkillValue mValueSet1;
- //剑气层数初始伤害, 初始法术id, 剑气层数附加伤害1, 替换法术id1,剑气层数附加伤害2, 替换法术id2,剑气层数附加伤害4, 替换法术id4
- public XmdsSkillValue mValueSet8;
- protected byte mLaunchTalentLv;
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- unit.RegistSendSpellOverEvent(OnSendSpellOverEvent, this.SkillID, info);
- unit.RegistLaunchSkillOver(OnLaunchSkillOver, info, false);
- }
- //释放技能的时候,清空剑气值和剑气能量
- private int OnLaunchSkillOver(GameSkill info, XmdsCommonServer.Plugin.XmdsVirtual launcher, CommonAI.Zone.Instance.InstanceUnit.SkillState skill)
- {
- PlayerCache_Magic magicCache = launcher.GetPlayerCache() as PlayerCache_Magic;
- if(magicCache != null)
- {
- this.mLaunchTalentLv = launcher.GetPlayerCache().GetTalentLv();
- magicCache.ReSet();
- }
- return 0;
- }
- private void OnSendSpellOverEvent(LaunchSpell launch, XmdsVirtual launcher, SpellTemplate spell, GameSkill skill, float startX, float startY)
- {
- if(launcher.GetPlayerCache() == null)
- {
- return;
- }
- LaunchSpell launchSpell = ComSpellTemplate.Instance().GetSpellBySpellID(mValueSet8.GetValue(skill.SkillLevel, this.mLaunchTalentLv * 2 + 2));
- launcher.mUnit.Parent.unitLaunchSpell(XmdsSkillType.none, launcher.mUnit, launchSpell, startX, startY);
- }
- protected override void OnSkillDamagePerEvent(BattleParams param)
- {
- param.SkillDamageAdd = mValueSet1.GetValue(param.GameSkill.SkillLevel);
- param.SkillDamagePer = mValueSet1.GetValueExt(param.GameSkill.SkillLevel);
- param.SkillDamagePer += mValueSet8.GetValue(param.GameSkill.SkillLevel, this.mLaunchTalentLv * 2 + 1);
- }
- protected override void OnInitConfig()
- {
- XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
- InitData(data, out mValueSet1, XmdsSkillData.XmdsSkillDataKey.ValueSet);
- InitData(data, out mValueSet8, XmdsSkillData.XmdsSkillDataKey.ValueSet8);
- }
- }
- }
|