| 1 |
export enum RollDifficultyLabel { |
| Error |
Row 2, Column 17: "Replace `'Very·Easy'` with `"Very·Easy"`"
prettier/prettier
|
| 2 |
VERY_EASY = 'Very Easy', |
| Error |
Row 3, Column 12: "Replace `'Easy'` with `"Easy"`"
prettier/prettier
|
| 3 |
EASY = 'Easy', |
| Error |
Row 4, Column 16: "Replace `'Moderate'` with `"Moderate"`"
prettier/prettier
|
| 4 |
MODERATE = 'Moderate', |
| Error |
Row 5, Column 17: "Replace `'Difficult'` with `"Difficult"`"
prettier/prettier
|
| 5 |
DIFFICULT = 'Difficult', |
| Error |
Row 6, Column 22: "Replace `'Very·Difficult'` with `"Very·Difficult"`"
prettier/prettier
|
| 6 |
VERY_DIFFICULT = 'Very Difficult', |
| Error |
Row 7, Column 14: "Replace `'Heroic'` with `"Heroic"`"
prettier/prettier
|
| 7 |
HEROIC = 'Heroic', |
| 8 |
} |
| 9 |
|
| 10 |
export interface IRollDifficulty { |
| Error |
Row 11, Column 31: "Replace `,` with `;`"
prettier/prettier
|
| 11 |
label: RollDifficultyLabel, |
| Error |
Row 12, Column 20: "Replace `,` with `;`"
prettier/prettier
|
| 12 |
dieCode: string, |
| Error |
Row 13, Column 23: "Replace `,` with `;`"
prettier/prettier
|
| 13 |
meanResult: number, |
| 14 |
} |
| 15 |
|
| 16 |
export interface IRollDieCode { |
| Error |
Row 17, Column 21: "Replace `,` with `;`"
prettier/prettier
|
| 17 |
modifier: number, |
| Error |
Row 18, Column 19: "Replace `,` with `;`"
prettier/prettier
|
| 18 |
number: number, |
| 19 |
} |
| 20 |
|
| 21 |
export const getDifficulty = (target: number): IRollDifficulty => { |
| 22 |
return { |
| 23 |
label: getDifficultyLabel(target), |
| 24 |
dieCode: getDifficultyDieCode(target), |
| 25 |
meanResult: getDifficultyMeanResult(target), |
| Error |
Row 26, Column 6: "Insert `;`"
prettier/prettier
|
| 26 |
} |
| Error |
Row 27, Column 2: "Insert `;`"
prettier/prettier
|
| 27 |
} |
| 28 |
|
| Error |
Row 29, Column 7: "Type number trivially inferred from a number literal, remove type annotation."
@typescript-eslint/no-inferrable-types
|
| 29 |
const VERY_EASY_THRESHOLD: number = 5; |
| Error |
Row 30, Column 7: "Type number trivially inferred from a number literal, remove type annotation."
@typescript-eslint/no-inferrable-types
|
| 30 |
const EASY_THRESHOLD: number = 10; |
| Error |
Row 31, Column 7: "Type number trivially inferred from a number literal, remove type annotation."
@typescript-eslint/no-inferrable-types
|
| 31 |
const MODERATE_THRESHOLD: number = 15; |
| Error |
Row 32, Column 7: "Type number trivially inferred from a number literal, remove type annotation."
@typescript-eslint/no-inferrable-types
|
| 32 |
const DIFFICULT_THRESHOLD: number = 20; |
| Error |
Row 33, Column 7: "Type number trivially inferred from a number literal, remove type annotation."
@typescript-eslint/no-inferrable-types
|
| 33 |
const VERY_DIFFICULT_THRESHOLD: number = 25; |
| 34 |
|
| 35 |
const getDifficultyLabel = (target: number): RollDifficultyLabel => { |
| 36 |
let label: RollDifficultyLabel = RollDifficultyLabel.VERY_EASY; |
| 37 |
|
| 38 |
if (target > VERY_EASY_THRESHOLD) { |
| 39 |
label = RollDifficultyLabel.EASY; |
| 40 |
} |
| 41 |
|
| 42 |
if (target > EASY_THRESHOLD) { |
| 43 |
label = RollDifficultyLabel.MODERATE; |
| 44 |
} |
| 45 |
|
| 46 |
if (target > MODERATE_THRESHOLD) { |
| 47 |
label = RollDifficultyLabel.DIFFICULT; |
| 48 |
} |
| 49 |
|
| 50 |
if (target > DIFFICULT_THRESHOLD) { |
| 51 |
label = RollDifficultyLabel.VERY_DIFFICULT; |
| 52 |
} |
| 53 |
|
| 54 |
if (target > VERY_DIFFICULT_THRESHOLD) { |
| 55 |
label = RollDifficultyLabel.HEROIC; |
| 56 |
} |
| 57 |
|
| 58 |
return label; |
| Error |
Row 59, Column 2: "Insert `;`"
prettier/prettier
|
| 59 |
} |
| 60 |
|
| 61 |
const getDifficultyMeanResult = (target: number): number => { |
| 62 |
const dieCode = getDieCode(target); |
| 63 |
|
| 64 |
return target > 3 ? dieCode.number * 3.5 + dieCode.modifier : target; |
| Error |
Row 65, Column 2: "Insert `;`"
prettier/prettier
|
| 65 |
} |
| 66 |
|
| 67 |
const getDifficultyDieCode = (target: number): string => { |
| 68 |
const dieCode = getDieCode(target); |
| 69 |
|
| Error |
Row 70, Column 87: "Replace `''` with `""`"
prettier/prettier
|
| 70 |
const dieModifierString: string = dieCode.modifier > 0 ? `+${dieCode.modifier}` : ''; |
| 71 |
|
| 72 |
return dieCode.number > 0 ? `${dieCode.number}D${dieModifierString}` : target.toString(); |
| Error |
Row 73, Column 2: "Insert `;`"
prettier/prettier
|
| 73 |
} |
| 74 |
|
| 75 |
const getDieCode = (target: number): IRollDieCode => { |
| 76 |
const dieNumber: number = target > 3 ? Math.floor(target / 3.5) : 0; |
| 77 |
const dieModifier: number = dieNumber > 0 ? Math.floor(target - dieNumber * 3.5) : 0; |
| 78 |
|
| 79 |
return { |
| 80 |
modifier: dieModifier, |
| 81 |
number: dieNumber, |
| Error |
Row 82, Column 6: "Insert `;`"
prettier/prettier
|
| 82 |
} |
| Error |
Row 83, Column 2: "Insert `;`"
prettier/prettier
|
| 83 |
} |
| 84 |
|