Module:NHVillagerItemOutput
From Nookipedia, the Animal Crossing wiki
Revision as of 13:57, August 18, 2022 by PanchamBro (talk | contribs) (clarifying more on what the item is used for + fixing issues when clothing is used as furniture but not with villager clothing)
Module documentation (view)
Usage
This Lua module outputs the villager data info for item pages from Animal Crossing: New Horizons in regards to their furniture, clothing, umbrella, interior items, and order list in the Happy Home Paradise DLC. These are put through {{NHFurnitureVillagers}}, {{NHInteriorVillagers}}, {{NHClothingVillagers}}, {{NHUmbrellaVillagers}}, and {{HHPItemVillagers}}. Please refer to the documentation of each of these templates for more information.
local p = {}
local cargo = mw.ext.cargo
function tableEmpty(s)
return next(s) == nil
end
function isEmpty(s)
return s == nil or s == ''
end
function p.HHPOutput( frame, typeItem )
local print = ''
local currency
-- Cargo query for hhp_villager (without facilities)
local tables1 = 'hhp_villager'
local fields1 = "hhp_villager.name=name,hhp_villager._pageTitle=pageName,hhp_villager.icon=icon"
local args1 = {
where = "hhp_villager.facility=0 AND (hhp_villager.unlocked_items LIKE '%\"" .. frame.args['1']:gsub("\'","\\'") .. "\"%' OR hhp_villager.item1 = \"" .. frame.args['1']:gsub("\'","\\'") .. "\" OR hhp_villager.item2 = \"" .. frame.args['1']:gsub("\'","\\'") .. "\" OR hhp_villager.item3 = \"" .. frame.args['1']:gsub("\'","\\'") .. "\")",
orderBy = 'hhp_villager.name_sort',
groupBy = 'hhp_villager.name_sort',
limit = 500,
default = ''
}
local resultsHHP = cargo.query( tables1, fields1, args1 )
-- Cargo query for hhp_villager (only facilities)
local tables2 = 'hhp_villager'
local fields2 = "hhp_villager.name=name,hhp_villager._pageTitle=pageName"
local args2 = {
where = "hhp_villager.facility=1 AND hhp_villager.unlocked_items LIKE '%\"" .. frame.args['1']:gsub("\'","\\'") .. "\"%'",
orderBy = 'hhp_villager.name_sort',
groupBy = 'hhp_villager.name_sort',
limit = 500,
default = ''
}
local resultsHHP_Facility = cargo.query( tables2, fields2, args2 )
-- Cargo query for hhp_villager (required items)
local tables3 = 'hhp_villager'
local fields3 = "hhp_villager.name=name,hhp_villager._pageTitle=pageName,hhp_villager.icon=icon"
local args3 = {
where = "hhp_villager.facility=0 AND (hhp_villager.item1 = \"" .. frame.args['1']:gsub("\'","\\'") .. "\" OR hhp_villager.item2 = \"" .. frame.args['1']:gsub("\'","\\'") .. "\" OR hhp_villager.item3 = \"" .. frame.args['1']:gsub("\'","\\'") .. "\")",
orderBy = 'hhp_villager.name_sort',
groupBy = 'hhp_villager.name_sort',
limit = 500,
default = ''
}
local resultsHHP_Required = cargo.query( tables3, fields3, args3 )
-- Cargo query for hhp_villager (required item under category for facilities)
local tables4 = 'hhp_facility_category'
local fields4 = "hhp_facility_category.category=category,hhp_facility_category.room=room,hhp_facility_category._pageTitle=pageName,hhp_facility_category.facility=facility"
local args4 = {
where = "hhp_facility_category.items LIKE '%\"" .. frame.args['1']:gsub("\'","\\'") .. "\"%'",
orderBy = 'hhp_facility_category.facility,hhp_facility_category.room',
groupBy = 'hhp_facility_category._pageTitle',
limit = 500,
default = ''
}
local resultsHHP_Category = cargo.query( tables4, fields4, args4 )
local tables5
local fields5
local args5
local resultsHHP_Wardell
if typeItem == "furniture" then
-- Cargo query for nh_furniture (Wardell price)
tables5 = 'nh_furniture'
fields5 = "nh_furniture.buy2_price=price,nh_furniture.availability2=availability2,nh_furniture.buy2_currency=currency"
args5 = {
where = "nh_furniture._pageName = \"Item:" .. frame.args['1']:gsub("\'","\\'") .. " (New Horizons)\"",
limit = 2000,
groupBy = 'nh_furniture._pageName',
default = '',
}
resultsHHP_Wardell = cargo.query( tables5, fields5, args5 )
elseif typeItem == "interior" then
-- Cargo query for nh_interior (Wardell price)
tables5 = 'nh_interior'
fields5 = "nh_interior.buy2_price=price,nh_interior.availability2=availability2,nh_interior.buy2_currency=currency"
args5 = {
where = "nh_interior._pageName = \"Item:" .. frame.args['1']:gsub("\'","\\'") .. " (New Horizons)\"",
limit = 2000,
groupBy = 'nh_interior._pageName',
default = '',
}
resultsHHP_Wardell = cargo.query( tables5, fields5, args5 )
end
-- Cargo query for nh_clothing (equipable items)
local tables6 = 'nh_clothing'
local fields6 = "nh_clothing.vill_equip=equip"
local args6 = {
where = "nh_clothing._pageName = \"Item:" .. frame.args['1']:gsub("\'","\\'") .. " (New Horizons)\"",
limit = 2000,
groupBy = 'nh_clothing._pageName',
default = '',
}
local resultsVill_Equip = cargo.query( tables6, fields6, args6 )
-- Cargo query for nh_clothing (handbags)
local tables7 = 'nh_clothing'
local fields7 = "nh_clothing.handbag=handbag"
local args7 = {
where = "nh_clothing._pageName = \"Item:" .. frame.args['1']:gsub("\'","\\'") .. " (New Horizons)\"",
limit = 2000,
groupBy = 'nh_clothing._pageName',
default = '',
}
local resultsHandbags = cargo.query( tables7, fields7, args7 )
-- Cargo query for nh_recipe (Crafting)
local tables8 = 'nh_recipe'
local fields8 = "nh_recipe.en_name"
local args8 = {
where = "nh_recipe._pageName = \"Item:" .. frame.args['1']:gsub("\'","\\'") .. " (New Horizons)\"",
limit = 2000,
groupBy = 'nh_recipe._pageName',
default = '',
}
local resultsCrafting = cargo.query( tables8, fields8, args8 )
print = print .. "In " .. frame:preprocess('{{HHP|short}}')
if (not isEmpty(frame.args['hhpstatus']) and frame.args['hhpstatus']:lower() == "starter") then
print = print .. ", this item is available from the start for use in [[designing]]"
if not isEmpty(frame.args['clothing']) and not (not tableEmpty(resultsHandbags) and resultsHandbags[1].handbag == "1") then
print = print .. " and changing the clothes of"
if not tableEmpty(resultsVill_Equip) and resultsVill_Equip[1].equip == "1" then
print = print .. " a villager or"
end
print = print .. " the player"
end
print = print .. "."
if not tableEmpty(resultsHHP) then
print = print .. ' '
for r = 1, #resultsHHP do
if r == #resultsHHP and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. resultsHHP[r].icon .. "|25px|link=|alt=|" .. resultsHHP[r].name .. "]] [[" .. resultsHHP[r].pageName .. "|" .. resultsHHP[r].name .. "]]"
if r == #resultsHHP then
print = print .. ''
elseif r-1 == 0 and r+1 == #resultsHHP then
print = print .. ' '
else
print = print .. ', '
end
end
print = print .. " feature"
if #resultsHHP == 1 then
print = print .. "s"
end
print = print .. " this item in their order list when designing their vacation home."
end
elseif (not isEmpty(frame.args['hhpstatus']) and frame.args['hhpstatus']:lower() == "sixhouses") then
print = print .. ", this item is available for use in [[designing]] after completing six vacation homes and the [[school]] facility."
if not tableEmpty(resultsHHP) then
print = print .. ' '
for r = 1, #resultsHHP do
if r == #resultsHHP and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. resultsHHP[r].icon .. "|25px|link=|alt=|" .. resultsHHP[r].name .. "]] [[" .. resultsHHP[r].pageName .. "|" .. resultsHHP[r].name .. "]]"
if r == #resultsHHP then
print = print .. ''
elseif r-1 == 0 and r+1 == #resultsHHP then
print = print .. ' '
else
print = print .. ', '
end
end
print = print .. " feature"
if #resultsHHP == 1 then
print = print .. "s"
end
print = print .. " this item in their order list when designing their vacation home."
end
elseif (not isEmpty(frame.args['hhpstatus']) and frame.args['hhpstatus']:lower() == "hybrid") then
print = print .. ", this item is unlocked for use in [[designing]] after listening to [[Leif]]'s lecture at the [[school]] regarding hybrid flowers."
if not tableEmpty(resultsHHP) then
print = print .. ' '
for r = 1, #resultsHHP do
if r == #resultsHHP and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. resultsHHP[r].icon .. "|25px|link=|alt=|" .. resultsHHP[r].name .. "]] [[" .. resultsHHP[r].pageName .. "|" .. resultsHHP[r].name .. "]]"
if r == #resultsHHP then
print = print .. ''
elseif r-1 == 0 and r+1 == #resultsHHP then
print = print .. ' '
else
print = print .. ', '
end
end
print = print .. " feature"
if #resultsHHP == 1 then
print = print .. "s"
end
print = print .. " this item in their order list when designing their vacation home."
end
elseif (not isEmpty(frame.args['hhpstatus']) and frame.args['hhpstatus']:lower() == "plant") then
print = print .. ", this item is unlocked for use in [[designing]] when doing the second villager's vacation house."
if not tableEmpty(resultsHHP) then
print = print .. ' '
for r = 1, #resultsHHP do
if r == #resultsHHP and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. resultsHHP[r].icon .. "|25px|link=|alt=|" .. resultsHHP[r].name .. "]] [[" .. resultsHHP[r].pageName .. "|" .. resultsHHP[r].name .. "]]"
if r == #resultsHHP then
print = print .. ''
elseif r-1 == 0 and r+1 == #resultsHHP then
print = print .. ' '
else
print = print .. ', '
end
end
print = print .. " feature"
if #resultsHHP == 1 then
print = print .. "s"
end
print = print .. " this item in their order list when designing their vacation home."
end
elseif (not isEmpty(frame.args['hhpstatus']) and frame.args['hhpstatus']:lower() == "partition") then
print = print .. ", this item is unlocked for use in [[designing]] when doing the eighth villager's vacation house."
elseif (not isEmpty(frame.args['hhpstatus']) and frame.args['hhpstatus']:lower() == "party") then
print = print .. ", this item is unlocked for use in [[designing]] after attending the first party hosted by [[Lottie]] for designing ten houses."
if not tableEmpty(resultsHHP) then
print = print .. ' '
for r = 1, #resultsHHP do
if r == #resultsHHP and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. resultsHHP[r].icon .. "|25px|link=|alt=|" .. resultsHHP[r].name .. "]] [[" .. resultsHHP[r].pageName .. "|" .. resultsHHP[r].name .. "]]"
if r == #resultsHHP then
print = print .. ''
elseif r-1 == 0 and r+1 == #resultsHHP then
print = print .. ' '
else
print = print .. ', '
end
end
print = print .. " feature"
if #resultsHHP == 1 then
print = print .. "s"
end
print = print .. " this item in their order list when designing their vacation home."
end
elseif (not isEmpty(frame.args['hhpstatus']) and frame.args['hhpstatus']:lower() == "niko") then
print = print .. ", this item is unlocked for use in [[designing]] after listening to [[Niko]]'s lecture at the [[school]] regarding wooden pillars and counters."
else
if not tableEmpty(resultsHHP) then
print = print .. ", this item is unlocked for use in [[designing]] when doing a vacation home request for "
for r = 1, #resultsHHP do
if r == #resultsHHP and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. resultsHHP[r].icon .. "|25px|link=|alt=|" .. resultsHHP[r].name .. "]] [[" .. resultsHHP[r].pageName .. "|" .. resultsHHP[r].name .. "]]"
if r == #resultsHHP then
print = print .. '.'
elseif r-1 == 0 and r+1 == #resultsHHP then
print = print .. ' '
else
print = print .. ', '
end
end
end
end
if not tableEmpty(resultsHHP_Facility) then
if not tableEmpty(resultsHHP) then
if (not isEmpty(frame.args['hhpstatus'])) then
print = print .. " The item is also featured in the order list of "
else
print = print .. " The item can also be unlocked when tasked by Lottie to design "
end
for r = 1, #resultsHHP_Facility do
if r == #resultsHHP_Facility and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "the [[" .. resultsHHP_Facility[r].pageName .. "|" .. resultsHHP_Facility[r].name:lower() .. "]]"
if r == #resultsHHP_Facility then
print = print .. '.'
elseif r-1 == 0 and r+1 == #resultsHHP_Facility then
print = print .. ' '
else
print = print .. ', '
end
end
else
print = print .. ", this item is unlocked for use in [[designing]] when tasked by Lottie to design "
for r = 1, #resultsHHP_Facility do
if r == #resultsHHP_Facility and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "the [[" .. resultsHHP_Facility[r].pageName .. "|" .. resultsHHP_Facility[r].name:lower() .. "]]"
if r == #resultsHHP_Facility then
print = print .. '.'
elseif r-1 == 0 and r+1 == #resultsHHP_Facility then
print = print .. ' '
else
print = print .. ', '
end
end
end
end
if not isEmpty(frame.args['clothing']) and not (not tableEmpty(resultsHandbags) and resultsHandbags[1].handbag == "1") and (not (tableEmpty(resultsHHP)) or not tableEmpty(resultsHHP_Facility)) then
print = print .. " The item can also be used to change the clothing of"
if not tableEmpty(resultsVill_Equip) and resultsVill_Equip[1].equip == "1" then
print = print .. " a villager or"
end
print = print .. " the player either during or after the designing process."
end
if not isEmpty(frame.args['text-hhp']) then
print = print .. " " .. frame.args['text-hhp']
end
if not tableEmpty(resultsHHP_Required) then
if (not tableEmpty(resultsHHP)) or (not tableEmpty(resultsHHP_Facility)) then
print = print .. "\n\n"
print = print .. "In the designing process of ''Happy Home Paradise'', "
for r = 1, #resultsHHP_Required do
if r == #resultsHHP_Required and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. resultsHHP_Required[r].icon .. "|25px|link=|alt=|" .. resultsHHP_Required[r].name .. "]] [[" .. resultsHHP_Required[r].pageName .. "|" .. resultsHHP_Required[r].name .. "]]"
if r == #resultsHHP_Required or (r-1 == 0 and r+1 == #resultsHHP_Required) then
print = print .. ' '
else
print = print .. ', '
end
end
print = print .. "require"
if #resultsHHP_Required == 1 then
print = print .. "s"
end
print = print .. " this item to be placed in or outside their vacation home."
end
end
if not tableEmpty(resultsHHP_Category) then
if (not tableEmpty(resultsHHP)) or (not tableEmpty(resultsHHP_Facility)) then
if not tableEmpty(resultsHHP_Required) then
print = print .. " This item is also required "
else
print = print .. '\n\n'
print = print .. "In the designing process of ''Happy Home Paradise'', this item is required "
end
for r = 1, #resultsHHP_Category do
if r == #resultsHHP_Category and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "as one of the " .. resultsHHP_Category[r].category:lower() .. " for the " .. resultsHHP_Category[r].room:lower() .. " at the [[" .. resultsHHP_Category[r].pageName .. "|" .. resultsHHP_Category[r].facility:lower() .. "]]"
if r == #resultsHHP_Category then
print = print .. '.'
elseif r-1 == 0 and r+1 == #resultsHHP_Category then
print = print .. ' '
else
print = print .. ', '
end
end
end
end
if (typeItem == "furniture" or typeItem == "interior") and not tableEmpty(resultsHHP_Wardell) and (not isEmpty(resultsHHP_Wardell[1].price) and resultsHHP_Wardell[1].currency == "Poki") and (not (tableEmpty(resultsHHP)) or not (tableEmpty(resultsHHP_Facility)) or not isEmpty(frame.args['hhpstatus'])) then
currency = require("Module:Currency")
print = print .. '\n\n'
print = print .. "After unlocking this item in ''Happy Home Paradise'', the item can be purchased from [[Wardell]]'s catalog"
if (resultsHHP_Wardell[1].availability2 == "Paradise Planning office" or resultsHHP_Wardell[1].availability2 == "Café") then
print = print .. ''
else
print = print .. " for " .. currency.outputCurrency("Poki", resultsHHP_Wardell[1].price,"","","","")
end
print = print .. "."
end
if (tableEmpty(resultsHHP)) and (tableEmpty(resultsHHP_Facility) and isEmpty(frame.args['hhpstatus'])) then
print = print .. ", no villagers or facility unlock this item for [[designing]]"
if not isEmpty(frame.args['clothing']) and not (not tableEmpty(resultsHandbags) and resultsHandbags[1].handbag == "1") then
print = print .. " and changing the clothing of"
if not tableEmpty(resultsVill_Equip) and resultsVill_Equip[1].equip == "1" then
print = print .. " a villager and"
end
print = print .. " the player"
end
if not tableEmpty(resultsCrafting) then
print = print .. ". It can only be used once the player's [[DIY]] catalog is unlocked after completing the 15th vacation home."
else
print = print .. ". It can only be used once the player's [[catalog]] is unlocked after completing the 27th vacation home."
end
if (typeItem == "furniture" or typeItem == "interior") and not tableEmpty(resultsHHP_Wardell) and (not isEmpty(resultsHHP_Wardell[1].price) and resultsHHP_Wardell[1].currency == "Poki") then
currency = require("Module:Currency")
print = print .. ''
print = print .. " Therefore, this item only appears in [[Wardell]]'s catalog"
if (resultsHHP_Wardell[1].availability2 == "Paradise Planning office" or resultsHHP_Wardell[1].availability2 == "Café") then
print = print .. ''
else
print = print .. " for " .. currency.outputCurrency("Poki", resultsHHP_Wardell[1].price)
end
print = print .. " after the player has catalogued this item."
end
if not tableEmpty(resultsHHP_Category) then
print = print .. "\n\nIn the designing process of ''Happy Home Paradise'' however, the item is required "
for r = 1, #resultsHHP_Category do
if r == #resultsHHP_Category and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "as one of the " .. resultsHHP_Category[r].category:lower() .. " for the " .. resultsHHP_Category[r].room:lower() .. " at the [[" .. resultsHHP_Category[r].pageName .. "|" .. resultsHHP_Category[r].facility:lower() .. "]]"
if r == #resultsHHP_Category then
print = print .. '.'
elseif r-1 == 0 and r+1 == #resultsHHP_Category then
print = print .. ' '
else
print = print .. ', '
end
end
end
end
return print
end
function p.furnitureOutput( frame )
local print = ''
-- Cargo query for nh_house
local tables = 'nh_house'
local fields = "nh_house.villager=villager,nh_house._pageTitle=pageName"
local args = {
where = "nh_house.items LIKE '%\"" .. frame.args['1']:gsub("\'","\\'") .. "\"%'",
orderBy = 'nh_house.name_sort',
limit = 300,
default = ''
}
local results = cargo.query( tables, fields, args )
if not tableEmpty(results) then
if not isEmpty(frame.args['disable-clothing']) then
print = print .. "However, this item "
else
print = print .. "This item "
end
if not isEmpty(frame.args['clothing']) and isEmpty(frame.args['disable-clothing']) then
print = print .. "also "
else
print = print .. " "
end
print = print .. "appears as a furniture item in the homes of "
for r = 1, #results do
if r == #results and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. results[r].villager .. " NH Villager Icon.png|25px|link=|alt=|" .. results[r].villager .. "]] [[" .. results[r].pageName .. "|" .. results[r].villager .. "]]"
if r == #results then
print = print .. '.'
elseif r-1 == 0 and r+1 == #results then
print = print .. ' '
else
print = print .. ', '
end
end
if not isEmpty(frame.args['not-purchasable']) then
print = print .. ''
else
print = print .. " As a result, this item has a chance to be purchasable by the player if they were invited by any of the preceding villagers."
end
else
print = print .. "No villagers have this item in their home."
end
if not isEmpty(frame.args['text']) then
print = print .. " " .. frame.args['text'] .. "."
end
if not isEmpty(frame.args['prune-hhp']) then
print = print .. ''
else
print = print .. '\n\n' .. p.HHPOutput(frame,"furniture")
end
return print
end
function p.clothingOutput( frame )
local print = ''
-- Cargo query for nh_villager
local tables = 'nh_villager'
local fields = "nh_villager.icon=icon,nh_villager.name=villager,nh_villager._pageTitle=pageName"
local args = {
where = "nh_villager.clothing = '" .. frame.args['1']:gsub("\'","\\'").. "'",
orderBy = 'nh_villager.name_sort',
limit = 300,
default = ''
}
local results = cargo.query( tables, fields, args )
if not tableEmpty(results) then
print = print .. "This item is worn by "
for r = 1, #results do
if r == #results and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. results[r].icon .. "|25px|link=|alt=|" .. results[r].villager .. "]] [[" .. results[r].pageName .. "|" .. results[r].villager .. "]]"
if r == #results then
print = print .. ' '
elseif r-1 == 0 and r+1 == #results then
print = print .. ' '
else
print = print .. ', '
end
end
print = print .. " as their default outfit."
else
print = print .. "No villagers wear this item as their default outfit."
end
if not isEmpty(frame.args['text']) then
print = print .. " " .. frame.args['text'] .. "."
end
if not isEmpty(frame.args['prune-hhp']) then
print = print .. ''
else
print = print .. '\n\n' .. p.HHPOutput(frame,"")
end
return print
end
function p.umbrellaOutput( frame )
local print = ''
-- Cargo query for nh_villager
local tables = 'nh_villager'
local fields = "nh_villager.icon=icon,nh_villager.name=villager,nh_villager._pageTitle=pageName"
local args = {
where = "nh_villager.umbrella = '" .. frame.args['1']:gsub("\'","\\'") .. "' AND species<>'Frog'",
orderBy = 'nh_villager.name_sort',
limit = 300,
default = ''
}
local results = cargo.query( tables, fields, args )
if not tableEmpty(results) then
print = print .. "This item is used by "
for r = 1, #results do
if r == #results and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. results[r].icon .. "|25px|link=|alt=|" .. results[r].villager .. "]] [[" .. results[r].pageName .. "|" .. results[r].villager .. "]]"
if r == #results then
print = print .. ' '
elseif r-1 == 0 and r+1 == #results then
print = print .. ' '
else
print = print .. ', '
end
end
print = print .. " as their default umbrella during periods of [[weather|rain]]."
else
print = print .. "No villagers use this item as their default umbrella during periods of [[weather|rain]]."
end
if not isEmpty(frame.args['text']) then
print = print .. " " .. frame.args['text'] .. "."
end
if not isEmpty(frame.args['prune-hhp']) then
print = print .. ''
else
print = print .. '\n\n' .. p.HHPOutput(frame,"")
end
return print
end
function p.interiorOutput( frame )
local print = ''
-- Cargo query for nh_house
local tables
local fields
local args
local results
if not isEmpty(frame.args['type']) and frame.args['type']:lower() == "wallpaper" then
tables = 'nh_house'
fields = "nh_house.villager=villager,nh_house._pageTitle=pageName"
args = {
where = "nh_house.wallpaper = '" .. frame.args['1']:gsub("\'","\\'") .. "'",
orderBy = 'nh_house.name_sort',
limit = 300,
default = ''
}
results = cargo.query( tables, fields, args )
elseif not isEmpty(frame.args['type']) and frame.args['type']:lower() == "flooring" then
tables = 'nh_house'
fields = "nh_house.villager=villager,nh_house._pageTitle=pageName"
args = {
where = "nh_house.flooring = '" .. frame.args['1']:gsub("\'","\\'") .. "'",
orderBy = 'nh_house.name_sort',
limit = 300,
default = ''
}
results = cargo.query( tables, fields, args )
else
results = {}
end
if not tableEmpty(results) then
print = print .. "This item appears in the homes of "
for r = 1, #results do
if r == #results and r-1 ~= 0 then
print = print .. 'and '
end
print = print .. "[[File:" .. results[r].villager .. " NH Villager Icon.png|25px|link=|alt=|" .. results[r].villager .. "]] [[" .. results[r].pageName .. "|" .. results[r].villager .. "]]"
if r == #results or (r-1 == 0 and r+1 == #results) then
print = print .. ' '
else
print = print .. ', '
end
end
if not isEmpty(frame.args['type']) and frame.args['type']:lower() == "wallpaper" then
print = print .. ' as the default wallpaper.'
elseif not isEmpty(frame.args['type']) and frame.args['type']:lower() == "flooring" then
print = print .. ' as the default flooring.'
end
else
print = print .. "No villagers have this item in their home."
end
if not isEmpty(frame.args['text']) then
print = print .. " " .. frame.args['text'] .. "."
end
if not isEmpty(frame.args['prune-hhp']) then
print = print .. ''
else
print = print .. '\n\n' .. p.HHPOutput(frame,"interior")
end
return print
end
return p