Add level-aware builder controls
This commit is contained in:
@@ -221,6 +221,27 @@ if (gearColumns.some((column) => column.name === 'level')) {
|
||||
console.log('Moving Gear level from canonical ISAC data to builder-instance state.');
|
||||
await database.exec('ALTER TABLE gear DROP COLUMN level');
|
||||
}
|
||||
if (!gearColumns.some((column) => column.name === 'range_reference_level')) {
|
||||
console.log('Recording the reference level for canonical Gear ranges.');
|
||||
await database.exec('ALTER TABLE gear ADD COLUMN range_reference_level INTEGER NOT NULL DEFAULT 50 CHECK(range_reference_level BETWEEN 1 AND 50)');
|
||||
}
|
||||
|
||||
const weaponRangeColumns = await (await database.prepare("PRAGMA table_info('weapon_tier_ranges')")).all();
|
||||
if (!weaponRangeColumns.some((column) => column.name === 'reference_level')) {
|
||||
console.log('Recording the reference level for canonical Weapon ranges.');
|
||||
await database.exec('ALTER TABLE weapon_tier_ranges ADD COLUMN reference_level INTEGER NOT NULL DEFAULT 50 CHECK(reference_level BETWEEN 1 AND 50)');
|
||||
}
|
||||
|
||||
const attributeColumns = await (await database.prepare("PRAGMA table_info('stat_attributes')")).all();
|
||||
for (const [name, definition] of [
|
||||
['gear_reference_level', 'INTEGER NOT NULL DEFAULT 50 CHECK(gear_reference_level BETWEEN 1 AND 50)'],
|
||||
['weapon_reference_level', 'INTEGER NOT NULL DEFAULT 50 CHECK(weapon_reference_level BETWEEN 1 AND 50)']
|
||||
]) {
|
||||
if (!attributeColumns.some((column) => column.name === name)) {
|
||||
console.log(`Recording the reference level for Attribute source ranges: ${name}.`);
|
||||
await database.exec(`ALTER TABLE stat_attributes ADD COLUMN ${name} ${definition}`);
|
||||
}
|
||||
}
|
||||
|
||||
const talentColumns = await (await database.prepare("PRAGMA table_info('talents')")).all();
|
||||
for (const [name, definition] of [
|
||||
|
||||
Reference in New Issue
Block a user