123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- 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 - 3 - 水火无情-水(场地中召唤大量随机出现的红蓝圈圈,给命中玩家分别施加火标记和水标记,
- /// 水标记玩家不能被红圈命中,火标记玩家不能被篮圈命中,否则以该玩家为中心释放一次高额AOE伤害)
- /// </summary>
- public class Boss_90313 : XmdsSkillBase
- {
- private static int ID = 90313;
- public static int Buff_WATER = (int)XmdsBuffBase.XmdsBuffList.TAG_WATER;
- public static XmdsSkillValue damageValue1; // 伤害系数1
- public static XmdsSkillValue damageValue2; // 伤害系数2
- public static XmdsSkillValue tagBuffTime; // Buff时间
- public override int SkillID { get { return ID; } }
- protected override void OnInit(GameSkill info, XmdsVirtual unit, ref SkillTemplate template)
- {
- XmdsBuffPack pack1 = XmdsBuffFactory.GetInstance().GetXmdsBuffPack(Buff_WATER);
- BuffTemplate bt1 = pack1.mBuffTemplate;
- bt1.IsHarmful = true;
- bt1.LifeTimeMS = tagBuffTime.GetValue();
- pack1.BindTemplateAndDispose();
- unit.RegistSendBuff(bt1);
- }
- //伤害计算
- protected override void OnSkillDamagePerEvent(BattleParams param)
- {
- if (param.Hitter.mUnit.GetBuffByID(Boss_90313.Buff_WATER) == null &&
- param.Hitter.mUnit.GetBuffByID(Boss_90314.Buff_FIRE) == null)
- {
- param.SkillDamagePer = damageValue2.GetValue();
- param.Hitter.mUnit.removeBuff(Boss_90313.Buff_WATER);
- param.Hitter.mUnit.removeBuff(Boss_90314.Buff_FIRE);
- }
- else
- {
- param.SkillDamagePer = damageValue1.GetValue();
- }
- param.Hitter.mUnit.AddBuff(Boss_90313.Buff_WATER, param.Attacker.mUnit);
- }
- protected override void OnSkillLogicEvent(BattleParams param)
- {
- param.Hitter.mUnit.AddBuff(Buff_WATER, param.Attacker.mUnit);
- }
- protected override void OnInitSkillParam()
- {
- XmdsSkillData data = XmdsDataMgr.GetInstance().GetXmdsSkillData(ID);
- InitData(data, out damageValue1, XmdsSkillData.XmdsSkillDataKey.DmgRate);
- InitData(data, out damageValue2, XmdsSkillData.XmdsSkillDataKey.ValueSet);
- InitData(data, out tagBuffTime, XmdsSkillData.XmdsSkillDataKey.ValueSet2);
- }
- }
- }
|