diff --git a/typeclasses/readables.py b/typeclasses/readables.py index 3f2c0ae..dd1296f 100755 --- a/typeclasses/readables.py +++ b/typeclasses/readables.py @@ -116,16 +116,17 @@ class CmdDropBook(Command): def func(self): self.obj.do_burn(self.caller, drop=True) +class CmdSetRead(CmdSet): + def at_cmdset_creation(self): + self.add(CmdReadBook) class CmdSetBook(CmdSet): priority = 2 def at_cmdset_creation(self): - self.add(CmdReadBook) self.add(CmdBurnBook) self.add(CmdDropBook) - class CmdSetShelf(CmdSet): def at_cmdset_creation(self): self.add(CmdLookBook) @@ -145,29 +146,24 @@ class Readable(Object): """ called at creation """ - self.cmdset.add_default(CmdSetBook) + self.cmdset.add_default(CmdSetRead) def do_read(self, reader): "called when 'read'." reader.msg(self.db.inside) - def do_burn(self, reader, drop=True): - """ - Throwing and burning books and signs. - Leave (ie. drop) or destroy? - """ - if drop: - super().at_drop(reader) - else: - reader.msg("The {self.name} is gone.") - self.delete() - class Letter(Readable): """ Something that can be read, but is _personal_, so if it is dropped, it is destroyed. """ + def at_object_creation(self): + """ + called at creation + """ + self.cmdset.add_default(CmdSetBook) + def at_pre_drop(self, dropper): dropper.msg("Hrm ... you don't want to litter in such an idyllic location. But you can |bthrow|n it away.") return False diff --git a/typeclasses/things.py b/typeclasses/things.py index 5f96b99..afe850c 100755 --- a/typeclasses/things.py +++ b/typeclasses/things.py @@ -14,6 +14,7 @@ from evennia.utils import logger from .objects import Object from .characters import Character +from commands.misc import CmdSetPuddle from utils.word_list import routput from random import choice, random