diff --git a/CHANGELOG.md b/CHANGELOG.md index 445fc5db..9233f964 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- Formal grammars for apocalyptic setting: scavenger, mutant and headhunter contexts/prompts + + +## [2.2.0] - 2019-12-19 + +### Added + - `/reset` is a new command with the same functionality as the old `/restart`, saving the old and beginning a brand new game. - Ratings after death and winning diff --git a/play.py b/play.py index 41883165..429a1f80 100755 --- a/play.py +++ b/play.py @@ -26,14 +26,12 @@ def random_story(story_data): # random setting settings = story_data["settings"].keys() n_settings = len(settings) + n_settings = 2 rand_n = random.randint(0, n_settings - 1) for i, setting in enumerate(settings): if i == rand_n: setting_key = setting - # temporarily only available in fantasy - setting_key = "fantasy" - # random character characters = story_data["settings"][setting_key]["characters"] n_characters = len(characters) @@ -43,7 +41,7 @@ def random_story(story_data): character_key = character # random name - name = grammars.direct(setting_key, "fantasy_name") + name = grammars.direct(setting_key, "character_name") return setting_key, character_key, name, None, None @@ -106,18 +104,12 @@ def get_curated_exposition( setting_key, character_key, name, character, setting_description ): name_token = "" - if ( - character_key == "noble" - or character_key == "knight" - or character_key == "wizard" - or character_key == "peasant" - or character_key == "rogue" - ): + try: context = grammars.generate(setting_key, character_key, "context") + "\n\n" context = context.replace(name_token, name) prompt = grammars.generate(setting_key, character_key, "prompt") prompt = prompt.replace(name_token, name) - else: + except: context = ( "You are " + name diff --git a/story/grammars/apocalyptic_rules.json b/story/grammars/apocalyptic_rules.json new file mode 100644 index 00000000..d97b3f31 --- /dev/null +++ b/story/grammars/apocalyptic_rules.json @@ -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 , #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#" +} diff --git a/story/grammars/fantasy_rules.json b/story/grammars/fantasy_rules.json index 54600f2c..1aca24ba 100644 --- a/story/grammars/fantasy_rules.json +++ b/story/grammars/fantasy_rules.json @@ -12,7 +12,8 @@ "royalty" : ["king", "queen", "princess", "prince"], "nobility" : ["duke", "duchess", "lord", "lady", "count", "countess", "baron", "baroness"], "from_fantasy" : "from the #realm# of #fantasy_name#", - "fantasy_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"], + "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"], diff --git a/story/story_data.yaml b/story/story_data.yaml index a65bb392..add66b28 100644 --- a/story/story_data.yaml +++ b/story/story_data.yaml @@ -34,6 +34,29 @@ settings: item1: "long steel dagger" item2: "length of rope" + apocalyptic: + description: " trying to survive in a post apocalyptic world by scavenging among the ruins of what is left. " + + characters: + + scavenger: + prompts: ["You walk for two hours and take a break. You've left your town in search of food. You look around and see "] + + item1: "rusty knife" + item2: "canteen" + + mutant: + prompts: ["In the colony you were born in, your strange condition was considered a curse, and you has been banished since you were sixteen. After a long journey, you find an abandoned bunker. You see"] + + item1: "scales on your face" + item2: "third leg" + + headhunter: + prompts: ["You are driving your rusty motorbike. You go past many abandoned bunkers. You arrive at a colony and stop the engine. You take a look around and see"] + + item1: "binoculars" + item2: "crappy shotgun" + mystery: description: "living in Chicago. " characters: @@ -56,37 +79,6 @@ settings: item1: "concealed pistol" item2: "syringe of poison" - apocalyptic: - description: " trying to survive in a post apocalyptic world by scavenging among the ruins of what is left. " - - characters: - - soldier: - prompts: ["You have lived in this military bunker since the bombs went off. You wake up and report for duty to your commanding officer and"] - - item1: "automatic rifle" - item2: "grenade" - - scavenger: - prompts: ["You walk for two hours and take a break. You've left your town in search of food. You look around and see "] - - item1: "rusty knife" - item2: "canteen" - - survivor: - prompts: ["You live in a small community of survivors who have managed to build a piece of civilization after - the bombs fell. You are talking to one of the leaders of the community when"] - - item1: "hatchet" - item2: "hunting rifle" - - courier: - prompts: ["It's a long and dangerous road from Boston to Charleston, but you're one of the only people who - knows the roads well enough to get your parcel of letters there. You set out in the morning and"] - - item1: "parcel of letters" - item2: "small pistol" - zombies: description: " trying to survive in a world filled with infected zombies everywhere. "