12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- using GameLogic.Combat.Buff;
- using GameLogic.Combat.CombatTool;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 异常转移
- ///后方功法对目标造成的异常状态有{0}%概率转移到下一个目标,不会来回转移
- /// </summary>
- public class S2015 : SkillBasic
- {
- protected override void ProActiveSkill()
- {
- CombatEventManager.Instance.AddEventListener(CombatEventType.AddBuff, AddBuff);
- }
- protected override void ProUseSkill()
- {
- }
- protected override void ProDispose()
- {
- CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddBuff, AddBuff);
- }
- private void AddBuff(IEventData iEventData)
- {
- BuffEventData buffEventData = iEventData as BuffEventData;
- if (buffEventData.source == CombatHeroEntity &&
- !buffEventData.addActionsType.HasFlag(AddActionsType.JianJie))
- {
- SkillBasic skillBasic = buffEventData.BuffInfo.source as SkillBasic;
- if (skillBasic != null && IsPassiveActivateSkill(skillBasic))
- {
- CombatHeroEntity[] allHero =
- CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy);
- if (allHero != null)
- {
- for (int i = 0; i < allHero.Length; i++)
- {
- if (allHero[i] != buffEventData.target)
- {
- BuffInfo buffInfo =
- BuffInfo.GetBuffInfo(buffEventData.id, buffEventData.addCount, this);
- allHero[i].BuffControl.AddBuff(CombatHeroEntity, buffInfo, AddActionsType.JianJie);
- }
- }
- }
- }
- }
- }
- }
- }
|