| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | 
							- using Common.Utility.CombatEvent;
 
- using Fort23.Core;
 
- using GameLogic.Combat.Buff;
 
- using GameLogic.Combat.CombatTool;
 
- namespace GameLogic.Combat.Skill
 
- {
 
-     /// <summary>
 
-     /// 毒爆
 
-     ///后方功法击中目标后,如果目标升上有{0}层毒时对目标照成20%伤害,并对周围的敌人照成等额伤害
 
-     /// </summary>
 
-     public class S2014 : SkillBasic
 
-     {
 
-         protected override void ProActiveSkill()
 
-         {
 
-             CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjured);
 
-         }
 
-         protected override void ProDispose()
 
-         {
 
-             CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjured);
 
-         }
 
-         private void HeroInjured(IEventData iEventData)
 
-         {
 
-             HeroInjuredEventData heroInjuredEventData = iEventData as HeroInjuredEventData;
 
-             if (heroInjuredEventData.HarmReturnInfo.source == CombatHeroEntity &&
 
-                 heroInjuredEventData.HarmReturnInfo.isHitHero)
 
-             {
 
-                 SkillBasic skillBasic = heroInjuredEventData.HarmReturnInfo.triggerData.Source as SkillBasic;
 
-                 if (skillBasic != null && IsPassiveActivateSkill(skillBasic))
 
-                 {
 
-                     CombatHeroEntity target =
 
-                         heroInjuredEventData.HarmReturnInfo.target.combatHeroEntity as CombatHeroEntity;
 
-                     b_1003 b1003 = target.BuffControl.GetBuffBasicForType<b_1003>();
 
-                     if (b1003 != null && b1003.buffCount >= effectValue[0])
 
-                     {
 
-                         long harm = heroInjuredEventData.HarmReturnInfo.att;
 
-                         long v = CombatCalculateTool.Instance.GetVlaueRatioForLong(harm, effectValue[1]);
 
-                         HarmReturnInfo harmReturnInfo = CombatCalculateTool.Instance.Harm(CombatHeroEntity, target,
 
-                             v,
 
-                             AttType.Skill | AttType.JianJie, triggerData,
 
-                             wuXingType, null,
 
-                             HarmType.Default);
 
-                         long v2 = CombatCalculateTool.Instance.GetVlaueRatioForLong(v, effectValue[2]);
 
-                         CombatHeroEntity[] allHero =
 
-                             CombatController.currActiveCombat.CombatHeroController.GetHero(!CombatHeroEntity.IsEnemy,out int maxCount);
 
-                         if (allHero == null)
 
-                         {
 
-                             return;
 
-                         }
 
-                         for (int i = 0; i < maxCount; i++)
 
-                         {
 
-                             if (allHero[i] == target)
 
-                             {
 
-                                 continue;
 
-                             }
 
-                             CombatCalculateTool.Instance.Harm(CombatHeroEntity, allHero[i],
 
-                                 v2,
 
-                                 AttType.Skill | AttType.JianJie, triggerData,
 
-                                 wuXingType, null,
 
-                                 HarmType.Default);
 
-                         }
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         protected override void ProUseSkill()
 
-         {
 
-         }
 
-     }
 
- }
 
 
  |