moss-n-puddles/commands/consumables.py
Howard Abrams 1f5a776ebd Call 'get' on a producer to return its produce
This now makes more sense too.
2025-06-05 22:02:14 -07:00

120 lines
2.6 KiB
Python
Executable file

#!/usr/bin/env python
from evennia import CmdSet
from commands.command import Command
class CmdMakeConsumable(Command):
"""
Pick something off of something else.
Usage: pick [ object ]
For instance |gpick berry|n from off of the brambleberry bush, or
|ggrab candy|n from a bowl.
"""
key = "pick"
aliases = ["gather"]
def func(self):
self.obj.do_make(self.caller, words=self.words())
class CmdSetMakeConsumable(CmdSet):
def at_cmdset_creation(self):
self.add(CmdMakeConsumable)
class CmdMakeTea(Command):
"""
make [tea-type]
Make a pot of magical tea. If you do not specify a particular type
of tea (or if it doesn't know what type of tea you suggest), the
pot will choose something special for the occasion.
"""
priority = 3
key = "make"
aliases = "brew"
def func(self):
"""
Make a pot of tea. Optional accept the type of tea.
"""
self.obj.do_make_tea(self.caller, self.words())
class CmdFillTeacup(Command):
"""
Fill the teacup with whatever tea is in the teapot.
See 'make tea' for details on getting some tea in the teapot.
"""
key = "fill"
aliases = "pour"
locks = "holds(teacup)"
def func(self):
self.obj.do_fill(self.caller)
class CmdSetTeapot(CmdSet):
def at_cmdset_creation(self):
self.add(CmdMakeTea)
self.add(CmdFillTeacup)
class CmdGetTeacup(Command):
"""
Get a teacup from the trolley.
Each cup is special, but not necessarily unique.
"""
auto_help = False
key = "get teacup"
aliases = ["get cup", "pickup cup", "pickup teacup", "take cup", "take teacup"]
locks = "cmd:all()"
def func(self):
"""
Get a teacup from the container. It will
itself handle all messages.
"""
self.obj.produce_teacup(self.caller)
class CmdMakeScone(Command):
"""
Generate a new thing and give it to the caller.
"""
auto_help = False
key = "get scone"
aliases = "grab scone"
def func(self):
self.obj.do_make(self.caller, words=self.words())
class CmdGetWood(Command):
"""
Get wood from the woodbox on the hearth.
"""
auto_help = False
key = "get wood"
aliases = ["get log", "get logs", "get kindling"]
locks = "cmd:all()"
def func(self):
"""
Get wood from the hearth box.
"""
self.obj.produce_wood(self.caller)
class CmdSetTrolley(CmdSet):
def at_cmdset_creation(self):
self.add(CmdGetTeacup)
self.add(CmdMakeScone)
self.add(CmdGetWood)