From b98eecbfb9dfeedff7db29c814b70341558f60a2 Mon Sep 17 00:00:00 2001 From: Bryce Date: Wed, 25 Mar 2026 08:49:29 -0700 Subject: [PATCH] Add MMD charts for Broken Sword 1, BS2, Gabriel Knight 1, and Grim Fandango --- ...n-sword-1-shadow-of-the-templars-chart.mmd | 189 ++++++++++++++++ ...n-sword-1-shadow-of-the-templars-chart.svg | 1 + ...oken-sword-ii-the-smoking-mirror-chart.mmd | 194 +++++++++++++++++ ...oken-sword-ii-the-smoking-mirror-chart.svg | 1 + ...iel-knight-1-sins-of-the-fathers-chart.mmd | 187 ++++++++++++++++ ...iel-knight-1-sins-of-the-fathers-chart.svg | 1 + src/inspiration/grim-fandango-chart.mmd | 204 ++++++++++++++++++ src/inspiration/grim-fandango-chart.svg | 1 + 8 files changed, 778 insertions(+) create mode 100644 src/inspiration/broken-sword-1-shadow-of-the-templars-chart.mmd create mode 100644 src/inspiration/broken-sword-1-shadow-of-the-templars-chart.svg create mode 100644 src/inspiration/broken-sword-ii-the-smoking-mirror-chart.mmd create mode 100644 src/inspiration/broken-sword-ii-the-smoking-mirror-chart.svg create mode 100644 src/inspiration/gabriel-knight-1-sins-of-the-fathers-chart.mmd create mode 100644 src/inspiration/gabriel-knight-1-sins-of-the-fathers-chart.svg create mode 100644 src/inspiration/grim-fandango-chart.mmd create mode 100644 src/inspiration/grim-fandango-chart.svg diff --git a/src/inspiration/broken-sword-1-shadow-of-the-templars-chart.mmd b/src/inspiration/broken-sword-1-shadow-of-the-templars-chart.mmd new file mode 100644 index 0000000..611e35b --- /dev/null +++ b/src/inspiration/broken-sword-1-shadow-of-the-templars-chart.mmd @@ -0,0 +1,189 @@ +flowchart TD + %% ============================================================================= + %% FONT SIZE & CONFIGURATION + %% ============================================================================= + node[fontsize=18] + START["**START**"] --> A_MEET_NICO_PARIS["A: Meet Nico in Paris Metro"] + + %% ============================================================================= + %% PARIS MUSEUM - Initial Investigation (area_1 - light blue) + %% ============================================================================= + subgraph area_1["**PARIS MUSEUM**"] + A_MEET_NICO_PARIS --> C1["C1: Discover Stolen Chalices"] + + C1 --> P_MUSEUM_ACCESS["P: Need Museum After-Hours Access"] + C1 --> P_TOTEM_POLE["P: Totem Pole Blocks View"] + C1 --> P_SARCOPHAGUS["P: Need to Hide Until Night"] + + P_MUSEUM_ACCESS --> A_VISIT_MANAGER["A: Visit Museum Manager Daytime"] + A_VISIT_MANAGER --> O_RECEIVE_KEYS["O: Receive Key Access"] + + P_TOTEM_POLE --> A_PUSH_TOTEM["A: Push Totem Pole Aside"] + A_PUSH_TOTEM --> O_VIEW_UNBLOCKED["O: Guard View Blocked"] + + P_SARCOPHAGUS --> A_ENTER_SARCOPHAGUS["A: Climb into Sarcophagus"] + A_ENTER_SARCOPHAGUS --> O_HIDDEN_SUCCESSFULLY["O: Hidden from Guards"] + + O_RECEIVE_KEYS & O_VIEW_UNBLOCKED & O_HIDDEN_SUCCESSFULLY --> P_TRIPOD["P: Cat Burglar Needs Tripod"] + P_TRIPOD --> A_WAIT_FOR_BURGLAR["A: Wait for Cat Burglar"] + A_WAIT_FOR_BURGLAR --> O_TRIPOD_STOLEN["O: Tripod Stolen by Burglar"] + end + style area_1 fill:#E3F2FD,stroke:#1976D2,stroke-width:3px + + %% ============================================================================= + %% LOCHMARNE CASTLE - Goat & Plaster Cast (area_2 - light orange) + %% ============================================================================= + subgraph area_2["**LOCHMARNE CASTLE**"] + O_TRIPOD_STOLEN --> C2["C2: Visit Lochmarne Castle"] + + C2 --> P_GOAT_BLOCKER["P: Guard Goat Blocks Tomb Entry"] + + P_GOAT_BLOCKER --> A_OBSERVE_GOAT["A: Observe Goat Patrol Pattern"] + A_OBSERVE_GOAT --> O_UNDERSTAND_PATTERN["O: Understand Attack Trigger"] + + O_UNDERSTAND_PATTERN --> A_WAIT_FEEDING["A: Wait for Goat at Feeder"] + A_WAIT_FEEDING --> O_GOAT_VULNERABLE["O: Goat in Trap Position"] + + O_GOAT_VULNERABLE --> A_ROLL_AXLE["A: Roll Axle Under Support Beam"] + A_ROLL_AXLE --> O_GOAT_TRAPPED["O: Goat Legs Crushed"] + O_GOAT_TRAPPED --> C3["C3: Access Underground Tomb"] + + C3 --> P_FIVE_HOLES["P: Five Key-Shaped Holes in Ground"] + P_FIVE_HOLES --> A_FIND_PLASTER["A: Find Plaster of Paris Bag"] + A_FIND_PLASTER --> O_RECEIVE_PLASTER["O: Receive Plaster Material"] + + O_RECEIVE_PLASTER --> A_POUR_INTO_HOLES["A: Pour Plaster into Holes"] + A_POUR_INTO_HOLES --> O_MOLD_READY["O: Plaster Mold in Hole"] + + O_MOLD_READY --> A_TRY_DRY_TOWEL["A: Try Dry Towel on Plaster"] + A_TRY_DRY_TOWEL --> O_NOT_WET_ENOUGH["O: Too Dry - Won't Set"] + end + style area_2 fill:#FFF3E0,stroke:#F57C00,stroke-width:3px + + %% ============================================================================= + %% CROSS-LOCATION: Wet Towel Logistics (area_3 - light purple) + %% ============================================================================= + subgraph area_3["**CROSS-LOCATION LOGISTICS**"] + O_NOT_WET_ENOUGH --> P_NEED_WATER["P: Need to Wet Towel"] + + P_NEED_WATER --> A_RETURN_TO_BAR["A: Return to MacDevitt's Bar"] + A_RETURN_TO_BAR --> A_GO_CELLAR["A: Go to Cellar Behind Bar"] + A_GO_CELLAR --> A_FIND_TAP["A: Find Water Tap in Cellar"] + A_FIND_TAP --> O_TAP_LOCATED["O: Tap Found"] + + O_TAP_LOCATED --> A_WET_TOWEL["A: Wet Towel Under Running Water"] + A_WET_TOWEL --> O_TOWEL_SATURATED["O: Towel Fully Saturated"] + + O_TOWEL_SATURATED --> A_RETURN_CASTLE["A: Return to Lochmarne Castle"] + A_RETURN_CASTLE --> A_APPLY_WET_TOWEL["A: Apply Wet Towel to Plaster"] + A_APPLY_WET_TOWEL --> O_KEY_SETS["O: Key Cast Hardens"] + + O_KEY_SETS --> A_PICK_CAST["A: Pick Up Key Replica"] + A_PICK_CAST --> O_RECEIVE_CAST_KEY["O: Receive Working Key Cast"] + + O_RECEIVE_CAST_KEY --> A_INSERT_KEY["A: Insert Cast into Door"] + A_INSERT_KEY --> C4["C4: Locked Door Opens"] + end + style area_3 fill:#F3E5F5,stroke:#7B1FA2,stroke-width:3px + + %% ============================================================================= + %% MONTFAUCON - Hotel Theft (area_4 - light blue) + %% ============================================================================= + subgraph area_4["**MONTFAUCON HOTEL**"] + C4 --> P_MANUSCRIPT_STEAL["P: Steal Manuscript from Guest Room"] + + P_MANUSCRIPT_STEAL --> A_DROP_WINDOW["A: Drop Manuscript Out Window"] + A_DROP_WINDOW --> O_OUTSIDE_ROOM["O: Manuscript Outside"] + + O_OUTSIDE_ROOM --> A_EXIT_HOTEL["A: Exit Hotel Building"] + A_EXIT_HOTEL --> A_RETURN_ALLEY["A: Return via Alley Behind Building"] + A_RETURN_ALLEY --> O_GUARDS_MISS["O: Guards Miss Hidden Item"] + O_GUARDS_MISS --> C5["C5: Manuscript Secured"] + end + style area_4 fill:#E3F2FD,stroke:#1976D2,stroke-width:3px + + %% ============================================================================= + %% MONTFAUCON - Clown & Prison Escape (area_5 - light amber) + %% ============================================================================= + subgraph area_5["**CLOWN DISTRACTION & PRISON**"] + C5 --> P_JUGGLER_BLOCK["P: Juggler Blocks Path"] + + P_JUGGLER_BLOCK --> A_FIND_RED_NOSE["A: Find Clown Red Nose in Sewer"] + A_FIND_RED_NOSE --> O_WEAR_NOSE["O: Wear Clown Nose"] + + O_WEAR_NOSE --> A_PERFORM_BADLY["A: Perform Bad Juggling"] + A_PERFORM_BADLY --> O_JUGGLER_LEFT["O: Juggler Leaves Disgusted"] + O_JUGGLER_LEFT --> C6["C6: Path Clear - Then Arrested"] + + C6 --> P_NEED_MONEY["P: Need $50 for Truck Escape"] + P_NEED_MONEY --> A_CLEAN_STATUE["A: Clean Antique Statue with Tissue"] + A_CLEAN_STATUE --> O_STATUE_VALUABLE["O: Statue Now Sellable"] + + O_STATUE_VALUABLE --> A_SELL_DUANE["A: Sell to American Collector Duane"] + A_SELL_DUANE --> O_RECEIVE_50["O: Receive Fifty Dollars"] + O_RECEIVE_50 --> C7["C7: Can Pay Truck Driver"] + end + style area_5 fill:#FFF8E1,stroke:#F9A825,stroke-width:3px + + %% ============================================================================= + %% SITE DE BAPHOMET - Key Impression (area_6 - light orange) + %% ============================================================================= + subgraph area_6["**SITE DE BAPHOMET**"] + C7 --> P_GUARD_KEY["P: Guard Holds Secret Chamber Key"] + + P_GUARD_KEY --> A_OBSERVE_SOAP["A: Observe Keys on Soap Bar"] + A_OBSERVE_SOAP --> O_KEY_IMPRINT["O: Press Keys into Soft Soap"] + + O_KEY_IMPRINT --> A_PLASTER_MOLD["A: Apply Plaster to Capture Shape"] + A_PLASTER_MOLD --> O_COPY_MADE["O: Fake Key Ready"] + + O_COPY_MADE --> A_WET_FAKE_KEY["A: Wet Fake Key Under Tap"] + A_WET_FAKE_KEY --> O_KEY_FORMED["O: Copy Key Solid"] + + P_GUARD_KEY --> A_CALL_NICO["A: Call Nico for Distraction"] + A_CALL_NICO --> O_PAINTER_BUSY["O: Painter Distracted"] + + O_KEY_FORMED & O_PAINTER_BUSY --> A_PAINT_BLACK["A: Paint Fake Key Black"] + A_PAINT_BLACK --> O_DECOY_READY["O: Decoy Indistinguishable"] + + P_GUARD_KEY --> A_STUDY_THERMOSTAT["A: Study Thermostat Control"] + A_STUDY_THERMOSTAT --> O_HEAT_MECHANIC["O: Understand Glove Pattern"] + + O_HEAT_MECHANIC --> A_INCREASE_HEAT["A: Increase Thermostat Heat"] + A_INCREASE_HEAT --> O_GUARD_GLOVED["O: Guard Wears Gloves Now"] + + O_DECOY_READY & O_GUARD_GLOVED --> A_SWAP_KEYS["A: Swap Fake for Real Key"] + A_SWAP_KEYS --> O_REAL_KEY_OBTAINED["O: Have Secret Chamber Key"] + O_REAL_KEY_OBTAINED --> C8["C8: Secret Chamber Unlocked"] + end + style area_6 fill:#FFF3E0,stroke:#F57C00,stroke-width:3px + + %% ============================================================================= + %% SECRET CHAMBER - Chalice (area_7 - light green) + %% ============================================================================= + subgraph area_7["**SECRET CHAMBER**"] + C8 --> P_CHALICE["P: Need Complete Chalice"] + + P_CHALICE --> A_PLACE_ON_MOSAIC["A: Place Upper Chalice on Mosaic"] + A_PLACE_ON_MOSAIC --> O_VISION_RECEIVED["O: Receive Vision Sequence"] + + P_CHALICE --> A_SOLVE_CHESS["A: Solve Chess Tapestry Puzzle"] + A_SOLVE_CHESS --> O_COUNT_LIGHTS["O: Count Menorah Candle Lights"] + O_COUNT_LIGHTS --> O_CODE_LEARNED["O: Bishop-Knight-King Pattern"] + + O_CODE_LEARNED --> A_ARRANGE_PIECES["A: Arrange Middle Column Pieces"] + A_ARRANGE_PIECES --> O_TAPESTRY_OPEN["O: Hidden Compartment Opens"] + + O_VISION_RECEIVED & O_TAPESTRY_OPEN --> C9["C9: Full Chalice Accessible"] + + C9 --> A_TAKE_FULL_CHALICE["A: Take Complete Templar Chalice"] + A_TAKE_FULL_CHALICE --> END["**END - Escape to Spain Train**"] + end + style area_7 fill:#E8F5E9,stroke:#388E3C,stroke-width:3px + + %% ============================================================================= + %% CLASS DEFINITIONS + %% ============================================================================= + classDef start_end fill:#FFD700,stroke:#996600,stroke-width:3px,color:#000000,font-weight:bold + + class START,END,C1,C2,C3,C4,C5,C6,C7,C8,C9 start_end diff --git a/src/inspiration/broken-sword-1-shadow-of-the-templars-chart.svg b/src/inspiration/broken-sword-1-shadow-of-the-templars-chart.svg new file mode 100644 index 0000000..a214423 --- /dev/null +++ b/src/inspiration/broken-sword-1-shadow-of-the-templars-chart.svg @@ -0,0 +1 @@ +

