From da9927c33a58c7193c18bcba5b8d96ab960b4eae Mon Sep 17 00:00:00 2001 From: Howard Abrams Date: Fri, 16 May 2025 11:33:27 -0700 Subject: [PATCH] Allow puppets to have two descriptions --- typeclasses/characters.py | 2 ++ typeclasses/puppets.py | 16 ++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/typeclasses/characters.py b/typeclasses/characters.py index c7c83df..05e35b6 100644 --- a/typeclasses/characters.py +++ b/typeclasses/characters.py @@ -83,6 +83,8 @@ class Character(Object, GenderCharacter, ContribRPCharacter): """ Make sure we aren't left sitting down when logging out. """ + self.execute_cmd("pose reset") + if self.db.is_sitting: chair = self.db.is_sitting chair.db.sitter = None diff --git a/typeclasses/puppets.py b/typeclasses/puppets.py index 600370a..3436227 100755 --- a/typeclasses/puppets.py +++ b/typeclasses/puppets.py @@ -45,3 +45,19 @@ class Puppet(Character): """ self.msg("\nNo longer puppeting |c{name}|n.\n".format(name=self.key)) + + def return_appearance(self, viewer, **kwargs): + """ + Return one of two appearances based on if it is being puppeted or not. + + Set either or both: + + @set me/desc_puppeted = "A clown bouncing up and down from a box." + @set me/desc_uppuppeted = "A colorful box with a closed lid." + + If either is not specified, it uses the standard description. + """ + if self.tags.get(key='puppeted', category='account'): + return self.db.desc_puppeted if self.db.desc_puppeted else self.db.desc + else: + return self.db.desc_unpuppeted if self.db.desc_unpuppeted else self.db.desc