@ -60,48 +60,80 @@ namespace Oshima.FunGame.WebAPI.Controllers
StringBuilder builder = new ( ) ;
builder . AppendLine ( character . ToStringWithOutUser ( ) ) ;
builder . AppendLine ( $"总计造成伤害:{stats.TotalDamage:0.##} / 场均:{stats.AvgDamage:0.##}" ) ;
builder . AppendLine ( $"总计造成物理伤害:{stats.TotalPhysicalDamage:0.##} / 场均:{stats.AvgPhysicalDamage:0.##}" ) ;
builder . AppendLine ( $"总计造成魔法伤害:{stats.TotalMagicDamage:0.##} / 场均:{stats.AvgMagicDamage:0.##}" ) ;
builder . AppendLine ( $"总计造成真实伤害:{stats.TotalTrueDamage:0.##} / 场均:{stats.AvgTrueDamage:0.##}" ) ;
builder . AppendLine ( $"总计承受伤害:{stats.TotalTakenDamage:0.##} / 场均:{stats.AvgTakenDamage:0.##}" ) ;
builder . AppendLine ( $"总计承受物理伤害:{stats.TotalTakenPhysicalDamage:0.##} / 场均:{stats.AvgTakenPhysicalDamage:0.##}" ) ;
builder . AppendLine ( $"总计承受魔法伤害:{stats.TotalTakenMagicDamage:0.##} / 场均:{stats.AvgTakenMagicDamage:0.##}" ) ;
builder . AppendLine ( $"总计承受真实伤害:{stats.TotalTakenTrueDamage:0.##} / 场均:{stats.AvgTakenTrueDamage:0.##}" ) ;
builder . AppendLine ( $"总计治疗:{stats.TotalHeal:0.##} / 场均:{stats.AvgHeal:0.##}" ) ;
builder . AppendLine ( $"总计存活回合数:{stats.LiveRound} / 场均:{stats.AvgLiveRound}" ) ;
builder . AppendLine ( $"总计行动回合数:{stats.ActionTurn} / 场均:{stats.AvgActionTurn}" ) ;
builder . AppendLine ( $"总计存活时长:{stats.LiveTime:0.##} / 场均:{stats.AvgLiveTime:0.##}" ) ;
builder . AppendLine ( $"总计控制时长:{stats.ControlTime:0.##} / 场均:{stats.AvgControlTime:0.##}" ) ;
builder . AppendLine ( $"总计护盾抵消:{stats.TotalShield:0.##} / 场均:{stats.AvgShield:0.##}" ) ;
builder . AppendLine ( $"总计赚取金钱:{stats.TotalEarnedMoney} / 场均:{stats.AvgEarnedMoney}" ) ;
builder . AppendLine ( $"每回合伤害:{stats.DamagePerRound:0.##}" ) ;
builder . AppendLine ( $"每行动回合伤害:{stats.DamagePerTurn:0.##}" ) ;
builder . AppendLine ( $"每秒伤害:{stats.DamagePerSecond:0.##}" ) ;
builder . AppendLine ( $"总计回合决策数:{stats.TurnDecisions:0.##} / 场均:{stats.AvgTurnDecisions:0.##}" ) ;
builder . AppendLine ( $"总计使用决策点:{stats.UseDecisionPoints:0.##} / 场均:{stats.AvgUseDecisionPoints:0.##}" ) ;
builder . AppendLine ( $"总计击杀数:{stats.Kills}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Kills / stats.Plays:0.##}" : "" ) ) ;
builder . AppendLine ( $"总计死亡数:{stats.Deaths}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Deaths / stats.Plays:0.##}" : "" ) ) ;
builder . AppendLine ( $"击杀死亡比:{(stats.Deaths == 0 ? stats.Kills : ((double)stats.Kills / stats.Deaths)):0.##}" ) ;
builder . AppendLine ( $"总计助攻数:{stats.Assists}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Assists / stats.Plays:0.##}" : "" ) ) ;
builder . AppendLine ( $"总计首杀数:{stats.FirstKills}" + ( stats . Plays ! = 0 ? $" / 首杀率:{(double)stats.FirstKills / stats.Plays * 100:0.##}%" : "" ) ) ;
builder . AppendLine ( $"总计首死数:{stats.FirstDeaths}" + ( stats . Plays ! = 0 ? $" / 首死率:{(double)stats.FirstDeaths / stats.Plays * 100:0.##}%" : "" ) ) ;
builder . AppendLine ( $"总计参赛数:{stats.Plays}" ) ;
builder . AppendLine ( $"总计冠军数:{stats.Wins}" ) ;
builder . AppendLine ( $"总计前三数:{stats.Top3s}" ) ;
builder . AppendLine ( $"总计败场数:{stats.Loses}" ) ;
List < string > names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . MVPs ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
List < string > names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计造成伤害:{stats.TotalDamage:0.##} / 场均:{stats.AvgDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgPhysicalDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计造成物理伤害:{stats.TotalPhysicalDamage:0.##} / 场均:{stats.AvgPhysicalDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgMagicDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计造成魔法伤害:{stats.TotalMagicDamage:0.##} / 场均:{stats.AvgMagicDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTrueDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计造成真实伤害:{stats.TotalTrueDamage:0.##} / 场均:{stats.AvgTrueDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTakenDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计承受伤害:{stats.TotalTakenDamage:0.##} / 场均:{stats.AvgTakenDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTakenPhysicalDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计承受物理伤害:{stats.TotalTakenPhysicalDamage:0.##} / 场均:{stats.AvgTakenPhysicalDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTakenMagicDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计承受魔法伤害:{stats.TotalTakenMagicDamage:0.##} / 场均:{stats.AvgTakenMagicDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTakenTrueDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计承受真实伤害:{stats.TotalTakenTrueDamage:0.##} / 场均:{stats.AvgTakenTrueDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgHeal ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计治疗:{stats.TotalHeal:0.##} / 场均:{stats.AvgHeal:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgLiveRound ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计存活回合数:{stats.LiveRound} / 场均:{stats.AvgLiveRound}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgActionTurn ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计行动回合数:{stats.ActionTurn} / 场均:{stats.AvgActionTurn}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgLiveTime ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计存活时长:{stats.LiveTime:0.##} / 场均:{stats.AvgLiveTime:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgControlTime ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计控制时长:{stats.ControlTime:0.##} / 场均:{stats.AvgControlTime:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgShield ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计护盾抵消:{stats.TotalShield:0.##} / 场均:{stats.AvgShield:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgEarnedMoney ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计赚取金钱:{stats.TotalEarnedMoney} / 场均:{stats.AvgEarnedMoney}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . DamagePerRound ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"每回合伤害:{stats.DamagePerRound:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . DamagePerTurn ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"每行动回合伤害:{stats.DamagePerTurn:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . DamagePerSecond ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"每秒伤害:{stats.DamagePerSecond:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTurnDecisions ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计回合决策数:{stats.TurnDecisions:0.##} / 场均:{stats.AvgTurnDecisions:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgUseDecisionPoints ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计使用决策点:{stats.UseDecisionPoints:0.##} / 场均:{stats.AvgUseDecisionPoints:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays = = 0 ? kv . Value . Kills : ( double ) kv . Value . Kills / kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计击杀数:{stats.Kills}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Kills / stats.Plays:0.##}" : "" ) + $"( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays = = 0 ? kv . Value . Deaths : ( double ) kv . Value . Deaths / kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计死亡数:{stats.Deaths}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Deaths / stats.Plays:0.##}" : "" ) + $"( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Deaths = = 0 ? kv . Value . Kills : ( ( double ) kv . Value . Kills / kv . Value . Deaths ) ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"击杀死亡比:{(stats.Deaths == 0 ? stats.Kills : ((double)stats.Kills / stats.Deaths)):0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays = = 0 ? kv . Value . Assists : ( double ) kv . Value . Assists / kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计助攻数:{stats.Assists}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Assists / stats.Plays:0.##}" : "" ) + $"( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays = = 0 ? kv . Value . FirstKills : ( double ) kv . Value . FirstKills / kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计首杀数:{stats.FirstKills}" + ( stats . Plays ! = 0 ? $" / 首杀率:{(double)stats.FirstKills / stats.Plays * 100:0.##}%" : "" ) + $"( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays = = 0 ? kv . Value . FirstDeaths : ( double ) kv . Value . FirstDeaths / kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计首死数:{stats.FirstDeaths}" + ( stats . Plays ! = 0 ? $" / 首死率:{(double)stats.FirstDeaths / stats.Plays * 100:0.##}%" : "" ) + $"( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计参赛数:{stats.Plays}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Wins ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计胜场数:{stats.Wins}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Top3s ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计前三数:{stats.Top3s}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Loses ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计败场数:{stats.Loses}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . MVPs ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"MVP次数: {stats.MVPs}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Winrate ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"胜率:{stats.Winrate * 100:0.##}%( #{names.IndexOf(character.GetName()) + 1}) " ) ;
builder . AppendLine ( $"前三率:{stats.Top3rate * 100:0.##}%" ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Top3rate ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"前三率:{stats.Top3rate * 100:0.##}%( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . CharacterStatistics . OrderByDescending ( kv = > kv . Value . Rating ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"技术得分:{stats.Rating:0.0#}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
builder . AppendLine ( $"上次排名:{stats.LastRank} / 场均名次:{stats.AvgRank:0.##}" ) ;
builder . AppendLine ( $"上次排名: # {stats.LastRank} / 场均名次:# {stats.AvgRank:0.##}") ;
return builder . ToString ( ) ;
}
@ -121,37 +153,67 @@ namespace Oshima.FunGame.WebAPI.Controllers
StringBuilder builder = new ( ) ;
builder . AppendLine ( character . ToStringWithOutUser ( ) ) ;
builder . AppendLine ( $"总计造成伤害:{stats.TotalDamage:0.##} / 场均:{stats.AvgDamage:0.##}" ) ;
builder . AppendLine ( $"总计造成物理伤害:{stats.TotalPhysicalDamage:0.##} / 场均:{stats.AvgPhysicalDamage:0.##}" ) ;
builder . AppendLine ( $"总计造成魔法伤害:{stats.TotalMagicDamage:0.##} / 场均:{stats.AvgMagicDamage:0.##}" ) ;
builder . AppendLine ( $"总计造成真实伤害:{stats.TotalTrueDamage:0.##} / 场均:{stats.AvgTrueDamage:0.##}" ) ;
builder . AppendLine ( $"总计承受伤害:{stats.TotalTakenDamage:0.##} / 场均:{stats.AvgTakenDamage:0.##}" ) ;
builder . AppendLine ( $"总计承受物理伤害:{stats.TotalTakenPhysicalDamage:0.##} / 场均:{stats.AvgTakenPhysicalDamage:0.##}" ) ;
builder . AppendLine ( $"总计承受魔法伤害:{stats.TotalTakenMagicDamage:0.##} / 场均:{stats.AvgTakenMagicDamage:0.##}" ) ;
builder . AppendLine ( $"总计承受真实伤害:{stats.TotalTakenTrueDamage:0.##} / 场均:{stats.AvgTakenTrueDamage:0.##}" ) ;
builder . AppendLine ( $"总计治疗:{stats.TotalHeal:0.##} / 场均:{stats.AvgHeal:0.##}" ) ;
builder . AppendLine ( $"总计存活回合数:{stats.LiveRound} / 场均:{stats.AvgLiveRound}" ) ;
builder . AppendLine ( $"总计行动回合数:{stats.ActionTurn} / 场均:{stats.AvgActionTurn}" ) ;
builder . AppendLine ( $"总计存活时长:{stats.LiveTime:0.##} / 场均:{stats.AvgLiveTime:0.##}" ) ;
builder . AppendLine ( $"总计控制时长:{stats.ControlTime:0.##} / 场均:{stats.AvgControlTime:0.##}" ) ;
builder . AppendLine ( $"总计护盾抵消:{stats.TotalShield:0.##} / 场均:{stats.AvgShield:0.##}" ) ;
builder . AppendLine ( $"总计赚取金钱:{stats.TotalEarnedMoney} / 场均:{stats.AvgEarnedMoney}" ) ;
builder . AppendLine ( $"每回合伤害:{stats.DamagePerRound:0.##}" ) ;
builder . AppendLine ( $"每行动回合伤害:{stats.DamagePerTurn:0.##}" ) ;
builder . AppendLine ( $"每秒伤害:{stats.DamagePerSecond:0.##}" ) ;
builder . AppendLine ( $"总计回合决策数:{stats.TurnDecisions:0.##} / 场均:{stats.AvgTurnDecisions:0.##}" ) ;
builder . AppendLine ( $"总计使用决策点:{stats.UseDecisionPoints:0.##} / 场均:{stats.AvgUseDecisionPoints:0.##}" ) ;
builder . AppendLine ( $"总计击杀数:{stats.Kills}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Kills / stats.Plays:0.##}" : "" ) ) ;
builder . AppendLine ( $"总计死亡数:{stats.Deaths}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Deaths / stats.Plays:0.##}" : "" ) ) ;
builder . AppendLine ( $"击杀死亡比:{(stats.Deaths == 0 ? stats.Kills : ((double)stats.Kills / stats.Deaths)):0.##}" ) ;
builder . AppendLine ( $"总计助攻数:{stats.Assists}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Assists / stats.Plays:0.##}" : "" ) ) ;
builder . AppendLine ( $"总计首杀数:{stats.FirstKills}" + ( stats . Plays ! = 0 ? $" / 首杀率:{(double)stats.FirstKills / stats.Plays * 100:0.##}%" : "" ) ) ;
builder . AppendLine ( $"总计首死数:{stats.FirstDeaths}" + ( stats . Plays ! = 0 ? $" / 首死率:{(double)stats.FirstDeaths / stats.Plays * 100:0.##}%" : "" ) ) ;
builder . AppendLine ( $"总计参赛数:{stats.Plays}" ) ;
builder . AppendLine ( $"总计胜场数:{stats.Wins}" ) ;
builder . AppendLine ( $"总计败场数:{stats.Loses}" ) ;
List < string > names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . MVPs ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
List < string > names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计造成伤害:{stats.TotalDamage:0.##} / 场均:{stats.AvgDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgPhysicalDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计造成物理伤害:{stats.TotalPhysicalDamage:0.##} / 场均:{stats.AvgPhysicalDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgMagicDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计造成魔法伤害:{stats.TotalMagicDamage:0.##} / 场均:{stats.AvgMagicDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTrueDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计造成真实伤害:{stats.TotalTrueDamage:0.##} / 场均:{stats.AvgTrueDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTakenDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计承受伤害:{stats.TotalTakenDamage:0.##} / 场均:{stats.AvgTakenDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTakenPhysicalDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计承受物理伤害:{stats.TotalTakenPhysicalDamage:0.##} / 场均:{stats.AvgTakenPhysicalDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTakenMagicDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计承受魔法伤害:{stats.TotalTakenMagicDamage:0.##} / 场均:{stats.AvgTakenMagicDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTakenTrueDamage ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计承受真实伤害:{stats.TotalTakenTrueDamage:0.##} / 场均:{stats.AvgTakenTrueDamage:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgHeal ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计治疗:{stats.TotalHeal:0.##} / 场均:{stats.AvgHeal:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgLiveRound ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计存活回合数:{stats.LiveRound} / 场均:{stats.AvgLiveRound}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgActionTurn ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计行动回合数:{stats.ActionTurn} / 场均:{stats.AvgActionTurn}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgLiveTime ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计存活时长:{stats.LiveTime:0.##} / 场均:{stats.AvgLiveTime:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgControlTime ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计控制时长:{stats.ControlTime:0.##} / 场均:{stats.AvgControlTime:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgShield ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计护盾抵消:{stats.TotalShield:0.##} / 场均:{stats.AvgShield:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgEarnedMoney ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计赚取金钱:{stats.TotalEarnedMoney} / 场均:{stats.AvgEarnedMoney}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . DamagePerRound ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"每回合伤害:{stats.DamagePerRound:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . DamagePerTurn ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"每行动回合伤害:{stats.DamagePerTurn:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . DamagePerSecond ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"每秒伤害:{stats.DamagePerSecond:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgTurnDecisions ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计回合决策数:{stats.TurnDecisions:0.##} / 场均:{stats.AvgTurnDecisions:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . AvgUseDecisionPoints ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计使用决策点:{stats.UseDecisionPoints:0.##} / 场均:{stats.AvgUseDecisionPoints:0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays = = 0 ? kv . Value . Kills : ( double ) kv . Value . Kills / kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计击杀数:{stats.Kills}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Kills / stats.Plays:0.##}" : "" ) + $"( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays = = 0 ? kv . Value . Deaths : ( double ) kv . Value . Deaths / kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计死亡数:{stats.Deaths}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Deaths / stats.Plays:0.##}" : "" ) + $"( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . Deaths = = 0 ? kv . Value . Kills : ( ( double ) kv . Value . Kills / kv . Value . Deaths ) ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"击杀死亡比:{(stats.Deaths == 0 ? stats.Kills : ((double)stats.Kills / stats.Deaths)):0.##}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays = = 0 ? kv . Value . Assists : ( double ) kv . Value . Assists / kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计助攻数:{stats.Assists}" + ( stats . Plays ! = 0 ? $" / 场均:{(double)stats.Assists / stats.Plays:0.##}" : "" ) + $"( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays = = 0 ? kv . Value . FirstKills : ( double ) kv . Value . FirstKills / kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计首杀数:{stats.FirstKills}" + ( stats . Plays ! = 0 ? $" / 首杀率:{(double)stats.FirstKills / stats.Plays * 100:0.##}%" : "" ) + $"( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays = = 0 ? kv . Value . FirstDeaths : ( double ) kv . Value . FirstDeaths / kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计首死数:{stats.FirstDeaths}" + ( stats . Plays ! = 0 ? $" / 首死率:{(double)stats.FirstDeaths / stats.Plays * 100:0.##}%" : "" ) + $"( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . Plays ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计参赛数:{stats.Plays}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . Wins ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计胜场数:{stats.Wins}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . Loses ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"总计败场数:{stats.Loses}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . MVPs ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"MVP次数: {stats.MVPs}( #{names.IndexOf(character.GetName()) + 1}) " ) ;
names = [ . . FunGameSimulation . TeamCharacterStatistics . OrderByDescending ( kv = > kv . Value . Winrate ) . Select ( kv = > kv . Key . GetName ( ) ) ] ;
builder . AppendLine ( $"胜率:{stats.Winrate * 100:0.##}%( #{names.IndexOf(character.GetName()) + 1}) " ) ;