ダイスロールUserScript
元ネタ
しかし、全然違うものになった
ダイスロールの記法(1d6とか)を読み込んで、ダイスを振った結果を返す Popup Menu 2d6だと6面ダイスを2回振るという意味
最大で、999面のダイスを99回振ることができる
d は ASCIIの小文字でなければならない
ダイスロールの実行例
1d6 = 4
1d100 = 47
2d6 = 6 , 5
3d10 = 4 , 10 , 10
99d999(最大値)
code:script.js
const DiceRoll = text => {
if (text.match(/^\d{1,2}d\d{1,3}$/)) {
let ret = '';
for (let i = 0 ; i < count; i++) {
const dice = Math.floor(Math.random() * num) + 1;
i==0 ? ret = ' = ' : ret = ret + ' , ';
ret = ret + dice;
}
return text + ret;
} else return text;
}
let DiceRoll_result = '';
scrapbox.PopupMenu.addButton({
title: text => {return(text ? '🎲' + (DiceRoll_result = DiceRoll(text)) : '🎲')},
onClick: text => {return(text ? DiceRoll_result : text)}
});
UserScript.icon