1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- using CommonAI.Zone;
- using CommonAI.Zone.Formula;
- 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.PassiveSkills.Magic;
- using static CommonAI.Zone.Instance.InstanceUnit;
- namespace XmdsCommonSkill.Plugin.Skills.Boss
- {
- /// <summary>
- /// boss - 2 - 振奋(召唤一片灵气区域,在灵气区域内BOSS和小兵的攻防增加)
- /// </summary>
- public class Boss_90310 : XmdsSkillBase
- {
- private static int ID = 90310;
- private static int Buff_ID = (int)XmdsBuffBase.XmdsBuffList.PROP_CHANGE_2;
- public static XmdsSkillValue defenceValue; // 防御提升系数
- public static XmdsSkillValue attackValue; // 攻击提升系数
- public static XmdsSkillValue buffTime; // buff时间
- public override int SkillID { get { return ID; } }
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- XmdsBuffPack pack = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_ID);
- //攻击
- XmdsBuff_PropChange buff = (XmdsBuff_PropChange)pack.GetXmdsBuff(0);
- buff.CurentChangeType = XmdsVirtual.UnitAttributeType.Attack;
- buff.CurrentValue = attackValue.GetValue();
- buff.IsPercent = true;
- //防御
- XmdsBuff_PropChange buff1 = (XmdsBuff_PropChange)pack.GetXmdsBuff(1);
- buff1.CurentChangeType = XmdsVirtual.UnitAttributeType.Defence;
- buff1.CurrentValue = defenceValue.GetValue();
- buff1.IsPercent = true;
- BuffTemplate bt = pack.mBuffTemplate;
- pack.BindTemplateAndDispose();
- bt.IsHarmful = true;
- bt.LifeTimeMS = buffTime.GetValue();
- unit.RegistSendBuff(bt);
- }
- protected override void OnSkillLogicEvent(BattleParams param)
- {
- param.UseDamageType = CommonAI.Data.DamageType.None;
- param.Hitter.mUnit.AddBuff(Buff_ID, param.Attacker.mUnit);
- }
- protected override void OnInitSkillParam()
- {
- XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
- InitData(data, out defenceValue, XmdsSkillData.XmdsSkillDataKey.DmgRate);
- InitData(data, out attackValue, XmdsSkillData.XmdsSkillDataKey.ValueSet);
- InitData(data, out buffTime, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
- }
- }
- }
|