Conan Exiles Wiki
Advertisement
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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

local p = {}
local cargo = mw.ext.cargo

function p.Main( frame )
	local inpSet = frame.args['set']
	--local inpType = "base"
	--if frame.args['type'] and frame.args['type'] ~= "" then
	--	inpType = frame.args['type']
	--end
	--local inpExceptional = (inpType == "exceptional") or false
	--local inpFlawless = (inpType == "flawless") or false
	--local inpEpic = false
	--if frame.args['epic'] == "true" then
	--	inpEpic = true
	--end
	--local inExclude = frame.args['exclude']

	-- prepare query
	--local where = '_pageName '
	local where = 'armorset = "' .. inpSet .. '"'
	
	-- epic
	--if not inpEpic then 
	--	where = where  .. "NOT"
	--end
	--where = where .. ' LIKE "%(Epic)" AND '
	
	-- exceptional
	--local where = where  .. '_pageName '
	--if not inpExceptional then 
	--	where = where  .. "NOT"
	--end
	--where = where .. ' LIKE "Exceptional %" AND '
	
	-- flawless
	--local where = where  .. '_pageName '
	--if not inpFlawless then 
	--	where = where  .. "NOT"
	--end
	--where = where .. ' LIKE "Flawless %" AND '
	
	-- set name (and exclude saddle, padding and lining)
	--where = where .. '_pageName LIKE "%' .. inpSet .. '%" AND _pageName NOT LIKE "%Saddle%" AND _pageName NOT LIKE "%Padding%" AND _pageName NOT LIKE "%Lining%" '
	
	-- exclude
	--if inExclude ~= "" then
	--	for x in string.gmatch(inExclude, "([^,]+)") do
	--		where = where .. 'AND _pageName NOT LIKE "%' .. x .. '%" '
	--	end
	--end

	tables = 'Item'
    fields = 'id, name, _pageName, bonus, heatres, coldres, dlcPackage'
    local args = {
        where = 'type="Armor" AND ' .. where,
        orderBy = 'equipslot',
        groupBy = 'id,_pageName',
        limit = 10
    }
    
    -- itemlist
	local itemList = ""  -- inpSet .. " / " .. inpExceptional .. " / " .. where
	local foundHeatres, foundColdres = false
	local dlcPackage
	local attr = {["Accuracy"] = 0, ["Agility"] = 0, ["Grit"] = 0, ["Encumbrance"] = 0, ["Strength"] = 0, ["Survival"] = 0, ["Vitality"] = 0}
	local tempResis = {["HeatResi"] = 0, ["ColdResi"] = 0}

    local results = cargo.query( tables, fields, args )
    for r = 1, #results do
        local result = results[r]
        
        -- item list
        itemList = itemList .. "* " .. frame:callParserFunction('#invoke:ItemLink', 'Main', result["_pageName"]) .. "\n" 
        
        -- heat/cold res
        if tonumber(result["heatres"]) or 0 > 0 then
        	foundHeatres = true	
        	tempResis["HeatResi"] = tempResis["HeatResi"] + tonumber(result["heatres"])
        end
        if tonumber(result["coldres"]) or 0 > 0 then
        	foundColdres = true	
        	tempResis["ColdResi"] = tempResis["ColdResi"] + tonumber(result["coldres"])
        end
        
        -- bonus
        if result["bonus"] ~= "" then
        	for x in string.gmatch(result["bonus"], "([^,]+)") do
	        	local value, key = string.match(x,'(%d+)%s*(%a+)')
	        	if attr[key] then
	        		value = value + attr[key]
	        		attr[key] = value
	        	end
			end
        end
        	
        -- dlc
        if not dlcPackage then
        	dlcPackage = result["dlcPackage"]
        end
    end
	
	-- prepare result
	-- headline
	local headline = '<div style="font-size: 14px; font-weight:bold; color:#a38369">' .. inpSet .. '</div>\n'
    
    -- sub-headline
    local subHeadline = ""
    
    -- heat/cold res
    --if foundColdres and foundHeatres then
    --	subHeadline = subHeadline .. "[[File:T_tooltip_warmIcon.png|frameless|32px|link=]]" .. "/" .. "[[File:T_tooltip_coldIcon.png|frameless|32px|link=]]" .. " Heat and Cold resistance"
    --else
    if foundHeatres then
    	subHeadline = subHeadline .. "[[File:T_tooltip_warmIcon.png|frameless|32px|link=]] " .. tempResis["HeatResi"] .. " Heat resistance"
    end
    --else
    if foundColdres then
    	if foundHeatres then
    		subHeadline = subHeadline .. ", "
    	end
    	subHeadline = subHeadline .. "[[File:T_tooltip_coldIcon.png|frameless|32px|link=]] " .. tempResis["ColdResi"] .. " Cold resistance"
    end
    -- bonus
    local bonus = ""
    for k, v in pairs(attr) do
    	if v > 0 then
    		if bonus ~= "" then
    			bonus = bonus .. " "
    		end
    		bonus = bonus .. "+" .. v .. " " .. k
    	end
	end
	if bonus ~= "" then
		if foundColdres or foundHeatres then
			subHeadline = subHeadline .. ", "
		end
		subHeadline = subHeadline .. bonus	
	end
    -- dlc
    if dlcPackage and dlcPackage ~= "" then
    	subHeadline = subHeadline .. ", [[Downloadable Content|DLC]] [[" .. dlcPackage .. "]]"
    end
    subHeadline = subHeadline .. "\n"
    
    return headline .. subHeadline .. itemList
end
return p
Advertisement