Puppets change pose automatically
This commit is contained in:
parent
b0618891c8
commit
39deff444e
2 changed files with 23 additions and 6 deletions
|
|
@ -294,7 +294,9 @@ class Object(ObjectParent, ContribRPObject):
|
||||||
if m:
|
if m:
|
||||||
delay(pause, self.location.msg_contents, routput(m.group(2), *args))
|
delay(pause, self.location.msg_contents, routput(m.group(2), *args))
|
||||||
else:
|
else:
|
||||||
delay(pause, self.execute_cmd, routput(line, *args))
|
cmd = routput(line, *args)
|
||||||
|
logger.info(f"Executing: {cmd}")
|
||||||
|
delay(pause, self.execute_cmd, cmd)
|
||||||
|
|
||||||
def at_post_move(self, source_location, move_type="move", **kwargs):
|
def at_post_move(self, source_location, move_type="move", **kwargs):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
|
|
@ -35,14 +35,17 @@ class Puppet(Character):
|
||||||
|
|
||||||
"""
|
"""
|
||||||
self.msg(f"\nYou are puppeting |c{self.key}|n.")
|
self.msg(f"\nYou are puppeting |c{self.key}|n.")
|
||||||
|
self.execute_cmd("pose reset")
|
||||||
self.msg((self.at_look(self.location), {"type": "look"}), options=None)
|
self.msg((self.at_look(self.location), {"type": "look"}), options=None)
|
||||||
|
|
||||||
def at_pre_unpuppet(self, **kwargs):
|
def at_pre_unpuppet(self, **kwargs):
|
||||||
"""
|
"""
|
||||||
Reset our pose.
|
Set our 'sleeping' pose.
|
||||||
"""
|
"""
|
||||||
super().at_pre_unpuppet()
|
super().at_pre_unpuppet()
|
||||||
self.execute_cmd("pose reset")
|
sleep_pose = self.attributes.get("pose_sleep")
|
||||||
|
if sleep_pose:
|
||||||
|
self.execute_cmd(f"pose {sleep_pose}")
|
||||||
|
|
||||||
def at_post_unpuppet(self, account=None, session=None, **kwargs):
|
def at_post_unpuppet(self, account=None, session=None, **kwargs):
|
||||||
"""
|
"""
|
||||||
|
|
@ -82,11 +85,23 @@ class Puppet(Character):
|
||||||
# TRIGGERS
|
# TRIGGERS
|
||||||
|
|
||||||
def get_character_label(self, character):
|
def get_character_label(self, character):
|
||||||
return character.get_display_name(self).split(' ')[-1]
|
cleaned = sub(r"|[A-z/]", "",
|
||||||
|
character.get_display_name(self))
|
||||||
|
return cleaned.split(' ')[-1]
|
||||||
|
|
||||||
def trigger_sequence(self, seq, character, *other_stuff):
|
def trigger_sequence(self, seq, character, *other_stuff):
|
||||||
self.delay_sequence(seq, 1, character.key, character.get_display_name(self),
|
"""
|
||||||
self.get_character_label(character), *other_stuff)
|
The actions associated with the trigger
|
||||||
|
|
||||||
|
{0} - character's real name
|
||||||
|
{1} - character's sdesc (from puppet's pov)
|
||||||
|
{2} - character's label, last word in sdesc
|
||||||
|
{3} - character object
|
||||||
|
"""
|
||||||
|
self.delay_sequence(seq, 1, character.key,
|
||||||
|
character.get_display_name(self),
|
||||||
|
self.get_character_label(character),
|
||||||
|
character, *other_stuff)
|
||||||
|
|
||||||
def get_attribute_trigger(self, label, character):
|
def get_attribute_trigger(self, label, character):
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue