vault commit: 2025-12-03 21:28, 18 files changed

This commit is contained in:
Jason McPherson
2025-12-03 21:28:09 -06:00
parent a6a7d0781b
commit d75a87bc78
18 changed files with 457 additions and 42 deletions
@@ -1,13 +1,32 @@
---
Level_of_Influence: 0
Level_of_Influence: 1
Faction: "[[House Asase]]"
SMH_Acronym:
Tags:
- npc
Intel:
- date: 2025-12-03
type: interaction
summary: "[[Avas Assase]] expressed an interest in doing good for the lower portion of the city, and expressed thankfulness for the help with [[Iniana Asase|Iniana's]] Soup Kitchen."
session: "[[Session 12 - Summer Solistice Pt. 1]]"
source: "[[Avas Assase]]"
reliability: A
credibility: 5
tags: []
- date: 2025-12-03
type: interaction
summary: "[[Avas Assase]] served a stint at the Esoterium."
session: "[[Session 12 - Summer Solistice Pt. 1]]"
source: "[[Avas Assase]]"
reliability: A
credibility: 5
tags: []
---
# Avas Assase
*Role/Description — e.g., "Captain of the Guard", "Elven Scholar", "Local Merchant"*
*Archmeister of Y'athyr*
## 🎨 Artwork
![[Avas Assase.png]]
@@ -19,7 +38,7 @@ Tags:
- **Full Name:** Avas Assase
- **Race / Ancestry:** Elf
- **Gender / Pronouns:** He/Him
- **Occupation / Role:** Archmeister
- **Occupation / Role:** Archmeister (Akin to Advisor, also deal with Administrative Duties on behalf of the Steward of the City. [[Kite]] also knows that the Archmeister mediates councils of each interest group in the city)
- **Faction / Allegiance:** [[House Asase]]
- **SMH (what THEY call it):** `= this.SMH_Acronym`
- **Notable Traits:** (quirks, mannerisms, appearance)
@@ -36,7 +55,16 @@ Tags:
- DC 18 Arcana, Religion, Occultism and Nature
- DC 20 Perception
- ***Influence Skills***
- DC 15 Valentia Lore
- DC 18 Yathyr Lore
- DC 18 Arcana
- DC 18 Occultism
- DC 20 Religion
- DC 20 Nature
- DC 22 Diplomacy
- DC 22 Intimidation
- ***Weaknesses***
- Offering a story of magical nature reduces the Influence DC by 4.
- ***Resistances***
- ***Biases***
@@ -141,7 +169,7 @@ action Templater: Insert Add Intel Entry to NPC
---
## 🏛️ Relations & Factions
- **Primary Faction:** [[House Asase]] [[The Esoterium]]
- **Primary Faction:** [[House Asase]]
- **Allied Factions:** [[Faction A]], [[Faction B]]
- **Rival Factions:** [[Faction C]]
- **Personal Enemies / Allies:** [[NPC or PC]]
@@ -7,7 +7,7 @@ Tags:
---
# Cormac Elidari
*Head of the Y'athyr City Watch, Head of House Elidari*
*Overseer of the Y'athyr City Guard, Steward of Y'athyr
## 🎨 Artwork
![[Cormack Elidari.png]]
@@ -19,7 +19,7 @@ Tags:
- **Full Name:** Cormac Elidari
- **Race / Ancestry:** Elf
- **Gender / Pronouns:** Male, He/Him
- **Occupation / Role:** Head of the City Guard
- **Occupation / Role:** Overseer of the City Guard
- **Faction / Allegiance:** [[House Elidari]]
- **SMH (what THEY call it):** `= this.SMH_Acronym`
- **Notable Traits:** (quirks, mannerisms, appearance)
@@ -6,20 +6,20 @@ Tags:
- npc
---
# Ilvara Valora
*Role/Description — e.g., "Captain of the Guard", "Elven Scholar", "Local Merchant"*
# Elowen Valrora
*Gifted Healer, Kindest of the Valrora Family*
## 🎨 Artwork
![[Ilvara Valora.png]]
![[Elowen Valrora.png]]
*Optional caption / alt text*
---
## 🧑 NPC Overview
- **Full Name:** Ilvara Valrora
- **Full Name:** Elowen Valrora
- **Race / Ancestry:** Elf
- **Gender / Pronouns:** She/Her
- **Occupation / Role:**
- **Occupation / Role:** Gifted Healer, Operates from the Shrine of Alseta
- **Faction / Allegiance:** [[House Valrora]]
- **SMH (what THEY call it):** `= this.SMH_Acronym`
- **Notable Traits:** (quirks, mannerisms, appearance)
@@ -31,18 +31,9 @@ Tags:
- **Level of Influence:** `= this.Level_of_Influence` (10 to +10)
- **Notes on Influence:** (what actions improve/worsen standing)
- ***Discovery Skills***
- DC 15 Gaming Lore
- DC 18 Diplomacy
- DC 18 Society
- DC 20 Perception
- ***Influence Skills***
- DC 20 Arcana
- DC 20 Diplomacy
- DC 22 Deception
- ***Weaknesses***
- Acting with proper etiquette and manners reduces the Influence DC by 2.
- ***Resistances***
- Discussing topics that would disrupt the status quo of the city increases the check's DC by 2.
- ***Biases***
---
@@ -172,7 +163,7 @@ action Templater: Insert Add Intel Entry to NPC
- **Important Items / Assets:**
- **Plot Hooks / Ties to PCs:**
- **Session Notes / Updates:**
- 2025-12-02: …
- 2025-12-03: …
---
@@ -6,7 +6,7 @@ Tags:
- npc
---
# Eosaf Elidari
# Eosaf Tenrae
*Head of the Navy, Head of House Tenrae*
## 🎨 Artwork
@@ -4,10 +4,20 @@ Faction: "[[Draycott Family]]"
SMH_Acronym:
Tags:
- npc
Intel:
- date: 2025-12-03
type: interaction
summary: Wrecked a Schooner known as the Midnight Silver
session: "[[Session 12 - Summer Solistice Pt. 1]]"
source: "[[Fenric Draycott]]"
reliability: A
credibility: 5
tags: []
---
# Fenric Draycott
*Role/Description — e.g., "Captain of the Guard", "Elven Scholar", "Local Merchant"*
*Accountant and Merchant*
## 🎨 Artwork
![[Fenric Draycott.png]]
@@ -17,9 +27,9 @@ Tags:
## 🧑 NPC Overview
- **Full Name:** Fenric Draycott
- **Race / Ancestry:**
- **Race / Ancestry:** Human
- **Gender / Pronouns:** He/Him
- **Occupation / Role:**
- **Occupation / Role:** Accountant and Merchant
- **Faction / Allegiance:**
- **SMH (what THEY call it):** `= this.SMH_Acronym`
- **Notable Traits:** (quirks, mannerisms, appearance)
@@ -36,6 +46,9 @@ Tags:
- DC 18 Crafting
- DC 20 Perception
- ***Influence Skills***
- DC 15 Mercantile Lore
- DC 18 Thievery
- DC 18 Society
- DC 20 Crafting
- DC 20 Diplomacy
- DC 22 Deception
@@ -0,0 +1,194 @@
---
Level_of_Influence: 2
Faction: "[[House Valrora]]"
SMH_Acronym:
Tags:
- npc
Intel:
- date: 2025-12-03
type: interaction
summary: "[[Ilvara Valrora]] expresses that she has been keeping up with what the party has been up to at the point of the Masquerade, but she doesn't approve of our actions thus far."
session: "[[Session 12 - Summer Solistice Pt. 1]]"
source: "[[Ilvara Valrora]]"
reliability: A
credibility: 5
tags: []
---
# Ilvara Valora
*Former Master of Coin and Steward of Y'athyr*
## 🎨 Artwork
![[Ilvara Valrora.png]]
*Optional caption / alt text*
---
## 🧑 NPC Overview
- **Full Name:** Ilvara Valrora
- **Race / Ancestry:** Elf
- **Gender / Pronouns:** She/Her
- **Occupation / Role:** Former Master of Coin for Y'athyr and Former Steward
- **Faction / Allegiance:** [[House Valrora]]
- **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***
- DC 15 Gaming Lore
- DC 18 Diplomacy
- DC 18 Society
- DC 20 Perception
- ***Influence Skills***
- DC 20 Arcana
- DC 20 Diplomacy
- DC 22 Deception
- ***Weaknesses***
- Acting with proper etiquette and manners reduces the Influence DC by 2.
- ***Resistances***
- Discussing topics that would disrupt the status quo of the city increases the check's DC by 2.
- ***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:** [[House Valrora]]
- **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:**
- 2025-12-02: …
---
## 🔗 Connections
- **Related NPCs:**
- [[NPC A]] (Mentor)
- [[NPC B]] (Rival)
- **PC Ties:**
- [[Faylen Valora]] (Daughter)
@@ -174,6 +174,7 @@ action Templater: Insert Add Intel Entry to NPC
## 🔗 Connections
- **Related NPCs:**
- [[NPC A]] (Mentor)
- [[NPC B]] (Rival)
- Oldest Son of [[House Calil]] and [[Katarin Calil]]
- Formerly Engaged to [[Mae Valrora]]
- Engaged to: [[Onora Elidari]]
- **PC Ties:** (how the party knows them)
@@ -4,9 +4,19 @@ Faction:
SMH_Acronym: Synchronized Mushroom Hiccup
Tags:
- npc
Intel:
- date: 2025-12-03
type: interaction
summary: "[[Lord Ellin Vaust]] conceals a blade inside the cane he walks with."
session: "[[Session 12 - Summer Solistice Pt. 1]]"
source: "[[Lord Ellin Vaust]]"
reliability: A
credibility: 5
tags: []
---
# Lord Ellin Vaust
*Local Merchant*
@@ -18,7 +28,7 @@ Tags:
## 🧑 NPC Overview
- **Full Name:** Ellin Vaust
- **Race / Ancestry:** Elf
- **Race / Ancestry:** Half-Elf
- **Gender / Pronouns:** He/Him
- **Occupation / Role:** Merchant
- **Faction / Allegiance:**
@@ -1,13 +1,13 @@
---
Level_of_Influence: 0
Faction:
Faction: "[[House Elidari]]"
SMH_Acronym:
Tags:
- npc
---
# Marcellus Magunna
*Role/Description — e.g., "Captain of the Guard", "Elven Scholar", "Local Merchant"*
*Knight Attaché to [[House Elidari]]*
## 🎨 Artwork
![[Marcellus Magunna.png]]
@@ -19,7 +19,7 @@ Tags:
- **Full Name:** Marcellus Magunna
- **Race / Ancestry:**
- **Gender / Pronouns:**
- **Occupation / Role:**
- **Occupation / Role:** Knight Attaché
- **Faction / Allegiance:**
- **SMH (what THEY call it):** `= this.SMH_Acronym`
- **Notable Traits:** (quirks, mannerisms, appearance)
@@ -141,8 +141,8 @@ action Templater: Insert Add Intel Entry to NPC
---
## 🏛️ Relations & Factions
- **Primary Faction:** [[Faction Name]]
- **Allied Factions:** [[Faction A]], [[Faction B]]
- **Primary Faction:** [[The Esoterium]]
- **Allied Factions:** [[House Elidari]]
- **Rival Factions:** [[Faction C]]
- **Personal Enemies / Allies:** [[NPC or PC]]
@@ -1,4 +1,4 @@
p# 🗂 NPC Influence Dashboard
pp# 🗂 NPC Influence Dashboard
> Scale: 10 … 0 … +10 (0 = Neutral; positive = more influential, negative = less)
> Source: **#npc** • Excluding: **NPC Template.md** (change the name below if yours differs)
@@ -7,7 +7,7 @@ Tags:
---
# Nuala Elidari
*Role/Description — e.g., "Captain of the Guard", "Elven Scholar", "Local Merchant"*
*Matriarch of [[House Elidari]]*
## 🎨 Artwork
![[Nuala Elidari.png]]
@@ -141,7 +141,7 @@ action Templater: Insert Add Intel Entry to NPC
---
## 🏛️ Relations & Factions
- **Primary Faction:** [[Faction Name]]
- **Primary Faction:** [[House Elidari]]
- **Allied Factions:** [[Faction A]], [[Faction B]]
- **Rival Factions:** [[Faction C]]
- **Personal Enemies / Allies:** [[NPC or PC]]
@@ -173,6 +173,6 @@ action Templater: Insert Add Intel Entry to NPC
## 🔗 Connections
- **Related NPCs:**
- [[NPC A]] (Mentor)
- [[Onora Elidari]] (Daughter)
- [[NPC B]] (Rival)
- **PC Ties:** (how the party knows them)
@@ -7,7 +7,7 @@ Tags:
---
# Onora Elidari
*Role/Description — e.g., "Captain of the Guard", "Elven Scholar", "Local Merchant"*
*Youngest Daughter of [[House Elidari]]*
## 🎨 Artwork
![[Onora Elidari.png]]
@@ -148,7 +148,7 @@ action Templater: Insert Add Intel Entry to NPC
## 🏛️ Relations & Factions
- **Primary Faction:** [[House Elidari]]
- **Allied Factions:** [[Faction A]], [[Faction B]]
- **Allied Factions:** [[House Calil]], [[Faction B]]
- **Rival Factions:** [[Faction C]]
- **Personal Enemies / Allies:** [[NPC or PC]]
@@ -1,13 +1,13 @@
---
Level_of_Influence: 0
Faction:
Faction: "[[House Vyshaan]]"
SMH_Acronym:
Tags:
- npc
---
# Siviane Marravet
*Role/Description — e.g., "Captain of the Guard", "Elven Scholar", "Local Merchant"*
*Patron of the Arts*
## 🎨 Artwork
![[Siviane Marravet.png]]
@@ -141,7 +141,7 @@ action Templater: Insert Add Intel Entry to NPC
---
## 🏛️ Relations & Factions
- **Primary Faction:** [[Faction Name]]
- **Primary Faction:** [[House Vyshaan]]
- **Allied Factions:** [[Faction A]], [[Faction B]]
- **Rival Factions:** [[Faction C]]
- **Personal Enemies / Allies:** [[NPC or PC]]
@@ -80,6 +80,7 @@ templater true
- **Social / Exploration:**
- [[Kite]] inquires with [[Deidre Gille]] with how we might best further poke our noses into [[House Gille]] - and Deidre is unsure. She doubts that the [[House Gille]] is in this on their own because at the end of the day, this was about Land Prices.
- [[Kite]] inquires about her relationship with Katerine Calil. She wouldn't be surprised if Katerine was involved in something like this.
- [[Val]] has magical runes inscribed on her skin.
- **Combat:**
- **Outcome / Loot:**
@@ -0,0 +1,177 @@
---
Date: 2025-12-03
Session_Name: Session 12 - Summer Solistice Pt. 1
Tags:
- pf2e
- session
---
# Session 12 - Summer Solistice Pt. 1
> **Date:** `= this.Date` • **Name:** `= this.Session_Name`
---
## 📄 Session Summary (auto)
<!-- SUMMARY-START -->
*No summary yet — click “Generate Summary” below.*
<!-- SUMMARY-END -->
```button
name ✍️ Generate AI Summary
type template
action Templates/Generate AI Session Summary.md
templater true
```
## 🧭 Where / When
- **Region / Location:**
- Y'athyr
- **In-game Date / Time:**
- **Weather / Conditions:**
---
## 👥 PCs Present / Absent
- **Present:**
- **Absent:**
---
## ⭐ Highlights (feed the auto-summary)
> Add one or more `Highlight::` lines. The button will build a summary from these.
- Highlight::
- Highlight::
- Highlight::
---
## 🎯 Quests & Progress
- **Active Objectives:**
- **Progress / Resolutions:**
---
## 🗣️ NPCs Met / Factions
- **NPCs:** [[ ]] [[ ]] [[ ]]
- **Factions Touched:** [[ ]] [[ ]]
---
## ⚔️ Encounters
- **Social / Exploration:**
- The Afternoon
- [[Kite]] and [[Calen]] go to speak with [[Calia Noctilun]]. But no new significant information is gained.
- Solasta Masquerade
- The party shares their various outfits.
- [[Val]] decides that her name for the evening will be Helen.
- The main room shows finery reflecting the Tribunal of the Sun with multicolored flowers and fey creatures on the tapestry.
- Where a large chandelier would normally be, they are replaced by a radiant orb of yellow light (representing the sun)
-
- **Combat:**
- **Outcome / Loot:**
---
## 🧠 Intel Captured (auto)
```dataviewjs
const THIS = dv.current();
const sessName = THIS.file.name;
const sessDate = THIS.Date ?? dv.current().file.frontmatter?.Date ?? "";
const sessLC = sessName.toLowerCase();
const pages = dv.pages("#npc or #faction").where(p => p.Intel);
function matchesSessionField(sessionField) {
const list = Array.isArray(sessionField) ? sessionField : [sessionField];
for (const s of list) {
if (!s) continue;
if (typeof s === "object" && s.path) {
const base = s.path.split("/").pop().replace(/\.md$/i,"");
if (base.toLowerCase() === sessLC) return true;
} else {
const text = String(s);
if (text.includes(`[[${sessName}]]`)) return true;
if (text.toLowerCase() === sessLC) return true;
}
}
return false;
}
const rows = [];
for (const p of pages) {
for (const it of p.Intel) {
let ok = false;
if (it.session) ok = matchesSessionField(it.session);
if (!ok && sessDate && it.date) ok = String(it.date) === String(sessDate); // fallback
if (ok) {
rows.push({
from: p.file.link,
date: it.date ?? "",
type: it.type ?? "",
summary: String(it.summary ?? ""),
source: it.source ?? "",
rel: it.reliability ?? "",
cred: it.credibility ?? "",
tags: Array.isArray(it.tags) ? it.tags.join(", ") : (it.tags ?? "")
});
}
}
}
rows.sort((a,b)=> String(b.date).localeCompare(String(a.date)));
if (!rows.length) {
dv.paragraph("_No intel captured for this session yet._");
} else {
dv.table(
["From", "Date", "Type", "Summary", "Source", "Rel", "Cred", "Tags"],
rows.map(r => [r.from, r.date, r.type, r.summary, r.source, r.rel, r.cred, r.tags])
);
}
```
---
## 📦 Treasure & Rewards
- **Items:**
- **Coin:**
- **XP / Milestones:**
---
## 🔜 Next Hooks / To-Dos
- [ ]
- [ ]
- [ ]