1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- using CommonAI.Zone;
- using XmdsCommon.Plugin;
- using XmdsCommonServer.Plugin;
- using XmdsCommonServer.XLS.Data;
- namespace XmdsCommonSkill.Plugin.Skills.Priest
- {
- /// <summary>
- /// 强化圣洁护盾: 使圣洁护盾同时对范围20米内的最多x个队友生效.
- /// </summary>
- public class Priest_502050 : Priest_500050
- {
- /// <summary>
- /// 技能ID.
- /// </summary>
- public static new int ID = 502050;
- /// <summary>
- /// 最大数量.
- /// </summary>
- public static XmdsSkillValue MaxCount;
- /// <summary>
- /// 仇恨系数.
- /// </summary>
- public static new XmdsSkillValue ThreatValue;
- /// <summary>
- /// 给队友加的spellID.
- /// </summary>
- public static int SpellID = 502051;
- /// <summary>
- /// 获取技能ID.
- /// </summary>
- public override int SkillID
- {
- get
- {
- return ID;
- }
- }
- protected override void OnThreatValueEvent(BattleParams param)
- {
- param.ThreatValue = this.GetTargetFormulaValue(param.GameSkill.TalentSkillLevel, ThreatValue);
- }
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- //spell使用监听.
- unit.RegistTrySendSpellEvent(OnTrySendSpell, info);
- base.OnInit(info, unit, ref template);
- }
- protected void OnTrySendSpell(ref SpellTemplate spell, XmdsVirtual launcher)
- {
- if (spell.TemplateID == SpellID)
- {
- //获取技能等级,动态改变spell最大改变数量.
- int lv = launcher.SkillHelper.GetGameSkill(SkillID).TalentSkillLevel;
- spell.MaxAffectUnit = this.GetTargetFormulaValue(lv, MaxCount);
- }
- }
- protected override void OnInitSkillParam()
- {
- base.OnInitSkillParam();
- XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
- InitData(data, out MaxCount, XmdsSkillData.XmdsSkillDataKey.ValueSet);
- InitData(data, out ThreatValue, XmdsSkillData.XmdsSkillDataKey.HateRate);
- }
- }
- }
|