**SECRET CHAMBER**

**SITE DE BAPHOMET**

**CLOWN DISTRACTION & PRISON**

**MONTFAUCON HOTEL**

**CROSS-LOCATION LOGISTICS**

**LOCHMARNE CASTLE**

**PARIS MUSEUM**

fontsize=18

**START**

A: Meet Nico in Paris Metro

C1: Discover Stolen Chalices

P: Need Museum After-Hours Access

P: Totem Pole Blocks View

P: Need to Hide Until Night

A: Visit Museum Manager Daytime

O: Receive Key Access

A: Push Totem Pole Aside

O: Guard View Blocked

A: Climb into Sarcophagus

O: Hidden from Guards

P: Cat Burglar Needs Tripod

A: Wait for Cat Burglar

O: Tripod Stolen by Burglar

C2: Visit Lochmarne Castle

P: Guard Goat Blocks Tomb Entry

A: Observe Goat Patrol Pattern

O: Understand Attack Trigger

A: Wait for Goat at Feeder

O: Goat in Trap Position

A: Roll Axle Under Support Beam

O: Goat Legs Crushed

C3: Access Underground Tomb

P: Five Key-Shaped Holes in Ground

A: Find Plaster of Paris Bag

O: Receive Plaster Material

A: Pour Plaster into Holes

O: Plaster Mold in Hole

A: Try Dry Towel on Plaster

O: Too Dry - Won't Set

P: Need to Wet Towel

A: Return to MacDevitt's Bar

A: Go to Cellar Behind Bar

A: Find Water Tap in Cellar

O: Tap Found

A: Wet Towel Under Running Water

O: Towel Fully Saturated

A: Return to Lochmarne Castle

A: Apply Wet Towel to Plaster

O: Key Cast Hardens

A: Pick Up Key Replica

O: Receive Working Key Cast

A: Insert Cast into Door

C4: Locked Door Opens

P: Steal Manuscript from Guest Room

A: Drop Manuscript Out Window

O: Manuscript Outside

A: Exit Hotel Building

A: Return via Alley Behind Building

O: Guards Miss Hidden Item

C5: Manuscript Secured

P: Juggler Blocks Path

A: Find Clown Red Nose in Sewer

O: Wear Clown Nose

A: Perform Bad Juggling

O: Juggler Leaves Disgusted

C6: Path Clear - Then Arrested

P: Need $50 for Truck Escape

A: Clean Antique Statue with Tissue

O: Statue Now Sellable

A: Sell to American Collector Duane

O: Receive Fifty Dollars

C7: Can Pay Truck Driver

P: Guard Holds Secret Chamber Key

A: Observe Keys on Soap Bar

O: Press Keys into Soft Soap

A: Apply Plaster to Capture Shape

O: Fake Key Ready

A: Wet Fake Key Under Tap

O: Copy Key Solid

A: Call Nico for Distraction

O: Painter Distracted

A: Paint Fake Key Black

O: Decoy Indistinguishable

A: Study Thermostat Control

O: Understand Glove Pattern

A: Increase Thermostat Heat

O: Guard Wears Gloves Now

A: Swap Fake for Real Key

O: Have Secret Chamber Key

C8: Secret Chamber Unlocked

P: Need Complete Chalice

A: Place Upper Chalice on Mosaic

O: Receive Vision Sequence

A: Solve Chess Tapestry Puzzle

O: Count Menorah Candle Lights

O: Bishop-Knight-King Pattern

A: Arrange Middle Column Pieces

O: Hidden Compartment Opens

C9: Full Chalice Accessible

A: Take Complete Templar Chalice

**END - Escape to Spain Train**

