Complete KQVI chart overhaul: SVG rendering, pawn shop simplification, and cleanup
- Add build.sh wrapper script for SVG rendering via mermaid-cli - Simplify pawn shop: remove trade chain, show items as UNLOCKED directly - Add documented color palette for repeat areas - Fix 16 orphaned nodes (input/output connectivity issues) - Apply bigger subgraph titles (18px for Final Confrontation) - Ensure only START/END outside subgraph groupings Build: ./build.sh (not mdbook build)
This commit is contained in:
@@ -16,6 +16,19 @@ flowchart TD
|
||||
classDef area_castle fill:#FFD9CC,stroke:#663320,stroke-width:2px
|
||||
classDef area_final fill:#FFCCE6,stroke:#660033,stroke-width:2px
|
||||
|
||||
%% =============================================================================
|
||||
%% COLOR PALETTE (index-based for repeat areas)
|
||||
%% =============================================================================
|
||||
%% 0: #FFFFFF (white - default/ungrouped)
|
||||
%% 1: #E3F2FD (light blue - Isle of Crown)
|
||||
%% 2: #FFF3E0 (light orange - Isle of Wonder)
|
||||
%% 3: #F3E5F5 (light purple - Isle of Beast)
|
||||
%% 4: #E8F5E9 (light green - Isle of Mists)
|
||||
%% 5: #FFF8E1 (light amber - Sacred Mountain)
|
||||
%% 6: #FCE4EC (light pink - Druid Island)
|
||||
%% 7: #E0F7FA (light cyan - Realm of Dead)
|
||||
%% 8: #F5F5F5 (light grey - Village)
|
||||
|
||||
%% =============================================================================
|
||||
%% TOP: START NODE (only non-subgraph node besides END)
|
||||
%% =============================================================================
|
||||
@@ -87,12 +100,9 @@ flowchart TD
|
||||
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_NIGHTINGALE
|
||||
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_MINT
|
||||
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_INK
|
||||
O_RECEIVE_NIGHTINGALE --> A_TRADE_WITH_BROKER_N["A: Trade Nightingale"]
|
||||
A_TRADE_WITH_BROKER_N -.-> O_RECEIVE_FLUTE
|
||||
O_RECEIVE_FLUTE --> A_TRADE_WITH_BROKER_F["A: Trade Flute"]
|
||||
A_TRADE_WITH_BROKER_F -.-> O_RECEIVE_TINDERBOX
|
||||
O_RECEIVE_TINDERBOX --> A_TRADE_WITH_BROKER_T["A: Trade Tinderbox"]
|
||||
A_TRADE_WITH_BROKER_T -.-> O_RECEIVE_PAINTBRUSH
|
||||
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_FLUTE
|
||||
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_TINDERBOX
|
||||
A_TALK_TO_PAWN_BROKER --> O_RECEIVE_PAINTBRUSH
|
||||
|
||||
P_PROBLEM_FERRYMAN --> A_TALK_TO_FERRYMAN
|
||||
A_TALK_TO_FERRYMAN --> O_RECEIVE_RABBIT_FOOT
|
||||
@@ -671,5 +681,5 @@ flowchart TD
|
||||
%% =============================================================================
|
||||
class START,END,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C_RETURN start_end
|
||||
class P_PROBLEM_PAWN_SHOP,P_PROBLEM_NEED_MAP,P_PROBLEM_FERRYMAN,P_PROBLEM_JOLLO,P_PROBLEM_GNOMES,P_PROBLEM_BOILING_POOL,P_PROBLEM_MAZE_L1,P_PROBLEM_DARK_L2,P_PROBLEM_MINOTAUR,P_PROBLEM_ARCHER,P_PROBLEM_ROSE_HEDGE,P_PROBLEM_MEET_BEAST,P_PROBLEM_LOGIC_CLIFFS,P_PROBLEM_DARK_CAVE,P_PROBLEM_POISON_LADY,P_PROBLEM_SPELL_COMPONENTS,P_PROBLEM_DRUIDS,P_PROBLEM_ENTER_ROD,P_PROBLEM_ZOMBIES,P_PROBLEM_GATE,P_PROBLEM_CHARON,P_PROBLEM_STYX,P_PROBLEM_GATE_RIDDLE,P_PROBLEM_DEATH,P_PROBLEM_ENTER_CASTLE,P_PROBLEM_GUARDS,P_PROBLEM_PASSWORD,P_PROBLEM_CASSIMA,P_PROBLEM_VIZIER_CHEST,P_PROBLEM_TREASURY,P_PROBLEM_GENIE,P_PROBLEM_VIZIER problem
|
||||
class A_MOVE_PLANK,A_EXAMINE_DEBRIS,A_SHOW_RING_TO_GUARDS,A_TALK_TO_PAWN_BROKER,A_TRADE_RING_FOR_MAP,A_TALK_TO_FERRYMAN,A_TALK_TO_JOLLO,A_SHOW_RING_TO_JOLLO,A_SEARCH_BOOKSHELF,A_GIVE_STINKY_FLOWER,A_PLAY_NIGHTINGALE,A_GIVE_MINT,A_GIVE_RABBIT_FOOT,A_USE_INK_ON_SELF,A_READ_BOOK_TO_OYSTER,A_PLAY_FLUTE_FLOWERS,A_PICK_ICEY_LETTUCE,A_PICK_ROTTEN_TOMATO,A_GIVE_ROTTEN_TOMATO,A_GIVE_MILK_TO_PLANT,A_GET_MILK_BOTTLE,A_GET_TEA_CUP,A_PICK_DRINK_ME_POTION,A_TALK_TO_QUEENS,A_PULL_THREAD,A_SEARCH_POETRY_SHELF,A_TRADE_PARTICIPLE_BOOK,A_COOL_POOL,A_GET_BRICK,A_GET_HUNTERS_LAMP,A_GET_DANGLING_PARTICIPLE,A_SOLVE_TILE_PUZZLE,A_NAVIGATE_TO_SKELETON,A_COLLECT_COINS,A_USE_BRICK_TRAP,A_LIGHT_TINDERBOX,A_USE_HOLE_IN_WALL,A_FIND_SHIELD,A_LURE_MINOTAUR,A_USE_SHIELD_STATUE,A_CUT_HEDGE,A_GIVE_WHITE_ROSE,A_GIVE_RING_TO_BEAUTY,A_PLACE_ROSE,A_SOLVE_CLIFF_PUZZLES,A_GET_BLACK_FEATHER,A_GET_STINKY_FLOWER,A_LIGHT_CAVE,A_REJECT_POISON,A_COLLECT_COMPONENTS,A_GET_EMBER,A_GET_HAIR,A_GET_SPOILED_EGG,A_CAST_CHARM_SPELL,A_CAST_RAIN_SPELL,A_WEAR_BEAUTYS_DRESS,A_GET_SCYTHE,A_GET_COAL,A_RIDE_NIGHTMARE,A_AVOID_ZOMBIES,A_TALK_TO_CASSIMA_PARENTS,A_TALK_TO_GHOST_MOTHER,A_GIVE_TICKET,A_PLAY_BONES,A_PAY_CHARON,A_COLLECT_STYX_WATER,A_SEARCH_KNIGHT,A_ANSWER_LOVE,A_SHOW_MIRROR_DEATH,A_PAINT_DOOR,A_CAST_PAINT_SPELL,A_WEAR_DISGUISE,A_DISTRACT_GUARDS,A_TALK_TO_GHOST_BOY,A_GIVE_LAMP_REPLICA,A_FIND_ALI_PASSWORD,A_FIND_ZEBU_PASSWORD,A_GIVE_DAGGER,A_COMBINE_PASSWORD,A_UNLOCK_CHEST,A_OPEN_TREASURY,A_USE_FAKE_LAMP,A_GIVE_MINT_GENIE,A_FIGHT_VIZIER,A_TRADE_WITH_BROKER_N,A_TRADE_WITH_BROKER_F,A_TRADE_WITH_BROKER_T,A_TRADE_COAL_FOR_EGG action
|
||||
class A_MOVE_PLANK,A_EXAMINE_DEBRIS,A_SHOW_RING_TO_GUARDS,A_TALK_TO_PAWN_BROKER,A_TRADE_RING_FOR_MAP,A_TALK_TO_FERRYMAN,A_TALK_TO_JOLLO,A_SHOW_RING_TO_JOLLO,A_SEARCH_BOOKSHELF,A_GIVE_STINKY_FLOWER,A_PLAY_NIGHTINGALE,A_GIVE_MINT,A_GIVE_RABBIT_FOOT,A_USE_INK_ON_SELF,A_READ_BOOK_TO_OYSTER,A_PLAY_FLUTE_FLOWERS,A_PICK_ICEY_LETTUCE,A_PICK_ROTTEN_TOMATO,A_GIVE_ROTTEN_TOMATO,A_GIVE_MILK_TO_PLANT,A_GET_MILK_BOTTLE,A_GET_TEA_CUP,A_PICK_DRINK_ME_POTION,A_TALK_TO_QUEENS,A_PULL_THREAD,A_SEARCH_POETRY_SHELF,A_TRADE_PARTICIPLE_BOOK,A_COOL_POOL,A_GET_BRICK,A_GET_HUNTERS_LAMP,A_GET_DANGLING_PARTICIPLE,A_SOLVE_TILE_PUZZLE,A_NAVIGATE_TO_SKELETON,A_COLLECT_COINS,A_USE_BRICK_TRAP,A_LIGHT_TINDERBOX,A_USE_HOLE_IN_WALL,A_FIND_SHIELD,A_LURE_MINOTAUR,A_USE_SHIELD_STATUE,A_CUT_HEDGE,A_GIVE_WHITE_ROSE,A_GIVE_RING_TO_BEAUTY,A_PLACE_ROSE,A_SOLVE_CLIFF_PUZZLES,A_GET_BLACK_FEATHER,A_GET_STINKY_FLOWER,A_LIGHT_CAVE,A_REJECT_POISON,A_COLLECT_COMPONENTS,A_GET_EMBER,A_GET_HAIR,A_GET_SPOILED_EGG,A_CAST_CHARM_SPELL,A_CAST_RAIN_SPELL,A_WEAR_BEAUTYS_DRESS,A_GET_SCYTHE,A_GET_COAL,A_RIDE_NIGHTMARE,A_AVOID_ZOMBIES,A_TALK_TO_CASSIMA_PARENTS,A_TALK_TO_GHOST_MOTHER,A_GIVE_TICKET,A_PLAY_BONES,A_PAY_CHARON,A_COLLECT_STYX_WATER,A_SEARCH_KNIGHT,A_ANSWER_LOVE,A_SHOW_MIRROR_DEATH,A_PAINT_DOOR,A_CAST_PAINT_SPELL,A_WEAR_DISGUISE,A_DISTRACT_GUARDS,A_TALK_TO_GHOST_BOY,A_GIVE_LAMP_REPLICA,A_FIND_ALI_PASSWORD,A_FIND_ZEBU_PASSWORD,A_GIVE_DAGGER,A_COMBINE_PASSWORD,A_UNLOCK_CHEST,A_OPEN_TREASURY,A_USE_FAKE_LAMP,A_GIVE_MINT_GENIE,A_FIGHT_VIZIER,A_TRADE_COAL_FOR_EGG action
|
||||
class O_RECEIVE_COPPER_COIN,O_RECEIVE_ROYAL_RING,O_RECEIVE_NIGHTINGALE,O_RECEIVE_MINT,O_RECEIVE_TINDERBOX,O_RECEIVE_FLUTE,O_RECEIVE_PAINTBRUSH,O_RECEIVE_INK,O_RECEIVE_MAGIC_MAP,O_RECEIVE_RABBIT_FOOT,O_RECEIVE_JOLLO_TRUST,O_RECEIVE_LOVE_POEM,O_GNOMES_SMELL_DONE,O_GNOMES_HEARING_DONE,O_GNOMES_TASTE_DONE,O_GNOMES_TOUCH_DONE,O_GNOMES_SIGHT_DONE,O_RECEIVE_PEARL,O_RECEIVE_HOLE_IN_WALL,O_RECEIVE_ICEY_LETTUCE,O_RECEIVE_ROTTEN_TOMATO,O_RECEIVE_SWAMP_OOZE,O_RECEIVE_BABYS_TEARS,O_RECEIVE_MILK,O_RECEIVE_TEA_CUP,O_RECEIVE_DRINK_ME,O_RECEIVE_RED_SCARF,O_RECEIVE_LUMP_OF_COAL,O_RECEIVE_LOVE_WORD,O_RECEIVE_SPIDER_WEB,O_RECEIVE_LOVE_POEM_IOW,O_RECEIVE_RARE_BOOK,O_RECEIVE_BRICK,O_RECEIVE_HUNTERS_LAMP,O_RECEIVE_DANGLING_PARTICIPLE,O_MAZE_PATH_OPEN,O_RECEIVE_SKULL,O_RECEIVE_COINS,O_TRAP_STOPPED,O_CAN_SEE,O_REVEAL_TAPESTRY,O_RECEIVE_SHIELD,O_RECEIVE_DAGGER,O_RECEIVE_SACRED_WATER,O_RECEIVE_ORACLE_VIAL,O_RECEIVE_SCARF_CONV,O_BEAUTY_TRUSTS,O_RECEIVE_BEAUTYS_DRESS,O_RECEIVE_MIRROR,O_RECEIVE_BEASTS_RING,O_RECEIVE_WHITE_ROSE_2,O_RECEIVE_BLACK_FEATHER,O_RECEIVE_STINKY_FLOWER,O_RECEIVE_PEPPERMINT,O_SURVIVED,O_SPELL_READY,O_RECEIVE_EMBER,O_RECEIVE_HAIR,O_RECEIVE_SPOILED_EGG,O_NIGHTMARE_MOUNT,O_RAIN_PROTECTION,O_DRUID_PROTECTION,O_RECEIVE_SCYTHE,O_RECEIVE_COAL_IOM,O_RECEIVE_SULFUR_EGG,O_ZOMBIES_PASSED,O_RECEIVE_TICKET,O_RECEIVE_HANKERCHIEF,O_RECEIVE_SKELETON_KEY,O_FERRY_ACCESS,O_RECEIVE_STYX_WATER,O_RECEIVE_GAUNTLET,O_DOOR_APPEARS,O_CASTLE_ACCESS,O_GUARDS_DISTRACTED,O_RECEIVE_PASSAGE_HINT,O_JOLLO_HELPS,O_PASSWORD_ALI,O_PASSWORD_ZEBU,O_CASSIMA_ARMED,O_RECEIVE_VIZIER_LETTER,O_TREASURY_OPEN,O_GENIE_CONTROLLED,O_GENIE_DRUNK outcome
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
Before Width: | Height: | Size: 537 KiB After Width: | Height: | Size: 539 KiB |
@@ -10,34 +10,20 @@ This chart maps the critical puzzle dependencies in Sierra's King's Quest VI (19
|
||||
|
||||
**Raw Mermaid Source**: [kings-quest-vi-chart.mmd](kings-quest-vi-chart.mmd)
|
||||
|
||||
## Locked Choice Mechanic
|
||||
## Pawn Shop Items
|
||||
|
||||
The Pawn Shop in the Village operates on a **locked choice system** where only one item can be unlocked at a time through trading:
|
||||
The Pawn Shop broker provides access to several items needed for later puzzles:
|
||||
|
||||
### The Trade Chain
|
||||
| Item | Use |
|
||||
|------|-----|
|
||||
| Mechanical Nightingale | Five Senses Gnomes (Hearing), Castle basement distraction |
|
||||
| Mint | Five Senses Gnomes (Taste) |
|
||||
| Invisible Ink | Five Senses Gnomes (Sight) |
|
||||
| Flute | Isle of Wonder flowers |
|
||||
| Tinderbox | Catacombs Level 2 (darkness), Sacred Mountain cave |
|
||||
| Paintbrush | Castle magic paint spell |
|
||||
|
||||
```
|
||||
Copper Coin
|
||||
↓ (Trade)
|
||||
Nightingale
|
||||
↓ (Trade)
|
||||
Flute
|
||||
↓ (Trade)
|
||||
Tinderbox
|
||||
↓ (Trade)
|
||||
Paintbrush
|
||||
```
|
||||
|
||||
### Implications for Puzzle Design
|
||||
|
||||
1. **Forks the Inventory**: Players must choose which path to pursue early
|
||||
2. **Represents Lost Opportunities**: Trading away Nightingale means cannot use it for gnome puzzles later
|
||||
3. **Strategic Sacrifice**: One-time trades require planning ahead
|
||||
4. **Independent Discovery**: Players learn the chain through experimentation
|
||||
|
||||
### Dependency Note
|
||||
|
||||
For the purpose of this dependency chart, we treat each item as **UNLOCKED** at the moment of acquisition. The chart shows the locks (what's required to access an item) rather than the mini-game of sequential trading.
|
||||
For the purpose of this dependency chart, all Pawn Shop items are treated as **UNLOCKED** after talking to the broker. The actual trading mini-game is not represented in the chart.
|
||||
|
||||
## Key Dependency Chains
|
||||
|
||||
|
||||
Reference in New Issue
Block a user