# jedinick/valyrian_steel architecture

> Architecture diagram of the GitHub repository jedinick/valyrian_steel, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/jedinick/valyrian_steel
- Repository: https://github.com/jedinick/valyrian_steel

## Overview

Valyrian Steel is a Crusader Kings III mod centered on expeditions to Old Valyria that let a player seek rare artifacts through a courtier. The documented journey runs from funding an expedition and choosing an explorer to randomized outcomes, artifact recovery, and possible injury, disease, or death; outcomes are recorded through the game’s memory system. Artifact definitions and 3D assets support recovered items and court display. The README documents optional Full Screen Barbershop integration. Source excerpts were unavailable, so links reflect documented capabilities and tree paths, not verified implementation calls.

Main entry points: [`events/decisions_events`](https://github.com/jedinick/valyrian_steel/tree/main/events/decisions_events) (Decision Outcomes), [`common/decisions/10_valyrians_decisions.txt`](https://github.com/jedinick/valyrian_steel/blob/main/common/decisions/10_valyrians_decisions.txt) (Fund Expedition), [`events/decisions_events/fund_expedition.txt`](https://github.com/jedinick/valyrian_steel/blob/main/events/decisions_events/fund_expedition.txt) (Expedition Events), [`common/scripted_effects`](https://github.com/jedinick/valyrian_steel/tree/main/common/scripted_effects) (Artifact Creation)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_expedition["Expeditions"]
  node_fund["Fund Expedition"]
  node_expedition_events["Expedition Events"]
end

subgraph group_outcomes["Outcomes"]
  node_outcome_events["Decision Outcomes"]
  node_memories["Character Memories"]
  node_hazards["Hazards and Death"]
end

subgraph group_artifacts["Artifacts"]
  node_artifact_effects["Artifact Creation"]
  node_artifact_catalog["Artifact Catalog"]
end

subgraph group_presentation["Presentation"]
  node_court_display["Court Display"]
  node_artifact_models["Artifact Models"]
  node_barbershop["Barbershop Integration"]
end

node_player(("Player"))
node_ck3["CK3 Game"]
node_fsb["Full Screen Barbershop"]

node_player -->|"chooses"| node_fund
node_fund -->|"starts expedition"| node_expedition_events
node_expedition_events -->|"resolves outcome"| node_outcome_events
node_outcome_events -->|"creates finds"| node_artifact_effects
node_artifact_effects -->|"defines artifacts"| node_artifact_catalog
node_outcome_events -->|"records outcome"| node_memories
node_outcome_events -->|"may cause"| node_hazards
node_artifact_catalog -->|"enables display"| node_court_display
node_court_display -->|"uses models"| node_artifact_models
node_barbershop -.->|"optional integration"| node_fsb

click node_fund "https://github.com/jedinick/valyrian_steel/blob/main/common/decisions/10_valyrians_decisions.txt"
click node_expedition_events "https://github.com/jedinick/valyrian_steel/blob/main/events/decisions_events/fund_expedition.txt"
click node_outcome_events "https://github.com/jedinick/valyrian_steel/tree/main/events/decisions_events"
click node_artifact_effects "https://github.com/jedinick/valyrian_steel/tree/main/common/scripted_effects"
click node_artifact_catalog "https://github.com/jedinick/valyrian_steel/tree/main/common/artifacts"
click node_memories "https://github.com/jedinick/valyrian_steel/blob/main/common/character_memory_types/valyrian_memories.txt"
click node_hazards "https://github.com/jedinick/valyrian_steel/blob/main/common/deathreasons/00_valyrian_death_reasons.txt"
click node_court_display "https://github.com/jedinick/valyrian_steel/tree/main/common/artifacts"
click node_artifact_models "https://github.com/jedinick/valyrian_steel/tree/main/gfx/models/artifacts"
click node_barbershop "https://github.com/jedinick/valyrian_steel/tree/main/gfx/portraits/portrait_animations"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_fund,node_expedition_events,node_fsb toneBlue
class node_outcome_events,node_memories,node_hazards toneAmber
class node_artifact_effects,node_artifact_catalog toneMint
class node_court_display,node_artifact_models,node_barbershop toneRose
class node_player,node_ck3 toneIndigo
```

## Components

### Expeditions

- [Fund Expedition](https://github.com/jedinick/valyrian_steel/blob/main/common/decisions/10_valyrians_decisions.txt): `common/decisions/10_valyrians_decisions.txt`
- [Expedition Events](https://github.com/jedinick/valyrian_steel/blob/main/events/decisions_events/fund_expedition.txt): `events/decisions_events/fund_expedition.txt`

### Outcomes

- [Decision Outcomes](https://github.com/jedinick/valyrian_steel/tree/main/events/decisions_events): `events/decisions_events`
- [Character Memories](https://github.com/jedinick/valyrian_steel/blob/main/common/character_memory_types/valyrian_memories.txt): `common/character_memory_types/valyrian_memories.txt`
- [Hazards and Death](https://github.com/jedinick/valyrian_steel/blob/main/common/deathreasons/00_valyrian_death_reasons.txt): `common/deathreasons/00_valyrian_death_reasons.txt`

### Artifacts

- [Artifact Creation](https://github.com/jedinick/valyrian_steel/tree/main/common/scripted_effects): `common/scripted_effects`
- [Artifact Catalog](https://github.com/jedinick/valyrian_steel/tree/main/common/artifacts): `common/artifacts`

### Presentation

- [Court Display](https://github.com/jedinick/valyrian_steel/tree/main/common/artifacts): `common/artifacts`
- [Artifact Models](https://github.com/jedinick/valyrian_steel/tree/main/gfx/models/artifacts): `gfx/models/artifacts`
- [Barbershop Integration](https://github.com/jedinick/valyrian_steel/tree/main/gfx/portraits/portrait_animations): `gfx/portraits/portrait_animations`

### Other components

- **Player**
- **CK3 Game**
- **Full Screen Barbershop**

## Connections

- Player → Fund Expedition: chooses
- Fund Expedition → Expedition Events: starts expedition
- Expedition Events → Decision Outcomes: resolves outcome
- Decision Outcomes → Artifact Creation: creates finds
- Artifact Creation → Artifact Catalog: defines artifacts
- Decision Outcomes → Character Memories: records outcome
- Decision Outcomes → Hazards and Death: may cause
- Artifact Catalog → Court Display: enables display
- Court Display → Artifact Models: uses models
- Barbershop Integration → Full Screen Barbershop: optional integration
