ATLYSS TechPendium

Module:TEST/Trade Items

Viewing old revision of Module:TEST/Trade_Items

You are viewing an old revision of this page from 1/19/2026, 4:06:43 PM.

View latest version
No documentation subpage (/doc) found for this module.
const LatestGameVersion = (await require("TEST/LatestVersion")).latest + "1";

function renderTable(items) {
    let wikitext = '';

    wikitext += '{| class="lg-table lg-table--striped"\n';
    wikitext += '! Icon !! Name !! Category !! Rarity !! Vendor Cost\n';

    for (const id in items) {
        const item = items[id];

        wikitext += '|-\n';

        // Icon
        if (item.icon) {
            wikitext += `| {{ItemIcon|${item.icon}}}\n`;
        } else {
            wikitext += '| —\n';
        }

        // Name
        wikitext += `| '''${item.name || id}'''\n`;

        // Category
        wikitext += `| ${item.category || '—'}\n`;

        // Rarity
        if (item.rarity) {
            wikitext += `| {{Rarity|${item.rarity}}}\n`;
        } else {
            wikitext += '| common\n';
        }

        // Vendor cost
        if (item.economy && item.economy.vendorCost != null) {
            wikitext += `| ${item.economy.vendorCost}\n`;
        } else {
            wikitext += '| —\n';
        }
    }

    wikitext += '|}\n';
    return wikitext;
}

exports.TEST = async function (props = {}) {
    let DATA;
    let usedVersion = LatestGameVersion;

    try {
        DATA = await require(`TEST/Trade_Items/data/${LatestGameVersion}`);
        return String(DATA);
    } catch {
        if (!props.fallbackVersion) {
            return '⚠️ Trade item data is unavailable.';
        }

        try {
            usedVersion = props.fallbackVersion;
            DATA = await require(`TEST/Trade_Items/data/${props.fallbackVersion}`);
        } catch {
            return '⚠️ Trade item data is unavailable.';
        }
    }

    let output = '';
    output += `''Data version: <code>${usedVersion}</code>''\n\n`;
    output += renderTable(DATA);

    return output;
};
Last Edited by LiveGobe on 1/19/2026, 4:06:43 PM