Ruined
This commit is contained in:
+17
-12
@@ -3,19 +3,19 @@ return function(hearth, api)
|
||||
local C = {VERSION = 1, MAX_JSON = 2048, FORM = "hearth:character"}
|
||||
local key = "hearth:appearance"
|
||||
local options = {
|
||||
body = {"compact", "balanced", "broad"},
|
||||
body = {"compact", "lean", "balanced", "broad", "sturdy"},
|
||||
skin = {"porcelain", "sand", "honey", "olive", "umber", "ebony"},
|
||||
face = {"calm", "angular", "soft", "weathered"},
|
||||
face = {"calm", "angular", "soft", "weathered", "lined"},
|
||||
eyes = {"hazel", "brown", "green", "blue", "grey"},
|
||||
hair = {"cropped", "sidepart", "wavy", "braids", "long", "shaved", "none"},
|
||||
hair = {"cropped", "sidepart", "wavy", "braids", "long", "shaved", "none", "curly", "topknot", "undercut"},
|
||||
hairColor = {"ash", "flax", "chestnut", "auburn", "black", "silver"},
|
||||
beard = {"none", "stubble", "moustache", "short_beard", "full_beard"},
|
||||
garment = {"tunic", "workshirt", "jerkin", "coat"},
|
||||
beard = {"none", "stubble", "moustache", "short_beard", "full_beard", "goatee", "braided_beard"},
|
||||
garment = {"tunic", "workshirt", "jerkin", "coat", "hooded_cloak", "travel_coat", "wool_mantle"},
|
||||
cloth = {"sage", "teal", "slate", "mauve", "ochre", "rust", "linen", "charcoal"},
|
||||
trousers = {"earth", "slate", "moss", "charcoal"}, boots = {"walnut", "black", "tan"},
|
||||
accent = {"none", "scarf", "apron", "sash", "vest"},
|
||||
accent = {"none", "scarf", "apron", "sash", "vest", "satchel", "tool_belt", "pauldrons", "hood"},
|
||||
accentColor = {"sage", "teal", "slate", "mauve", "ochre", "rust", "linen", "charcoal"},
|
||||
detail = {"none", "freckles", "scar", "freckles_scar"},
|
||||
detail = {"none", "freckles", "scar", "freckles_scar", "birthmark"},
|
||||
}
|
||||
local order = {"body", "skin", "face", "eyes", "hair", "hairColor", "beard", "garment",
|
||||
"cloth", "trousers", "boots", "accent", "accentColor", "detail"}
|
||||
@@ -83,8 +83,8 @@ return function(hearth, api)
|
||||
local function name(stem) return "hearth_char_" .. stem .. ".png" end
|
||||
local texture = table.concat({name("skin_" .. p.skin), name("face_" .. p.face), name("eyes_" .. p.eyes),
|
||||
name("garment_" .. p.garment .. "_" .. p.cloth), name("trousers_" .. p.trousers), name("boots_" .. p.boots),
|
||||
name("accent_" .. p.accent .. "_" .. p.accentColor), name("hair_" .. p.hair .. "_" .. p.hairColor),
|
||||
name("beard_" .. p.beard .. "_" .. p.hairColor), name("detail_" .. p.detail)}, "^")
|
||||
name("hair_" .. p.hair .. "_" .. p.hairColor), name("beard_" .. p.beard .. "_" .. p.hairColor),
|
||||
name("accent_" .. p.accent .. "_" .. p.accentColor), name("detail_" .. p.detail)}, "^")
|
||||
return "hearth_person" .. (p.body == "balanced" and "" or "_" .. p.body) .. ".b3d", texture
|
||||
end
|
||||
local function publish(player, value)
|
||||
@@ -120,7 +120,12 @@ return function(hearth, api)
|
||||
hair = "Hair style", hairColor = "Hair & facial hair color", beard = "Facial hair", garment = "Garment",
|
||||
cloth = "Cloth color", trousers = "Trousers", boots = "Boot leather", accent = "Accent",
|
||||
accentColor = "Accent color", detail = "Face details"}
|
||||
local names = {sidepart = "Side part", workshirt = "Work shirt", freckles_scar = "Freckles and scar"}
|
||||
local names = {sidepart = "Side part", workshirt = "Work shirt", freckles_scar = "Freckles and scar",
|
||||
hooded_cloak = "Hooded cloak", travel_coat = "Travel coat", wool_mantle = "Wool mantle",
|
||||
tool_belt = "Tool belt", braided_beard = "Braided beard", body="Body shape",
|
||||
compact="Compact", lean="Lean", balanced="Balanced", broad="Broad", sturdy="Sturdy",
|
||||
curly="Curly", topknot="Topknot", undercut="Undercut", goatee="Goatee",
|
||||
birthmark="Birthmark", pauldrons="Shoulder guards"}
|
||||
local function title(id)
|
||||
return names[id] or (id:gsub("_", " "):gsub("^%l", string.upper))
|
||||
end
|
||||
@@ -146,7 +151,7 @@ return function(hearth, api)
|
||||
"model[0.65,1.65;5.1,6.4;traveler;" .. esc(mesh) .. ";" .. esc(texture)
|
||||
.. ";0," .. st.yaw .. ";true;true;0,19;12]",
|
||||
"button[0.7,8.25;1.55,0.6;front;Front]button[2.4,8.25;1.55,0.6;profile;Profile]button[4.1,8.25;1.55,0.6;back;Back]",
|
||||
"tooltip[traveler;Drag to turn the preview. Only this model rotates.]"}
|
||||
"tooltip[traveler;" .. esc("Drag to turn the preview. Only this model rotates.") .. "]"}
|
||||
for i, tab in ipairs(tabs) do
|
||||
f[#f+1] = "button[" .. (6.2 + (i-1)*1.8) .. ",1.65;1.7,0.65;tab_" .. i .. ";" .. tab[1] .. "]"
|
||||
end
|
||||
@@ -184,7 +189,7 @@ return function(hearth, api)
|
||||
for k, v in pairs(fields) do
|
||||
count = count + 1; if count > 20 then return false end
|
||||
if visible[k] then
|
||||
local n = type(v) == "string" and #v <= 1 and v:match("^[1-9]$") and tonumber(v)
|
||||
local n = type(v) == "string" and #v <= 2 and v:match("^[1-9][0-9]?$") and tonumber(v)
|
||||
if not n or not options[visible[k]][n] then return false end
|
||||
draft[visible[k]] = options[visible[k]][n]
|
||||
elseif not controls[k] or (type(v) ~= "string" and type(v) ~= "boolean")
|
||||
|
||||
Reference in New Issue
Block a user