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); } }
// 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); }
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); }
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); }