Create a Bag of Holding class for Tweed Jackets
This commit is contained in:
parent
c81ea8c55f
commit
5a1f8d8b56
3 changed files with 297 additions and 2 deletions
|
|
@ -125,3 +125,43 @@ class CmdSetSmoke(CmdSet):
|
||||||
def at_cmdset_creation(self):
|
def at_cmdset_creation(self):
|
||||||
self.add(CmdLight)
|
self.add(CmdLight)
|
||||||
self.add(CmdSmoke)
|
self.add(CmdSmoke)
|
||||||
|
|
||||||
|
|
||||||
|
class CmdRummage(MuxCommand):
|
||||||
|
"""
|
||||||
|
Rummage around in an object that contains stuff.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
rummage
|
||||||
|
"""
|
||||||
|
key = "rummage"
|
||||||
|
locks = "cmd:holds()"
|
||||||
|
|
||||||
|
def func(self):
|
||||||
|
self.obj.do_rummage(self.caller)
|
||||||
|
|
||||||
|
|
||||||
|
class CmdKeep(MuxCommand):
|
||||||
|
"""
|
||||||
|
Move the item found into your inventory.
|
||||||
|
You can then |ggive|n that item to others.
|
||||||
|
|
||||||
|
Usage:
|
||||||
|
|
||||||
|
keep [ description ]
|
||||||
|
|
||||||
|
The optional |wdescription|n is shown if you |glook|n
|
||||||
|
at the object.
|
||||||
|
"""
|
||||||
|
key = "keep"
|
||||||
|
locks = "cmd:holds()"
|
||||||
|
|
||||||
|
def func(self):
|
||||||
|
self.obj.do_keep(self.caller, self.args.strip())
|
||||||
|
|
||||||
|
|
||||||
|
class CmdSetRummage(CmdSet):
|
||||||
|
def at_cmdset_creation(self):
|
||||||
|
self.add(CmdRummage)
|
||||||
|
self.add(CmdKeep)
|
||||||
|
|
|
||||||
|
|
@ -271,7 +271,7 @@ COCKTAILS = [
|
||||||
"desc": "A rich glass a blood red color with notes of raspberries and toffee.",
|
"desc": "A rich glass a blood red color with notes of raspberries and toffee.",
|
||||||
"flavors": ["earthiness", "toffee", "raspberries"],
|
"flavors": ["earthiness", "toffee", "raspberries"],
|
||||||
"effects": [
|
"effects": [
|
||||||
"Ah, what was the name of the land in the Mud World?",
|
"Ah, what was the name of the land in the Mud World where you first had this vintage?",
|
||||||
"You swirl your glass and watch the legs return to the bottom.",
|
"You swirl your glass and watch the legs return to the bottom.",
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -4,9 +4,14 @@ from random import choice, random, randint
|
||||||
from enum import Enum
|
from enum import Enum
|
||||||
|
|
||||||
from evennia import create_script
|
from evennia import create_script
|
||||||
|
from evennia.prototypes.spawner import spawn
|
||||||
from evennia.utils import logger, delay
|
from evennia.utils import logger, delay
|
||||||
|
|
||||||
from commands.misc import CmdSetPuddle, CmdSetStick, CmdSetKnock, CmdSetSmoke
|
from commands.misc import (CmdSetPuddle,
|
||||||
|
CmdSetStick,
|
||||||
|
CmdSetKnock,
|
||||||
|
CmdSetSmoke,
|
||||||
|
CmdSetRummage)
|
||||||
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
|
||||||
|
|
@ -600,3 +605,253 @@ class Knocker(Object):
|
||||||
Make a muffled comment.
|
Make a muffled comment.
|
||||||
"""
|
"""
|
||||||
self.at_say(choice(self.muffled_responses))
|
self.at_say(choice(self.muffled_responses))
|
||||||
|
|
||||||
|
|
||||||
|
class BagofJunk(Object):
|
||||||
|
"""
|
||||||
|
A bag of holding with just trivial junk. Perfect for a tweed jacket.
|
||||||
|
"""
|
||||||
|
human_stuff = [
|
||||||
|
"wallet",
|
||||||
|
"keys",
|
||||||
|
"smartphone",
|
||||||
|
"handkerchief",
|
||||||
|
"pen",
|
||||||
|
"notebook",
|
||||||
|
"sunglasses",
|
||||||
|
"business cards",
|
||||||
|
"lip balm",
|
||||||
|
"mints",
|
||||||
|
"gum",
|
||||||
|
"pocket watch",
|
||||||
|
"small flashlight",
|
||||||
|
"earbuds",
|
||||||
|
"uSB drive",
|
||||||
|
"travel-sized cologne",
|
||||||
|
"hair comb",
|
||||||
|
"safety pins",
|
||||||
|
"sewing kit",
|
||||||
|
"lint roller",
|
||||||
|
"tissues",
|
||||||
|
"granola bar",
|
||||||
|
"a small book",
|
||||||
|
"reading glasses",
|
||||||
|
"a small umbrella",
|
||||||
|
"phone charger",
|
||||||
|
"portable battery pack",
|
||||||
|
"cough drops",
|
||||||
|
"a small notepad",
|
||||||
|
"a map",
|
||||||
|
"a ticket stub",
|
||||||
|
"a receipt",
|
||||||
|
"a small first aid kit",
|
||||||
|
"a keychain",
|
||||||
|
"a small mirror",
|
||||||
|
"a hair tie",
|
||||||
|
"a small bottle of hand sanitizer",
|
||||||
|
"a travel guide",
|
||||||
|
"a bookmark",
|
||||||
|
"a small camera",
|
||||||
|
"a flash drive",
|
||||||
|
"a mini tool kit",
|
||||||
|
"a stress ball",
|
||||||
|
"a small plant seed packet",
|
||||||
|
"a whistle",
|
||||||
|
"a small notebook for sketches",
|
||||||
|
"a travel pillow",
|
||||||
|
"a portable fan",
|
||||||
|
"a small bottle of water",
|
||||||
|
"a snack bag",
|
||||||
|
"a pair of gloves",
|
||||||
|
"a scarf",
|
||||||
|
"a small blanket",
|
||||||
|
"a portable game console",
|
||||||
|
"a deck of cards",
|
||||||
|
"a small puzzle",
|
||||||
|
"a travel-sized board game",
|
||||||
|
"a notepad for ideas",
|
||||||
|
"a small calendar",
|
||||||
|
"a set of colored pencils",
|
||||||
|
"a small sketchbook",
|
||||||
|
"a travel-sized hairbrush",
|
||||||
|
"a small bottle of lotion",
|
||||||
|
"a portable speaker",
|
||||||
|
"a small sewing kit",
|
||||||
|
"a pair of earplugs",
|
||||||
|
"a small flashlight",
|
||||||
|
"a mini umbrella",
|
||||||
|
"a small bottle of vinegar",
|
||||||
|
"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",
|
||||||
|
"a small bottle of mustard",
|
||||||
|
"a small bottle of salad dressing",
|
||||||
|
"a small bottle of honey",
|
||||||
|
"a small bottle of syrup",
|
||||||
|
"a small bottle of jam",
|
||||||
|
"a small bottle of peanut butter",
|
||||||
|
"a small bottle of jelly",
|
||||||
|
"a small bottle of salsa",
|
||||||
|
"a small bottle of barbecue sauce",
|
||||||
|
"a small bottle of relish",
|
||||||
|
"a small bottle of mayonnaise",
|
||||||
|
"a small bottle of Worcestershire sauce",
|
||||||
|
"a small bottle of teriyaki sauce",
|
||||||
|
"a small bottle of chili sauce",
|
||||||
|
"a small bottle of curry paste",
|
||||||
|
"a small bottle of coconut milk",
|
||||||
|
"a small bottle of broth",
|
||||||
|
"a small bottle of stock",
|
||||||
|
"a small bottle of wine",
|
||||||
|
"a small bottle of beer",
|
||||||
|
"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",
|
||||||
|
"a miniature goat figurine",
|
||||||
|
"a piece of bark",
|
||||||
|
"a lucky charm",
|
||||||
|
"a small stone with a hole",
|
||||||
|
"a twig shaped like a heart",
|
||||||
|
"a tiny lantern",
|
||||||
|
"a scrap of parchment",
|
||||||
|
"a small compass",
|
||||||
|
"a piece of cheese",
|
||||||
|
"a bottle of honey",
|
||||||
|
"a small jar of jam",
|
||||||
|
"a dried mushroom",
|
||||||
|
"a tiny scroll",
|
||||||
|
"a thimble",
|
||||||
|
"a small wooden carving",
|
||||||
|
"a piece of rope",
|
||||||
|
"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 piece of candy",
|
||||||
|
"a small twig flute",
|
||||||
|
"a dried flower",
|
||||||
|
"a small notebook",
|
||||||
|
"a pencil",
|
||||||
|
"a tiny map of the forest",
|
||||||
|
"a small bottle of ink",
|
||||||
|
"a feather quill",
|
||||||
|
"a small pouch of coins",
|
||||||
|
"a tiny key",
|
||||||
|
"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",
|
||||||
|
]
|
||||||
|
|
||||||
|
def at_object_creation(self):
|
||||||
|
self.cmdset.add_default(CmdSetRummage)
|
||||||
|
|
||||||
|
def do_rummage(self, owner):
|
||||||
|
"""
|
||||||
|
Rummage around this bag and describe finding an item.
|
||||||
|
"""
|
||||||
|
|
||||||
|
if self.db.stuff == 'human':
|
||||||
|
item = choice(self.human_stuff)
|
||||||
|
else:
|
||||||
|
item = choice(self.fey_stuff)
|
||||||
|
|
||||||
|
self.db.latest_item = item
|
||||||
|
where = self.db._sdesc or self.name
|
||||||
|
|
||||||
|
msg = routput(f"$You() << $conj(scrounge) ^ $conj(rummage) ^ $conj(fish) ^ $conj(rifle) ^ $conj(put) $pron(your) hand >> << around ^ >> in $pron(your) {where}, and << $conj(pull) out ^ $conj(find) ^ $conj(stare) at >> |w{item}|n.")
|
||||||
|
owner.announce_action(msg)
|
||||||
|
|
||||||
|
def do_keep(self, keeper, description=None):
|
||||||
|
"""
|
||||||
|
Create an object out of the last thing rummaged.
|
||||||
|
"""
|
||||||
|
if self.db.latest_item:
|
||||||
|
where = self.db._sdesc or self.name
|
||||||
|
if not description or description == "":
|
||||||
|
description = f"An interesting item found in a {where}."
|
||||||
|
|
||||||
|
item = spawn({
|
||||||
|
"typeclass": "typeclasses.objects.Object",
|
||||||
|
"key": self.db.latest_item,
|
||||||
|
"desc": description
|
||||||
|
})[0]
|
||||||
|
|
||||||
|
item.location = keeper
|
||||||
|
keeper.msg(f"You got {item.key}.")
|
||||||
|
self.db.latest_item = None
|
||||||
|
else:
|
||||||
|
self.location.msg("You must |grummage|n first.")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue