| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- using Common.Utility.CombatEvent;
 
- using Fort23.Core;
 
- using GameLogic.Combat.Buff;
 
- using GameLogic.Combat.CombatTool;
 
- using GameLogic.Combat.Hero;
 
- namespace GameLogic.Combat.Skill
 
- {
 
-     /// <summary>
 
-     /// 血祭神通
 
-     /// 所有流血状态照成的伤害会转换成充能值,2圈后对全体敌人造成{0}%充能值的伤害
 
-     /// </summary>
 
-     public class S2011 : SkillBasic
 
-     {
 
-         private long addHarm;
 
-         protected override void ProUseSkill()
 
-         {
 
-         }
 
-         protected override void ProActiveSkill()
 
-         {
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.TriggerSkillSlots, TriggerSkillSlots);
 
-         }
 
-         protected override void ProDispose()
 
-         {
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.TriggerSkillSlots, TriggerSkillSlots);
 
-         }
 
-         private void TriggerSkillSlots(IEventData ieventData)
 
-         {
 
-             TriggerSkillSlotsEventData triggerSkillSlotsEventData = ieventData as TriggerSkillSlotsEventData;
 
-             if (triggerSkillSlotsEventData.SkillBasic == this && addHarm > 0)
 
-             {
 
-                 long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(addHarm, effectValue[0]);
 
-                 if (v > 0)
 
-                 {
 
-                     
 
-                     CombatHeroEntity[] allHero =
 
-                         CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy,out int maxCount);
 
-                     for (int i = 0; i <  maxCount; i++)
 
-                     {
 
-                         HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, allHero[i],
 
-                             v,
 
-                             AttType.Skill, triggerData,
 
-                             wuXingType, null,
 
-                             HarmType.Default);
 
-                     }
 
-                 }
 
-                 addHarm = 0;
 
-             }
 
-         }
 
-         private void HeroInjured(IEventData ieventData)
 
-         {
 
-             HeroInjuredEventData heroInjuredEventData = ieventData as HeroInjuredEventData;
 
-             b_1011 b1011 = heroInjuredEventData.HarmReturnInfo.triggerData.Source as b_1011;
 
-             b_1012 b1012 = heroInjuredEventData.HarmReturnInfo.triggerData.Source as b_1012;
 
-           
 
-             if ((b1011 == null && b1012 == null))
 
-             {
 
-                 return;
 
-             }
 
-             if(b1011!= null &&  b1011.Source != CombatHeroEntity)
 
-             {
 
-               return;
 
-             }
 
-             if (b1012 != null && b1012.Source != CombatHeroEntity)
 
-             {
 
-                 return;
 
-             }
 
-           
 
-           
 
-             long harm = heroInjuredEventData.HarmReturnInfo.att;
 
-             addHarm += harm;
 
-         }
 
-     }
 
- }
 
 
  |