Unlike Illithid of other realities, the Illithid of Roshar appear to seek the subjugation of reality by means of Desolations.
let current = dv.current();let title = current.name || current.file.name;// --- CONFIGURATION ---// Set to your silhouette image path or filename (e.g., "npc-images/silhouette.webp" or "silhouette.webp").// If the file doesn't exist or is set to "", it will gracefully display the text message below.let fallbackImage = "npc-images/silhouette.webp"; // ---------------------// 1. Gather all potential names (Title, quoted nicknames, and Obsidian Aliases)let rawNames = [title];// Extract quoted nickname if present in title (e.g., Wulfric "The Bear" -> The Bear)let matchNick = title.match(/"([^"]+)"/);if (matchNick && matchNick) { rawNames.push(matchNick);}// Safely pull aliases from Obsidian Frontmatter/Propertieslet rawAliases = current.file?.aliases || current.aliases || [];if (typeof rawAliases === "string") { rawNames.push(rawAliases);} else if (rawAliases && typeof rawAliases[Symbol.iterator] === "function") { for (let a of rawAliases) { if (a && typeof a === "string") rawNames.push(a); }}// 2. Build sanitized search terms (ensures terms are >= 2 chars to avoid matching "_" or empty strings)let searchTerms = new Set();for (let name of rawNames) { if (!name || typeof name !== "string") continue; let lower = name.toLowerCase().trim().replace(/["']/g, ""); let slug = lower.replace(/[\s-]+/g, "_").replace(/^_+|_+\$/g, ""); if (lower.length >= 2) searchTerms.add(lower); if (slug.length >= 2) searchTerms.add(slug);}// 3. Search npc-images for matching character fileslet matches = app.vault.getFiles().filter(f => { let pathLower = f.path.toLowerCase(); if (!pathLower.includes("npc-images")) return false; // Exclude the fallback image from character search if (fallbackImage && pathLower.includes(fallbackImage.toLowerCase())) return false; let imgName = f.name.toLowerCase(); return Array.from(searchTerms).some(term => term && imgName.includes(term));});// 4. Prioritize files with "avatar" in the name, otherwise take first matchlet match = matches.find(f => f.name.toLowerCase().includes("avatar")) || (matches.length > 0 ? matches : null);// 5. Render artwork, fallback image, or clean text messageif (match) { dv.paragraph(`![[${match.path}|cover]]`);} else { // Flexible fallback image lookup (works with filename, full path, or partial match) let fallbackFile = null; if (fallbackImage && fallbackImage.trim() !== "") { let cleanFB = fallbackImage.toLowerCase().trim(); fallbackFile = app.vault.getFiles().find(f => f.path.toLowerCase() === cleanFB || f.path.toLowerCase().includes(cleanFB) || f.name.toLowerCase().includes(cleanFB) ); } if (fallbackFile) { dv.paragraph(`![[${fallbackFile.path}|cover]]`); } else { dv.paragraph(`*No artwork generated yet for ${title}*`); }}
Behavior:
Observed Tactics
(This is great for the wiki! It describes how they fight without giving away numbers. e.g., “These creatures tend to strike from the shadows and retreat, rarely staying for a fair fight.“)
Recent Activity
This section displays every time this entity is mentioned in session summaries.
The party reported to Fain with Jaslin in tow. Upon mention of the Illithid involvement Fain immediately triggered a message to others outside of his office. Fain stated that whilst he loved his sister there were protocols to follow when there was any suggestion of Illithid involvement, fearing any potential new Desolation.
Fain brought the party to the Lord of Great House Korunda, Rurisk Korunda. Lord Rurisk stated that should the party deal with this, preferably destroying the Illithid, then they would be rewarded greatly. Lord Rurisk stated that he would be sending his personal bodyguards to investigate and deal with this also.
The party were then accompanied by the bodyguards Bhaldir, Branmund, Galnir, Tharmond, and Thargran. The dwarven bodyguards all swore the creed of the Legion of the Dead before doing so, making a lifelong oath to confront the Illithid. Upon entering the mountain tunnels they encountered Mind Flayers who dominated some of their minds. The bodyguards didn’t hesitate and slew some of their own subjugated fellows. Eventually only Galnir and Thargran left those tunnels alive with the party.
Political Landscape
Allies
Groups this faction supports or is supported by.
None
Rivals
Groups this faction is at odds with or actively sabotaging.