diff --git a/prisma/models/slaythespire2.prisma b/prisma/models/slaythespire2.prisma index e87d243..b62a98d 100644 --- a/prisma/models/slaythespire2.prisma +++ b/prisma/models/slaythespire2.prisma @@ -6,10 +6,9 @@ enum SlayTheSpire2ItemCategory { ANCIENT } -// enum SlayTheSpire2UncollectableItemCategory { -// // TODO: Add your uncollectable item categories here -// PLACEHOLDER -// } +enum SlayTheSpire2UncollectableItemCategory { + ANCIENT +} enum SlayTheSpire2PotionRarity { COMMON diff --git a/src/features/wiki-sync/clean-wiki-text.ts b/src/features/wiki-sync/clean-wiki-text.ts new file mode 100644 index 0000000..30b7072 --- /dev/null +++ b/src/features/wiki-sync/clean-wiki-text.ts @@ -0,0 +1,144 @@ +/** + * Helpers for converting raw wiki markup into `description: string[]` + * + * - splitOnLineBreaks: split on
,
,
(case-insensitive), + * trim segments, drop empties. + * - cleanWikiTags: collapse `{{a|b|...}}` templates (prefer plural form + * when the template has one, otherwise the singular display arg), + * strip leading `$` from keyword links, expand @-icon tokens. Every + * resolved tag gets its first letter capitalized — tags are special + * terms and the source sometimes stores the plural slot lowercased. + * - cleanWikiText: splitOnLineBreaks composed with cleanWikiTags. + */ +import { capitalize } from "#/utils.ts"; + +type IconTokenEntry = + | { kind: "countable"; singular: string; plural: string } + | { kind: "noun"; word: string }; + +const ICON_TOKEN_MAP: Record = { + "@CE": { kind: "countable", singular: "Energy", plural: "Energy" }, + "@ST": { kind: "countable", singular: "Star", plural: "Stars" }, + "@Gold": { kind: "noun", word: "Gold" }, + "type:Power": { kind: "noun", word: "Power" }, + "type:Skill": { kind: "noun", word: "Skill" }, + "type:Attack": { kind: "noun", word: "Attack" }, + "color:Colorless": { kind: "noun", word: "Colorless" }, +}; + +const escapeRegex = (s: string) => s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + +// Build the matcher from the map so that map is source of truth. +// Sorted longest-first so a longer key can't be shadowed by a shorter prefix. +const ICON_TOKEN_REGEX = new RegExp( + `(${Object.keys(ICON_TOKEN_MAP) + .sort((a, b) => b.length - a.length) + .map(escapeRegex) + .join("|")})(?:\\s*\\1)*`, + "g", +); + +const splitOnLineBreaks = (text: string): string[] => { + return text + .split(//i) + .map((s) => s.trim()) + .filter((s) => s.length > 0); +}; + +const cleanWikiTags = (text: string): string => { + let result = text; + + /** + * 1. Collapse `{{...}}` templates. Two shapes are recognized: + * + * Count-first plural picker — 3 args: + * {{count|plural|singular}} + * e.g. {{2|potions|Potion}} -> "Potions" (count=2 -> plural) + * e.g. {{1|potions|Potion}} -> "Potion" (count=1 -> singular) + * e.g. {{2|Rest Sites|Rest Site}} -> "Rest Sites" + * + * Count-last label picker — used by C / QueryLink: + * {{C|singular|plural|count}} - 3 args + * {{QueryLink|category|singular|plural|count}} - 4 args + * When the last arg is a numeric count, take the plural + * (last-1) and fall back to singular (last-2) if plural is + * empty (e.g. `{{C|Byrd Swoop||2}}`). + * + * Otherwise: treat the last arg as the display label. + */ + result = result.replace(/\{\{([^{}]+)\}\}/g, (match, inner: string) => { + const parts = inner.split("|").map((p) => p.trim()); + if (parts.length < 2) { + console.warn(` ! single-arg template not converted: ${match}`); + return match; + } + const first = parts[0]!; + if (/^\d+$/.test(first) && parts.length === 3) { + const count = Number.parseInt(first, 10); + const plural = parts[1]!; + const singular = parts[2]!; + const chosen = count === 1 ? singular || plural : plural || singular; + return capitalize(chosen); + } + const last = parts[parts.length - 1]!; + if (/^\d+$/.test(last) && parts.length >= 4) { + return capitalize(parts[parts.length - 2] || parts[parts.length - 3]!); + } + return capitalize(parts[parts.length - 1] || parts[parts.length - 2]!); + }); + + // Warn about any remaining nested or unbalanced templates. + if (/\{\{/.test(result)) { + console.warn(` ! template syntax remains after pass: ${result}`); + } + + /** + * 2. $Word -> Word (single bareword only — apostrophes allowed). + */ + result = result.replace(/\$([A-Za-z][\w']*)/g, (_m, word: string) => + capitalize(word), + ); + + /** + * 3. Replace tokens registered in ICON_TOKEN_MAP. Countable entries + * (@CE / @ST) expand to " ": consecutive repeats + * are collapsed, and a preceding number in the surrounding text + * (e.g. "costs 0 @CE") is reused instead of prepending one. Noun + * entries (@Gold, type:Attack) emit the word as-is. + */ + result = result.replace( + ICON_TOKEN_REGEX, + (match: string, token: string, offset: number, full: string) => { + const entry = ICON_TOKEN_MAP[token]!; + if (entry.kind === "noun") { + return capitalize(entry.word); + } + const before = full.slice(0, offset).trimEnd(); + const precedingNumber = before.match(/(\d+)$/); + if (precedingNumber) { + const prev = Number.parseInt(precedingNumber[1]!, 10); + return capitalize(prev === 1 ? entry.singular : entry.plural); + } + const count = match.split(token).length - 1; + const word = count > 1 ? entry.plural : entry.singular; + return `${count} ${capitalize(word)}`; + }, + ); + + // Surface any leftover @-tokens that aren't in the map, so new wiki + // tokens get noticed instead of silently passing through. + const unknown = result.match(/@[A-Z]\w*/g); + if (unknown) { + for (const token of unknown) { + console.warn(` ! unknown icon token '${token}' left as-is`); + } + } + + return result; +}; + +const cleanWikiText = (text: string): string[] => { + return splitOnLineBreaks(text).map(cleanWikiTags); +}; + +export { cleanWikiTags, cleanWikiText, splitOnLineBreaks }; diff --git a/src/features/wiki-sync/parse-lua-module.ts b/src/features/wiki-sync/parse-lua-module.ts new file mode 100644 index 0000000..a6050c2 --- /dev/null +++ b/src/features/wiki-sync/parse-lua-module.ts @@ -0,0 +1,295 @@ +/** + * Parser for wiki.gg `Module:*` raw output with the shape: + * return { + * ["Key Name"] = { + * Field = "value", + * AnotherField = "value with $tokens and {{templates}}", + * NumField = 12, + * }, + * } + * + * Also tolerates modules that wrap the data in a `local = { ... }` + */ + +type LuaValue = string | number | boolean | null | LuaTable; +type LuaTable = { [key: string]: LuaValue }; + +type Token = + | { type: "{" | "}" | "[" | "]" | "=" | "," } + | { type: "string"; value: string } + | { type: "number"; value: number } + | { type: "ident"; value: string }; + +const tokenize = (input: string): Token[] => { + const tokens: Token[] = []; + let i = 0; + const len = input.length; + + const isIdentStart = (c: string) => /[A-Za-z_]/.test(c); + const isIdentCont = (c: string) => /[A-Za-z0-9_]/.test(c); + const isDigit = (c: string) => c >= "0" && c <= "9"; + + while (i < len) { + const c = input[i]!; + + // whitespace + if (c === " " || c === "\t" || c === "\n" || c === "\r") { + i++; + continue; + } + + // line comment: -- ... \n + if (c === "-" && input[i + 1] === "-") { + while (i < len && input[i] !== "\n") i++; + continue; + } + + // punctuation + if ( + c === "{" || + c === "}" || + c === "[" || + c === "]" || + c === "=" || + c === "," + ) { + tokens.push({ type: c }); + i++; + continue; + } + + // string literal + if (c === '"' || c === "'") { + const quote = c; + i++; + let value = ""; + while (i < len && input[i] !== quote) { + const ch = input[i]!; + if (ch === "\\") { + const next = input[i + 1]; + if (next === "n") value += "\n"; + else if (next === "t") value += "\t"; + else if (next === "r") value += "\r"; + else if (next === "\\") value += "\\"; + else if (next === '"') value += '"'; + else if (next === "'") value += "'"; + else if (next === undefined) { + throw new Error("Unterminated escape at end of input"); + } else value += next; + i += 2; + } else { + value += ch; + i++; + } + } + if (i >= len) throw new Error("Unterminated string literal"); + i++; // consume closing quote + tokens.push({ type: "string", value }); + continue; + } + + // number literal (integer or float, optional leading -) + if (isDigit(c) || (c === "-" && isDigit(input[i + 1] ?? ""))) { + const start = i; + if (c === "-") i++; + while (i < len && isDigit(input[i]!)) i++; + if (input[i] === ".") { + i++; + while (i < len && isDigit(input[i]!)) i++; + } + const value = Number(input.slice(start, i)); + if (Number.isNaN(value)) { + throw new Error(`Invalid number at position ${start}`); + } + tokens.push({ type: "number", value }); + continue; + } + + // identifier / keyword + if (isIdentStart(c)) { + const start = i; + i++; + while (i < len && isIdentCont(input[i]!)) i++; + const value = input.slice(start, i); + tokens.push({ type: "ident", value }); + continue; + } + + throw new Error( + `Unexpected character '${c}' at position ${i} (context: ${JSON.stringify(input.slice(Math.max(0, i - 20), i + 20))})`, + ); + } + + return tokens; +}; + +const parseValue = (tokens: Token[], pos: number): [LuaValue, number] => { + const tok = tokens[pos]; + if (!tok) throw new Error("Unexpected end of input while parsing value"); + + if (tok.type === "string") return [tok.value, pos + 1]; + if (tok.type === "number") return [tok.value, pos + 1]; + if (tok.type === "ident") { + if (tok.value === "true") return [true, pos + 1]; + if (tok.value === "false") return [false, pos + 1]; + if (tok.value === "nil") return [null, pos + 1]; + throw new Error(`Unexpected identifier as value: '${tok.value}'`); + } + if (tok.type === "{") return parseTable(tokens, pos); + + throw new Error(`Unexpected token type '${tok.type}' while parsing value`); +}; + +const parseKey = (tokens: Token[], pos: number): [string, number] => { + const tok = tokens[pos]; + if (!tok) throw new Error("Unexpected end of input while parsing key"); + + // ["key"] + if (tok.type === "[") { + const next = tokens[pos + 1]; + if (!next || next.type !== "string") { + throw new Error("Expected string inside [ ... ] key"); + } + const closing = tokens[pos + 2]; + if (!closing || closing.type !== "]") { + throw new Error('Expected ] after [ "key"'); + } + return [next.value, pos + 3]; + } + + // identifier key + if (tok.type === "ident") return [tok.value, pos + 1]; + + throw new Error(`Unexpected token '${tok.type}' while parsing key`); +}; + +const parseTable = (tokens: Token[], pos: number): [LuaTable, number] => { + const open = tokens[pos]; + if (!open || open.type !== "{") { + throw new Error("Expected '{' at start of table"); + } + let i = pos + 1; + const result: LuaTable = {}; + + while (i < tokens.length && tokens[i]!.type !== "}") { + const [key, afterKey] = parseKey(tokens, i); + i = afterKey; + + const eq = tokens[i]; + if (!eq || eq.type !== "=") { + throw new Error(`Expected '=' after key '${key}'`); + } + i++; + + const [value, afterValue] = parseValue(tokens, i); + i = afterValue; + result[key] = value; + + const sep = tokens[i]; + if (sep && sep.type === ",") { + i++; + continue; + } + if (sep && sep.type === "}") break; + throw new Error( + `Expected ',' or '}' after entry, got ${sep ? sep.type : "EOF"}`, + ); + } + + const close = tokens[i]; + if (!close || close.type !== "}") throw new Error("Unterminated table"); + return [result, i + 1]; +}; + +// Extracts the first balanced `{ ... }` block from the input, skipping over +// Lua strings and comments so braces inside them don't confuse the depth +// counter. Lets us parse modules where the data table is wrapped in a +// `local = { ... }` assignment with helper code afterward. +const extractFirstTable = (input: string): string => { + const len = input.length; + let i = 0; + + const skipLineComment = () => { + while (i < len && input[i] !== "\n") i++; + }; + + const skipLongBracket = () => { + // Caller has already consumed the opening `[[`. + while (i < len && !(input[i] === "]" && input[i + 1] === "]")) i++; + if (i < len) i += 2; + }; + + const skipString = (quote: string) => { + i++; // consume opening quote + while (i < len && input[i] !== quote) { + if (input[i] === "\\") i++; // skip escape + i++; + } + if (i < len) i++; // consume closing quote + }; + + const handleNonStructural = (): boolean => { + const c = input[i]; + if (c === "-" && input[i + 1] === "-") { + i += 2; + if (input[i] === "[" && input[i + 1] === "[") { + i += 2; + skipLongBracket(); + } else { + skipLineComment(); + } + return true; + } + if (c === '"' || c === "'") { + skipString(c); + return true; + } + if (c === "[" && input[i + 1] === "[") { + i += 2; + skipLongBracket(); + return true; + } + return false; + }; + + while (i < len) { + if (handleNonStructural()) continue; + if (input[i] === "{") break; + i++; + } + if (i >= len) throw new Error("No table found in Lua input"); + + const start = i; + let depth = 0; + while (i < len) { + if (handleNonStructural()) continue; + const c = input[i]; + if (c === "{") depth++; + else if (c === "}") { + depth--; + if (depth === 0) { + i++; + return input.slice(start, i); + } + } + i++; + } + throw new Error("Unbalanced braces in Lua input"); +}; + +const parseLuaModule = (input: string): Record => { + const tableSrc = extractFirstTable(input); + const tokens = tokenize(tableSrc); + const [table] = parseTable(tokens, 0); + + // Module data tables map name -> entry-table. Filter out scalar entries + // in case the source has helper assignments. + const result: Record = {}; + for (const [k, v] of Object.entries(table)) { + if (v !== null && typeof v === "object") result[k] = v; + } + return result; +}; + +export type { LuaTable, LuaValue }; +export { parseLuaModule }; diff --git a/src/games/slaythespire2/core/game-config/items.ts b/src/games/slaythespire2/core/game-config/items.ts index 7cf4482..c2a3f30 100644 --- a/src/games/slaythespire2/core/game-config/items.ts +++ b/src/games/slaythespire2/core/game-config/items.ts @@ -1,42 +1,53 @@ -import type { GameConfig } from "#/features/game/core/types"; -import { CARDS } from "#/games/slaythespire2/core/item-data/cards"; -import { CHARACTERS } from "#/games/slaythespire2/core/item-data/characters"; -import { POTIONS } from "#/games/slaythespire2/core/item-data/potions"; -import { RELICS } from "#/games/slaythespire2/core/item-data/relics"; -import type { SlayTheSpire2LocalItem } from "#/games/slaythespire2/core/types"; -import type { SlayTheSpire2ItemCategory } from "@/prisma"; - -const ITEMS_BY_CATEGORY = { - CARD: CARDS, - CHARACTER: CHARACTERS, - POTION: POTIONS, - RELIC: RELICS, -} satisfies Record; - -const allItems = Object.entries(ITEMS_BY_CATEGORY) - .flatMap(([, items]): SlayTheSpire2LocalItem[] => items) - .sort((a, b) => a.name.localeCompare(b.name)); - -const ALL_SLAYTHESPIRE2_ITEMS = allItems; - -const allCategories = Object.keys( - ITEMS_BY_CATEGORY, -) as SlayTheSpire2ItemCategory[]; - -// TODO: If uncollectable items or linked items are added, -// TODO: filter them out of collectable items -// TODO: See remnant2/config/items.ts for example of how to do this -const collectableItems = allItems; - -const ITEMS: GameConfig< - SlayTheSpire2LocalItem, - SlayTheSpire2ItemCategory ->["ITEMS"] = { - all: allItems, - categorized: { ...ITEMS_BY_CATEGORY }, - categories: allCategories, - uncollectableCategories: [], - collectable: collectableItems, -}; - -export { ALL_SLAYTHESPIRE2_ITEMS, ITEMS }; +import type { GameConfig } from "#/features/game/core/types"; +import { ANCIENTS } from "#/games/slaythespire2/core/item-data/ancients.ts"; +import { CARDS } from "#/games/slaythespire2/core/item-data/cards"; +import { CHARACTERS } from "#/games/slaythespire2/core/item-data/characters"; +import { POTIONS } from "#/games/slaythespire2/core/item-data/potions"; +import { RELICS } from "#/games/slaythespire2/core/item-data/relics"; +import type { SlayTheSpire2LocalItem } from "#/games/slaythespire2/core/types"; +import type { + SlayTheSpire2ItemCategory, + SlayTheSpire2UncollectableItemCategory, +} from "@/prisma"; + +const ITEMS_BY_CATEGORY = { + ANCIENT: ANCIENTS, + CARD: CARDS, + CHARACTER: CHARACTERS, + POTION: POTIONS, + RELIC: RELICS, +} satisfies Record; + +const UNCOLLECTABLE_ITEM_CATEGORIES: SlayTheSpire2UncollectableItemCategory[] = + ["ANCIENT"]; + +const allItems = Object.entries(ITEMS_BY_CATEGORY) + .flatMap(([, items]): SlayTheSpire2LocalItem[] => items) + .sort((a, b) => a.name.localeCompare(b.name)); + +const ALL_SLAYTHESPIRE2_ITEMS = allItems; + +const allCategories = Object.keys( + ITEMS_BY_CATEGORY, +) as SlayTheSpire2ItemCategory[]; + +const collectableItems = allItems + /** Skip item categories that cannot be collected */ + .filter((item) => { + return !UNCOLLECTABLE_ITEM_CATEGORIES.includes( + item.category as SlayTheSpire2UncollectableItemCategory, + ); + }); + +const ITEMS: GameConfig< + SlayTheSpire2LocalItem, + SlayTheSpire2ItemCategory +>["ITEMS"] = { + all: allItems, + categorized: { ...ITEMS_BY_CATEGORY }, + categories: allCategories, + uncollectableCategories: [], + collectable: collectableItems, +}; + +export { ALL_SLAYTHESPIRE2_ITEMS, ITEMS }; diff --git a/src/games/slaythespire2/core/item-data/ancients.ts b/src/games/slaythespire2/core/item-data/ancients.ts index 0d37559..e39af3b 100644 --- a/src/games/slaythespire2/core/item-data/ancients.ts +++ b/src/games/slaythespire2/core/item-data/ancients.ts @@ -5,7 +5,7 @@ type SlayTheSpire2AncientItem = BaseSlayTheSpire2Item & { flavorText: string; }; -const ANCIENTS = [ +const ANCIENTS: SlayTheSpire2AncientItem[] = [ { name: "Neow", category: "ANCIENT", diff --git a/src/games/slaythespire2/core/item-data/characters.ts b/src/games/slaythespire2/core/item-data/characters.ts index be51b2f..3952dbd 100644 --- a/src/games/slaythespire2/core/item-data/characters.ts +++ b/src/games/slaythespire2/core/item-data/characters.ts @@ -1,5 +1,6 @@ import type { SlayTheSpire2CardItem } from "#/games/slaythespire2/core/item-data/cards"; import type { BaseSlayTheSpire2Item } from "#/games/slaythespire2/core/types"; +import type { SlayTheSpire2Character } from "@/prisma"; type SlayTheSpire2CharacterItem = BaseSlayTheSpire2Item & { health: number; @@ -84,4 +85,12 @@ const CHARACTERS: SlayTheSpire2CharacterItem[] = [ }, ]; -export { CHARACTERS, type SlayTheSpire2CharacterItem }; +const CHARACTER_MAP: Record = { + ironclad: "IRONCLAD", + silent: "SILENT", + defect: "DEFECT", + regent: "REGENT", + necrobinder: "NECROBINDER", +}; + +export { CHARACTER_MAP, CHARACTERS, type SlayTheSpire2CharacterItem }; diff --git a/src/games/slaythespire2/core/item-data/relics.ts b/src/games/slaythespire2/core/item-data/relics.ts index 665e40c..2521e41 100644 --- a/src/games/slaythespire2/core/item-data/relics.ts +++ b/src/games/slaythespire2/core/item-data/relics.ts @@ -1,4439 +1,5179 @@ -import type { EquippableBy } from "#/games/slaythespire2/core/types"; -import type { BaseSlayTheSpire2Item } from "#/games/slaythespire2/core/types"; -import type { SlayTheSpire2RelicRarity } from "@/prisma"; - -type SlayTheSpire2RelicItem = BaseSlayTheSpire2Item & { - rarity: SlayTheSpire2RelicRarity; - equippableBy: EquippableBy; -}; - -const RELICS: SlayTheSpire2RelicItem[] = [ - // #region STARTER - - { - name: "Burning Blood", - category: "RELIC", - id: "5hg0s", - dlc: "BASE", - description: [`At the end of combat, heal 6 HP.`], - imageUrl: "relics/burning_blood.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "STARTER", - equippableBy: ["IRONCLAD"], - modifiers: [ - { - modifier: { - heal: 6, - }, - trigger: "combat end", - }, - ], - }, - { - name: "Black Blood", - category: "RELIC", - id: "9gltv", - dlc: "BASE", - description: [`At the end of combat, heal 12 HP.`], - imageUrl: "relics/black_blood.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "STARTER", - equippableBy: ["IRONCLAD"], - modifiers: [ - { - modifier: { - heal: 12, - }, - trigger: "combat end", - }, - ], - }, - { - name: "Ring of the Snake", - category: "RELIC", - id: "6l7w7", - dlc: "BASE", - description: [`At the start of each combat, draw 2 additional cards.`], - imageUrl: "relics/ring_of_the_snake.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "STARTER", - equippableBy: ["SILENT"], - modifiers: [ - { - modifier: { - draw: 2, - }, - trigger: "combat start", - }, - ], - }, - { - name: "Ring of the Drake", - category: "RELIC", - id: "czo12", - dlc: "BASE", - description: [ - `At the start of your first 3 turns, draw 2 additional cards.`, - ], - imageUrl: "relics/ring_of_the_drake.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "STARTER", - equippableBy: ["SILENT"], - modifiers: [ - { - modifier: { - draw: 2, - }, - trigger: "first three turns", - }, - ], - }, - { - name: "Divine Right", - category: "RELIC", - id: "pehq9", - dlc: "BASE", - description: [`At the start of each combat, gain 3 Stars.`], - imageUrl: "relics/divine_right.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "STARTER", - equippableBy: ["REGENT"], - modifiers: [ - { - modifier: { - stars: 3, - }, - trigger: "combat start", - }, - ], - }, - { - name: "Divine Destiny", - category: "RELIC", - id: "ne7pa", - dlc: "BASE", - description: [`At the start of each combat, gain 6 Stars.`], - imageUrl: "relics/divine_destiny.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "STARTER", - equippableBy: ["REGENT"], - modifiers: [ - { - modifier: { - stars: 6, - }, - trigger: "combat start", - }, - ], - }, - { - name: "Bound Phylactery", - category: "RELIC", - id: "cl85k", - dlc: "BASE", - description: [`At the start of your turn, Summon 1.`], - imageUrl: "relics/bound_phylactery.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "STARTER", - equippableBy: ["NECROBINDER"], - modifiers: [ - { - modifier: { - summon: 1, - }, - trigger: "combat start", - }, - ], - }, - { - name: "Phylactery Unbound", - category: "RELIC", - id: "b2ed9", - dlc: "BASE", - description: [ - `At the start of each combat, Summon 5. At the start of your turn, Summon 2.`, - ], - imageUrl: "relics/phylactery_unbound.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "STARTER", - equippableBy: ["NECROBINDER"], - modifiers: [ - { - modifier: { - summon: 5, - }, - trigger: "combat start", - }, - { - modifier: { - summon: 2, - }, - trigger: "each turn", - }, - ], - }, - { - name: "Cracked Core", - category: "RELIC", - id: "ss073", - dlc: "BASE", - description: [`At the start of each combat, Channel 1 Lightning.`], - imageUrl: "relics/cracked_core.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "STARTER", - equippableBy: ["DEFECT"], - modifiers: [ - { - modifier: { - channel: [{ type: "Lightning", amount: 1 }], - }, - trigger: "combat start", - }, - ], - }, - { - name: "Infused Core", - category: "RELIC", - id: "cm91c", - dlc: "BASE", - description: [`At the start of each combat, Channel 3 Lightning.`], - imageUrl: "relics/infused_core.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "STARTER", - equippableBy: ["DEFECT"], - modifiers: [ - { - modifier: { - channel: [{ type: "Lightning", amount: 3 }], - }, - trigger: "combat start", - }, - ], - }, - - // #region COMMON - - { - name: "Amethyst Aubergine", - category: "RELIC", - id: "3m5y4", - dlc: "BASE", - description: [`Enemies drop 10 additional Gold.`], - imageUrl: "relics/amethyst_aubergine.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - gold: 10, - }, - trigger: "combat", - }, - ], - }, - { - name: "Anchor", - category: "RELIC", - id: "dxo8a", - dlc: "BASE", - description: [`Start each combat with 10 Block.`], - imageUrl: "relics/anchor.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - block: 10, - }, - trigger: "combat start", - }, - ], - }, - { - name: "Bag of Preparation", - category: "RELIC", - id: "01jqa", - dlc: "BASE", - description: [`At the start of each combat, draw 2 additional cards.`], - imageUrl: "relics/bag_of_preparation.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - draw: 2, - }, - trigger: "combat start", - }, - ], - }, - { - name: "Blood Vial", - category: "RELIC", - id: "30uns", - dlc: "BASE", - description: [`At the start of each combat, heal 2 HP. `], - imageUrl: "relics/blood_vial.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - heal: 2, - }, - trigger: "combat start", - }, - ], - }, - { - name: "Book of Five Rings", - category: "RELIC", - id: "21djj", - dlc: "BASE", - description: [`Every 5 cards you add to your Deck, heal 15 HP.`], - imageUrl: "relics/book_of_five_rings.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - heal: 15, - }, - trigger: "cards added to deck", - }, - ], - }, - { - name: "Bronze Scales", - category: "RELIC", - id: "h5nhy", - dlc: "BASE", - description: [`Start each combat with 3 Thorns.`], - imageUrl: "relics/bronze_scales.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - thorns: 3, - }, - trigger: "combat start", - }, - ], - }, - { - name: "Centennial Puzzle", - category: "RELIC", - id: "94m84", - dlc: "BASE", - description: [`The first time you lose HP each combat, draw 3 cards.`], - imageUrl: "relics/centennial_puzzle.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - draw: 3, - }, - trigger: "first time lose HP", - }, - ], - }, - { - name: "Festive Popper", - category: "RELIC", - id: "munb5", - dlc: "BASE", - description: [ - `At the start of each combat, deal 9 damage to ALL enemies. `, - ], - imageUrl: "relics/festive_popper.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - damage: 9, - }, - trigger: "combat start", - }, - ], - }, - { - name: "Gorget", - category: "RELIC", - id: "y9m5p", - dlc: "BASE", - description: [`At the start of each combat, gain 4 Plating.`], - imageUrl: "relics/gorget.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [{ modifier: { plating: 4 }, trigger: "combat start" }], - }, - { - name: "Happy Flower", - category: "RELIC", - id: "8n79j", - dlc: "BASE", - description: [`Every 3 turns, gain Energy.`], - imageUrl: "relics/happy_flower.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [{ modifier: { energy: 1 }, trigger: "each turn" }], - }, - { - name: "Juzu Bracelet", - category: "RELIC", - id: "9ds7o", - dlc: "BASE", - description: [ - `Regular enemy combats are no longer encountered in ? rooms.`, - ], - imageUrl: "relics/juzu_bracelet.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: undefined, - }, - { - name: "Lantern", - category: "RELIC", - id: "yq4ei", - dlc: "BASE", - description: [`Start each combat with an additional Energy.`], - imageUrl: "relics/lantern.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - energy: 1, - }, - trigger: "combat start", - }, - ], - }, - { - name: "Meal Ticket", - category: "RELIC", - id: "y9jjj", - dlc: "BASE", - description: [`Whenever you enter a shop room, heal 15 HP.`], - imageUrl: "relics/meal_ticket.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - heal: 15, - }, - trigger: "enter shop", - }, - ], - }, - { - name: "Pendulum", - category: "RELIC", - id: "67fkz", - dlc: "BASE", - description: [`Whenever you shuffle your Draw Pile, draw a card.`], - imageUrl: "relics/pendulum.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - draw: 1, - }, - trigger: "shuffle draw pile", - }, - ], - }, - { - name: "Permafrost", - category: "RELIC", - id: "g9fc0", - dlc: "BASE", - description: [`The first time you play a Power each combat, gain 6 Block.`], - imageUrl: "relics/permafrost.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [ - { - modifier: { - block: 6, - }, - trigger: "first time play Power", - }, - ], - }, - // TODO - { - name: "Bone Flute", - category: "RELIC", - id: "hx081", - dlc: "BASE", - description: [`Whenever Osty attacks, gain 2 Block.`], - imageUrl: "relics/bone_flute.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: ["NECROBINDER"], - modifiers: [], - }, - // TODO - { - name: "Data Disk", - category: "RELIC", - id: "jixvk", - dlc: "BASE", - description: [`Start each combat with 1 Focus.`], - imageUrl: "relics/data_disk.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: ["DEFECT"], - modifiers: [], - }, - // TODO - { - name: "Fencing Manual", - category: "RELIC", - id: "z7mz8", - dlc: "BASE", - description: [`At the start of each combat, Forge 10.`], - imageUrl: "relics/fencing_manual.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: ["REGENT"], - modifiers: [], - }, - // TODO - { - name: "Oddly Smooth Stone", - category: "RELIC", - id: "ymdxy", - dlc: "BASE", - description: [`Start each combat with 1 Dexterity.`], - imageUrl: "relics/oddly_smooth_stone.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Potion Belt", - category: "RELIC", - id: "cjqqq", - dlc: "BASE", - description: [`Upon pickup, gain 2 Potions|Potion slots.`], - imageUrl: "relics/potion_belt.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Red Skull", - category: "RELIC", - id: "rvkzh", - dlc: "BASE", - description: [ - `While your HP is at or below 50%, you have 3 additional Strength.`, - ], - imageUrl: "relics/red_skull.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: ["IRONCLAD"], - modifiers: [], - }, - // TODO - { - name: "Regal Pillow", - category: "RELIC", - id: "hup7t", - dlc: "BASE", - description: [`Whenever you Rest, heal an additional 15 HP.`], - imageUrl: "relics/regal_pillow.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Snecko Skull", - category: "RELIC", - id: "a81gw", - dlc: "BASE", - description: [`Whenever you apply Poison, apply an additional 1 Poison.`], - imageUrl: "relics/snecko_skull.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: ["SILENT"], - modifiers: [], - }, - // TODO - { - name: "Strawberry", - category: "RELIC", - id: "owcte", - dlc: "BASE", - description: [`Upon pickup, raise your Max HP by 7.`], - imageUrl: "relics/strawberry.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Strike Dummy", - category: "RELIC", - id: "zx2rz", - dlc: "BASE", - description: [`Cards containing “Strike” deal 3 additional damage.`], - imageUrl: "relics/strike_dummy.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Tiny Mailbox", - category: "RELIC", - id: "bvizu", - dlc: "BASE", - description: [`Whenever you Rest, procure a random Potions|Potion.`], - imageUrl: "relics/tiny_mailbox.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Vajra", - category: "RELIC", - id: "jq26e", - dlc: "BASE", - description: [`Start each combat with 1 Strength.`], - imageUrl: "relics/vajra.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Venerable Tea Set", - category: "RELIC", - id: "5thds", - dlc: "BASE", - description: [ - `Whenever you enter a Rest Site, start the next combat with an additional 2 Energy.`, - ], - imageUrl: "relics/venerable_tea_set.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "War Paint", - category: "RELIC", - id: "fsica", - dlc: "BASE", - description: [`Upon pickup, Upgrade 2 random Skills.`], - imageUrl: "relics/war_paint.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Whetstone", - category: "RELIC", - id: "lmvgp", - dlc: "BASE", - description: [`Upon pickup, Upgrade 2 random Attacks.`], - imageUrl: "relics/whetstone.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "COMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Akabeko", - category: "RELIC", - id: "scze5", - dlc: "BASE", - description: [`At the start of each combat, gain 8 Vigor.`], - imageUrl: "relics/akabeko.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Bag of Marbles", - category: "RELIC", - id: "ncyuj", - dlc: "BASE", - description: [ - `At the start of each combat, apply 1 Vulnerable to ALL enemies.`, - ], - imageUrl: "relics/bag_of_marbles.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Bellows", - category: "RELIC", - id: "hn844", - dlc: "BASE", - description: [`The first Hand you draw each combat is Upgraded.`], - imageUrl: "relics/bellows.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Book Repair Knife", - category: "RELIC", - id: "y4d8m", - dlc: "BASE", - description: [`Whenever a non-Minion enemy dies to Doom, heal 3 HP.`], - imageUrl: "relics/book_repair_knife.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: ["NECROBINDER"], - modifiers: [], - }, - // TODO - { - name: "Bowler Hat", - category: "RELIC", - id: "i7oyx", - dlc: "BASE", - description: [`Gain 20% additional Gold.`], - imageUrl: "relics/bowler_hat.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Candelabra", - category: "RELIC", - id: "893gh", - dlc: "BASE", - description: [`At the start of your 2nd turn, gain 2 Energy.`], - imageUrl: "relics/candelabra.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Eternal Feather", - category: "RELIC", - id: "o9l0z", - dlc: "BASE", - description: [ - `For every 5 cards in your Deck, heal 3 HP whenever you enter a Rest Sites|Rest Site.`, - ], - imageUrl: "relics/eternal_feather.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Funerary Mask", - category: "RELIC", - id: "gu16w", - dlc: "BASE", - description: [ - `At the start of each combat, add 3 Souls into your Draw Pile.`, - ], - imageUrl: "relics/funerary_mask.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: ["NECROBINDER"], - modifiers: [], - }, - // TODO - { - name: "Galactic Dust", - category: "RELIC", - id: "ytz9d", - dlc: "BASE", - description: [`For every 10 Star spent, gain 10 Block.`], - imageUrl: "relics/galactic_dust.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: ["REGENT"], - modifiers: [], - }, - // TODO - { - name: "Gold-Plated Cables", - category: "RELIC", - id: "urxnb", - dlc: "BASE", - description: [ - `Your rightmost Orb triggers its passive an additional time.`, - ], - imageUrl: "relics/gold_plated_cables.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: ["DEFECT"], - modifiers: [], - }, - // TODO - { - name: "Gremlin Horn", - category: "RELIC", - id: "fgv64", - dlc: "BASE", - description: [`Whenever an enemy dies, gain Energy and draw 1 card.`], - imageUrl: "relics/gremlin_horn.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Horn Cleat", - category: "RELIC", - id: "w53x5", - dlc: "BASE", - description: [`At the start of your 2nd turn, gain 14 Block.`], - imageUrl: "relics/horn_cleat.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Joss Paper", - category: "RELIC", - id: "ym2mj", - dlc: "BASE", - description: [`Every 5 times you Exhaust a card, draw 1 card.`], - imageUrl: "relics/joss_paper.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Kusarigama", - category: "RELIC", - id: "cj8xs", - dlc: "BASE", - description: [ - `Every time you play 3 Attacks in a single turn, deal 6 damage to a random enemy.`, - ], - imageUrl: "relics/kusarigama.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Letter Opener", - category: "RELIC", - id: "mkrrv", - dlc: "BASE", - description: [ - `Every time you play 3 Skills in a single turn, deal 5 damage to ALL enemies.`, - ], - imageUrl: "relics/letter_opener.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lucky Fysh", - category: "RELIC", - id: "bcluv", - dlc: "BASE", - description: [`Whenever you add a card to your Deck, gain 15 Gold.`], - imageUrl: "relics/lucky_fysh.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Mercury Hourglass", - category: "RELIC", - id: "yge5l", - dlc: "BASE", - description: [`At the start of your turn, deal 3 damage to ALL enemies.`], - imageUrl: "relics/mercury_hourglass.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Miniature Cannon", - category: "RELIC", - id: "0oqir", - dlc: "BASE", - description: [`Upgraded Attacks deal 3 additional damage.`], - imageUrl: "relics/miniature_cannon.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Nunchaku", - category: "RELIC", - id: "plk00", - dlc: "BASE", - description: [`Every time you play 10 Attacks, gain Energy.`], - imageUrl: "relics/nunchaku.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Orichalcum", - category: "RELIC", - id: "fxslq", - dlc: "BASE", - description: [`If you end your turn without Block, gain 6 Block.`], - imageUrl: "relics/orichalcum.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Ornamental Fan", - category: "RELIC", - id: "4tezh", - dlc: "BASE", - description: [ - `Every time you play 3 Attacks in a single turn, gain 4 Block.`, - ], - imageUrl: "relics/ornamental_fan.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pantograph", - category: "RELIC", - id: "qiesy", - dlc: "BASE", - description: [`At the start of each Boss combat, heal 25 HP.`], - imageUrl: "relics/pantograph.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Paper Phrog", - category: "RELIC", - id: "w8s98", - dlc: "BASE", - description: [ - `Enemies with Vulnerable take 75% more damage rather than 50%.`, - ], - imageUrl: "relics/paper_phrog.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: ["IRONCLAD"], - modifiers: [], - }, - // TODO - { - name: "Parrying Shield", - category: "RELIC", - id: "5vwg1", - dlc: "BASE", - description: [ - `If you end a turn with at least 10 Block, deal 6 damage to a random enemy.`, - ], - imageUrl: "relics/parrying_shield.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pear", - category: "RELIC", - id: "78lzd", - dlc: "BASE", - description: [`Upon pickup, raise your Max HP by 10.`], - imageUrl: "relics/pear.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pen Nib", - category: "RELIC", - id: "g1u6z", - dlc: "BASE", - description: [`Every 10th Attack you play deals double damage.`], - imageUrl: "relics/pen_nib.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Petrified Toad", - category: "RELIC", - id: "j2k3x", - dlc: "BASE", - description: [ - `At the start of each combat, procure a {{P|Potion-Shaped Rock||2}}.`, - ], - imageUrl: "relics/petrified_toad.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Planisphere", - category: "RELIC", - id: "tq082", - dlc: "BASE", - description: [`Whenever you enter a ? room, heal 4 HP.`], - imageUrl: "relics/planisphere.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Red Mask", - category: "RELIC", - id: "wvt2u", - dlc: "BASE", - description: [`At the start of each combat, apply 1 Weak to ALL enemies.`], - imageUrl: "relics/red_mask.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Regalite", - category: "RELIC", - id: "esjr2", - dlc: "BASE", - description: [`Whenever you create a Colorless card, gain 2 Block.`], - imageUrl: "relics/regalite.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: ["REGENT"], - modifiers: [], - }, - // TODO - { - name: "Reptile Trinket", - category: "RELIC", - id: "fitll", - dlc: "BASE", - description: [ - `Whenever you use a Potions|Potion, gain 3 Strength this turn.`, - ], - imageUrl: "relics/reptile_trinket.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Ripple Basin", - category: "RELIC", - id: "teqkh", - dlc: "BASE", - description: [ - `If you did not play any Attacks during your turn, gain 4 Block.`, - ], - imageUrl: "relics/ripple_basin.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Self-Forming Clay", - category: "RELIC", - id: "to2tx", - dlc: "BASE", - description: [`Whenever you lose HP in combat, gain 3 Block next turn.`], - imageUrl: "relics/self_forming_clay.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: ["IRONCLAD"], - modifiers: [], - }, - // TODO - { - name: "Sparkling Rouge", - category: "RELIC", - id: "vws63", - dlc: "BASE", - description: [ - `At the start of your 3rd turn, gain 1 Strength and 1 Dexterity.`, - ], - imageUrl: "relics/sparkling_rouge.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Stone Cracker", - category: "RELIC", - id: "7q0tw", - dlc: "BASE", - description: [ - `At the start of Boss combats, Upgrade 3 random cards in your Draw Pile for the rest of combat.`, - ], - imageUrl: "relics/stone_cracker.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Symbiotic Virus", - category: "RELIC", - id: "cz48p", - dlc: "BASE", - description: [`At the start of each combat, Channel 1 Dark.`], - imageUrl: "relics/symbiotic_virus.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: ["DEFECT"], - modifiers: [], - }, - // TODO - { - name: "Tingsha", - category: "RELIC", - id: "s6m5q", - dlc: "BASE", - description: [ - `Whenever you discard a card during your turn, deal 3 damage to a random enemy for each card discarded.`, - ], - imageUrl: "relics/tingsha.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: ["SILENT"], - modifiers: [], - }, - // TODO - { - name: "Tuning Fork", - category: "RELIC", - id: "q1hax", - dlc: "BASE", - description: [`Every time you play 10 Skills, gain 7 Block.`], - imageUrl: "relics/tuning_fork.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Twisted Funnel", - category: "RELIC", - id: "86gcz", - dlc: "BASE", - description: [ - `At the start of each combat, apply 4 Poison to ALL enemies.`, - ], - imageUrl: "relics/twisted_funnel.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: ["SILENT"], - modifiers: [], - }, - // TODO - { - name: "Vambrace", - category: "RELIC", - id: "1rtui", - dlc: "BASE", - description: [ - `The first time you gain Block from a card each combat, double the amount gained.`, - ], - imageUrl: "relics/vambrace.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "UNCOMMON", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Art of War", - category: "RELIC", - id: "qkz6i", - dlc: "BASE", - description: [ - `If you do not play any Attacks during your turn, gain an additional Energy next turn.`, - ], - imageUrl: "relics/art_of_war.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Beating Remnant", - category: "RELIC", - id: "0rxnt", - dlc: "BASE", - description: [`You cannot lose more than 20 HP in a single turn.`], - imageUrl: "relics/beating_remnant.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Big Hat", - category: "RELIC", - id: "4njor", - dlc: "BASE", - description: [ - `At the start of each combat, add 2 random Ethereal cards into your Hand.`, - ], - imageUrl: "relics/big_hat.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["NECROBINDER"], - modifiers: [], - }, - // TODO - { - name: "Bookmark", - category: "RELIC", - id: "7d2x1", - dlc: "BASE", - description: [ - `At the end of each turn, lower the cost of a random Retained card by 1 until played.`, - ], - imageUrl: "relics/bookmark.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["NECROBINDER"], - modifiers: [], - }, - // TODO - { - name: "Captain's Wheel", - category: "RELIC", - id: "x2318", - dlc: "BASE", - description: [`At the start of your 3rd turn, gain 18 Block.`], - imageUrl: "relics/captains_wheel.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Chandelier", - category: "RELIC", - id: "q3cyu", - dlc: "BASE", - description: [`At the start of your 3rd turn, gain 3 Energy.`], - imageUrl: "relics/chandelier.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Charon's Ashes", - category: "RELIC", - id: "s8so0", - dlc: "BASE", - description: [`Whenever you Exhaust a card, deal 3 damage to ALL enemies.`], - imageUrl: "relics/charons_ashes.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["IRONCLAD"], - modifiers: [], - }, - // TODO - { - name: "Cloak Clasp", - category: "RELIC", - id: "gt0n7", - dlc: "BASE", - description: [ - `At the end of your turn, gain 1 Block for each card in your Hand.`, - ], - imageUrl: "relics/cloak_clasp.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Demon Tongue", - category: "RELIC", - id: "9ptt4", - dlc: "BASE", - description: [ - `The first time you lose HP on your turn, heal HP equal to the amount lost.`, - ], - imageUrl: "relics/demon_tongue.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["IRONCLAD"], - modifiers: [], - }, - // TODO - { - name: "Emotion Chip", - category: "RELIC", - id: "2b13l", - dlc: "BASE", - description: [ - `If you lost HP during the previous turn, trigger the passive ability of all Orbs at the start of your turn.`, - ], - imageUrl: "relics/emotion_chip.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["DEFECT"], - modifiers: [], - }, - // TODO - { - name: "Frozen Egg", - category: "RELIC", - id: "n6c05", - dlc: "BASE", - description: [`Whenever you add a Powers into your Deck, Upgrade it.`], - imageUrl: "relics/frozen_egg.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Gambling Chip", - category: "RELIC", - id: "stwd7", - dlc: "BASE", - description: [ - `At the start of each combat, discard any number of cards then draw that many.`, - ], - imageUrl: "relics/gambling_chip.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Game Piece", - category: "RELIC", - id: "zw768", - dlc: "BASE", - description: [`Whenever you play a Power, draw 1 card.`], - imageUrl: "relics/game_piece.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Girya", - category: "RELIC", - id: "aojjw", - dlc: "BASE", - description: [`You can now gain Strength at Rest Sites. (3 times max)`], - imageUrl: "relics/girya.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Helical Dart", - category: "RELIC", - id: "7d51a", - dlc: "BASE", - description: [`Whenever you play a Shiv, gain 1 Dexterity this turn.`], - imageUrl: "relics/helical_dart.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["SILENT"], - modifiers: [], - }, - // TODO - { - name: "Ice Cream", - category: "RELIC", - id: "i1pst", - dlc: "BASE", - description: [`Energy is now conserved between turns.`], - imageUrl: "relics/ice_cream.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Intimidating Helmet", - category: "RELIC", - id: "hg5ci", - dlc: "BASE", - description: [ - `Whenever you play a card that costs 2 Energy or more, gain 4 Block.`, - ], - imageUrl: "relics/intimidating_helmet.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Ivory Tile", - category: "RELIC", - id: "m8uv7", - dlc: "BASE", - description: [ - `Whenever you play a card that costs @NE@NE@NE or more, gain @NE.`, - ], - imageUrl: "relics/ivory_tile.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["NECROBINDER"], - modifiers: [], - }, - // TODO - { - name: "Kunai", - category: "RELIC", - id: "texo6", - dlc: "BASE", - description: [ - `Every time you play 3 Attacks in a single turn, gain 1 Dexterity.`, - ], - imageUrl: "relics/kunai.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lasting Candy", - category: "RELIC", - id: "xguh9", - dlc: "BASE", - description: [ - `Every other combat, your card rewards gain an additional Power.`, - ], - imageUrl: "relics/lasting_candy.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lizard Tail", - category: "RELIC", - id: "c295t", - dlc: "BASE", - description: [ - `When you would die, heal to 50% of your Max HP instead (works once).`, - ], - imageUrl: "relics/lizard_tail.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lunar Pastry", - category: "RELIC", - id: "41scw", - dlc: "BASE", - description: [`At the end of your turn, gain Star.`], - imageUrl: "relics/lunar_pastry.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["REGENT"], - modifiers: [], - }, - // TODO - { - name: "Mango", - category: "RELIC", - id: "65hci", - dlc: "BASE", - description: [`Upon pickup, raise your Max HP by 14.`], - imageUrl: "relics/mango.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Meat on the Bone", - category: "RELIC", - id: "i0v7f", - dlc: "BASE", - description: [ - `If your HP is at or below 50% at the end of combat, heal 12 HP.`, - ], - imageUrl: "relics/meat_on_the_bone.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Metronome", - category: "RELIC", - id: "hwk3f", - dlc: "BASE", - description: [ - `The first time you Channel 7 Orbs each combat, deal 30 damage to ALL enemies.`, - ], - imageUrl: "relics/metronome.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["DEFECT"], - modifiers: [], - }, - // TODO - { - name: "Mini Regent", - category: "RELIC", - id: "cwcsw", - dlc: "BASE", - description: [`The first time you spend Star each turn, gain 1 Strength.`], - imageUrl: "relics/mini_regent.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["REGENT"], - modifiers: [], - }, - // TODO - { - name: "Molten Egg", - category: "RELIC", - id: "w4faf", - dlc: "BASE", - description: [`Whenever you add an Attack card to your Deck, Upgrade it.`], - imageUrl: "relics/molten_egg.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Mummified Hand", - category: "RELIC", - id: "wwquz", - dlc: "BASE", - description: [ - `Whenever you play a Power, a random card in your Hand is free to play that turn.`, - ], - imageUrl: "relics/mummified_hand.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Old Coin", - category: "RELIC", - id: "5sveb", - dlc: "BASE", - description: [`Upon pickup, gain 300 Gold.`], - imageUrl: "relics/old_coin.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Orange Dough", - category: "RELIC", - id: "z6m2k", - dlc: "BASE", - description: [ - `At the start of each combat, add 2 random Colorless cards into your Hand.`, - ], - imageUrl: "relics/orange_dough.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["REGENT"], - modifiers: [], - }, - // TODO - { - name: "Paper Krane", - category: "RELIC", - id: "5f9ul", - dlc: "BASE", - description: [ - `Enemies with Weak deal 40% less damage to you rather than 25%.`, - ], - imageUrl: "relics/paper_krane.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["SILENT"], - modifiers: [], - }, - // TODO - { - name: "Pocketwatch", - category: "RELIC", - id: "7f9m7", - dlc: "BASE", - description: [ - `Whenever you play 3 or fewer cards during your turn, draw 3 additional cards at the start of your next turn.`, - ], - imageUrl: "relics/pocketwatch.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Power Cell", - category: "RELIC", - id: "ejpc7", - dlc: "BASE", - description: [ - `At the start of each combat, add 2 zero-cost cards from your Draw Pile into your Hand.`, - ], - imageUrl: "relics/power_cell.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["DEFECT"], - modifiers: [], - }, - // TODO - { - name: "Prayer Wheel", - category: "RELIC", - id: "fsogu", - dlc: "BASE", - description: [`Normal enemies drop an additional card reward.`], - imageUrl: "relics/prayer_wheel.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Rainbow Ring", - category: "RELIC", - id: "xnv4u", - dlc: "BASE", - description: [ - `The first time you play an Attack, Skill, and Powers each turn, gain 1 Strength and 1 Dexterity.`, - ], - imageUrl: "relics/rainbow_ring.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Razor Tooth", - category: "RELIC", - id: "pc6ok", - dlc: "BASE", - description: [ - `Every time you play an Attack or Skill, Upgrade it for the remainder of combat.`, - ], - imageUrl: "relics/razor_tooth.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Ruined Helmet", - category: "RELIC", - id: "w93fg", - dlc: "BASE", - description: [ - `The first time you gain Strength each combat, double the amount gained.`, - ], - imageUrl: "relics/ruined_helmet.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["IRONCLAD"], - modifiers: [], - }, - // TODO - { - name: "Shovel", - category: "RELIC", - id: "9w70f", - dlc: "BASE", - description: [`You can now dig at Rest Sites to obtain a random Relic.`], - imageUrl: "relics/shovel.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Shuriken", - category: "RELIC", - id: "k4zyy", - dlc: "BASE", - description: [ - `Every time you play 3 Attacks in a single turn, gain 1 Strength.`, - ], - imageUrl: "relics/shuriken.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Stone Calendar", - category: "RELIC", - id: "qg45r", - dlc: "BASE", - description: [`At the end of turn 7, deal 52 damage to ALL enemies.`], - imageUrl: "relics/stone_calendar.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Sturdy Clamp", - category: "RELIC", - id: "atgfy", - dlc: "BASE", - description: [`Up to 10 Block persists across turns.`], - imageUrl: "relics/sturdy_clamp.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "The Courier", - category: "RELIC", - id: "xkw4b", - dlc: "BASE", - description: [ - `The merchant no longer runs out of cards, relics, or potions and his prices are reduced by 20%.`, - ], - imageUrl: "relics/the_courier.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Tough Bandages", - category: "RELIC", - id: "3x32u", - dlc: "BASE", - description: [ - `Whenever you discard a card during your turn, gain 3 Block.`, - ], - imageUrl: "relics/tough_bandages.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: ["SILENT"], - modifiers: [], - }, - // TODO - { - name: "Toxic Egg", - category: "RELIC", - id: "lihqr", - dlc: "BASE", - description: [`Whenever you add a Skill into your Deck, Upgrade it.`], - imageUrl: "relics/toxic_egg.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Tungsten Rod", - category: "RELIC", - id: "ke3fu", - dlc: "BASE", - description: [`Whenever you would lose HP, lose 1 less.`], - imageUrl: "relics/tungsten_rod.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Unceasing Top", - category: "RELIC", - id: "hlt5m", - dlc: "BASE", - description: [ - `Whenever you have no cards in Hand during your turn, draw a card.`, - ], - imageUrl: "relics/unceasing_top.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Unsettling Lamp", - category: "RELIC", - id: "4bxnt", - dlc: "BASE", - description: [ - `Each combat, the first time you play a card that Debuffs an enemy, double its effect.`, - ], - imageUrl: "relics/unsettling_lamp.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Vexing Puzzlebox", - category: "RELIC", - id: "iqu2h", - dlc: "BASE", - description: [ - `At the start of each combat, add a random card into your Hand. It costs 0Energy.`, - ], - imageUrl: "relics/vexing_puzzlebox.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "White Beast Statue", - category: "RELIC", - id: "vn9ct", - dlc: "BASE", - description: [`Potions always appear in combat rewards.`], - imageUrl: "relics/white_beast_statue.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "White Star", - category: "RELIC", - id: "edthh", - dlc: "BASE", - description: [`Elites drop an additional Rare card reward.`], - imageUrl: "relics/white_star.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "RARE", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Astrolabe", - category: "RELIC", - id: "nws4u", - dlc: "BASE", - description: [`Upon pickup, Transform 3 cards, then Upgrade them.`], - imageUrl: "relics/astrolabe.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Black Star", - category: "RELIC", - id: "umhmj", - dlc: "BASE", - description: [`Elites drop an additional Relic when defeated.`], - imageUrl: "relics/black_star.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Calling Bell", - category: "RELIC", - id: "5de6a", - dlc: "BASE", - description: [`Upon pickup, obtain a unique Curse and 3 Relics.`], - imageUrl: "relics/calling_bell.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Dusty Tome", - category: "RELIC", - id: "tvasf", - dlc: "BASE", - description: [`Upon pickup, obtain an Ancient Card.`], - imageUrl: "relics/dusty_tome.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Ectoplasm", - category: "RELIC", - id: "7k503", - dlc: "BASE", - description: [ - `You can no longer gain Gold. Gain Energy at the start of each turn.`, - ], - imageUrl: "relics/ectoplasm.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Empty Cage", - category: "RELIC", - id: "r0rqq", - dlc: "BASE", - description: [`Upon pickup, remove 2 cards from your Deck.`], - imageUrl: "relics/empty_cage.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pandora's Box", - category: "RELIC", - id: "emwi2", - dlc: "BASE", - description: [`Transform ALL Strikes and Defends.`], - imageUrl: "relics/pandoras_box.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Philosopher's Stone", - category: "RELIC", - id: "cezb8", - dlc: "BASE", - description: [ - `Gain Energy at the start of each turn. ALL enemies start combat with 1 Strength.`, - ], - imageUrl: "relics/philosophers_stone.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Runic Pyramid", - category: "RELIC", - id: "8lx0w", - dlc: "BASE", - description: [`At the end of your turn, you no longer discard your Hand.`], - imageUrl: "relics/runic_pyramid.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Snecko Eye", - category: "RELIC", - id: "6ngrz", - dlc: "BASE", - description: [ - `At the start of your turn, draw 2 additional cards. Start each combat Confused.`, - ], - imageUrl: "relics/snecko_eye.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Sozu", - category: "RELIC", - id: "ly79l", - dlc: "BASE", - description: [ - `Gain Energy at the start of each turn. You can no longer obtain Potions.`, - ], - imageUrl: "relics/sozu.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Velvet Choker", - category: "RELIC", - id: "g4ebs", - dlc: "BASE", - description: [ - `Gain Energy at the start of each turn. You cannot play more than 6 cards per turn.`, - ], - imageUrl: "relics/velvet_choker.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Arcane Scroll", - category: "RELIC", - id: "1bgf4", - dlc: "BASE", - description: [ - `Upon pickup, obtain a random Rare Card to add to your Deck.`, - ], - imageUrl: "relics/arcane_scroll.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Booming Conch", - category: "RELIC", - id: "y6o78", - dlc: "BASE", - description: [`At the start of Elite combats, draw 2 additional cards.`], - imageUrl: "relics/booming_conch.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Cursed Pearl", - category: "RELIC", - id: "kwci1", - dlc: "BASE", - description: [`Upon pickup, receive {{C|Greed||2}}. Gain 333 Gold.`], - imageUrl: "relics/cursed_pearl.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Golden Pearl", - category: "RELIC", - id: "jb5wa", - dlc: "BASE", - description: [`Upon pickup, gain 150 Gold.`], - imageUrl: "relics/golden_pearl.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Large Capsule", - category: "RELIC", - id: "nd04j", - dlc: "BASE", - description: [ - `Upon pickup, obtain 2 random Relics. Add an additional Strike and Defend to your Deck.`, - ], - imageUrl: "relics/large_capsule.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lava Rock", - category: "RELIC", - id: "fzs2r", - dlc: "BASE", - description: [`The Act 1 Boss drops 2 Relics.`], - imageUrl: "relics/lava_rock.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lead Paperweight", - category: "RELIC", - id: "gwpq0", - dlc: "BASE", - description: [ - `Upon pickup, choose 1 of 2 Colorless cards to add to your Deck.`, - ], - imageUrl: "relics/lead_paperweight.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Leafy Poultice", - category: "RELIC", - id: "8f0p7", - dlc: "BASE", - description: [ - `Upon pickup, Transform 1 of your Strikes and 1 of your Defends and lose 10 Max HP.`, - ], - imageUrl: "relics/leafy_poultice.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lost Coffer", - category: "RELIC", - id: "7qky0", - dlc: "BASE", - description: [ - `Upon pickup, gain 1 card reward and procure 1 random Potions|Potion.`, - ], - imageUrl: "relics/lost_coffer.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Massive Scroll", - category: "RELIC", - id: "fykpz", - dlc: "BASE", - description: [ - `Upon pickup, choose 1 of 3 Multiplayer Colorless Cards to add to your Deck.`, - ], - imageUrl: "relics/massive_scroll.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Neow's Torment", - category: "RELIC", - id: "glc7b", - dlc: "BASE", - description: [`Upon pickup, add 1 {{C|Neow's Fury||2}} to your Deck.`], - imageUrl: "relics/neows_torment.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "New Leaf", - category: "RELIC", - id: "r4nn4", - dlc: "BASE", - description: [`Upon pickup, Transform 1 card.`], - imageUrl: "relics/new_leaf.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Nutritious Oyster", - category: "RELIC", - id: "c6f3g", - dlc: "BASE", - description: [`Upon pickup, raise your Max HP by 11.`], - imageUrl: "relics/nutritious_oyster.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pomander", - category: "RELIC", - id: "nkv1v", - dlc: "BASE", - description: [`Upon pickup, Upgrade a card.`], - imageUrl: "relics/pomander.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Precarious Shears", - category: "RELIC", - id: "5res1", - dlc: "BASE", - description: [ - `Upon pickup, remove 2 cards from your Deck and take 13 damage.`, - ], - imageUrl: "relics/precarious_shears.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Precise Scissors", - category: "RELIC", - id: "8vu9w", - dlc: "BASE", - description: [`Upon pickup, remove 1 card from your Deck.`], - imageUrl: "relics/precise_scissors.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Scroll Boxes", - category: "RELIC", - id: "1p4u4", - dlc: "BASE", - description: [ - `Upon pickup, lose all Gold and choose 1 of 2 packs of cards to add to your Deck.`, - ], - imageUrl: "relics/scroll_boxes.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Silver Crucible", - category: "RELIC", - id: "n33ss", - dlc: "BASE", - description: [ - `The first 3 card rewards you see are Upgraded. The first Treasure Chest you open is empty.`, - ], - imageUrl: "relics/silver_crucible.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Small Capsule", - category: "RELIC", - id: "axay8", - dlc: "BASE", - description: [`Upon pickup, obtain a random Relic.`], - imageUrl: "relics/small_capsule.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Stone Humidifier", - category: "RELIC", - id: "b7n6u", - dlc: "BASE", - description: [`Whenever you Rest at a Rest Site, raise your Max HP by 5.`], - imageUrl: "relics/stone_humidifier.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Beautiful Bracelet", - category: "RELIC", - id: "2r6rb", - dlc: "BASE", - description: [ - `Upon pickup, choose 3 cards in your Deck. Enchant them with Swift 3.`, - ], - imageUrl: "relics/beautiful_bracelet.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Blessed Antler", - category: "RELIC", - id: "y71is", - dlc: "BASE", - description: [ - `Gain Energy at the start of each turn. At the start of each combat, shuffle 3 {{C|Dazed||2}} into your Draw Pile.`, - ], - imageUrl: "relics/blessed_antler.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Brilliant Scarf", - category: "RELIC", - id: "zgbue", - dlc: "BASE", - description: [`The 5th card you play each turn is free.`], - imageUrl: "relics/brilliant_scarf.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Delicate Frond", - category: "RELIC", - id: "9bnwn", - dlc: "BASE", - description: [ - `At the start of each combat, fill all empty Potions|Potion slots with random Potions.`, - ], - imageUrl: "relics/delicate_frond.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Diamond Diadem", - category: "RELIC", - id: "ndfru", - dlc: "BASE", - description: [ - `Whenever you play 2 or fewer cards in a turn, take half damage from enemies.`, - ], - imageUrl: "relics/diamond_diadem.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Fur Coat", - category: "RELIC", - id: "xz42a", - dlc: "BASE", - description: [ - `Upon pickup, mark 7 random combats. Enemies in those rooms have 1 HP.`, - ], - imageUrl: "relics/fur_coat.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Glitter", - category: "RELIC", - id: "ww7d4", - dlc: "BASE", - description: [`Enchant all card rewards with Glam.`], - imageUrl: "relics/glitter.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Jewelry Box", - category: "RELIC", - id: "0s2p1", - dlc: "BASE", - description: [`Upon pickup, add 1 {{C|Apotheosis||2}} to your Deck.`], - imageUrl: "relics/jewelry_box.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Looming Fruit", - category: "RELIC", - id: "0c5a8", - dlc: "BASE", - description: [`Upon pickup, raise your Max HP by 31.`], - imageUrl: "relics/looming_fruit.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Signet Ring", - category: "RELIC", - id: "b1mfm", - dlc: "BASE", - description: [`Upon pickup, gain 999 Gold.`], - imageUrl: "relics/signet_ring.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Alchemical Coffer", - category: "RELIC", - id: "4m52g", - dlc: "BASE", - description: [ - `Upon pickup, gain 4 Potions|Potion slots filled with random Potions.`, - ], - imageUrl: "relics/alchemical_coffer.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Archaic Tooth", - category: "RELIC", - id: "ya6np", - dlc: "BASE", - description: [ - `Upon pickup, Transform a starter card with an ancient version.`, - ], - imageUrl: "relics/archaic_tooth.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Driftwood", - category: "RELIC", - id: "29k6v", - dlc: "BASE", - description: [`You may reroll each card reward once.`], - imageUrl: "relics/driftwood.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Electric Shrymp", - category: "RELIC", - id: "vehin", - dlc: "BASE", - description: [`Upon pickup, Enchant a Skill with Imbued.`], - imageUrl: "relics/electric_shrymp.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Glass Eye", - category: "RELIC", - id: "p3bnt", - dlc: "BASE", - description: [ - `Upon pickup, obtain 2 Common cards, 2 Uncommon cards, and 1 Rare card.`, - ], - imageUrl: "relics/glass_eye.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Prismatic Gem", - category: "RELIC", - id: "4m7xj", - dlc: "BASE", - description: [ - `Gain Energy at the start of each turn. Card rewards now contain cards from other colors.`, - ], - imageUrl: "relics/prismatic_gem.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Radiant Pearl", - category: "RELIC", - id: "1zor4", - dlc: "BASE", - description: [ - `At the start of each combat, add 1 {{C|Luminesce||2}} into your Hand.`, - ], - imageUrl: "relics/radiant_pearl.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Sand Castle", - category: "RELIC", - id: "9v7kg", - dlc: "BASE", - description: [`Upon pickup, Upgrade 6 random cards.`], - imageUrl: "relics/sand_castle.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Sea Glass", - category: "RELIC", - id: "nkqrf", - dlc: "BASE", - description: [ - `See 15 cards from another character. Choose any number of them to add to your Deck.`, - ], - imageUrl: "relics/sea_glass.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Touch of Orobas", - category: "RELIC", - id: "v6baj", - dlc: "BASE", - description: [ - `Upon pickup, replace your starter Relic with an Ancient version.`, - ], - imageUrl: "relics/touch_of_orobas.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pael's Blood", - category: "RELIC", - id: "1zbe3", - dlc: "BASE", - description: [`At the start of your turn, draw 1 additional card.`], - imageUrl: "relics/paels_blood.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pael's Claw", - category: "RELIC", - id: "2dueo", - dlc: "BASE", - description: [`Upon pickup, Enchant all Defends with Goopy.`], - imageUrl: "relics/paels_claw.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pael's Eye", - category: "RELIC", - id: "jn661", - dlc: "BASE", - description: [ - `The first time each combat you end your turn without playing cards, Exhaust your Hand, and take an extra turn.`, - ], - imageUrl: "relics/paels_eye.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pael's Flesh", - category: "RELIC", - id: "ik54z", - dlc: "BASE", - description: [ - `Gain an additional Energy at the start of your 3rd turn, and every turn after that.`, - ], - imageUrl: "relics/paels_flesh.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pael's Growth", - category: "RELIC", - id: "4yekb", - dlc: "BASE", - description: [`Upon pickup, Enchant a card with Clone.`], - imageUrl: "relics/paels_growth.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pael's Horn", - category: "RELIC", - id: "njdsf", - dlc: "BASE", - description: [`Upon pickup, add 2 {{C|Relax||2}} to your Deck.`], - imageUrl: "relics/paels_horn.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pael's Legion", - category: "RELIC", - id: "zws46", - dlc: "BASE", - description: [ - `Doubles Block gained from a card, then goes to sleep for 2 turns.`, - ], - imageUrl: "relics/paels_legion.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pael's Tears", - category: "RELIC", - id: "xehia", - dlc: "BASE", - description: [ - `If you end your turn with unspent Energy, gain an additional 2 Energy next turn.`, - ], - imageUrl: "relics/paels_tears.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pael's Tooth", - category: "RELIC", - id: "us5p0", - dlc: "BASE", - description: [ - `Upon pickup, remove 5 cards from your Deck. After each combat, randomly add 1 back Upgraded.`, - ], - imageUrl: "relics/paels_tooth.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pael's Wing", - category: "RELIC", - id: "cp1aa", - dlc: "BASE", - description: [ - `You may sacrifice card rewards to Pael. Every 2 sacrifices, obtain a Relic.`, - ], - imageUrl: "relics/paels_wing.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Claws", - category: "RELIC", - id: "3627n", - dlc: "BASE", - description: [`Upon pickup, Transform up to 6 cards into {{C|Maul||2}}.`], - imageUrl: "relics/claws.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Crossbow", - category: "RELIC", - id: "myxh1", - dlc: "BASE", - description: [ - `At the start of your turn, add a random Attack into your Hand. It costs 0Energy this turn.`, - ], - imageUrl: "relics/crossbow.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Iron Club", - category: "RELIC", - id: "4moau", - dlc: "BASE", - description: [`Every 4 cards you play, draw 1 card.`], - imageUrl: "relics/iron_club.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Meat Cleaver", - category: "RELIC", - id: "9kftj", - dlc: "BASE", - description: [`You may Cook at Rest Sites.`], - imageUrl: "relics/meat_cleaver.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Sai", - category: "RELIC", - id: "e90gr", - dlc: "BASE", - description: [`At the start of your turn, gain 7 Block.`], - imageUrl: "relics/sai.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Spiked Gauntlets", - category: "RELIC", - id: "3d5fs", - dlc: "BASE", - description: [ - `Gain Energy at the start of each turn. Powers cost 1 more Energy.`, - ], - imageUrl: "relics/spiked_gauntlets.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Tanx's Whistle", - category: "RELIC", - id: "9gczc", - dlc: "BASE", - description: [`Upon pickup, add 1 {{C|Whistle||2}} to your Deck.`], - imageUrl: "relics/tanxs_whistle.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Throwing Axe", - category: "RELIC", - id: "9izet", - dlc: "BASE", - description: [ - `The first card you play each combat is played an extra time.`, - ], - imageUrl: "relics/throwing_axe.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Tri-Boomerang", - category: "RELIC", - id: "6mama", - dlc: "BASE", - description: [`Choose 3 Attacks in your Deck. Enchant them with Instinct.`], - imageUrl: "relics/tri-boomerang.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "War Hammer", - category: "RELIC", - id: "mr9yb", - dlc: "BASE", - description: [`Whenever you kill an Elite, Upgrade 4 random cards.`], - imageUrl: "relics/war_hammer.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Biiig Hug", - category: "RELIC", - id: "ssz2t", - dlc: "BASE", - description: [ - `Upon pickup, remove 4 cards from your Deck. Whenever you shuffle your Draw Pile, add a {{C|Soot||2}} into your Draw Pile.`, - ], - imageUrl: "relics/biiig_hug.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Golden Compass", - category: "RELIC", - id: "27n5g", - dlc: "BASE", - description: [ - `Upon pickup, replace the Act 2 Map with a single special path.`, - ], - imageUrl: "relics/golden_compass.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Nutritious Soup", - category: "RELIC", - id: "lsu7y", - dlc: "BASE", - description: [ - `Upon pickup, Enchant all Strikes in your Deck with Tezcatara's Ember.`, - ], - imageUrl: "relics/nutritious_soup.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pumpkin Candle", - category: "RELIC", - id: "5cimt", - dlc: "BASE", - description: [ - `Gain Energy at the start of each turn. Extinguishes at the start of Act 3.`, - ], - imageUrl: "relics/pumpkin_candle.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Seal of Gold", - category: "RELIC", - id: "3djgw", - dlc: "BASE", - description: [`At the start of your turn, spend 5 Gold to gain Energy.`], - imageUrl: "relics/seal_of_gold.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Storybook", - category: "RELIC", - id: "6whqt", - dlc: "BASE", - description: [`Upon pickup, add 1 {{C|Brightest Flame||2}} to your Deck.`], - imageUrl: "relics/storybook.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Toasty Mittens", - category: "RELIC", - id: "yqeas", - dlc: "BASE", - description: [ - `At the start of your turn, Exhaust the top card of your Draw Pile and gain 1 Strength.`, - ], - imageUrl: "relics/toasty_mittens.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Toy Box", - category: "RELIC", - id: "3x8ln", - dlc: "BASE", - description: [ - `Upon pickup, obtain 4 Wax Relics. Every 3 combats, your left-most Wax Relic will melt away.`, - ], - imageUrl: "relics/toy_box.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Very Hot Cocoa", - category: "RELIC", - id: "7vnky", - dlc: "BASE", - description: [`Start each combat with an additional 4Energy.`], - imageUrl: "relics/very_hot_cocoa.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Yummy Cookie", - category: "RELIC", - id: "92et2", - dlc: "BASE", - description: [`Upon pickup, Upgrade 4 cards.`], - imageUrl: "relics/yummy_cookie_defect.png", // TODO: Has character variants, maybe incorporate somehow - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Blood-Soaked Rose", - category: "RELIC", - id: "5opyz", - dlc: "BASE", - description: [ - `Upon pickup, add 1 {{C|Enthralled||2}} to your Deck. Gain Energy at the start of each turn.`, - ], - imageUrl: "relics/blood_soaked_rose.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Choices Paradox", - category: "RELIC", - id: "9ljb8", - dlc: "BASE", - description: [ - `At the start of each combat, add 1 of 5 random cards into your Hand. Add Retain to the chosen card.`, - ], - imageUrl: "relics/choices_paradox.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Distinguished Cape", - category: "RELIC", - id: "zf2d1", - dlc: "BASE", - description: [ - `Upon pickup, lose 9 Max HP. Add 3 Apparitions to your Deck.`, - ], - imageUrl: "relics/distinguished_cape.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Fiddle", - category: "RELIC", - id: "vcduz", - dlc: "BASE", - description: [ - `At the start of each turn, draw 2 additional cards. You may not draw cards during your turn.`, - ], - imageUrl: "relics/fiddle.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Jeweled Mask", - category: "RELIC", - id: "4f1ty", - dlc: "BASE", - description: [ - `At the start of combat put a random Powers from your Draw Pile into your Hand, it's free to play.`, - ], - imageUrl: "relics/jeweled_mask.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lord's Parasol", - category: "RELIC", - id: "csiw8", - dlc: "BASE", - description: [ - `When you encounter the Merchant, immediately obtain EVERYTHING he sells.`, - ], - imageUrl: "relics/lords_parasol.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Music Box", - category: "RELIC", - id: "1r9xn", - dlc: "BASE", - description: [ - `Create an Ethereal copy of the first Attack you play each turn.`, - ], - imageUrl: "relics/music_box.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Preserved Fog", - category: "RELIC", - id: "0qibh", - dlc: "BASE", - description: [ - `Upon pickup, remove 5 cards from your Deck. Add {{C|Folly||2}} to your Deck.`, - ], - imageUrl: "relics/preserved_fog.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Sere Talon", - category: "RELIC", - id: "fda9i", - dlc: "BASE", - description: [ - `Upon pickup, add 2 random Curses and 3 Wishes to your Deck.`, - ], - imageUrl: "relics/sere_talon.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Whispering Earring", - category: "RELIC", - id: "j1d95", - dlc: "BASE", - description: [ - `Gain Energy at the start of each turn. Vakuu plays your first turn for you.`, - ], - imageUrl: "relics/whispering_earring.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "ANCIENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Belt Buckle", - category: "RELIC", - id: "n7usi", - dlc: "BASE", - description: [ - `While you have no Potions, you have 2 additional Dexterity.`, - ], - imageUrl: "relics/belt_buckle.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Bread", - category: "RELIC", - id: "fayvf", - dlc: "BASE", - description: [ - `At the start of your first turn, lose 2 Energy. At the start of all other turns, gain Energy.`, - ], - imageUrl: "relics/bread.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Brimstone", - category: "RELIC", - id: "pm8rq", - dlc: "BASE", - description: [ - `At the start of your turn, gain 2 Strength and ALL enemies gain 1 Strength.`, - ], - imageUrl: "relics/brimstone.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: ["IRONCLAD"], - modifiers: [], - }, - // TODO - { - name: "Burning Sticks", - category: "RELIC", - id: "hypdy", - dlc: "BASE", - description: [ - `The first time each combat you Exhaust a Skill, add a copy of it into your Hand.`, - ], - imageUrl: "relics/burning_sticks.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Cauldron", - category: "RELIC", - id: "yu0me", - dlc: "BASE", - description: [`Upon pickup, brews 5 random Potions.`], - imageUrl: "relics/cauldron.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Chemical X", - category: "RELIC", - id: "6g4ou", - dlc: "BASE", - description: [`The effects of your cost X cards are increased by 2.`], - imageUrl: "relics/chemical_x.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Dingy Rug", - category: "RELIC", - id: "bjij8", - dlc: "BASE", - description: [`Card rewards can now contain Colorless cards.`], - imageUrl: "relics/dingy_rug.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Dolly's Mirror", - category: "RELIC", - id: "hsv33", - dlc: "BASE", - description: [ - `Upon pickup, obtain an additional copy of a card in your Deck.`, - ], - imageUrl: "relics/dollys_mirror.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Dragon Fruit", - category: "RELIC", - id: "w099k", - dlc: "BASE", - description: [`Whenever you gain Gold, raise your Max HP by 1.`], - imageUrl: "relics/dragon_fruit.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Ghost Seed", - category: "RELIC", - id: "99oez", - dlc: "BASE", - description: [`Strikes and Defends gain Ethereal.`], - imageUrl: "relics/ghost_seed.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Gnarled Hammer", - category: "RELIC", - id: "qi1zt", - dlc: "BASE", - description: [`Upon pickup, Enchant up to 3 Attacks with Sharp 3.`], - imageUrl: "relics/gnarled_hammer.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Kifuda", - category: "RELIC", - id: "cam4e", - dlc: "BASE", - description: [`Upon pickup, Enchant up to 3 cards with Adroit.`], - imageUrl: "relics/kifuda.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lava Lamp", - category: "RELIC", - id: "q2zmb", - dlc: "BASE", - description: [ - `At the end of combat, Upgrade all card rewards if you took no damage.`, - ], - imageUrl: "relics/lava_lamp.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lee's Waffle", - category: "RELIC", - id: "nk1wt", - dlc: "BASE", - description: [ - `Upon pickup, raise your Max HP by 7 and heal all of your HP.`, - ], - imageUrl: "relics/lees_waffle.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Membership Card", - category: "RELIC", - id: "vlrp4", - dlc: "BASE", - description: [`50% discount on all products!`], - imageUrl: "relics/membership_card.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Miniature Tent", - category: "RELIC", - id: "4ac9q", - dlc: "BASE", - description: [`You may choose any number of options at Rest Sites.`], - imageUrl: "relics/miniature_tent.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Mystic Lighter", - category: "RELIC", - id: "gip2x", - dlc: "BASE", - description: [`Enchanted Attacks deal 9 additional damage.`], - imageUrl: "relics/mystic_lighter.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Ninja Scroll", - category: "RELIC", - id: "gsmnf", - dlc: "BASE", - description: [`At the start of each combat, add 3 Shivs into your Hand.`], - imageUrl: "relics/ninja_scroll.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: ["SILENT"], - modifiers: [], - }, - // TODO - { - name: "Orrery", - category: "RELIC", - id: "lqnun", - dlc: "BASE", - description: [`Upon pickup, gain 5 card rewards.`], - imageUrl: "relics/orrery.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Punch Dagger", - category: "RELIC", - id: "yy4tq", - dlc: "BASE", - description: [`Upon pickup, Enchant an Attack with Momentum 5.`], - imageUrl: "relics/punch_dagger.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Ringing Triangle", - category: "RELIC", - id: "2tr77", - dlc: "BASE", - description: [`Retain your Hand on the first turn of combat.`], - imageUrl: "relics/ringing_triangle.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Royal Stamp", - category: "RELIC", - id: "o7zyh", - dlc: "BASE", - description: [ - `Upon pickup, choose an Attack or Skill in your Deck to Enchant with Royally Approved.`, - ], - imageUrl: "relics/royal_stamp.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Runic Capacitor", - category: "RELIC", - id: "sg786", - dlc: "BASE", - description: [`Start each combat with 3 additional Orb Slots.`], - imageUrl: "relics/runic_capacitor.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: ["DEFECT"], - modifiers: [], - }, - // TODO - { - name: "Screaming Flagon", - category: "RELIC", - id: "e6ewv", - dlc: "BASE", - description: [ - `If you end your turn with no cards in your Hand, deal 20 damage to ALL enemies.`, - ], - imageUrl: "relics/screaming_flagon.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Sling of Courage", - category: "RELIC", - id: "ryuyr", - dlc: "BASE", - description: [`Start each Elite combat with 2 Strength.`], - imageUrl: "relics/sling_of_courage.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "The Abacus", - category: "RELIC", - id: "kbnv1", - dlc: "BASE", - description: [`Whenever you shuffle your Draw Pile, gain 6 Block.`], - imageUrl: "relics/the_abacus.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Toolbox", - category: "RELIC", - id: "h45vo", - dlc: "BASE", - description: [ - `At the start of each combat, choose 1 of 3 random Colorless cards and add the chosen card into your Hand.`, - ], - imageUrl: "relics/toolbox.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Undying Sigil", - category: "RELIC", - id: "ohdky", - dlc: "BASE", - description: [ - `Enemies with at least as much Doom as HP deal 50% less damage.`, - ], - imageUrl: "relics/undying_sigil.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: ["NECROBINDER"], - modifiers: [], - }, - // TODO - { - name: "Vitruvian Minion", - category: "RELIC", - id: "i3fgr", - dlc: "BASE", - description: [ - `Cards containing “Minion” deal double damage and gain double Block.`, - ], - imageUrl: "relics/vitruvian_minion.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: ["REGENT"], - modifiers: [], - }, - // TODO - { - name: "Wing Charm", - category: "RELIC", - id: "y47kk", - dlc: "BASE", - description: [ - `A random card in each card reward is Enchanted with Swift 1.`, - ], - imageUrl: "relics/wing_charm.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "SHOP", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Big Mushroom", - category: "RELIC", - id: "d63yl", - dlc: "BASE", - description: [ - `Upon pickup, raise your Max HP by 20. At the start of each combat, draw 2 fewer cards.`, - ], - imageUrl: "relics/big_mushroom.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Bing Bong", - category: "RELIC", - id: "birxx", - dlc: "BASE", - description: [ - `Whenever you add a card to your Deck, add one additional copy.`, - ], - imageUrl: "relics/bing_bong.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Bone Tea", - category: "RELIC", - id: "trs6x", - dlc: "BASE", - description: [ - `At the start of the next combat, Upgrade your starting hand.`, - ], - imageUrl: "relics/bone_tea.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Byrdpip", - category: "RELIC", - id: "tvg0l", - dlc: "BASE", - description: [ - `Upon pickup, gain the card {{C|Byrd Swoop||2}}. A Byrdpip will accompany you in battles.`, - ], - imageUrl: "relics/byrdpip.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Darkstone Periapt", - category: "RELIC", - id: "9busj", - dlc: "BASE", - description: [`Whenever you obtain a Curse, raise your Max HP by 6.`], - imageUrl: "relics/darkstone_periapt.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Daughter of the Wind", - category: "RELIC", - id: "e7iwy", - dlc: "BASE", - description: [`Whenever you play an Attack, gain 1 Block.`], - imageUrl: "relics/daughter_of_the_wind.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Dream Catcher", - category: "RELIC", - id: "qdhcu", - dlc: "BASE", - description: [`Whenever you Rest, you may add a card to your Deck.`], - imageUrl: "relics/dream_catcher.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Ember Tea", - category: "RELIC", - id: "z4p40", - dlc: "BASE", - description: [`At the start of the next 5 combats, gain 2 Strength.`], - imageUrl: "relics/ember_tea.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Forgotten Soul", - category: "RELIC", - id: "s65qs", - dlc: "BASE", - description: [ - `Whenever you Exhaust a card, deal 1 damage to a random enemy.`, - ], - imageUrl: "relics/forgotten_soul.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Fragrant Mushroom", - category: "RELIC", - id: "k94zs", - dlc: "BASE", - description: [`Upon pickup, lose 15 HP and Upgrade 3 random cards.`], - imageUrl: "relics/fragrant_mushroom.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Fresnel Lens", - category: "RELIC", - id: "iv2k8", - dlc: "BASE", - description: [ - `Whenever you add a card that gains Block to your Deck, Enchant it with Nimble 2.`, - ], - imageUrl: "relics/fresnel_lens.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Hand Drill", - category: "RELIC", - id: "s0m7f", - dlc: "BASE", - description: [`Whenever you break an enemy's Block, apply 2 Vulnerable.`], - imageUrl: "relics/hand_drill.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "History Course", - category: "RELIC", - id: "pf9em", - dlc: "BASE", - description: [ - `At the start of your turn, play a copy of your last played Attack or Skill.`, - ], - imageUrl: "relics/history_course.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lost Wisp", - category: "RELIC", - id: "oupc6", - dlc: "BASE", - description: [`Whenever you play a Power, deal 8 damage to ALL enemies.`], - imageUrl: "relics/lost_wisp.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Maw Bank", - category: "RELIC", - id: "u4rul", - dlc: "BASE", - description: [ - `Whenever you climb a floor, gain 12 Gold. No longer works when you spend any Gold at the shop.`, - ], - imageUrl: "relics/maw_bank.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Mr. Struggles", - category: "RELIC", - id: "ub6jd", - dlc: "BASE", - description: [ - `At the start of your turn, deal damage equal to the turn number to ALL enemies.`, - ], - imageUrl: "relics/mr_struggles.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Pollinous Core", - category: "RELIC", - id: "hctgu", - dlc: "BASE", - description: [`Every 4 turns, draw 2 additional cards.`], - imageUrl: "relics/pollinous_core.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Royal Poison", - category: "RELIC", - id: "w4a4e", - dlc: "BASE", - description: [`At the start of each combat, lose 4 HP.`], - imageUrl: "relics/royal_poison.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Sword of Jade", - category: "RELIC", - id: "kyjhu", - dlc: "BASE", - description: [`Start each combat with 3 Strength.`], - imageUrl: "relics/sword_of_jade.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Sword of Stone", - category: "RELIC", - id: "fx4as", - dlc: "BASE", - description: [`Transforms into a powerful Relic after defeating 5 Elites.`], - imageUrl: "relics/sword_of_stone.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Tea of Discourtesy", - category: "RELIC", - id: "opljw", - dlc: "BASE", - description: [ - `At the start of the next combat, shuffle 2 Dazed into your Draw Pile.`, - ], - imageUrl: "relics/tea_of_discourtesy.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "The Boot", - category: "RELIC", - id: "k8uln", - dlc: "BASE", - description: [ - `Whenever you would deal 4 or less unblocked attack damage, increase it to 5.`, - ], - imageUrl: "relics/the_boot.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "The Chosen Cheese", - category: "RELIC", - id: "vfn71", - dlc: "BASE", - description: [`At the end of combat, gain 1 Max HP.`], - imageUrl: "relics/chosen_cheese.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Wongo Customer Appreciation Badge", - category: "RELIC", - id: "n94u5", - dlc: "BASE", - description: [`Does nothing.`], - imageUrl: "relics/wongo_customer_appreciation_badge.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Wongo's Mystery Ticket", - category: "RELIC", - id: "ihe6f", - dlc: "BASE", - description: [`Receive 3 random Relics after 5 combats.`], - imageUrl: "relics/wongos_mystery_ticket.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Anchor???", - category: "RELIC", - id: "ice0c", - dlc: "BASE", - description: [`Start each combat with 4 Block.`], - imageUrl: "relics/fake_anchor.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Blood Vial???", - category: "RELIC", - id: "uqvpa", - dlc: "BASE", - description: [`At the start of each combat, heal 1 HP.`], - imageUrl: "relics/fake_blood_vial.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Happy Flower???", - category: "RELIC", - id: "dc87a", - dlc: "BASE", - description: [`Every 5 turns, gain Energy.`], - imageUrl: "relics/fake_happy_flower.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Lee's Waffle???", - category: "RELIC", - id: "pw1zy", - dlc: "BASE", - description: [`Upon pickup, heal 10% of your HP.`], - imageUrl: "relics/fake_lees_waffle.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Mango???", - category: "RELIC", - id: "dntmn", - dlc: "BASE", - description: [`Upon pickup, raise your Max HP by 3.`], - imageUrl: "relics/fake_mango.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Orichalcum???", - category: "RELIC", - id: "l0p6o", - dlc: "BASE", - description: [`If you end your turn without Block, gain 3 Block.`], - imageUrl: "relics/fake_orichalcum.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Snecko Eye???", - category: "RELIC", - id: "iywvv", - dlc: "BASE", - description: [`Start each combat Confused.`], - imageUrl: "relics/fake_snecko_eye.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Strike Dummy???", - category: "RELIC", - id: "zpvfn", - dlc: "BASE", - description: [`Cards containing “Strike” deal 1 additional damage.`], - imageUrl: "relics/fake_strike_dummy.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "The Merchant's Rug???", - category: "RELIC", - id: "rgf19", - dlc: "BASE", - description: [`Poor imitation. Does nothing.`], - imageUrl: "relics/fake_merchants_rug.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Venerable Tea Set???", - category: "RELIC", - id: "c6dd9", - dlc: "BASE", - description: [ - `Whenever you enter a Rest Site, start the next combat with an additional Energy.`, - ], - imageUrl: "relics/fake_venerable_tea_set.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, - // TODO - { - name: "Circlet", - category: "RELIC", - id: "pxdkh", - dlc: "BASE", - description: [`It's a circlet.`], - imageUrl: "relics/circlet.png", - wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, - location: undefined, - rarity: "EVENT", - equippableBy: "ANY", - modifiers: [], - }, -]; - -export { RELICS, type SlayTheSpire2RelicItem }; +import type { BaseSlayTheSpire2Item } from "#/games/slaythespire2/core/types"; +import type { SlayTheSpire2RelicRarity } from "@/prisma"; + +type SlayTheSpire2RelicItem = BaseSlayTheSpire2Item & { + flavorText: string; + isUpgrade: boolean; + rarity: SlayTheSpire2RelicRarity; +}; + +const RELICS: SlayTheSpire2RelicItem[] = [ + // #region STARTER + { + name: "Burning Blood", + category: "RELIC", + id: "5hg0s", + dlc: "BASE", + description: [`At the end of combat, heal 6 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/burning_blood.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "STARTER", + modifiers: [ + { + modifier: { + heal: 6, + }, + trigger: "combat end", + }, + ], + linkedItems: { + character: { name: "IRONCLAD" }, + relic: { name: "Black Blood" }, + }, + }, + { + name: "Black Blood", + category: "RELIC", + id: "9gltv", + dlc: "BASE", + description: [`At the end of combat, heal 12 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: true, + imageUrl: "relics/black_blood.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "STARTER", + linkedItems: { + character: { name: "IRONCLAD" }, + relic: { name: "Burning Blood" }, + }, + modifiers: [ + { + modifier: { + heal: 12, + }, + trigger: "combat end", + }, + ], + }, + { + name: "Ring of the Snake", + category: "RELIC", + id: "6l7w7", + dlc: "BASE", + description: [`At the start of each combat, draw 2 additional cards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ring_of_the_snake.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "STARTER", + linkedItems: { + character: { name: "SILENT" }, + relic: { name: "Ring of the Drake" }, + }, + modifiers: [ + { + modifier: { + draw: 2, + }, + trigger: "combat start", + }, + ], + }, + { + name: "Ring of the Drake", + category: "RELIC", + id: "czo12", + dlc: "BASE", + description: [ + `At the start of your first 3 turns, draw 2 additional cards.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: true, + imageUrl: "relics/ring_of_the_drake.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "STARTER", + linkedItems: { + character: { name: "SILENT" }, + relic: { name: "Ring of the Snake" }, + }, + modifiers: [ + { + modifier: { + draw: 2, + }, + trigger: "first three turns", + }, + ], + }, + { + name: "Divine Right", + category: "RELIC", + id: "pehq9", + dlc: "BASE", + description: [`At the start of each combat, gain 3 Stars.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/divine_right.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "STARTER", + linkedItems: { + character: { name: "REGENT" }, + relic: { name: "Divine Destiny" }, + }, + modifiers: [ + { + modifier: { + stars: 3, + }, + trigger: "combat start", + }, + ], + }, + { + name: "Divine Destiny", + category: "RELIC", + id: "ne7pa", + dlc: "BASE", + description: [`At the start of each combat, gain 6 Stars.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: true, + imageUrl: "relics/divine_destiny.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "STARTER", + linkedItems: { + character: { name: "REGENT" }, + relic: { name: "Divine Right" }, + }, + modifiers: [ + { + modifier: { + stars: 6, + }, + trigger: "combat start", + }, + ], + }, + { + name: "Bound Phylactery", + category: "RELIC", + id: "cl85k", + dlc: "BASE", + description: [`At the start of your turn, Summon 1.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bound_phylactery.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "STARTER", + linkedItems: { + character: { name: "NECROBINDER" }, + relic: { name: "Phylactery Unbound" }, + }, + modifiers: [ + { + modifier: { + summon: 1, + }, + trigger: "combat start", + }, + ], + }, + { + name: "Phylactery Unbound", + category: "RELIC", + id: "b2ed9", + dlc: "BASE", + description: [ + `At the start of each combat, Summon 5. At the start of your turn, Summon 2.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: true, + imageUrl: "relics/phylactery_unbound.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "STARTER", + linkedItems: { + character: { name: "NECROBINDER" }, + relic: { name: "Bound Phylactery" }, + }, + modifiers: [ + { + modifier: { + summon: 5, + }, + trigger: "combat start", + }, + { + modifier: { + summon: 2, + }, + trigger: "each turn", + }, + ], + }, + { + name: "Cracked Core", + category: "RELIC", + id: "ss073", + dlc: "BASE", + description: [`At the start of each combat, Channel 1 Lightning.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/cracked_core.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "STARTER", + linkedItems: { + character: { name: "DEFECT" }, + relic: { name: "Infused Core" }, + }, + modifiers: [ + { + modifier: { + channel: [{ type: "Lightning", amount: 1 }], + }, + trigger: "combat start", + }, + ], + }, + { + name: "Infused Core", + category: "RELIC", + id: "cm91c", + dlc: "BASE", + description: [`At the start of each combat, Channel 3 Lightning.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: true, + imageUrl: "relics/infused_core.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "STARTER", + linkedItems: { + character: { name: "DEFECT" }, + relic: { name: "Cracked Core" }, + }, + modifiers: [ + { + modifier: { + channel: [{ type: "Lightning", amount: 3 }], + }, + trigger: "combat start", + }, + ], + }, + + // #region COMMON + + { + name: "Amethyst Aubergine", + category: "RELIC", + id: "3m5y4", + dlc: "BASE", + description: [`Enemies drop 15 additional Gold.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/amethyst_aubergine.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + + modifiers: [ + { + modifier: { + gold: 10, + }, + trigger: "combat", + }, + ], + }, + { + name: "Anchor", + category: "RELIC", + id: "dxo8a", + dlc: "BASE", + description: [`Start each combat with 10 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/anchor.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + + modifiers: [ + { + modifier: { + block: 10, + }, + trigger: "combat start", + }, + ], + }, + { + name: "Bag of Preparation", + category: "RELIC", + id: "01jqa", + dlc: "BASE", + description: [`At the start of each combat, draw 2 additional cards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bag_of_preparation.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + + modifiers: [ + { + modifier: { + draw: 2, + }, + trigger: "combat start", + }, + ], + }, + { + name: "Blood Vial", + category: "RELIC", + id: "30uns", + dlc: "BASE", + description: [`At the start of each combat, heal 2 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/blood_vial.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: [ + { + modifier: { + heal: 2, + }, + trigger: "combat start", + }, + ], + }, + { + name: "Book of Five Rings", + category: "RELIC", + id: "21djj", + dlc: "BASE", + description: [`Every 5 cards you add to your Deck, heal 20 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/book_of_five_rings.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + + modifiers: [ + { + modifier: { + heal: 15, + }, + trigger: "cards added to deck", + }, + ], + }, + { + name: "Bronze Scales", + category: "RELIC", + id: "h5nhy", + dlc: "BASE", + description: [`Start each combat with 3 Thorns.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bronze_scales.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + + modifiers: [ + { + modifier: { + thorns: 3, + }, + trigger: "combat start", + }, + ], + }, + { + name: "Centennial Puzzle", + category: "RELIC", + id: "94m84", + dlc: "BASE", + description: [`The first time you lose HP each combat, draw 3 cards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/centennial_puzzle.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: [ + { + modifier: { + draw: 3, + }, + trigger: "first time lose HP", + }, + ], + }, + { + name: "Festive Popper", + category: "RELIC", + id: "munb5", + dlc: "BASE", + description: [`At the start of each combat, deal 9 damage to ALL enemies.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/festive_popper.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: [ + { + modifier: { + damage: 9, + }, + trigger: "combat start", + }, + ], + }, + { + name: "Gorget", + category: "RELIC", + id: "y9m5p", + dlc: "BASE", + description: [`At the start of each combat, gain 4 Plating.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/gorget.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: [{ modifier: { plating: 4 }, trigger: "combat start" }], + }, + { + name: "Happy Flower", + category: "RELIC", + id: "8n79j", + dlc: "BASE", + description: [`Every 3 turns, gain 1 Energy.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/happy_flower.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: [{ modifier: { energy: 1 }, trigger: "each turn" }], + }, + { + name: "Juzu Bracelet", + category: "RELIC", + id: "9ds7o", + dlc: "BASE", + description: [ + `Regular enemy combats are no longer encountered in ? rooms.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/juzu_bracelet.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: undefined, + }, + { + name: "Lantern", + category: "RELIC", + id: "yq4ei", + dlc: "BASE", + description: [`Start each combat with an additional 1 Energy.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lantern.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: [ + { + modifier: { + energy: 1, + }, + trigger: "combat start", + }, + ], + }, + { + name: "Meal Ticket", + category: "RELIC", + id: "y9jjj", + dlc: "BASE", + description: [`Whenever you enter a shop room, heal 15 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/meal_ticket.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + + modifiers: [ + { + modifier: { + heal: 15, + }, + trigger: "enter shop", + }, + ], + }, + { + name: "Pendulum", + category: "RELIC", + id: "67fkz", + dlc: "BASE", + description: [`Every 3 turns, draw 1 card.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/pendulum.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: [ + { + modifier: { + draw: 1, + }, + trigger: "shuffle draw pile", + }, + ], + }, + { + name: "Permafrost", + category: "RELIC", + id: "g9fc0", + dlc: "BASE", + description: [ + `The first time you play a Powers each combat, gain 7 Block.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/permafrost.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: [ + { + modifier: { + block: 6, + }, + trigger: "first time play Power", + }, + ], + }, + { + name: "Bone Flute", + category: "RELIC", + id: "hx081", + dlc: "BASE", + description: [`Whenever Osty attacks, gain 2 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bone_flute.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + linkedItems: { character: { name: "NECROBINDER" } }, + modifiers: undefined, + }, + { + name: "Data Disk", + category: "RELIC", + id: "jixvk", + dlc: "BASE", + description: [`Start each combat with 1 Focus.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/data_disk.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + linkedItems: { character: { name: "DEFECT" } }, + modifiers: undefined, + }, + { + name: "Fencing Manual", + category: "RELIC", + id: "z7mz8", + dlc: "BASE", + description: [`At the start of each combat, Forge 10.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fencing_manual.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + linkedItems: { character: { name: "REGENT" } }, + modifiers: undefined, + }, + { + name: "Oddly Smooth Stone", + category: "RELIC", + id: "ymdxy", + dlc: "BASE", + description: [`Start each combat with 1 Dexterity.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/oddly_smooth_stone.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + + modifiers: undefined, + }, + { + name: "Potion Belt", + category: "RELIC", + id: "cjqqq", + dlc: "BASE", + description: [`Upon pickup, gain 2 Potion slots.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/potion_belt.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: undefined, + }, + { + name: "Red Skull", + category: "RELIC", + id: "rvkzh", + dlc: "BASE", + description: [ + `While your HP is at or below 50%, you have 3 additional Strength.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/red_skull.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + linkedItems: { character: { name: "IRONCLAD" } }, + modifiers: undefined, + }, + { + name: "Regal Pillow", + category: "RELIC", + id: "hup7t", + dlc: "BASE", + description: [`Whenever you Rest, heal an additional 15 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/regal_pillow.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: undefined, + }, + { + name: "Snecko Skull", + category: "RELIC", + id: "a81gw", + dlc: "BASE", + description: [`Whenever you apply Poison, apply an additional 1 Poison.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/snecko_skull.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + linkedItems: { character: { name: "SILENT" } }, + modifiers: undefined, + }, + { + name: "Strawberry", + category: "RELIC", + id: "owcte", + dlc: "BASE", + description: [`Upon pickup, raise your Max HP by 7.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/strawberry.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: undefined, + }, + { + name: "Strike Dummy", + category: "RELIC", + id: "zx2rz", + dlc: "BASE", + description: [`Cards containing “Strike” deal 3 additional damage.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/strike_dummy.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: undefined, + }, + { + name: "Tiny Mailbox", + category: "RELIC", + id: "bvizu", + dlc: "BASE", + description: [`Whenever you Rest, procure 2 random Potions.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/tiny_mailbox.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: undefined, + }, + { + name: "Vajra", + category: "RELIC", + id: "jq26e", + dlc: "BASE", + description: [`Start each combat with 1 Strength.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/vajra.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: undefined, + }, + { + name: "Venerable Tea Set", + category: "RELIC", + id: "5thds", + dlc: "BASE", + description: [ + `Whenever you enter a Rest Site, start the next combat with an additional 2 Energy.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/venerable_tea_set.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: undefined, + }, + { + name: "War Paint", + category: "RELIC", + id: "fsica", + dlc: "BASE", + description: [`Upon pickup, Upgrade 2 random Skills.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/war_paint.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: undefined, + }, + { + name: "Whetstone", + category: "RELIC", + id: "lmvgp", + dlc: "BASE", + description: [`Upon pickup, Upgrade 2 random Attacks.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/whetstone.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "COMMON", + modifiers: undefined, + }, + { + name: "Akabeko", + category: "RELIC", + id: "scze5", + dlc: "BASE", + description: [`At the start of each combat, gain 8 Vigor.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/akabeko.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Bag of Marbles", + category: "RELIC", + id: "ncyuj", + dlc: "BASE", + description: [ + `At the start of each combat, apply 1 Vulnerable to ALL enemies.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bag_of_marbles.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Bellows", + category: "RELIC", + id: "hn844", + dlc: "BASE", + description: [`The first Hand you draw each combat is Upgraded.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bellows.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + { + name: "Book Repair Knife", + category: "RELIC", + id: "y4d8m", + dlc: "BASE", + description: [`Whenever a non-Minion enemy dies to Doom, heal 3 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/book_repair_knife.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + linkedItems: { character: { name: "NECROBINDER" } }, + modifiers: undefined, + }, + { + name: "Bowler Hat", + category: "RELIC", + id: "i7oyx", + dlc: "BASE", + description: [`Gain 25% additional Gold.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bowler_hat.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Candelabra", + category: "RELIC", + id: "893gh", + dlc: "BASE", + description: [`At the start of your 2nd turn, gain 2 Energy.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/candelabra.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Eternal Feather", + category: "RELIC", + id: "o9l0z", + dlc: "BASE", + description: [ + `For every 5 cards in your Deck, heal 3 HP whenever you enter a Rest Site.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/eternal_feather.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Funerary Mask", + category: "RELIC", + id: "gu16w", + dlc: "BASE", + description: [ + `At the start of each combat, add 3 Souls into your Draw Pile.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/funerary_mask.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + linkedItems: { character: { name: "NECROBINDER" } }, + modifiers: undefined, + }, + { + name: "Galactic Dust", + category: "RELIC", + id: "ytz9d", + dlc: "BASE", + description: [`For every 10 Stars spent, gain 10 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/galactic_dust.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + linkedItems: { character: { name: "REGENT" } }, + modifiers: undefined, + }, + { + name: "Gold-Plated Cables", + category: "RELIC", + id: "urxnb", + dlc: "BASE", + description: [ + `Your rightmost Orb triggers its passive an additional time.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/gold_plated_cables.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + linkedItems: { character: { name: "DEFECT" } }, + modifiers: undefined, + }, + { + name: "Gremlin Horn", + category: "RELIC", + id: "fgv64", + dlc: "BASE", + description: [`Whenever an enemy dies, gain 1 Energy and draw 1 card.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/gremlin_horn.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Horn Cleat", + category: "RELIC", + id: "w53x5", + dlc: "BASE", + description: [`At the start of your 2nd turn, gain 14 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/horn_cleat.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Joss Paper", + category: "RELIC", + id: "ym2mj", + dlc: "BASE", + description: [`Every 5 times you Exhaust a card, draw 1 card.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/joss_paper.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Kusarigama", + category: "RELIC", + id: "cj8xs", + dlc: "BASE", + description: [ + `Every time you play 3 Attacks in a single turn, deal 6 damage to a random enemy.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/kusarigama.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Letter Opener", + category: "RELIC", + id: "mkrrv", + dlc: "BASE", + description: [ + `Every time you play 3 Skills in a single turn, deal 5 damage to ALL enemies.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/letter_opener.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Lucky Fysh", + category: "RELIC", + id: "bcluv", + dlc: "BASE", + description: [`Whenever you add a card to your Deck, gain 15 Gold.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lucky_fysh.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Mercury Hourglass", + category: "RELIC", + id: "yge5l", + dlc: "BASE", + description: [`At the start of your turn, deal 3 damage to ALL enemies.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/mercury_hourglass.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Miniature Cannon", + category: "RELIC", + id: "0oqir", + dlc: "BASE", + description: [`Upgraded Attacks deal 3 additional damage.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/miniature_cannon.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + + { + name: "Nunchaku", + category: "RELIC", + id: "plk00", + dlc: "BASE", + description: [`Every time you play 10 Attacks, gain 1 Energy.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/nunchaku.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Orichalcum", + category: "RELIC", + id: "fxslq", + dlc: "BASE", + description: [`If you end your turn without Block, gain 6 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/orichalcum.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Ornamental Fan", + category: "RELIC", + id: "4tezh", + dlc: "BASE", + description: [ + `Every time you play 3 Attacks in a single turn, gain 4 Block.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ornamental_fan.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Pantograph", + category: "RELIC", + id: "qiesy", + dlc: "BASE", + description: [`At the start of each Boss combat, heal 25 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/pantograph.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Paper Phrog", + category: "RELIC", + id: "w8s98", + dlc: "BASE", + description: [ + `Enemies with Vulnerable take 75% more damage rather than 50%.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paper_phrog.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + linkedItems: { character: { name: "IRONCLAD" } }, + modifiers: undefined, + }, + + { + name: "Parrying Shield", + category: "RELIC", + id: "5vwg1", + dlc: "BASE", + description: [ + `If you end a turn with at least 10 Block, deal 6 damage to a random enemy.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/parrying_shield.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Pear", + category: "RELIC", + id: "78lzd", + dlc: "BASE", + description: [`Upon pickup, raise your Max HP by 10.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/pear.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Pen Nib", + category: "RELIC", + id: "g1u6z", + dlc: "BASE", + description: [`Every 10th Attack you play deals double damage.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/pen_nib.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Petrified Toad", + category: "RELIC", + id: "j2k3x", + dlc: "BASE", + description: [`At the start of each combat, procure a Potion-Shaped Rock.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/petrified_toad.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Planisphere", + category: "RELIC", + id: "tq082", + dlc: "BASE", + description: [`Whenever you enter a ? room, heal 5 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/planisphere.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Red Mask", + category: "RELIC", + id: "wvt2u", + dlc: "BASE", + description: [`At the start of each combat, apply 1 Weak to ALL enemies.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/red_mask.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Regalite", + category: "RELIC", + id: "esjr2", + dlc: "BASE", + description: [`Whenever you create a card, gain 2 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/regalite.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + linkedItems: { character: { name: "REGENT" } }, + modifiers: undefined, + }, + { + name: "Reptile Trinket", + category: "RELIC", + id: "fitll", + dlc: "BASE", + description: [`Whenever you use a Potion, gain 3 Strength this turn.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/reptile_trinket.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Ripple Basin", + category: "RELIC", + id: "teqkh", + dlc: "BASE", + description: [ + `If you did not play any Attacks during your turn, gain 4 Block.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ripple_basin.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Self-Forming Clay", + category: "RELIC", + id: "to2tx", + dlc: "BASE", + description: [`Whenever you lose HP in combat, gain 3 Block next turn.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/self_forming_clay.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + linkedItems: { character: { name: "IRONCLAD" } }, + modifiers: undefined, + }, + + { + name: "Sparkling Rouge", + category: "RELIC", + id: "vws63", + dlc: "BASE", + description: [ + `At the start of your 3rd turn, gain 1 Strength and 1 Dexterity.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/sparkling_rouge.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + { + name: "Stone Cracker", + category: "RELIC", + id: "7q0tw", + dlc: "BASE", + description: [ + `At the start of combat, Upgrade 2 random cards in your Draw Pile for the rest of combat.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/stone_cracker.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + modifiers: undefined, + }, + + { + name: "Symbiotic Virus", + category: "RELIC", + id: "cz48p", + dlc: "BASE", + description: [`At the start of each combat, Channel 1 Dark.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/symbiotic_virus.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + linkedItems: { character: { name: "DEFECT" } }, + modifiers: undefined, + }, + + { + name: "Tingsha", + category: "RELIC", + id: "s6m5q", + dlc: "BASE", + description: [ + `Whenever you discard a card during your turn, deal 3 damage to a random enemy for each card discarded.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/tingsha.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + linkedItems: { character: { name: "SILENT" } }, + modifiers: undefined, + }, + + { + name: "Tuning Fork", + category: "RELIC", + id: "q1hax", + dlc: "BASE", + description: [`Every time you play 10 Skills, gain 7 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/tuning_fork.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Twisted Funnel", + category: "RELIC", + id: "86gcz", + dlc: "BASE", + description: [ + `At the start of each combat, apply 4 Poison to ALL enemies.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/twisted_funnel.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + linkedItems: { character: { name: "SILENT" } }, + modifiers: undefined, + }, + + { + name: "Vambrace", + category: "RELIC", + id: "1rtui", + dlc: "BASE", + description: [ + `The first time you gain Block from a card each combat, double the amount gained.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/vambrace.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "UNCOMMON", + + modifiers: undefined, + }, + + { + name: "Art of War", + category: "RELIC", + id: "qkz6i", + dlc: "BASE", + description: [ + `If you do not play any Attacks during your turn, gain an additional 1 Energy next turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/art_of_war.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Beating Remnant", + category: "RELIC", + id: "0rxnt", + dlc: "BASE", + description: [`You cannot lose more than 20 HP in a single turn.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/beating_remnant.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Big Hat", + category: "RELIC", + id: "4njor", + dlc: "BASE", + description: [ + `At the start of each combat, add 2 random Ethereal cards into your Hand.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/big_hat.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "NECROBINDER" } }, + modifiers: undefined, + }, + + { + name: "Bookmark", + category: "RELIC", + id: "7d2x1", + dlc: "BASE", + description: [ + `At the end of each turn, lower the cost of a random Retained card by 1 until played.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bookmark.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "NECROBINDER" } }, + modifiers: undefined, + }, + + { + name: "Captain's Wheel", + category: "RELIC", + id: "x2318", + dlc: "BASE", + description: [`At the start of your 3rd turn, gain 18 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/captains_wheel.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Chandelier", + category: "RELIC", + id: "q3cyu", + dlc: "BASE", + description: [`At the start of your 3rd turn, gain 3 Energy.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/chandelier.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Charon's Ashes", + category: "RELIC", + id: "s8so0", + dlc: "BASE", + description: [`Whenever you Exhaust a card, deal 3 damage to ALL enemies.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/charons_ashes.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "IRONCLAD" } }, + modifiers: undefined, + }, + + { + name: "Cloak Clasp", + category: "RELIC", + id: "gt0n7", + dlc: "BASE", + description: [ + `At the end of your turn, gain 1 Block for each card in your Hand.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/cloak_clasp.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Demon Tongue", + category: "RELIC", + id: "9ptt4", + dlc: "BASE", + description: [ + `The first time you lose HP on your turn, heal HP equal to the amount lost.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/demon_tongue.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "IRONCLAD" } }, + modifiers: undefined, + }, + + { + name: "Emotion Chip", + category: "RELIC", + id: "2b13l", + dlc: "BASE", + description: [ + `If you lost HP during the previous turn, trigger the passive ability of all Orbs at the start of your turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/emotion_chip.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "DEFECT" } }, + modifiers: undefined, + }, + + { + name: "Frozen Egg", + category: "RELIC", + id: "n6c05", + dlc: "BASE", + description: [`Whenever you add a Powers into your Deck, Upgrade it.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/frozen_egg.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Gambling Chip", + category: "RELIC", + id: "stwd7", + dlc: "BASE", + description: [ + `At the start of each combat, discard any number of cards then draw that many.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/gambling_chip.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Game Piece", + category: "RELIC", + id: "zw768", + dlc: "BASE", + description: [`Whenever you play a Power, draw 1 card.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/game_piece.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Girya", + category: "RELIC", + id: "aojjw", + dlc: "BASE", + description: [`You can now gain Strength at Rest Sites. (3 times max)`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/girya.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Helical Dart", + category: "RELIC", + id: "7d51a", + dlc: "BASE", + description: [`Whenever you play a Shiv, gain 1 Dexterity this turn.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/helical_dart.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "SILENT" } }, + modifiers: undefined, + }, + + { + name: "Ice Cream", + category: "RELIC", + id: "i1pst", + dlc: "BASE", + description: [`Energy is now conserved between turns.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ice_cream.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Intimidating Helmet", + category: "RELIC", + id: "hg5ci", + dlc: "BASE", + description: [ + `Whenever you play a card that costs 2 Energy or more, gain 4 Block.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/intimidating_helmet.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Ivory Tile", + category: "RELIC", + id: "m8uv7", + dlc: "BASE", + description: [ + `Whenever you play a card that costs @NE@NE@NE or more, gain @NE.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ivory_tile.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "NECROBINDER" } }, + modifiers: undefined, + }, + + { + name: "Kunai", + category: "RELIC", + id: "texo6", + dlc: "BASE", + description: [ + `Every time you play 3 Attacks in a single turn, gain 1 Dexterity.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/kunai.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Lasting Candy", + category: "RELIC", + id: "xguh9", + dlc: "BASE", + description: [ + `Every other combat, your card rewards gain an additional Power.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lasting_candy.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Lizard Tail", + category: "RELIC", + id: "c295t", + dlc: "BASE", + description: [ + `When your HP would be reduced to 0, heal to 50% of your Max HP instead (works once).`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lizard_tail.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Lunar Pastry", + category: "RELIC", + id: "41scw", + dlc: "BASE", + description: [`At the end of your turn, gain 1 Star.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lunar_pastry.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "REGENT" } }, + modifiers: undefined, + }, + + { + name: "Mango", + category: "RELIC", + id: "65hci", + dlc: "BASE", + description: [`Upon pickup, raise your Max HP by 14.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/mango.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Meat on the Bone", + category: "RELIC", + id: "i0v7f", + dlc: "BASE", + description: [ + `If your HP is at or below 50% at the end of combat, heal 12 HP.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/meat_on_the_bone.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + + modifiers: undefined, + }, + + { + name: "Metronome", + category: "RELIC", + id: "hwk3f", + dlc: "BASE", + description: [ + `The first time you Channel 7 Orbs each combat, deal 30 damage to ALL enemies.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/metronome.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "DEFECT" } }, + modifiers: undefined, + }, + + { + name: "Mini Regent", + category: "RELIC", + id: "cwcsw", + dlc: "BASE", + description: [ + `The first time you spend 1 Star each turn, gain 1 Strength.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/mini_regent.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "REGENT" } }, + modifiers: undefined, + }, + { + name: "Molten Egg", + category: "RELIC", + id: "w4faf", + dlc: "BASE", + description: [`Whenever you add an Attack card to your Deck, Upgrade it.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/molten_egg.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Mummified Hand", + category: "RELIC", + id: "wwquz", + dlc: "BASE", + description: [ + `Whenever you play a Power, a random card in your Hand is free to play that turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/mummified_hand.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Old Coin", + category: "RELIC", + id: "5sveb", + dlc: "BASE", + description: [`Upon pickup, gain 300 Gold.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/old_coin.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Orange Dough", + category: "RELIC", + id: "z6m2k", + dlc: "BASE", + description: [ + `At the start of each combat, add 2 random Colorless cards into your Hand.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/orange_dough.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "REGENT" } }, + modifiers: undefined, + }, + { + name: "Paper Krane", + category: "RELIC", + id: "5f9ul", + dlc: "BASE", + description: [ + `Enemies with Weak deal 40% less damage to you rather than 25%.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paper_krane.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "SILENT" } }, + modifiers: undefined, + }, + { + name: "Pocketwatch", + category: "RELIC", + id: "7f9m7", + dlc: "BASE", + description: [ + `Whenever you play 3 or fewer cards during your turn, draw 3 additional cards at the start of your next turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/pocketwatch.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Power Cell", + category: "RELIC", + id: "ejpc7", + dlc: "BASE", + description: [ + `At the start of each combat, add 2 zero-cost cards from your Draw Pile into your Hand.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/power_cell.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "DEFECT" } }, + modifiers: undefined, + }, + { + name: "Prayer Wheel", + category: "RELIC", + id: "fsogu", + dlc: "BASE", + description: [`Normal enemies drop an additional card reward.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/prayer_wheel.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Rainbow Ring", + category: "RELIC", + id: "xnv4u", + dlc: "BASE", + description: [ + `The first time you play an Attack, Skill, and Powers each turn, gain 1 Strength and 1 Dexterity.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/rainbow_ring.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Razor Tooth", + category: "RELIC", + id: "pc6ok", + dlc: "BASE", + description: [ + `Every time you play an Attack or Skill, Upgrade it for the remainder of combat.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/razor_tooth.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Ruined Helmet", + category: "RELIC", + id: "w93fg", + dlc: "BASE", + description: [ + `The first time you gain Strength each combat, double the amount gained.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ruined_helmet.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "IRONCLAD" } }, + modifiers: undefined, + }, + { + name: "Shovel", + category: "RELIC", + id: "9w70f", + dlc: "BASE", + description: [`You can now dig at Rest Sites to obtain a random Relic.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/shovel.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Shuriken", + category: "RELIC", + id: "k4zyy", + dlc: "BASE", + description: [ + `Every time you play 3 Attacks in a single turn, gain 1 Strength.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/shuriken.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Stone Calendar", + category: "RELIC", + id: "qg45r", + dlc: "BASE", + description: [`At the end of turn 7, deal 52 damage to ALL enemies.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/stone_calendar.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Sturdy Clamp", + category: "RELIC", + id: "atgfy", + dlc: "BASE", + description: [`Up to 10 Block persists across turns.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/sturdy_clamp.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "The Courier", + category: "RELIC", + id: "xkw4b", + dlc: "BASE", + description: [ + `The merchant no longer runs out of cards, relics, or Potions and his prices are reduced by 20%.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/the_courier.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Tough Bandages", + category: "RELIC", + id: "3x32u", + dlc: "BASE", + description: [ + `Whenever you discard a card during your turn, gain 3 Block.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/tough_bandages.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + linkedItems: { character: { name: "SILENT" } }, + modifiers: undefined, + }, + { + name: "Toxic Egg", + category: "RELIC", + id: "lihqr", + dlc: "BASE", + description: [`Whenever you add a Skill into your Deck, Upgrade it.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/toxic_egg.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Tungsten Rod", + category: "RELIC", + id: "ke3fu", + dlc: "BASE", + description: [`Whenever you would lose HP, lose 1 less.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/tungsten_rod.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Unceasing Top", + category: "RELIC", + id: "hlt5m", + dlc: "BASE", + description: [ + `Whenever you have no cards in Hand during your turn, draw a card.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/unceasing_top.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Unsettling Lamp", + category: "RELIC", + id: "4bxnt", + dlc: "BASE", + description: [ + `Each combat, the first time you play a card that Debuffs an enemy, double its effect.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/unsettling_lamp.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Vexing Puzzlebox", + category: "RELIC", + id: "iqu2h", + dlc: "BASE", + description: [ + `At the start of each combat, add a random card into your Hand. It's free to play this turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/vexing_puzzlebox.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "White Beast Statue", + category: "RELIC", + id: "vn9ct", + dlc: "BASE", + description: [`Potions always appear in combat rewards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/white_beast_statue.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "White Star", + category: "RELIC", + id: "edthh", + dlc: "BASE", + description: [`Elites drop an additional Rare card reward.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/white_star.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "RARE", + modifiers: undefined, + }, + { + name: "Astrolabe", + category: "RELIC", + id: "nws4u", + dlc: "BASE", + description: [`Upon pickup, Transform 3 cards, then Upgrade them.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/astrolabe.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Black Star", + category: "RELIC", + id: "umhmj", + dlc: "BASE", + description: [`Elites drop an additional Relic when defeated.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/black_star.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Calling Bell", + category: "RELIC", + id: "5de6a", + dlc: "BASE", + description: [`Upon pickup, obtain a unique Curse and 3 Relics.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/calling_bell.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Dusty Tome", + category: "RELIC", + id: "tvasf", + dlc: "BASE", + description: [`Upon pickup, obtain an Ancient Card.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/dusty_tome.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Ectoplasm", + category: "RELIC", + id: "7k503", + dlc: "BASE", + description: [ + `You can no longer gain Gold. Gain 1 Energy at the start of each turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ectoplasm.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Empty Cage", + category: "RELIC", + id: "r0rqq", + dlc: "BASE", + description: [`Upon pickup, remove 2 cards from your Deck.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/empty_cage.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Pandora's Box", + category: "RELIC", + id: "emwi2", + dlc: "BASE", + description: [`Transform ALL Strikes and Defends.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/pandoras_box.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Philosopher's Stone", + category: "RELIC", + id: "cezb8", + dlc: "BASE", + description: [ + `Gain 1 Energy at the start of each turn. ALL enemies start combat with 1 Strength.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/philosophers_stone.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Runic Pyramid", + category: "RELIC", + id: "8lx0w", + dlc: "BASE", + description: [`At the end of your turn, you no longer discard your Hand.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/runic_pyramid.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Snecko Eye", + category: "RELIC", + id: "6ngrz", + dlc: "BASE", + description: [ + `At the start of your turn, draw 2 additional cards. Start each combat Confused.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/snecko_eye.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Sozu", + category: "RELIC", + id: "ly79l", + dlc: "BASE", + description: [ + `Gain 1 Energy at the start of each turn. You can no longer obtain Potions.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/sozu.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Velvet Choker", + category: "RELIC", + id: "g4ebs", + dlc: "BASE", + description: [ + `Gain 1 Energy at the start of each turn. You cannot play more than 6 cards per turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/velvet_choker.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "DARV" }, + }, + }, + { + name: "Arcane Scroll", + category: "RELIC", + id: "1bgf4", + dlc: "BASE", + description: [ + `Upon pickup, obtain a random Rare Card to add to your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/arcane_scroll.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Booming Conch", + category: "RELIC", + id: "y6o78", + dlc: "BASE", + description: [`At the start of Elite combats, draw 2 additional cards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/booming_conch.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Cursed Pearl", + category: "RELIC", + id: "kwci1", + dlc: "BASE", + description: [`Upon pickup, receive Greed. Gain 333 Gold.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/cursed_pearl.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Golden Pearl", + category: "RELIC", + id: "jb5wa", + dlc: "BASE", + description: [`Upon pickup, gain 150 Gold.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/golden_pearl.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Hefty Tablet", + category: "RELIC", + id: "Sld3V", + dlc: "BASE", + description: [ + `Choose 1 of 3 Rare cards to add to your Deck. Add 1 Injury to your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/hefty_tablet.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Large Capsule", + category: "RELIC", + id: "nd04j", + dlc: "BASE", + description: [ + `Upon pickup, obtain 2 random Relics. Add an additional Strike and Defend to your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/large_capsule.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Lava Rock", + category: "RELIC", + id: "fzs2r", + dlc: "BASE", + description: [`The Act 1 Boss drops 2 Relics.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lava_rock.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + + { + name: "Lead Paperweight", + category: "RELIC", + id: "gwpq0", + dlc: "BASE", + description: [ + `Upon pickup, choose 1 of 2 Colorless cards to add to your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lead_paperweight.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Leafy Poultice", + category: "RELIC", + id: "8f0p7", + dlc: "BASE", + description: [ + `Upon pickup, Transform 1 of your Strikes and 1 of your Defends and lose 12 Max HP.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/leafy_poultice.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Lost Coffer", + category: "RELIC", + id: "7qky0", + dlc: "BASE", + description: [ + `Upon pickup, gain 1 card reward and procure 1 random Potion.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lost_coffer.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Massive Scroll", + category: "RELIC", + id: "fykpz", + dlc: "BASE", + description: [ + `Upon pickup, choose 1 of 3 Multiplayer Cards to add to your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/massive_scroll.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: `Neow's Bones`, + category: "RELIC", + id: "1crEz", + dlc: "BASE", + description: [ + `Upon pickup, gain 2 random Neow Relics. Add 1 random Curse to your Deck.`, + ], + flavorText: `Details for this relic will be revealed in the future...`, + isUpgrade: false, + imageUrl: "relics/neows_bones.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: `Neow's Talisman`, + category: "RELIC", + id: "iHY7I", + dlc: "BASE", + description: [ + `Upon pickup, Upgrade 1 of your Strikes and 1 of your Defends.`, + ], + flavorText: `Details for this relic will be revealed in the future...`, + isUpgrade: false, + imageUrl: "relics/neows_talisman.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Neow's Torment", + category: "RELIC", + id: "glc7b", + dlc: "BASE", + description: [`Upon pickup, add 1 Neow's Fury to your Deck.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/neows_torment.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "New Leaf", + category: "RELIC", + id: "r4nn4", + dlc: "BASE", + description: [`Upon pickup, Transform 1 card.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/new_leaf.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + + { + name: "Nutritious Oyster", + category: "RELIC", + id: "c6f3g", + dlc: "BASE", + description: [`Upon pickup, raise your Max HP by 11.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/nutritious_oyster.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Phial Holster", + category: "RELIC", + id: "sqCY8", + dlc: "BASE", + description: [ + `Upon pickup, gain 1 potion slot and procure 2 random Potions.`, + ], + flavorText: `Details for this relic will be revealed in the future...`, + isUpgrade: false, + imageUrl: `relics/phial_holster.png`, + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Pomander", + category: "RELIC", + id: "nkv1v", + dlc: "BASE", + description: [`Upon pickup, Upgrade a card.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/pomander.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Precarious Shears", + category: "RELIC", + id: "5res1", + dlc: "BASE", + description: [ + `Upon pickup, remove 2 cards from your Deck and take 16 damage.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/precarious_shears.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Precise Scissors", + category: "RELIC", + id: "8vu9w", + dlc: "BASE", + description: [`Upon pickup, remove 1 card from your Deck.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/precise_scissors.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Scroll Boxes", + category: "RELIC", + id: "1p4u4", + dlc: "BASE", + description: [ + `Upon pickup, lose all Gold and choose 1 of 2 packs of cards to add to your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/scroll_boxes.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Silver Crucible", + category: "RELIC", + id: "n33ss", + dlc: "BASE", + description: [ + `The first 3 card rewards you see are Upgraded. The first Treasure Chest you open is empty.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/silver_crucible.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Small Capsule", + category: "RELIC", + id: "axay8", + dlc: "BASE", + description: [`Upon pickup, obtain a random Relic.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/small_capsule.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Stone Humidifier", + category: "RELIC", + id: "b7n6u", + dlc: "BASE", + description: [`Whenever you Rest at a Rest Site, raise your Max HP by 5.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/stone_humidifier.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + { + name: "Winged Boots", + category: "RELIC", + id: "0tkXK", + dlc: "BASE", + description: [ + `You may ignore paths when choosing the next rooms to travel to 3 times.`, + ], + flavorText: `Details for this relic will be revealed in the future...`, + isUpgrade: false, + imageUrl: "relics/winged_boots.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + rarity: "ANCIENT", + modifiers: undefined, + location: undefined, + linkedItems: { + ancient: { name: "NEOW" }, + }, + }, + + { + name: "Beautiful Bracelet", + category: "RELIC", + id: "2r6rb", + dlc: "BASE", + description: [ + `Upon pickup, choose 3 cards in your Deck. Enchant them with Swift 3.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/beautiful_bracelet.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NONUPEIPE" }, + }, + }, + { + name: "Blessed Antler", + category: "RELIC", + id: "y71is", + dlc: "BASE", + description: [ + `Gain 1 Energy at the start of each turn. At the start of each combat, shuffle 3 Dazed into your Draw Pile.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/blessed_antler.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NONUPEIPE" }, + }, + }, + { + name: "Brilliant Scarf", + category: "RELIC", + id: "zgbue", + dlc: "BASE", + description: [`The 5th card you play each turn is free.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/brilliant_scarf.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NONUPEIPE" }, + }, + }, + { + name: "Delicate Frond", + category: "RELIC", + id: "9bnwn", + dlc: "BASE", + description: [ + `At the start of each combat, fill all empty Potions slots with random Potions.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/delicate_frond.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NONUPEIPE" }, + }, + }, + { + name: "Diamond Diadem", + category: "RELIC", + id: "ndfru", + dlc: "BASE", + description: [ + `Whenever you play 2 or fewer cards in a turn, take half damage from enemies.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/diamond_diadem.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NONUPEIPE" }, + }, + }, + { + name: "Fur Coat", + category: "RELIC", + id: "xz42a", + dlc: "BASE", + description: [ + `Upon pickup, mark 7 random combats. Enemies in those rooms have 1 HP.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fur_coat.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NONUPEIPE" }, + }, + }, + { + name: "Glitter", + category: "RELIC", + id: "ww7d4", + dlc: "BASE", + description: [`Enchant all card rewards with Glam.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/glitter.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NONUPEIPE" }, + }, + }, + { + name: "Jewelry Box", + category: "RELIC", + id: "0s2p1", + dlc: "BASE", + description: [`Upon pickup, add 1 Apotheosis to your Deck.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/jewelry_box.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NONUPEIPE" }, + }, + }, + + { + name: "Looming Fruit", + category: "RELIC", + id: "0c5a8", + dlc: "BASE", + description: [`Upon pickup, raise your Max HP by 31.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/looming_fruit.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NONUPEIPE" }, + }, + }, + { + name: "Signet Ring", + category: "RELIC", + id: "b1mfm", + dlc: "BASE", + description: [`Upon pickup, gain 999 Gold.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/signet_ring.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "NONUPEIPE" }, + }, + }, + + { + name: "Alchemical Coffer", + category: "RELIC", + id: "4m52g", + dlc: "BASE", + description: [ + `Upon pickup, gain 4 Potion slots filled with random Potions.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/alchemical_coffer.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "OROBAS" }, + }, + }, + + { + name: "Archaic Tooth", + category: "RELIC", + id: "ya6np", + dlc: "BASE", + description: [ + `Upon pickup, Transform a starter card into an ancient version.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/archaic_tooth.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "OROBAS" }, + }, + }, + { + name: "Driftwood", + category: "RELIC", + id: "29k6v", + dlc: "BASE", + description: [`You may reroll each card reward once.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/driftwood.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "OROBAS" }, + }, + }, + { + name: "Electric Shrymp", + category: "RELIC", + id: "vehin", + dlc: "BASE", + description: [`Upon pickup, Enchant a Skill with Imbued.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/electric_shrymp.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "OROBAS" }, + }, + }, + { + name: "Glass Eye", + category: "RELIC", + id: "p3bnt", + dlc: "BASE", + description: [ + `Upon pickup, obtain 2 Common cards, 2 Uncommon cards, and 1 Rare card.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/glass_eye.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "OROBAS" }, + }, + }, + { + name: "Prismatic Gem", + category: "RELIC", + id: "4m7xj", + dlc: "BASE", + description: [ + `Gain 1 Energy at the start of each turn. Card rewards now contain cards from other colors.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/prismatic_gem.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "OROBAS" }, + }, + }, + { + name: "Radiant Pearl", + category: "RELIC", + id: "1zor4", + dlc: "BASE", + description: [ + `At the start of each combat, add 1 Luminesce into your Hand.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/radiant_pearl.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "OROBAS" }, + }, + }, + { + name: "Sand Castle", + category: "RELIC", + id: "9v7kg", + dlc: "BASE", + description: [`Upon pickup, Upgrade 6 random cards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/sand_castle.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "OROBAS" }, + }, + }, + { + name: "Sea Glass", + category: "RELIC", + id: "nkqrf", + dlc: "BASE", + description: [ + `See 15 cards from another character. Choose any number of them to add to your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/sea_glass.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "OROBAS" }, + }, + }, + + { + name: "Touch of Orobas", + category: "RELIC", + id: "v6baj", + dlc: "BASE", + description: [ + `Upon pickup, replace your starter Relic with an Ancient version.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/touch_of_orobas.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "OROBAS" }, + }, + }, + + { + name: "Pael's Blood", + category: "RELIC", + id: "1zbe3", + dlc: "BASE", + description: [`At the start of your turn, draw 1 additional card.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paels_blood.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "PAEL" }, + }, + }, + + { + name: "Pael's Claw", + category: "RELIC", + id: "2dueo", + dlc: "BASE", + description: [`Upon pickup, Enchant all Defends with Goopy.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paels_claw.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "PAEL" }, + }, + }, + + { + name: "Pael's Eye", + category: "RELIC", + id: "jn661", + dlc: "BASE", + description: [ + `The first time each combat you end your turn without playing cards, Exhaust your Hand, and take an extra turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paels_eye.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "PAEL" }, + }, + }, + + { + name: "Pael's Flesh", + category: "RELIC", + id: "ik54z", + dlc: "BASE", + description: [ + `Gain an additional 1 Energy at the start of your 3rd turn, and every turn after that.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paels_flesh.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "PAEL" }, + }, + }, + + { + name: "Pael's Growth", + category: "RELIC", + id: "4yekb", + dlc: "BASE", + description: [`Upon pickup, Enchant a card with Clone.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paels_growth.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "PAEL" }, + }, + }, + + { + name: "Pael's Horn", + category: "RELIC", + id: "njdsf", + dlc: "BASE", + description: [`Upon pickup, add 2 Relax to your Deck.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paels_horn.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "PAEL" }, + }, + }, + + { + name: "Pael's Legion", + category: "RELIC", + id: "zws46", + dlc: "BASE", + description: [ + `Doubles Block gained from a card, then goes to sleep for 2 turns.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paels_legion.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "PAEL" }, + }, + }, + + { + name: "Pael's Tears", + category: "RELIC", + id: "xehia", + dlc: "BASE", + description: [ + `If you end your turn with unspent 1 Energy, gain an additional 2 Energy next turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paels_tears.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "PAEL" }, + }, + }, + + { + name: "Pael's Tooth", + category: "RELIC", + id: "us5p0", + dlc: "BASE", + description: [ + `Upon pickup, remove 5 cards from your Deck. After each combat, randomly add 1 back Upgraded.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paels_tooth.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "PAEL" }, + }, + }, + + { + name: "Pael's Wing", + category: "RELIC", + id: "cp1aa", + dlc: "BASE", + description: [ + `You may sacrifice card rewards to Pael. Every 2 sacrifices, obtain a Relic.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/paels_wing.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "PAEL" }, + }, + }, + + { + name: "Claws", + category: "RELIC", + id: "3627n", + dlc: "BASE", + description: [`Upon pickup, Transform up to 6 cards into Maul.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/claws.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TANX" }, + }, + }, + + { + name: "Crossbow", + category: "RELIC", + id: "myxh1", + dlc: "BASE", + description: [ + `At the start of your turn, add a random Attack into your Hand. It's free to play this turn`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/crossbow.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TANX" }, + }, + }, + + { + name: "Iron Club", + category: "RELIC", + id: "4moau", + dlc: "BASE", + description: [`Every 4 cards you play, draw 1 card.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/iron_club.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TANX" }, + }, + }, + + { + name: "Meat Cleaver", + category: "RELIC", + id: "9kftj", + dlc: "BASE", + description: [`You may Cook at Rest Sites.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/meat_cleaver.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TANX" }, + }, + }, + + { + name: "Sai", + category: "RELIC", + id: "e90gr", + dlc: "BASE", + description: [`At the start of your turn, gain 7 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/sai.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + + linkedItems: { + ancient: { name: "TANX" }, + }, + }, + + { + name: "Spiked Gauntlets", + category: "RELIC", + id: "3d5fs", + dlc: "BASE", + description: [ + `Gain 1 Energy at the start of each turn. Powers cost 1 more 1 Energy.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/spiked_gauntlets.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TANX" }, + }, + }, + + { + name: "Tanx's Whistle", + category: "RELIC", + id: "9gczc", + dlc: "BASE", + description: [`Upon pickup, add 1 Whistle to your Deck.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/tanxs_whistle.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TANX" }, + }, + }, + + { + name: "Throwing Axe", + category: "RELIC", + id: "9izet", + dlc: "BASE", + description: [ + `The first card you play each combat is played an extra time.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/throwing_axe.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TANX" }, + }, + }, + + { + name: "Tri-Boomerang", + category: "RELIC", + id: "6mama", + dlc: "BASE", + description: [`Choose 3 Attacks in your Deck. Enchant them with Instinct.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/tri-boomerang.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TANX" }, + }, + }, + + { + name: "War Hammer", + category: "RELIC", + id: "mr9yb", + dlc: "BASE", + description: [`Whenever you kill an Elite, Upgrade 4 random cards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/war_hammer.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TANX" }, + }, + }, + + { + name: "Biiig Hug", + category: "RELIC", + id: "ssz2t", + dlc: "BASE", + description: [ + `Upon pickup, remove 4 cards from your Deck. Whenever you shuffle your Draw Pile, add a Soot into your Draw Pile.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/biiig_hug.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TEZCATARA" }, + }, + }, + + { + name: "Golden Compass", + category: "RELIC", + id: "27n5g", + dlc: "BASE", + description: [ + `Upon pickup, replace the Act 2 Map with a single special path.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/golden_compass.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TEZCATARA" }, + }, + }, + + { + name: "Nutritious Soup", + category: "RELIC", + id: "lsu7y", + dlc: "BASE", + description: [ + `Upon pickup, Enchant all Strikes in your Deck with Tezcatara's Ember.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/nutritious_soup.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TEZCATARA" }, + }, + }, + + { + name: "Pumpkin Candle", + category: "RELIC", + id: "5cimt", + dlc: "BASE", + description: [ + `Gain 1 Energy at the start of each turn. Extinguishes at the start of Act 3.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/pumpkin_candle.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TEZCATARA" }, + }, + }, + + { + name: "Seal of Gold", + category: "RELIC", + id: "3djgw", + dlc: "BASE", + description: [`At the start of your turn, spend 5 Gold to gain 1 Energy.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/seal_of_gold.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TEZCATARA" }, + }, + }, + + { + name: "Storybook", + category: "RELIC", + id: "6whqt", + dlc: "BASE", + description: [`Upon pickup, add 1 Brightest Flame to your Deck.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/storybook.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TEZCATARA" }, + }, + }, + + { + name: "Toasty Mittens", + category: "RELIC", + id: "yqeas", + dlc: "BASE", + description: [ + `At the start of your turn, Exhaust the top card of your Draw Pile and gain 1 Strength.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/toasty_mittens.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TEZCATARA" }, + }, + }, + + { + name: "Toy Box", + category: "RELIC", + id: "3x8ln", + dlc: "BASE", + description: [ + `Upon pickup, obtain 4 Wax Relics. Every 3 combats, your left-most Wax Relic will melt away.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/toy_box.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TEZCATARA" }, + }, + }, + + { + name: "Very Hot Cocoa", + category: "RELIC", + id: "7vnky", + dlc: "BASE", + description: [`Start each combat with an additional 4Energy.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/very_hot_cocoa.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TEZCATARA" }, + }, + }, + + { + name: "Yummy Cookie", + category: "RELIC", + id: "92et2", + dlc: "BASE", + description: [`Upon pickup, Upgrade 4 cards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/yummy_cookie_defect.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "TEZCATARA" }, + }, + }, + + { + name: "Blood-Soaked Rose", + category: "RELIC", + id: "5opyz", + dlc: "BASE", + description: [ + `Upon pickup, add 1 Enthralled to your Deck. Gain 1 Energy at the start of each turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/blood_soaked_rose.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "VAKUU" }, + }, + }, + + { + name: "Choices Paradox", + category: "RELIC", + id: "9ljb8", + dlc: "BASE", + description: [ + `At the start of each combat, add 1 of 5 random cards into your Hand. Add Retain to the chosen card.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/choices_paradox.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "VAKUU" }, + }, + }, + + { + name: "Distinguished Cape", + category: "RELIC", + id: "zf2d1", + dlc: "BASE", + description: [ + `Upon pickup, lose 9 Max HP. Add 3 Apparitions to your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/distinguished_cape.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "VAKUU" }, + }, + }, + + { + name: "Fiddle", + category: "RELIC", + id: "vcduz", + dlc: "BASE", + description: [ + `At the start of each turn, draw 2 additional cards. You may not draw cards during your turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fiddle.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "VAKUU" }, + }, + }, + + { + name: "Jeweled Mask", + category: "RELIC", + id: "4f1ty", + dlc: "BASE", + description: [ + `At the start of combat put a random Powers from your Draw Pile into your Hand, it's free to play.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/jeweled_mask.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "VAKUU" }, + }, + }, + + { + name: "Lord's Parasol", + category: "RELIC", + id: "csiw8", + dlc: "BASE", + description: [ + `When you encounter the Merchant, immediately obtain EVERYTHING he sells.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lords_parasol.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "VAKUU" }, + }, + }, + { + name: "Music Box", + category: "RELIC", + id: "1r9xn", + dlc: "BASE", + description: [ + `Create an Ethereal copy of the first Attack you play each turn.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/music_box.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "VAKUU" }, + }, + }, + { + name: "Preserved Fog", + category: "RELIC", + id: "0qibh", + dlc: "BASE", + description: [ + `Upon pickup, remove 3 cards from your Deck. Add Folly to your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/preserved_fog.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "VAKUU" }, + }, + }, + { + name: "Sere Talon", + category: "RELIC", + id: "fda9i", + dlc: "BASE", + description: [ + `Upon pickup, add 2 random Curses and 3 Wishes to your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/sere_talon.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "VAKUU" }, + }, + }, + + { + name: "Whispering Earring", + category: "RELIC", + id: "j1d95", + dlc: "BASE", + description: [ + `Gain 1 Energy at the start of each turn. Vakuu plays your first turn for you.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/whispering_earring.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "ANCIENT", + modifiers: undefined, + linkedItems: { + ancient: { name: "VAKUU" }, + }, + }, + + { + name: "Belt Buckle", + category: "RELIC", + id: "n7usi", + dlc: "BASE", + description: [ + `While you have no Potions, you have 2 additional Dexterity.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/belt_buckle.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Bread", + category: "RELIC", + id: "fayvf", + dlc: "BASE", + description: [ + `At the start of your first turn, lose 2 Energy. At the start of all other turns, gain 1 Energy.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bread.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Brimstone", + category: "RELIC", + id: "pm8rq", + dlc: "BASE", + description: [ + `At the start of your turn, gain 2 Strength and ALL enemies gain 1 Strength.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/brimstone.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + linkedItems: { character: { name: "IRONCLAD" } }, + modifiers: undefined, + }, + + { + name: "Burning Sticks", + category: "RELIC", + id: "hypdy", + dlc: "BASE", + description: [ + `The first time each combat you Exhaust a Skill, add a copy of it into your Hand.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/burning_sticks.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Cauldron", + category: "RELIC", + id: "yu0me", + dlc: "BASE", + description: [`Upon pickup, brews 5 random Potions.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/cauldron.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Chemical X", + category: "RELIC", + id: "6g4ou", + dlc: "BASE", + description: [`The effects of your cost X cards are increased by 2.`], + flavorText: + "WARNING: Do not combine with sugar, spice, and everything nice.", + isUpgrade: false, + imageUrl: "relics/chemical_x.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Dingy Rug", + category: "RELIC", + id: "bjij8", + dlc: "BASE", + description: [`Card rewards can now contain Colorless cards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/dingy_rug.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + modifiers: undefined, + }, + + { + name: "Dolly's Mirror", + category: "RELIC", + id: "hsv33", + dlc: "BASE", + description: [ + `Upon pickup, obtain an additional copy of a card in your Deck.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/dollys_mirror.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Dragon Fruit", + category: "RELIC", + id: "w099k", + dlc: "BASE", + description: [`Whenever you gain Gold, raise your Max HP by 1.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/dragon_fruit.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Ghost Seed", + category: "RELIC", + id: "99oez", + dlc: "BASE", + description: [`Strikes and Defends gain Ethereal.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ghost_seed.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Gnarled Hammer", + category: "RELIC", + id: "qi1zt", + dlc: "BASE", + description: [`Upon pickup, Enchant up to 3 Attacks with Sharp 3.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/gnarled_hammer.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Kifuda", + category: "RELIC", + id: "cam4e", + dlc: "BASE", + description: [`Upon pickup, Enchant up to 3 cards with Adroit.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/kifuda.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Lava Lamp", + category: "RELIC", + id: "q2zmb", + dlc: "BASE", + description: [ + `At the end of combat, Upgrade all card rewards if you took no damage.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lava_lamp.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Lee's Waffle", + category: "RELIC", + id: "nk1wt", + dlc: "BASE", + description: [ + `Upon pickup, raise your Max HP by 7 and heal all of your HP.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lees_waffle.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Membership Card", + category: "RELIC", + id: "vlrp4", + dlc: "BASE", + description: [`50% discount on all products!`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/membership_card.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Miniature Tent", + category: "RELIC", + id: "4ac9q", + dlc: "BASE", + description: [`You may choose any number of options at Rest Sites.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/miniature_tent.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Mystic Lighter", + category: "RELIC", + id: "gip2x", + dlc: "BASE", + description: [`Enchanted Attacks deal 9 additional damage.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/mystic_lighter.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Ninja Scroll", + category: "RELIC", + id: "gsmnf", + dlc: "BASE", + description: [`At the start of each combat, add 3 Shivs into your Hand.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ninja_scroll.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + linkedItems: { character: { name: "SILENT" } }, + modifiers: undefined, + }, + + { + name: "Orrery", + category: "RELIC", + id: "lqnun", + dlc: "BASE", + description: [`Upon pickup, gain 5 card rewards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/orrery.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Punch Dagger", + category: "RELIC", + id: "yy4tq", + dlc: "BASE", + description: [`Upon pickup, Enchant an Attack with Momentum 5.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/punch_dagger.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Ringing Triangle", + category: "RELIC", + id: "2tr77", + dlc: "BASE", + description: [`Retain your Hand on the first turn of combat.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ringing_triangle.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Royal Stamp", + category: "RELIC", + id: "o7zyh", + dlc: "BASE", + description: [ + `Upon pickup, choose an Attack or Skill in your Deck to Enchant with Royally Approved.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/royal_stamp.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Runic Capacitor", + category: "RELIC", + id: "sg786", + dlc: "BASE", + description: [`Start each combat with 3 additional Orb Slots.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/runic_capacitor.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + linkedItems: { character: { name: "DEFECT" } }, + modifiers: undefined, + }, + + { + name: "Screaming Flagon", + category: "RELIC", + id: "e6ewv", + dlc: "BASE", + description: [ + `If you end your turn with no cards in your Hand, deal 20 damage to ALL enemies.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/screaming_flagon.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Sling of Courage", + category: "RELIC", + id: "ryuyr", + dlc: "BASE", + description: [`Start each Elite combat with 2 Strength.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/sling_of_courage.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "The Abacus", + category: "RELIC", + id: "kbnv1", + dlc: "BASE", + description: [`Whenever you shuffle your Draw Pile, gain 6 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/the_abacus.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Toolbox", + category: "RELIC", + id: "h45vo", + dlc: "BASE", + description: [ + `At the start of each combat, choose 1 of 3 random Colorless cards and add the chosen card into your Hand.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/toolbox.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Undying Sigil", + category: "RELIC", + id: "ohdky", + dlc: "BASE", + description: [ + `Enemies with at least as much Doom as HP deal 50% less damage.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/undying_sigil.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + linkedItems: { character: { name: "NECROBINDER" } }, + modifiers: undefined, + }, + + { + name: "Vitruvian Minion", + category: "RELIC", + id: "i3fgr", + dlc: "BASE", + description: [ + `Cards containing “Minion” deal double damage and gain double Block.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/vitruvian_minion.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + linkedItems: { character: { name: "REGENT" } }, + modifiers: undefined, + }, + + { + name: "Wing Charm", + category: "RELIC", + id: "y47kk", + dlc: "BASE", + description: [ + `A random card in each card reward is Enchanted with Swift 1.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/wing_charm.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "SHOP", + + modifiers: undefined, + }, + + { + name: "Big Mushroom", + category: "RELIC", + id: "d63yl", + dlc: "BASE", + description: [ + `Upon pickup, raise your Max HP by 20. At the start of each combat, draw 2 fewer cards.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/big_mushroom.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Bing Bong", + category: "RELIC", + id: "birxx", + dlc: "BASE", + description: [ + `Whenever you add a card to your Deck, add one additional copy.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bing_bong.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Bone Tea", + category: "RELIC", + id: "trs6x", + dlc: "BASE", + description: [ + `At the start of the next combat, Upgrade your starting hand.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/bone_tea.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Byrdpip", + category: "RELIC", + id: "tvg0l", + dlc: "BASE", + description: [ + `Upon pickup, gain the card Byrd Swoop. A Byrdpip will accompany you in battles.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/byrdpip.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Darkstone Periapt", + category: "RELIC", + id: "9busj", + dlc: "BASE", + description: [`Whenever you obtain a Curse, raise your Max HP by 6.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/darkstone_periapt.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Daughter of the Wind", + category: "RELIC", + id: "e7iwy", + dlc: "BASE", + description: [`Whenever you play an Attack, gain 1 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/daughter_of_the_wind.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Dream Catcher", + category: "RELIC", + id: "qdhcu", + dlc: "BASE", + description: [`Whenever you Rest, you may add a card to your Deck.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/dream_catcher.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Ember Tea", + category: "RELIC", + id: "z4p40", + dlc: "BASE", + description: [`At the start of the next 5 combats, gain 2 Strength.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/ember_tea.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Forgotten Soul", + category: "RELIC", + id: "s65qs", + dlc: "BASE", + description: [ + `Whenever you Exhaust a card, deal 1 damage to a random enemy.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/forgotten_soul.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Fragrant Mushroom", + category: "RELIC", + id: "k94zs", + dlc: "BASE", + description: [`Upon pickup, lose 15 HP and Upgrade 3 random cards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fragrant_mushroom.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Fresnel Lens", + category: "RELIC", + id: "iv2k8", + dlc: "BASE", + description: [ + `Whenever you add a card that gains Block to your Deck, Enchant it with Nimble 2.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fresnel_lens.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Hand Drill", + category: "RELIC", + id: "s0m7f", + dlc: "BASE", + description: [`Whenever you break an enemy's Block, apply 2 Vulnerable.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/hand_drill.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "History Course", + category: "RELIC", + id: "pf9em", + dlc: "BASE", + description: [ + `At the start of your turn, play a copy of your last played Attack or Skill.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/history_course.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Lost Wisp", + category: "RELIC", + id: "oupc6", + dlc: "BASE", + description: [`Whenever you play a Power, deal 8 damage to ALL enemies.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/lost_wisp.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Maw Bank", + category: "RELIC", + id: "u4rul", + dlc: "BASE", + description: [ + `Whenever you climb a floor, gain 12 Gold. No longer works when you spend any Gold at the shop.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/maw_bank.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Mr. Struggles", + category: "RELIC", + id: "ub6jd", + dlc: "BASE", + description: [ + `At the start of your turn, deal damage equal to the turn number to ALL enemies.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/mr_struggles.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Pollinous Core", + category: "RELIC", + id: "hctgu", + dlc: "BASE", + description: [`Every 4 turns, draw 2 additional cards.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/pollinous_core.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Royal Poison", + category: "RELIC", + id: "w4a4e", + dlc: "BASE", + description: [`At the start of each combat, lose 4 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/royal_poison.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Sword of Jade", + category: "RELIC", + id: "kyjhu", + dlc: "BASE", + description: [`Start each combat with 3 Strength.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/sword_of_jade.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Sword of Stone", + category: "RELIC", + id: "fx4as", + dlc: "BASE", + description: [`Transforms into a powerful Relic after defeating 5 Elites.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/sword_of_stone.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Tea of Discourtesy", + category: "RELIC", + id: "opljw", + dlc: "BASE", + description: [ + `At the start of the next combat, shuffle 2 Dazed into your Draw Pile.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/tea_of_discourtesy.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "The Boot", + category: "RELIC", + id: "k8uln", + dlc: "BASE", + description: [ + `Whenever you would deal 4 or less unblocked attack damage, increase it to 5.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/the_boot.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "The Chosen Cheese", + category: "RELIC", + id: "vfn71", + dlc: "BASE", + description: [`At the end of combat, gain 1 Max HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/chosen_cheese.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Wongo Customer Appreciation Badge", + category: "RELIC", + id: "n94u5", + dlc: "BASE", + description: [`Does nothing.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/wongo_customer_appreciation_badge.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Wongo's Mystery Ticket", + category: "RELIC", + id: "ihe6f", + dlc: "BASE", + description: [`Receive 3 random Relics after 5 combats.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/wongos_mystery_ticket.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Anchor???", + category: "RELIC", + id: "ice0c", + dlc: "BASE", + description: [`Start each combat with 4 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fake_anchor.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Blood Vial???", + category: "RELIC", + id: "uqvpa", + dlc: "BASE", + description: [`At the start of each combat, heal 1 HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fake_blood_vial.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Happy Flower???", + category: "RELIC", + id: "dc87a", + dlc: "BASE", + description: [`Every 5 turns, gain 1 Energy.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fake_happy_flower.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Lee's Waffle???", + category: "RELIC", + id: "pw1zy", + dlc: "BASE", + description: [`Upon pickup, heal 10% of your HP.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fake_lees_waffle.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Mango???", + category: "RELIC", + id: "dntmn", + dlc: "BASE", + description: [`Upon pickup, raise your Max HP by 3.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fake_mango.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Orichalcum???", + category: "RELIC", + id: "l0p6o", + dlc: "BASE", + description: [`If you end your turn without Block, gain 3 Block.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fake_orichalcum.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Snecko Eye???", + category: "RELIC", + id: "iywvv", + dlc: "BASE", + description: [`Start each combat Confused.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fake_snecko_eye.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Strike Dummy???", + category: "RELIC", + id: "zpvfn", + dlc: "BASE", + description: [`Cards containing “Strike” deal 1 additional damage.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fake_strike_dummy.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "The Merchant's Rug???", + category: "RELIC", + id: "rgf19", + dlc: "BASE", + description: [`Poor imitation. Does nothing.`], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fake_merchants_rug.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Venerable Tea Set???", + category: "RELIC", + id: "c6dd9", + dlc: "BASE", + description: [ + `Whenever you enter a Rest Site, start the next combat with an additional 1 Energy.`, + ], + flavorText: "Details for this relic will be revealed in the future...", + isUpgrade: false, + imageUrl: "relics/fake_venerable_tea_set.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, + + { + name: "Circlet", + category: "RELIC", + id: "pxdkh", + dlc: "BASE", + description: [`It's a circlet.`], + flavorText: + "A curious relic which appears when there's a problem within the Spire or there are no more relics to discover.", + isUpgrade: false, + imageUrl: "relics/circlet.png", + wikiUrl: `https://slaythespire.wiki.gg/wiki/Slay_the_Spire_2:Relics_List`, + location: undefined, + rarity: "EVENT", + + modifiers: undefined, + }, +]; + +const RELIC_RARITY_MAP: Record = { + starter: "STARTER", + common: "COMMON", + uncommon: "UNCOMMON", + rare: "RARE", + ancient: "ANCIENT", + shop: "SHOP", + event: "EVENT", + special: "SPECIAL", +}; + +export { RELIC_RARITY_MAP, RELICS, type SlayTheSpire2RelicItem }; diff --git a/src/games/slaythespire2/core/types.ts b/src/games/slaythespire2/core/types.ts index 86d765a..be29b2d 100644 --- a/src/games/slaythespire2/core/types.ts +++ b/src/games/slaythespire2/core/types.ts @@ -1,4 +1,5 @@ import type { AppItem } from "#/features/game/items/types"; +import type { SlayTheSpire2AncientItem } from "#/games/slaythespire2/core/item-data/ancients.ts"; import type { SlayTheSpire2CardItem } from "#/games/slaythespire2/core/item-data/cards"; import type { SlayTheSpire2CharacterItem } from "#/games/slaythespire2/core/item-data/characters"; import type { SlayTheSpire2PotionItem } from "#/games/slaythespire2/core/item-data/potions"; @@ -98,7 +99,8 @@ type SlayTheSpire2LocalItem = | SlayTheSpire2RelicItem | SlayTheSpire2CardItem | SlayTheSpire2PotionItem - | SlayTheSpire2CharacterItem; + | SlayTheSpire2CharacterItem + | SlayTheSpire2AncientItem; export type { BaseSlayTheSpire2Item, diff --git a/src/games/slaythespire2/wiki/potions.ts b/src/games/slaythespire2/wiki/potions.ts new file mode 100644 index 0000000..891bf46 --- /dev/null +++ b/src/games/slaythespire2/wiki/potions.ts @@ -0,0 +1,117 @@ +/** + * Compares the local POTIONS item data array against the wiki's Module:Potions/StS2 data + * page. + * + * Prints matched / new / stale entries to the terminal. + * + * Run with: pnpm tsx src/games/slaythespire2/wiki/potions.ts + */ + +import { cleanWikiText } from "#/features/wiki-sync/clean-wiki-text"; +import { parseLuaModule } from "#/features/wiki-sync/parse-lua-module"; +import { fetchWithUserAgent } from "#/features/wiki-sync/utils"; +import { CHARACTER_MAP } from "#/games/slaythespire2/core/item-data/characters.ts"; +import { + POTION_RARITY_MAP, + POTIONS, +} from "#/games/slaythespire2/core/item-data/potions"; +import type { + SlayTheSpire2Character, + SlayTheSpire2PotionRarity, +} from "@/prisma"; + +const WIKI_URL = + "https://slaythespire.wiki.gg/wiki/Module:Potions/StS2%20data?action=raw"; + +type WikiPotion = { + name: string; + description: string[]; + rarity: SlayTheSpire2PotionRarity | undefined; + character: SlayTheSpire2Character | null; + image: string; +}; + +const normalizeEntry = ( + name: string, + fields: Record, +): WikiPotion => { + const rawText = typeof fields.Text === "string" ? fields.Text : ""; + const rawRarity = + typeof fields.Rarity === "string" ? fields.Rarity.toLowerCase() : ""; + const rawCharacter = + typeof fields.Character === "string" ? fields.Character.toLowerCase() : ""; + const rawImage = typeof fields.Image === "string" ? fields.Image : ""; + + const description = cleanWikiText(rawText); + const rarity = POTION_RARITY_MAP[rawRarity]; + if (rawRarity && !rarity) { + console.warn(` ! unknown rarity '${rawRarity}' for ${name}`); + } + + const character = rawCharacter ? (CHARACTER_MAP[rawCharacter] ?? null) : null; + if (rawCharacter && !character) { + console.warn(` ! unknown character '${rawCharacter}' for ${name}`); + } + + return { name, description, rarity, character, image: rawImage }; +}; + +const main = async () => { + console.log(`Fetching ${WIKI_URL}\n`); + const res = await fetchWithUserAgent(WIKI_URL); + if (!res.ok) { + throw new Error(`Wiki fetch failed: ${res.status} ${res.statusText}`); + } + const raw = await res.text(); + + const parsed = parseLuaModule(raw); + const wikiPotions: WikiPotion[] = Object.entries(parsed).map( + ([name, fields]) => normalizeEntry(name, fields as Record), + ); + + console.log( + `\nFetched ${wikiPotions.length} potions from wiki; local has ${POTIONS.length}.\n`, + ); + + const localByName = new Map(POTIONS.map((p) => [p.name, p] as const)); + const wikiByName = new Map(wikiPotions.map((p) => [p.name, p] as const)); + + let matchedCount = 0; + let descriptionDiffCount = 0; + let newCount = 0; + let staleCount = 0; + + for (const w of wikiPotions) { + const local = localByName.get(w.name); + if (local) { + matchedCount++; + const localDesc = JSON.stringify(local.description); + const wikiDesc = JSON.stringify(w.description); + if (localDesc !== wikiDesc) { + descriptionDiffCount++; + console.log(`~ matched (description differs): ${w.name}`); + console.log(` local: ${localDesc}`); + console.log(` wiki: ${wikiDesc}`); + } else { + console.log(`✓ matched: ${w.name}`); + } + } else { + newCount++; + console.log(`+ new (wiki only): ${w.name}`); + console.log(`${JSON.stringify(w, null, 2)}`); + } + } + + for (const l of POTIONS) { + if (!wikiByName.has(l.name)) { + staleCount++; + console.log(`- stale (local only): ${l.name}`); + } + } + + console.log( + `\nSummary: ${matchedCount} matched (${descriptionDiffCount} with description diffs), ${newCount} new, ${staleCount} stale.`, + ); +}; + +void main(); diff --git a/src/games/slaythespire2/wiki/relics.ts b/src/games/slaythespire2/wiki/relics.ts new file mode 100644 index 0000000..3bad97a --- /dev/null +++ b/src/games/slaythespire2/wiki/relics.ts @@ -0,0 +1,218 @@ +/** + * Compares the local RELICS item data array against the wiki's Module:Relics/StS2 data + * page. + * + * Prints matched / new / stale entries to the terminal. + * + * Run with: pnpm tsx src/games/slaythespire2/wiki/relics.ts + */ + +import { cleanWikiText } from "#/features/wiki-sync/clean-wiki-text"; +import { parseLuaModule } from "#/features/wiki-sync/parse-lua-module"; +import { fetchWithUserAgent } from "#/features/wiki-sync/utils"; +import { ANCIENT_MAP } from "#/games/slaythespire2/core/item-data/ancients.ts"; +import { CHARACTER_MAP } from "#/games/slaythespire2/core/item-data/characters.ts"; +import { + RELIC_RARITY_MAP, + RELICS, +} from "#/games/slaythespire2/core/item-data/relics.ts"; +import type { + SlayTheSpire2Ancient, + SlayTheSpire2Character, + SlayTheSpire2RelicRarity, +} from "@/prisma"; + +const WIKI_URL = + "https://slaythespire.wiki.gg/wiki/Module:Relics/StS2%20data?action=raw"; + +type WikiRelic = { + name: string; + description: string[]; + flavorText: string; + isUpgrade: boolean; + rarity: SlayTheSpire2RelicRarity | undefined; + character: SlayTheSpire2Character | null; + ancient: SlayTheSpire2Ancient | null; + image: string; +}; + +const normalizeEntry = ( + name: string, + fields: Record, +): WikiRelic => { + const rawText = + typeof fields.Description === "string" ? fields.Description : ""; + const rawRarity = + typeof fields.Rarity === "string" ? fields.Rarity.toLowerCase() : ""; + const rawCharacter = + typeof fields.Character === "string" ? fields.Character.toLowerCase() : ""; + const rawAncient = + typeof fields.Ancient === "string" ? fields.Ancient.toLowerCase() : ""; + const rawImage = typeof fields.Image === "string" ? fields.Image : ""; + const rawFlavorText = typeof fields.Flavor === "string" ? fields.Flavor : ""; + const rawUpgrade = typeof fields.Upgrade === "string" ? fields.Upgrade : ""; + const rawIsUpgrade = rawUpgrade.toLowerCase() === "yes"; + + const description = cleanWikiText(rawText); + const rarity = RELIC_RARITY_MAP[rawRarity]; + if (rawRarity && !rarity) { + console.warn(` ! unknown rarity '${rawRarity}' for ${name}`); + } + + const character = rawCharacter ? (CHARACTER_MAP[rawCharacter] ?? null) : null; + if (rawCharacter && !character) { + console.warn(` ! unknown character '${rawCharacter}' for ${name}`); + } + + const ancient = rawAncient ? (ANCIENT_MAP[rawAncient] ?? null) : null; + if (rawAncient && !ancient) { + console.warn(` ! unknown ancient '${rawAncient}' for ${name}`); + } + + return { + name, + description, + rarity, + character, + ancient, + flavorText: rawFlavorText, + isUpgrade: rawIsUpgrade, + image: rawImage, + }; +}; + +const main = async () => { + console.log(`Fetching ${WIKI_URL}\n`); + const res = await fetchWithUserAgent(WIKI_URL); + if (!res.ok) { + throw new Error(`Wiki fetch failed: ${res.status} ${res.statusText}`); + } + const raw = await res.text(); + + const parsed = parseLuaModule(raw); + const wikiRelics: WikiRelic[] = Object.entries(parsed).map(([name, fields]) => + normalizeEntry(name, fields as Record), + ); + + console.log( + `\nFetched ${wikiRelics.length} relics from wiki; local has ${RELICS.length}.\n`, + ); + + const localByName = new Map(RELICS.map((p) => [p.name, p] as const)); + const wikiByName = new Map(wikiRelics.map((p) => [p.name, p] as const)); + + let matchedCount = 0; + let descriptionDiffCount = 0; + let isUpgradeDiffCount = 0; + let flavorTextDiffCount = 0; + let linkedItemDiffCount = 0; + let newCount = 0; + let staleCount = 0; + + for (const w of wikiRelics) { + const local = localByName.get(w.name); + if (local) { + matchedCount++; + const diffs: string[] = []; + + const localDesc = JSON.stringify(local.description); + const wikiDesc = JSON.stringify(w.description); + if (localDesc !== wikiDesc) { + descriptionDiffCount++; + diffs.push("description"); + } + + if (local.isUpgrade !== w.isUpgrade) { + isUpgradeDiffCount++; + diffs.push("isUpgrade"); + } + + const localFlavorText = JSON.stringify(local.flavorText); + const wikiFlavorText = JSON.stringify(w.flavorText); + if (localFlavorText !== wikiFlavorText) { + flavorTextDiffCount++; + diffs.push("flavorText"); + } + + const localCharacter = local.linkedItems?.character?.name ?? null; + const localAncient = local.linkedItems?.ancient?.name ?? null; + const linkedItemIssues: string[] = []; + if (w.character !== localCharacter) { + if (w.character && !localCharacter) { + linkedItemIssues.push( + `missing linkedItems.character (expected '${w.character}')`, + ); + } else if (!w.character && localCharacter) { + linkedItemIssues.push( + `unexpected linkedItems.character '${localCharacter}' (wiki has none)`, + ); + } else { + linkedItemIssues.push( + `linkedItems.character mismatch (local '${localCharacter}' vs wiki '${w.character}')`, + ); + } + } + if (w.ancient !== localAncient) { + if (w.ancient && !localAncient) { + linkedItemIssues.push( + `missing linkedItems.ancient (expected '${w.ancient}')`, + ); + } else if (!w.ancient && localAncient) { + linkedItemIssues.push( + `unexpected linkedItems.ancient '${localAncient}' (wiki has none)`, + ); + } else { + linkedItemIssues.push( + `linkedItems.ancient mismatch (local '${localAncient}' vs wiki '${w.ancient}')`, + ); + } + } + if (linkedItemIssues.length > 0) { + linkedItemDiffCount++; + diffs.push("linkedItems"); + } + + if (diffs.length > 0) { + console.log(`~ matched (${diffs.join(", ")} differs): ${w.name}`); + + if (localDesc !== wikiDesc) { + console.log(` description local: ${localDesc}`); + console.log(` description wiki: ${wikiDesc}`); + } + + if (local.isUpgrade !== w.isUpgrade) { + console.log(` isUpgrade local: ${local.isUpgrade}`); + console.log(` isUpgrade wiki: ${w.isUpgrade}`); + } + + if (localFlavorText !== wikiFlavorText) { + console.log(` flavorText local: ${localFlavorText}`); + console.log(` flavorText wiki: ${wikiFlavorText}`); + } + + for (const issue of linkedItemIssues) { + console.log(` ! ${issue}`); + } + } else { + console.log(`✓ matched: ${w.name}`); + } + } else { + newCount++; + console.log(`+ new (wiki only): ${w.name}`); + console.log(`${JSON.stringify(w, null, 2)}`); + } + } + + for (const l of RELICS) { + if (!wikiByName.has(l.name)) { + staleCount++; + console.log(`- stale (local only): ${l.name}`); + } + } + + console.log( + `\nSummary: ${matchedCount} matched (${descriptionDiffCount} with description diffs, ${isUpgradeDiffCount} with isUpgrade diffs, ${flavorTextDiffCount} with flavorText diffs, ${linkedItemDiffCount} with linkedItem diffs), ${newCount} new, ${staleCount} stale.`, + ); +}; + +void main(); diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 0000000..e784581 --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,4 @@ +const capitalize = (s: string): string => + s.length === 0 ? s : s[0]!.toUpperCase() + s.slice(1); + +export { capitalize };