add comma totals decorator
This commit is contained in:
parent
861d1e00cd
commit
b9c7fac984
|
@ -131,6 +131,7 @@ The Artificer comes with a few supplemental commands to the main rolling command
|
||||||
* `-n` - Nominal Roll - Rolls the theoretical nominal roll, cannot be used with `-m`, `-max`, or `-min`
|
* `-n` - Nominal Roll - Rolls the theoretical nominal roll, cannot be used with `-m`, `-max`, or `-min`
|
||||||
* `-gm @user1 @user2 ... @userN` - GM Roll - Rolls the requested roll in GM mode, suppressing all publicly shown results and details and sending the results directly to the specified GMs
|
* `-gm @user1 @user2 ... @userN` - GM Roll - Rolls the requested roll in GM mode, suppressing all publicly shown results and details and sending the results directly to the specified GMs
|
||||||
* `-o a` or `-o d` - Order Roll - Rolls the requested roll and orders the results in the requested direction
|
* `-o a` or `-o d` - Order Roll - Rolls the requested roll and orders the results in the requested direction
|
||||||
|
* `-ct` - Comma Totals - Adds commas to totals for readability
|
||||||
* The results have some formatting applied on them to provide details on what happened during this roll.
|
* The results have some formatting applied on them to provide details on what happened during this roll.
|
||||||
* Critical successes will be **bolded**
|
* Critical successes will be **bolded**
|
||||||
* Critical fails will be <ins>underlined</ins>
|
* Critical fails will be <ins>underlined</ins>
|
||||||
|
|
|
@ -25,8 +25,9 @@ export const getModifiers = (m: DiscordenoMessage, args: string[], command: stri
|
||||||
gmRoll: false,
|
gmRoll: false,
|
||||||
gms: [],
|
gms: [],
|
||||||
order: '',
|
order: '',
|
||||||
valid: false,
|
|
||||||
count: false,
|
count: false,
|
||||||
|
commaTotals: false,
|
||||||
|
valid: false,
|
||||||
apiWarn: '',
|
apiWarn: '',
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -99,6 +100,9 @@ export const getModifiers = (m: DiscordenoMessage, args: string[], command: stri
|
||||||
|
|
||||||
modifiers.order = args[i].toLowerCase()[0];
|
modifiers.order = args[i].toLowerCase()[0];
|
||||||
break;
|
break;
|
||||||
|
case '-ct':
|
||||||
|
modifiers.commaTotals = true;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
// Default case should not mess with the array
|
// Default case should not mess with the array
|
||||||
defaultCase = true;
|
defaultCase = true;
|
||||||
|
|
|
@ -71,6 +71,11 @@ Available directions:
|
||||||
\`d\` - Descending (greatest to least)`,
|
\`d\` - Descending (greatest to least)`,
|
||||||
inline: true,
|
inline: true,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: '`-ct` - Comma Totals',
|
||||||
|
value: 'Adds commas to totals for readability',
|
||||||
|
inline: true,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|
|
@ -91,6 +91,7 @@ export const apiRoll = async (query: Map<string, string>, apiUserid: bigint): Pr
|
||||||
gms: query.has('gms') ? (query.get('gms') || '').split(',') : [],
|
gms: query.has('gms') ? (query.get('gms') || '').split(',') : [],
|
||||||
order: query.has('o') ? query.get('o')?.toLowerCase() || '' : '',
|
order: query.has('o') ? query.get('o')?.toLowerCase() || '' : '',
|
||||||
count: query.has('c'),
|
count: query.has('c'),
|
||||||
|
commaTotals: query.has('ct'),
|
||||||
valid: true,
|
valid: true,
|
||||||
apiWarn: hideWarn ? '' : apiWarning,
|
apiWarn: hideWarn ? '' : apiWarning,
|
||||||
};
|
};
|
||||||
|
|
|
@ -22,6 +22,7 @@ export type RollModifiers = {
|
||||||
gms: string[];
|
gms: string[];
|
||||||
order: string;
|
order: string;
|
||||||
count: boolean;
|
count: boolean;
|
||||||
|
commaTotals: boolean;
|
||||||
valid: boolean;
|
valid: boolean;
|
||||||
apiWarn: string;
|
apiWarn: string;
|
||||||
};
|
};
|
||||||
|
|
|
@ -258,13 +258,18 @@ export const parseRoll = (fullCmd: string, modifiers: RollModifiers): SolvedRoll
|
||||||
|
|
||||||
// Populate line2 (the results) and line3 (the details) with their data
|
// Populate line2 (the results) and line3 (the details) with their data
|
||||||
if (modifiers.order === '') {
|
if (modifiers.order === '') {
|
||||||
line2 += `${preFormat}${e.rollTotal}${postFormat}${escapeCharacters(e.rollPostFormat, '|*_~`')} `;
|
line2 += `${preFormat}${modifiers.commaTotals ? e.rollTotal.toLocaleString() : e.rollTotal}${postFormat}${
|
||||||
|
escapeCharacters(
|
||||||
|
e.rollPostFormat,
|
||||||
|
'|*_~`',
|
||||||
|
)
|
||||||
|
} `;
|
||||||
} else {
|
} else {
|
||||||
// If order is on, turn rolls into csv without formatting
|
// If order is on, turn rolls into csv without formatting
|
||||||
line2 += `${preFormat}${e.rollTotal}${postFormat}, `;
|
line2 += `${preFormat}${modifiers.commaTotals ? e.rollTotal.toLocaleString() : e.rollTotal}${postFormat}, `;
|
||||||
}
|
}
|
||||||
|
|
||||||
line3 += `\`${e.initConfig}\` = ${e.rollDetails} = ${preFormat}${e.rollTotal}${postFormat}\n`;
|
line3 += `\`${e.initConfig}\` = ${e.rollDetails} = ${preFormat}${modifiers.commaTotals ? e.rollTotal.toLocaleString() : e.rollTotal}${postFormat}\n`;
|
||||||
});
|
});
|
||||||
|
|
||||||
// If order is on, remove trailing ", "
|
// If order is on, remove trailing ", "
|
||||||
|
|
Loading…
Reference in New Issue