From 0564c535c3f66248f28f0caca5d7953ef045e6f6 Mon Sep 17 00:00:00 2001 From: AdamZ Date: Fri, 13 Nov 2026 16:45:35 -0800 Subject: [PATCH] Add Wickerman item data and character import support --- spec/System/TestImport_spec.lua | 38 +++++++ src/Classes/ImportTab.lua | 18 ++- src/Data/Bases/wickerman.lua | 195 ++++++++++++++++++++++++++++++++ src/Export/Bases/wickerman.txt | 194 +++++++++++++++++++++++++++++++ src/Export/Scripts/bases.lua | 1 + src/Modules/Data.lua | 2 + 6 files changed, 446 insertions(+), 2 deletions(-) create mode 100644 src/Data/Bases/wickerman.lua create mode 100644 src/Export/Bases/wickerman.txt diff --git a/spec/System/TestImport_spec.lua b/spec/System/TestImport_spec.lua index 4dc73ef7b10..acbf262a239 100644 --- a/spec/System/TestImport_spec.lua +++ b/spec/System/TestImport_spec.lua @@ -232,4 +232,42 @@ Implicits: 0]]) end) end + it("keeps Wickerman items separate through import and save/load", function() + -- Live OAuth structure and Lesser names; IDs and boundary-case rolls are synthetic. + local examples = { + { "Ravenous Skull", "Head", "Every 3 seconds, Consume a Corpse within 5 metres to Recover 4% of Life" }, + { "Lesser Warden's Arm", "Upper Limb", "+43 to maximum Life" }, + { "Greater Sirus' Head", "Head", "+10 to Strength" }, + { "Lesser Blackened Lungs", "Torso", "12% increased Warcry Speed", "VisceraBody" }, + { "Lesser Pocked Leg", "Lower Limb", "20% increased Armour from Equipped Helmet and Gloves", "VisceraLeg" }, + { "Artificial Appendage", "Upper Limb", "25% increased Effect of Chill" }, + { "Artificial Appendage", "Upper Limb", "18% increased Area of Effect for Attacks" }, + { "Artificial Appendage", "Upper Limb", "Minions have 30% increased Critical Strike Chance" }, + } + local equipped, items = { }, { } + for i, example in ipairs(examples) do + local slot = "Wickerman " .. example[2] + local item = { id = "synthetic-wickerman-" .. i, name = "", typeLine = example[1], baseType = example[1], frameType = 15, ilvl = 83, + inventoryId = example[4] or (example[2] == "Head" and "VisceraHead" or "VisceraArm"), implicitMods = { { description = example[3] } } } + table.insert(items, item) + equipped[slot] = item.id + end + local character = { level = 80, equipment = { }, wickerman = items } + build.importTab:ImportItemsAndSkills(character, true, false) + build.importTab:ImportItemsAndSkills(character, false, false) -- Replace only matching IDs. + loadBuildFromXML(build:SaveDB("code")) + assert.equals(#examples, #build.itemsTab.itemOrderList) + for i, example in ipairs(examples) do + local item = build.itemsTab.items[build.itemsTab.itemOrderList[i]] + assert.equals("synthetic-wickerman-" .. i, item.uniqueID) + assert.equals(example[1], item.baseName) + assert.equals("NORMAL", item.rarity) + assert.equals("Wickerman " .. example[2], item.type) + assert.equals(example[3], item.implicitModLines[1].line) + end + for slot, id in pairs(equipped) do + assert.equals(id, build.itemsTab.items[build.itemsTab.slots[slot].selItemId].uniqueID) + end + end) + end) diff --git a/src/Classes/ImportTab.lua b/src/Classes/ImportTab.lua index a44f91bc0aa..338f7c8a646 100644 --- a/src/Classes/ImportTab.lua +++ b/src/Classes/ImportTab.lua @@ -1373,6 +1373,7 @@ end --- @class CharacterItemsData : CharacterBasicData --- @field equipment GGGItem[] +--- @field wickerman? GGGItem[] --- @param charData CharacterItemsData --- @param clearItems boolean --- @param clearSkills boolean @@ -1422,6 +1423,9 @@ function ImportTabClass:ImportItemsAndSkills(charData, clearItems, clearSkills, end self:AssignGuardianItemSet(guardianSet.id) end + for _, itemData in ipairs(charData.wickerman or { }) do + self:ImportItem(itemData) + end if skillOrder then local groupOrder = { } for index, socketGroup in ipairs(self.build.skillsTab.socketGroupList) do @@ -1490,9 +1494,10 @@ function ImportTabClass:ImportItemsAndSkills(charData, clearItems, clearSkills, return charData, colorCodes.POSITIVE .. "Items and skills successfully imported." end -local rarityMap = { [0] = "NORMAL", "MAGIC", "RARE", "UNIQUE", [9] = "RELIC", [10] = "RELIC" } +local rarityMap = { [0] = "NORMAL", "MAGIC", "RARE", "UNIQUE", [9] = "RELIC", [10] = "RELIC", [15] = "NORMAL" } local slotMap = { ["Weapon"] = "Weapon 1", ["Offhand"] = "Weapon 2", ["Weapon2"] = "Weapon 1 Swap", ["Offhand2"] = "Weapon 2 Swap", ["Helm"] = "Helmet", ["BodyArmour"] = "Body Armour", ["Gloves"] = "Gloves", ["Boots"] = "Boots", - ["Amulet"] = "Amulet", ["Ring"] = "Ring 1", ["Ring2"] = "Ring 2", ["Ring3"] = "Ring 3", ["Belt"] = "Belt", ["BrequelGrafts"] = "Graft 1", ["BrequelGrafts2"] = "Graft 2", } + ["Amulet"] = "Amulet", ["Ring"] = "Ring 1", ["Ring2"] = "Ring 2", ["Ring3"] = "Ring 3", ["Belt"] = "Belt", ["BrequelGrafts"] = "Graft 1", ["BrequelGrafts2"] = "Graft 2", + ["VisceraHead"] = "Wickerman Head", ["VisceraBody"] = "Wickerman Torso", ["VisceraArm"] = "Wickerman Upper Limb", ["VisceraLeg"] = "Wickerman Lower Limb", } function ImportTabClass:ImportItem(itemData, slotName, ignoreWeaponSwap, itemSetId) if not slotName then @@ -1542,7 +1547,16 @@ function ImportTabClass:ImportItem(itemData, slotName, ignoreWeaponSwap, itemSet itemData.implicitMods = { } itemData.explicitMods = { } end + -- Lesser and Greater Wickerman names overlap ordinary names: prefer the exact base. + local exactBase = self.build.data.itemBases[item.name] + if exactBase and exactBase.type:match("^Wickerman ") then + item.baseName = item.name + item.type = exactBase.type + end for baseName, baseData in pairs(self.build.data.itemBases) do + if item.baseName then + break + end local s, e = item.name:find(baseName, 1, true) if s then item.baseName = baseName diff --git a/src/Data/Bases/wickerman.lua b/src/Data/Bases/wickerman.lua new file mode 100644 index 00000000000..d8e0d4fa49b --- /dev/null +++ b/src/Data/Bases/wickerman.lua @@ -0,0 +1,195 @@ +-- This file is automatically generated, do not edit! +-- Item data (c) Grinding Gear Games +-- Provisional name/type foundation from the 2026-11-12 spreadsheet, Items and Previews: +-- https://docs.google.com/spreadsheets/d/18mpaYAW8EWjJc3phwpSD8C3Y8B91yZmuJAW4qmepFKI/edit +-- Literal template entries intentionally avoid unrecovered BaseItemTypes fields. +-- Modifier ownership is inferred from client-ID stems, not a recovered foreign key. +-- Low/Med/High/Uber/Queen/numeric tokens do not establish availability or coexistence. +-- No default implicits, roll bounds, tags or requirements are inferred here. +-- In particular Coven Queen's Crown has an unknown effect, not a zero effect. +-- VisceraModBasiliskHigh and VisceraModTargaHigh have incomplete translations. +-- Supply actual modifier text on the item; the existing parser handles supported effects. +-- Artificial Appendage shares a name/type only: the three client identities below are +-- not distinguishable by name. PoB preserves supplied mod text, not a selected client ID. +-- Greater entries below are explicit preview names, not a rule derived from client tokens. +return function(itemBases) +itemBases["Adherent's Crown"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPrayerLeader +itemBases["Al-Hezmin's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAlHezmin +itemBases["Ancestor's Club"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTukohama +itemBases["Arachnid Egg Sac"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraRyslatha +itemBases["Arachnid Fangs"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBlackDeath +itemBases["Arachnid Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraWeaver +itemBases["Aristocrat's Torso"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCaligaImperatrix +itemBases["Armoured Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHectorTitucius +itemBases["Artificial Appendage"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVaalOversoul, Metadata/Items/Viscera/VisceraVaalOversoul2, Metadata/Items/Viscera/VisceraVaalOversoul3 +itemBases["Bandit Rogue's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraKraityn +itemBases["Bandit Warrior's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraOak +itemBases["Bandit Witch's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAlira +itemBases["Baran's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBaran +itemBases["Bat's Wings"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraShreikerEihal +itemBases["Bear Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAnimalPackBear +itemBases["Blackened Lungs"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGruthkul +itemBases["Blackguard's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightbringerLucius +itemBases["Blazing Skull"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraKaom +itemBases["Bloodied Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAureltheHungry +itemBases["Boar Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAnimalPackBoar +itemBases["Bonestalker's Ribcage"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBoneshaper +itemBases["Broken Bust"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraLivingKnowledge +itemBases["Brute's Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraKole +itemBases["Calcified Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBundleofWoe +itemBases["Captain's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGuardCaptain +itemBases["Carved Haunches"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTorchoakGrove +itemBases["Champion's Banner"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBannerofLunaris +itemBases["Chaos Golem's Core"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMuruk +itemBases["Charred Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraRegulus +itemBases["Chimera's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraChimera +itemBases["Chimeral Eye"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBasilisk +itemBases["Chitinous Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBoneQueen +itemBases["Coagulated Essence"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCoagulationofGore +itemBases["Cobra Tail"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSeleslatha +itemBases["Conjoined Hound Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraRaihara +itemBases["Constrictor's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraConstrictor +itemBases["Construct's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVaalSentry +itemBases["Corrupted Carapace"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMalachaiNightmare +itemBases["Coven Queen's Crown"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCovenQueen +itemBases["Crescent Blade"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraLunaris +itemBases["Crustacean's Claw"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDweller +itemBases["Cutthroat's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCalaf +itemBases["Defaced Bust"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMarceustheDefaced +itemBases["Desert Queen's Crown"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGarukhan +itemBases["Desert Sword"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMessengeroftheDesert +itemBases["Despot's Fist"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDominusHighTemplar +itemBases["Dessicated Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraToweringAberration +itemBases["Devourer's Antenna"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTunnelworm +itemBases["Diseased Wing"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPlaguewing +itemBases["Distended Stomach"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraUnendingFeast +itemBases["Drox's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDrox +itemBases["Eater of Worlds' Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraEaterofWorlds +itemBases["Elder's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraElder +itemBases["Elemental Essence"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraStranglecharm +itemBases["Engorged Eye"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPietyAbomination +itemBases["Enslaver's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraEnslaver +itemBases["Eradicator's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraEradicator +itemBases["Flaming Furnace"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMatriarch +itemBases["Flaming Goat Hoof"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAbberath +itemBases["Flaming Ribbon"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheInfernalSeal +itemBases["Flayed Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDroolmaw +itemBases["Flayed Visage"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraShavronne +itemBases["Flesh-fused Lantern"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheBurningMan +itemBases["Galvanic Tentacle"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAmarissa +itemBases["Gargantuan Claws"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGreatWhiteBeast +itemBases["Gelid Fangs"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraChilloftheMountain +itemBases["Gemling Torso"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGemlingCaptain +itemBases["General's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGeneralGravicius +itemBases["Ghostly Claw"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraOndar +itemBases["Gladiator's Heart"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBarkhul +itemBases["Goatman's Horn"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraUngulath +itemBases["Golden Ankh"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTolman +itemBases["Golemic Stone"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGneiss +itemBases["Greater Distended Stomach"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Official preview: effigy-GreaterDistendedStomach +itemBases["Greater Eater of Worlds' Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-14 +itemBases["Greater Elder's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-19 +itemBases["Greater Incarnation of Dread's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-12 +itemBases["Greater Incarnation of Fear's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-17 +itemBases["Greater Incarnation of Neglect's Cube"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Official preview: pinnacle-13 +itemBases["Greater Maven's Orrery"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Official preview: pinnacle-16 +itemBases["Greater Searing Exarch's Descry"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Official preview: pinnacle-18 +itemBases["Greater Shaper's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-15 +itemBases["Greater Sirus' Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-11 +itemBases["Greater Venarius' Scripture"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Official preview: pinnacle-20 +itemBases["Hag's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDepravedTrinityDoedre +itemBases["Hag's Stomach"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDoedretheVile +itemBases["Hallowed Descry"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHighTemplarAvarius +itemBases["Heretical Tome"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCato +itemBases["Hollowed Skull"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBravalo +itemBases["Hydra's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHydra +itemBases["Incarnation of Dread's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraIncarnationofDread +itemBases["Incarnation of Fear's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraIncarnationofFear +itemBases["Incarnation of Neglect's Cube"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraIncarnationofNeglect +itemBases["Infected Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPlagueRetch +itemBases["Infested Torso"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHollowskull +itemBases["Inquisitor's Claw"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMaligaro +itemBases["Inquisitor's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDepravedTrinityMaligaro +itemBases["Justicar's Helm"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraJusticarCasticus +itemBases["King Crab's Claw"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTsoagoth +itemBases["Lion's Claws"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraShredderofGladiators +itemBases["Lithic Haunches"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBoulderback +itemBases["Lunar Bow"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHarbingerofLunaris +itemBases["Mariner's Tricorne"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraFairgraves +itemBases["Maven's Orrery"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMaven +itemBases["Minotaur's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMinotaur +itemBases["Molten Core"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHatebeat +itemBases["Necromancer's Mask"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBoneSculptor +itemBases["Nightmarish Book of Depravity"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightmareofDepravedTrinity +itemBases["Nightmarish Core of the Unbreakable"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightmareofUnbreakable +itemBases["Nightmarish Head of Uhtred"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightmareofUhtred +itemBases["Nightmarish Wings of Catarina"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightmareofCatarina +itemBases["Nightmarish Wings of Lycia"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightmareofLycia +itemBases["Noble's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraRhys +itemBases["Ornate Torso"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGreust +itemBases["Osseous Scythe"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBoneAmalgam +itemBases["Osseous Talon"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSkeletonCage +itemBases["Overseer's Whip"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraOverseerKrow +itemBases["Phoenix's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPhoenix +itemBases["Pit Fighter's Helm"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBringerofBlood +itemBases["Poacher's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTarga +itemBases["Pocked Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHammerstorm +itemBases["Pocked Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPikerivet +itemBases["Primate Foot"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAidan +itemBases["Prosthetic Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAvariusReassembled +itemBases["Purifier's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPurifier +itemBases["Ravenous Skull"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraKitava +itemBases["Resplendent Sceptre"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHarbingerofSolaris +itemBases["Scarecrow's Pitchfork"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraEffigyofFear +itemBases["Scholar's Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTrinianIntellectusPrime +itemBases["Scholar's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGrandReliquarian +itemBases["Scorched Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraFireFury +itemBases["Scorpion Stinger"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraShakari +itemBases["Scout's Bow"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDishonouredQueen +itemBases["Sea Witch's Tentacle"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBroodPrincess +itemBases["Searing Exarch's Descry"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSearingExarch +itemBases["Severed Rhoa Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraOozeback +itemBases["Severed Scythe-hand"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraForgottenDaughter +itemBases["Severed Stinger"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraFidelitas +itemBases["Shaper's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraShaper +itemBases["Siren's Tentacle"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMerveil +itemBases["Sirus' Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSirus +itemBases["Skeletal Archer's Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraIronpoint +itemBases["Skeletal Beast Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTyrannursusMaximus +itemBases["Skeletal Tail"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSkeletalAbomination +itemBases["Skeletal Warrior's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraChatters +itemBases["Skeleton Wheel"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraFleetfreak +itemBases["Smouldering Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVilenta +itemBases["Smuggler's Hand"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraWeaponsSmuggler +itemBases["Solar Shield"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSolaris +itemBases["Soldier's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCaptainAurelianus +itemBases["Spectral Hood"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheForgottenShade +itemBases["Spider Queen's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraArakaali +itemBases["Spiked Carapace"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraThistlesage +itemBases["Spined Claws"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPerpetus +itemBases["Stag Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAnimalPackStag +itemBases["Statue Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheGoddessofPurity +itemBases["Sun-bleached Breastplate"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSwordofLunaris +itemBases["Swordmaster's Blade"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDaresso +itemBases["Templar Banner"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVoll +itemBases["Templar Skull"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraArchbishopGeofri +itemBases["Terrifying Maw"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraYugul +itemBases["Thaumaturge's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPiety +itemBases["Totemic Visage"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraKuduku +itemBases["Ursine Flesh"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraQuru +itemBases["Vaal Appendage"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVaalOverseer +itemBases["Venarius' Scripture"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVenarius +itemBases["Vendigo Claws"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheWhiteDeath +itemBases["Veritania's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVeritania +itemBases["Voidbearer's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheShipyardTerror +itemBases["Voltaic Apparatus"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGrappler +itemBases["Voltaic Skull"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGeneralAdus +itemBases["Vulture's Gut"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHundredFootShadow +itemBases["Warden's Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBrutus +itemBases["Witch's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDepravedTrinityShavronne +itemBases["Wraith Claws"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraWailingWraith +-- Exact baseType names and properties from a live OAuth character response (2026-11-13). +itemBases["Lesser Blackened Lungs"] = { type = "Wickerman Torso", tags = { }, req = { } } +itemBases["Lesser Pocked Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } +itemBases["Lesser Warden's Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } +end diff --git a/src/Export/Bases/wickerman.txt b/src/Export/Bases/wickerman.txt new file mode 100644 index 00000000000..ea81c6c8169 --- /dev/null +++ b/src/Export/Bases/wickerman.txt @@ -0,0 +1,194 @@ +-- Item data (c) Grinding Gear Games +-- Provisional name/type foundation from the 2026-11-12 spreadsheet, Items and Previews: +-- https://docs.google.com/spreadsheets/d/18mpaYAW8EWjJc3phwpSD8C3Y8B91yZmuJAW4qmepFKI/edit +-- Literal template entries intentionally avoid unrecovered BaseItemTypes fields. +-- Modifier ownership is inferred from client-ID stems, not a recovered foreign key. +-- Low/Med/High/Uber/Queen/numeric tokens do not establish availability or coexistence. +-- No default implicits, roll bounds, tags or requirements are inferred here. +-- In particular Coven Queen's Crown has an unknown effect, not a zero effect. +-- VisceraModBasiliskHigh and VisceraModTargaHigh have incomplete translations. +-- Supply actual modifier text on the item; the existing parser handles supported effects. +-- Artificial Appendage shares a name/type only: the three client identities below are +-- not distinguishable by name. PoB preserves supplied mod text, not a selected client ID. +-- Greater entries below are explicit preview names, not a rule derived from client tokens. +return function(itemBases) +itemBases["Adherent's Crown"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPrayerLeader +itemBases["Al-Hezmin's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAlHezmin +itemBases["Ancestor's Club"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTukohama +itemBases["Arachnid Egg Sac"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraRyslatha +itemBases["Arachnid Fangs"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBlackDeath +itemBases["Arachnid Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraWeaver +itemBases["Aristocrat's Torso"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCaligaImperatrix +itemBases["Armoured Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHectorTitucius +itemBases["Artificial Appendage"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVaalOversoul, Metadata/Items/Viscera/VisceraVaalOversoul2, Metadata/Items/Viscera/VisceraVaalOversoul3 +itemBases["Bandit Rogue's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraKraityn +itemBases["Bandit Warrior's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraOak +itemBases["Bandit Witch's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAlira +itemBases["Baran's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBaran +itemBases["Bat's Wings"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraShreikerEihal +itemBases["Bear Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAnimalPackBear +itemBases["Blackened Lungs"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGruthkul +itemBases["Blackguard's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightbringerLucius +itemBases["Blazing Skull"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraKaom +itemBases["Bloodied Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAureltheHungry +itemBases["Boar Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAnimalPackBoar +itemBases["Bonestalker's Ribcage"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBoneshaper +itemBases["Broken Bust"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraLivingKnowledge +itemBases["Brute's Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraKole +itemBases["Calcified Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBundleofWoe +itemBases["Captain's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGuardCaptain +itemBases["Carved Haunches"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTorchoakGrove +itemBases["Champion's Banner"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBannerofLunaris +itemBases["Chaos Golem's Core"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMuruk +itemBases["Charred Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraRegulus +itemBases["Chimera's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraChimera +itemBases["Chimeral Eye"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBasilisk +itemBases["Chitinous Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBoneQueen +itemBases["Coagulated Essence"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCoagulationofGore +itemBases["Cobra Tail"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSeleslatha +itemBases["Conjoined Hound Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraRaihara +itemBases["Constrictor's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraConstrictor +itemBases["Construct's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVaalSentry +itemBases["Corrupted Carapace"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMalachaiNightmare +itemBases["Coven Queen's Crown"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCovenQueen +itemBases["Crescent Blade"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraLunaris +itemBases["Crustacean's Claw"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDweller +itemBases["Cutthroat's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCalaf +itemBases["Defaced Bust"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMarceustheDefaced +itemBases["Desert Queen's Crown"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGarukhan +itemBases["Desert Sword"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMessengeroftheDesert +itemBases["Despot's Fist"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDominusHighTemplar +itemBases["Dessicated Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraToweringAberration +itemBases["Devourer's Antenna"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTunnelworm +itemBases["Diseased Wing"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPlaguewing +itemBases["Distended Stomach"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraUnendingFeast +itemBases["Drox's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDrox +itemBases["Eater of Worlds' Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraEaterofWorlds +itemBases["Elder's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraElder +itemBases["Elemental Essence"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraStranglecharm +itemBases["Engorged Eye"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPietyAbomination +itemBases["Enslaver's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraEnslaver +itemBases["Eradicator's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraEradicator +itemBases["Flaming Furnace"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMatriarch +itemBases["Flaming Goat Hoof"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAbberath +itemBases["Flaming Ribbon"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheInfernalSeal +itemBases["Flayed Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDroolmaw +itemBases["Flayed Visage"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraShavronne +itemBases["Flesh-fused Lantern"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheBurningMan +itemBases["Galvanic Tentacle"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAmarissa +itemBases["Gargantuan Claws"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGreatWhiteBeast +itemBases["Gelid Fangs"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraChilloftheMountain +itemBases["Gemling Torso"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGemlingCaptain +itemBases["General's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGeneralGravicius +itemBases["Ghostly Claw"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraOndar +itemBases["Gladiator's Heart"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBarkhul +itemBases["Goatman's Horn"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraUngulath +itemBases["Golden Ankh"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTolman +itemBases["Golemic Stone"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGneiss +itemBases["Greater Distended Stomach"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Official preview: effigy-GreaterDistendedStomach +itemBases["Greater Eater of Worlds' Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-14 +itemBases["Greater Elder's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-19 +itemBases["Greater Incarnation of Dread's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-12 +itemBases["Greater Incarnation of Fear's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-17 +itemBases["Greater Incarnation of Neglect's Cube"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Official preview: pinnacle-13 +itemBases["Greater Maven's Orrery"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Official preview: pinnacle-16 +itemBases["Greater Searing Exarch's Descry"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Official preview: pinnacle-18 +itemBases["Greater Shaper's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-15 +itemBases["Greater Sirus' Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Official preview: pinnacle-11 +itemBases["Greater Venarius' Scripture"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Official preview: pinnacle-20 +itemBases["Hag's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDepravedTrinityDoedre +itemBases["Hag's Stomach"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDoedretheVile +itemBases["Hallowed Descry"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHighTemplarAvarius +itemBases["Heretical Tome"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCato +itemBases["Hollowed Skull"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBravalo +itemBases["Hydra's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHydra +itemBases["Incarnation of Dread's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraIncarnationofDread +itemBases["Incarnation of Fear's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraIncarnationofFear +itemBases["Incarnation of Neglect's Cube"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraIncarnationofNeglect +itemBases["Infected Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPlagueRetch +itemBases["Infested Torso"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHollowskull +itemBases["Inquisitor's Claw"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMaligaro +itemBases["Inquisitor's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDepravedTrinityMaligaro +itemBases["Justicar's Helm"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraJusticarCasticus +itemBases["King Crab's Claw"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTsoagoth +itemBases["Lion's Claws"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraShredderofGladiators +itemBases["Lithic Haunches"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBoulderback +itemBases["Lunar Bow"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHarbingerofLunaris +itemBases["Mariner's Tricorne"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraFairgraves +itemBases["Maven's Orrery"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMaven +itemBases["Minotaur's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMinotaur +itemBases["Molten Core"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHatebeat +itemBases["Necromancer's Mask"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBoneSculptor +itemBases["Nightmarish Book of Depravity"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightmareofDepravedTrinity +itemBases["Nightmarish Core of the Unbreakable"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightmareofUnbreakable +itemBases["Nightmarish Head of Uhtred"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightmareofUhtred +itemBases["Nightmarish Wings of Catarina"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightmareofCatarina +itemBases["Nightmarish Wings of Lycia"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraNightmareofLycia +itemBases["Noble's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraRhys +itemBases["Ornate Torso"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGreust +itemBases["Osseous Scythe"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBoneAmalgam +itemBases["Osseous Talon"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSkeletonCage +itemBases["Overseer's Whip"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraOverseerKrow +itemBases["Phoenix's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPhoenix +itemBases["Pit Fighter's Helm"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBringerofBlood +itemBases["Poacher's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTarga +itemBases["Pocked Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHammerstorm +itemBases["Pocked Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPikerivet +itemBases["Primate Foot"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAidan +itemBases["Prosthetic Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAvariusReassembled +itemBases["Purifier's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPurifier +itemBases["Ravenous Skull"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraKitava +itemBases["Resplendent Sceptre"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHarbingerofSolaris +itemBases["Scarecrow's Pitchfork"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraEffigyofFear +itemBases["Scholar's Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTrinianIntellectusPrime +itemBases["Scholar's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGrandReliquarian +itemBases["Scorched Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraFireFury +itemBases["Scorpion Stinger"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraShakari +itemBases["Scout's Bow"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDishonouredQueen +itemBases["Sea Witch's Tentacle"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBroodPrincess +itemBases["Searing Exarch's Descry"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSearingExarch +itemBases["Severed Rhoa Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraOozeback +itemBases["Severed Scythe-hand"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraForgottenDaughter +itemBases["Severed Stinger"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraFidelitas +itemBases["Shaper's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraShaper +itemBases["Siren's Tentacle"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraMerveil +itemBases["Sirus' Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSirus +itemBases["Skeletal Archer's Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraIronpoint +itemBases["Skeletal Beast Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTyrannursusMaximus +itemBases["Skeletal Tail"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSkeletalAbomination +itemBases["Skeletal Warrior's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraChatters +itemBases["Skeleton Wheel"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraFleetfreak +itemBases["Smouldering Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVilenta +itemBases["Smuggler's Hand"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraWeaponsSmuggler +itemBases["Solar Shield"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSolaris +itemBases["Soldier's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraCaptainAurelianus +itemBases["Spectral Hood"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheForgottenShade +itemBases["Spider Queen's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraArakaali +itemBases["Spiked Carapace"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraThistlesage +itemBases["Spined Claws"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPerpetus +itemBases["Stag Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraAnimalPackStag +itemBases["Statue Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheGoddessofPurity +itemBases["Sun-bleached Breastplate"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraSwordofLunaris +itemBases["Swordmaster's Blade"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDaresso +itemBases["Templar Banner"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVoll +itemBases["Templar Skull"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraArchbishopGeofri +itemBases["Terrifying Maw"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraYugul +itemBases["Thaumaturge's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraPiety +itemBases["Totemic Visage"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraKuduku +itemBases["Ursine Flesh"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraQuru +itemBases["Vaal Appendage"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVaalOverseer +itemBases["Venarius' Scripture"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVenarius +itemBases["Vendigo Claws"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheWhiteDeath +itemBases["Veritania's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraVeritania +itemBases["Voidbearer's Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraTheShipyardTerror +itemBases["Voltaic Apparatus"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGrappler +itemBases["Voltaic Skull"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraGeneralAdus +itemBases["Vulture's Gut"] = { type = "Wickerman Torso", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraHundredFootShadow +itemBases["Warden's Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraBrutus +itemBases["Witch's Head"] = { type = "Wickerman Head", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraDepravedTrinityShavronne +itemBases["Wraith Claws"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } -- Metadata/Items/Viscera/VisceraWailingWraith +-- Exact baseType names and properties from a live OAuth character response (2026-11-13). +itemBases["Lesser Blackened Lungs"] = { type = "Wickerman Torso", tags = { }, req = { } } +itemBases["Lesser Pocked Leg"] = { type = "Wickerman Lower Limb", tags = { }, req = { } } +itemBases["Lesser Warden's Arm"] = { type = "Wickerman Upper Limb", tags = { }, req = { } } +end diff --git a/src/Export/Scripts/bases.lua b/src/Export/Scripts/bases.lua index f1dee5ee0e0..1097414f121 100644 --- a/src/Export/Scripts/bases.lua +++ b/src/Export/Scripts/bases.lua @@ -443,6 +443,7 @@ local itemTypes = { for _, name in pairs(itemTypes) do processTemplateFile(name, "Bases/", "../Data/Bases/", directiveTable) end +processTemplateFile("wickerman", "Bases/", "../Data/Bases/", directiveTable) print("Item bases exported.") diff --git a/src/Modules/Data.lua b/src/Modules/Data.lua index a1134c87915..de31d152e31 100644 --- a/src/Modules/Data.lua +++ b/src/Modules/Data.lua @@ -1241,6 +1241,8 @@ data.itemBases = { } for _, type in pairs(itemTypes) do LoadModule("Data/Bases/" .. type)(data.itemBases) end +-- Wickerman has base data only; no unique rarity or modifier ownership is assumed. +LoadModule("Data/Bases/wickerman")(data.itemBases) ---@class ItemBaseEntry ---@field label string