diff --git a/content/campaigns/main/systems/krenn/stations/sova/districts/transit/items/smuggler-inventory.yaml b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/items/smuggler-inventory.yaml new file mode 100644 index 000000000..9ee3a1d84 --- /dev/null +++ b/content/campaigns/main/systems/krenn/stations/sova/districts/transit/items/smuggler-inventory.yaml @@ -0,0 +1,281 @@ +# Smuggler Physical Inventory — v0.1 Item Specs +# Ticket: #441 | Sprint: 6 | Decision: D-065 +# Author: Mellanie (copy), covering Paula (narrative systems) + Gestalt (content architecture) +# +# D-065: Knowledge is the primary "inventory" for all characters. The smuggler +# additionally gets 3 physical items because the smuggler's word doesn't carry +# institutional weight — they need tangible proof for leverage. +# +# All items are contraband. All items are private (information boundary, D-010). +# Not visible to other entities unless revealed via search, scan, or confrontation. +# +# Server reads these specs via CarriedBy component + Take/Place verbs (#424). +# Client renders via inventory UI (#438) — 3x3 grid UI, bottom-right, mapped to 1-9 hotkeys. +# +# Voice: smuggler internal perspective. Descriptions are diegetic — the character +# is looking at an item in their pocket. Not neutral game text. +# +# Cross-references: +# Sprint 5: #297 Kael FRIEND pack, #298 Sera FRIEND pack +# NPC profiles: npcs/kael-davan.yaml, npcs/sera-venn.yaml +# Knowledge graph: global/knowledge/investigation.yaml, contraband.yaml +# Smuggler voice: docs/design/smuggler-voice-card.md, docs/design/voice-patterns.md + +archetype: smuggler +capacity: 9 +items: + + # ================================================================ + # ITEM 1: Manifest Copy + # Proves cargo discrepancy. The paper trail the ring can't deny. + # ================================================================ + + - item_id: "item:manifest-copy" + display_name: "Manifest Copy" + description: > + Cargo manifest from last cycle. Three containers that don't match + the dock log. Kael's handwriting on the margins — weight corrections + that never got filed. + flavor_text: "Should've burned this weeks ago." + contraband: true + portable: true + + knowledge_links: + - fact_id: "investigation.manifest_discrepancy" + relationship: "proves" + confidence_granted: "knows_details" + notes: > + Physical proof of cargo routing irregularities. The manifest shows + three containers rerouted during shift transition with weights that + don't reconcile. Cross-ref: Kael dialogue the-terminal_d_008 + ("Manifest says this one's forty kilos over") and the-terminal_d_018 + ("Manifest's clean on my end"). + - fact_id: "investigation.cargo_anomaly" + relationship: "corroborates" + confidence_granted: "knows_of" + notes: > + The weight discrepancies on this manifest are consistent with + unlicensed lattice components hidden in standard freight containers. + + confrontation: + usable_against: + - target: "npc:kael-davan" + leverage_type: "evidence" + notes: > + Kael's handwriting is on the manifest. Presenting this forces + acknowledgment of ring involvement. Gentle confrontation: "I've + got the manifest, Kael. Your handwriting." Harsh: "Want to explain + the weight corrections, or should I show Nils?" + - target: "npc:voss" + leverage_type: "pressure" + notes: > + Voss cleared the schedule windows that made the rerouting possible. + The manifest doesn't name Voss directly, but the timing proves + complicity. Leverage for information, not confession. + - target: "npc:nils-davan" + leverage_type: "insurance" + notes: > + If Nils pushes for higher volume or threatens the smuggler, + the manifest is proof that the operation exists. Mutually + assured destruction — Nils can't deny it without denying Kael. + risk_if_found: > + A copied manifest with annotated discrepancies is direct evidence + of smuggling awareness. If security or the detective finds this, + it links the smuggler to cargo irregularities immediately. + + gameplay: + acquisition: "Starting inventory. The smuggler copied this last cycle as insurance." + take_verb: true + place_verb: true + place_contexts: + - "dead_drop_location" + - "personal_space" + notes: > + Risk/reward: carrying it means evidence walks with you. Placing it + means it could be found by anyone who accesses the location. The + smuggler copied it because trust in the ring is eroding — Nils is + pushing volume, Kael is distracted, Voss is getting nervous. + + # ================================================================ + # ITEM 2: Corridor Access Token + # Proves ring membership. The key that opens doors you shouldn't enter. + # ================================================================ + + - item_id: "item:access-token" + display_name: "Access Token" + description: > + Maintenance corridor keycard. Kael slipped it to me three weeks ago. + Gets you past the service hatches into B-7. No legitimate reason to + have this. + flavor_text: "Hope it still works." + contraband: true + portable: true + + knowledge_links: + - fact_id: "location.corridor_b7_restricted" + relationship: "proves_access" + confidence_granted: "direct" + notes: > + Physical proof of unauthorized access to restricted maintenance + corridors. Corridor B-7 is where the ring operates during shift + transitions and night cycles. Cross-ref: Kael FRIEND arc phase 3 + (smuggler observes Kael in Corridor B-7). + - fact_id: "relationship.ring_membership" + relationship: "corroborates" + confidence_granted: "knows_details" + notes: > + Possessing this token proves connection to the ring's infrastructure. + Legitimate maintenance workers use Commission-issued access. + This is a copied token — ring-internal distribution. + + confrontation: + usable_against: + - target: "npc:kael-davan" + leverage_type: "shared_guilt" + notes: > + Kael gave this to the smuggler. Both are implicated. Not leverage + against Kael so much as proof of shared position — "We're in this + together." Useful for demanding honesty about the exit attempt. + - target: "npc:devra" + leverage_type: "proof_of_standing" + notes: > + Showing the token to Devra proves operational involvement. Opens + ring-internal dialogue that would otherwise require vouching. + The token is a credential, not a weapon. + risk_if_found: > + Unauthorized corridor access token found on a dock worker. Security + would flag this immediately. The detective's analytical lattice would + connect it to Corridor B-7 activity patterns. No plausible cover. + + gameplay: + acquisition: "Starting inventory. Kael provided it three weeks before session start." + take_verb: true + place_verb: true + place_contexts: + - "dead_drop_location" + - "personal_space" + functional: true + functional_notes: > + The access token actually opens Corridor B-7 service hatches. Carrying + it grants physical access to restricted maintenance corridors. Without + it, the smuggler cannot enter ring operating spaces. Gameplay tension: + you need it to do ring work, but carrying it is incriminating. + + # ================================================================ + # ITEM 3: Personal Comm Log + # Bridge between knowledge and provable leverage. The receipts. + # ================================================================ + + - item_id: "item:comm-log" + display_name: "Comm Log" + description: > + Three months of messages. Times, names, drop schedules. Nils + arranging volumes, Kael confirming routes, Renn reporting handoffs. + Everything the ring said it never said. + flavor_text: "Should've wiped these. Didn't." + contraband: true + portable: true + + knowledge_links: + - fact_id: "contraband.supply_chain" + relationship: "proves" + confidence_granted: "knows_details" + notes: > + The comm log contains operational messages about lattice component + shipments — arrival windows, container IDs, handoff confirmations. + This is the full supply chain in text. Cross-ref: D-037 (contraband + is unlicensed lattice components, not weapons). + - fact_id: "relationship.trust_network" + relationship: "proves" + confidence_granted: "knows_details" + notes: > + Messages between Nils, Kael, Renn, Devra, and the smuggler. The comm + log maps the ring's social structure — who coordinates with whom, + who reports to whom. Cross-ref: triangle hub-power (Voss-Kael-Nils) + and triangle worried-partner (Naia-Kael-Sera). + - fact_id: "investigation.shift_mismatch" + relationship: "corroborates" + confidence_granted: "knows_of" + notes: > + Several messages reference shift timing — "window's clear at 14:15" + or "Voss moved the rotation, new window at 14:30." Corroborates + the pattern that shift manipulations enable smuggling operations. + + confrontation: + usable_against: + - target: "npc:nils-davan" + leverage_type: "mutually_assured" + notes: > + Nils's name is in the messages. Arranging volumes, setting + schedules, confirming drops. If Nils tries to cut the smuggler + out or shift blame, the comm log proves his coordination role. + The nuclear option. + - target: "npc:kael-davan" + leverage_type: "evidence" + notes: > + Kael's route confirmations are in the log. But more importantly, + the log shows Kael's messages STOPPING three weeks ago — silence + that correlates with the exit attempt. The absence is evidence. + "You stopped answering, Kael. I noticed." + - target: "npc:renn" + leverage_type: "pressure" + notes: > + Renn's handoff reports are recorded. Leverage for cooperation + or information if the smuggler needs to pressure a ring member + without going through Nils. + risk_if_found: > + Three months of incriminating communications naming ring members, + shipment details, and operational timing. This is the single most + damaging item the smuggler carries. If the detective finds it, + the entire ring is compromised. If Nils finds it, the smuggler + kept records against explicit protocol. + + gameplay: + acquisition: "Starting inventory. The smuggler has been saving messages as insurance." + take_verb: true + place_verb: true + place_contexts: + - "dead_drop_location" + - "personal_space" + notes: > + The comm log is the smuggler's most powerful and most dangerous item. + It proves the supply chain, maps the trust network, and corroborates + shift manipulation. It's also the item that most clearly differentiates + the smuggler from the detective — the detective builds a case from + observation and institutional access. The smuggler already HAS the case. + The question is what to do with it. + +# ================================================================ +# SCHEMA NOTES (for Gestalt / content pipeline) +# ================================================================ +# +# Item spec schema (proposed for content/_schema/item-spec.schema.json): +# required: item_id, display_name, description, contraband, portable +# optional: flavor_text, knowledge_links[], confrontation{}, gameplay{} +# +# knowledge_links[]: +# fact_id: string (matches global/knowledge/*.yaml fact_id) +# relationship: enum [proves, corroborates, suggests] +# confidence_granted: enum [suspects, knows_of, knows_details, direct] +# notes: string (authoring context, not displayed in-game) +# +# confrontation.usable_against[]: +# target: string (canonical NPC id) +# leverage_type: enum [evidence, pressure, shared_guilt, insurance, +# proof_of_standing, mutually_assured] +# notes: string (authoring context) +# +# confrontation.risk_if_found: string (consequence description) +# +# gameplay: +# acquisition: string (how the player gets this item) +# take_verb: bool (can be picked up) +# place_verb: bool (can be placed in world) +# place_contexts: list (valid placement locations) +# functional: bool (does the item DO something beyond evidence?) +# functional_notes: string (what it does) +# +# Display constraints (per D-065): +# - description: max 2 sentences, ~30 words, smuggler voice +# - flavor_text: max 1 sentence, ~10 words +# - UI: 3x3 grid, bottom-right, mapped to 1-9 hotkeys