Module:PreRequisites

From Pacific Drive Wiki

Documentation for this module may be created at Module:PreRequisites/doc

local p = {}

p.requisites = {
    craft_mat = {
        icon = 'GARAGE-STATIONS.png',
        name = 'Craft Mat',
        color = '#ffffff',
    },
    steel_sheet = {
        icon = 'STEEL-SHEET Inverted.png',
        name = 'Steel Sheet|Research Steel Sheet',
        color = '#ffffff',
    },
    gear = {
        icon = 'GEAR.png',
        name = 'Gear|Research Gear',
        color = '#ffffff',
    },
    circuit_board = {
        icon = 'BREADBOARD.png',
        name = 'Circuit Board|Research Circuit Board',
        color = '#ffffff',
    },
    lim_chip = {
        icon = 'LIM-CHIP.png',
        name = 'LIM Chip|Research LIM Chip',
        color = '#ffffff',
    },
    scan_antenna = {
        icon = 'Zone-Scanner.png',
        name = 'Scanning Antenna|Install the Scanning Antenna',
        color = '#ffffff',
    },
    workbench = {
        icon = 'Craft-Bench-1.png',
        name = 'Workbench|Basic Workbench',
        color = '#ffffff',
    },
    advanced_workbench = {
        icon = 'Craft-Bench-2.png',
        name = 'Workbench#Advanced Workbench|Advanced Workbench',
        color = '#ffffff',
    },
    bulb = {
        icon = 'BULB.png',
        name = 'Bulb|Research Bulb',
        color = '#ffffff',
    },
    side_rack = {
        icon = 'HUD-Scan.png',
        name = 'Car#Side Racks|Unlock a Side Rack',
        color = '#ffffff',
    },
    roof_rack = {
        icon = 'HUD-Scan.png',
        name = 'Car#Roof Racks|Unlock a Roof Rack',
        color = '#ffffff',
    },
    tour_bus = {
        icon = 'HUD-Scan.png',
        name = 'Tour Bus|Scan a Tour Bus Anomaly',
        color = '#ffffff',
    },
    sizzling_mist = {
        icon = 'HUD-Scan.png',
        name = 'Sizzling Mist|Scan a Sizzling Mist Anomaly',
        color = '#ffffff',
    },
    bioflare = {
        icon = 'Bioflare.png',
        name = 'Bioflare|Research Bioflare',
        color = '#ffffff',
    },
    lead_shielding = {
        icon = 'HUD-Scan.png',
        name = 'Lead Shielding|Scan Lead Shielding',
        color = '#ffffff',
    },
    burp_bunny = {
        icon = 'HUD-Scan.png',
        name = 'Burp Bunny|Scan a Burp Bunny Anomaly',
        color = '#ffffff',
    },    
    spark_tower = {
        icon = 'HUD-Scan.png',
        name = 'Spark Tower|Scan a Spark Tower Anomaly',
        color = '#ffffff',
    },   
    devil_grinder = {
        icon = 'HUD-Scan.png',
        name = 'Devil Grinder|Scan a Devil Grinder Anomaly',
        color = '#ffffff',
    },  
    bubblegum_buddy = {
        icon = 'HUD-Scan.png',
        name = 'Bubblegum Buddy|Scan a Bubblegum Buddy Anomaly',
        color = '#ffffff',
    },   
    abductor = {
        icon = 'HUD-Scan.png',
        name = 'Abductor|Scan an Abductor Anomaly',
        color = '#ffffff',
    },
    shaggy_scrambler = {
        icon = 'HUD-Scan.png',
        name = 'Shaggy Scrambler|Scan a Shaggy Scrambler Anomaly',
        color = '#ffffff',
    },
    radiant_dredge = {
        icon = 'HUD-Scan.png',
        name = 'Radiant Dredge|Scan a Radiant Dredge Anomaly',
        color = '#ffffff',
    },
    crackling_crawler = {
        icon = 'HUD-Scan.png',
        name = 'Crackling Crawler|Scan a Crackling Crawler Anomaly',
        color = '#ffffff',
    },
    belching_barnacle = {
        icon = 'HUD-Scan.png',
        name = 'Belching Barnacle|Scan a Belching Barnicle Anomaly',
        color = '#ffffff',
    },
    electric_anomaly = {
        icon = 'HUD-Scan.png',
        name = 'Anomalies#Electrical|Scan two electric Anomalies',
        color = '#ffffff',
    },
    corrosive_anomaly = {
        icon = 'HUD-Scan.png',
        name = 'Anomalies#Acid|Scan three corrosive Anomalies',
        color = '#ffffff',
    },
    blacksmith = {
        icon = 'HUD-Scan.png',
        name = 'Blacksmith|Scan a Blacksmith Anomaly',
        color = '#ffffff',
    },
    spike_puddle = {
        icon = 'HUD-Scan.png',
        name = 'Spike Puddle|Scan a Spike Puddle Anomaly',
        color = '#ffffff',
    },
    moldy_balloon = {
        icon = 'HUD-Scan.png',
        name = 'Moldy Balloon|Scan a Moldy Balloon Anomaly',
        color = '#ffffff',
    },
    seat_rack = {
        icon = 'HUD-Scan.png',
        name = 'Car#Seat Racks|Unlock a Seat Rack',
        color = '#ffffff',
    },
    ARDA_fuel_tanker = {
        icon = 'HUD-Scan.png',
        name = 'ARDA Fuel Tanker|Scan an ARDA Fuel Tanker',
        color = '#ffffff',
    },
    can_opener = {
        icon = 'HUD-Scan.png',
        name = 'Can Opener|Scan a Can opener Anomaly',
        color = '#ffffff',
    },
    wriggling_wreck = {
        icon = 'HUD-Scan.png',
        name = 'Wriggling Wreck|Scan a Wriggling Wreck Anomaly',
        color = '#ffffff',
    },
    spike_log = {
        icon = 'HUD-Scan.png',
        name = 'Spike Log|Scan a Spike Log Anomaly',
        color = '#ffffff',
    },
    no_items = {
        icon = 'PC-Theft.png',
        name = 'None',
        color = '#ffffff',
    },
    three_anchors = {
        icon = 'HUD-Scan.png',
        name = 'Items#Anchors|Scan all three Anchor types',
        color = '#ffffff',
    },
    bunny = {
        icon = 'HUD-Scan.png',
        name = 'Anomalies|Scan a Bunny Anomaly',
        color = '#ffffff',
    },
    hot_dust = {
        icon = 'HUD-Scan.png',
        name = 'Hot Dust|Scan Hot Dust',
        color = '#ffffff',
    },
    remnant_ghost = {
        icon = 'HUD-Scan.png',
        name = 'Remnant Ghost|Scan a Remnant Ghost',
        color = '#ffffff',
    },
    airstrip = {
        icon = 'HUD-Scan.png',
        name = 'Airstrip|Scan an Airstrip Anomaly',
        color = '#ffffff',
    },
    magnetizer = {
        icon = 'HUD-Scan.png',
        name = 'LIM Magnetizer|Scan a LIM Magnetizer',
        color = '#ffffff',
    },
    carbonfiberglass = {
        icon = 'CARBON-FIBREGLASS.png',
        name = 'Carbonfiberglass',
        color = '#f8f7aa',
    },
}

function p.main(frame)
    local res = ''
    for key, value in frame.args.requisites:gmatch("([%w_]+)") do
        local requisites = p.requisites[key]
        if not requisites then
            return string.format("Item %s not found.", key)
        end
        res = string.format('%s<div style="color: #eaecc3; display: flex; align-items: center; max-width: 24em; padding: 0; margin: 0; border: solid; border-color: %s; border-width: 2px;"><span style="margin: 0; padding-left: 8px; padding-right: 8px;">[[File:%s|26px|alt=Icon for the %s resource]]</span><span style="width: 14em; border-left: solid; border-color: %s; border-width: 2px; font-size: 24px; padding: 2px 8px 2px 8px; margin: 0;">[[%s]]</span></div>',
        res, requisites.color, requisites.icon, requisites.name, requisites.color, requisites.name)
    end
    return res
end

return p