# Dungeon Delve Workflow
# Creates a multi-room dungeon with encounters and loot
name: Dungeon Delve
description: Generates a multi-room dungeon with monsters, treasures, and a boss encounter.
version: "1.0.0"
author: Quest Keeper AI
parameters:
dungeonName:
type: string
description: Name of the dungeon
default: "The Forgotten Crypt"
difficulty:
type: string
description: Difficulty level (easy, medium, hard)
default: "medium"
steps:
# Room 1: Entry chamber with weak enemies
- name: create_entry_encounter
tool: create_encounter
params:
seed: "{{dungeonName}}-entry"
participants:
- name: "Skeleton Warrior 1"
hp: 13
maxHp: 13
initiativeBonus: 1
isEnemy: true
position: { x: 5, y: 5 }
- name: "Skeleton Warrior 2"
hp: 13
maxHp: 13
initiativeBonus: 1
isEnemy: true
position: { x: 7, y: 5 }
terrain:
obstacles:
- "3,3"
- "9,3"
- "3,9"
- "9,9"
storeAs: entryEncounter
# Room 1 terrain
- name: setup_entry_terrain
tool: generate_terrain_patch
dependsOn:
- create_entry_encounter
params:
encounterId: "{{entryEncounter.encounterId}}"
biome: dungeon
origin: { x: 0, y: 0 }
width: 12
height: 12
density: 0.3
# Room 2: Puzzle room (optional combat)
- name: create_puzzle_room
tool: create_encounter
params:
seed: "{{dungeonName}}-puzzle"
participants:
- name: "Animated Armor"
hp: 33
maxHp: 33
initiativeBonus: 0
isEnemy: true
position: { x: 6, y: 6 }
terrain:
obstacles:
- "4,4"
- "8,4"
- "4,8"
- "8,8"
- "6,2"
- "6,10"
storeAs: puzzleRoom
# Room 3: Boss chamber
- name: create_boss_chamber
tool: create_encounter
params:
seed: "{{dungeonName}}-boss"
participants:
- name: "Crypt Lord"
hp: 75
maxHp: 75
initiativeBonus: 3
isEnemy: true
position: { x: 10, y: 10 }
- name: "Specter 1"
hp: 22
maxHp: 22
initiativeBonus: 4
isEnemy: true
position: { x: 8, y: 8 }
- name: "Specter 2"
hp: 22
maxHp: 22
initiativeBonus: 4
isEnemy: true
position: { x: 12, y: 8 }
storeAs: bossEncounter
# Boss chamber terrain - arena pattern
- name: setup_boss_terrain
tool: generate_terrain_pattern
dependsOn:
- create_boss_chamber
params:
encounterId: "{{bossEncounter.encounterId}}"
pattern: arena
origin: { x: 0, y: 0 }
width: 20
height: 20
# Create treasure loot table
- name: create_treasure_table
tool: create_loot_table
params:
name: "{{dungeonName}} Treasure"
description: "Loot from the dungeon boss"
items:
- name: "Gold Coins"
quantity: "3d20+50"
chance: 1.0
- name: "Potion of Healing"
quantity: "1d2"
chance: 0.8
- name: "Crypt Lord's Amulet"
quantity: 1
chance: 0.5
rarity: rare
- name: "Scroll of Speak with Dead"
quantity: 1
chance: 0.3
storeAs: lootTable
output:
include:
- create_entry_encounter
- create_puzzle_room
- create_boss_chamber
- create_treasure_table
summary: "Created '{{dungeonName}}' with 3 rooms: Entry (2 skeletons), Puzzle (animated armor), Boss (Crypt Lord + 2 specters)"