Files

214 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
Level_of_Influence: 6
Faction: "[[House Asase]]"
SMH_Acronym:
Tags:
- npc
Intel:
- date: 2025-12-10
type: interaction
summary: "[[Nuala Elidari]] extends an offer of adoption to [[Faylen Valrora]] into [[House Elidari]], under the stewardship of [[Avas Assase]], as well as a position as Meister under him."
session: "[[Session 13 - Summer Solistice Pt. 2]]"
source: "[[Nuala Elidari]]"
reliability: A
credibility: 5
tags: []
- 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
*Archmeister of Y'athyr*
## 🎨 Artwork
![[Avas Assase.png]]
*Optional caption / alt text*
---
## 🧑 NPC Overview
- **Full Name:** Avas Assase
- **Race / Ancestry:** Elf
- **Gender / Pronouns:** He/Him
- **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)
- **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 Genealogy Lore
- DC 18 Society
- 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***
- Referring to him as anything other than "Archmeister Assase" increases the Influence DC by 4
- ***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 Asase]]
- **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:**
- [[Iniana Asase]] (Daughter)
- [[NPC B]] (Rival)
- **PC Ties:** (how the party knows them)