Initial commit
This commit is contained in:
commit
f58a2e46bd
44 changed files with 4051 additions and 0 deletions
37
story/grammars/__init__.py
Normal file
37
story/grammars/__init__.py
Normal file
|
@ -0,0 +1,37 @@
|
|||
import json
|
||||
import os
|
||||
|
||||
import tracery
|
||||
from tracery.modifiers import base_english
|
||||
|
||||
|
||||
def apply_grammar(key, rules):
|
||||
grammar = tracery.Grammar(rules)
|
||||
grammar.add_modifiers(base_english)
|
||||
return grammar.flatten("#{}#".format(key))
|
||||
|
||||
|
||||
def load_rules(setting):
|
||||
with open(
|
||||
os.path.join(
|
||||
os.path.dirname(os.path.abspath(__file__)), "{}_rules.json".format(setting)
|
||||
),
|
||||
"r",
|
||||
) as f:
|
||||
rules = json.load(f)
|
||||
return rules
|
||||
|
||||
|
||||
def generate(setting, character_type, key):
|
||||
"""
|
||||
Provides a randomized prompt according to the grammar rules in <setting>_rules.json
|
||||
"""
|
||||
rules = load_rules(setting)
|
||||
artefact = apply_grammar("{}_{}".format(character_type, key), rules)
|
||||
return artefact
|
||||
|
||||
|
||||
def direct(setting, key):
|
||||
rules = load_rules(setting)
|
||||
artefact = apply_grammar(key, rules)
|
||||
return artefact
|
85
story/grammars/apocalyptic_rules.json
Normal file
85
story/grammars/apocalyptic_rules.json
Normal file
|
@ -0,0 +1,85 @@
|
|||
{
|
||||
"rare_sense" : ["taste", "smell", "watch", "observe", "monitor", "look"],
|
||||
"sense" : ["see", "hear", "sense", "feel", "notice", "#rare_sense#"],
|
||||
"remember" : ["remember", "recall", "recollect"],
|
||||
"think" : ["wonder", "#decide#", "#remember#", "realize", "imagine"],
|
||||
"decide" : ["decide", "choose"],
|
||||
"action" : ["#sense#", "#think#"],
|
||||
"apocalypse_reason" : ["#mystic_reason#", "#real_reason#"],
|
||||
"mystic_reason" : ["the gods punished the humanity for its sins", "the Hell came to the Earth", "the Prophecy of the Apocalypse turned out to be true"],
|
||||
"real_reason" : ["the #bombader# bombed your country to the ground", "the environmental catastrophe of the #catastrophe_adj# #environmental_catastrophe#", "the #catastrophe_adj# #plague#"],
|
||||
"bombader" : ["its own government", "American", "Chinese", "Russian", "French", "British", "Indian", "North-Korean", "#evil_adj# scientist", "#evil_adj# businessman"],
|
||||
"evil_adj" : ["evil", "ruthless", "mad", "lunatic", "reckless", "cruel"],
|
||||
"environmental_catastrophe" : ["floods", "hurricans", "earthquakes"],
|
||||
"catastrophe_adj" : ["deadly", "unstopable", "great"],
|
||||
"plague" : ["plague", "sickness", "epidemic", "pandemic"],
|
||||
"old_metal_adj" : ["old", "rusty", "broken", "crappy"],
|
||||
"old_metal_adj_opt" : ["#old_metal_adj# ", ""],
|
||||
"old_cloth_adj" : ["old", "torn", "crappy", "dirty"],
|
||||
"old_cloth_adj_opt" : ["#old_cloth_adj# ", ""],
|
||||
"character_name" : ["Aarav", "Abra", "Adaiah", "Addison", "Adrian", "Adriel", "Aharon", "Aitan", "Akiva", "Alder", "Aleks", "Aleksa", "Aleksia", "Alijah", "Altair", "Alvaro", "Amity", "Amzi", "Andromeda", "Apollo", "Aram", "Arava", "Arbor", "Arcadia", "Archer", "Arden", "Argider", "Ariadne", "Arkadi", "Arkady", "Arke", "Arlo", "Armani", "Arza", "Ashe", "Asher", "Ashlen", "Ashtyn", "Ashyra", "Aster", "Avalon", "Avi", "Aviva", "Azariah", "Azra", "Bandit", "Beck", "Beckett", "Beckham", "Berke", "Beverly", "Blanche", "Blythe", "Boheme", "Brandt", "Bravo", "Briar", "Bridger", "Briggs", "Brinley", "Britt", "Bronwen", "Bryn", "Caden", "Cael", "Cairo", "Calder", "Callum", "Caradoc", "Carlye", "Caro", "Carter", "Carter", "Carver", "Cassidy", "Cathal", "Cathan", "Cato", "Cedar", "Ceil", "Chava", "Chosen", "Ciar", "Ciji", "Cillian", "Circe", "Cleo", "Cleve", "Clio", "Clovis", "Codi", "Colter", "Colton", "Cora", "Creed", "Crew", "Crow", "Cruz", "Cy", "Cyran", "Dahlia", "Dakota", "December", "Declan", "Delaney", "Delta", "Denver", "Destry", "Deva", "Deveraux", "Devrim", "Devyn", "Dhani", "Djuna", "Dmitri", "Dov", "Dune", "Easton", "Echo", "Eli", "Elizaveta", "Else", "Ember", "Ember", "Emre", "Emry", "Enoch", "Ensley", "Erskine", "Eryn", "Eshe", "Eszti", "Evadne", "Everett", "Everly", "Evron", "Evrose", "Explorer", "Ezri", "Falconer", "Fallon", "Faust", "Fawke", "Felix", "Fielder", "Finch", "Fischer", "Foster", "Fox", "Ginger", "Gunner", "Hadleigh", "Hadley", "Halcyon", "Haleigh", "Halloran", "Harlem", "Harlow", "Harte", "Henri", "Hero", "Holden", "Holland", "Horus", "Hunter", "Icarus", "Indie", "Irving", "Ivalo", "Ive", "Ivo", "Izaiah", "Jasper", "Jericho", "Jezebel", "Jinx", "Joji", "Jovan", "Jovie", "Jupiter", "Kaatje", "Kacey", "Kafka", "Kahlo", "Kai", "Kasper", "Katja", "Kavan", "Keaton", "Keenan", "Keeva", "Kenji", "Kensington", "Kenza", "Kerrigan", "Kessie", "Keverne", "Keyne", "Kezia", "Keziah", "Kieran", "Kingsley", "Kingston", "Kinsey", "Kipp", "Kitto", "Kiva", "Kjell", "Knox", "Kwame", "Kyah", "Kyler", "Kyra", "Laiken", "Laine", "Lake", "Lancaster", "Lander", "Landon", "Lash", "Lazarus", "Legend", "Lennox", "Lev", "Levi", "Leviathan", "Liam", "Locke", "Lourdes", "Lujza", "Lykke", "Lynx", "Maddox", "Maire", "Majken", "Malachi", "Mallory", "Malo", "March", "Marina", "Marine", "Marjo", "Marjorie", "Marley", "Marley", "Marlo", "Marlo", "Mateo", "Mathilde", "Maverick", "Mavon", "Mavra", "Maxfield", "Mazarine", "Meike", "Mekhi", "Merc", "Merce", "Mercedes", "Mercer", "Mercy", "Mesa", "Messiah", "Micah", "Milo", "Mitya", "Monroe", "Morrigan", "Moshe", "Nakotah", "Navy", "Nazareth", "Nevaeh", "Nevara", "Neve", "Neviah", "Niamh", "Nicola", "Nixi", "Nixie", "Oakes", "Okello", "Orion", "Ozias", "Pagan", "Pascale", "Pastor", "Paxton", "Penn", "Peyton", "Piper", "Porter", "Presley", "Proctor", "Quince", "Quinn", "Raiden", "Rainer", "Raiza", "Raleigh", "Ransom", "Raphael", "Raven", "Ravi", "Reagan", "Reeve", "Regan", "Reign", "Reign", "Reinhardt", "Ren", "Reno", "Revel", "Reverie", "Rhett", "Rhyatt", "Rhys", "Riet", "Ripley", "Rivage", "River", "Rivka", "Rivo", "Roan", "Rocco", "Roe", "Rogue", "Rory", "Roscoe", "Rowan", "Rue", "Rune", "Ryder", "Ryleigh", "Sade", "Saga", "Saint", "Sakae", "Saoirse", "Savita", "Sawyer", "Sayer", "Seiji", "Shaviv", "Shirley", "Shivani", "Sian", "Silas", "Silje", "Simone", "Sinclair", "Sinjon", "Svea", "Sy'Rai", "Sylvester", "Szymon", "Tai", "Taj", "Takeo", "Tarak", "Taye", "Teal", "Teasagh", "Thea", "Theodrekr", "Thorne", "Tiaamii", "Tierney", "Tikvah", "Tove", "True", "Tucker", "Tycho", "Vale", "Valen", "Valkyrie", "Vashti", "Veer", "Vihaan", "Viktorie", "Violante", "Vito", "Viva", "Viveka", "Volker", "Voltaire", "Vrai", "Walker", "Warner", "Warren", "Waverly", "Waylon", "West", "Westley", "Weston", "Wilder", "Xanthe", "Xaviera", "Xzavier", "Zachariah", "Zahava", "Zahavi", "Zahraa", "Zaki", "Zander", "Zariah", "Zen", "Zhivago", "Zimran", "Zinedine", "Zipporah", "Zocha", "Zofka", "Zvi", "Zyla"],
|
||||
"adverb" : ["finally", "suddenly", "surprisingly", "a day later"],
|
||||
"end_sentence" : ["You #action#", "#adverb.capitalize#, you #action#"],
|
||||
"apocalypse_context" : "You are <NAME>, #character_type.a# trying to survive after #apocalypse_reason#. You have #item1# and #item2#.",
|
||||
|
||||
"day" : ["long day", "long #time#", "few hours", "routine #time#"],
|
||||
"stay_time" : ["the evening", "#few# of hourse", "#few# days"],
|
||||
"time" : ["morning", "afternoon", "evening"],
|
||||
"abandoned_adj" : ["abandoned", "old", "forsaken", "ravaged"],
|
||||
"few" : ["a couple of", "some", "a few"],
|
||||
"colony" : ["colony", "city", "village", "town", "metropolis"],
|
||||
"scaveged_item" : ["car", "truck", "cottage", "house", "bunker", "camper"],
|
||||
"food_type" : ["meat", "bean", "corn"],
|
||||
"worthy_metal" : ["gold", "silver", "platinum", "silicium"],
|
||||
"found_item" : ["nothing", "#few# cans of #food_type#", "#few# pieces of #worthy_metal#", "#scavenger_item.a#"],
|
||||
"scavenger_action" : ["You decide to stay there for #stay_time#." , "You head toward the nearby #colony#."],
|
||||
"scavenger_item" : ["#old_metal_adj_opt#crowbar", "#old_metal_adj_opt#handspike", "#old_metal_adj_opt#knife", "#old_metal_adj_opt#rifle", "#old_metal_adj_opt#gun", "#old_cloth_adj_opt#backpack", "#old_metal_adj_opt#canteen", "#old_cloth_adj_opt#gas mask", "#old_metal_adj_opt#lockpick", "#old_cloth_adj_opt#cloak", "#old_cloth_adj_opt#hat"],
|
||||
"scavenger_context" : "#[character_type:lonely scavenger][item1:#scavenger_item.a#][item2:#scavenger_item.a#]apocalypse_context#",
|
||||
"scavenger_prompt" : "You spend a #day# trying to get out as much as you can from a #abandoned_adj# #scaveged_item#. At the end you find #found_item#. #scavenger_action# #end_sentence#",
|
||||
|
||||
"body_side" : ["left", "right"],
|
||||
"finger_number" : ["two", "three", "four", "six", "seven", "eight"],
|
||||
"young_age" : ["eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen"],
|
||||
"since_young_age" : "since you were #young_age#",
|
||||
"body_side_or_double" : ["#body_side# #part#", "#part.s#"],
|
||||
"body_part" : ["#[part:hand]body_side_or_double#", "#[part:#arm_or_leg#]body_side_or_double#", "face", "back", "whole body", "chest"],
|
||||
"fingers_or_toes" : ["#finger_number# fingers on your #[part:hand]body_side_or_double#", "#finger_number# toes on your #[part:leg]body_side_or_double#"],
|
||||
"arm_or_leg" : ["arm", "leg"],
|
||||
"mistakes" : ["misbehaving", "mistakes", "faults"],
|
||||
"master" : ["guard", "master", "supervisor"],
|
||||
"subject" : ["science", "history", "literature", "maths"],
|
||||
"god" : ["god", "deity", "divine being"],
|
||||
"bad_treatment" : ["But you manage to escape today from your #master#.", "You get flagged today for your #mistakes# by your #master#.", "You don't get any food for your #mistakes# today from your #master#."],
|
||||
"mutant_condition" : ["#fingers_or_toes#", "fur on your #body_part#", "feather on your #body_part#", "scales on your #body_part#", "glandular skin on your #body_part#", "a third #arm_or_leg#", "different colored eyes", "snake like tongue", "spikes on your #body_part#"],
|
||||
"mutant_bad_prompt_reason" : ["a sin", "a curse", "a punishment", "a crime", "an atrocity", "a scandal", "a sign of inferiority"],
|
||||
"mutant_bad_prompt_effect" : ["enslaved #since_young_age#. #bad_treatment#", "in prison #since_young_age#. #bad_treatment#", "banished #since_young_age#. After a long journey, you find a #abandoned_adj# #scaveged_item#."],
|
||||
"mutant_bad_prompt" : "#mutant_bad_prompt_reason#, and you have been #mutant_bad_prompt_effect#",
|
||||
"mutant_good_prompt_reason" : ["a virtue", "a blessing", "a sign of supremacy", "a praise"],
|
||||
"mutant_good_prompt_effect" : ["get the best education possible. You go to #subject# class today.", "are treated as a #god#. You prepare for a holy ceremony."],
|
||||
"mutant_good_prompt" : "#mutant_good_prompt_reason#, and you #mutant_good_prompt_effect#",
|
||||
"mutant_bad_or_good_prompt" : ["#mutant_bad_prompt#", "#mutant_good_prompt#"],
|
||||
"mutant_prompt" : "In the #colony# you were born in, your strange condition was considered #mutant_bad_or_good_prompt# #end_sentence#",
|
||||
"mutant_context" : "#[character_type:mutant][item1:#mutant_condition#][item2:#mutant_condition#]apocalypse_context#",
|
||||
|
||||
"pub" : ["pub", "bar", "louge", "saloon"],
|
||||
"pub_with_adj" : "#old_building_adj_opt##pub#",
|
||||
"leave" : ["walk out of", "leave", "go out of", "rush out of"],
|
||||
"mission" : ["mission", "quest", "assignment", "operation"],
|
||||
"device" : ["car", "truck", "motorbike", "motorcycle", "camper"],
|
||||
"target_location" : ["somewhere here", "in a far away #colony#", "in a nearby #colony#", "in a currently unknown location"],
|
||||
"elite_proffesion" : ["scientist", "captain", "mayor", "officer", "conspirator", "gang leader", "doctor", "journalist"],
|
||||
"somebody" : ["merchant", "stranger", "girl", "mercenary", "scavenger", "technician", "old friend"],
|
||||
"somebody_opt" : ["#somebody.a#", "#somebody.s#"],
|
||||
"with_somebody" : "with #somebody_opt#",
|
||||
"with_somebody_opt" : [" #with_somebody#", ""],
|
||||
"pub_action" : ["are sitting#with_somebody_opt#", "are drinking#with_somebody_opt#", "are watching some dancers#with_somebody_opt#", "are gambling#with_somebody_opt#", "are trying to make a deal #with_somebody#"],
|
||||
"old_building_adj" : ["old", "cheap", "infamous", "ravaged", "dirty"],
|
||||
"old_building_adj_opt" : ["#old_building_adj# ", ""],
|
||||
"leaving_reason" : ["feel bored", "realize that you have no money left", "need to get going", "get insulted by #somebody_opt#"],
|
||||
"headhunter_item" : ["#old_metal_adj_opt#knife", "#old_metal_adj_opt#machete", "#old_metal_adj_opt#rifle", "#old_metal_adj_opt#gun", "#old_cloth_adj_opt#gas mask", "#old_cloth_adj_opt#cloak", "#old_metal_adj_opt#handgun", "#old_metal_adj_opt#shotgun", "#old_metal_adj_opt#grenade", "#old_metal_adj_opt#binoculars", "#old_metal_adj_opt#scope"],
|
||||
"headhunter_action" : ["capture", "find", "kill", "round up", "murder", "assasinate"],
|
||||
"headhunter_status" : ["You #pub_action# in #pub_with_adj.a#, but you #leaving_reason#. You #decide# to #leave# the building.", "You are driving your #old_metal_adj_opt##device#. You go past many #abandoned_adj# #scaveged_item.s#. You arrive at #colony.a# and stop the engine."],
|
||||
"headhunter_mission" : "You are on #mission.a# to #headhunter_action# #elite_proffesion.a# named #character_name#. Your target lives #target_location#.",
|
||||
"headhunter_prompt" : "#headhunter_status# #headhunter_mission#\n\n#end_sentence#",
|
||||
"headhunter_context" : "#[character_type:headhunter][item1:#headhunter_item.a#][item2:#headhunter_item.a#]apocalypse_context#"
|
||||
}
|
237
story/grammars/fantasy_rules.json
Normal file
237
story/grammars/fantasy_rules.json
Normal file
|
@ -0,0 +1,237 @@
|
|||
{
|
||||
"rare_sense" : ["taste", "smell", "watch", "observe", "monitor", "look"],
|
||||
"sense" : ["see", "hear", "sense", "feel", "notice", "#rare_sense#"],
|
||||
"remember" : ["remember", "recall", "recollect"],
|
||||
"think" : ["wonder", "decide", "#remember#", "realize", "imagine"],
|
||||
"action" : ["#sense#", "#think#"],
|
||||
"to_fro" : ["to and fro", "back and forth"],
|
||||
"two_to_ten" : ["two", "three", "four", "five", "six", "seven", "eight", "nine", "ten"],
|
||||
"realm" : ["realm", "kingdom", "country", "province", "land", "duchy", "barony"],
|
||||
"season" : ["spring", "summer", "winter", "autumn"],
|
||||
"animal" : ["lion", "elk", "badger", "fox", "raven", "goat", "wolf", "dove"],
|
||||
"royalty" : ["king", "queen", "princess", "prince"],
|
||||
"nobility" : ["duke", "duchess", "lord", "lady", "count", "countess", "baron", "baroness"],
|
||||
"from_fantasy" : "from the #realm# of #fantasy_name#",
|
||||
"fantasy_name" : "#character_name#",
|
||||
"character_name" : ["Larion", "Vijeh", "Francia", "Paiva", "Mederos", "Radu", "Hatami", "Shirish", "Saralyn", "Leka", "Rukaj", "Nardis", "Isett", "Jacczak", "Hamma", "Narala", "Alstine", "Gimello", "Elsbury", "Rubino", "Misra", "Paterno", "Gassan", "Galardo", "Raeder", "Garriel", "Routh", "Bindi", "Renfro", "Harnid", "Enlou", "Amato", "Zurito", "Dimyan", "Arteaga", "Isgrigg", "Maida", "Mudra", "Beranek", "Aric", "Sadri", "Javan", "Wedriwin", "Umiemma", "Thaosean", "Alilawia", "Gwoia", "Galuswen", "Astedrinyth", "Wicolian", "Ziadan", "Thema", "Unirakon", "Severiveth", "Onalath", "Aaolla", "Airadan", "Legiallan", "Zayhan", "Afania", "Ibalegord", "Oligolind", "Celadon", "Alaleria", "Ocelith", "Eowaoviel", "Brigobard", "Griwen", "Frykoth", "Crilawen", "Memas", "Adrardong", "Nomaf", "Crirabeth", "Cadaed", "Broethien", "Astok", "Seraria", "Dreratlan", "Frireven", "Birahan", "Horeria", "Areriw", "Jerenia", "Alaodan", "Paeviel", "Cigowyr", "Lariesa", "Eroreth", "Sevoan", "Careg", "Thoijan", "Raywen", "Seikor", "Wilini", "Alerradon", "Unerrarith", "Agrohawyn", "Zilirith", "Brilann", "Eliawien", "Wirakor", "Gaeven", "Kiewin", "Umalia", "Prirep", "Rhalebeth", "Aaylin", "Qelindra", "Adwayder", "Rothien", "Brendabaen", "Galeliven", "Ethaykon", "Waowiel", "Qerijan", "Aavia", "Kaeinnon", "Rhycia", "Gligobard", "Zolle", "Sear", "Haeasien", "Fiakor"],
|
||||
"town_name" : ["clearkeep", "faybury", "hazelpoint", "scorchfort", "earthpost", "mossband", "deadhelm", "dragonwick", "stormwood", "rosetide", "flatpass", "winteryard", "brinehaven", "springpost", "maplestar", "cavebell", "baregrave", "swampbrook", "wildescar", "nightwind", "oxgate", "lakeford", "cavecliff", "moonbell", "bearwater", "dimchill", "silkrun", "summerbourne", "bayvein", "rockspire", "sandbourne", "glimmerpond", "swyncoast", "snowham", "glassice", "starryholt", "ashhedge", "starryice", "estercastle", "wellpine", "fairfort", "newhill", "miststone", "glasshedge", "silveroak", "byburn", "oakpond", "whitehill", "butterway", "shadowmist", "highpond", "goldcliff", "southstone", "snowhaven", "fayham", "violetwick", "mallowdell", "bluegrass", "coldholt", "woodcourt", "ironmarsh", "brightiron", "beechhollow", "welllyn", "mallowshadow", "goldlight", "fayfall", "mormont", "wyvernburn", "greenmeadow", "wellwood", "westerrose", "westerelf", "snowdeer", "orport", "greenelf", "riverbridge", "highhedge", "mallowholt", "blueglass", "snowbeach", "goldview", "lorview", "rockhedge", "witchmoor", "fallmont", "linacre", "northby", "clearmaple", "woodbridge", "coldmaple", "vertville", "springacre", "shadowsage", "southkeep", "bymeadow", "wolfpond", "woodmallow", "flowerhall", "riverhall", "northwheat", "fallland", "brightland", "orcastle", "bymist", "aldfair", "pryborough", "fairway", "esterapple", "lochland", "newsummer", "landgate", "beachstone", "fairmere", "westwilde", "snowway", "lochoak", "esternesse", "summerriver", "starrylake", "icefort", "newrock", "landbridge", "vertlea", "courtland", "bygriffin", "byhollow", "lochmill", "brightbeach", "mallowhaven", "shadowgold", "deepcrest", "wellbarrow", "summerlake", "waterwick", "summercliff", "bluehurst", "marblerose", "dragonlake", "lightflower", "westerspring", "fairport", "lochby", "wayness", "deernesse", "greyrock", "dellmeadow", "morcliff", "mallowmarsh", "crystalmill", "normont", "fallborough", "flowerlea", "glassmerrow", "aelfort", "greydell", "mallowmarble", "deepsummer", "starryfog", "foxmoor", "deepbell", "highhaven", "seamoor", "brightton", "blackacre", "butterfox", "corburn", "butterhedge", "swynbourne", "dorbank", "shadowkeep", "wildehall", "greenburn", "eastland", "wheathall", "blueholt", "edgenesse", "courtley", "summerby", "pryshore", "edgehaven", "crystalham"],
|
||||
"creature" : ["bugbear", "centaur", "chimera", "cockatrice", "cyclops", "demon", "devil", "dragon", "dryad", "dwarf", "elemental", "elf", "faun", "giant", "gnome", "goblin", "golem", "gorgon", "griffon", "harpy", "hell hound", "hobgoblin", "imp", "kobold", "lycanthrope", "manticore", "merfolk", "minotaur", "naga", "ogre", "pegasus", "roc", "selkie", "spectre", "troll", "unicorn", "vampire", "wight", "wraith", "zombie"],
|
||||
"village" : ["village", "town", "city", "hamlet"],
|
||||
"village_adj" : ["charming", "sleepy", "little", "small", "bustling", "quaint", "industrious", "festive", "remote", "secluded", "nearby", "close by"],
|
||||
"village_adj_opt" : ["#village_adj# ", ""],
|
||||
"village_full" : "the #village_adj_opt##village# of #town_name.capitalize#",
|
||||
"farmer" : ["ackerman", "cowherd", "crofter", "dairymaid", "dung carter", "farmer", "gardener", "goatherd", "hayward", "herder", "ostler", "plowman", "reapers", "sheepshearer", "shepherd", "swineherd", "thresher", "tillerman", "woodcutter", "woolcomber", "woolman"],
|
||||
"hunter" : ["climmer", "falconer", "fewterer", "forester", "fowler", "gamekeeper", "hawker", "hunter", "huntsman", "master of hounds", "molecatcher", "parker", "rat catcher", "sperviter", "trapper"],
|
||||
"fisher" : ["fisher", "fisherman", "leech-collector", "oyster raker", "oysterer", "seaweed harvester"],
|
||||
"artist" : ["artist", "artisan", "fresco painter", "glasspainter", "limner", "painter", "sculptor"],
|
||||
"writer" : ["composer", "illuminator", "limner", "playwright", "poet", "writer"],
|
||||
"profession" : ["#writer#", "#artist#", "#fisher#", "#hunter#", "#farmer#"],
|
||||
"color" : ["black", "white", "red", "gray", "blue", "#uncommon_color#"],
|
||||
"uncommon_color" : ["green", "brown", "green", "brown", "golden", "silver", "scarlet"],
|
||||
"weapon" : ["staff", "sword", "spear", "flail", "mace", "dagger", "bow", "arrow", "lance"],
|
||||
"relative" : ["father", "mother", "brother", "sister", "cousin", "uncle", "aunt"],
|
||||
|
||||
|
||||
|
||||
|
||||
"noble_item" : ["pouch of gold", "pouch of silver", "small dagger", "fine cane", "house seal", "narrow rapier", "vial of perfume", "pendant", "silk shirt", "leather purse", "map of the #realm#", "pair of spectacles", "land deed", "comb"],
|
||||
"subordinate" : ["servant", "cook", "laborer", "groundskeeper", "housekeeper", "attendant", "serf", "hireling"],
|
||||
"nice_home" : ["keep", "castle", "manor", "mansion", "abbey", "estate", "tower"],
|
||||
"he_she" : ["he", "she"],
|
||||
"a_the" : ["a", "the", "your"],
|
||||
"attacked" : ["under attack", "being invaded", "in danger", "being surrounded", "being sieged"],
|
||||
"noble_one" : ["One morning, you are awakened by one of your #subordinate.s#. #he_she.capitalize# tells you that your #nice_home# is #attacked#. You look out #a_the# window and see"],
|
||||
|
||||
"element" : ["fire", "water", "earth", "air"],
|
||||
"more_element" : ["the underworld", "the sea", "the heavens"],
|
||||
"celestial" : ["the sun", "the moon", "the stars"],
|
||||
"domain" : ["#element#", "#more_element#", "#celestial#", "harvest", "fertility", "war", "good fortune", "thresholds", "love", "wisdom", "#profession.s#"],
|
||||
"god" : ["god", "deity", "goddess"],
|
||||
"god_adj" : ["just", "cruel", "omniscient", "all-knowing", "mischevious", "wise", "reckless", "omnipotent", "#color#", "prudent", "jealous", "kind", "graceful", "magnificent", "traditional", "famous", "new", "old", "ancient", "wrathful", "fruitful", "gracious"],
|
||||
"deity" : ["#god# of #domain#", "patron #god# of #domain#", "#god_adj# #god# #fantasy_name#"],
|
||||
"group" : ["group", "bunch", "delegation", "host"],
|
||||
"humanoid" : ["elf", "dwarf", "gnome", "halfling", "hobbit", "goblin"],
|
||||
"noble_class" : ["trader", "noble", "merchant", "soldier", "captain", "aristocrat", "duke", "count", "lord", "priest"],
|
||||
"attrib" : ["boisterous", "dignified", "stately", "drunken", "cheerful", "somber", "shifty", "tired-looking"],
|
||||
"char" : ["#noble_class#", "#humanoid#"],
|
||||
"character" : ["#char#", "#attrib# #char#"],
|
||||
"toast" : ["offers a toast", "gives a speech", "recites a prayer", "announces future plans", "loudly argues", "sings a ballad"],
|
||||
"grand_home_adj" : ["great", "grand", "large", "spacious"],
|
||||
"grand_home_adj_opt" : ["#grand_home_adj# ", ""],
|
||||
"noble_location" : ["with #group.a# of #character.s#", "in a #grand_home_adj_opt##nice_home#"],
|
||||
"festival" : ["#season# festival", "festival of the #deity#", "festival of the #animal#", "festival of the year of the #animal#"],
|
||||
"season_opt" : ["#season# ", ""],
|
||||
"noble_two" : "Throughout the #realm# it is the #festival#. To celebrate, you are feasting #noble_location#. #subordinate.s.capitalize# bustle #to_fro#.\n\nAs #character.a# #toast#, you #action#",
|
||||
|
||||
"week_month" : ["week", "fortnight", "month"],
|
||||
"week_months" : ["weeks", "fortnights", "months"],
|
||||
"time_periods" : ["#week_month#", "#two_to_ten# #week_months#"],
|
||||
"chat" : ["speak", "chat", "talk", "converse"],
|
||||
"ask" : ["ask", "request", "demand"],
|
||||
"noble_organization" : ["organization", "delegation", "guild", "league", "faction"],
|
||||
"matter" : ["about a matter of importance to the #realm#", "on behalf of a foreign #noble_organization# of #humanoid.s#", "with information regarding a rival house", "with demands from some #professioe.s#"],
|
||||
"trustworthy" : ["trustworthy", "reliable", "dependable", "well-intentioned", "worth your time"],
|
||||
"noble_three" : "Every day for the past #week_month#, a certain #character# has come to your #grand_home_adj_opt##nice_home# #ask#ing to #chat# with you, apparently #matter#. Unsure if #he_she# is #trustworthy#, you finally agree to meet.\n\nAt the meeting, you #action#" ,
|
||||
|
||||
"noble_four" : "You and your bodyguards are #on_the_way# #towards# #village_full# to celebrate the #festival# with your subjects. You #road_encounter#.\n\nYou #action#",
|
||||
|
||||
"noble_prompt": ["#noble_one#", "#noble_two#", "#noble_three#", "#noble_four##"],
|
||||
|
||||
"noble_context" : "You are <NAME>, a noble #from_fantasy#. You have #noble_item.a# and #noble_item.a#.",
|
||||
|
||||
|
||||
|
||||
"crest" : ["crest of the #deity#", "#animal# crest"],
|
||||
"old_paper_adj" : ["wrinkled", "torn", "tattered", "creased"],
|
||||
"metal_adj" : ["rusty", "shiny", "steel", "iron", "bronze", "tarnished", "gleaming"],
|
||||
"metal_adj_opt" : ["#metal_adj# ", "#old_object_adj# ", ""],
|
||||
"old_object_adj" : ["old", "worn", "dusty"],
|
||||
"good_object_adj" : ["sturdy", "trusty"],
|
||||
"object_adj" : ["#old_object_adj#", "#good_object_adj#"],
|
||||
"normal_name" : ["Steve", "Bob", "Richard", "Susan", "Deborah", "Lily"],
|
||||
"mount" : ["horse", "pony", "donkey", "camel", "mare", "stallion"],
|
||||
"knight_item" : ["#metal_adj_opt#shield", "shield inscribed with the #crest#", "#metal_adj_opt#helmet", "#metal_adj_opt#sword", "#metal_adj_opt#lance", "#mount#", "squire named #normal_name#", "map of the #realm#", "food ration", "leather saddle"],
|
||||
"towards" : ["to", "towards"],
|
||||
"you_ve" : ["you", "you've", "you have"],
|
||||
"kill" : ["kill", "defeat", "slay", "destroy", "subdue", "strike down", "smite"],
|
||||
"evil_adj" : ["cursed", "evil", "wretched", "wicked", "accursed", "vile", "nefarious", "cruel", "tyrannical"],
|
||||
"monster" : ["dragon", "behemoth", "serpent", "creature", "beast", "horror", "monster", "fiend"],
|
||||
"he_she_it" : ["he", "she", "it"],
|
||||
"cardinal_dir" : ["north", "south", "east", "west"],
|
||||
"the_your" : ["the", "your"],
|
||||
"place_adj" : ["dark", "endless", "strange", "gloomy", "misty", "muddy", "barren", "gray", "creepy"],
|
||||
"place" : ["valley", "forest", "plain", "mountain", "swamp", "river", "cave", "cavern", "lake", "expanse", "cliff"],
|
||||
"monster_quest" : ["#kill# the #evil_adj# #monster# of Larion. #you_ve.capitalize# heard #he_she_it# lives to the #cardinal_dir# of #the_your# #realm#"],
|
||||
|
||||
"artifact_adj" : ["lost", "holy", "gold", "fabled", "mythic", "legendary", "blessed", "cursed", "forgotten", "#color#"],
|
||||
"artifact" : ["grail", "fleece", "gauntlet", "banner", "stone", "sword", "helmet", "ring", "book", "chalice", "tome", "gem", "bow", "scepter", "staff"],
|
||||
"whole_artifact" : "#artifact_adj# #artifact# of #fantasy_name#",
|
||||
"find" : ["find", "discover", "recover"],
|
||||
"rumored" : ["is rumored to", "is said to", "was prophesied to"],
|
||||
"artifact_description" : ["#rumored# have great power", "#rumored# aid the righteous", "#rumored# have belonged to the dead #royalty#", "#rumored# to ward away evil"],
|
||||
"artifact_quest" : "#find# the #whole_artifact#, which #artifact_description#",
|
||||
|
||||
"magical_role" : ["wizard", "necromancer", "sorcerer", "warlock", "enchanter", "diviner"],
|
||||
"evil_role" : ["witch", "necromancer", "lich", "sorcerer"],
|
||||
"evil_humanoid" : ["ogre", "troll", "giant", "orc", "goblin"],
|
||||
"kidnapper" : ["#evil_adj# #monster#", "#evil_adj# #evil_humanoid#", "#evil_adj# #evil_role#"],
|
||||
"bad_place" : ["den", "cave", "clutches", "grasp", "#nice_home#", "prison", "hall", "fortress", "catacombs"],
|
||||
"victim" : ["#royalty#", "#nobility# of #fantasy_name#"],
|
||||
"victim_adj" : ["young", "youthful", "beautiful", "poor", "well-loved"],
|
||||
"victim_adj_opt" : ["#victim_adj# ", ""],
|
||||
"rescue" : ["save", "rescue", "free", "liberate", "deliver", "set free"],
|
||||
"bad_guys_place" : ["#bad_place# of the #kidnapper#", "#kidnapper#'s #bad_place#"],
|
||||
"rescue_quest" : "#rescue# the #victim_adj_opt##victim# from the #bad_guys_place#",
|
||||
|
||||
"quest_type" : ["#monster_quest#", "#artifact_quest#", "#rescue_quest#"],
|
||||
"could" : ["will", "may", "should", "could"],
|
||||
"adventure" : ["adventure", "quest", "journey", "crusade"],
|
||||
"beginning" : ["going on", "beginning", "setting out on"],
|
||||
"quest" : ["You are #beginning# #adventure.a# to #quest_type#. You set out #towards# #place_adj.a# #place# that #could# take you there.\n\nAs you approach, you #action#"],
|
||||
"knight_prompt" : "#quest#",
|
||||
"knight_context" : "You are <NAME>, a knight #from_fantasy#. You have #knight_item.a# and #knight_item.a#.",
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"random_object" : ["#animal#", "#evil_role#", "#evil_humanoid#", "#monster#", "#humanoid#", "#profession#"],
|
||||
"mind" : ["mind", "head", "memory", "consciousness"],
|
||||
"flicker" : ["flicker", "echo", "dance", "flit", "jump"],
|
||||
"looks_like" : ["what looks like", "what appears to be"],
|
||||
"looks_like_opt" : ["#looks_like# ", ""],
|
||||
"shape" : ["circular", "spherical", "oval", "triangular", "pyramidal", "square", "concave","hexagonal", "octagonal"],
|
||||
"shape_opt" : ["#shape# ", ""],
|
||||
"encounter" : ["encounter", "come upon", "run into", "cross paths with", "see"],
|
||||
"wood" : ["wooden", "oak"],
|
||||
"alt_element" : ["ice", "wind", "metal"],
|
||||
"potion_appearance" : ["ruby", "pink", "orange", "yellow", "emerald", "dark", "green", "cyan", "sky", "blue", "brilliant", "blue", "magenta", "purple-red", "puce", "milky", "swirly", "bubbly", "smoky", "cloudy", "effervescent", "black", "golden", "brown", "fizzy", "dark", "white", "murky"],
|
||||
"wizard_animal" : ["crow", "raven", "hawk", "chameleon", "snake", "lizard", "cat", "kitten"],
|
||||
"beaker" : ["beaker", "flask", "vessel"],
|
||||
"potion" : ["#beaker# of #potion_appearance# liquid", "#potion_appearance# potion"],
|
||||
"wizard_item" : ["staff", "crystal ball", "#potion#", "#book#", "cloak", "pet #wizard_animal#", "pointed hat", "quill", "#shape_opt#amulet"],
|
||||
"dnd_school" : ["abjuration", "conjuration", "divination", "enchantment", "evocation", "illusion", "necromancy", "transmutation"],
|
||||
"magic_book" : ["spellbook", "tome", "scroll"],
|
||||
"spellbook" : ["#magic_book# of #dnd_school#"],
|
||||
"history" : ["history", "wars", "politics", "culture", "nuances", "complexity", "barbarism"],
|
||||
"subject" : ["#creature.s#", "the #history# of the #realm.s# of #fantasy_name#", "the history of #creature.s# in the #realm# of #fantasy_name#"],
|
||||
"normal_book" : ["book about #creature.s#", "book about the history of the #realm.s# of #fantasy_name#"],
|
||||
"book" : ["#normal_book#", "#spellbook#", "book", "spellbook"],
|
||||
"magic_discipline" : ["alchemy"],
|
||||
"through" : ["through", "across", "throughout", "about"],
|
||||
"wizard_drafts" : ["After #week_month.a# of travel you arrive at the ruin ", "Your apprentice has done it again; #he_she# has summoned a being "],
|
||||
"road" : ["road", "river", "path"],
|
||||
"wizard_exchange" : ["notes", "spells", "gossip", "goods", "research", "banter", "knowledge"],
|
||||
"wizard_colleage" : ["another wizard", "a fellow wizard", "a sorcerer", "a #evil_role#", "a #attrib# #char#"],
|
||||
"on_the_way" : ["on the way", "on your way", "on the #road#"],
|
||||
"wandering" : ["traveling", "wandering", "errant", "roaming", "roving", "meandering"],
|
||||
"wander" : ["travel", "wander", "roam", "rove", "meander"],
|
||||
"wandering_opt" : ["#wandering# ", ""],
|
||||
"troupe" : ["group", "band", "troupe", "crew", "gang", "party"],
|
||||
"dancer" : ["dancer", "actor", "entertainer"],
|
||||
"road_encounter" : ["#encounter# #looks_like_opt##creature.a#", "#encounter# a #wandering_opt#troupe of #profession.s#"],
|
||||
"wizard_one" : ["You are #on_the_way# #towards# #village_full# to exchange #wizard_exchange# with #wizard_colleage#. You #road_encounter#.\n\nYou #action#"],
|
||||
"old" : ["old", "aged", "experienced", "elderly", "venerable"],
|
||||
"around_opt" : [" about", " around", ""],
|
||||
"wizard_pos" : ["wise", "intelligent", "crafty", "powerful", "magical"],
|
||||
"wizard_two" : ["You face #place_adj.a# #place# as images of #random_object.s# #flicker# #through# your #mind#. What was that? Though #old# and #wizard_pos#, your memory extends only a few #week_months# back. Now you #wander##around_opt#, trying to #remember# what happened.\n\nYou #action#"],
|
||||
"great" : ["great", "renowned", "world-famous", "legendary"],
|
||||
"stare" : ["look", "stare", "gaze"],
|
||||
"sneak" : ["sneak", "creep", "inch", "move", "go"],
|
||||
"go_near" : ["#stare# at", "#sneak# towards", "approach"],
|
||||
"private" : ["private", "restricted", "forbidden", "confidential", "secure", "secret", "personal"],
|
||||
"chamber" : ["chamber", "study", "office", "antechamber", "room", "basement", "attic"],
|
||||
"great_wizard" : ["#great# #magical_role# #fantasy_name#", "#fantasy_name# the #color.capitalize#"],
|
||||
"order" : ["order", "command", "remind", "direct", "demand"],
|
||||
"wizard_three" : "You are apprentice to the #great_wizard#. Before leaving on an errand, they #order.ed# you to never enter their #private# #chamber#... but your curiosity has gotten the best of you.\n\nAs you #go_near# the door, you #action#",
|
||||
"wizard_prompt" : ["#wizard_one#", "#wizard_two#", "#wizard_three#"],
|
||||
"wizard_context" : "You are <NAME>, a wizard #from_fantasy#. You have #wizard_item.a# and #wizard_item.a#.",
|
||||
|
||||
|
||||
"peasant_item" : ["#metal_adj_opt#pitchfork", "shirt on your back", "#metal_adj_opt#shovel", "dirty rag", "#metal_adj_opt#spade", "#metal_adj_opt#sickle", "shears", "basket", "plough", "#metal_adj_opt#scythe", "dirty hat"],
|
||||
"farm_animal" : ["pig", "cow", "chicken", "llama", "goat", "horse", "donkey", "rabbit", "hog", "mule", "sow"],
|
||||
"farm_animal_sing" : ["sheep", "livestock", "cattle"],
|
||||
"farm_animal_type" : ["#farm_animal.s#", "#farm_animal_sing#"],
|
||||
"woolen" : ["sheep", "goats", "llamas"],
|
||||
"milky" : ["cows", "goats"],
|
||||
"working" : ["working", "toiling", "laboring", "sweating"],
|
||||
"morning_time" : ["at the break of dawn", "at daybreak", "early", "early in the morning", "at the cock's crow"],
|
||||
"field_verb" : ["plowing", "tilling", "cultivating", "caring for"],
|
||||
"peasant_work" : ["feeding the #farm_animal_type#", "#field_verb# the fields", "harvesting the crops", "planting new crops", "#working# in the fields", "shearing the #woolen#", "milking the #milky#", "shoveling dung"],
|
||||
"begin" : ["begin", "go about", "start", "get to", "get about"],
|
||||
"second_thing" : ["For a while, you have wanted to run away.", "In the distance, your master is yelling at some other workers.", "The sun beats down upon you.", "This has been your daily routine since you were young.", "You mutter a prayer to the #deity#."],
|
||||
"peasant_prompt" : "You wake up #morning_time# and #begin# #peasant_work#. #second_thing# You #action#",
|
||||
"peasant_context" : "You are <NAME>, a peasant #from_fantasy#. You have #peasant_item.a# and #peasant_item.a#.",
|
||||
|
||||
|
||||
|
||||
"rogue_item" : ["pair of gloves", "cloak", "deck of cards", "dagger", "lockpick", "mask", "shawl", "pipe", "key", "length of rope", "bundle of darts", "sickle", "mace"],
|
||||
"walk" : ["walk","go"],
|
||||
"street" : ["street", "streets", "square", "road"],
|
||||
"city" : ["city", "town", "village", "market"],
|
||||
"steal" : ["steal from", "shoplift", "burgle", "break into"],
|
||||
"rob" : ["steal from", "rob", "jump", "pickpocket", "con"],
|
||||
"target" : ["someplace to #steal#", "someone to #rob#", "some #profession# to #rob#"],
|
||||
"along" : ["along", "down"],
|
||||
"townsfolk" : ["townsfolk", "local vendors", "people", "crowd", "populace"],
|
||||
"amongst" : ["amongst", "in the midst of", "among"],
|
||||
"rogue_location" : ["#along# the #city# #street#", "#amongst# the #townsfolk#"],
|
||||
"seeking" : ["seeking", "looking for", "searching for", "in search of"],
|
||||
"sense" : ["see", "hear", "sense", "remember", "feel", "notice"],
|
||||
"rogue_one" : "You #walk# #rogue_location# #seeking# #target#. You #action#",
|
||||
|
||||
"position" : ["at the doorstep", "along the way", "suddenly", "before long", "out of the blue", "once in your room"],
|
||||
"time" : ["morning", "afternoon", "evening"],
|
||||
"day" : ["long day", "long #time#", "few hours", "routine #time#"],
|
||||
"stealing" : ["stealing", "mischief", "pickpocketing"],
|
||||
"inn_adj" : ["your favorite", "a nearby", "a crowded", "a busy", "a cheap"],
|
||||
"rogue_two" : "After a #day# of #stealing#, you head towards #inn_adj# inn to stay for the night. #position.capitalize# you #action#",
|
||||
"isnt" : ["isn't", "is not"],
|
||||
"enough" : ["enough", "sufficient", "good enough"],
|
||||
"not_enough" : ["#isnt# #enough#", "#isnt# #enough# anymore"],
|
||||
"simple" : ["simple", "basic", "general", "standard"],
|
||||
"rogue_three" : "This #time# you decided that #simple# #stealing# #not_enough#. You long for a more ambitious goal: taking for yourself #whole_artifact#.\n\nYou #action#",
|
||||
"rogue_prompt" : ["#rogue_one#","#rogue_two#", "#rogue_three#"],
|
||||
"rogue_context" : "You are <NAME>, a rogue #from_fantasy#. You have #rogue_item.a# and #rogue_item.a#."
|
||||
}
|
||||
|
Reference in a new issue