---
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: …
