mirror of
https://github.com/NuSkooler/enigma-bbs.git
synced 2025-06-05 04:07:23 +02:00
+ ACS: AC for achievement count check
+ ACS: AP for achievement point check + User minutes used on the system are now tracked + MCI: TO for total time spent online system (friendly format) * Fix up a couple ACS bugs with |value| * Fix formatting of achievement text + Add more achievements * Fix achievement duration formatting
This commit is contained in:
parent
091a9ae2c7
commit
2788c37492
12 changed files with 149 additions and 27 deletions
|
@ -406,19 +406,23 @@ class Achievements {
|
|||
|
||||
getFormattedTextFor(info, textType, defaultSgr = '|07') {
|
||||
const themeDefaults = _.get(info.client.currentTheme, 'achievements.defaults', {});
|
||||
const defSgr = themeDefaults[`${textType}SGR`] || defaultSgr;
|
||||
const textTypeSgr = themeDefaults[`${textType}SGR`] || defaultSgr;
|
||||
|
||||
const wrap = (fieldName, value) => {
|
||||
return `${themeDefaults[fieldName] || defSgr}${value}${defSgr}`;
|
||||
const formatObj = this.getFormatObject(info);
|
||||
|
||||
const wrap = (input) => {
|
||||
const re = new RegExp(`{(${Object.keys(formatObj).join('|')})([^}]*)}`, 'g');
|
||||
return input.replace(re, (m, formatVar, formatOpts) => {
|
||||
const varSgr = themeDefaults[`${formatVar}SGR`] || textTypeSgr;
|
||||
let r = `${varSgr}{${formatVar}`;
|
||||
if(formatOpts) {
|
||||
r += formatOpts;
|
||||
}
|
||||
return `${r}}${textTypeSgr}`;
|
||||
});
|
||||
};
|
||||
|
||||
let formatObj = this.getFormatObject(info);
|
||||
formatObj = _.reduce(formatObj, (out, v, k) => {
|
||||
out[k] = wrap(k, v);
|
||||
return out;
|
||||
}, {});
|
||||
|
||||
return stringFormat(`${defSgr}${info.details[textType]}`, formatObj);
|
||||
return stringFormat(`${textTypeSgr}${wrap(info.details[textType])}`, formatObj);
|
||||
}
|
||||
|
||||
createAchievementInterruptItems(info, cb) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue