diff --git a/src/assets/data/interfaces.ts b/src/assets/data/interfaces.ts index db95a23e..452d4b31 100644 --- a/src/assets/data/interfaces.ts +++ b/src/assets/data/interfaces.ts @@ -7,10 +7,17 @@ export interface StatMatcher { value?: number } +export enum StatBetter { + NegativeRoll = -1, + PositiveRoll = 1, + NotComparable = 0 +} + export interface Stat { ref: string dp?: true matchers: StatMatcher[] + better: StatBetter trade: { inverted?: true option?: 'num' | 'str' diff --git a/src/parser/advanced-mod-desc.ts b/src/parser/advanced-mod-desc.ts index f44cbaa9..0c1ea9f9 100644 --- a/src/parser/advanced-mod-desc.ts +++ b/src/parser/advanced-mod-desc.ts @@ -137,9 +137,9 @@ export function applyIncr (mod: ModifierInfo, parsed: ParsedStat): ParsedStat | roll: { unscalable: roll.unscalable, dp: roll.dp, - value: percentRoll(roll.value, rollIncr, (roll.value > 0) ? Math.floor : Math.ceil, roll.dp && DIV_BY_100), - min: percentRoll(roll.min, rollIncr, (roll.min > 0) ? Math.floor : Math.ceil, roll.dp && DIV_BY_100), - max: percentRoll(roll.max, rollIncr, (roll.max > 0) ? Math.floor : Math.ceil, roll.dp && DIV_BY_100) + value: percentRoll(roll.value, rollIncr, Math.trunc, roll.dp && DIV_BY_100), + min: percentRoll(roll.min, rollIncr, Math.trunc, roll.dp && DIV_BY_100), + max: percentRoll(roll.max, rollIncr, Math.trunc, roll.dp && DIV_BY_100) } } } diff --git a/src/web/price-check/filters/FilterModifier.vue b/src/web/price-check/filters/FilterModifier.vue index 552ed67b..48526685 100644 --- a/src/web/price-check/filters/FilterModifier.vue +++ b/src/web/price-check/filters/FilterModifier.vue @@ -1,8 +1,8 @@ @@ -11,10 +11,11 @@