From f3ba29b8bfef2bc96e7c014362df4fe68220a08f Mon Sep 17 00:00:00 2001 From: Alexander Drozdov Date: Tue, 12 Oct 2021 12:14:40 +0300 Subject: [PATCH] StatBetter, fix some rounding, SourceInfo --- src/assets/data/interfaces.ts | 7 ++ src/parser/advanced-mod-desc.ts | 6 +- .../price-check/filters/FilterModifier.vue | 17 +++- src/web/price-check/filters/SourceInfo.vue | 25 ++++- .../filters/create-stat-filters.ts | 94 +++++++++---------- src/web/price-check/filters/interfaces.ts | 3 +- src/web/price-check/filters/unique-roll.ts | 6 +- src/web/price-check/filters/util.ts | 36 +++---- 8 files changed, 112 insertions(+), 82 deletions(-) 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 @@