Add difficulty modifier

This commit is contained in:
Dominic Ferrando
2025-10-17 14:10:07 -04:00
parent 99b4a638b9
commit 331d20d272
2 changed files with 38 additions and 13 deletions
+8 -1
View File
@@ -185,7 +185,8 @@ export type StandardsConfig = {
weightModifier: number, weightModifier: number,
weightSkew: number, weightSkew: number,
ageModifier: number, ageModifier: number,
disableGeneration: boolean disableGeneration: boolean,
performanceSkew: number
}> }>
} }
@@ -202,6 +203,7 @@ export class Standards {
weightModifier: 0.1, weightModifier: 0.1,
weightSkew: 0, weightSkew: 0,
ageModifier: 0.1, ageModifier: 0.1,
performanceSkew: 0
}, },
]) ])
) as Record<Activity, StandardsConfig["activity"][Activity]>; ) as Record<Activity, StandardsConfig["activity"][Activity]>;
@@ -221,6 +223,11 @@ export class Standards {
const expandedLevels = this.expandLevels(standard.levels, 5); const expandedLevels = this.expandLevels(standard.levels, 5);
const compressedLevels = this.compressLevels(expandedLevels, this.cfg.global.maxLevel); const compressedLevels = this.compressLevels(expandedLevels, this.cfg.global.maxLevel);
standard.levels = compressedLevels; standard.levels = compressedLevels;
// apply skew config
for (const level in standard.levels) {
standard.levels[level] = standard.levels[level] * (1 + this.cfg.activity[activity].performanceSkew)
}
} }
// generate data // generate data
+30 -12
View File
@@ -29,8 +29,9 @@
{ {
enableGeneration: true, enableGeneration: true,
weightModifier: ".1", weightModifier: ".1",
weightSkew: "0", // weightSkew: "0",
ageModifier: ".1", ageModifier: ".1",
performanceSkew: "0",
}, },
]), ]),
), ),
@@ -55,13 +56,16 @@
weightModifier: weightModifier:
+inputSelected.cfg.activity[activity] +inputSelected.cfg.activity[activity]
.weightModifier, .weightModifier,
weightSkew: weightSkew: 0,
+inputSelected.cfg.activity[activity].weightSkew, // +inputSelected.cfg.activity[activity].weightSkew,
ageModifier: ageModifier:
+inputSelected.cfg.activity[activity].ageModifier, +inputSelected.cfg.activity[activity].ageModifier,
disableGeneration: disableGeneration:
!inputSelected.cfg.activity[activity] !inputSelected.cfg.activity[activity]
.enableGeneration, .enableGeneration,
performanceSkew:
+inputSelected.cfg.activity[activity]
.performanceSkew,
}, },
]), ]),
), ),
@@ -129,11 +133,11 @@
/> />
</label> </label>
<label> <label>
<span class="label mb-1">Weight modifier</span> <span class="label mb-1">Weight significance</span>
<input <input
class="input w-full" class="input w-full"
type="number" type="number"
min="0" min="-1"
max="1" max="1"
step=".05" step=".05"
placeholder=".1" placeholder=".1"
@@ -145,32 +149,46 @@
.disableGeneration} .disableGeneration}
/> />
</label> </label>
<!-- <label> -->
<!-- <span class="label mb-1">Weight skew</span> -->
<!-- <input -->
<!-- class="input w-full" -->
<!-- type="number" -->
<!-- min="-1" -->
<!-- max="1" -->
<!-- step=".05" -->
<!-- bind:value={ -->
<!-- inputSelected.cfg.activity[selected.activity] -->
<!-- .weightSkew -->
<!-- } -->
<!-- disabled={selected.cfg.activity[selected.activity] -->
<!-- .disableGeneration} -->
<!-- /> -->
<!-- </label> -->
<label> <label>
<span class="label mb-1">Weight skew</span> <span class="label mb-1">Difficulty modifier</span>
<input <input
class="input w-full" class="input w-full"
type="number" type="number"
min="0" min="-1"
max="1" max="1"
step=".05" step=".05"
placeholder=".1"
bind:value={ bind:value={
inputSelected.cfg.activity[selected.activity] inputSelected.cfg.activity[selected.activity]
.weightSkew .performanceSkew
} }
disabled={selected.cfg.activity[selected.activity] disabled={selected.cfg.activity[selected.activity]
.disableGeneration} .disableGeneration}
/> />
</label> </label>
<label> <label>
<span class="label mb-1">Age modifier</span> <span class="label mb-1">Age significance</span>
<input <input
class="input w-full" class="input w-full"
type="number" type="number"
min="0" min="-1"
max="1" max="1"
step=".05" step=".05"
placeholder=".1"
bind:value={ bind:value={
inputSelected.cfg.activity[selected.activity] inputSelected.cfg.activity[selected.activity]
.ageModifier .ageModifier