# Village Generator Workflow
# Populates a village with NPCs, shops, and a quest
name: Village Generator
description: Creates a fully populated village with shopkeepers, guards, and townsfolk, plus a local quest.
version: "1.0.0"
author: Quest Keeper AI
parameters:
villageName:
type: string
description: Name of the village
default: "Willowbrook"
size:
type: string
description: Village size (small, medium, large)
default: "medium"
steps:
# Create the shopkeepers
- name: create_shopkeepers
tool: batch_create_npcs
params:
locationName: "{{villageName}}"
npcs:
- name: "Greta Ironforge"
role: "Blacksmith"
race: "Dwarf"
behavior: "Gruff but fair, gives discounts to repeat customers"
- name: "Elara Greenleaf"
role: "Herbalist"
race: "Half-Elf"
behavior: "Eccentric, collects rare plants, knows local rumors"
- name: "Marcus Coinsworth"
role: "General Store Owner"
race: "Human"
behavior: "Shrewd businessman, always looking for deals"
- name: "Helena Brightwater"
role: "Innkeeper"
race: "Human"
behavior: "Motherly, gossip enthusiast, knows everyone's business"
storeAs: shopkeepers
# Create the guards
- name: create_guards
tool: batch_create_npcs
params:
locationName: "{{villageName}}"
npcs:
- name: "Captain Aldric Stone"
role: "Guard Captain"
race: "Human"
behavior: "Stern but just, veterans' respect"
- name: "Guard Petra"
role: "Guard"
race: "Human"
behavior: "Vigilant, suspicious of strangers"
- name: "Guard Thomas"
role: "Guard"
race: "Human"
behavior: "Friendly, loves to chat while on duty"
storeAs: guards
# Create townsfolk
- name: create_townsfolk
tool: batch_create_npcs
params:
locationName: "{{villageName}}"
npcs:
- name: "Old Man Willows"
role: "Village Elder"
race: "Human"
behavior: "Wise, knows local history and legends"
- name: "Farmer Hodge"
role: "Farmer"
race: "Human"
behavior: "Hardworking, worried about recent crop problems"
- name: "Young Pip"
role: "Street Urchin"
race: "Halfling"
behavior: "Curious, knows hidden paths and secrets"
storeAs: townsfolk
# Create a local quest
- name: create_village_quest
tool: create_quest
dependsOn:
- create_townsfolk
params:
title: "The Missing Livestock"
description: "Farmer Hodge reports that several sheep have gone missing from pastures near {{villageName}}. Howling has been heard at night."
questGiver: "Farmer Hodge"
location: "{{villageName}} Outskirts"
difficulty: easy
objectives:
- id: investigate
description: "Investigate the disappearances"
type: investigation
required: true
- id: resolve
description: "Stop the threat to the livestock"
type: combat
required: true
rewards:
gold: 50
items:
- "Farmer's Gratitude Letter"
status: available
storeAs: quest
output:
include:
- create_shopkeepers
- create_guards
- create_townsfolk
- create_village_quest
summary: "Created {{villageName}} with 10 NPCs (4 shopkeepers, 3 guards, 3 townsfolk) and quest 'The Missing Livestock'"