示例#1
0
        public int GetTotalDamage(AbstractSingleActor actor, ParsedEvtcLog log, AbstractSingleActor t, long start, long end)
        {
            FinalDPS damageData = actor.GetDPSStats(t, log, start, end);

            switch (_compareType)
            {
            case DamageType.All:
                return(_dmgSrc == DamageSource.All ? damageData.Damage : damageData.ActorDamage);

            case DamageType.Condition:
                return(_dmgSrc == DamageSource.All ? damageData.CondiDamage : damageData.ActorCondiDamage);

            case DamageType.Power:
                return(_dmgSrc == DamageSource.All ? damageData.PowerDamage : damageData.ActorPowerDamage);

            case DamageType.Strike:
                return(_dmgSrc == DamageSource.All ? damageData.StrikeDamage : damageData.ActorStrikeDamage);

            case DamageType.StrikeAndCondition:
                return(_dmgSrc == DamageSource.All ? damageData.StrikeDamage + damageData.CondiDamage : damageData.ActorStrikeDamage + damageData.ActorCondiDamage);

            case DamageType.StrikeAndConditionAndLifeLeech:
                return(_dmgSrc == DamageSource.All ? damageData.StrikeDamage + damageData.CondiDamage + damageData.LifeLeechDamage : damageData.ActorStrikeDamage + damageData.ActorCondiDamage + damageData.ActorLifeLeechDamage);

            default:
                throw new NotImplementedException("Not implemented damage type " + _compareType);
            }
        }
示例#2
0
        // DPS Stats

        public FinalDPS GetDPSStats(AbstractSingleActor target, ParsedEvtcLog log, long start, long end)
        {
            if (_dpsStats == null)
            {
                _dpsStats = new CachingCollectionWithTarget <FinalDPS>(log);
            }
            if (!_dpsStats.TryGetValue(start, end, target, out FinalDPS value))
            {
                value = new FinalDPS(log, start, end, this, target);
                _dpsStats.Set(start, end, target, value);
            }
            return(value);
        }
示例#3
0
        public int GetTotalDamage(Player p, ParsedEvtcLog log, NPC t, long start, long end)
        {
            FinalDPS damageData = p.GetDPSStats(t, log, start, end);

            switch (_compareType)
            {
            case DamageType.All:
                return(_dmgSrc == DamageSource.All ? damageData.Damage : damageData.ActorDamage);

            case DamageType.Condition:
                return(_dmgSrc == DamageSource.All ? damageData.CondiDamage : damageData.ActorCondiDamage);

            case DamageType.Power:
                return(_dmgSrc == DamageSource.All ? damageData.PowerDamage : damageData.ActorPowerDamage);
            }
            return(0);
        }
示例#4
0
        public int GetTotalDamage(Player p, ParsedEvtcLog log, NPC t, int phaseIndex)
        {
            FinalDPS damageData = p.GetDPSTarget(log, phaseIndex, t);

            switch (_compareType)
            {
            case DamageType.All:
                return(_dmgSrc == DamageSource.All ? damageData.Damage : damageData.ActorDamage);

            case DamageType.Condition:
                return(_dmgSrc == DamageSource.All ? damageData.CondiDamage : damageData.ActorCondiDamage);

            case DamageType.Power:
                return(_dmgSrc == DamageSource.All ? damageData.PowerDamage : damageData.ActorPowerDamage);
            }
            return(0);
        }