--- Level_of_Influence: -1 Faction: "[[House Elidari]]" Tags: - npc Intel: - date: 2025-11-24 type: report summary: "[[Eosef Tenrae]] and [[Ronan Elidari]] will be going to the summer solistice ball, but will not be staying for the entire event." session: "[[Session 11 - A Session]]" source: "[[Kite]]" reliability: C credibility: 5 tags: - npc --- # Ronan Elidari *Captain in the City Guard* ## 🎨 Artwork ![[Ronan Elidari.png]] *Optional caption / alt text* --- ## πŸ§‘ NPC Overview - **Full Name:** Ronan Elidari - **Race / Ancestry:** Elf - **Gender / Pronouns:** He/Him - **Occupation / Role:** Captain of the Guard - **Faction / Allegiance:** [[House Elidari]] - **Notable Traits:** (quirks, mannerisms, appearance) - **First Impression:** Asshole --- ## 🀝 Relationship with Party - **Level of Influence:** = this.Level_of_Influence (βˆ’10 to +10) - **Notes on Influence:** (what actions improve/worsen standing) - ***Discovery Skills*** - DC 14 Warfare Lore - DC 16 Y'athyr Lore - DC 17 Society - DC 19 Crafting - DC 19 Perception - ***Influence Skills*** - DC 24 Deception or Intimidation - DC 22 Diplomacy - DC 20 Y'ahtyr Lore or Althetics - ***Weaknesses*** - ***Resistances*** - ***Biases*** - Doesn't like commoners or those not working with the City. -1 to Influence or Discovery - Likes people who are martially minded: +2 to Influence Checks - Speaking Positively about [[House Elidari]] or the direction that the city is taking nets a +2 to Influence Checks. --- ## 🧠 Intel (auto) ```dataviewjs const THIS = dv.current(); const thisName = String(THIS.file.name); const thisLC = thisName.toLowerCase(); // Scan faction & NPC notes that have Intel arrays const pages = dv.pages("#npc or #faction").where(p => p.Intel); // Does an Intel entry reference THIS NPC? function mentionsThisNPC(entry) { const sum = String(entry.summary ?? ""); // 1) Explicit wikilink in summary if (sum.includes(`[[${thisName}]]`) || sum.includes(`[[${thisName}|`)) return true; // 2) Source field (string/link/list) const src = entry.source; const arr = Array.isArray(src) ? src : (src ? [src] : []); for (const s of arr) { if (typeof s === "string") { // quoted link or plain text const unq = s.replace(/^"+|"+$/g, ""); // drop surrounding quotes if any if (unq.includes(`[[${thisName}]]`) || unq.includes(`[[${thisName}|`)) return true; // if they typed just the name if (unq.replace(/\[\[|\]\]/g, "").trim().toLowerCase() === thisLC) return true; } else if (s && typeof s === "object" && s.path) { // wikilink object const base = s.path.split("/").pop().replace(/\.md$/i, "").toLowerCase(); if (base === thisLC) return true; } } // Optional (looser): plain text mention in summary // return sum.toLowerCase().includes(thisLC); return false; } // Collect rows: 1) own Intel, 2) mentions from other notes const rows = []; // Own Intel (from this NPC note) for (const it of (THIS.Intel ?? [])) { rows.push({ from: THIS.file.link, date: it.date ?? "", type: it.type ?? "", summary: String(it.summary ?? ""), session: it.session ?? "", source: it.source ?? "", rel: it.reliability ?? "", cred: it.credibility ?? "", tags: Array.isArray(it.tags) ? it.tags.join(", ") : (it.tags ?? "") }); } // Mentions elsewhere for (const p of pages.where(p => p.file.path !== THIS.file.path)) { for (const it of (p.Intel ?? [])) { if (mentionsThisNPC(it)) { rows.push({ from: p.file.link, date: it.date ?? "", type: it.type ?? "", summary: String(it.summary ?? ""), session: it.session ?? "", source: it.source ?? "", rel: it.reliability ?? "", cred: it.credibility ?? "", tags: Array.isArray(it.tags) ? it.tags.join(", ") : (it.tags ?? "") }); } } } // Sort newest first rows.sort((a,b) => String(b.date).localeCompare(String(a.date))); if (!rows.length) { dv.paragraph("_No intel yet._"); } else { dv.paragraph(`_Entries: ${rows.length} (own ${(THIS.Intel ?? []).length} + mentions ${Math.max(0, rows.length - (THIS.Intel ?? []).length)})_`); dv.table( ["From Note","Date","Type","Summary","Session","Source","Rel","Cred","Tags"], rows.map(r => [r.from, r.date, r.type, r.summary, r.session, r.source, r.rel, r.cred, r.tags]) ); } ``` ```button name βž• Add Intel type command action Templater: Insert Add Intel Entry to NPC ``` --- ## πŸ›οΈ Relations & Factions - **Primary Faction:** [[House Elidari]] - **Allied Factions:** [[Faction A]], [[Faction B]] - **Rival Factions:** [[House Valrora]] - **Personal Enemies / Allies:** [[Faylen Valora]] --- ## πŸ“– History & Background - **Origin / Past:** - **Known Motivations:** - **Secrets / Rumors:** - Involved in an affair with [[Amity Cornwallis]] --- ## 🎭 Roleplay Notes - **Personality:** (e.g., stern, practical, loyal) - **Speech Style / Quirks:** (catchphrases, accent, tics) - **Appearance Details:** (clothing, scars, distinguishing features) --- ## πŸ—ΊοΈ Miscellaneous - **Current Location:** - **Important Items / Assets:** - **Plot Hooks / Ties to PCs:** - **Session Notes / Updates:** - 2025-10-02: … --- ## πŸ”— Connections - **Related NPCs:** - [[NPC A]] (Mentor) - [[NPC B]] (Rival) - **PC Ties:** (how the party knows them)