\ No newline at end of file diff --git a/src/inspiration/broken-sword-ii-the-smoking-mirror-chart.mmd b/src/inspiration/broken-sword-ii-the-smoking-mirror-chart.mmd new file mode 100644 index 0000000..f15f104 --- /dev/null +++ b/src/inspiration/broken-sword-ii-the-smoking-mirror-chart.mmd @@ -0,0 +1,194 @@ +flowchart TD + %% ============================================================================= + %% FONT SIZE & CONFIGURATION + %% ============================================================================= + node[fontsize=18] + START["**START**"] --> A_WOKE_UP["A: Wake Up on Caribbean Beach"] + + %% ============================================================================= + %% CARIBEAN - Initial Investigation (area_1 - light blue) + %% ============================================================================= + subgraph area_1["**CARIBBEAN ISLES**"] + A_WOKE_UP --> C1["C1: Discover Island Life"] + + C1 --> P_MEET_GEORGE["P: Meet George on Beach"] + C1 --> P_BRONSON_CONFRONT["P: Bronson Steals Map Piece"] + + P_MEET_GEORGE --> A_TALK_GEORGE["A: Talk to George Stobbart"] + A_TALK_GEORGE --> O_PARTNERSHIP_FORMED["O: George Joins Journey"] + + P_BRONSON_CONFRONT --> A_CHASE_BRONSON["A: Chase Bronson from Beach"] + A_CHASE_BRONSON --> O_MAP_LOST["O: Map Piece Stolen"] + + O_PARTNERSHIP_FORMED & O_MAP_LOST --> C2["C2: Set off for Ketch Landing"] + end + style area_1 fill:#E3F2FD,stroke:#1976D2,stroke-width:3px + + %% ============================================================================= + %% KECH LANDING - Surveyor & Zoo (area_2 - light orange) + %% ============================================================================= + subgraph area_2["**KETCH LANDING**"] + C2 --> P_Survey_MAP["P: Need Survey Map from Ketch Sisters"] + + P_Survey_MAP --> A_OBTAIN_BRONSON_PLANS["A: Steal Bronson's Hidden Plans"] + A_OBTAIN_BRONSON_PLANS --> O_HAVE_EVIDENCE["O: Have Bronson Trespass Proof"] + + O_HAVE_EVIDENCE --> A_SHOW_KETCH_SISTERS["A: Show Plans to Ketch Sisters"] + A_SHOW_KETCH_SISTERS --> O_RECEIVE_SURVEY_MAP["O: Receive Survey Map Copy"] + + O_RECEIVE_SURVEY_MAP --> C3["C3: Can Navigate Zombie Island"] + + C3 --> P_GET_THEODOLITE["P: Need Theodolite from Bronson's Beach Hideout"] + P_GET_THEODOLITE --> A_SEARCH_BEACH_CAVE["A: Search Bronson's Cave on Beach"] + A_SEARCH_BEACH_CAVE --> O_RECEIVE_THEODOLITE["O: Receive Surveyor Instrument"] + end + style area_2 fill:#FFF3E0,stroke:#F57C00,stroke-width:3px + + %% ============================================================================= + %% ZOMBIE ISLAND - Multi-Step Alignment (area_3 - light purple) + %% ============================================================================= + subgraph area_3["**ZOMBIE ISLAND**"] + C3 --> P_NAVIGATE_ISLAND["P: Navigate Maze-Like Island Pathways"] + + P_NAVIGATE_ISLAND --> A_MEET_WILD_BOAR["A: Encounter Wild Boar Blocking Path"] + A_MEET_WILD_BOAR --> O_BOAR_BLOCKADE["O: Cannot Pass Without Combat"] + + P_NAVIGATE_ISLAND --> A_FIND_REED_SWAAMP["A: Find Reed in Swamp Area"] + A_FIND_REED_SWAAMP --> O_HAVE_REED["O: Have Reed Shaft Item"] + + P_NAVIGATE_ISLAND --> A_POKE_LAIR_REED["A: Poke Creature Lair with Reed"] + A_POKE_LAIR_REED --> O_DART_OBTAINED["O: Reed Tip Bitten Off - Have Dart"] + + O_HAVE_REED & O_DART_OBTAINED --> A_COMBINE_HARPOON["A: Combine Reed + Dart = Harpoon"] + A_COMBINE_HARPOON --> O_HAVE_HARPOON["O: Have Working Harpoon Weapon"] + + O_HAVE_HARPOON --> A_SHOOT_BOAR["A: Fire Harpoon at Boar"] + A_SHOOT_BOAR --> O_BOAR_FLED["O: Boar Flees - Path Clear"] + + O_BOAR_FLED --> P_FIND_MARKER["P: Find Surveyor's Marker on Rock Needle"] + P_FIND_MARKER --> A_LOCATE_CREEPER_SITE["A: Locate Marker Under Creeper Veil"] + A_LOCATE_CREEPER_SITE --> O_MARKER_FOUND["O: Marker Visible Beneath Cover"] + + O_MARKER_FOUND --> A_NET_SENSOR_COMBINE["A: Combine Net + Sensor Items"] + A_NET_SENSOR_COMBINE --> O_RETRIEVAL_TOOL["O: Have Extraction Device"] + + O_RETRIEVAL_TOOL --> A_EXTRACT_MARKER["A: Extract Marker from Creeper"] + A_EXTRACT_MARKER --> O_MARKER_FREE["O: Marker Secured"] + + O_MARKER_FREE --> A_PLACE_ON_ROCK_NEEDLE["A: Place Marker on High Rock Needle"] + A_PLACE_ON_ROCK_NEEDLE --> O_ALIGNMENT_SET["O: Marker Now Visible from Summit"] + end + style area_3 fill:#F3E5F5,stroke:#7B1FA2,stroke-width:3px + + %% ============================================================================= + %% ZOMBIE ISLAND SUMMIT - Theodolite Vision (area_4 - light amber) + %% ============================================================================= + subgraph area_4["**SUMMIT VISION**"] + O_ALIGNMENT_SET --> A_CLIMB_TO_SUMMIT["A: Climb to Island Summit Point"] + A_CLIMB_TO_SUMMIT --> C4["C4: Reach Summit Viewpoint"] + + C4 --> P_ALIGN_THEODOLITE["P: Align Theodolite for Vision"] + + P_ALIGN_THEODOLITE --> A_MOUNT_TRIPOD["A: Mount Theodolite on Summit Tripod"] + A_MOUNT_TRIPOD --> O_INSTRUMENT_READY["O: Theodolite Installed"] + + O_INSTRUMENT_READY --> A_SCAN_HORIZON["A: Look Through Scope - Scan East to West"] + A_SCAN_HORIZON --> O_SPARKLE_SEEN["O: Marker Sparkling Among Pillars"] + + O_SPARKLE_SEEN --> P_PINPOINT_PILLAR["P: Identify Correct Pillar Above Marker"] + P_PINPOINT_PILLAR --> A_EXAMINE_CORRECT_PILLAR["A: Examine Pillar Directly Above Marker Position"] + A_EXAMINE_CORRECT_PILLAR --> O_PATH_REVEALED["O: Hidden Path to North Shown"] + + O_PATH_REVEALED --> C5["C5: Eagle Stone Chamber Accessible"] + + C5 --> A_DESCEND_NORTH_PATH["A: Descend Newly Opened Northern Route"] + A_DESCEND_NORTH_PATH --> END["**END - Year 1 Complete**"] + end + style area_4 fill:#FFF8E1,stroke:#F9A825,stroke-width:3px + + %% ============================================================================= + %% LONDON UNDERGROUND - Nico's Storyline (area_5 - light cyan) + %% ============================================================================= + subgraph area_5["**LONDON UNDERGROUND**"] + START --> NICO_START["NICO: Meet Nico at Museum"] + + NICO_START --> P_VENDING_COIN["P: Need Exact Change for Scale"] + + P_VENDING_COIN --> A_USE_HAIRPIN_SLOT["A: Use Hairpin in Vending Machine Slot"] + A_USE_HAIRPIN_SLOT --> O_PENNY_RETURND["O: Coin Returned from Stuck Jam"] + + O_PENNY_RETURND --> A_USE_SCALE["A: Place Penny on Weighing Scale"] + A_USE_SCALE --> O_WEIGHT_CARD["O: Receive Body Weight Printout Card"] + + O_WEIGHT_CARD --> P_CUPBOARD_ACCESS["P: Need to Open Locked Cupboard"] + + P_CUPBOARD_ACCESS --> A_GET_DAGGER_STORAGE["A: Get Dagger from Back Storage Cabinet"] + A_GET_DAGGER_STORAGE --> O_HAVE_DAGGER["O: Have Ancient Dagger Item"] + + O_HAVE_DAGGER & O_WEIGHT_CARD --> A_UNLOCK_PANEL["A: Use Weight Card in Panel Crack"] + A_UNLOCK_PANEL --> O_SIGNAL_ACCESS["O: Signal Lever Accessible"] + + O_SIGNAL_ACCESS --> A_PRESS_RED_BUTTON["A: Press Red Signal Button - Switch Tracks"] + A_PRESS_RED_BUTTON --> O_TRACKS_CHANGED["O: Train Can Now Board"] + + O_TRACKS_CHANGED --> NICO_END["NICO_END: Ride to Thames Docks"] + end + style area_5 fill:#E0F7FA,stroke:#00838F,stroke-width:3px + + %% ============================================================================= + %% MARSEILLES WAREHOUSE - Multi-Character (area_6 - light green) + %% ============================================================================= + subgraph area_6["**MARSEILLES WAREHOUSE**"] + START --> GEORGE_NICO_TRAP["BOTH: Trapped in Secret Chamber"] + + GEORGE_NICO_TRAP --> P_STATUE_BLOCKER["P: Heavy Statue Blocks Exit Door"] + + P_STATUE_BLOCKER --> A_CHECK_PULLEY["A: Check Pulley System on Wall"] + A_CHECK_PULLEY --> O_OUT_OF_REACH["O: Cannot Reach Pulley Height"] + + P_STATUE_BLOCKER --> A_CHECK_PALLET["A: Check Pallet Carrier Under Statue"] + A_CHECK_PALLET --> O_PALLET_BLOCKED["O: Crates Block Carrier Movement"] + + P_STATUE_BLOCKER --> A_CHECK_ELEVATOR["A: Check Elevator Access"] + A_CHECK_ELEVATOR --> O_SENSOR_ACTIVE["O: Photoelectric Cell Closes Door Fast"] + + O_SENSOR_ACTIVE --> P_BYPASSSENSOR["P: Disable Safety Sensor"] + P_BYPASSSENSOR --> A_TAPE_PHOTOCELL["A: Tape Over Photoelectric Eye"] + A_TAPE_PHOTOCELL --> O_SENSOR_BLIND["O: Sensor Deactivated"] + + O_SENSOR_BLIND --> A_BLOCK_WITH_CRATE["A: Push Crate Against Elevator Door"] + A_BLOCK_WITH_CRATE --> O_DOOR_HOLDS["O: Door Stays Open Without Sensor"] + + O_DOOR_HOLDS --> A_RESTACK_CRATES["A: Move Small Crate to New Stack Position"] + A_RESTACK_CRATES --> A_CLEAR_PALLET_PATH["A: Push Large Crate Aside"] + A_CLEAR_PALLET_PATH --> O_PALLET_FREE["O: Carrier Path Clear Now"] + + O_PALLET_FREE & O_OUT_OF_REACH --> A_RAISE_STATUE_FIRST["A: Operate Pallet to Raise Statue Upward"] + A_RAISE_STATUE_FIRST --> O_STATUE_ELEVATED["O: Statue Now High Enough"] + + O_STATUE_ELEVATED --> A_WIND_ROPE_AROUND["A: Wind Rope Around Statue Base"] + A_WIND_ROPE_AROUND --> A_ATTACH_TO_PULLEY["A: Attach Free End to Pulley System"] + A_ATTACH_TO_PULLEY --> O_PULLEY_CONNECTED["O: Lifting Mechanism Ready"] + + O_PULLEY_CONNECTED & O_STATUE_ELEVATED --> A_LOWER_CARRIER_AGAIN["A: Lower Pallet Carrier Back Down"] + A_LOWER_CARRIER_AGAIN --> O_PATH_FOR_PUSH["O: Room to Push Statue Now"] + + O_PATH_FOR_PUSH --> A_PUSH_ALONE_FIRST["A: Try Pushing Statue Alone"] + A_PUSH_ALONE_FIRST --> O_TOO_HEAVY_SOLELY["O: Too Heavy for One Person"] + + O_TOO_HEAVY_SOLELY --> A_TALK_NICO_HELP["A: Talk to Nico - Request Assistance"] + A_TALK_NICO_HELP --> O_TWO_PLAYER_ANIMATION["O: Both Characters Push Together"] + + O_TWO_PLAYER_ANIMATION --> C6["C6: Statue Slides Through Doorway"] + + C6 --> A_USE_MANACALES_CABLE["A: Use Manacles on Overhead Cable to Slide Down"] + A_USE_MANACALES_CABLE --> GEORGE_NICO_END["BOTH_END: Escape to Next Location"] + end + style area_6 fill:#E8F5E9,stroke:#388E3C,stroke-width:3px + + %% ============================================================================= + %% CLASS DEFINITIONS + %% ============================================================================= + classDef start_end fill:#FFD700,stroke:#996600,stroke-width:3px,color:#000000,font-weight:bold + + class START,C1,C2,C3,C4,C5,C6,NICO_START,NICO_END,GEORGE_NICO_TRAP,GEORGE_NICO_END,END start_end diff --git a/src/inspiration/broken-sword-ii-the-smoking-mirror-chart.svg b/src/inspiration/broken-sword-ii-the-smoking-mirror-chart.svg new file mode 100644 index 0000000..0e9bb99 --- /dev/null +++ b/src/inspiration/broken-sword-ii-the-smoking-mirror-chart.svg @@ -0,0 +1 @@ +

