Implement NPC memory and interaction system with SQLite database; add NPC data structure and dynamic NPC handling; integrate LLM for NPC conversations and quest generation.
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
NPC_DATABASE = {
|
||||
"barkeep_boris": {
|
||||
"personality": "Jovial and gossipy, knows everyone's business",
|
||||
"backstory": "Retired adventurer who settled down after losing party to dragon",
|
||||
"quirks": ["Offers free drinks to good storytellers", "Hates elves"],
|
||||
"relationships": {
|
||||
"mad_wizard": "Finds his stories amusing, sometimes annoyed by his antics",
|
||||
"blacksmith_greta": "Old friends, often shares rumors",
|
||||
"mysterious_stranger": "Suspicious, keeps an eye on them",
|
||||
"village_healer": "Respects her, sometimes flirts",
|
||||
"young_thief": "Lets him steal food, pretends not to notice"
|
||||
}
|
||||
},
|
||||
"mad_wizard": {
|
||||
"personality": "Eccentric and forgetful, brilliant but scattered",
|
||||
"backstory": "Expelled from wizard college for 'creative' spellcasting",
|
||||
"quirks": ["Speaks to imaginary familiar", "Offers dangerous experimental potions"],
|
||||
"relationships": {
|
||||
"barkeep_boris": "Enjoys his company, shares magical gossip",
|
||||
"blacksmith_greta": "Wants her to forge magical items, she refuses",
|
||||
"mysterious_stranger": "Curious, tries to uncover their secrets",
|
||||
"village_healer": "Respects her knowledge of herbs",
|
||||
"young_thief": "Occasionally hires for odd errands"
|
||||
}
|
||||
},
|
||||
"blacksmith_greta": {
|
||||
"personality": "Gruff but fair, takes pride in her work",
|
||||
"backstory": "Inherited the forge from her father, dreams of crafting legendary weapons",
|
||||
"quirks": ["Talks to her hammer", "Never removes her apron"],
|
||||
"relationships": {
|
||||
"barkeep_boris": "Drinks together after work, trusts him",
|
||||
"mad_wizard": "Annoyed by his requests, but intrigued",
|
||||
"mysterious_stranger": "Doesn't trust them, keeps her distance",
|
||||
"village_healer": "Respects her, sometimes repairs her tools",
|
||||
"young_thief": "Chased him out of her shop more than once"
|
||||
}
|
||||
},
|
||||
"mysterious_stranger": {
|
||||
"personality": "Cryptic, speaks in riddles, always watching",
|
||||
"backstory": "No one knows where they came from or what they want",
|
||||
"quirks": ["Disappears when you look away", "Knows everyone's secrets"],
|
||||
"relationships": {
|
||||
"barkeep_boris": "Knows he is watching, uses him for information",
|
||||
"mad_wizard": "Finds him amusing, but unpredictable",
|
||||
"blacksmith_greta": "Avoids her, she asks too many questions",
|
||||
"village_healer": "Respects her kindness, sometimes leaves gifts",
|
||||
"young_thief": "Keeps an eye on him, sees potential"
|
||||
}
|
||||
},
|
||||
"village_healer": {
|
||||
"personality": "Kind, patient, and wise beyond her years",
|
||||
"backstory": "Learned the healing arts from a traveling monk",
|
||||
"quirks": ["Collects rare herbs", "Refuses payment for healing"],
|
||||
"relationships": {
|
||||
"barkeep_boris": "Enjoys his stories, sometimes worries about his health",
|
||||
"mad_wizard": "Helps him with potions, tries to keep him out of trouble",
|
||||
"blacksmith_greta": "Good friends, shares herbal remedies",
|
||||
"mysterious_stranger": "Curious, senses a hidden pain",
|
||||
"young_thief": "Treats his wounds, tries to guide him"
|
||||
}
|
||||
},
|
||||
"young_thief": {
|
||||
"personality": "Cheeky, quick-witted, always looking for trouble",
|
||||
"backstory": "Grew up on the streets, steals to survive",
|
||||
"quirks": ["Has a pet mouse", "Always hungry"],
|
||||
"relationships": {
|
||||
"barkeep_boris": "Grateful for his kindness, sometimes helps out",
|
||||
"mad_wizard": "Finds him weird, but likes his tricks",
|
||||
"blacksmith_greta": "Afraid of her, but admires her strength",
|
||||
"mysterious_stranger": "Wants to impress, but is wary",
|
||||
"village_healer": "Trusts her, sees her as a mother figure"
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user