vault commit: 2026-01-07 21:58, 3 files changed
This commit is contained in:
+13
-5
@@ -1,10 +1,18 @@
|
|||||||
---
|
---
|
||||||
Level_of_Influence: 0
|
Level_of_Influence: 0
|
||||||
Faction:
|
Faction: "[[Thin Wisps]]"
|
||||||
SMH_Acronym:
|
SMH_Acronym:
|
||||||
Tags:
|
Tags:
|
||||||
- npc
|
- npc
|
||||||
Intel:
|
Intel:
|
||||||
|
- date: 2026-01-07
|
||||||
|
type: interaction
|
||||||
|
summary: Works in a warehouse near warehouse row.
|
||||||
|
session: "[[Session 16 - A Meeting of Consequence]]"
|
||||||
|
source: "[[Maltrix]]"
|
||||||
|
reliability: A
|
||||||
|
credibility: 5
|
||||||
|
tags: []
|
||||||
- date: 2026-01-07
|
- date: 2026-01-07
|
||||||
type: rumor
|
type: rumor
|
||||||
summary: "[[Maltrix]] referred us to [[Celoisa]] as a sort-of recruiter for the [[Thin Wisps]]"
|
summary: "[[Maltrix]] referred us to [[Celoisa]] as a sort-of recruiter for the [[Thin Wisps]]"
|
||||||
@@ -25,11 +33,11 @@ Intel:
|
|||||||
---
|
---
|
||||||
|
|
||||||
## 🧑 NPC Overview
|
## 🧑 NPC Overview
|
||||||
- **Full Name:**
|
- **Full Name:** Celosia
|
||||||
- **Race / Ancestry:**
|
- **Race / Ancestry:** Elf ((Grey Skinned, with Horns))
|
||||||
- **Gender / Pronouns:**
|
- **Gender / Pronouns:**
|
||||||
- **Occupation / Role:**
|
- **Occupation / Role:** Painter/Recruiter
|
||||||
- **Faction / Allegiance:**
|
- **Faction / Allegiance:** [[Thin Wisps]]
|
||||||
- **SMH (what THEY call it):** `= this.SMH_Acronym`
|
- **SMH (what THEY call it):** `= this.SMH_Acronym`
|
||||||
- **Notable Traits:** (quirks, mannerisms, appearance)
|
- **Notable Traits:** (quirks, mannerisms, appearance)
|
||||||
- **First Impression:** (how the party perceives them)
|
- **First Impression:** (how the party perceives them)
|
||||||
|
|||||||
+183
@@ -0,0 +1,183 @@
|
|||||||
|
---
|
||||||
|
Level_of_Influence: 0
|
||||||
|
Faction: "[[The Archmasons]]"
|
||||||
|
SMH_Acronym:
|
||||||
|
Tags:
|
||||||
|
- npc
|
||||||
|
Intel:
|
||||||
|
- date: 2026-01-07
|
||||||
|
type: interaction
|
||||||
|
summary: "[[Metternich]] tells [[Fritch]] that [[House Elidari]] plans to supplant [[The Archmasons]]. [[Metternich]] says that he doesn't ask for anything in return at the moment, but asks for an opportunity to solve problems."
|
||||||
|
session: "[[Session 16 - A Meeting of Consequence]]"
|
||||||
|
source: "[[Fritch]]"
|
||||||
|
reliability: A
|
||||||
|
credibility: 5
|
||||||
|
tags: []
|
||||||
|
---
|
||||||
|
|
||||||
|
# Fritch
|
||||||
|
*Role/Description — e.g., "Captain of the Guard", "Elven Scholar", "Local Merchant"*
|
||||||
|
|
||||||
|
## 🎨 Artwork
|
||||||
|
![[Fritch.png]]
|
||||||
|
*Optional caption / alt text*
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🧑 NPC Overview
|
||||||
|
- **Full Name:** Fritch
|
||||||
|
- **Race / Ancestry:** Halfling
|
||||||
|
- **Gender / Pronouns:**
|
||||||
|
- **Occupation / Role:** Information Broker for [[The Archmasons]]
|
||||||
|
- **Faction / Allegiance:** [[The Archmasons]]
|
||||||
|
- **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:** [[The Archmasons]]
|
||||||
|
- **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-07: …
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔗 Connections
|
||||||
|
- **Related NPCs:**
|
||||||
|
- [[NPC A]] (Mentor)
|
||||||
|
- [[NPC B]] (Rival)
|
||||||
|
- **PC Ties:** (how the party knows them)
|
||||||
+3
@@ -85,6 +85,9 @@ templater true
|
|||||||
- [[Metternich]] picks up on something - implying that this is going to be entertaining.
|
- [[Metternich]] picks up on something - implying that this is going to be entertaining.
|
||||||
- [[Cormac Elidari]] and [[Nuala Elidari]] do not seem surprised at [[Faylen Valora]]'s rejection of the offer of adoption, but he does express displeasure at the idea.
|
- [[Cormac Elidari]] and [[Nuala Elidari]] do not seem surprised at [[Faylen Valora]]'s rejection of the offer of adoption, but he does express displeasure at the idea.
|
||||||
- [[Nuala Elidari]] announces that [[House Valrora]] is being re-assigned and will govern Rhamtool -- a small village on a river inlet nearing the main farmlands of Ri'lsera -- this is evidently under the order of [[House Evandra]].
|
- [[Nuala Elidari]] announces that [[House Valrora]] is being re-assigned and will govern Rhamtool -- a small village on a river inlet nearing the main farmlands of Ri'lsera -- this is evidently under the order of [[House Evandra]].
|
||||||
|
- [[Faylen Valora]], [[Metternich]], and [[Val]] go to meet with Fritch in an attempt to garner influence with [[The Archmasons]].
|
||||||
|
- [[Metternich]] proffers that [[House Elidari]] intends to betray [[The Archmasons]] in some manner -- and looking to eventually push [[The Archmasons]] out.
|
||||||
|
- [[Metternich]] offers this information in exchange for an opportunity to prove ourselves as people worth allying with.
|
||||||
|
|
||||||
- **Combat:**
|
- **Combat:**
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user