**MARSEILLES WAREHOUSE**

**LONDON UNDERGROUND**

**SUMMIT VISION**

**ZOMBIE ISLAND**

**KETCH LANDING**

**CARIBBEAN ISLES**

fontsize=18

**START**

A: Wake Up on Caribbean Beach

C1: Discover Island Life

P: Meet George on Beach

P: Bronson Steals Map Piece

A: Talk to George Stobbart

O: George Joins Journey

A: Chase Bronson from Beach

O: Map Piece Stolen

C2: Set off for Ketch Landing

P: Need Survey Map from Ketch Sisters

A: Steal Bronson's Hidden Plans

O: Have Bronson Trespass Proof

A: Show Plans to Ketch Sisters

O: Receive Survey Map Copy

C3: Can Navigate Zombie Island

P: Need Theodolite from Bronson's Beach Hideout

A: Search Bronson's Cave on Beach

O: Receive Surveyor Instrument

P: Navigate Maze-Like Island Pathways

A: Encounter Wild Boar Blocking Path

O: Cannot Pass Without Combat

A: Find Reed in Swamp Area

O: Have Reed Shaft Item

A: Poke Creature Lair with Reed

O: Reed Tip Bitten Off - Have Dart

A: Combine Reed + Dart = Harpoon

O: Have Working Harpoon Weapon

A: Fire Harpoon at Boar

O: Boar Flees - Path Clear

P: Find Surveyor's Marker on Rock Needle

A: Locate Marker Under Creeper Veil

O: Marker Visible Beneath Cover

A: Combine Net + Sensor Items

O: Have Extraction Device

A: Extract Marker from Creeper

O: Marker Secured

A: Place Marker on High Rock Needle

O: Marker Now Visible from Summit

A: Climb to Island Summit Point

C4: Reach Summit Viewpoint

P: Align Theodolite for Vision

A: Mount Theodolite on Summit Tripod

O: Theodolite Installed

A: Look Through Scope - Scan East to West

O: Marker Sparkling Among Pillars

P: Identify Correct Pillar Above Marker

A: Examine Pillar Directly Above Marker Position

O: Hidden Path to North Shown

C5: Eagle Stone Chamber Accessible

A: Descend Newly Opened Northern Route

**END - Year 1 Complete**

NICO: Meet Nico at Museum

P: Need Exact Change for Scale

A: Use Hairpin in Vending Machine Slot

O: Coin Returned from Stuck Jam

A: Place Penny on Weighing Scale

O: Receive Body Weight Printout Card

P: Need to Open Locked Cupboard

A: Get Dagger from Back Storage Cabinet

O: Have Ancient Dagger Item

A: Use Weight Card in Panel Crack

O: Signal Lever Accessible

A: Press Red Signal Button - Switch Tracks

O: Train Can Now Board

NICO_END: Ride to Thames Docks

BOTH: Trapped in Secret Chamber

P: Heavy Statue Blocks Exit Door

A: Check Pulley System on Wall

O: Cannot Reach Pulley Height

A: Check Pallet Carrier Under Statue

O: Crates Block Carrier Movement

A: Check Elevator Access

O: Photoelectric Cell Closes Door Fast

P: Disable Safety Sensor

A: Tape Over Photoelectric Eye

O: Sensor Deactivated

A: Push Crate Against Elevator Door

O: Door Stays Open Without Sensor

A: Move Small Crate to New Stack Position

A: Push Large Crate Aside

O: Carrier Path Clear Now

A: Operate Pallet to Raise Statue Upward

O: Statue Now High Enough

A: Wind Rope Around Statue Base

A: Attach Free End to Pulley System

O: Lifting Mechanism Ready

A: Lower Pallet Carrier Back Down

O: Room to Push Statue Now

A: Try Pushing Statue Alone

O: Too Heavy for One Person

A: Talk to Nico - Request Assistance

O: Both Characters Push Together

C6: Statue Slides Through Doorway

A: Use Manacles on Overhead Cable to Slide Down

BOTH_END: Escape to Next Location

