Compare commits
2
Commits
c7870120bf
...
9b9469edd3
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9b9469edd3 | ||
|
|
75824a97c9 |
+183
@@ -0,0 +1,183 @@
|
||||
---
|
||||
Level_of_Influence: 0
|
||||
Faction:
|
||||
SMH_Acronym:
|
||||
Tags:
|
||||
- npc
|
||||
Intel:
|
||||
- date: 2026-01-29
|
||||
type: report
|
||||
summary: Is known to be a scholar of glyphs and other signage. Helps to maintain the barrier that controls access to the Esoterium.
|
||||
session: "[[Session 19 - A Plan Forms]]"
|
||||
reliability: B
|
||||
credibility: 5
|
||||
tags: []
|
||||
---
|
||||
|
||||
# Professor Gerendel
|
||||
*Role/Description — e.g., "Captain of the Guard", "Elven Scholar", "Local Merchant"*
|
||||
|
||||
## 🎨 Artwork
|
||||
![[Professor Gerendel.png]]
|
||||
*Optional caption / alt text*
|
||||
|
||||
---
|
||||
|
||||
## 🧑 NPC Overview
|
||||
- **Full Name:**
|
||||
|
||||
- **Race / Ancestry:**
|
||||
- **Gender / Pronouns:**
|
||||
- **Occupation / Role:**
|
||||
- **Faction / Allegiance:**
|
||||
- **SMH (what THEY call it):** `= this.SMH_Acronym`
|
||||
- **Notable Traits:** (quirks, mannerisms, appearance)
|
||||
- **First Impression:** (how the party perceives them)
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Relationship with Party
|
||||
- **Level of Influence:** `= this.Level_of_Influence` (−10 to +10)
|
||||
- **Notes on Influence:** (what actions improve/worsen standing)
|
||||
- ***Discovery Skills***
|
||||
- ***Influence Skills***
|
||||
- ***Weaknesses***
|
||||
- ***Resistances***
|
||||
- ***Biases***
|
||||
|
||||
---
|
||||
|
||||
## 🧠 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:** [[Faction Name]]
|
||||
- **Allied Factions:** [[Faction A]], [[Faction B]]
|
||||
- **Rival Factions:** [[Faction C]]
|
||||
- **Personal Enemies / Allies:** [[NPC or PC]]
|
||||
|
||||
---
|
||||
|
||||
## 📖 History & Background
|
||||
- **Origin / Past:**
|
||||
- **Known Motivations:**
|
||||
- **Secrets / Rumors:**
|
||||
|
||||
---
|
||||
|
||||
## 🎭 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:**
|
||||
- 2026-01-29: …
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Connections
|
||||
- **Related NPCs:**
|
||||
- [[NPC A]] (Mentor)
|
||||
- [[NPC B]] (Rival)
|
||||
- **PC Ties:** (how the party knows them)
|
||||
+1
-1
@@ -27,7 +27,7 @@ Intel:
|
||||
*Inspector and Auditor of Internal Affairs for the City of Y'athyr*
|
||||
|
||||
## 🎨 Artwork
|
||||
![[Therin Assase.png]]
|
||||
![[Therin Asase.jpg]]
|
||||
*Optional caption / alt text*
|
||||
|
||||
---
|
||||
@@ -79,13 +79,25 @@ templater true
|
||||
|
||||
- **Social / Exploration:**
|
||||
- The previous evening:
|
||||
- [[Val]] goes to speak with [[Iniana Asase]] and tries to set up a meeting between [[Deidre Gille]] and [[Therin Assase]] in order to keep her relatively protected, while also ensuring that [[House Miiran]] is held accountable.
|
||||
- [[Val]] goes to speak with [[Iniana Asase]] and tries to set up a meeting between [[Deidre Gille]] and [[Therin Asase]] in order to keep her relatively protected, while also ensuring that [[House Miiran]] is held accountable.
|
||||
- [[Metternich]] attend to a few personal items.
|
||||
- The remainder of the party, spend the evening with [[Deidre Gille]] ensuring her safety.
|
||||
- Friday
|
||||
- Saturday
|
||||
- [[Calen]], [[Faylen Valora]] and [[Kite]] escort [[Deidre Gille]] back to Y'athyr - but exit the carriage a bit outside of the entrance, and walk the remaining distance.
|
||||
- [[Val]] and [[Metternich]] spend some time investigating the Black Hooded, Red-Insignia'ed folks that have been around the docks guarding shipments. Rumor indicate that they might be a Rhodesian Cult of some sort. Though the docks themselves are owned by [[House Tenrae]]
|
||||
- The Guards seem to be supplied by [[House Tenrae]], but are actually from [[House Tassarion]].
|
||||
- [[Calen]], [[Val]] and [[Metternich]] head to meet with [[Lorena Neurath]] and pass her along into the service of [[Lord Ellin Vaust]].
|
||||
- [[Faylen Valora]] and [[Kite]] spend some time trying to get into the Esoterium to investigate [[Professor Gerendel]] - who is known to be involved with the cult that summoned Euzoldolph and is holding [[Sinni Springvale]].
|
||||
- [[Faylen Valora]] and [[Kite]] also spend some time trying to scout the Wells to find this cult.
|
||||
- As they attempt to go their way through, they hear wailing and growling/moaning - and notice sets of eyes watching them.
|
||||
- They encounter a pale-skinned human wearing dark clothing - they respond in Undercommon. Asking "Why are you here?" - [[Kite]] deduces that they are Caligni - like we encountered at [[Sinni Springvale]]'s house. The Caligni says that their name is Thublinkaraari (THUMB-lin-CAR-ee)
|
||||
- Lot's of Halflings are in the Wells (combined with some other Ancestries are working in the Wells), mostly deeper in. Thublinkaraari implies that they know what they're working on, but they've been told not to tell.
|
||||
- Sunday
|
||||
- [[Calen]] attempts to find some more information about the disease at the docks. Most of the treatment that has been done for the disease that is running around the docks, has been done by the Church of Alseta - so I may need to ask around there to get more information.
|
||||
- I try to divine any commonalities between where the people are working, but am unable to find anything.
|
||||
- [[Kite]] and [[Val]] try to find some additional information about people who have gone missing - in relation to those who are being enslaved for the work in the Wells.
|
||||
- [[Val]] doesn't learn anything new.
|
||||
- [[Kite]] finds some disappearances that weren't ever resolved, but nothing that is a smoking gun.
|
||||
|
||||
- **Combat:**
|
||||
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 103 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 28 KiB |
Reference in New Issue
Block a user