Пример #1
0
        public static string GetFightCharacterDamageTakenTooltip(this FightCharacter fightCharacter,
                                                                 string title, int displayIndex, double?percentOfTotal, double?percentOfMax)
        => $@"{displayIndex}. {title}

{fightCharacter.TotalDamageTaken:N0} total dmg
{percentOfTotal.FormatPercent()} of fight's total dmg
{percentOfMax.FormatPercent()} of fight's max dmg

{fightCharacter.WeaponDamageTakenPM.Format()} ({fightCharacter.WeaponPercentOfTotalDamageTaken.FormatPercent()}) weapon dmg / min
{fightCharacter.NanoDamageTakenPM.Format()} ({fightCharacter.NanoPercentOfTotalDamageTaken.FormatPercent()}) nano dmg / min
{fightCharacter.IndirectDamageTakenPM.Format()} ({fightCharacter.IndirectPercentOfTotalDamageTaken.FormatPercent()}) indirect dmg / min
{(!fightCharacter.HasCompleteAbsorbedDamageTakenStats ? "≥ " : "")}{fightCharacter.AbsorbedDamageTakenPM.Format()} ({fightCharacter.AbsorbedPercentOfTotalDamageTaken.FormatPercent()}) absorbed dmg / min
{fightCharacter.TotalDamageTakenPM.Format()} total dmg / min

{(!fightCharacter.HasCompleteMissStats ? "≤ " : "")}{fightCharacter.WeaponHitTakenChance.FormatPercent()} weapon hit chance
  {fightCharacter.CritTakenChance.FormatPercent()} crit chance
  {fightCharacter.GlanceTakenChance.FormatPercent()} glance chance"
        + (!fightCharacter.Fight.HasObservedBlockedHits ? null : $@"
  {(!fightCharacter.HasCompleteBlockedHitStats ? "≥ " : "")}{fightCharacter.BlockedHitTakenChance.FormatPercent()} blocked hit chance")
        + $@"

{(!fightCharacter.HasCompleteMissStats ? "≤ " : "")}{fightCharacter.WeaponHitAttemptsTakenPM.Format()} weapon hit attempts / min
{fightCharacter.WeaponHitsTakenPM.Format()} weapon hits / min
  {fightCharacter.RegularsTakenPM.Format()} regulars / min
    {fightCharacter.NormalsTakenPM.Format()} normals / min
    {fightCharacter.CritsTakenPM.Format()} crits / min
    {fightCharacter.GlancesTakenPM.Format()} glances / min"
        + (!fightCharacter.Fight.HasObservedBlockedHits ? null : $@"
    {(!fightCharacter.HasCompleteBlockedHitStats ? "≥ " : "")}{fightCharacter.BlockedHitsTakenPM.Format()} blocked hits / min")
        + $@"
  {fightCharacter.SpecialsTakenPM.Format()} specials / min
{fightCharacter.NanoHitsTakenPM.Format()} nano hits / min
{fightCharacter.IndirectHitsTakenPM.Format()} indirect hits / min
{(!fightCharacter.HasCompleteAbsorbedDamageTakenStats ? "≥ " : "")}{fightCharacter.AbsorbedHitsTakenPM.Format()} absorbed hits / min
{fightCharacter.TotalHitsTakenPM.Format()} total hits / min

{fightCharacter.AverageWeaponDamageTaken.Format()} weapon dmg / hit
  {fightCharacter.AverageRegularDamageTaken.Format()} regular dmg / hit
    {fightCharacter.AverageNormalDamageTaken.Format()} normal dmg / hit
    {fightCharacter.AverageCritDamageTaken.Format()} crit dmg / hit
    {fightCharacter.AverageGlanceDamageTaken.Format()} glance dmg / hit
  {fightCharacter.AverageSpecialDamageTaken.Format()} special dmg / hit
{fightCharacter.AverageNanoDamageTaken.Format()} nano dmg / hit
{fightCharacter.AverageIndirectDamageTaken.Format()} indirect dmg / hit
{fightCharacter.AverageAbsorbedDamageTaken.Format()} absorbed dmg / hit"
        + (!fightCharacter.HasSpecialsTaken ? null : $@"

{fightCharacter.GetSpecialsTakenInfo()}")
        + (fightCharacter.TotalDamageTaken == 0 ? null : $@"

{fightCharacter.GetDamageTypesTakenInfo()}");
Пример #2
0
        public static string GetFightCharacterDamageTakenTooltip(this FightCharacter fightCharacter,
                                                                 string title, int displayIndex, double?percentOfTotal, double?percentOfMax)
        => $@"{displayIndex}. {title}

{fightCharacter.TotalDamageTaken:N0} total dmg
{percentOfTotal.FormatPercent()} of fight's total dmg
{percentOfMax.FormatPercent()} of fight's max dmg

{fightCharacter.WeaponDamageTakenPM.Format()} ({fightCharacter.WeaponPercentOfTotalDamageTaken.FormatPercent()}) weapon dmg / min
{fightCharacter.NanoDamageTakenPM.Format()} ({fightCharacter.NanoPercentOfTotalDamageTaken.FormatPercent()}) nano dmg / min
{fightCharacter.IndirectDamageTakenPM.Format()} ({fightCharacter.IndirectPercentOfTotalDamageTaken.FormatPercent()}) indirect dmg / min
{fightCharacter.TotalDamageTakenPM.Format()} total dmg / min

{(fightCharacter.HasIncompleteMissStats ? "≤ " : "")}{fightCharacter.WeaponHitTakenChance.FormatPercent()} weapon hit chance
  {fightCharacter.CritTakenChance.FormatPercent()} crit chance
  {fightCharacter.GlanceTakenChance.FormatPercent()} glance chance

{(fightCharacter.HasIncompleteMissStats ? "≤ " : "")}{fightCharacter.WeaponHitAttemptsTakenPM.Format()} weapon hit attempts / min
{fightCharacter.WeaponHitsTakenPM.Format()} weapon hits / min
  {fightCharacter.CritsTakenPM.Format()} crits / min
  {fightCharacter.GlancesTakenPM.Format()} glances / min
{fightCharacter.NanoHitsTakenPM.Format()} nano hits / min
{fightCharacter.IndirectHitsTakenPM.Format()} indirect hits / min
{fightCharacter.TotalHitsTakenPM.Format()} total hits / min

{fightCharacter.AverageWeaponDamageTaken.Format()} weapon dmg / hit
  {fightCharacter.AverageCritDamageTaken.Format()} crit dmg / hit
  {fightCharacter.AverageGlanceDamageTaken.Format()} glance dmg / hit
{fightCharacter.AverageNanoDamageTaken.Format()} nano dmg / hit
{fightCharacter.AverageIndirectDamageTaken.Format()} indirect dmg / hit"
        + (!fightCharacter.HasSpecialsTaken ? null : $@"

{fightCharacter.GetSpecialsTakenInfo()}")
        + (fightCharacter.HitsAbsorbed == 0 ? null : $@"

{fightCharacter.DamageAbsorbed:N0} dmg absorbed
{fightCharacter.HitsAbsorbedPM.Format()} hits absorbed / min
{fightCharacter.DamageAbsorbedPM.Format()} dmg absorbed / min
{fightCharacter.AverageDamageAbsorbed.Format()} dmg absorbed / hit");