\ No newline at end of file diff --git a/src/inspiration/gabriel-knight-1-sins-of-the-fathers-chart.mmd b/src/inspiration/gabriel-knight-1-sins-of-the-fathers-chart.mmd new file mode 100644 index 0000000..d09fc5b --- /dev/null +++ b/src/inspiration/gabriel-knight-1-sins-of-the-fathers-chart.mmd @@ -0,0 +1,187 @@ +flowchart TD + node[fontsize=18] + START["**START**"] --> A_NO_STREETS["A: Explore New Orleans Streets Day 1"] + + subgraph area_1["**NEW ORLEANS DAYS 1-3**"] + A_NO_STREETS --> C1["C1: Discover Voodoo Murders"] + C1 --> P_MEET_MAGENTIA["P: Meet Magentia Moonbeam"] + P_MEET_MAGENTIA --> A_VISIT_CAFE["A: Visit Cafe Du Monde"] + A_VISIT_CAFE --> O_TRANSLATE_ONE["O: Get First Message Translation"] + C1 --> P_READ_LIBRARY["P: Read Dr Johns Library Books"] + P_READ_LIBRARY --> A_BROWSE_BOOKS["A: Browse Vodouk books"] + A_BROWSE_BOOKS --> O_LEARN_TERMS["O: Learn Djede Terminology"] + O_TRANSLATE_ONE & O_LEARN_TERMS --> A_SKETCH_TOMBS["A: Sketch New Tomb Markings at Cemetery"] + A_SKETCH_TOMBS --> P_DECODE_SECOND["P: Decode Partial Cipher Message"] + P_DECODE_SECOND --> A_COMPARE_CIPHERS["A: Compare With First Translation"] + A_COMPARE_CIPHERS --> O_LEARN_LETTERS["O: Identify Missing Letters Y-U-M"] + O_LEARN_LETTERS --> A_RECALL_COFFIN_TERM["A: Remember Coffin Term SEKEY MADOULE"] + A_RECALL_COFFIN_TERM --> O_FULL_MESSAGE["O: Complete Message DJ BRING SEKEY MADOULE"] + end + style area_1 fill:#E3F2FD,stroke:#1976D2,stroke-width:3px + + subgraph area_2["**ST LOUIS CEMETERY #1**"] + O_FULL_MESSAGE --> P_ACCESS_WALL["P: Need to Write on Tomb Wall"] + P_ACCESS_WALL --> A_FIND_BRICK["A: Find Brick at Tomb Site"] + A_FIND_BRICK --> A_BREAK_WALL["A: Break Wall Surface With Brick"] + A_BREAK_WALL --> O_CAN_WRITE["O: Can Now Write Message"] + O_CAN_WRITE & O_FULL_MESSAGE --> A_WRITE_MSG["A: Write Complete Cipher on Wall"] + A_WRITE_MSG --> C2["C2: Dr John Summoned Coffin Meeting Set"] + end + style area_2 fill:#FFF3E0,stroke:#F57C00,stroke-width:3px + + subgraph area_3["**SCHOONHAVEN TRIP**"] + C2 --> A_TRAVEL_GERMANY["A: Travel to Schoonhaven Germany"] + A_TRAVEL_GERMANY --> C3["C3: Arrive at Grandmothers House"] + C3 --> P_CLOCK_SECRET["P: Unlock Clock Secret Drawer"] + P_CLOCK_SECRET --> A_SET_HANDS_300["A: Set Clock Hands to 3 OClock Position"] + A_SET_HANDS_300 --> O_HANDS_SET["O: Clock Hands at Correct Position"] + O_HANDS_SET --> A_ROTATE_INNER_DIAL["A: Rotate Inner Dial Until Dragon Hits 12"] + A_ROTATE_INNER_DIAL --> O_DRAWER_OPENS["O: Secret Drawer Springs Open"] + O_DRAWER_OPENS --> A_TAKE_LETTER_PHOTO["A: Take Letter and Photograph From Drawer"] + A_TAKE_LETTER_PHOTO --> O_FAMILY_HISTORY["O: Learn About Knight Family Ancestry"] + end + style area_3 fill:#F3E5F5,stroke:#7B1FA2,stroke-width:3px + + subgraph area_4["**SCHLOSS RITTER CASTLE**"] + O_FAMILY_HISTORY --> A_VISIT_CASTLE["A: Visit Schloss Ritter Castle"] + A_VISIT_CASTLE --> C4["C4: Must Complete Initiation Ritual"] + C4 --> P_INITIATION["P: Perform Three-Part Ritual"] + P_INITIATION --> A_WASH_HANDS_SNOW["A: Wash Hands in Fresh Snow"] + A_WASH_HANDS_SNOW --> O_HANDS_CLEAN["O: Hands Purified"] + P_INITIATION --> A_CUT_HAIR["A: Cut Own Hair With Scissors"] + A_CUT_HAIR --> O_SACRIFICE_DONE["O: Sacrifice Completed"] + P_INITIATION --> A_BLOOD_RITUAL["A: Perform Blood Ritual on Altar"] + A_BLOOD_RITUAL --> A_CUT_FINGER["A: Cut Finger With Knife"] + A_CUT_FINGER --> A_COLLECT_SALT_BOWL["A: Collect Blood in Salt-Filled Bowl"] + A_COLLECT_SALT_BOWL --> A_UNROLL_SCROLL["A: Unroll Ancient Scroll"] + A_UNROLL_SCROLL --> A_PERFORM_SEQUENCE["A: Perform Symbol Sequence Correctly"] + A_PERFORM_SEQUENCE --> O_RITUAL_COMPLETE["O: Blood Ritual Success"] + O_HANDS_CLEAN & O_SACRIFICE_DONE & O_RITUAL_COMPLETE --> C5["C5: Can Now Read Castle Books"] + end + style area_4 fill:#FFF8E1,stroke:#F9A825,stroke-width:3px + + subgraph area_5["**CASTLE LIBRARY**"] + C5 --> P_FIND_BOOK["P: Find Book About Snake Mound Location"] + P_FIND_BOOK --> A_READ_FIVE["A: Read Five Specific Books"] + A_READ_FIVE --> O_LEARN_AFRICA["O: Learn About Snake Mound in Africa"] + O_LEARN_AFRICA --> C6["C6: Know Where to Go Next Africa"] + end + style area_5 fill:#E8F5E9,stroke:#388E3C,stroke-width:3px + + subgraph area_6["**SNAKE MOUND OUTER RING**"] + C6 --> A_TRAVEL_AFRICA["A: Travel to Africa Snake Mound"] + A_TRAVEL_AFRICA --> C7["C7: Arrive at Circular Room Structure"] + C7 --> P_TILE_PUZZLE["P: Place Twelve Tiles in Correct Rooms"] + P_TILE_PUZZLE --> A_EXPLORE_12["A: Explore All 12 Rooms Collecting Tiles"] + A_EXPLORE_12 --> O_FIND_ROD_R9["O: Find Snake Rod in Room 9"] + A_EXPLORE_12 --> O_ALL_TILES["O: Have All Portable Tile Pieces"] + O_ALL_TILES --> A_COUNT_SNAKES["A: Count Snake Patterns on Each Tile"] + A_COUNT_SNAKES --> O_PATTERN_UNDERSTOOD["O: Understand Room-to-Snake Mapping Rule"] + O_PATTERN_UNDERSTOOD --> A_PLACE_ALL_12["A: Place All 12 Tiles in Matching Rooms"] + A_PLACE_ALL_12 --> O_CHIME_SOUNDS["O: Chime Confirms First Half Complete"] + end + style area_6 fill:#E0F7FA,stroke:#00838F,stroke-width:3px + + subgraph area_7["**SNAKE MOUND ESCAPE SEQUENCE**"] + O_CHIME_SOUNDS --> P_INSERT_ROD["P: Insert Snake Rod in Room 3"] + P_INSERT_ROD --> A_RETURN_ROOM3["A: Return to Position in Room 3"] + A_RETURN_ROOM3 --> A_SAVE_NOW["A: Save Game Before Danger"] + A_SAVE_NOW --> O_CHECKPOINT["O: Checkpoint Set"] + O_CHECKPOINT & O_FIND_ROD_R9 --> A_INSERT_KNOTHOLE["A: Insert Snake Rod into Knot Hole"] + A_INSERT_KNOTHOLE --> O_GUARDIANS_AWAKE["O: Guardian Statues Come to Life"] + O_GUARDIANS_AWAKE --> P_ESCAPE_TIMERED["P: Escape Before Being Caught"] + P_ESCAPE_TIMERED --> A_RUN_R4["A: Run North Immediately to Room 4"] + A_RUN_R4 --> A_WALK_AROUND_R5["A: Walk Around Creature When Back Turned in R5"] + A_WALK_AROUND_R5 --> O_PASSED_R5["O: Safely Passed Through Room 5"] + O_PASSED_R5 --> P_VINE_SWING["P: Must Swing Vine at Blocked Room 6 Exit"] + P_VINE_SWING --> A_OPERATE_VINE["A: Use OPERATE Icon on Overhead Thick Vine"] + A_OPERATE_VINE --> O_SWING_ANIMATION["O: Swing Across Indiana Jones Style"] + O_SWING_ANIMATION --> C8["C8: Arrive Room 7 Wolfgang with Torch Ready"] + C8 --> A_INSERT_ROD_R7["A: Insert Snake Rod into Second Knot Hole Inside Doorway"] + A_INSERT_ROD_R7 --> O_INNER_WHEEL["O: Access to Inner Wheel Opened"] + end + style area_7 fill:#FFF3E0,stroke:#F57C00,stroke-width:3px + + subgraph area_8["**HOUNFOUR INFILTRATION**"] + O_INNER_WHEEL --> A_TRAVEL_NO["A: Return to New Orleans With Wolfgang"] + A_TRAVEL_NO --> C9["C9: Day 10-14 Final Hounfour Heist Begins"] + C9 --> P_CATHEDRAL_ENTRY["P: Enter Cathedral Confessional Booth"] + P_CATHEDRAL_ENTRY --> A_FIND_BOOTH["A: Find Confessional on Right Side Wall"] + A_FIND_BOOTH --> O_INSIDE["O: Inside Confessional Space"] + O_INSIDE --> A_LEAVE_SUPPLIES["A: Leave Snake Rod and Signal Device for Mosely"] + A_LEAVE_SUPPLIES --> O_MOSLEY_SETUP["O: Mosley Will Have Equipment Later"] + O_INSIDE --> A_OPERATE_PANEL["A: Operate Control Panel to Trigger Elevator"] + A_OPERATE_PANEL --> O_DESCEND_HOUNFOUR["O: Descend Underground to Secret Temple"] + end + style area_8 fill:#F3E5F5,stroke:#7B1FA2,stroke-width:3px + + subgraph area_9["**HOUNFOUR ROOM NAVIGATION**"] + O_DESCEND_HOUNFOUR --> C10["C10: Main Temple Hallway Access"] + C10 --> P_GET_DISGUISES["P: Get Wolf and Boar Disguises From Room 7"] + P_GET_DISGUISES --> A_GO_NEAST_R7["A: Travel Northeast to Room 7"] + A_GO_NEAST_R7 --> A_OPERATE_PAD_7["A: Operate Control Pad Enter Room 7"] + A_OPERATE_PAD_7 --> O_INSIDE_R7["O: Inside Disguise Room"] + O_INSIDE_R7 --> A_TAKE_MASKS["A: Take Wolf Mask and Boar Mask"] + A_TAKE_MASKS --> A_GET_COSTUMES["A: Use HAND Icon on Coat Rack Twice for Outfits"] + A_GET_COSTUMES --> O_HAVE_DISGUISES["O: Have Complete Wolf and Boar Costumes"] + end + style area_9 fill:#E3F2FD,stroke:#1976D2,stroke-width:3px + + subgraph area_10["**DRUM CODE KEYCARD RETRIEVAL**"] + O_HAVE_DISGUISES --> P_EVIDENCE_R4["P: Get Black Notebook Evidence from Room 4"] + P_EVIDENCE_R4 --> A_GO_SW_ROOM4["A: Travel Southwest to Room 4 Office"] + A_GO_SW_ROOM4 --> A_TAKE_NOTEBOOK["A: Take Black Notebook From Desk"] + A_TAKE_NOTEBOOK --> O_HAVE_EVIDENCE["O: Have Incriminating Notes"] + O_HAVE_EVIDENCE --> P_DRUM_CODE["P: Send Drum Message Summoning Dr John"] + P_DRUM_CODE --> A_OPERATE_DRUMS["A: Operate Ritual Drums in Ceremonial Hallway"] + A_OPERATE_DRUMS --> A_SEND_BROTHER_EAGLE["A: Send Message Summon Brother Eagle Using Rada Translation"] + A_SEND_BROTHER_EAGLE --> A_EXIT_START_TIMER["A: Click EXIT to Send Timer for Dr John Starts"] + A_EXIT_START_TIMER --> O_DRUM_SENT["O: Drum Message Sent Timer Active"] + C10 --> P_KEYCARD_R2["P: Get Keycard From Room 2"] + P_KEYCARD_R2 --> A_TRAVEL_ROOM2["A: Travel Northeast to Room 2"] + A_TRAVEL_ROOM2 --> A_TAKE_KEYCARD["A: Take Keycard Mounted on Wall"] + A_TAKE_KEYCARD --> O_HAVE_CARD["O: Have Security Access Card"] + end + style area_10 fill:#FFF8E1,stroke:#F9A825,stroke-width:3px + + subgraph area_11["**MONEY AND GRACE RESCUE**"] + O_HAVE_CARD --> P_MONEY_R1["P: Collect Money From Room 1 Three Times"] + P_MONEY_R1 --> A_UNLOCK_R1["A: Use Keycard on Room 1 Control Pad"] + A_UNLOCK_R1 --> O_ENTERED_R1["O: Inside Money Room"] + O_ENTERED_R1 --> A_TAKE_THREE["A: Take Money Three Separate Times"] + A_TAKE_THREE --> O_HAVE_FUNDS["O: Have Future Investigation Funds"] + C10 --> P_SKIP_R11["P: Visit Room 11 But Exit Immediately to Avoid Trap"] + P_SKIP_R11 --> A_OPEN_R11_FAST["A: Quick Open and Exit Room 11 Door"] + A_OPEN_R11_FAST --> O_AVOIDED_TRAP["O: Death Trap Avoided"] + O_HAVE_FUNDS & O_AVOIDED_TRAP --> P_RESCUE_GRACE["P: Rescue Grace From Room 8 Bedroom"] + P_RESCUE_GRACE --> A_UNLOCK_ROOM8["A: Unlock Room 8 Door With Keycard"] + A_UNLOCK_ROOM8 --> O_ENTER_R8["O: Enter Bedroom with Grace"] + O_ENTER_R8 --> A_WAIT_MOSLEY["A: Wait for Mosely to Arrive From Confessional"] + A_WAIT_MOSLEY --> O_MOSLEY_ARRIVED["O: Mosley Entered With Snake Rod and Device"] + O_ENTER_R8 & O_MOSLEY_ARRIVED --> A_USE_TALISMAN["A: Use Power Talisman on Grace to Wake Her"] + A_USE_TALISMAN --> C11["C11: Grace Rescued Ready for Final Phase"] + end + style area_11 fill:#E8F5E9,stroke:#388E3C,stroke-width:3px + + subgraph area_12["**FINAL CEREMONY AND COMBAT**"] + C11 --> A_DISGUISE_BOTH["A: Put Boar Outfit on Mosely Wolf On Gabriel"] + A_DISGUISE_BOTH --> O_READY_FINAL["O: Both Characters Properly Disguised"] + O_READY_FINAL --> C12["C12: Enter Final Confrontation Ceremony Room"] + C12 --> A_WAIT_DR_JOHN["A: Wait for Dr John Character to Enter Scene"] + A_WAIT_DR_JOHN --> O_PLOT_REVEALED["O: Watch Revelation Sequence Malia and Tetelo"] + O_PLOT_REVEALED --> P_FACE_TETLO["P: Confront Tetelo in Central Ceremonial Room"] + P_FACE_TETLO --> A_USE_TALISMAN_COMBAT["A: Use Power Talisman on Tetelo When Prompt Appears"] + A_USE_TALISMAN_COMBAT --> O_TETOLO_WEAKENED["O: Tetelo Weakened Ready to Flee"] + O_TETOLO_WEAKENED --> A_TOSS_MOSLEY["A: Toss Talisman to Mosely When Chance Comes"] + A_TOSS_MOSLEY --> O_ESCAPE_GRACE_MOSLEY["O: Mosley and Grace Escape Safely Together"] + O_ESCAPE_GRACE_MOSLEY --> P_SAVE_OR_KILL["P: Choice Good or Bad Ending"] + P_SAVE_OR_KILL --> A_KNOCK_DOWN_IDOL["A: Use HAND Icon on Idol Beneath Tabletop During Fight"] + A_KNOCK_DOWN_IDOL --> O_IDOL_FALLS["O: Idol Falls Malia Catches Instead of Tablet"] + O_IDOL_FALLS --> A_GRAB_HAND_CREVACE["A: Use HAND Icon On Malias Hand Hanging From Crevasse"] + A_GRAB_HAND_CREVACE --> C13["C13: Good Ending Everyone Survives"] + C13 --> END["**END GABRIEL SAVED NEW ORLEANS VOODOO PLOT REVEALED**"] + end + style area_12 fill:#FFCDD2,stroke:#B71C1C,stroke-width:3px + + classDef start_end fill:#FFD700,stroke:#996600,stroke-width:3px,color:#000000,font-weight:bold + class START,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,END start_end diff --git a/src/inspiration/gabriel-knight-1-sins-of-the-fathers-chart.svg b/src/inspiration/gabriel-knight-1-sins-of-the-fathers-chart.svg new file mode 100644 index 0000000..a9f3930 --- /dev/null +++ b/src/inspiration/gabriel-knight-1-sins-of-the-fathers-chart.svg @@ -0,0 +1 @@ +

