Exemplo n.º 1
0
 internal override void CheckMechanic(ParsedEvtcLog log, Dictionary <Mechanic, List <MechanicEvent> > mechanicLogs, Dictionary <int, AbstractSingleActor> regroupedMobs)
 {
     foreach (long mechanicID in MechanicIDs)
     {
         foreach (AgentItem a in log.AgentData.GetNPCsByID((int)mechanicID))
         {
             AbstractSingleActor amp = EnemyMechanicHelper.FindActor(log, a, regroupedMobs);
             if (amp != null)
             {
                 mechanicLogs[this].Add(new MechanicEvent(a.FirstAware, this, amp));
             }
         }
     }
 }
Exemplo n.º 2
0
 internal override void CheckMechanic(ParsedEvtcLog log, Dictionary <Mechanic, List <MechanicEvent> > mechanicLogs, Dictionary <int, AbstractSingleActor> regroupedMobs)
 {
     foreach (long mechanicID in MechanicIDs)
     {
         foreach (AgentItem a in log.AgentData.GetNPCsByID((int)mechanicID))
         {
             AbstractSingleActor actorToUse = EnemyMechanicHelper.FindActor(log, a, regroupedMobs);
             if (actorToUse != null)
             {
                 foreach (DeadEvent devt in log.CombatData.GetDeadEvents(a))
                 {
                     mechanicLogs[this].Add(new MechanicEvent(devt.Time, this, actorToUse));
                 }
             }
         }
     }
 }
        internal override void CheckMechanic(ParsedEvtcLog log, Dictionary <Mechanic, List <MechanicEvent> > mechanicLogs, Dictionary <int, AbstractSingleActor> regroupedMobs)
        {
            var list = new List <AbstractSingleActor>(log.FightData.Logic.Targets);

            list.AddRange(log.FightData.Logic.TrashMobs);
            foreach (AbstractSingleActor actor in list)
            {
                foreach (T c in GetEvents(log, actor.AgentItem))
                {
                    if (Keep(c, log))
                    {
                        AbstractSingleActor actorToUse = EnemyMechanicHelper.FindActor(log, actor.AgentItem, regroupedMobs);
                        // no need to null check, we are already iterating over an existing actor list
                        mechanicLogs[this].Add(new MechanicEvent(c.Time, this, actorToUse));
                    }
                }
            }
        }
Exemplo n.º 4
0
 internal override void CheckMechanic(ParsedEvtcLog log, Dictionary <Mechanic, List <MechanicEvent> > mechanicLogs, Dictionary <int, AbstractSingleActor> regroupedMobs)
 {
     foreach (long mechanicID in MechanicIDs)
     {
         foreach (AbstractHealthDamageEvent c in log.CombatData.GetDamageData(mechanicID))
         {
             AbstractSingleActor amp = null;
             if (Keep(c, log))
             {
                 amp = EnemyMechanicHelper.FindActor(log, c.From, regroupedMobs);
             }
             if (amp != null)
             {
                 mechanicLogs[this].Add(new MechanicEvent(c.Time, this, amp));
             }
         }
     }
 }
 internal override void CheckMechanic(ParsedEvtcLog log, Dictionary <Mechanic, List <MechanicEvent> > mechanicLogs, Dictionary <int, AbstractSingleActor> regroupedMobs)
 {
     foreach (long mechanicID in MechanicIDs)
     {
         foreach (AbstractBuffEvent c in log.CombatData.GetBuffData(mechanicID))
         {
             AbstractSingleActor amp = null;
             if (c is BuffApplyEvent ba && Keep(ba, log))
             {
                 amp = EnemyMechanicHelper.FindActor(log, ba.To, regroupedMobs);
             }
             if (amp != null)
             {
                 mechanicLogs[this].Add(new MechanicEvent(c.Time, this, amp));
             }
         }
     }
 }