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}.") searcher.msg(f"You can't find anything readable on {readable_str}.")
else: else:
searcher.msg(f"Too many things match, '{readable_str}'. " 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): def func(self):
"""Return the 'inside' attribute.""" """Return the 'inside' attribute."""

View file

@ -12,6 +12,7 @@ from commands.misc import (CmdSetPuddle,
CmdSetKnock, CmdSetKnock,
CmdSetSmoke, CmdSetSmoke,
CmdSetRummage) CmdSetRummage)
from commands.consumables import CmdSetMakeConsumable
from commands.wizards import CmdSetWand from commands.wizards import CmdSetWand
from utils.word_list import routput, choices from utils.word_list import routput, choices
from .scripts import KnockScript from .scripts import KnockScript
@ -684,7 +685,6 @@ class BagofJunk(Object):
"a small bottle of olive oil", "a small bottle of olive oil",
"a reusable shopping bag", "a reusable shopping bag",
"a small notebook for journaling", "a small notebook for journaling",
"a small calendar",
"a small bottle of hot sauce", "a small bottle of hot sauce",
"a small bottle of soy sauce", "a small bottle of soy sauce",
"a small bottle of ketchup", "a small bottle of ketchup",
@ -711,17 +711,14 @@ class BagofJunk(Object):
"a small bottle of cider", "a small bottle of cider",
"a small bottle of soda", "a small bottle of soda",
"a small bottle of juice", "a small bottle of juice",
"a small bottle of water",
] ]
fey_stuff = [ fey_stuff = [
"pan flute", "pan flute",
"an acorn cap", "an acorn cap",
"dried leaves", "dried leaves",
"a small bottle of wine",
"a sprig of thyme", "a sprig of thyme",
"a tiny bell", "a tiny bell",
"a piece of string", "a piece of string",
"a small mirror",
"a handful of wildflower seeds", "a handful of wildflower seeds",
"a feather", "a feather",
"a small pouch of herbs", "a small pouch of herbs",
@ -744,11 +741,10 @@ class BagofJunk(Object):
"a small pouch of glitter", "a small pouch of glitter",
"a tiny drum", "a tiny drum",
"a handful of nuts", "a handful of nuts",
"a small mirror",
"a piece of flint", "a piece of flint",
"a small bellflower", "a small bellflower",
"a tiny painting", "a tiny painting",
"a small vial of potion", "a small vial of a potion",
"a piece of candy", "a piece of candy",
"a small twig flute", "a small twig flute",
"a dried flower", "a dried flower",
@ -762,57 +758,18 @@ class BagofJunk(Object):
"a small wooden spoon", "a small wooden spoon",
"a piece of fabric", "a piece of fabric",
"a small bell", "a small bell",
"a tiny lantern",
"a small mirror",
"a piece of candy",
"a small bottle of perfume", "a small bottle of perfume",
"a tiny flower crown", "a tiny flower crown",
"a small pouch of glitter",
"a tiny compass", "a tiny compass",
"a small wooden flute", "a small wooden flute",
"a piece of dried fruit", "a piece of dried fruit",
"a small jar of fireflies", "a small jar of fireflies",
"a tiny drumstick", "a tiny drumstick",
"a small pouch of spices", "a small pouch of spices",
"a piece of string",
"a small bottle of potion", "a small bottle of potion",
"a tiny scroll",
"a small wooden toy", "a small wooden toy",
"a piece of bark",
"a small feather", "a small feather",
"a tiny bell",
"a small pouch of seeds", "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", "a tiny bellflower",
] ]
@ -855,3 +812,62 @@ class BagofJunk(Object):
self.db.latest_item = None self.db.latest_item = None
else: else:
self.location.msg("You must |grummage|n first.") 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}.")