**FINAL CEREMONY AND COMBAT**

**MONEY AND GRACE RESCUE**

**DRUM CODE KEYCARD RETRIEVAL**

**HOUNFOUR ROOM NAVIGATION**

**HOUNFOUR INFILTRATION**

**SNAKE MOUND ESCAPE SEQUENCE**

**SNAKE MOUND OUTER RING**

**CASTLE LIBRARY**

**SCHLOSS RITTER CASTLE**

**SCHOONHAVEN TRIP**

**ST LOUIS CEMETERY #1**

**NEW ORLEANS DAYS 1-3**

fontsize=18

**START**

A: Explore New Orleans Streets Day 1

C1: Discover Voodoo Murders

P: Meet Magentia Moonbeam

A: Visit Cafe Du Monde

O: Get First Message Translation

P: Read Dr Johns Library Books

A: Browse Vodouk books

O: Learn Djede Terminology

A: Sketch New Tomb Markings at Cemetery

P: Decode Partial Cipher Message

A: Compare With First Translation

O: Identify Missing Letters Y-U-M

A: Remember Coffin Term SEKEY MADOULE

O: Complete Message DJ BRING SEKEY MADOULE

P: Need to Write on Tomb Wall

A: Find Brick at Tomb Site

A: Break Wall Surface With Brick

O: Can Now Write Message

A: Write Complete Cipher on Wall

C2: Dr John Summoned Coffin Meeting Set

A: Travel to Schoonhaven Germany

C3: Arrive at Grandmothers House

P: Unlock Clock Secret Drawer

A: Set Clock Hands to 3 OClock Position

O: Clock Hands at Correct Position

A: Rotate Inner Dial Until Dragon Hits 12

O: Secret Drawer Springs Open

A: Take Letter and Photograph From Drawer

O: Learn About Knight Family Ancestry

A: Visit Schloss Ritter Castle

C4: Must Complete Initiation Ritual

P: Perform Three-Part Ritual

A: Wash Hands in Fresh Snow

O: Hands Purified

A: Cut Own Hair With Scissors

O: Sacrifice Completed

A: Perform Blood Ritual on Altar

A: Cut Finger With Knife

A: Collect Blood in Salt-Filled Bowl

A: Unroll Ancient Scroll

A: Perform Symbol Sequence Correctly

O: Blood Ritual Success

C5: Can Now Read Castle Books

P: Find Book About Snake Mound Location

A: Read Five Specific Books

O: Learn About Snake Mound in Africa

C6: Know Where to Go Next Africa

A: Travel to Africa Snake Mound

C7: Arrive at Circular Room Structure

P: Place Twelve Tiles in Correct Rooms

A: Explore All 12 Rooms Collecting Tiles

O: Find Snake Rod in Room 9

O: Have All Portable Tile Pieces

A: Count Snake Patterns on Each Tile

O: Understand Room-to-Snake Mapping Rule

A: Place All 12 Tiles in Matching Rooms

O: Chime Confirms First Half Complete

P: Insert Snake Rod in Room 3

A: Return to Position in Room 3

A: Save Game Before Danger

O: Checkpoint Set

A: Insert Snake Rod into Knot Hole

O: Guardian Statues Come to Life

P: Escape Before Being Caught

A: Run North Immediately to Room 4

A: Walk Around Creature When Back Turned in R5

O: Safely Passed Through Room 5

P: Must Swing Vine at Blocked Room 6 Exit

A: Use OPERATE Icon on Overhead Thick Vine

O: Swing Across Indiana Jones Style

C8: Arrive Room 7 Wolfgang with Torch Ready

A: Insert Snake Rod into Second Knot Hole Inside Doorway

O: Access to Inner Wheel Opened

A: Return to New Orleans With Wolfgang

C9: Day 10-14 Final Hounfour Heist Begins

P: Enter Cathedral Confessional Booth

A: Find Confessional on Right Side Wall

O: Inside Confessional Space

A: Leave Snake Rod and Signal Device for Mosely

O: Mosley Will Have Equipment Later

A: Operate Control Panel to Trigger Elevator

O: Descend Underground to Secret Temple

C10: Main Temple Hallway Access

P: Get Wolf and Boar Disguises From Room 7

A: Travel Northeast to Room 7

A: Operate Control Pad Enter Room 7

O: Inside Disguise Room

A: Take Wolf Mask and Boar Mask

A: Use HAND Icon on Coat Rack Twice for Outfits

O: Have Complete Wolf and Boar Costumes

P: Get Black Notebook Evidence from Room 4

A: Travel Southwest to Room 4 Office

A: Take Black Notebook From Desk

O: Have Incriminating Notes

P: Send Drum Message Summoning Dr John

A: Operate Ritual Drums in Ceremonial Hallway

A: Send Message Summon Brother Eagle Using Rada Translation

A: Click EXIT to Send Timer for Dr John Starts

O: Drum Message Sent Timer Active

P: Get Keycard From Room 2

A: Travel Northeast to Room 2

A: Take Keycard Mounted on Wall

O: Have Security Access Card

P: Collect Money From Room 1 Three Times

A: Use Keycard on Room 1 Control Pad

O: Inside Money Room

A: Take Money Three Separate Times

O: Have Future Investigation Funds

P: Visit Room 11 But Exit Immediately to Avoid Trap

A: Quick Open and Exit Room 11 Door

O: Death Trap Avoided

P: Rescue Grace From Room 8 Bedroom

A: Unlock Room 8 Door With Keycard

O: Enter Bedroom with Grace

A: Wait for Mosely to Arrive From Confessional

O: Mosley Entered With Snake Rod and Device

A: Use Power Talisman on Grace to Wake Her

C11: Grace Rescued Ready for Final Phase

A: Put Boar Outfit on Mosely Wolf On Gabriel

O: Both Characters Properly Disguised

C12: Enter Final Confrontation Ceremony Room

A: Wait for Dr John Character to Enter Scene

O: Watch Revelation Sequence Malia and Tetelo

P: Confront Tetelo in Central Ceremonial Room

A: Use Power Talisman on Tetelo When Prompt Appears

O: Tetelo Weakened Ready to Flee

A: Toss Talisman to Mosely When Chance Comes

O: Mosley and Grace Escape Safely Together

P: Choice Good or Bad Ending

A: Use HAND Icon on Idol Beneath Tabletop During Fight

O: Idol Falls Malia Catches Instead of Tablet

A: Use HAND Icon On Malias Hand Hanging From Crevasse

C13: Good Ending Everyone Survives

**END GABRIEL SAVED NEW ORLEANS VOODOO PLOT REVEALED**

