Repository navigation
[Epic] Caravan / Trading-Nomad Domain #545
Copy link
Copy link
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Activity
- added 12 commits that reference this issue
on May 28, 2026 Quantumheart commented
on May 29, 2026 OwnerAuthorMore actionsPhase 4 design note (#433 — trade table scaffolding)
Posted the full "Bill of Barter" design on #433. Key decisions that affect the rest of Phase 4:
- Caravan shrine right-click → trade table directly (no Pray/Trade menu). Prayer stays on the regular altar; the shrine stops emitting the prayer-on-use path. Tier-1-altar siting + placement/destruction wiring unchanged.
- Trade UI is a paper "bill of barter" ledger, not a 3×3 drag-drop grid. Rationale: a game-slot grid clashes with the codex/ledger aesthetic, and ImGui cannot accept native VS item drags (held-itemstack drag is native-
GuiElementItemSlotGrid-only; the VSImGui overlay can't be a drop target). UI uses click-to-select with item names + counts (no liveItemStackicons — that'd need offscreen framebuffer rendering not present anywhere in the codebase). - Per-side capacity still 9 offered stacks (former 3×3 = 9), rendered as a ledger list.
- Server-authoritative
CaravanTradeSessionManager; server auto-assigns seats (A then B).
Implications for #434: the escrow/atomic-swap layer plugs into the same server session and the "both SEALED" terminal state; continuous 6-block leash + disconnect/crash safety land there, not in #433.
Generated by Claude Code
- added a commit that references this issue
on May 29, 2026
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request
Projects
- StatusShow more project fieldsTodo
A 5th
DeityDomain— Caravan — built around two new favor verbs (NPC trade, exploration) and the mod's first player-to-player exchange surface (shrine-hosted trade table). First domain to ship a placeable capstone block.Key decisions
caravan_avatar_roadgrants acaravanshrineblock that acts as a tier-1 altar and hosts the player trade table. One per player./giftcommand proposal. Server-authoritative two-pane dialog with escrow, anti-switcheroo (offer change clears the other side's ready), distance leash (6 blocks), and crash/disconnect recovery. Zero item-loss is the bar.trade_hubmilestone) over bumpingunited_frontto 5 domains — keeps existing civ progression intact.DiscoveredChunks: HashSet<long>onPlayerProgressionData→DataVersion = 5. v4 → v5 migration loads empty (no retroactive favor).Vertical slices
Phase 1 — domain visible + first favor source (NPC trade)
DeityDomain.Caravanenum + UI plumbing — Caravan: add DeityDomain enum value + UI plumbing #427TraderTransactionFavorTracker+TraderPatches— Caravan: TraderTransactionFavorTracker + TraderPatches #429Phase 2 — Wayfaring favor source
DiscoveredChunks+ bumpDataVersionto 5 — Caravan: persist DiscoveredChunks + bump DataVersion to 5 #430ExplorationFavorTracker(chunk-transition based) — Caravan: ExplorationFavorTracker (chunk-transition based) #431Phase 3 — capstone block
BlockBehaviorCaravanShrine— Caravan: portable shrine block + BlockBehaviorCaravanShrine #432Phase 4 — player-to-player trade table
Cross-cutting
GameBalanceConfig— Caravan: balance config knobs in GameBalanceConfig #437Dependency graph
Phase 1 and Phase 2 land in parallel. Phase 4 is the long pole (escrow safety is the hardest).
Risks
ilspycmdverification.Plan doc