---
Level_of_Influence: 9
Faction: "[[House Vyshaan]]"
SMH_Acronym:
Tags:
  - npc
Intel:
  - date: 2026-04-23
    type: rumor
    summary: "[[Siviane Marravet]] is known to spend time at the finest parlors and otherwise known to be at opening night(s) at the Figment Grand Hall. Otherwise she can sometimes be found near the docks."
    session: "[[Session 28 - Downtime Activities]]"
    source: "[[Metternich]]"
    reliability: B
    credibility: 4
    tags: []
  - date: 2025-12-3
    type: interaction
    summary: "[[Siviane Marravet]] seems to be entirely aware of who [[Metternich]] is, and his ties to Alsat."
    source: "[[Siviane Marravet]]"
    reliability: A
    credibility: 5
    tags: []
Knows About HQ: "False"
---


# Siviane Marravet
*Patron of the Arts, the Lady of Emberwine*

## 🎨 Artwork
![[Siviane Marravet.png]]
*Optional caption / alt text*

---

## 🧑 NPC Overview
- **Full Name:** Siviane Marravet
- **Race / Ancestry:** Elf
- **Gender / Pronouns:** She/Her
- **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***
		- DC 15 Espionage Lore
		- DC 18 Society
		- DC 18 Deception
		- DC 20 Perception
	- ***Influence Skills***
		- DC 15 Espionage Lore
		- DC 18 Thievery
		- DC 18 Stealth
		- DC 20 Performance
		- DC 22 Diplomacy
		- DC 25 Intimidation
	- ***Weaknesses***
		- Sharing juicy gossip or industry secrets reduces the influence DC by 4.
	- ***Resistances***
		- Fruitless conversations increase the check's DC by 4.
	- ***Biases***
		- People who present themselves as being useful for subterfuge, backstabbing or politicking gain a +2 bonus.
		- Stalwart Lawful individuals gain a -2 penalty


---

## 🧠 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 Vyshaan]]
- **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:** (how the party knows them)
