It appears that the roll examples on the wiki are a combination of dengine.js and the following code in the page header: if ( window.mediaWiki ) {
mediaWiki.loader.load(["mediawiki.util", "mediawiki.legacy.ajax", "ext.smw.sorttable", "ext.wikiEditor", "ext.wikiEditor.dialogs", "ext.wikiEditor.highlight", "ext.wikiEditor.preview", "ext.wikiEditor.publish", "ext.wikiEditor.previewDialog", "ext.wikiEditor.templates", "ext.wikiEditor.toolbar", "jquery.makeCollapsible"]);
mediaWiki.loader.go();
}
$(function() {
var engine = d20.dice_engine();
var rollre = /\/((roll)|(r)|(gmroll)|(gr))[ ]+/i;
$(".diceroller").on("keyup", function(e) {
var $this = $(this);
var origroll = $this.find("input").val().replace(rollre, "");
if(e.which == 13) {
try{
engine.process(origroll, function(results) {
if(results.error) {
$(this).find(".results").html("<div class='alert alert-danger'>"+results.error+"</div>");
return;
}
var htmlcontent = d20.dice_formatter.getHtmlForResult(results);
var attrs = {
htmlcontent: htmlcontent,
origRoll: origroll
};
console.log(attrs);
$this.find(".results").html($("#tmpl_chatmessage_newroll").jqote(attrs));
});
}
catch (e) {
console.log(e);
$(this).find(".results").html("<div class='alert alert-danger'>Invalid roll! Check your formula and try again.</div>");
}
}
});
$(".diceroller").each(function() {
var oldval = $(this).text();
$(this).html("<div class='results'></div><input type='text' /><small>Click in the box and press enter to roll the dice! You can also change the formula.</small>");
$(this).find("input").val(oldval);
});
});
var d20 = {}; At a glance, dengine.js is creating its own RNG, not using Math.random or Quantum Roll, which suggests that it's the same RNG as used on the VTT prior to Quantum Roll.