Create an IceBreaker hat

Which slips of papers for conversations.
This commit is contained in:
Howard Abrams 2025-06-14 22:19:35 -07:00
parent fb4f0a0f0d
commit ea8f9253cc
2 changed files with 62 additions and 46 deletions

View file

@ -292,7 +292,7 @@ class CmdRead(Command):
searcher.msg(f"You can't find anything readable on {readable_str}.")
else:
searcher.msg(f"Too many things match, '{readable_str}'. "
"Can you narrow it down with a title?")
"Can you narrow it down with a title, or preface with a number, like '2-paper'?")
def func(self):
"""Return the 'inside' attribute."""

View file

@ -12,6 +12,7 @@ from commands.misc import (CmdSetPuddle,
CmdSetKnock,
CmdSetSmoke,
CmdSetRummage)
from commands.consumables import CmdSetMakeConsumable
from commands.wizards import CmdSetWand
from utils.word_list import routput, choices
from .scripts import KnockScript
@ -684,7 +685,6 @@ class BagofJunk(Object):
"a small bottle of olive oil",
"a reusable shopping bag",
"a small notebook for journaling",
"a small calendar",
"a small bottle of hot sauce",
"a small bottle of soy sauce",
"a small bottle of ketchup",
@ -711,17 +711,14 @@ class BagofJunk(Object):
"a small bottle of cider",
"a small bottle of soda",
"a small bottle of juice",
"a small bottle of water",
]
fey_stuff = [
"pan flute",
"an acorn cap",
"dried leaves",
"a small bottle of wine",
"a sprig of thyme",
"a tiny bell",
"a piece of string",
"a small mirror",
"a handful of wildflower seeds",
"a feather",
"a small pouch of herbs",
@ -744,11 +741,10 @@ class BagofJunk(Object):
"a small pouch of glitter",
"a tiny drum",
"a handful of nuts",
"a small mirror",
"a piece of flint",
"a small bellflower",
"a tiny painting",
"a small vial of potion",
"a small vial of a potion",
"a piece of candy",
"a small twig flute",
"a dried flower",
@ -762,57 +758,18 @@ class BagofJunk(Object):
"a small wooden spoon",
"a piece of fabric",
"a small bell",
"a tiny lantern",
"a small mirror",
"a piece of candy",
"a small bottle of perfume",
"a tiny flower crown",
"a small pouch of glitter",
"a tiny compass",
"a small wooden flute",
"a piece of dried fruit",
"a small jar of fireflies",
"a tiny drumstick",
"a small pouch of spices",
"a piece of string",
"a small bottle of potion",
"a tiny scroll",
"a small wooden toy",
"a piece of bark",
"a small feather",
"a tiny bell",
"a small pouch of seeds",
"a piece of candy",
"a small mirror",
"a tiny lantern",
"a small bottle of honey",
"a piece of flint",
"a small wooden carving",
"a tiny drum",
"a small pouch of herbs",
"a piece of fabric",
"a small bottle of ink",
"a feather quill",
"a tiny map of the forest",
"a small pouch of coins",
"a tiny key",
"a small wooden spoon",
"a piece of dried fruit",
"a small jar of fireflies",
"a tiny flower crown",
"a small pouch of glitter",
"a tiny compass",
"a small wooden flute",
"a piece of bark",
"a small mirror",
"a piece of candy",
"a small bottle of perfume",
"a tiny scroll",
"a small wooden toy",
"a piece of string",
"a small bottle of potion",
"a tiny drumstick",
"a small pouch of spices",
"a tiny bellflower",
]
@ -855,3 +812,62 @@ class BagofJunk(Object):
self.db.latest_item = None
else:
self.location.msg("You must |grummage|n first.")
class IceBreakerHat(Object):
def at_object_creation(self):
self.cmdset.add_default(CmdSetMakeConsumable)
def at_pre_get(self, getter, **kwargs):
"""
Can't get a producer.
"""
self.do_make(getter)
return False
def do_make(self, picker, **kwargs):
"""
Create a configurable consumable, given to picker.
"""
paper = spawn({
"typeclass": self.db.make_class or kwargs['type']
if 'type' in kwargs else "typeclasses.readables.Letter",
"key": self.db.make_name,
"aliases": self.db.make_aliases,
"desc": routput(self.db.make_desc),
})[0]
paper.db.inside = \
"The slip of paper reads...\n\n " + \
choice([
"Slide the answer to the following question into the flow of conversation:",
"Smoothly find out the answer to the following question from another character here:",
"Tell a short story about yourself that answers the following question:",
]) + "\n\n " + \
choice([
"Do you have a nickname? Why were you given it, and what does it mean?",
"Where is your homeland? What are it's people like?",
"What do you do in your free time?",
"What is your hobby?",
"What is something you carry around constantly? Why?",
"Do you have a romantic partner? Any exes?",
"If you inherited a massive pile of gold, how would you spend it?",
"What do you think about a lot?",
"What sort of pet would you want to have?",
"If you could write a book, what would it be about?",
"Do you have a rival?",
"What really annoys you?",
"What are you really passionate about?",
"What are you afraid of?",
"What is the most interesting about you?",
"What is the most embarrassing thing that has happened to you?",
"If you woke up in jail, why would you be there?",
"If you could be an animal, which animal would you be and why?",
# "Describe your personality in ten words or less.",
"Have you passed up any chances that you now regret? What were they?",
"What accomplishment are you most proud of?",
"What was the greatest adventure in your life so far?",
])
paper.location = picker
picker.announce_action(f"$You() $conj({self.db.make_verb or 'get'}) {self.db.make_name}.")