Module:Sandbox/Aurelain/ArtifactsOverview: Difference between revisions
From Heroes of Might and Magic: Olden Era Official Wiki
No edit summary |
No edit summary Tag: Manual revert |
||
| (168 intermediate revisions by the same user not shown) | |||
| Line 2: | Line 2: | ||
local p = {} | local p = {} | ||
local f = mw.ustring.format | local f = mw.ustring.format | ||
local UtilHyper = require('Module:UtilHyper') | |||
local SLOT_ORDER = { | local SLOT_ORDER = { | ||
| Line 39: | Line 40: | ||
local TRANSLATION_IDS = { | local TRANSLATION_IDS = { | ||
wiki_none = 'None', | wiki_none = 'None', | ||
wiki_level = 'Level', | |||
wiki_cost = 'Cost', | |||
wiki_total = 'Total', | |||
wiki_ao_artifact = 'Artifact', | wiki_ao_artifact = 'Artifact', | ||
unit_window_narrative = 'Description', | unit_window_narrative = 'Description', | ||
| Line 61: | Line 65: | ||
wiki_ao_legendary = 'Legendary', | wiki_ao_legendary = 'Legendary', | ||
wiki_ao_special = 'Special', | wiki_ao_special = 'Special', | ||
wiki_ao_items = 'items:', | |||
wiki_ao_toggle = 'Toggle narratives', | |||
wiki_ao_no_upgrade = 'Cannot be upgraded.', | |||
wiki_ao_no_set = 'Not part of a set.', | |||
wiki_ao_back_to_top = 'back to top', | |||
} | } | ||
local ROMAN = { 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII' } | local ROMAN = { 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII' } | ||
local ALL_QUOTES = [["„“”«»「」『』']] | |||
local NAV_ID = 'nav' | |||
-- Displays a variable | -- Displays a variable | ||
| Line 69: | Line 82: | ||
local function dump(target) | local function dump(target) | ||
return '<pre>' .. mw.dumpObject(target) .. '</pre>' | return '<pre>' .. mw.dumpObject(target) .. '</pre>' | ||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function cleanHtmlWhitespace(str) | |||
local cleaned = str:gsub(">%s+", ">"):gsub("%s+<", "<") | |||
return cleaned | |||
end | end | ||
| Line 184: | Line 203: | ||
T.description = description, | T.description = description, | ||
T.type = translation_type, | T.type = translation_type, | ||
E.name = nameEn | E.name = nameEn | ||
| where = | | where = | ||
A.id NOT LIKE 'campaign_%%' | A.id NOT LIKE 'campaign_%%' | ||
-- AND A.id LIKE '%%_scroll_%%' | |||
AND T.language = '%s' | AND T.language = '%s' | ||
AND E.type = 'artifact' | AND E.type = 'artifact' | ||
| Line 192: | Line 212: | ||
| limit = | | limit = | ||
1000 | 1000 | ||
]] | ]], lang); | ||
end | end | ||
-- Folds magic scrolls into 3 artifacts (normal, enchanted and mythic): | -- Folds magic scrolls into 3 artifacts (normal, enchanted and mythic): | ||
------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ||
local function consolidateScrolls( | local function consolidateScrolls(results) | ||
local hub = {} | local hub = {} | ||
for _, row in ipairs(results) do | for _, row in ipairs(results) do | ||
| Line 218: | Line 237: | ||
entry.name = row.name or '' | entry.name = row.name or '' | ||
entry.nameEn = row.nameEn or '' | entry.nameEn = row.nameEn or '' | ||
entry.spells = {} | entry.spells = {} -- only available for scrolls | ||
entry.slot = row.slot or '' | entry.slot = row.slot or '' | ||
entry.rarity = row.rarity or '' | entry.rarity = row.rarity or '' | ||
| Line 245: | Line 264: | ||
-- Folds all Cargo results into a single dictionary: | -- Folds all Cargo results into a single dictionary: | ||
------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ||
local function | local function consolidateMain(results) | ||
local hub = consolidateScrolls( | local hub = consolidateScrolls(results) | ||
--do return hub end | |||
for _, row in ipairs(results) do | for _, row in ipairs(results) do | ||
local id = row.id | local id = row.id | ||
| Line 256: | Line 276: | ||
entry.name = row.name or '' | entry.name = row.name or '' | ||
entry.nameEn = row.nameEn or '' | entry.nameEn = row.nameEn or '' | ||
entry.slot = row.slot or '' | entry.slot = row.slot or '' | ||
entry.rarity = row.rarity or '' | entry.rarity = row.rarity or '' | ||
| Line 278: | Line 297: | ||
end | end | ||
end | end | ||
end | |||
return hub | |||
end | |||
-- Interrogates the ItemSetTier Cargo table | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function querySets(lang) | |||
return runQuery([[ | |||
tables = | |||
ItemSetTier = S, | |||
Translation = T, | |||
Translation = E, | |||
Translation = L, | |||
| join on = | |||
S.set_id = T.target_id, | |||
S.set_id = E.target_id, | |||
S.id = L.target_id | |||
| fields = | |||
S.id = id, | |||
S.set_id = set_id, | |||
S.ordinal = ordinal, | |||
S.required_amount = required_amount, | |||
T.language = language, | |||
T.name = name, | |||
E.name = nameEn, | |||
L.description = description | |||
| where = | |||
T.language = '%s' | |||
AND E.language = 'en' | |||
AND L.language = '%s' | |||
| limit = | |||
1000 | |||
]], lang, lang); | |||
end | |||
-- Folds Set results into a single dictionary: | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function consolidateSets(results) | |||
local hub = {} | |||
for _, row in ipairs(results) do | |||
local set_id = row.set_id | |||
local entry = hub[set_id] | |||
if not entry then | |||
entry = {} | |||
entry.id = set_id or '' | |||
entry.name = row.name or '' | |||
entry.nameEn = row.nameEn or '' | |||
entry.descriptions = {} -- will be filled below | |||
entry.artifacts = {} -- will be filled later on | |||
hub[set_id] = entry | |||
end | |||
local i = tonumber(row.ordinal or 0) + 1 | |||
entry.descriptions[i] = { | |||
required_amount = tonumber(row.required_amount or 0), | |||
description = row.description or '' | |||
} | |||
end | end | ||
return hub | return hub | ||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function assignArtifactsToSet(setsHub, artifactsHub) | |||
for id, artifact in pairs(artifactsHub) do | |||
local set = setsHub[artifact.artifact_set_id] | |||
if set then | |||
table.insert(set.artifacts, id) | |||
end | |||
end | |||
end | end | ||
| Line 352: | Line 437: | ||
------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ||
local function renderDescription( | local function renderDescription(item, lang, hyper, frame) | ||
description = mw.ustring.gsub(description, '[.。]-$', '') -- remove the ending dot | local description = mw.ustring.gsub(item.description, '[.。]-$', '') -- remove the ending dot | ||
-- | description = UtilHyper.apply(description, hyper) | ||
if item.spells then | |||
local icons = {} | |||
for _, id in ipairs(item.spells) do | |||
table.insert(icons, frame:preprocess(f('{{LinkIcon|lang=%s|id=%s|type=spell}}', lang, id))) | |||
end | |||
local enumeration = table.concat(icons, '<br>') | |||
local pattern = f('([%s]).-([%s])', ALL_QUOTES, ALL_QUOTES) | |||
local button = f("<span class='toggle mw-customtoggle-%s' role='button'>…</span>", item.id) | |||
description = mw.ustring.gsub(item.description, pattern, '%1' .. button .. '%2') | |||
local markup = '<div id="mw-customcollapsible-%s" class="spells mw-collapsible mw-collapsed">%s</div>' | |||
local zone = f(markup, item.id, enumeration) | |||
return mw.text.trim(description) .. zone | |||
end | |||
return mw.text.trim(description) | return mw.text.trim(description) | ||
end | end | ||
------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ||
local function renderUpgrade(item, words, lang) | local function renderUpgrade(item, words, lang, frame) | ||
if item.max_level < 2 then | if item.max_level < 2 then | ||
return '' | return frame:preprocess(f('{{Hint|—|%s}}', words.wiki_ao_no_upgrade)) | ||
end | end | ||
if item.id:find('goose_egg') then | if item.id:find('goose_egg') then | ||
| Line 379: | Line 477: | ||
------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ||
local function addUpgradeCost(tr, item) | local function buildUpgradeHint(item, words, icon) | ||
local t = mw.html.create('table') | |||
t:tag('tr') | |||
:tag('th'):wikitext(words.wiki_level) | |||
:tag('th'):wikitext(words.wiki_cost) | |||
:tag('th'):wikitext(words.wiki_total) | |||
local sum = 0 | |||
for i = 1, 9 do | |||
local current | |||
if item.cost_per_level == 0 then | |||
current = item.cost_base | |||
else | |||
current = i * (item.cost_base + item.cost_per_level) | |||
end | |||
sum = sum + current | |||
t:tag('tr') | |||
:tag('th'):wikitext(i + 1) | |||
:tag('td'):wikitext(current .. icon) | |||
:tag('td'):wikitext(sum .. icon) | |||
end | |||
return tostring(t) | |||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function addUpgradeCost(tr, item, words, frame) | |||
local icon = '[[File:Icon_Resource_AlchemicalDust.png|24px|link=]]'; | |||
if item.max_level > 900 then | if item.max_level > 900 then | ||
local symbol = item.cost_per_level == 0 and '' or '+' | local symbol = item.cost_per_level == 0 and '' or '+' | ||
local nr = item.cost_per_level == 0 and item.cost_base or item.cost_base + item.cost_per_level | local nr = item.cost_per_level == 0 and item.cost_base or (item.cost_base + item.cost_per_level) | ||
local text = f('<span class="infinity">∞</span> < | local text = f('<span class{{=}}"infinity">∞</span> <span class{{=}}"step">(%s%s%s)</span>', symbol, nr, icon) | ||
tr:tag('td'):wikitext( | local hint = buildUpgradeHint(item, words, icon) | ||
local wikitext = frame:preprocess(f('{{Hint|%s|%s|side=right|class=floating-costs}}', text, hint)) | |||
tr:tag('td'):wikitext(wikitext):attr('data-sort-value', -1000 - item.cost_per_level) | |||
elseif item.max_level < 2 then | elseif item.max_level < 2 then | ||
tr:tag('td'):attr('data-sort-value', | local hint = frame:preprocess(f('{{Hint|—|%s}}', words.wiki_ao_no_upgrade)) | ||
tr:tag('td'):wikitext(hint):attr('data-sort-value', 999999) | |||
else | else | ||
local cost = item.cost_base + item.cost_per_level | local cost = item.cost_base + item.cost_per_level | ||
tr:tag('td'):wikitext(cost):attr('data-sort-value', cost) | tr:tag('td'):wikitext(cost .. icon):attr('data-sort-value', -cost) | ||
end | end | ||
end | end | ||
| Line 405: | Line 531: | ||
local hint = words['wiki_ao_' .. item.rarity] | local hint = words['wiki_ao_' .. item.rarity] | ||
return frame:preprocess(f('{{Hint|%s|%s}}', text, hint)) | return frame:preprocess(f('{{Hint|%s|%s}}', text, hint)) | ||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function renderSetFloating(set, words) | |||
local lines = {} | |||
table.insert(lines, f('<div class{{=}}"set-title">%s</div>', set.name)) | |||
for _, entry in ipairs(set.descriptions) do | |||
table.insert(lines, f('<div class{{=}}"set-level">%s %s</div>', entry.required_amount, words.wiki_ao_items)) | |||
table.insert(lines, f('<div class{{=}}"set-text">%s</div>', entry.description)) | |||
end | |||
return table.concat(lines, '') | |||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function renderSetName(set, lang, words, frame) | |||
local url = getUrl(set.nameEn, lang) | |||
local text = f('[[%s|%s]]', url, set.name) | |||
local floating = renderSetFloating(set, words) | |||
return frame:preprocess(f('{{Hint|%s|%s|side=left|class=set-floating}}', text, floating)) | |||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function renderSetIcon(artifact, lang, frame) | |||
local url = getUrl(artifact.nameEn, lang) | |||
local file = f('[[File:%s.png{{!}}32px{{!}}link{{=}}%s]]', artifact.id, url) | |||
local floating = f('<div class{{=}}"set-title">%s</div>%s', artifact.name, artifact.description) | |||
return frame:preprocess(f('{{Hint|%s|%s|style=pointer-events:none}}', file, floating)) | |||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function renderSet(setId, setsHub, artifactsHub, lang, words, frame) | |||
local set = setsHub[setId] | |||
if not set then | |||
return frame:preprocess(f('{{Hint|—|%s}}', words.wiki_ao_no_set)) | |||
end | |||
local icons = {} | |||
for _, id in ipairs(set.artifacts) do | |||
local artifact = artifactsHub[id] | |||
table.insert(icons, renderSetIcon(artifact, lang, frame)) | |||
end | |||
return renderSetName(set, lang, words, frame) .. '<br>' .. table.concat(icons, '') | |||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function renderSlotSeparator(slot, words) | |||
local file = f('[[File:%s|64px|link=]]', SLOT_ICONS[slot]) | |||
local text = words['wiki_ao_' .. slot] | |||
local back = f('<span class="back-to-top">[[#%s|%s]]</span>', NAV_ID, words.wiki_ao_back_to_top) | |||
return '<div id="' .. text:gsub(' ', '_') .. '">' .. file .. text .. back .. '</div>' | |||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function getDsv(value) | |||
return value == '' and 'ZZZZZZ' or value | |||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function addNarrative(htmlTable, narrative) | |||
local markup = cleanHtmlWhitespace([[ | |||
<tr class='expand-child mw-collapsible mw-collapsed' id='mw-customcollapsible-narrative'> | |||
<td colspan='100' class='narrative-full-td'> | |||
%s | |||
</td> | |||
</tr> | |||
]]) | |||
htmlTable:node(f(markup, narrative)) | |||
end | end | ||
-- TABLE BODY | -- TABLE BODY | ||
------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------ | ||
local function createBody(htmlTable, list, lang, words, frame) | local function createBody(htmlTable, list, lang, words, frame, setsHub, artifactsHub, hyper) | ||
local currentRarity = list[1].rarity | local currentRarity = list[1].rarity | ||
local currentSlot = list[1].slot | local currentSlot = list[1].slot | ||
| Line 417: | Line 610: | ||
currentSlot = item.slot | currentSlot = item.slot | ||
currentRarity = item.rarity | currentRarity = item.rarity | ||
addSeparator(htmlTable, 'separator-large', currentSlot) | addSeparator(htmlTable, 'separator-large', renderSlotSeparator(currentSlot, words)) | ||
elseif item.rarity ~= currentRarity then | elseif item.rarity ~= currentRarity then | ||
currentRarity = item.rarity | currentRarity = item.rarity | ||
| Line 426: | Line 619: | ||
--addTd(tr, item.id) | --addTd(tr, item.id) | ||
addTd(tr, renderIcon(item.id, item.nameEn, lang)) | addTd(tr, renderIcon(item.id, item.nameEn, lang)) | ||
addTd(tr, renderName(item.name, item.nameEn, lang)) | addTd(tr, renderName(item.name, item.nameEn, lang)) | ||
addTd(tr, renderDescription(item | |||
addTd(tr, renderDescription(item, lang, hyper, frame)) | |||
addUpgradeCost(tr, item) | |||
local upgradeDescription = renderUpgrade(item, words, lang, frame) | |||
addTd(tr, upgradeDescription):attr('data-sort-value', getDsv(upgradeDescription)) | |||
addUpgradeCost(tr, item, words, frame) | |||
addTd(tr, renderSlot(item, words, frame)):attr('data-sort-value', SLOT_ORDER[item.slot]) | addTd(tr, renderSlot(item, words, frame)):attr('data-sort-value', SLOT_ORDER[item.slot]) | ||
addTd(tr, renderRarity(item, words, frame)):attr('data-sort-value', RARITY_ORDER[item.rarity]) | addTd(tr, renderRarity(item, words, frame)):attr('data-sort-value', RARITY_ORDER[item.rarity]) | ||
addTd(tr, item.artifact_set_id) | |||
-- | local set = renderSet(item.artifact_set_id, setsHub, artifactsHub, lang, words, frame) | ||
addTd(tr, set):attr('data-sort-value', getDsv(item.artifact_set_id)) | |||
addNarrative(htmlTable, item.narrative) | |||
end | |||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function createToggleButton(words) | |||
return f("<span role='button' class='toggle mw-customtoggle-narrative'>%s</span>", words.wiki_ao_toggle) | |||
end | |||
------------------------------------------------------------------------------------------------------------------------ | |||
local function createNav(words) | |||
local icons = {} | |||
local ordered = {} | |||
for slot_name, order_index in pairs(SLOT_ORDER) do | |||
ordered[order_index] = slot_name | |||
end | end | ||
for _, slot in ipairs(ordered) do | |||
local name = words['wiki_ao_' .. slot] | |||
local hash = '#' .. name:gsub(' ', '_') | |||
local markup = '<span class="jump">[[File:%s|32px|link=%s]][[%s|%s]]</span>'; | |||
local icon = f(markup, SLOT_ICONS[slot], hash, hash, name) | |||
table.insert(icons, icon) | |||
end | |||
local toc = table.concat(icons, ' ') | |||
local toggle = createToggleButton(words) | |||
local div = mw.html.create('div'):addClass('nav'):attr('id', NAV_ID) | |||
div:wikitext(toggle .. toc) | |||
return tostring(div) | |||
end | end | ||
| Line 445: | Line 675: | ||
local args = frame.args | local args = frame.args | ||
local lang = args.lang ~= '' and args.lang or 'en' | local lang = args.lang ~= '' and args.lang or 'en' | ||
--lang = ' | --lang = 'ja' | ||
local hyper = args.hyper | |||
--hyper = 'Sorcery=Sorcery; Nightshade [Ss]pells=Nightshade_Spells' | |||
-- Language | -- Language | ||
| Line 452: | Line 684: | ||
-- Cargo | -- Cargo | ||
local results = queryMain(lang) | local results = queryMain(lang) | ||
local hub = | local hub = consolidateMain(results) | ||
--do return dump(hub) end | |||
local list = flatten(hub); | local list = flatten(hub); | ||
if #list == 0 then return words.wiki_none end | if #list == 0 then return words.wiki_none end | ||
local setsResults = querySets(lang) | |||
local setsHub = consolidateSets(setsResults) | |||
assignArtifactsToSet(setsHub, hub) | |||
-- Various manipulations | -- Various manipulations | ||
| Line 462: | Line 698: | ||
local htmlTable = mw.html.create('table') | local htmlTable = mw.html.create('table') | ||
htmlTable:addClass('wikitable sortable table-nobands') | htmlTable:addClass('wikitable sortable table-nobands') | ||
htmlTable:attr('id', words['wiki_ao_left_hand']:gsub(' ', '_')) | |||
createHeader(htmlTable, words) | createHeader(htmlTable, words) | ||
createBody(htmlTable, list, lang, words, frame) | createBody(htmlTable, list, lang, words, frame, setsHub, hub, hyper) | ||
-- Output | -- Output | ||
local nav = createNav(words) | |||
local styleTag = frame:extensionTag('templatestyles', '', { src = frame:getTitle() .. '/styles.css' }) | local styleTag = frame:extensionTag('templatestyles', '', { src = frame:getTitle() .. '/styles.css' }) | ||
return '<div class="artifacts-overview">' .. styleTag .. tostring(htmlTable) .. '</div>' | return '<div class="artifacts-overview">' .. styleTag .. nav .. tostring(htmlTable) .. '</div>' | ||
end | end | ||
return p | return p | ||
Latest revision as of 08:05, 3 July 2026
This module renders a giant table with all artifacts. Scroll artifacts are consolidated into 3 generic scroll artifacts (normal, enchanted and mythic). Campaign artifacts are excluded.
A hyper parameter is supported. For more information, see Module:UtilHyper/doc.
Usage
Input: {{#invoke:Sandbox/Aurelain/ArtifactsOverview|display | lang=en | hyper=Attack=Hero_Basics#Attributes}}
Output:
| Artifact | Description | Upgrade | Upgrade cost | Slot | Rarity | Set | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Fish-to-the-Face | +1 Attack | +1 more Attack | 25 | ICommon | Pauper's Glory Pauper's Glory 2 items: +1 Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 4 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 6 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. Last Coin +1 Luck.Rope Belt +1 Defense.Wooden Ring +1 Morale.Rags +1 Spell Power.Fish-to-the-Face +1 Attack.Straw Hat +1 Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| It goes “wobble wobble” in battle. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Rapier | Friendly creatures deal +10% Melee Damage | +5% more Melee Damage | 50 | IIRare | Duelist's Pride Duelist's Pride 2 items: +3 Attack and Defense. 3 items: All friendly creatures have unlimited counterattacks. Rapier Friendly creatures deal +10% Melee DamageBrass Knuckles Friendly creatures take –30% counterattack Damage.Buckler Friendly creatures can counterattack even if the attacking enemy has “Swift Strike.” | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A light, stinging weapon. A tool for elegant fighters. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Lance | +3 Attack | +2 more Attack | 50 | IIRare | Knight's Honor Knight's Honor 3 items: +1 Morale and Luck. 5 items: +3% chance of Morale and Luck triggering for each point of them the wearer has. Lance +3 Attack.Armet +2 Defense.Plate Armor +3 Defense.Drum of War Friendly creatures deal +1 Damage.Misericorde +2 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Charge! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ogre's Club of Havoc | +4 Attack | +2 more Attack. Can be upgraded an unlimited number of times. | ∞ (+120
| IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Coincidentally, the ogres of Ironsand also have a club where they wreak havoc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Red Dragon Flame Tongue | +2 Attack and Defense | +1 to both attributes | 50 | IIRare | Power of the Dragon Father Power of the Dragon Father 3 items: +2 to all attributes. 5 items: Friendly creatures are immune to all negative effects. 8 items: Friendly creatures are immune to all Magic Damage. Slithering Sash +3 Spell Power and Knowledge.Red Dragon Flame Tongue +2 Attack and Defense.Quiet Eye of a Dragon +1 Attack and Defense.Dragon Scale Shield +3 Attack and Defense.Dragonbone Greaves +1 Spell Power and Knowledge.Crown of Dragontooth +4 Spell Power and Knowledge.Dragon Wing Tabard +2 Spell Power and Knowledge.Dragon Scale Armor +4 Attack and Defense. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Forged with the breath of a true dragon. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Garotte | –1 Speed to all enemies | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Can’t do much when you’re choking. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Shroomwood Bow | Eliminates Ranged Damage penalty for friendly creatures | Friendly creatures deal +5% Ranged Damage | 75 | IIIEpic | Living Arrows Living Arrows 2 items: +1 Initiative to all friendly creatures. 3 items: Creatures with Ranged attacks gain “Double Shot.” Light-and-Shade Cloak Friendly creatures can still use Ranged attacks while adjacent to enemy creatures.Shroomwood Bow Eliminates Ranged Damage penalty for friendly creatures.Quivering Quiver Friendly creatures deal +10% Ranged Damage. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This living bow grows new arrows itself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Truthmaker | –10% Attack to enemy creatures | –5% more Attack | 75 | IIIEpic | Dominion of Puppeteers Dominion of Puppeteers 2 items: +1 round(s) to the cooldown of all enemy spells. 4 items: All spells in the enemy’s Spellbook have minimum level. (If all spells must have maximum level due to another effect, neither is active.) Truthmaker –10% Attack to enemy creatures.Truthseeker –10% Defense to enemy creatures.Amelchia's Law –1 Initiative to enemy creatures.Liquid Silence +1 round(s) to the cooldown of all enemy creature abilities. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Truth is what you make it. And if reality doesn’t agree, remind it who’s the strongest here. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Dark Hatchet | +4 Attack, then +15% total Attack | +2 Attack | 75 | IIIEpic | Shadow of Death Shadow of Death 2 items: –1 Morale and Luck to all enemy creatures. 3 items: –1 Initiative and Speed to all enemy creatures. 4 items: All enemy creatures deal minimal Damage. (If enemy creatures must deal maximum Damage due to another effect, neither is active.) Dark Hatchet +4 Attack, then +15% total Attack.Bone Boots +4 Spell Power, then +15% total Spell Power.Ribcage Armor +4 Defense, then +15% total Defense.Second Shade +4 Knowledge, then +15% total Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Perfect for mincing meat and not mincing words. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Shaman Staff | +6 Spell Power | +3 more Spell Power | 75 | IIIEpic | Shamanic Soul Shamanic Soul 2 items: +25% maximum mana. 4 items: All spells in the Spellbook have maximum level. (If all spells must have minimum level due to another effect, neither is active.) Sirin Mask The cooldowns of all spells are reduced by 1 round(s).Clenching Ring All effects applied by the hero last +1 round(s).Iridescent Cloak +6 Knowledge.Shaman Staff +6 Spell Power. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The focusing gem isn’t crafted but naturally grown on the branch. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sword of Judgement | +2 Attack, Defense, Spell Power, and Knowledge | +1 more to every attribute | 100 | IVLegendary | Angelic Alliance Angelic Alliance 3 items: Creatures from different factions do not lower each other’s Morale. 6 items: +3 Initiative and Speed to all friendly creatures. Armor of Wonder +2 Attack, Defense, Spell Power, and Knowledge.Sandals of the Saint +2 Attack, Defense, Spell Power, and Knowledge.Helm of Heavenly Enlightenment +2 Attack, Defense, Spell Power, and Knowledge.Celestial Sash of Bliss +2 Attack, Defense, Spell Power, and Knowledge.Sword of Judgement +2 Attack, Defense, Spell Power, and Knowledge.Lion's Shield of Courage +2 Attack, Defense, Spell Power, and Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The Angelic Alliance was formed as a symbol of unity between sentinels of glory and mortals. Rumor has is that other such alliances exist in far away lands. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Demon Claw | +12 Attack, but –4 Defense | +4 more Attack | 100 | IVLegendary | Beelzebub's Chosen Beelzebub's Chosen 2 items: +1 Speed to friendly creatures. 4 items: Friendly creatures deal maximum Damage. (If the creature must deal minimum Damage due to another effect, neither is active.) Heartbeat +12 Spell Power, but –4 Knowledge.Demon Claw +12 Attack, but –4 Defense.Beelzebub's Boon +12 Knowledge, but –4 Spell Power.Chitinous Shield +12 Defense, but –4 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| They say Beelzebub’s hands are soft as silk, but not those of his minions. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Excalibur | Heroic Strike kills +1 unit(s). Works on creatures up to tier 7 | +1 more unit(s) | 100 | IVLegendary | Hero of Tales Hero of Tales 2 items: When the hero uses Heroic Strike, its effects apply twice. Excalibur Heroic Strike kills +1 unit(s). Works on creatures up to tier 7.Caduceus Heroic Strike restores 4 mana. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| No scale, armor, or shield can offer protection against this blade. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Buckler | Friendly creatures can counterattack even if the attacking enemy has “Swift Strike.” | Friendly creatures deal +5% Melee Damage | 25 | ICommon | Duelist's Pride Duelist's Pride 2 items: +3 Attack and Defense. 3 items: All friendly creatures have unlimited counterattacks. Rapier Friendly creatures deal +10% Melee DamageBrass Knuckles Friendly creatures take –30% counterattack Damage.Buckler Friendly creatures can counterattack even if the attacking enemy has “Swift Strike.” | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Made not for defense, but to better position yourself for counterattacking. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Singing Pan-Pipe | All effects applied by friendly creatures last +1 round(s) | +1 more round(s) | 25 | ICommon | Inner Song Inner Song 3 items: When friendly creatures use abilities, their turn doesn’t end. Fancy Mask Generates 2 Focus Point(s) at the start of the battle.Music Sheet Friendly creatures’ abilities deal +40% Damage.Singing Pan-Pipe All effects applied by friendly creatures last +1 round(s). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Spells linger like notes. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Misericorde | +2 Attack | +1 more Attack | 25 | ICommon | Knight's Honor Knight's Honor 3 items: +1 Morale and Luck. 5 items: +3% chance of Morale and Luck triggering for each point of them the wearer has. Lance +3 Attack.Armet +2 Defense.Plate Armor +3 Defense.Drum of War Friendly creatures deal +1 Damage.Misericorde +2 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ending an opponent’s suffering swiftly is a mercy. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Shoddy Shield | +2 Defense | —Cannot be upgraded. | —Cannot be upgraded. | ICommon | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| It may be just a plank of wood, but at least it’s sturdy wood. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Caduceus | Heroic Strike restores 4 mana | +4 more mana | 50 | IIRare | Hero of Tales Hero of Tales 2 items: When the hero uses Heroic Strike, its effects apply twice. Excalibur Heroic Strike kills +1 unit(s). Works on creatures up to tier 7.Caduceus Heroic Strike restores 4 mana. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| With this, blood can become magic, and matter can become spirit. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Crescent Dagger | Spells and creature abilities ignore 40% of enemy magic resistance | Ignore +20% more magic resistance | 50 | IIRare | Ethereal Knowledge Ethereal Knowledge 2 items: +3 Spell Power and Knowledge. 4 items: All effects applied by the hero and friendly creatures last +{0} round(s). Crescent Dagger Spells and creature abilities ignore 40% of enemy magic resistance.Magic Slippers Spells cost 2 less mana.Vortex Robe Whenever the opponent casts a spell, restores 40% of its cost as mana to the wearer.Seven Eyes +1 level(s) to all spells while worn. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| If spells are written in the stars, the crescent moon is there to cut them to pieces. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Fine Wand | +1 level to all spells | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Wands are used to focus mental projections, just as crystals focus light into beams. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pelagic Hourglass | The cooldowns of all spells are reduced by 1 round(s) | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Water flows upwards, rewinding time. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Shield of the Rampaging Ogre | +4 Defense | +2 more Defense. Can be upgraded an unlimited number of times. | ∞ (+120
| IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ...Why would a rampaging ogre need a shield? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Dragon Scale Shield | +3 Attack and Defense | +1 to both attributes | 75 | IIIEpic | Power of the Dragon Father Power of the Dragon Father 3 items: +2 to all attributes. 5 items: Friendly creatures are immune to all negative effects. 8 items: Friendly creatures are immune to all Magic Damage. Slithering Sash +3 Spell Power and Knowledge.Red Dragon Flame Tongue +2 Attack and Defense.Quiet Eye of a Dragon +1 Attack and Defense.Dragon Scale Shield +3 Attack and Defense.Dragonbone Greaves +1 Spell Power and Knowledge.Crown of Dragontooth +4 Spell Power and Knowledge.Dragon Wing Tabard +2 Spell Power and Knowledge.Dragon Scale Armor +4 Attack and Defense. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Some call fashioning arms from dragon hide blasphemy. But such critiques can’t be heard over the sound of its superior protection. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Truthseeker | –10% Defense to enemy creatures | –5% more Defense | 75 | IIIEpic | Dominion of Puppeteers Dominion of Puppeteers 2 items: +1 round(s) to the cooldown of all enemy spells. 4 items: All spells in the enemy’s Spellbook have minimum level. (If all spells must have maximum level due to another effect, neither is active.) Truthmaker –10% Attack to enemy creatures.Truthseeker –10% Defense to enemy creatures.Amelchia's Law –1 Initiative to enemy creatures.Liquid Silence +1 round(s) to the cooldown of all enemy creature abilities. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| To find out the truth, first find their softest, most vulnerable spot. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Lion's Shield of Courage | +2 Attack, Defense, Spell Power, and Knowledge | +1 more to every attribute | 100 | IVLegendary | Angelic Alliance Angelic Alliance 3 items: Creatures from different factions do not lower each other’s Morale. 6 items: +3 Initiative and Speed to all friendly creatures. Armor of Wonder +2 Attack, Defense, Spell Power, and Knowledge.Sandals of the Saint +2 Attack, Defense, Spell Power, and Knowledge.Helm of Heavenly Enlightenment +2 Attack, Defense, Spell Power, and Knowledge.Celestial Sash of Bliss +2 Attack, Defense, Spell Power, and Knowledge.Sword of Judgement +2 Attack, Defense, Spell Power, and Knowledge.Lion's Shield of Courage +2 Attack, Defense, Spell Power, and Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| In Jadame, the Alliance’s effect extends to all creatures, not just those part of the initial pact. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Chitinous Shield | +12 Defense, but –4 Attack | +4 more Defense | 100 | IVLegendary | Beelzebub's Chosen Beelzebub's Chosen 2 items: +1 Speed to friendly creatures. 4 items: Friendly creatures deal maximum Damage. (If the creature must deal minimum Damage due to another effect, neither is active.) Heartbeat +12 Spell Power, but –4 Knowledge.Demon Claw +12 Attack, but –4 Defense.Beelzebub's Boon +12 Knowledge, but –4 Spell Power.Chitinous Shield +12 Defense, but –4 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Their shells are as hard as crystal. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Chain Mail | +3 Defense | —Cannot be upgraded. | —Cannot be upgraded. | ICommon | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Basic torso protection. Takes way too long to make for its mediocre defense. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Rags | +1 Spell Power | +1 more Spell Power | 25 | ICommon | Pauper's Glory Pauper's Glory 2 items: +1 Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 4 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 6 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. Last Coin +1 Luck.Rope Belt +1 Defense.Wooden Ring +1 Morale.Rags +1 Spell Power.Fish-to-the-Face +1 Attack.Straw Hat +1 Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Don’t judge what makes others feel empowered! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Eagle Armor | +2 Morale and Luck | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Spirits and birds soar together. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Vortex Robe | Whenever the opponent casts a spell, restores 40% of its cost as mana to the wearer | Restores 60% of the spell’s cost | 50 | IIRare | Ethereal Knowledge Ethereal Knowledge 2 items: +3 Spell Power and Knowledge. 4 items: All effects applied by the hero and friendly creatures last +{0} round(s). Crescent Dagger Spells and creature abilities ignore 40% of enemy magic resistance.Magic Slippers Spells cost 2 less mana.Vortex Robe Whenever the opponent casts a spell, restores 40% of its cost as mana to the wearer.Seven Eyes +1 level(s) to all spells while worn. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| If you look at it for too long, you’ll feel as though it’s sucking you in. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Plate Armor | +3 Defense | +2 more Defense | 50 | IIRare | Knight's Honor Knight's Honor 3 items: +1 Morale and Luck. 5 items: +3% chance of Morale and Luck triggering for each point of them the wearer has. Lance +3 Attack.Armet +2 Defense.Plate Armor +3 Defense.Drum of War Friendly creatures deal +1 Damage.Misericorde +2 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sticks and stones may break bones, but not through full armor. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Tunic of the Cyclops King | +4 Spell Power | +2 more Spell Power. Can be upgraded an unlimited number of times. | ∞ (+120
| IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This is where his second eye is. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Robe of Enlightenment | Makes all tier-3 spells available to the hero | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A wizard once noticed an odd resemblance between weaving and spellcraft. As a result, these robes were created. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ribcage Armor | +4 Defense, then +15% total Defense | +2 more Defense | 75 | IIIEpic | Shadow of Death Shadow of Death 2 items: –1 Morale and Luck to all enemy creatures. 3 items: –1 Initiative and Speed to all enemy creatures. 4 items: All enemy creatures deal minimal Damage. (If enemy creatures must deal maximum Damage due to another effect, neither is active.) Dark Hatchet +4 Attack, then +15% total Attack.Bone Boots +4 Spell Power, then +15% total Spell Power.Ribcage Armor +4 Defense, then +15% total Defense.Second Shade +4 Knowledge, then +15% total Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Honestly, it’s not that much deader than a reanimated skeleton. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Iridescent Cloak | +6 Knowledge | +3 more Knowledge | 75 | IIIEpic | Shamanic Soul Shamanic Soul 2 items: +25% maximum mana. 4 items: All spells in the Spellbook have maximum level. (If all spells must have minimum level due to another effect, neither is active.) Sirin Mask The cooldowns of all spells are reduced by 1 round(s).Clenching Ring All effects applied by the hero last +1 round(s).Iridescent Cloak +6 Knowledge.Shaman Staff +6 Spell Power. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Murmurwood casters rarely read, relying instead on memory for their mystical knowledge. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Armor of Wonder | +2 Attack, Defense, Spell Power, and Knowledge | +1 more to every attribute | 100 | IVLegendary | Angelic Alliance Angelic Alliance 3 items: Creatures from different factions do not lower each other’s Morale. 6 items: +3 Initiative and Speed to all friendly creatures. Armor of Wonder +2 Attack, Defense, Spell Power, and Knowledge.Sandals of the Saint +2 Attack, Defense, Spell Power, and Knowledge.Helm of Heavenly Enlightenment +2 Attack, Defense, Spell Power, and Knowledge.Celestial Sash of Bliss +2 Attack, Defense, Spell Power, and Knowledge.Sword of Judgement +2 Attack, Defense, Spell Power, and Knowledge.Lion's Shield of Courage +2 Attack, Defense, Spell Power, and Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This armor was worn by ancient warriors of the Church of the Sun when it was still in its infancy. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Heartbeat | +12 Spell Power, but –4 Knowledge | +4 more Spell Power | 100 | IVLegendary | Beelzebub's Chosen Beelzebub's Chosen 2 items: +1 Speed to friendly creatures. 4 items: Friendly creatures deal maximum Damage. (If the creature must deal minimum Damage due to another effect, neither is active.) Heartbeat +12 Spell Power, but –4 Knowledge.Demon Claw +12 Attack, but –4 Defense.Beelzebub's Boon +12 Knowledge, but –4 Spell Power.Chitinous Shield +12 Defense, but –4 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Just feel the rhythm of the Chorus. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Dragon Scale Armor | +4 Attack and Defense | +1 to both attributes | 100 | IVLegendary | Power of the Dragon Father Power of the Dragon Father 3 items: +2 to all attributes. 5 items: Friendly creatures are immune to all negative effects. 8 items: Friendly creatures are immune to all Magic Damage. Slithering Sash +3 Spell Power and Knowledge.Red Dragon Flame Tongue +2 Attack and Defense.Quiet Eye of a Dragon +1 Attack and Defense.Dragon Scale Shield +3 Attack and Defense.Dragonbone Greaves +1 Spell Power and Knowledge.Crown of Dragontooth +4 Spell Power and Knowledge.Dragon Wing Tabard +2 Spell Power and Knowledge.Dragon Scale Armor +4 Attack and Defense. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The black dragons of Alvar are relatively fine with seeing their green brethren skinned. The ashen dragons of Alvar are completely fine with it. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Head Torch | +1 sight radius | —Cannot be upgraded. | —Cannot be upgraded. | ICommon | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Surprisingly, it was the templars who invented it, not the dwarves. They required even more of the guiding light. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Fancy Mask | Generates 2 Focus Point(s) at the start of the battle | +2 more Focus Point(s) | 25 | ICommon | Inner Song Inner Song 3 items: When friendly creatures use abilities, their turn doesn’t end. Fancy Mask Generates 2 Focus Point(s) at the start of the battle.Music Sheet Friendly creatures’ abilities deal +40% Damage.Singing Pan-Pipe All effects applied by friendly creatures last +1 round(s). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Tell me what mask you wear, and I will tell you who you want to be. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Armet | +2 Defense | +1 more Defense | 25 | ICommon | Knight's Honor Knight's Honor 3 items: +1 Morale and Luck. 5 items: +3% chance of Morale and Luck triggering for each point of them the wearer has. Lance +3 Attack.Armet +2 Defense.Plate Armor +3 Defense.Drum of War Friendly creatures deal +1 Damage.Misericorde +2 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A modern classic. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Straw Hat | +1 Knowledge | +1 more Knowledge | 25 | ICommon | Pauper's Glory Pauper's Glory 2 items: +1 Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 4 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 6 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. Last Coin +1 Luck.Rope Belt +1 Defense.Wooden Ring +1 Morale.Rags +1 Spell Power.Fish-to-the-Face +1 Attack.Straw Hat +1 Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The fool is sometimes the smartest man in the village. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Crown of the Supreme Magi | +4 Knowledge | +2 more Knowledge. Can be upgraded an unlimited number of times. | ∞ (+120
| IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| They say it drives the wearer mad over time. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Scholar's Tiara | +2 Knowledge | +1 more Knowledge | 50 | IIRare | Scholar's Wisdom Scholar's Wisdom 2 items: +4 Knowledge. Scholar's Tiara +2 Knowledge.Scholar's Amulet +2 Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| To mark those willing to learn — and to aid them in doing so. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mirror Tiara | Restores 8 mana to the hero each morning | +8 more mana | 75 | IIIEpic | Tranquil Glass Tranquil Glass 3 items: Fully restores the hero’s mana at the start of each day. Magic Mirror Restores 4 mana to the hero each morning.Shard of Serenity Restores 6 mana to the hero each morning.Mirror Tiara Restores 8 mana to the hero each morning. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| When crafted into jewelry and worn near the head, tranquil glass reveals its true power. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Helm of Heavenly Enlightenment | +2 Attack, Defense, Spell Power, and Knowledge | +1 more to every attribute | 100 | IVLegendary | Angelic Alliance Angelic Alliance 3 items: Creatures from different factions do not lower each other’s Morale. 6 items: +3 Initiative and Speed to all friendly creatures. Armor of Wonder +2 Attack, Defense, Spell Power, and Knowledge.Sandals of the Saint +2 Attack, Defense, Spell Power, and Knowledge.Helm of Heavenly Enlightenment +2 Attack, Defense, Spell Power, and Knowledge.Celestial Sash of Bliss +2 Attack, Defense, Spell Power, and Knowledge.Sword of Judgement +2 Attack, Defense, Spell Power, and Knowledge.Lion's Shield of Courage +2 Attack, Defense, Spell Power, and Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Many say this is the helm of Erathia’s founder, but could it be possible for it to have ended up on Jadame? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Beelzebub's Boon | +12 Knowledge, but –4 Spell Power | +4 more Knowledge | 100 | IVLegendary | Beelzebub's Chosen Beelzebub's Chosen 2 items: +1 Speed to friendly creatures. 4 items: Friendly creatures deal maximum Damage. (If the creature must deal minimum Damage due to another effect, neither is active.) Heartbeat +12 Spell Power, but –4 Knowledge.Demon Claw +12 Attack, but –4 Defense.Beelzebub's Boon +12 Knowledge, but –4 Spell Power.Chitinous Shield +12 Defense, but –4 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A new force in this world, Beelzebub sought a way to ensure his summoning would never end. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Seven Eyes | +1 level(s) to all spells while worn | +1 more spell level(s) | 100 | IVLegendary | Ethereal Knowledge Ethereal Knowledge 2 items: +3 Spell Power and Knowledge. 4 items: All effects applied by the hero and friendly creatures last +{0} round(s). Crescent Dagger Spells and creature abilities ignore 40% of enemy magic resistance.Magic Slippers Spells cost 2 less mana.Vortex Robe Whenever the opponent casts a spell, restores 40% of its cost as mana to the wearer.Seven Eyes +1 level(s) to all spells while worn. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Connecting directly to the brain, these eyes access an entirely new layer of knowledge. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Crown of Dragontooth | +4 Spell Power and Knowledge | +1 to both attributes | 100 | IVLegendary | Power of the Dragon Father Power of the Dragon Father 3 items: +2 to all attributes. 5 items: Friendly creatures are immune to all negative effects. 8 items: Friendly creatures are immune to all Magic Damage. Slithering Sash +3 Spell Power and Knowledge.Red Dragon Flame Tongue +2 Attack and Defense.Quiet Eye of a Dragon +1 Attack and Defense.Dragon Scale Shield +3 Attack and Defense.Dragonbone Greaves +1 Spell Power and Knowledge.Crown of Dragontooth +4 Spell Power and Knowledge.Dragon Wing Tabard +2 Spell Power and Knowledge.Dragon Scale Armor +4 Attack and Defense. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| There’s much wisdom to be found in a dragon’s wisdom teeth. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Amelchia's Law | –1 Initiative to enemy creatures | –1 more Initiative | 100 | IVLegendary | Dominion of Puppeteers Dominion of Puppeteers 2 items: +1 round(s) to the cooldown of all enemy spells. 4 items: All spells in the enemy’s Spellbook have minimum level. (If all spells must have maximum level due to another effect, neither is active.) Truthmaker –10% Attack to enemy creatures.Truthseeker –10% Defense to enemy creatures.Amelchia's Law –1 Initiative to enemy creatures.Liquid Silence +1 round(s) to the cooldown of all enemy creature abilities. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| It becomes incredibly hard to do something when the Queen of Alvar forbids it. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sirin Mask | The cooldowns of all spells are reduced by 1 round(s) | –1 fewer round(s) | 100 | IVLegendary | Shamanic Soul Shamanic Soul 2 items: +25% maximum mana. 4 items: All spells in the Spellbook have maximum level. (If all spells must have minimum level due to another effect, neither is active.) Sirin Mask The cooldowns of all spells are reduced by 1 round(s).Clenching Ring All effects applied by the hero last +1 round(s).Iridescent Cloak +6 Knowledge.Shaman Staff +6 Spell Power. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Owls and sirins know everything — whether they choose to share it is another matter. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Spellbinder's Hat | Makes all tier-5 spells available to the hero | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Legendary among wizards, this hat is the dream of every mage on Enroth. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Two-faced Mask | The hero can use the Spellbook 1 additional time(s) per battle round | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The inscription reads, “Divide your visage, and you shall never face battle alone.” | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Magic Slippers | Spells cost 2 less mana | 1 less mana | 25 | ICommon | Ethereal Knowledge Ethereal Knowledge 2 items: +3 Spell Power and Knowledge. 4 items: All effects applied by the hero and friendly creatures last +{0} round(s). Crescent Dagger Spells and creature abilities ignore 40% of enemy magic resistance.Magic Slippers Spells cost 2 less mana.Vortex Robe Whenever the opponent casts a spell, restores 40% of its cost as mana to the wearer.Seven Eyes +1 level(s) to all spells while worn. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Not the most comfortable, but definitely very magical. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Dragonbone Greaves | +1 Spell Power and Knowledge | +1 to both attributes | 25 | ICommon | Power of the Dragon Father Power of the Dragon Father 3 items: +2 to all attributes. 5 items: Friendly creatures are immune to all negative effects. 8 items: Friendly creatures are immune to all Magic Damage. Slithering Sash +3 Spell Power and Knowledge.Red Dragon Flame Tongue +2 Attack and Defense.Quiet Eye of a Dragon +1 Attack and Defense.Dragon Scale Shield +3 Attack and Defense.Dragonbone Greaves +1 Spell Power and Knowledge.Crown of Dragontooth +4 Spell Power and Knowledge.Dragon Wing Tabard +2 Spell Power and Knowledge.Dragon Scale Armor +4 Attack and Defense. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Just don’t venture into Alvar, Garrote Gorge, or any other land ruled by dragons wearing them. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Boots of Travel | +10 Movement points | +5 more Movement points | 50 | IIRare | Wanderer's Way Wanderer's Way 2 items: Eliminates all terrain penalties. Boots of Travel +10 Movement points.Backpack The hero has +10 Movement points. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Nothing beats soft leather for travelling long distances. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Legion's Leg | +50% to all creature growth in all your cities | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Somewhere, a legless statue is waiting sorrowfully. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Bone Boots | +4 Spell Power, then +15% total Spell Power | +2 more Spell Power | 75 | IIIEpic | Shadow of Death Shadow of Death 2 items: –1 Morale and Luck to all enemy creatures. 3 items: –1 Initiative and Speed to all enemy creatures. 4 items: All enemy creatures deal minimal Damage. (If enemy creatures must deal maximum Damage due to another effect, neither is active.) Dark Hatchet +4 Attack, then +15% total Attack.Bone Boots +4 Spell Power, then +15% total Spell Power.Ribcage Armor +4 Defense, then +15% total Defense.Second Shade +4 Knowledge, then +15% total Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| They whisper in your sleep. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Swamp Boots | Eliminates all terrain penalties | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| They also work as Snow Boots, Desert Boots, Deathland Boots, etc. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sandals of the Saint | +2 Attack, Defense, Spell Power, and Knowledge | +1 more to every attribute | 100 | IVLegendary | Angelic Alliance Angelic Alliance 3 items: Creatures from different factions do not lower each other’s Morale. 6 items: +3 Initiative and Speed to all friendly creatures. Armor of Wonder +2 Attack, Defense, Spell Power, and Knowledge.Sandals of the Saint +2 Attack, Defense, Spell Power, and Knowledge.Helm of Heavenly Enlightenment +2 Attack, Defense, Spell Power, and Knowledge.Celestial Sash of Bliss +2 Attack, Defense, Spell Power, and Knowledge.Sword of Judgement +2 Attack, Defense, Spell Power, and Knowledge.Lion's Shield of Courage +2 Attack, Defense, Spell Power, and Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Many are the pilgrims of the Light who wear these sandals as a gesture of humility. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Seven-League Boots | +30 Movement points | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A little month; or ere those shoes grew old. And their trail stretched long. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Warlord Boots | +2 Initiative to friendly creatures | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Can’t stand in one place — need to act! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Rope Belt | +1 Defense | +1 more Defense | 25 | ICommon | Pauper's Glory Pauper's Glory 2 items: +1 Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 4 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 6 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. Last Coin +1 Luck.Rope Belt +1 Defense.Wooden Ring +1 Morale.Rags +1 Spell Power.Fish-to-the-Face +1 Attack.Straw Hat +1 Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Protects the important bits. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Soulless Sash | –1 Morale to enemy creatures | —Cannot be upgraded. | —Cannot be upgraded. | ICommon | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| As opposed to all the other sashes that are so notorious for having souls. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Flask of Oblivion | All negative effects on friendly creatures last for –1 round(s) | –1 fewer round(s) | 50 | IIRare | Anesthesia Anesthesia 2 items: Friendly creatures heal 2.5% of their starting HP at the start of each round. This can revive fallen units. 3 items: +25% maximum HP to all friendly creatures. Lifeblood Fae Friendly creatures have +2 HP.Ring of Life All positive effects on friendly creatures last for +1 round(s).Flask of Oblivion All negative effects on friendly creatures last for –1 round(s). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Water brings oblivion. It can erase memories of pain and trouble. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Endless Bag | Produces +1 Gem, Crystal, or Mercury daily. (The resource depends on the bearer’s faction.) | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Adventurers all over the world throw their possessions into these bags. It’s about time someone began to fish them out. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Warrior's Belt | +2 Attack | +1 more Attack | 50 | IIRare | Warrior's Strength Warrior's Strength 2 items: +4 Attack. Warrior's Belt +2 Attack.Warrior's Amulet +2 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Any warrior can appreciate a good belt to hang their sword on. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Protective Belt | –10% Magic Damage taken. Friendly creatures are immune to the effects of “Sleep.” | –5% less Magic Damage taken | 75 | IIIEpic | Dwarven Fortitude Dwarven Fortitude 3 items: –1 level(s) to all enemy Magic School spells. 4 items: Makes the wearer immune to all negative effects in battle and on the global map. Automated Antimagic Shield –10% Magic Damage taken. Friendly creatures are immune to the effects of “Berserk.”Crimson Resonance Controller –20% to enemy hero Spell Power. Friendly creatures are immune to effects that prevent them from attacking.Protective Belt –10% Magic Damage taken. Friendly creatures are immune to the effects of “Sleep.”Emerald Resonance Controller –10% to enemy hero Spell Power. Friendly creatures are immune to the effects that kill additional units. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Not to be confused with conveyor belts. (Unless…) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Skull of Milos | +1000 Gold daily | +1000 more Gold | 75 | IIIEpic | Milos's Curse Milos's Curse 3 items: +4000 Gold daily. Golden Pig +500 Gold daily.Golden Moth +250 Gold daily.Skull of Milos +1000 Gold daily. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| They say gold doesn’t care if you’re guilty or innocent. And so for his master’s greed Duke Milos’s most loyal servant was imprisoned in a golden skull. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Slithering Sash | +3 Spell Power and Knowledge | +1 to both attributes | 75 | IIIEpic | Power of the Dragon Father Power of the Dragon Father 3 items: +2 to all attributes. 5 items: Friendly creatures are immune to all negative effects. 8 items: Friendly creatures are immune to all Magic Damage. Slithering Sash +3 Spell Power and Knowledge.Red Dragon Flame Tongue +2 Attack and Defense.Quiet Eye of a Dragon +1 Attack and Defense.Dragon Scale Shield +3 Attack and Defense.Dragonbone Greaves +1 Spell Power and Knowledge.Crown of Dragontooth +4 Spell Power and Knowledge.Dragon Wing Tabard +2 Spell Power and Knowledge.Dragon Scale Armor +4 Attack and Defense. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The eye may be fake, crafted from a jewel, but the slithering is very much real. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Celestial Sash of Bliss | +2 Attack, Defense, Spell Power, and Knowledge | +1 more to every attribute | 100 | IVLegendary | Angelic Alliance Angelic Alliance 3 items: Creatures from different factions do not lower each other’s Morale. 6 items: +3 Initiative and Speed to all friendly creatures. Armor of Wonder +2 Attack, Defense, Spell Power, and Knowledge.Sandals of the Saint +2 Attack, Defense, Spell Power, and Knowledge.Helm of Heavenly Enlightenment +2 Attack, Defense, Spell Power, and Knowledge.Celestial Sash of Bliss +2 Attack, Defense, Spell Power, and Knowledge.Sword of Judgement +2 Attack, Defense, Spell Power, and Knowledge.Lion's Shield of Courage +2 Attack, Defense, Spell Power, and Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The sentinels have withdrawn from the pact, but the artifact remains. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Magic Key Ring | Negates all effects that restrict creature rearrangement, surrendering, fleeing, and using the Spellbook and hero abilities in battle | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Can unlock the Shackles of War. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Spells in Bottles | Makes all tier-4 spells available to the hero | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Potions have existed for a long time, but to bottle the very knowledge needed to cast a spell? That is truly an impressive feat. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Omencaller | –1 to enemy Luck | —Cannot be upgraded. | —Cannot be upgraded. | ICommon | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| An imp on your shoulder spells bad luck… for the enemy. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Automated Antimagic Shield | –10% Magic Damage taken. Friendly creatures are immune to the effects of “Berserk.” | –5% less Magic Damage taken | 50 | IIRare | Dwarven Fortitude Dwarven Fortitude 3 items: –1 level(s) to all enemy Magic School spells. 4 items: Makes the wearer immune to all negative effects in battle and on the global map. Automated Antimagic Shield –10% Magic Damage taken. Friendly creatures are immune to the effects of “Berserk.”Crimson Resonance Controller –20% to enemy hero Spell Power. Friendly creatures are immune to effects that prevent them from attacking.Protective Belt –10% Magic Damage taken. Friendly creatures are immune to the effects of “Sleep.”Emerald Resonance Controller –10% to enemy hero Spell Power. Friendly creatures are immune to the effects that kill additional units. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Dwarves deal with the elements so much, they’ve automated their defenses. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Monster Head | All creatures always have neutral Morale in battle | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Can’t be too cheerful when the opponent flaunts their trophies like that. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Dragon Wing Tabard | +2 Spell Power and Knowledge | +1 to both attributes | 50 | IIRare | Power of the Dragon Father Power of the Dragon Father 3 items: +2 to all attributes. 5 items: Friendly creatures are immune to all negative effects. 8 items: Friendly creatures are immune to all Magic Damage. Slithering Sash +3 Spell Power and Knowledge.Red Dragon Flame Tongue +2 Attack and Defense.Quiet Eye of a Dragon +1 Attack and Defense.Dragon Scale Shield +3 Attack and Defense.Dragonbone Greaves +1 Spell Power and Knowledge.Crown of Dragontooth +4 Spell Power and Knowledge.Dragon Wing Tabard +2 Spell Power and Knowledge.Dragon Scale Armor +4 Attack and Defense. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Zero wings were harmed in the making of this tabard. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Backpack | The hero has +10 Movement points | +5 more Movement points | 50 | IIRare | Wanderer's Way Wanderer's Way 2 items: Eliminates all terrain penalties. Boots of Travel +10 Movement points.Backpack The hero has +10 Movement points. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Yes, you can wear it over that fancy cape. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Wizard's Cloak | +2 Spell Power | +1 more Spell Power | 50 | IIRare | Wizard's Might Wizard's Might 2 items: +4 Spell Power. Wizard's Amulet +2 Spell Power.Wizard's Cloak +2 Spell Power. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| It magically blocks out distractions, allowing the wizard to focus solely on their spellcraft. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Banner of Six Winds | +1 Speed to friendly creatures | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| There used to be a seventh wind, but he displeased Arina. And then there were six. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Light-and-Shade Cloak | Friendly creatures can still use Ranged attacks while adjacent to enemy creatures | Friendly creatures deal +5% Ranged Damage | 75 | IIIEpic | Living Arrows Living Arrows 2 items: +1 Initiative to all friendly creatures. 3 items: Creatures with Ranged attacks gain “Double Shot.” Light-and-Shade Cloak Friendly creatures can still use Ranged attacks while adjacent to enemy creatures.Shroomwood Bow Eliminates Ranged Damage penalty for friendly creatures.Quivering Quiver Friendly creatures deal +10% Ranged Damage. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Makes the wearer dissolve into the dance of light and shade. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Second Shade | +4 Knowledge, then +15% total Knowledge | +2 more Knowledge | 75 | IIIEpic | Shadow of Death Shadow of Death 2 items: –1 Morale and Luck to all enemy creatures. 3 items: –1 Initiative and Speed to all enemy creatures. 4 items: All enemy creatures deal minimal Damage. (If enemy creatures must deal maximum Damage due to another effect, neither is active.) Dark Hatchet +4 Attack, then +15% total Attack.Bone Boots +4 Spell Power, then +15% total Spell Power.Ribcage Armor +4 Defense, then +15% total Defense.Second Shade +4 Knowledge, then +15% total Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| It has an eerie aura of thinking for you. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ambassador's Sash | +10% to Persuasion Power in Diplomacy | +5% more Persuasion Power in Diplomacy | 100 | IVLegendary | Ambassador's Word Ambassador's Word 2 items: Neutral squads join the wearer’s army for free. Ambassador's Sash +10% to Persuasion Power in Diplomacy.Diplomatic Gifts +10% to Persuasion Power in Diplomacy. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| They’ll follow you if you look pretty! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Fallen Angel Wings | Grants constant flight | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| They whisper that the true angels abandoned the Temple of the Sun. Was it the Templars’ zealotry — or the angels’ hubris? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Wooden Ring | +1 Morale | +1 more Morale | 25 | ICommon | Pauper's Glory Pauper's Glory 2 items: +1 Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 4 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 6 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. Last Coin +1 Luck.Rope Belt +1 Defense.Wooden Ring +1 Morale.Rags +1 Spell Power.Fish-to-the-Face +1 Attack.Straw Hat +1 Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A peasant’s only treasure. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Quiet Eye of a Dragon | +1 Attack and Defense | +1 to both attributes | 25 | ICommon | Power of the Dragon Father Power of the Dragon Father 3 items: +2 to all attributes. 5 items: Friendly creatures are immune to all negative effects. 8 items: Friendly creatures are immune to all Magic Damage. Slithering Sash +3 Spell Power and Knowledge.Red Dragon Flame Tongue +2 Attack and Defense.Quiet Eye of a Dragon +1 Attack and Defense.Dragon Scale Shield +3 Attack and Defense.Dragonbone Greaves +1 Spell Power and Knowledge.Crown of Dragontooth +4 Spell Power and Knowledge.Dragon Wing Tabard +2 Spell Power and Knowledge.Dragon Scale Armor +4 Attack and Defense. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| You can’t shake the feeling that it follows you wherever you go. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Clenching Ring | All effects applied by the hero last +1 round(s) | +1 more round(s) | 25 | ICommon | Shamanic Soul Shamanic Soul 2 items: +25% maximum mana. 4 items: All spells in the Spellbook have maximum level. (If all spells must have minimum level due to another effect, neither is active.) Sirin Mask The cooldowns of all spells are reduced by 1 round(s).Clenching Ring All effects applied by the hero last +1 round(s).Iridescent Cloak +6 Knowledge.Shaman Staff +6 Spell Power. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This ring helps one cling to incantations as effortlessly as birds cling to branches in their sleep. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Chain Link | Forbids the wearer and the enemy hero to cast tier-1 and 2 spells in combat | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A link from a Concubus chain worn around the finger. It’s seen a lot. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ring of Life | All positive effects on friendly creatures last for +1 round(s) | +1 more round(s) | 50 | IIRare | Anesthesia Anesthesia 2 items: Friendly creatures heal 2.5% of their starting HP at the start of each round. This can revive fallen units. 3 items: +25% maximum HP to all friendly creatures. Lifeblood Fae Friendly creatures have +2 HP.Ring of Life All positive effects on friendly creatures last for +1 round(s).Flask of Oblivion All negative effects on friendly creatures last for –1 round(s). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Made of silverwort, a unique herb that feels like metal. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Emerald Resonance Controller | –10% to enemy hero Spell Power. Friendly creatures are immune to the effects that kill additional units | –5% more | 50 | IIRare | Dwarven Fortitude Dwarven Fortitude 3 items: –1 level(s) to all enemy Magic School spells. 4 items: Makes the wearer immune to all negative effects in battle and on the global map. Automated Antimagic Shield –10% Magic Damage taken. Friendly creatures are immune to the effects of “Berserk.”Crimson Resonance Controller –20% to enemy hero Spell Power. Friendly creatures are immune to effects that prevent them from attacking.Protective Belt –10% Magic Damage taken. Friendly creatures are immune to the effects of “Sleep.”Emerald Resonance Controller –10% to enemy hero Spell Power. Friendly creatures are immune to the effects that kill additional units. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Magic is the art of resonance — which means discordant vibration can dampen it. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Keeper's Ring | +2 Defense | +1 more Defense | 50 | IIRare | Keeper's Fortitude Keeper's Fortitude 2 items: +4 Defense. Keeper's Amulet +2 Defense.Keeper's Ring +2 Defense. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| City guards often wear these rings to help them react to danger one or two seconds faster. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ring of Neutrality | All creatures always have neutral Luck in battle | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Chances can be calculated — and neutralized. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Sixth Finger | –1 to enemy Morale and Luck | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| King Elloran was said to have cursed touch. Even now his finger brings misfortune, so long as you let it grow into your hand. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Shard of Serenity | Restores 6 mana to the hero each morning | +6 more mana | 50 | IIRare | Tranquil Glass Tranquil Glass 3 items: Fully restores the hero’s mana at the start of each day. Magic Mirror Restores 4 mana to the hero each morning.Shard of Serenity Restores 6 mana to the hero each morning.Mirror Tiara Restores 8 mana to the hero each morning. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A ring crafted from a stray shard of tranquil glass retains some of its calming properties. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Tabar Signet-Ring | +1 Luck | +1 more Luck | 50 | IIRare | Ukhtabar Signet Ukhtabar Signet 2 items: +50% XP gain. Tabar Signet-Ring +1 Luck.Ukh Signet +1 Morale. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| “Tabar” means “novelty” in the Sacred Vori Language. Combined, “Ukhtabar” means “the joy of novelty.” | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Brass Knuckles | Friendly creatures take –30% counterattack Damage | –15% less counterattack Damage | 75 | IIIEpic | Duelist's Pride Duelist's Pride 2 items: +3 Attack and Defense. 3 items: All friendly creatures have unlimited counterattacks. Rapier Friendly creatures deal +10% Melee DamageBrass Knuckles Friendly creatures take –30% counterattack Damage.Buckler Friendly creatures can counterattack even if the attacking enemy has “Swift Strike.” | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Well, technically it’s four rings. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Crimson Resonance Controller | –20% to enemy hero Spell Power. Friendly creatures are immune to effects that prevent them from attacking | –10% more to enemy Spell Power | 75 | IIIEpic | Dwarven Fortitude Dwarven Fortitude 3 items: –1 level(s) to all enemy Magic School spells. 4 items: Makes the wearer immune to all negative effects in battle and on the global map. Automated Antimagic Shield –10% Magic Damage taken. Friendly creatures are immune to the effects of “Berserk.”Crimson Resonance Controller –20% to enemy hero Spell Power. Friendly creatures are immune to effects that prevent them from attacking.Protective Belt –10% Magic Damage taken. Friendly creatures are immune to the effects of “Sleep.”Emerald Resonance Controller –10% to enemy hero Spell Power. Friendly creatures are immune to the effects that kill additional units. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Magic is the art of resonance — which means discordant vibration can dampen it. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Lord's Ring | Friendly creatures have +1 Initiative | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| When your lord commands, you get up and go. Simple as that. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Seal of Silence | +1 round(s) to the cooldown of all enemy spells | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| It does more than prevent speech; it saps the very desire to resist. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Soulcaller Ring | The enemy loses 1 levels on all Magic School spells | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Summoned from beyond the veil, they gladly aid in supressing your enemies — for they know that one day it will be your turn to repay their price. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Boreoloth's Tail | +1 Defense | +1 more Defense. Can be upgraded an unlimited number of times. | ∞ (+30
| ICommon | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Born into a clutch of ordinary dragons, Boreoloth spent his life striving for the greatness he was denied at birth. Even in death, his remains still hold the spark of endless self-improvement. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Boreoloth's Hand | +1 Attack | +1 more Attack. Can be upgraded an unlimited number of times. | ∞ (+30
| ICommon | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Born into a clutch of ordinary dragons, Boreoloth spent his life striving for the greatness he was denied at birth. Even in death, his remains still hold the spark of endless self-improvement. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Boreoloth's Head | +1 Knowledge | +1 more Knowledge. Can be upgraded an unlimited number of times. | ∞ (+30
| ICommon | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Born into a clutch of ordinary dragons, Boreoloth spent his life striving for the greatness he was denied at birth. Even in death, his remains still hold the spark of endless self-improvement. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Boreoloth's Heart | +1 Spell Power | +1 more Spell Power. Can be upgraded an unlimited number of times. | ∞ (+30
| ICommon | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Born into a clutch of ordinary dragons, Boreoloth spent his life striving for the greatness he was denied at birth. Even in death, his remains still hold the spark of endless self-improvement. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Music Sheet | Friendly creatures’ abilities deal +40% Damage | +20% more Damage | 25 | ICommon | Inner Song Inner Song 3 items: When friendly creatures use abilities, their turn doesn’t end. Fancy Mask Generates 2 Focus Point(s) at the start of the battle.Music Sheet Friendly creatures’ abilities deal +40% Damage.Singing Pan-Pipe All effects applied by friendly creatures last +1 round(s). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Music helps one articulate themselves — and sets the battle rhythm. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Magic Scroll | Adds the “…” spell to the hero’s Spellbook. | —Cannot be upgraded. | —Cannot be upgraded. | ICommon | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parchment imbued with magical knowledge. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Golden Moth | +250 Gold daily | +250 more Gold | 25 | ICommon | Milos's Curse Milos's Curse 3 items: +4000 Gold daily. Golden Pig +500 Gold daily.Golden Moth +250 Gold daily.Skull of Milos +1000 Gold daily. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| They say moths burn themselves mistaking light for gold, for such is their attraction to riches. And so for her husband’s greed, Duke Milos’s wife was turned into a moth. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Last Coin | +1 Luck | +1 more Luck | 25 | ICommon | Pauper's Glory Pauper's Glory 2 items: +1 Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 4 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. 6 items: +1 more Attack, Defense, Spell Power, Knowledge, Morale, and Luck. Last Coin +1 Luck.Rope Belt +1 Defense.Wooden Ring +1 Morale.Rags +1 Spell Power.Fish-to-the-Face +1 Attack.Straw Hat +1 Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| It’s always heads. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Liquid Silence | +1 round(s) to the cooldown of all enemy creature abilities | +1 more round(s) | 25 | ICommon | Dominion of Puppeteers Dominion of Puppeteers 2 items: +1 round(s) to the cooldown of all enemy spells. 4 items: All spells in the enemy’s Spellbook have minimum level. (If all spells must have maximum level due to another effect, neither is active.) Truthmaker –10% Attack to enemy creatures.Truthseeker –10% Defense to enemy creatures.Amelchia's Law –1 Initiative to enemy creatures.Liquid Silence +1 round(s) to the cooldown of all enemy creature abilities. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A common tool of negotiation in Alvar court. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Magic Mirror | Restores 4 mana to the hero each morning | +4 more mana | 25 | ICommon | Tranquil Glass Tranquil Glass 3 items: Fully restores the hero’s mana at the start of each day. Magic Mirror Restores 4 mana to the hero each morning.Shard of Serenity Restores 6 mana to the hero each morning.Mirror Tiara Restores 8 mana to the hero each morning. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This mirror has an uncanny ability to restore its own broken shards. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ancient Idol | The hero ignores the restriction on using the same Magic School twice | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Power flows from the idol’s stone eyes, coursing into the body of its owner. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Deck of Spells | Makes all tier-1 spells available to the hero | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Some wizards enjoyed games and gambling a bit too much. This is the result. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Enchanted Magic Scroll | Adds the max. level “…” spell to the hero’s Spellbook. | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parchment imbued with magical knowledge. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Keeper's Amulet | +2 Defense | +1 more Defense | 50 | IIRare | Keeper's Fortitude Keeper's Fortitude 2 items: +4 Defense. Keeper's Amulet +2 Defense.Keeper's Ring +2 Defense. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| This amulet allows the wearer to survive against all odds — though sadly, it’s worn by cowards who never intend to face such dangers. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Quivering Quiver | Friendly creatures deal +10% Ranged Damage | +5% more Ranged Damage | 50 | IIRare | Living Arrows Living Arrows 2 items: +1 Initiative to all friendly creatures. 3 items: Creatures with Ranged attacks gain “Double Shot.” Light-and-Shade Cloak Friendly creatures can still use Ranged attacks while adjacent to enemy creatures.Shroomwood Bow Eliminates Ranged Damage penalty for friendly creatures.Quivering Quiver Friendly creatures deal +10% Ranged Damage. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Grows magic arrows, bolts, darts, shuriken, javelins, and any throwing item imaginable. (Thank the woods.) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Golden Pig | +500 Gold daily | +500 more Gold | 50 | IIRare | Milos's Curse Milos's Curse 3 items: +4000 Gold daily. Golden Pig +500 Gold daily.Golden Moth +250 Gold daily.Skull of Milos +1000 Gold daily. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| They say pigs are so greedy they dig the ground constantly in search for gold. And so for his own greed, Duke Milos was turned into a pig. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Orb of Destruction | Heroic Strike deals +10 base Damage | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| It will take all that you are and turn it into raw power. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Scholar's Amulet | +2 Knowledge | +1 more Knowledge | 50 | IIRare | Scholar's Wisdom Scholar's Wisdom 2 items: +4 Knowledge. Scholar's Tiara +2 Knowledge.Scholar's Amulet +2 Knowledge. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| For those who know that they know nothing. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Spyglass | +2 sight radius | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| I spy with my little eye something beginning with the eye of a storm. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Ukh Signet | +1 Morale | +1 more Morale | 50 | IIRare | Ukhtabar Signet Ukhtabar Signet 2 items: +50% XP gain. Tabar Signet-Ring +1 Luck.Ukh Signet +1 Morale. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| “Ukh” means “joy” in the Sacred Vori Language. Combined, “Ukhtabar” means “the joy of novelty.” | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Voodoo Doll | When the wearer is defeated, they can still be hired back in the Tavern | —Cannot be upgraded. | —Cannot be upgraded. | IIRare | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| And what a lovely community awaits them there! | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Warrior's Amulet | +2 Attack | +1 more Attack | 50 | IIRare | Warrior's Strength Warrior's Strength 2 items: +4 Attack. Warrior's Belt +2 Attack.Warrior's Amulet +2 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The mark of many martial feats accomplished — and many more to come. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Wizard's Amulet | +2 Spell Power | +1 more Spell Power | 50 | IIRare | Wizard's Might Wizard's Might 2 items: +4 Spell Power. Wizard's Amulet +2 Spell Power.Wizard's Cloak +2 Spell Power. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Even if the wearer is lacking, the power within this amulet more than compensates for it. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Flag of Truce | The wearer keeps their army whenever they flee from battle | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| No matter how powerful you are on the battlefield, in the end all disputes are solved politically. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Golden Goose Egg | Grants a random wondrous reward after a random number of upgrades | Varies | ∞ (60
| IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| If we knew for certain how golden geese are hatched, we’d live like kings. But there doesn’t seem to be a pattern. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Drum of War | Friendly creatures deal +1 Damage | +1 more Damage | 50 | IIIEpic | Knight's Honor Knight's Honor 3 items: +1 Morale and Luck. 5 items: +3% chance of Morale and Luck triggering for each point of them the wearer has. Lance +3 Attack.Armet +2 Defense.Plate Armor +3 Defense.Drum of War Friendly creatures deal +1 Damage.Misericorde +2 Attack. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Without cause or purpose. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Mythic Magic Scroll | Adds the “…” spell to the hero’s Spellbook. | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Parchment imbued with magical knowledge. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Orb of Inhibition | On the first round of the battle, heroes cannot use their Spellbook or active abilities | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| It’s strange to behold, as though within this orb light and sound do not exist. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Orb of Dawn | All of the hero’s Daylight spells have +1 level(s). Enemy hero has –1 Daylight spell level | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Daylight magic is relentless, excelling in positive effects, cleansing, defense, and attack. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Orb of Eternity | All of the hero’s Arcane spells have +1 level(s). Enemy hero has –1 Arcane spell level | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Arcane magic is elusive, capable of bending time, space, and raw energy to its will. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Orb of Twilight | All of the hero’s Nightshade spells have +1 level(s). Enemy hero has –1 Nightshade spell level | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Nightshade magic is subtle, specializing in negative effects, mind-reading, and manipulation. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Primordial Orb | All of the hero’s Primal spells have +1 level(s). Enemy hero has –1 Primal spell level | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Primal magic is raw and untamed, focusing mostly on elemental assaults. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Runestone Shards | Makes all tier-2 spells available to the hero | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Just these few shards hold vast knowledge, suggesting they may have once been part of something much greater. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Shackles of War | Prevents surrender and flee in battle. (This affects both the wearer and their opponent.) | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Should have gone with the Lasso of War to catch the mount, too. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Tactical Guide | The opponent cannot rearrange creatures before the start of battle | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 22… Ra4 23. Nc3 Ra8 24. Nb5 Ra4 25. Nc3 Ra8 26. Nb5. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Diplomatic Gifts | +10% to Persuasion Power in Diplomacy | +5% more Persuasion Power in Diplomacy | 100 | IVLegendary | Ambassador's Word Ambassador's Word 2 items: Neutral squads join the wearer’s army for free. Ambassador's Sash +10% to Persuasion Power in Diplomacy.Diplomatic Gifts +10% to Persuasion Power in Diplomacy. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| No desire for independence can withstand the power of goodies. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Daylight Tome | Allows the hero to cast all Daylight spells | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| “Arina the Brave, Justice of the Heavens, Sister of Sunlight that reveals all and strikes true…” | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Nightshade Tome | Allows the hero to cast all Nightshade spells | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| “Naira the True, the Gentle, Knower of Secrets, Muffler of Steps: wrap me in your wings of silence…” | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Primal Tome | Allows the hero to cast all Primal spells | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| “Hksmilla, World’s Rage, Primal Eye; unlike any other scholar, with your thousand claws and multiple heads...” | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Arcane Tome | Allows the hero to cast all Arcane spells | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| “Doreath the Pure, Weaver of the world’s clearest essence, Master of Time, Space, and Solitude…” | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Demonic Heart | Replaces all the hero’s spells with their Masterful versions (if they exist) | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Everyone has all the power of the world in their heart. You just need to tune to the Chorus’s buzz to find it. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Lifeblood Fae | Friendly creatures have +2 HP | +1 more HP | 75 | IVLegendary | Anesthesia Anesthesia 2 items: Friendly creatures heal 2.5% of their starting HP at the start of each round. This can revive fallen units. 3 items: +25% maximum HP to all friendly creatures. Lifeblood Fae Friendly creatures have +2 HP.Ring of Life All positive effects on friendly creatures last for +1 round(s).Flask of Oblivion All negative effects on friendly creatures last for –1 round(s). | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The fae know unique blood magic. They also remember the face of everyone who has ever held them captive. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Pole Star | Global Map spells of the hero cost 0 mana | —Cannot be upgraded. | —Cannot be upgraded. | IVLegendary | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| They say stars are the tears of heaven. And tears can be drunk. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Holy Sigil of Eridore | While worn, grants all unlearned Subskills of the following Skills: Logistics, Battle Magic, Wisdom | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A fictional deity invented by pixies as a prank, Eridore would later be worshipped by many seeking to bless their messages. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Holy Sigil of Insara | While worn, grants all unlearned Subskills of the following Skills: Leadership, Insight, Diplomacy, Tactics | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Legend speaks of an oracle who could foresee the outcomes of wars and battles. Over time, generals began to revere her name. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Holy Sigil of Mearea | While worn, grants all unlearned Subskills of the following Skills: Luck, Economy, Daylight Magic | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The golden dragon of myth is said to bring wealth so great that it eventually became a symbol of worship. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Holy Sigil of Quix | While worn, grants all unlearned Subskills of the following Skills: Arcane Magic, Scouting, Battlecraft, Thaumaturgy | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| A conqueror who was said to have never died, but instead ventured to conquer new worlds beyond this one, Quix exists now only in legend. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Holy Sigil of Roph | While worn, grants all unlearned Subskills of the following Skills: Righteousness, Necromancy, Murmuring, Triumvirate’s Strength, Abyssal Communion, Summon Swarm | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| No one remembers who Roph once served, but he did so with unwavering loyalty. In time, he became a local saint, embodying the ideals of steadfast devotion to one’s sovereign, one’s faction, and oneself. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Holy Sigil of The Second Man | While worn, grants all unlearned Subskills of the following Skills: Offense, Summon Avatar, Siegecraft, Combat | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| The First Man in existence is said to have found death, conquered by the power of the Second. At least, that is what the legends tell. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Holy Sigil of The Seven Magi | While worn, grants all unlearned Subskills of the following Skills: Sorcery, Nightshade Magic, Resistance | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Seven powerful mages formed a secret coven. It’s no longer in existence, but their Sigil endures. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Holy Sigil of Uurdt | While worn, grants all unlearned Subskills of the following Skills: Defense, Primal Magic, Recruitment | —Cannot be upgraded. | —Cannot be upgraded. | IIIEpic | —Not part of a set. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| “Where blood spills, plants grow.” This was the motto of an ancient druidic cult, and only their sigil remains to tell their tale. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
-- Usage: see Module:ArtifactsOverview/doc
local p = {}
local f = mw.ustring.format
local UtilHyper = require('Module:UtilHyper')
local SLOT_ORDER = {
left_hand = 1, -- Main Hand
right_hand = 2, -- Off Hand
armor = 3, -- Armor
head = 4, -- Head
boots = 5, -- Boots
belt = 6, -- Belt
back = 7, -- Back
ring = 8, -- Rings
item_slot = 9, -- Item
unic_slot = 10, -- Relic
}
local RARITY_ORDER = {
common = 1,
rare = 2,
epic = 3,
legendary = 4,
}
local SLOT_ICONS = {
armor = 'Icon_Equipment_Armor.png',
back = 'Icon_Equipment_Cloak.png',
belt = 'Icon_Equipment_Belt.png',
boots = 'Icon_Equipment_Boots.png',
head = 'Icon_Equipment_Helmet.png',
item_slot = 'Icon_Equipment_Sundries.png',
left_hand = 'Icon_Equipment_RightHand.png',
right_hand = 'Icon_Equipment_LeftHand.png',
ring = 'Icon_Equipment_Rings.png',
unic_slot = 'Icon_Equipment_Banner.png',
}
-- Note: The right side is just a fallback, it will seldom be used.
local TRANSLATION_IDS = {
wiki_none = 'None',
wiki_level = 'Level',
wiki_cost = 'Cost',
wiki_total = 'Total',
wiki_ao_artifact = 'Artifact',
unit_window_narrative = 'Description',
wiki_ao_upgrade = 'Upgrade', -- inventoryUpgradeItemLabel
wiki_ao_slot = 'Slot',
wiki_ao_rarity = 'Rarity',
wiki_ao_set = 'Set',
wiki_ao_upgrade_cost = 'Upgrade cost',
wiki_ao_armor = 'Armor',
wiki_ao_back = 'Back',
wiki_ao_belt = 'Belt',
wiki_ao_boots = 'Boots',
wiki_ao_head = 'Head',
wiki_ao_item_slot = 'Item',
wiki_ao_left_hand = 'Main Hand',
wiki_ao_right_hand = 'Off Hand',
wiki_ao_ring = 'Rings',
wiki_ao_unic_slot = 'Relic',
wiki_ao_common = 'Common',
wiki_ao_rare = 'Rare',
wiki_ao_epic = 'Epic',
wiki_ao_legendary = 'Legendary',
wiki_ao_special = 'Special',
wiki_ao_items = 'items:',
wiki_ao_toggle = 'Toggle narratives',
wiki_ao_no_upgrade = 'Cannot be upgraded.',
wiki_ao_no_set = 'Not part of a set.',
wiki_ao_back_to_top = 'back to top',
}
local ROMAN = { 'I', 'II', 'III', 'IV', 'V', 'VI', 'VII', 'VIII' }
local ALL_QUOTES = [["„“”«»「」『』']]
local NAV_ID = 'nav'
-- Displays a variable
------------------------------------------------------------------------------------------------------------------------
local function dump(target)
return '<pre>' .. mw.dumpObject(target) .. '</pre>'
end
------------------------------------------------------------------------------------------------------------------------
local function cleanHtmlWhitespace(str)
local cleaned = str:gsub(">%s+", ">"):gsub("%s+<", "<")
return cleaned
end
-- Spawns a safe robotic url from an English name, fit for adding it before the visible name
------------------------------------------------------------------------------------------------------------------------
local function getUrl(nameEn, lang)
if not nameEn then
return ''
end
local url = nameEn
if lang ~= 'en' then
url = url .. '/' .. lang
end
return url
end
-- Retrieves the text for some specific ids from Cargo Translations.
------------------------------------------------------------------------------------------------------------------------
local function translateIds(ids, lang, extra)
-- Key list
local list = {}
for key, _ in pairs(ids) do
list[#list + 1] = key
end
local idListString = '"' .. table.concat(list, '", "') .. '"'
-- Cargo
local where = {}
table.insert(where, 'target_id IN (' .. idListString .. ')')
table.insert(where, 'language = "' .. lang .. '"')
if extra then
table.insert(where, extra)
end
local results = mw.ext.cargo.query('Translation', 'target_id, name', {
where = table.concat(where, ' AND '),
limit = 100
})
-- Dictionary
local dictionary = mw.clone(ids)
for key, value in pairs(dictionary) do
dictionary[key] = value .. '🗯️'
end
for _, row in ipairs(results) do
local name = row['name']
if name and name ~= '' then
dictionary[row['target_id']] = name
end
end
return dictionary
end
-- Converts a dictionary into a linear array
------------------------------------------------------------------------------------------------------------------------
local function flatten(hub)
local list = {}
for _, entry in pairs(hub) do
list[#list + 1] = entry
end
return list
end
-- Parses and runs a Cargo query from wiki-like syntax
------------------------------------------------------------------------------------------------------------------------
local function runQuery(query, ...)
query = string.gsub(query, "%-%-.-\n", "") -- remove "comments"
query = select('#', ...) > 0 and mw.ustring.format(query, ...) or query
query = mw.text.trim(query)
local tables = ''
local fields = ''
local options = {}
for part in query:gmatch('[^|]+') do
local key, val = part:match('^%s*([^=]+)%s*=%s*(.-)%s*$')
if key and val then
key = mw.text.trim(key):lower()
val = mw.text.trim(val)
val = val:gsub('%s', ' ')
if key == 'tables' then
tables = val
elseif key == 'fields' then
fields = val
elseif key == 'limit' then
options[key] = tonumber(val) or val
elseif key == 'join on' then
options['join'] = val
else
options[key] = val
end
end
end
return mw.ext.cargo.query(tables, fields, options)
end
-- Interrogates the main Cargo table
------------------------------------------------------------------------------------------------------------------------
local function queryMain(lang)
return runQuery([[
tables =
Artifact = A,
Translation = T,
Translation = E
| join on =
A.id = T.target_id,
A.id = E.target_id
| fields =
A.id = id,
A.slot = slot,
A.rarity = rarity,
A.artifact_set_id = artifact_set_id,
A.max_level = max_level,
A.cost_base = cost_base,
A.cost_per_level = cost_per_level,
T.language = language,
T.name = name,
T.description = description,
T.type = translation_type,
E.name = nameEn
| where =
A.id NOT LIKE 'campaign_%%'
-- AND A.id LIKE '%%_scroll_%%'
AND T.language = '%s'
AND E.type = 'artifact'
AND E.language = 'en'
| limit =
1000
]], lang);
end
-- Folds magic scrolls into 3 artifacts (normal, enchanted and mythic):
------------------------------------------------------------------------------------------------------------------------
local function consolidateScrolls(results)
local hub = {}
for _, row in ipairs(results) do
local id = row.id
if id:find('magic_scroll') then
if id:find('mythic') then
id = 'mythic_scroll_box_artifact'
else
if id:find('enchanted') then
id = 'enchanted_magic_scroll_artifact'
else
id = 'magic_scroll_artifact'
end
end
local entry = hub[id]
if not entry then
entry = {}
entry.id = id or ''
entry.name = row.name or ''
entry.nameEn = row.nameEn or ''
entry.spells = {} -- only available for scrolls
entry.slot = row.slot or ''
entry.rarity = row.rarity or ''
entry.artifact_set_id = row.artifact_set_id or ''
entry.max_level = 0
entry.cost_base = 0
entry.cost_per_level = 0
entry.description = '' -- will be overridden below
entry.upgrade = ''
entry.narrative = '' -- will be overridden below
hub[id] = entry
end
if row.translation_type == 'artifact' then
local spellId = row.id:gsub('.*artifact_', '')
table.insert(entry.spells, spellId)
entry.description = row.description or ''
end
if row.translation_type == 'artifact_narrative' then
entry.narrative = row.description or ''
end
end
end
return hub
end
-- Folds all Cargo results into a single dictionary:
------------------------------------------------------------------------------------------------------------------------
local function consolidateMain(results)
local hub = consolidateScrolls(results)
--do return hub end
for _, row in ipairs(results) do
local id = row.id
if not id:find('magic_scroll') then
local entry = hub[id]
if not entry then
entry = {}
entry.id = id or ''
entry.name = row.name or ''
entry.nameEn = row.nameEn or ''
entry.slot = row.slot or ''
entry.rarity = row.rarity or ''
entry.artifact_set_id = row.artifact_set_id or ''
entry.max_level = tonumber(row.max_level) or 0
entry.cost_base = tonumber(row.cost_base) or 0
entry.cost_per_level = tonumber(row.cost_per_level) or 0
entry.description = '' -- will be overridden below
entry.upgrade = '' -- will be overridden below
entry.narrative = '' -- will be overridden below
hub[id] = entry
end
if row.translation_type == 'artifact' then
entry.description = row.description or ''
end
if row.translation_type == 'artifact_upgrade' then
entry.upgrade = row.description or ''
end
if row.translation_type == 'artifact_narrative' then
entry.narrative = row.description or ''
end
end
end
return hub
end
-- Interrogates the ItemSetTier Cargo table
------------------------------------------------------------------------------------------------------------------------
local function querySets(lang)
return runQuery([[
tables =
ItemSetTier = S,
Translation = T,
Translation = E,
Translation = L,
| join on =
S.set_id = T.target_id,
S.set_id = E.target_id,
S.id = L.target_id
| fields =
S.id = id,
S.set_id = set_id,
S.ordinal = ordinal,
S.required_amount = required_amount,
T.language = language,
T.name = name,
E.name = nameEn,
L.description = description
| where =
T.language = '%s'
AND E.language = 'en'
AND L.language = '%s'
| limit =
1000
]], lang, lang);
end
-- Folds Set results into a single dictionary:
------------------------------------------------------------------------------------------------------------------------
local function consolidateSets(results)
local hub = {}
for _, row in ipairs(results) do
local set_id = row.set_id
local entry = hub[set_id]
if not entry then
entry = {}
entry.id = set_id or ''
entry.name = row.name or ''
entry.nameEn = row.nameEn or ''
entry.descriptions = {} -- will be filled below
entry.artifacts = {} -- will be filled later on
hub[set_id] = entry
end
local i = tonumber(row.ordinal or 0) + 1
entry.descriptions[i] = {
required_amount = tonumber(row.required_amount or 0),
description = row.description or ''
}
end
return hub
end
------------------------------------------------------------------------------------------------------------------------
local function assignArtifactsToSet(setsHub, artifactsHub)
for id, artifact in pairs(artifactsHub) do
local set = setsHub[artifact.artifact_set_id]
if set then
table.insert(set.artifacts, id)
end
end
end
------------------------------------------------------------------------------------------------------------------------
local function sortList(a, b)
local slotA = SLOT_ORDER[a.slot] or 99
local slotB = SLOT_ORDER[b.slot] or 99
if slotA ~= slotB then
return slotA < slotB
end
local rarityA = RARITY_ORDER[a.rarity] or 99
local rarityB = RARITY_ORDER[b.rarity] or 99
if rarityA ~= rarityB then
return rarityA < rarityB
end
return a.id < b.id
end
-- Boilerplate for the header cells
------------------------------------------------------------------------------------------------------------------------
local function addTh(tr, text)
return tr:tag('th'):wikitext(text)
end
-- Boilerplate for the body cells
------------------------------------------------------------------------------------------------------------------------
local function addTd(tr, content)
if type(content) == "string" then
return tr:tag('td'):wikitext(content)
else
return tr:tag('td'):node(content)
end
end
-- Boilerplate for the separator rows
------------------------------------------------------------------------------------------------------------------------
local function addSeparator(htmlTable, className, content)
htmlTable:tag('tr')
:addClass('separator')
:addClass(className)
:tag('td'):attr('data-sort-value', ''):attr('colspan', 100):wikitext(content):done()
end
-- TABLE HEADER
------------------------------------------------------------------------------------------------------------------------
local function createHeader(htmlTable, words)
local tr = htmlTable:tag('tr')
--addTh(tr, 'id')
addTh(tr, words.wiki_ao_artifact):attr('colspan', 2)
addTh(tr, words.unit_window_narrative)
addTh(tr, words.wiki_ao_upgrade)
addTh(tr, words.wiki_ao_upgrade_cost)
addTh(tr, words.wiki_ao_slot)
addTh(tr, words.wiki_ao_rarity)
addTh(tr, words.wiki_ao_set)
--addTh(tr, 'narrative')
end
------------------------------------------------------------------------------------------------------------------------
local function renderIcon(id, nameEn, lang)
local url = getUrl(nameEn, lang)
return f('[[File:%s.png|64px|link=%s]]', id, url)
end
------------------------------------------------------------------------------------------------------------------------
local function renderName(name, nameEn, lang)
local url = getUrl(nameEn, lang)
return f('[[%s|%s]]', url, name)
end
------------------------------------------------------------------------------------------------------------------------
local function renderDescription(item, lang, hyper, frame)
local description = mw.ustring.gsub(item.description, '[.。]-$', '') -- remove the ending dot
description = UtilHyper.apply(description, hyper)
if item.spells then
local icons = {}
for _, id in ipairs(item.spells) do
table.insert(icons, frame:preprocess(f('{{LinkIcon|lang=%s|id=%s|type=spell}}', lang, id)))
end
local enumeration = table.concat(icons, '<br>')
local pattern = f('([%s]).-([%s])', ALL_QUOTES, ALL_QUOTES)
local button = f("<span class='toggle mw-customtoggle-%s' role='button'>…</span>", item.id)
description = mw.ustring.gsub(item.description, pattern, '%1' .. button .. '%2')
local markup = '<div id="mw-customcollapsible-%s" class="spells mw-collapsible mw-collapsed">%s</div>'
local zone = f(markup, item.id, enumeration)
return mw.text.trim(description) .. zone
end
return mw.text.trim(description)
end
------------------------------------------------------------------------------------------------------------------------
local function renderUpgrade(item, words, lang, frame)
if item.max_level < 2 then
return frame:preprocess(f('{{Hint|—|%s}}', words.wiki_ao_no_upgrade))
end
if item.id:find('goose_egg') then
local url = getUrl('Golden_Goose_Egg', lang)
return f('[[%s|%s]]', url, words.wiki_ao_special)
end
local text = item.upgrade
text = mw.ustring.gsub(text, '^.-[::]', '') -- remove the "Upgrade: " prefix
if item.max_level < 900 then
text = mw.ustring.gsub(text, '[.。]-$', '') -- remove the ending dot
end
--if item.max_level > 900 then
--text = mw.ustring.gsub(text, '[.。].-$', '') -- remove the last sentence which should say "Can be upgraded..."
--end
return mw.text.trim(text)
end
------------------------------------------------------------------------------------------------------------------------
local function buildUpgradeHint(item, words, icon)
local t = mw.html.create('table')
t:tag('tr')
:tag('th'):wikitext(words.wiki_level)
:tag('th'):wikitext(words.wiki_cost)
:tag('th'):wikitext(words.wiki_total)
local sum = 0
for i = 1, 9 do
local current
if item.cost_per_level == 0 then
current = item.cost_base
else
current = i * (item.cost_base + item.cost_per_level)
end
sum = sum + current
t:tag('tr')
:tag('th'):wikitext(i + 1)
:tag('td'):wikitext(current .. icon)
:tag('td'):wikitext(sum .. icon)
end
return tostring(t)
end
------------------------------------------------------------------------------------------------------------------------
local function addUpgradeCost(tr, item, words, frame)
local icon = '[[File:Icon_Resource_AlchemicalDust.png|24px|link=]]';
if item.max_level > 900 then
local symbol = item.cost_per_level == 0 and '' or '+'
local nr = item.cost_per_level == 0 and item.cost_base or (item.cost_base + item.cost_per_level)
local text = f('<span class{{=}}"infinity">∞</span> <span class{{=}}"step">(%s%s%s)</span>', symbol, nr, icon)
local hint = buildUpgradeHint(item, words, icon)
local wikitext = frame:preprocess(f('{{Hint|%s|%s|side=right|class=floating-costs}}', text, hint))
tr:tag('td'):wikitext(wikitext):attr('data-sort-value', -1000 - item.cost_per_level)
elseif item.max_level < 2 then
local hint = frame:preprocess(f('{{Hint|—|%s}}', words.wiki_ao_no_upgrade))
tr:tag('td'):wikitext(hint):attr('data-sort-value', 999999)
else
local cost = item.cost_base + item.cost_per_level
tr:tag('td'):wikitext(cost .. icon):attr('data-sort-value', -cost)
end
end
------------------------------------------------------------------------------------------------------------------------
local function renderSlot(item, words, frame)
local file = f('[[File:%s|48px|link=]]', SLOT_ICONS[item.slot])
local hint = words['wiki_ao_' .. item.slot]
return frame:preprocess(f('{{Hint|%s|%s}}', file, hint))
end
------------------------------------------------------------------------------------------------------------------------
local function renderRarity(item, words, frame)
local text = ROMAN[RARITY_ORDER[item.rarity]]
local hint = words['wiki_ao_' .. item.rarity]
return frame:preprocess(f('{{Hint|%s|%s}}', text, hint))
end
------------------------------------------------------------------------------------------------------------------------
local function renderSetFloating(set, words)
local lines = {}
table.insert(lines, f('<div class{{=}}"set-title">%s</div>', set.name))
for _, entry in ipairs(set.descriptions) do
table.insert(lines, f('<div class{{=}}"set-level">%s %s</div>', entry.required_amount, words.wiki_ao_items))
table.insert(lines, f('<div class{{=}}"set-text">%s</div>', entry.description))
end
return table.concat(lines, '')
end
------------------------------------------------------------------------------------------------------------------------
local function renderSetName(set, lang, words, frame)
local url = getUrl(set.nameEn, lang)
local text = f('[[%s|%s]]', url, set.name)
local floating = renderSetFloating(set, words)
return frame:preprocess(f('{{Hint|%s|%s|side=left|class=set-floating}}', text, floating))
end
------------------------------------------------------------------------------------------------------------------------
local function renderSetIcon(artifact, lang, frame)
local url = getUrl(artifact.nameEn, lang)
local file = f('[[File:%s.png{{!}}32px{{!}}link{{=}}%s]]', artifact.id, url)
local floating = f('<div class{{=}}"set-title">%s</div>%s', artifact.name, artifact.description)
return frame:preprocess(f('{{Hint|%s|%s|style=pointer-events:none}}', file, floating))
end
------------------------------------------------------------------------------------------------------------------------
local function renderSet(setId, setsHub, artifactsHub, lang, words, frame)
local set = setsHub[setId]
if not set then
return frame:preprocess(f('{{Hint|—|%s}}', words.wiki_ao_no_set))
end
local icons = {}
for _, id in ipairs(set.artifacts) do
local artifact = artifactsHub[id]
table.insert(icons, renderSetIcon(artifact, lang, frame))
end
return renderSetName(set, lang, words, frame) .. '<br>' .. table.concat(icons, '')
end
------------------------------------------------------------------------------------------------------------------------
local function renderSlotSeparator(slot, words)
local file = f('[[File:%s|64px|link=]]', SLOT_ICONS[slot])
local text = words['wiki_ao_' .. slot]
local back = f('<span class="back-to-top">[[#%s|%s]]</span>', NAV_ID, words.wiki_ao_back_to_top)
return '<div id="' .. text:gsub(' ', '_') .. '">' .. file .. text .. back .. '</div>'
end
------------------------------------------------------------------------------------------------------------------------
local function getDsv(value)
return value == '' and 'ZZZZZZ' or value
end
------------------------------------------------------------------------------------------------------------------------
local function addNarrative(htmlTable, narrative)
local markup = cleanHtmlWhitespace([[
<tr class='expand-child mw-collapsible mw-collapsed' id='mw-customcollapsible-narrative'>
<td colspan='100' class='narrative-full-td'>
%s
</td>
</tr>
]])
htmlTable:node(f(markup, narrative))
end
-- TABLE BODY
------------------------------------------------------------------------------------------------------------------------
local function createBody(htmlTable, list, lang, words, frame, setsHub, artifactsHub, hyper)
local currentRarity = list[1].rarity
local currentSlot = list[1].slot
for _, item in ipairs(list) do
-- separators
if item.slot ~= currentSlot then
currentSlot = item.slot
currentRarity = item.rarity
addSeparator(htmlTable, 'separator-large', renderSlotSeparator(currentSlot, words))
elseif item.rarity ~= currentRarity then
currentRarity = item.rarity
addSeparator(htmlTable, 'separator-tiny ' .. currentRarity, '')
end
local tr = htmlTable:tag('tr'):addClass('artifact'):addClass(item.rarity)
--addTd(tr, item.id)
addTd(tr, renderIcon(item.id, item.nameEn, lang))
addTd(tr, renderName(item.name, item.nameEn, lang))
addTd(tr, renderDescription(item, lang, hyper, frame))
local upgradeDescription = renderUpgrade(item, words, lang, frame)
addTd(tr, upgradeDescription):attr('data-sort-value', getDsv(upgradeDescription))
addUpgradeCost(tr, item, words, frame)
addTd(tr, renderSlot(item, words, frame)):attr('data-sort-value', SLOT_ORDER[item.slot])
addTd(tr, renderRarity(item, words, frame)):attr('data-sort-value', RARITY_ORDER[item.rarity])
local set = renderSet(item.artifact_set_id, setsHub, artifactsHub, lang, words, frame)
addTd(tr, set):attr('data-sort-value', getDsv(item.artifact_set_id))
addNarrative(htmlTable, item.narrative)
end
end
------------------------------------------------------------------------------------------------------------------------
local function createToggleButton(words)
return f("<span role='button' class='toggle mw-customtoggle-narrative'>%s</span>", words.wiki_ao_toggle)
end
------------------------------------------------------------------------------------------------------------------------
local function createNav(words)
local icons = {}
local ordered = {}
for slot_name, order_index in pairs(SLOT_ORDER) do
ordered[order_index] = slot_name
end
for _, slot in ipairs(ordered) do
local name = words['wiki_ao_' .. slot]
local hash = '#' .. name:gsub(' ', '_')
local markup = '<span class="jump">[[File:%s|32px|link=%s]][[%s|%s]]</span>';
local icon = f(markup, SLOT_ICONS[slot], hash, hash, name)
table.insert(icons, icon)
end
local toc = table.concat(icons, ' ')
local toggle = createToggleButton(words)
local div = mw.html.create('div'):addClass('nav'):attr('id', NAV_ID)
div:wikitext(toggle .. toc)
return tostring(div)
end
-- M A I N
------------------------------------------------------------------------------------------------------------------------
function p.display(frame)
--do return dump(frame) end
-- Args
local args = frame.args
local lang = args.lang ~= '' and args.lang or 'en'
--lang = 'ja'
local hyper = args.hyper
--hyper = 'Sorcery=Sorcery; Nightshade [Ss]pells=Nightshade_Spells'
-- Language
local words = translateIds(TRANSLATION_IDS, lang)
-- Cargo
local results = queryMain(lang)
local hub = consolidateMain(results)
--do return dump(hub) end
local list = flatten(hub);
if #list == 0 then return words.wiki_none end
local setsResults = querySets(lang)
local setsHub = consolidateSets(setsResults)
assignArtifactsToSet(setsHub, hub)
-- Various manipulations
table.sort(list, sortList)
-- Table
local htmlTable = mw.html.create('table')
htmlTable:addClass('wikitable sortable table-nobands')
htmlTable:attr('id', words['wiki_ao_left_hand']:gsub(' ', '_'))
createHeader(htmlTable, words)
createBody(htmlTable, list, lang, words, frame, setsHub, hub, hyper)
-- Output
local nav = createNav(words)
local styleTag = frame:extensionTag('templatestyles', '', { src = frame:getTitle() .. '/styles.css' })
return '<div class="artifacts-overview">' .. styleTag .. nav .. tostring(htmlTable) .. '</div>'
end
return p


