Пример #1
0
 internal override void CheckMechanic(ParsedEvtcLog log, Dictionary <Mechanic, List <MechanicEvent> > mechanicLogs, Dictionary <int, AbstractSingleActor> regroupedMobs)
 {
     foreach (Player p in log.PlayerList)
     {
         IReadOnlyList <AbstractHealthDamageEvent> combatitems = p.GetDamageTakenEvents(null, log, 0, log.FightData.FightEnd);
         foreach (AbstractHealthDamageEvent c in combatitems)
         {
             if (MechanicIDs.Contains(c.SkillId) && Keep(c, log))
             {
                 mechanicLogs[this].Add(new MechanicEvent(c.Time, this, p));
             }
         }
     }
 }
Пример #2
0
 private AbstractHealthDamageEvent GetFirstHit(AgentItem src, ParsedEvtcLog log)
 {
     if (!_firstHits.TryGetValue(src, out AbstractHealthDamageEvent evt))
     {
         AbstractHealthDamageEvent res = log.CombatData.GetDamageData(src).Where(x => MechanicIDs.Contains(x.SkillId) && x.To.Type == AgentItem.AgentType.Player && base.Keep(x, log)).FirstOrDefault();
         _firstHits[src] = res;
         return(res);
     }
     return(evt);
 }