Add quality and luck-based checkbox

This commit is contained in:
Misode
2019-06-17 19:49:44 +02:00
parent a53f7b1678
commit b51c681e2e
2 changed files with 45 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ $("#source").val('');
$('#tableType').val("minecraft:generic");
$('#indentationSelect').val("2");
let indentation = 2;
let luck_based = false;
let table = {
type: "minecraft:generic",
pools: []
@@ -134,11 +135,26 @@ function updateEntryWeight(el) {
invalidated();
}
function updateEntryQuality(el) {
let quality = parseInt($(el).val());
if (isNaN(quality)) {
delete getEntry(el).quality;
} else {
getEntry(el).quality = quality;
}
invalidated();
}
function updateTableType() {
table.type = $('#tableType').val();
invalidated();
}
function updateLuckBased() {
luck_based = $('#luckBased').prop('checked');
invalidated();
}
function updateSouce() {
$('#source').removeClass('invalid');
try {
@@ -203,6 +219,7 @@ function generateStructure() {
// Bonus Rolls
let $bonus_rolls = $pool.find('.bonus-rolls');
if (pool.bonus_rolls) {
luck_based = true;
if (typeof pool.bonus_rolls === 'object') {
if (pool.bonus_rolls.type && pool.bonus_rolls.type.match(/(minecraft:)?binomial/)) {
$bonus_rolls.attr('data-type', 'binomial');
@@ -223,6 +240,9 @@ function generateStructure() {
} else {
$bonus_rolls.find('.exact').removeClass('d-none');
}
if (!luck_based) {
$pool.find('.bonus-rolls').addClass('d-none');
}
// Entries
for (let j = 0; j < pool.entries.length; j += 1) {
@@ -239,9 +259,18 @@ function generateStructure() {
$entry.find('.entry-name input').val(entry.name);
}
$entry.find('.entry-weight').removeClass('d-none');
if (luck_based) {
$entry.find('.entry-quality').removeClass('d-none');
} else {
$entry.find('.entry-quality').addClass('d-none');
}
if (entry.weight) {
$entry.find('.entry-weight input').val(entry.weight);
}
if (entry.quality) {
luck_based = true;
$entry.find('.entry-quality input').val(entry.quality);
}
if (entry.type === 'minecraft:alternatives' || entry.type === 'minecraft:sequence' || entry.type === 'minecraft:group') {
delete entry.name;
$entry.find('.entry-children').removeClass('d-none');
@@ -250,5 +279,7 @@ function generateStructure() {
$pool.children('.card-body').append($entry);
}
$('#structure').append($pool);
$('#luck-based').attr('checked', luck_based);
}
}