public static void ExecuteReactionHitsWithExtraFlagsOnActorAux(
     Dictionary <ActorData, ClientActorHitResults> actorToHitResults,
     ActorData targetActor,
     ActorData caster,
     bool hasDamage,
     bool hasHealing)
 {
     foreach (KeyValuePair <ActorData, ClientActorHitResults> actorToHitResult in actorToHitResults)
     {
         ActorData             key = actorToHitResult.Key;
         ClientActorHitResults clientActorHitResults = actorToHitResult.Value;
         if (!clientActorHitResults.ExecutedHit && key == targetActor)
         {
             clientActorHitResults.ExecuteReactionHitsWithExtraFlagsOnActor(targetActor, caster, hasDamage,
                                                                            hasHealing);
         }
     }
 }
        public static bool HasUnexecutedHitOnActor(
            ActorData targetActor,
            Dictionary <ActorData, ClientActorHitResults> actorToHitResults)
        {
            bool flag = false;

            foreach (KeyValuePair <ActorData, ClientActorHitResults> actorToHitResult in actorToHitResults)
            {
                ClientActorHitResults clientActorHitResults = actorToHitResult.Value;
                if (!clientActorHitResults.ExecutedHit && actorToHitResult.Key.ActorIndex == targetActor.ActorIndex ||
                    clientActorHitResults.HasUnexecutedReactionOnActor(targetActor))
                {
                    flag = true;
                    break;
                }
            }

            return(flag);
        }