mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-02-09 08:38:53 +01:00
reverse compatibility for old random method
This commit is contained in:
parent
7264e3fe83
commit
9645034b09
@ -2121,22 +2121,34 @@ function getTimeSinceLastMessage() {
|
||||
}
|
||||
|
||||
function randomReplace(input, emptyListPlaceholder = '') {
|
||||
const randomPattern = /{{random[ : ]([^}]+)}}/gi;
|
||||
const randomPatternNew = /{{random\s?::\s?([^}]+)}}/gi;
|
||||
const randomPatternOld = /{{random\s?:\s?([^}]+)}}/gi;
|
||||
|
||||
return input.replace(randomPattern, (match, listString) => {
|
||||
if (randomPatternNew.test(input)) {
|
||||
return input.replace(randomPatternNew, (match, listString) => {
|
||||
//split on double colons instead of commas to allow for commas inside random items
|
||||
const list = listString.split('::').filter(item => item.length > 0);
|
||||
if (list.length === 0) {
|
||||
return emptyListPlaceholder;
|
||||
}
|
||||
|
||||
var rng = new Math.seedrandom('added entropy.', { entropy: true });
|
||||
const randomIndex = Math.floor(rng() * list.length);
|
||||
|
||||
//const randomIndex = Math.floor(Math.random() * list.length);
|
||||
//trim() at the end to allow for empty random values
|
||||
return list[randomIndex].trim();
|
||||
});
|
||||
} else if (randomPatternOld.test(input)) {
|
||||
return input.replace(randomPatternOld, (match, listString) => {
|
||||
const list = listString.split(',').map(item => item.trim()).filter(item => item.length > 0);
|
||||
if (list.length === 0) {
|
||||
return emptyListPlaceholder;
|
||||
}
|
||||
var rng = new Math.seedrandom('added entropy.', { entropy: true });
|
||||
const randomIndex = Math.floor(rng() * list.length);
|
||||
return list[randomIndex];
|
||||
});
|
||||
} else {
|
||||
return input
|
||||
}
|
||||
}
|
||||
|
||||
function diceRollReplace(input, invalidRollPlaceholder = '') {
|
||||
|
Loading…
x
Reference in New Issue
Block a user