--- Date: 2026-04-16 Session_Name: Session 27 - A Many Tentacled Problem Tags: - pf2e - session --- # Session 27 - A Many Tentacled Problem > **Date:** `= this.Date` • **Name:** `= this.Session_Name` --- ## 📄 Session Summary (auto) *No summary yet — click “Generate Summary” below.* ```button name ✍️ Generate AI Summary type template action Templates/Generate AI Session Summary.md templater true ``` ## 🧭 Where / When - **Region / Location:** - The Hole underneath the Former Maelstrom in The Wells District of 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:** - We're able to remove some of the bodies from the cocoon and find some Hellknight's from the Order of the Rack - We head to a Guard Station near Whitewater - find a two people (a human, who were all wearing Hellknight Armor) who had missing person posters up. The Human has been missing for all of two weeks. - The following morning: - Part of the group goes to meet with [[Calia Noctilun]] - Part of the group goes to meet with [[Fenric Draycott]] - [[Faylen Valora]] asks for a ship to help smuggle some Alsatian's into Alseta's Redoubt. - [[Faylen Valora]] lets the entire cat out of the bag, and the group continues to try and persuade him. - - **Combat:** - We resume combat with the Giant Wyrm and the remaining Caligni - RK on the Monster: - Seugathi reality warpers create and destroy inhospitable environments on a small scale by manipulating the forces of raw chaos. A neothelid might spawn such a seugathi to create habitats for unique slaves or guests, or to destroy the ecosystem of a troublesome species. Darklands scholars refer to reality warpers as veterans in the seugathi ranks, but they're more accurately compared to aggressive landscape architects. The wicked, alien Neothelids impregnate themselves through ritualistic magic to produce wormlike servitor creatures called seugathis. These creatures spawn with a strong psychic drive to complete some task on behalf of the neothelids' far-reaching plans. These directives are diverse, strange, and usually cruel toward humanoid life - It's a long, hard fight, but we're able to take down the creature with the group nearing the end of it's capabilities. - [[Kite]] deals the finishing blow. - **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 - [ ] - [ ] - [ ]