コード例 #1
0
        public static List <List <object> > BuildOutgoingHealingStatData(ParsedEvtcLog log, PhaseData phase)
        {
            var list = new List <List <object> >(log.Friendlies.Count);

            foreach (AbstractSingleActor actor in log.Friendlies)
            {
                EXTFinalOutgoingHealingStat outgoingHealingStats = actor.EXTHealing.GetOutgoingHealStats(null, log, phase.Start, phase.End);
                list.Add(GetOutgoingHealingStatData(outgoingHealingStats));
            }
            return(list);
        }
コード例 #2
0
        // helper methods

        private static List <object> GetOutgoingHealingStatData(EXTFinalOutgoingHealingStat outgoingHealingStats)
        {
            var data = new List <object>
            {
                outgoingHealingStats.Healing,
                outgoingHealingStats.HealingPowerHealing + outgoingHealingStats.HybridHealing,
                outgoingHealingStats.ConversionHealing,
                //outgoingHealingStats.HybridHealing,
                outgoingHealingStats.DownedHealing,
            };

            return(data);
        }
        private static EXTHealingStatsHealingDistributionDto BuildHealingDistDataMinionsInternal(ParsedEvtcLog log, EXTFinalOutgoingHealingStat outgoingHealingStats, Minions minions, AbstractSingleActor target, PhaseData phase, Dictionary <long, SkillItem> usedSkills, Dictionary <long, Buff> usedBuffs)
        {
            var dto = new EXTHealingStatsHealingDistributionDto();
            IReadOnlyList <AbstractCastEvent>       casting     = minions.GetIntersectingCastEvents(log, phase.Start, phase.End);
            IReadOnlyList <EXTAbstractHealingEvent> healingLogs = minions.EXTHealing.GetOutgoingHealEvents(target, log, phase.Start, phase.End);

            dto.ContributedHealing = healingLogs.Sum(x => x.HealingDone);
            dto.TotalHealing       = outgoingHealingStats.Healing;
            dto.TotalCasting       = casting.Sum(cl => Math.Min(cl.EndTime, phase.End) - Math.Max(cl.Time, phase.Start));
            dto.Distribution       = BuildHealingDistBodyData(log, casting, healingLogs, usedSkills, usedBuffs, phase);
            return(dto);
        }
        public static EXTHealingStatsHealingDistributionDto BuildFriendlyMinionHealingDistData(ParsedEvtcLog log, AbstractSingleActor actor, Minions minions, AbstractSingleActor target, PhaseData phase, Dictionary <long, SkillItem> usedSkills, Dictionary <long, Buff> usedBuffs)
        {
            EXTFinalOutgoingHealingStat outgoingHealingStats = actor.EXTHealing.GetOutgoingHealStats(target, log, phase.Start, phase.End);

            return(BuildHealingDistDataMinionsInternal(log, outgoingHealingStats, minions, target, phase, usedSkills, usedBuffs));
        }
コード例 #5
0
        internal static EXTJsonHealingStatistics.EXTJsonOutgoingHealingStatistics BuildOutgoingHealingStatistics(EXTFinalOutgoingHealingStat stats)
        {
            return(new EXTJsonHealingStatistics.EXTJsonOutgoingHealingStatistics()
            {
                ConversionHealing = stats.ConversionHealing,
                ConversionHps = stats.ConversionHps,
                Healing = stats.Healing,
                HealingPowerHealing = stats.HealingPowerHealing,
                HealingPowerHps = stats.HealingPowerHps,
                Hps = stats.Hps,
                HybridHealing = stats.HybridHealing,
                HybridHps = stats.HybridHps,
                DownedHealing = stats.DownedHealing,
                DownedHps = stats.DownedHps,

                ActorConversionHealing = stats.ActorConversionHealing,
                ActorConversionHps = stats.ActorConversionHps,
                ActorHealing = stats.ActorHealing,
                ActorHealingPowerHealing = stats.ActorHealingPowerHealing,
                ActorHealingPowerHps = stats.ActorHealingPowerHps,
                ActorHps = stats.ActorHps,
                ActorHybridHealing = stats.ActorHybridHealing,
                ActorHybridHps = stats.ActorHybridHps,
                ActorDownedHealing = stats.ActorDownedHealing,
                ActorDownedHps = stats.ActorDownedHps,
            });
        }