\ No newline at end of file diff --git a/src/inspiration/grim-fandango-chart.mmd b/src/inspiration/grim-fandango-chart.mmd new file mode 100644 index 0000000..2f26da5 --- /dev/null +++ b/src/inspiration/grim-fandango-chart.mmd @@ -0,0 +1,204 @@ +flowchart TD + node[fontsize=18] + START["**START**"] --> A_DOD_OFFICE["A: Start at DOD Office Year 1"] + + subgraph area_1["**YEAR 1 - INITIAL TRAINING**"] + A_DOD_OFFICE --> C1["C1: Learn Soul Travel Basics"] + + C1 --> P_TICKET_COUNTER["P: Practice with Ticket Counter"] + P_TICKET_COUNTER --> A_ISSUE_SAMPLE_TICKETS["A: Issue Sample Tickets to Practice Clients"] + A_ISSUE_SAMPLE_TICKETS --> O_COUNTING_SKILL["O: Learn Proper Ticket Counting System"] + + C1 --> P_ELEVATOR_CODE["P: Memorize Elevator Floor Codes"] + P_ELEVATOR_CODE --> A_PRACTICE_FLOORS["A: Practice Reciting All Destination Codes"] + A_PRACTICE_FLOORS --> O_CODES_REMEMBERED["O: Know All Travel Destinations"] + + C1 --> P_TOUR_PLANNING["P: Plan First Tour Route"] + P_TOUR_PLANNING --> A_MAP_ROAD_TO_DURAZNO["A: Map Out 4-Year Tour to Durazno"] + A_MAP_ROAD_TO_DURAZNO --> O_ROUTE_PLANNED["O: Four Year Journey Mapped Out"] + end + style area_1 fill:#E3F2FD,stroke:#1976D2,stroke-width:3px + + subgraph area_2["**YEAR 1 - MAXIMINO CONNECTION**"] + O_ROUTE_PLANNED --> C2["C2: Meet Maximino and Meche"] + + C2 --> P_GET_PIG_SKELETON["P: Retrieve Pig for Don's Office Decoration"] + P_GET_PIG_SKELETON --> A_VISIT_ANIMAL_SHOP["A: Visit Local Pet Cemetery Shop"] + A_VISIT_ANIMAL_SHOP --> O_BUY_PIG["O: Purchase Skeleton Pig"] + + O_BUY_PIG --> A_DELIVER_TO_DON["A: Deliver Pig to Don's Office on 7th Floor"] + A_DELIVER_TO_DON --> O_DON_PLEASSED["O: Don Approves Work Ethic Display"] + + C2 --> P_MEET_MAXIMINO["P: Meet Maximino at Cat Track Casino"] + P_MEET_MAXIMINO --> A_FOLLOW_TO_CATS["A: Follow Maximino to Hidden Cat Area"] + A_FOLLOW_TO_CATS --> O_MAXIMINO_FRIEND["O: Learn Maximino is Key Contact"] + end + style area_2 fill:#FFF3E0,stroke:#F57C00,stroke-width:3px + + subgraph area_3["**YEAR 1 - MECHE PROTEGE RELATIONSHIP**"] + O_MAXIMINO_FRIEND --> C3["C3: Meche Assigned as Manny's Protege"] + + C3 --> P_MEches_DOLL["P: Get Meche Her Broken Doll Repaired"] + P_meche_DOLL --> A_FIND_TOY_STORE["A: Find Toy Store in Los Muertos"] + A_FIND_TOY_STORE --> O_BUY_REPLACEMENT["O: Buy Replacement Doll Head"] + + O_BUY_REPLACEMENT --> A_GIVE_DOLL_TO_MECHES["A: Give Repaired Doll to Meche at DOD"] + A_GIVE_DOLL_TO_MECHES --> O_MEHE_TRUSTS["O: Meche Now Trusts Manny"] + end + style area_3 fill:#F3E5F5,stroke:#7B1FA2,stroke-width:3px + + subgraph area_4["**YEAR 2 - RUBACAVA PREPARATION**"] + C3 --> A_DEPART_YEAR_2["A: Begin Year 2 Journey"] + A_DEPART_YEAR_2 --> C4["C4: Arrive at Rubacava Gateway Town"] + + C4 --> P_FROSTBITE_PREVENTION["P: Prevent Frostbite on Snowy Path"] + P_FROSTBITE_PREVENTION --> A_FIND_WARM_CLOTHING["A: Find Warm Winter Gear at Camp"] + A_FIND_WARM_CLOTHING --> O_STAY_WARM["O: Safe Travel to Next Checkpoint"] + + C4 --> P_PIGEON_NEST_VENT["P: Clear Pigeon Nest Blocking Sewer Vent"] + P_PIGEON_NEST_VENT --> A_GET_BREAD_DECoy["A: Obtain Bread Attraction Item"] + A_GET_BREAD_DECoy --> O_PIGEONS_FLED["O: Pigeons Move from Nest"] + + O_PIGEONS_FLED --> A_ACCESS_SEWER["A: Access Sewer Vent to Next Area"] + A_ACCESS_SEWER --> C5["C5: Continue Journey Toward Bonetown"] + end + style area_4 fill:#FFF8E1,stroke:#F9A825,stroke-width:3px + + subgraph area_5["**YEAR 2 - BUSY BEAVERS TRAP**"] + C5 --> P_BEATERS_GATE["P: Busy Beavers Block Path with Torch Patrols"] + + P_BEATERS_GATE --> A_STUDY_PATTERN["A: Study Beaver Attack Pattern on Bridge"] + A_STUDY_PATTERN --> O_ONLY_SWIM_WHEN_LIT["O: Learn Rule - Doused Beavers Stay Submerged"] + + O_ONLY_SWIM_WHEN_LIT --> A_PICK_UP_BONES["A: Collect Three Bone Projectiles from Pile"] + A_PICK_UP_BONES --> O_ARROWS_READY["O: Have Lure Items Ready"] + + O_ARROWS_READY & O_ONLY_SWIM_WHEN_LIT --> A_THROW_FIRST_BONE["A: Throw First Bone Into Tar River Below Bridge"] + A_THROW_FIRST_BONE --> O_FIRST_BEAVER_DROPPED["O: First Beaver Chases Bone - Now in Tar"] + + O_FIRST_BEAVER_DROPPED --> A_USE_EXTINGUISHER["A: Use Fire Extinguisher on Submerged Beaver"] + A_USE_EXTINGUISHER --> O_FIRST_DOUSED["O: First Beaver Permanently Trapped"] + + O_FIRST_DOUSED --> A_THROW_SECOND_BONE["A: Repeat Process with Second Bone"] + A_THROW_SECOND_BONE --> A_DOUSE_SECOND["A: Extinguish Second Beaver in Tar"] + A_DOUSE_SECOND --> O_TWO_TRAPPED["O: Two Beavers Eliminated"] + + O_TWO_TRAPPED --> A_THROW_THIRD_BONE["A: Throw Third Final Bone"] + A_THROW_THIRD_BONE --> A_DOUSE_THIRD["A: Extinguish Third Beaver Quickly"] + A_DOUSE_THIRD --> O_ALL_THREE_GONE["O: All Three Beavers Trapped in Tar"] + + O_ALL_THREE_GONE --> A_USE_CELSO_KEY["A: Use Previously-Obtained Key to Open Gate Lock"] + A_USE_CELSO_KEY --> C6["C6: Busy Beaver Gate Opens - Path Clear"] + end + style area_5 fill:#E8F5E9,stroke:#388E3C,stroke-width:3px + + subgraph area_6["**YEAR 2-3 - BONETOWN ARRIVAL**"] + C6 --> A_TRAVEL_BONETOWN["A: Continue Journey to Bonetown"] + A_TRAVEL_BONETOWN --> C7["C7: Arrive at Bonetown Gateway"] + + C7 --> P_TRANSPORTATION_ISSUE["P: Need Valid Union Card for Ferry Travel"] + P_TRANSPORTATION_ISSUE --> O_CANT_JUST_BUY["O: Cannot Simply Purchase Membership Card"] + + O_CANT_JUST_BUY --> P_MEET_CHARLIE["P: Meet Charlie at Roulette Room Counter"] + P_MEET_CHARLIE --> A_PERSUADE_CHARLIE["A: Persuade Charlie to Help with Special Request"] + A_PERSUADE_CHARLIE --> O_CHARLIE_AGREES["O: Charlie Will Print Custom Tickets and Documents"] + end + style area_6 fill:#E0F7FA,stroke:#00838F,stroke-width:3px + + subgraph area_7["**YEAR 3 - CAT TRACK VIP HEiST**"] + O_CHARLIE_AGREES --> A_DEPART_YEAR_3["A: Begin Year 3 at Cat Track Complex"] + A_DEPART_YEAR_3 --> C8["C8: Need Union Card Access VIP Section"] + + C8 --> P_VIP_ACCESS["P: Get VIP Lounge Pass for Glottis Wine Room"] + P_VIP_ACCESS --> A_REQUEST_FROM_CHARLIE["A: Request VIP Entry Ticket from Charlie"] + A_REQUEST_FROM_CHARLIE --> O_HAVE_VIP_PASS["O: Have Valid VIP Access Card"] + + O_HAVE_VIP_PASS --> A_BUY_DRINK_FOR_GLOTTIS["A: Offer Gold Flake Liqueur to Glottis at Bar"] + A_BUY_DRINK_FOR_GLOTTIS --> O_GLOTTIS_INVITED["O: Glottis Invited to VIP Section with Manny"] + + O_GLOTTIS_INVITED --> P_LITTER_BOX_TOOLS["P: Get Can Opener Behind the Cat Stuffed Display"] + P_LITTER_BOX_TOOLS --> A_FIND_CAT_AREA["A: Locate Hidden Cat Litter Box Room"] + A_FIND_CAT_AREA --> O_CAN_OPENER_THERE["O: Find Can Opener on Wall Hook"] + + O_HAVE_VIP_PASS & O_GLOTTIS_INVITED --> A_ENTER_WINE_CELLAR["A: Enter VIP Wine Storage Basement with Glottis"] + A_ENTER_WINE_CELLAR --> O_GLOTTIS_DRINKING["O: Glottis Consuming Entire Cask Contents"] + + O_GLOTTIS_DRINKING & O_CAN_OPENER_THERE --> P_KITCHEN_ESCAPE["P: Lock Waiter Away to Prevent Interruption"] + P_KITCHEN_ESCAPE --> A_WAIT_FOR_WAITER["A: Wait for Service Staff to Enter Pantry"] + A_WAIT_FOR_WAITER --> A_CLOSE_AND_LOCK_DOORS["A: Close Pantry Doors Behind Him Then Use Scythe on Hinges"] + A_CLOSE_AND_LOCK_DOORS --> O_WAITER_TRAPPED["O: Kitchen Staff Locked Inside - Access Clear"] + + O_WAITER_TRAPPED & O_CAN_OPENER_THERE --> A_OPERATE_EMPTY_CASK["A: Use Can Opener on Now-Empty Wine Cask"] + A_OPERATE_EMPTY_CASK --> O_CASK_OPENED["O: Empty Cask Ready for Entry"] + + O_CASK_OPENED --> A_ENTER_AS_CASK_CONTENTS["A: Hide Inside Opened Wine Cask Until Transport"] + A_ENTER_AS_CASK_CONTENTS --> O_HIDDEN_OKAY["O: Concealed Within Wine Container"] + end + style area_7 fill:#FFF3E0,stroke:#F57C00,stroke-width:3px + + subgraph area_8["**YEAR 3 - FORKLIFT ELEVATOR HEIST**"] + O_HIDDEN_OKAY --> C9["C9: Wait for Cask Transport via Forklift"] + + C9 --> A_RIDE_FORKLIFT_DOWN["A: Board Forklift Vehicle Loading Empty Casks to Basement Level"] + A_RIDE_FORKLIFT_DOWN --> O_AT_ELEVATOR["O: ForKlift Arrives at Elevator Entrance"] + + O_AT_ELEVATOR --> P_TIMED_GAP_ENTRY["P: Time Entry Through Closing Elevator Doors"] + P_TIMED_GAP_ENTRY --> A_POSITION_ON_RIGHT_SIDE["A: Position Forklift Aligned with Right-Hand Door Gap"] + A_POSITION_ON_RIGHT_SIDE --> O_ALIGNED_CORRECTLY["O: Vehicle Properly Positioned for Timing"] + + O_ALIGNED_CORRECTLY --> A_PRESS_BUTTON_THEN_PUSH["A: Press Elevator Call Button Then Immediately Drive Forward Through Opening Gap"] + A_PRESS_BUTTON_THEN_PUSH --> O_MADE_IT_IN["O: Inside Partially-Closed Elevating Car"] + + O_MADE_IT_IN --> P_HIDDEN_FLOOR_ACCESS["P: Block Elevator at Secret Basement Floor"] + P_HIDDEN_FLOOR_ACCESS --> A_RAISE_FORK_LEVER["A: Raise Forklift Blade Lever to Maximum Height"] + A_RAISE_FORK_LEVER --> O_MECHANISM_BLOCKED["O: ForK Blocks Elevator from Rising Further Past Hidden Floor"] + + O_MECHANISM_BLOCKED --> A_EXIT_AND_WALK_HALLWAY["A: Exit Forklift and Walk Down Concealed Hallway to End of Corridor"] + A_EXIT_AND_WALK_HALLWAY --> C10["C10: Security Office at End of Secret Hallway Open"] + + C10 --> A_OPEN_SECURITY_CHEST["A: Enter and Open Locked Security Chest"] + A_OPEN_SECURITY_CHEST --> O_SUITE_CASE_FOUND["O: Find Suitcase with Fake Documents Inside"] + + O_SUITE_CASE_FOUND --> A_RETURN_TO_SURFACE["A: Return to Main Floors Exiting Secret Level"] + A_RETURN_TO_SURFACE --> C11["C11: Now Possess Stolen Union Card Documents"] + end + style area_8 fill:#F3E5F5,stroke:#7B1FA2,stroke-width:3px + + subgraph area_9["**YEAR 4 - PHOTO FINISH EVIDENCE HUNT**"] + C11 --> A_DEPART_YEAR_4["A: Start Final Year Journey to Complete Tour Assignment For Gloria"] + A_DEPART_YEAR_4 --> C12["C12: Need Incriminating Photo Against Nick the Lawyer"] + + C12 --> P_PHOTO_COUNTER_TICKET["P: Print Correct Ticket for Cat Track Photo Finish Counter"] + + P_PHOTO_COUNTER_TICKET --> A_READ_CAT_STATUE_PLAQUE["A: Read Plaque on Large Stuffed Cat Statue - Contains Week Number Info"] + A_READ_CAT_STATUE_PLAQUE --> O_WEEK_TWO_LEARNED["O: Current Betting Week Is Week Two"] + + P_PHOTO_COUNTER_TICKET --> A_EXAMINE_EXISTING_PHOTO["A: Examine Existing Photo in Display Case Near Entrance - Shows Visible Race Number"] + A_EXAMINE_EXISTING_PHOTO --> O_RACE_SIX_FOUND["O: Target Photo Is From Race Six"] + + P_PHOTO_COUNTER_TICKET --> A_TALK_TICKET_CLERK["A: Talk to Ticket Counter NPC About Scheduled Special Events"] + A_TALK_TICKET_CLERK --> O_TUESDAY_MENTIONED["O: Clerk Mentions Kitty Hat Distribution Every Tuesday"] + + O_WEEK_TWO_LEARNED & O_RACE_SIX_FOUND & O_TUESDAY_MENTIONED --> A_PRINT_CORRECT_TICKET["A: Use Ticket Printer to Print Week 2 Tuesday Race 6 Ticket"] + A_PRINT_CORRECT_TICKET --> O_VALID_TICKET["O: Have Properly-Filled Photo Request Form"] + + O_VALID_TICKET --> A_APPROACH_PHOTO_FINISH_WINDOW["A: Present Ticket at Photo Finish Window - Not Ticket Counter Different Location"] + A_APPROACH_PHOTO_FINISH_WINDOW --> C13["C13: Receive Photo Evidence of Nick Kissing Maximino's Girlfriend"] + end + style area_9 fill:#E3F2FD,stroke:#1976D2,stroke-width:3px + + subgraph area_10["**FINAL RESOLUTION - TOUR COMPLETE**"] + C13 --> P_CONFRONT_NICK["P: Confront Nick Lawyer With Smoking Gun Evidence"] + P_CONFRONT_NICK --> A_SHOW_PHOTO_TO_NICK["A: Show Incriminating Photo to Nick"] + A_SHOW_PHOTO_TO_NICK --> O_NICK_COOPERATES["O: Nick Agrees to Help Bees with Lawsuit Against Maximino"] + + O_NICK_COOPERATES --> A_PRESENT_PROOF_TO_GUSTAVO["A: Present All Evidence to Gustavo About Maximonos Illegal Tour Deals"] + A_PRESENT_PROOF_TO_GUSTAVO --> O_MAXIMINO_OVERTHROWN["O: Maximino Resigns from Tour Leader Position Reputation Destroyed"] + + O_MAXIMINO_OVERTHROWN --> A_BECOME_TOUR_AGENT_OFFICIAL["A: Manny Officially Named Full-Time Soul Travel Agent for Year 5"] + A_BECOME_TOUR_AGENT_OFFICIAL --> END["**END - MANNY SAVED GLORIA FOUR-YEAR TOUR COMPLETE**"] + end + style area_10 fill:#E8F5E9,stroke:#388E3C,stroke-width:3px + + classDef start_end fill:#FFD700,stroke:#996600,stroke-width:3px,color:#000000,font-weight:bold + class START,C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C11,C12,C13,END start_end diff --git a/src/inspiration/grim-fandango-chart.svg b/src/inspiration/grim-fandango-chart.svg new file mode 100644 index 0000000..ff7b939 --- /dev/null +++ b/src/inspiration/grim-fandango-chart.svg @@ -0,0 +1 @@ +

