Пример #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);
            }
        }