vault backup: 2025-10-02 17:18
This commit is contained in:
+251
@@ -0,0 +1,251 @@
|
||||
---
|
||||
Reputation: 0
|
||||
Faction_Type: Gang
|
||||
Motto:
|
||||
Ideology:
|
||||
Symbol: Hammer & Chisel
|
||||
Colors:
|
||||
Headquarters:
|
||||
Territories:
|
||||
- Whitewater
|
||||
Allies:
|
||||
-
|
||||
Rivals:
|
||||
-
|
||||
SMH_Acronym:
|
||||
Intel:
|
||||
- date: 2025-10-02
|
||||
type: interaction
|
||||
summary: Vaust informs us that [[House Tenrae]] has been using [[The Archmasons]] as pseudo-mercenaries.
|
||||
source: "[[Lord Ellin Vaust]]"
|
||||
reliability: B
|
||||
credibility: 4
|
||||
tags: []
|
||||
- date: 2025-10-02
|
||||
type: rumor
|
||||
summary: Fritch would be our best vector of getting further information on [[The Archmasons]]
|
||||
source: "[[Kite]]"
|
||||
reliability: C
|
||||
credibility: 4
|
||||
tags: []
|
||||
- date: 2025-10-02
|
||||
type: rumor
|
||||
summary: "They are undertaking an ongoing project to excavate under the arch to build out carved out homes and save those for who are loyal or can offer something to [[The Archmasons]]. Anyone who can offer services is often compensated and provided those homes. "
|
||||
source: "[[Calen]]"
|
||||
reliability: B
|
||||
credibility: 4
|
||||
tags: []
|
||||
- date: 2025-10-02
|
||||
type: rumor
|
||||
summary: People in Whitewater are walking on eggshells to avoid injury - it's not uncommon for someone in the way of the Arch masons getting hurt. Most could benefit from Magical Healing. Disease is not uncommon here, but most people hope for the best.
|
||||
source: "[[Calen]]"
|
||||
reliability: B
|
||||
credibility: 4
|
||||
tags: []
|
||||
Tags:
|
||||
- faction
|
||||
---
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# The Archmasons
|
||||
*Ruling Faction of the Whitewater District*
|
||||
|
||||
---
|
||||
|
||||
## 🎨 Artwork
|
||||
![[The Archmasons.png]]
|
||||
*Optional caption / artist credit*
|
||||
|
||||
---
|
||||
|
||||
## 🧭 Identity & Heraldry
|
||||
- **Motto:** `= default(this.Motto, "—")`
|
||||
- **Symbol:** `= default(this.Symbol, "—")`
|
||||
- **Colors:** `= default(this.Colors, "—")`
|
||||
- **Headquarters:** `= default(this.Headquarters, "—")`
|
||||
- **Territories:** `= this.Territories`
|
||||
|
||||
---
|
||||
|
||||
## 📜 Ideology & Goals
|
||||
- **Ideology / Alignment:** `= default(this.Ideology, "—")`
|
||||
- **Primary Goals:**
|
||||
- Runs a Protection Racket in Whitewater
|
||||
- **Taboos / Anathema:**
|
||||
-
|
||||
|
||||
---
|
||||
|
||||
## 🤝 Relationship with Party
|
||||
- **Reputation:** `= this.Reputation`
|
||||
|
||||
---
|
||||
|
||||
## 🧑💼 Leadership & Structure
|
||||
- **Leader(s):** [[NPC A]], [[NPC B]]
|
||||
- **Structure:** (council, hierarchy, cells, chapters)
|
||||
- **Key Offices:** (Intelligence, Logistics, Priory, Treasury, etc.)
|
||||
|
||||
---
|
||||
|
||||
## 🧰 Assets & Operations
|
||||
- **Resources:** (coin, troops, mages, ships, safehouses, contacts)
|
||||
- **Notable Holdings:**
|
||||
- **Typical Ops / Tactics:**
|
||||
- Protection Rackets
|
||||
|
||||
---
|
||||
|
||||
## 🕊️ Diplomacy & Relations
|
||||
- **Allies:** `= this.Allies`
|
||||
- **Rivals:** `= this.Rivals`
|
||||
- **Stance toward “SMH” (their wording):** `= default(this.SMH_Acronym, "—")`
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Intelligence & Mentions
|
||||
```button
|
||||
name ➕ Add Intel
|
||||
type command
|
||||
action Templater: Insert Add Intel Entry to Faction
|
||||
```
|
||||
```dataviewjs
|
||||
const THIS = dv.current();
|
||||
const thisName = String(THIS.file.name);
|
||||
const thisLC = thisName.toLowerCase();
|
||||
|
||||
const factions = dv.pages("#faction");
|
||||
|
||||
// mention detector (same logic as your table)
|
||||
function mentionsThisFaction(entry) {
|
||||
const sum = String(entry.summary ?? "");
|
||||
if (sum.includes(`[[${thisName}]]`) || sum.includes(`[[${thisName}|`)) return true;
|
||||
const src = entry.source;
|
||||
const list = Array.isArray(src) ? src : (src ? [src] : []);
|
||||
for (const s of list) {
|
||||
if (typeof s === "string") {
|
||||
if (s.includes(`[[${thisName}]]`) || s.includes(`[[${thisName}|`)) return true;
|
||||
if (s.toLowerCase() === thisLC) return true;
|
||||
} else if (s && typeof s === "object" && s.path) {
|
||||
const base = s.path.split("/").pop().replace(/\.md$/i,"").toLowerCase();
|
||||
if (base === thisLC) return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
const own = (THIS.Intel ?? []).length;
|
||||
|
||||
let mentions = 0;
|
||||
for (const p of factions.where(p => p.file.name !== thisName)) {
|
||||
for (const it of (p.Intel ?? [])) if (mentionsThisFaction(it)) mentions++;
|
||||
}
|
||||
|
||||
dv.paragraph(`_Entries: ${own + mentions} (own ${own} + mentions ${mentions})_`);
|
||||
```
|
||||
```dataviewjs
|
||||
// Current faction
|
||||
const THIS = dv.current();
|
||||
const thisName = String(THIS.file.name);
|
||||
const thisLC = thisName.toLowerCase();
|
||||
|
||||
// All faction pages (including this one)
|
||||
const factions = dv.pages("#faction");
|
||||
|
||||
// Mention detector: summary has [[This Faction]] OR source points at this faction
|
||||
function mentionsThisFaction(entry) {
|
||||
const sum = String(entry.summary ?? "");
|
||||
if (sum.includes(`[[${thisName}]]`) || sum.includes(`[[${thisName}|`)) return true;
|
||||
|
||||
const src = entry.source;
|
||||
const list = Array.isArray(src) ? src : (src ? [src] : []);
|
||||
for (const s of list) {
|
||||
if (typeof s === "string") {
|
||||
if (s.includes(`[[${thisName}]]`) || s.includes(`[[${thisName}|`)) return true;
|
||||
if (s.toLowerCase() === thisLC) return true; // fallback: plain text match
|
||||
} 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;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
// Collect rows
|
||||
const rows = [];
|
||||
|
||||
// 1) Own intel
|
||||
for (const it of (THIS.Intel ?? [])) {
|
||||
rows.push({
|
||||
date: it.date ?? "",
|
||||
from: THIS.file.link,
|
||||
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 ?? "")
|
||||
});
|
||||
}
|
||||
|
||||
// 2) Mentions from other factions
|
||||
for (const p of factions.where(p => p.file.name !== thisName)) {
|
||||
for (const it of (p.Intel ?? [])) {
|
||||
if (mentionsThisFaction(it)) {
|
||||
rows.push({
|
||||
date: it.date ?? "",
|
||||
from: p.file.link,
|
||||
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 ?? "")
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sort newest first
|
||||
rows.sort((a,b) => String(b.date).localeCompare(String(a.date)));
|
||||
|
||||
if (!rows.length) {
|
||||
dv.paragraph("_No intel yet._");
|
||||
} else {
|
||||
dv.table(
|
||||
["Date","From Faction","Type","Summary","Source","Rel","Cred","Tags"],
|
||||
rows.map(r => [r.date, r.from, r.type, r.summary, r.source, r.rel, r.cred, r.tags])
|
||||
);
|
||||
}
|
||||
```
|
||||
> Add new entries in the **frontmatter** under `Intel:` (keep newest on top). Suggested fields: `date, type, summary, source, reliability, credibility, tags`.
|
||||
|
||||
---
|
||||
|
||||
## 🔗 Related NPCs (auto)
|
||||
```dataview
|
||||
TABLE link(file.name) AS NPC, number(Level_of_Influence) AS Influence, default(SMH_Acronym, "—") AS SMH
|
||||
FROM #npc
|
||||
WHERE file.name != "NPC Template"
|
||||
AND (
|
||||
Faction = this.file.link
|
||||
OR lower(string(Faction)) = lower(this.file.name)
|
||||
OR contains(lower(string(Faction)), lower(this.file.name))
|
||||
)
|
||||
SORT number(Level_of_Influence) DESC
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📌 Plot Hooks & Notes
|
||||
-
|
||||
-
|
||||
|
||||
---
|
||||
|
||||
## 🗒 Session Updates
|
||||
- 2025-10-02: …
|
||||
Reference in New Issue
Block a user