**FINAL RESOLUTION - TOUR COMPLETE**

**YEAR 4 - PHOTO FINISH EVIDENCE HUNT**

**YEAR 3 - FORKLIFT ELEVATOR HEIST**

**YEAR 3 - CAT TRACK VIP HEiST**

**YEAR 2-3 - BONETOWN ARRIVAL**

**YEAR 2 - BUSY BEAVERS TRAP**

**YEAR 2 - RUBACAVA PREPARATION**

**YEAR 1 - MECHE PROTEGE RELATIONSHIP**

**YEAR 1 - MAXIMINO CONNECTION**

**YEAR 1 - INITIAL TRAINING**

fontsize=18

**START**

A: Start at DOD Office Year 1

C1: Learn Soul Travel Basics

P: Practice with Ticket Counter

A: Issue Sample Tickets to Practice Clients

O: Learn Proper Ticket Counting System

P: Memorize Elevator Floor Codes

A: Practice Reciting All Destination Codes

O: Know All Travel Destinations

P: Plan First Tour Route

A: Map Out 4-Year Tour to Durazno

O: Four Year Journey Mapped Out

C2: Meet Maximino and Meche

P: Retrieve Pig for Don's Office Decoration

A: Visit Local Pet Cemetery Shop

O: Purchase Skeleton Pig

A: Deliver Pig to Don's Office on 7th Floor

O: Don Approves Work Ethic Display

P: Meet Maximino at Cat Track Casino

A: Follow Maximino to Hidden Cat Area

O: Learn Maximino is Key Contact

C3: Meche Assigned as Manny's Protege

P: Get Meche Her Broken Doll Repaired

P_meche_DOLL

A: Find Toy Store in Los Muertos

O: Buy Replacement Doll Head

A: Give Repaired Doll to Meche at DOD

O: Meche Now Trusts Manny

A: Begin Year 2 Journey

C4: Arrive at Rubacava Gateway Town

P: Prevent Frostbite on Snowy Path

A: Find Warm Winter Gear at Camp

O: Safe Travel to Next Checkpoint

P: Clear Pigeon Nest Blocking Sewer Vent

A: Obtain Bread Attraction Item

O: Pigeons Move from Nest

A: Access Sewer Vent to Next Area

C5: Continue Journey Toward Bonetown

P: Busy Beavers Block Path with Torch Patrols

A: Study Beaver Attack Pattern on Bridge

O: Learn Rule - Doused Beavers Stay Submerged

A: Collect Three Bone Projectiles from Pile

O: Have Lure Items Ready

A: Throw First Bone Into Tar River Below Bridge

O: First Beaver Chases Bone - Now in Tar

A: Use Fire Extinguisher on Submerged Beaver

O: First Beaver Permanently Trapped

A: Repeat Process with Second Bone

A: Extinguish Second Beaver in Tar

O: Two Beavers Eliminated

A: Throw Third Final Bone

A: Extinguish Third Beaver Quickly

O: All Three Beavers Trapped in Tar

A: Use Previously-Obtained Key to Open Gate Lock

C6: Busy Beaver Gate Opens - Path Clear

A: Continue Journey to Bonetown

C7: Arrive at Bonetown Gateway

P: Need Valid Union Card for Ferry Travel

O: Cannot Simply Purchase Membership Card

P: Meet Charlie at Roulette Room Counter

A: Persuade Charlie to Help with Special Request

O: Charlie Will Print Custom Tickets and Documents

A: Begin Year 3 at Cat Track Complex

C8: Need Union Card Access VIP Section

P: Get VIP Lounge Pass for Glottis Wine Room

A: Request VIP Entry Ticket from Charlie

O: Have Valid VIP Access Card

A: Offer Gold Flake Liqueur to Glottis at Bar

O: Glottis Invited to VIP Section with Manny

P: Get Can Opener Behind the Cat Stuffed Display

A: Locate Hidden Cat Litter Box Room

O: Find Can Opener on Wall Hook

A: Enter VIP Wine Storage Basement with Glottis

O: Glottis Consuming Entire Cask Contents

P: Lock Waiter Away to Prevent Interruption

A: Wait for Service Staff to Enter Pantry

A: Close Pantry Doors Behind Him Then Use Scythe on Hinges

O: Kitchen Staff Locked Inside - Access Clear

A: Use Can Opener on Now-Empty Wine Cask

O: Empty Cask Ready for Entry

A: Hide Inside Opened Wine Cask Until Transport

O: Concealed Within Wine Container

C9: Wait for Cask Transport via Forklift

A: Board Forklift Vehicle Loading Empty Casks to Basement Level

O: ForKlift Arrives at Elevator Entrance

P: Time Entry Through Closing Elevator Doors

A: Position Forklift Aligned with Right-Hand Door Gap

O: Vehicle Properly Positioned for Timing

A: Press Elevator Call Button Then Immediately Drive Forward Through Opening Gap

O: Inside Partially-Closed Elevating Car

P: Block Elevator at Secret Basement Floor

A: Raise Forklift Blade Lever to Maximum Height

O: ForK Blocks Elevator from Rising Further Past Hidden Floor

A: Exit Forklift and Walk Down Concealed Hallway to End of Corridor

C10: Security Office at End of Secret Hallway Open

A: Enter and Open Locked Security Chest

O: Find Suitcase with Fake Documents Inside

A: Return to Main Floors Exiting Secret Level

C11: Now Possess Stolen Union Card Documents

A: Start Final Year Journey to Complete Tour Assignment For Gloria

C12: Need Incriminating Photo Against Nick the Lawyer

P: Print Correct Ticket for Cat Track Photo Finish Counter

A: Read Plaque on Large Stuffed Cat Statue - Contains Week Number Info

O: Current Betting Week Is Week Two

A: Examine Existing Photo in Display Case Near Entrance - Shows Visible Race Number

O: Target Photo Is From Race Six

A: Talk to Ticket Counter NPC About Scheduled Special Events

O: Clerk Mentions Kitty Hat Distribution Every Tuesday

A: Use Ticket Printer to Print Week 2 Tuesday Race 6 Ticket

O: Have Properly-Filled Photo Request Form

A: Present Ticket at Photo Finish Window - Not Ticket Counter Different Location

C13: Receive Photo Evidence of Nick Kissing Maximino's Girlfriend

P: Confront Nick Lawyer With Smoking Gun Evidence

A: Show Incriminating Photo to Nick

O: Nick Agrees to Help Bees with Lawsuit Against Maximino

A: Present All Evidence to Gustavo About Maximonos Illegal Tour Deals

O: Maximino Resigns from Tour Leader Position Reputation Destroyed

A: Manny Officially Named Full-Time Soul Travel Agent for Year 5

**END - MANNY SAVED GLORIA FOUR-YEAR TOUR COMPLETE**

\ No newline at end of file