tweaks to reporting
This commit is contained in:
parent
07f76b2e1d
commit
5c7d72ea86
@ -1,3 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<project version="4">
|
<project version="4">
|
||||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
<component name="FrameworkDetectionExcludesConfiguration">
|
<component name="FrameworkDetectionExcludesConfiguration">
|
||||||
|
|||||||
@ -59,10 +59,12 @@ fun crunchBarbarian(defense: Int = 16){
|
|||||||
|
|
||||||
|
|
||||||
val gwmAttack = MeleeAttackBuilder(attackDice, weaponDice, defense)
|
val gwmAttack = MeleeAttackBuilder(attackDice, weaponDice, defense)
|
||||||
|
//attack modifiers
|
||||||
.withAtkBonus(2)// weapon bonus
|
.withAtkBonus(2)// weapon bonus
|
||||||
.withAtkBonus(4)// proficiency bonus
|
.withAtkBonus(4)// proficiency bonus
|
||||||
.withAtkBonus(5)// str mod
|
.withAtkBonus(5)// str mod
|
||||||
.withAtkBonus(-5)// gwm penalty
|
.withAtkBonus(-5)// gwm penalty
|
||||||
|
//damage modifiers
|
||||||
.withDmgBonus(2) // weapon bonus
|
.withDmgBonus(2) // weapon bonus
|
||||||
.withDmgBonus(5) // str mod
|
.withDmgBonus(5) // str mod
|
||||||
.withDmgBonus(10) // gwm bonus
|
.withDmgBonus(10) // gwm bonus
|
||||||
@ -125,7 +127,7 @@ fun generateCombatSuggestions(
|
|||||||
fun defaultReport(): ReportBuilder{
|
fun defaultReport(): ReportBuilder{
|
||||||
return ReportBuilder.getInstance()
|
return ReportBuilder.getInstance()
|
||||||
.addRateMetric("Accuracy") { it.rollSucceeded }
|
.addRateMetric("Accuracy") { it.rollSucceeded }
|
||||||
.addRateMetric("Crit Rate") { it.rollSucceeded }
|
.addRateMetric("Crit Rate") { it.rollWasCritical }
|
||||||
.addStdDevMetric("Dmg std") { it.resultingDamage.toLong() }
|
.addStdDevMetric("Dmg std") { it.resultingDamage.toLong() }
|
||||||
.addAverageMetric(avgDamage) { it.resultingDamage.toLong() }
|
.addAverageMetric(avgDamage) { it.resultingDamage.toLong() }
|
||||||
}
|
}
|
||||||
@ -134,7 +136,7 @@ fun defaultReport(): ReportBuilder{
|
|||||||
fun List<MetricResult>.getDamage(): MetricResult? {
|
fun List<MetricResult>.getDamage(): MetricResult? {
|
||||||
|
|
||||||
forEach {
|
forEach {
|
||||||
if (it.label == avgDamage) {
|
if (it.name == avgDamage) {
|
||||||
return it
|
return it
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -4,7 +4,7 @@ import simulation.fifthEd.AttackResult
|
|||||||
import kotlin.math.pow
|
import kotlin.math.pow
|
||||||
|
|
||||||
data class MetricReport(val name: String, val results: List<MetricResult>)
|
data class MetricReport(val name: String, val results: List<MetricResult>)
|
||||||
data class MetricResult(val label: String, val metricValue: Double)
|
data class MetricResult(val name: String, val label: String, val metricValue: Double)
|
||||||
|
|
||||||
interface Report {
|
interface Report {
|
||||||
val name: String
|
val name: String
|
||||||
@ -14,7 +14,7 @@ interface Report {
|
|||||||
fun formatReport(name: String, results: List<MetricResult>): String {
|
fun formatReport(name: String, results: List<MetricResult>): String {
|
||||||
val builder = StringBuilder()
|
val builder = StringBuilder()
|
||||||
results.forEach {
|
results.forEach {
|
||||||
builder.append("${it.label}: %.2f".format(it.metricValue))
|
builder.append(it.label)
|
||||||
.append('\t')
|
.append('\t')
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -27,7 +27,7 @@ interface Report {
|
|||||||
val m = ArrayList<MetricResult>(metrics.size)
|
val m = ArrayList<MetricResult>(metrics.size)
|
||||||
metrics.forEach {
|
metrics.forEach {
|
||||||
val value = it.mapToMetric(results)
|
val value = it.mapToMetric(results)
|
||||||
m.add(MetricResult(it.metricName, value))
|
m.add(MetricResult(it.metricName, it.formatResults(value), value))
|
||||||
}
|
}
|
||||||
return MetricReport(name, m)
|
return MetricReport(name, m)
|
||||||
}
|
}
|
||||||
@ -96,7 +96,7 @@ class RateMetric(override val metricName: String, private val fieldMapFn: (Attac
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun formatResults(result: Double): String {
|
override fun formatResults(result: Double): String {
|
||||||
return "$metricName: %.2f".format(result)
|
return "$metricName: %.2f".format(result) +"%"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user