1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- using Common.Utility.CombatEvent;
- using Fort23.Core;
- using GameLogic.Combat.Buff;
- using GameLogic.Combat.CombatTool;
- namespace GameLogic.Combat.Skill
- {
- /// <summary>
- /// 星辰之力打中敌人后,为期注入星辰印记,在星辰道结束时结算,没3层印记受到20%伤害
- /// </summary>
- public class S60105 : SkillBasic
- {
- private DS60101 ds60101;
- protected override void ProActiveSkill()
- {
- ds60101 = CombatHeroEntity.CombatHeroSkillControl.GetSkillBasic<DS60101>();
- ds60101.OnSkillActivefinish += OnSkillActivefinish;
- CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
- }
- private void OnSkillActivefinish()
- {
- CombatHeroEntity[] allHero =
- CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy);
- for (int i = 0; i < allHero.Length; i++)
- {
- CombatHeroEntity combatHeroEntity = allHero[i];
- b_1024 b1024 = combatHeroEntity.BuffControl.GetBuffBasicForType<b_1024>();
- if (b1024 != null)
- {
- b1024.Trigger(CombatHeroEntity);
- combatHeroEntity.BuffControl.RemoveBuff(b1024);
- }
- }
- }
- private void HeroInjured(IEventData iEventData)
- {
- if (ds60101 == null || !ds60101.isSkillActive)
- {
- return;
- }
- // SkillFeaturesData mySkillFeaturesData = null;
- HeroInjuredEventData heroInjuredEventData = iEventData as HeroInjuredEventData;
- if (heroInjuredEventData.HarmReturnInfo.source == CombatHeroEntity &&
- heroInjuredEventData.HarmReturnInfo.isHitHero)
- {
- S60104 s60104 = heroInjuredEventData.HarmReturnInfo.triggerData.Source as S60104;
- if (s60104 != null)
- {
- BuffInfo buffInfo = BuffInfo.GetBuffInfo(10241, -1, 1);
- heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity.BuffControl.AddBuff(CombatHeroEntity,
- buffInfo);
- }
- }
- }
- protected override void ProDispose()
- {
- ds60101.OnSkillActivefinish -= OnSkillActivefinish;
- CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
- }
- protected override void ProUseSkill()
- {
- }
- }
- }
|