1
0
Fork 0

only add movement to digest if it was to or from the active room, fix some digest prompt templates
Run Docker Build / build (push) Successful in 12s Details
Run Python Build / build (push) Successful in 27s Details

This commit is contained in:
Sean Sube 2024-06-15 14:21:18 -05:00
parent d04af601ef
commit 288fb476a4
Signed by: ssube
GPG Key ID: 3EED7B957D362AF1
2 changed files with 18 additions and 11 deletions

View File

@ -3,17 +3,17 @@ prompts:
digest_action_move: | digest_action_move: |
{{event.character | name}} entered the room. {{event.character | name}} entered the room.
digest_action_take: | digest_action_take: |
{{event.character | name}} picked up the {{event.parameters[item]}}. {{event.character | name}} picked up the {{event.parameters['item']}}.
digest_action_give: | digest_action_give: |
{{event.character | name}} gave the {{event.parameters[item]}} to {{event.parameters[character]}}. {{event.character | name}} gave the {{event.parameters['item']}} to {{event.parameters['character']}}.
digest_action_drop: | digest_action_drop: |
{{event.character | name}} dropped the {{event.parameters[item]}}. {{event.character | name}} dropped the {{event.parameters['item']}}.
digest_action_ask: | digest_action_ask: |
{{event.character | name}} asked {{event.parameters[character]}} about something. {{event.character | name}} asked {{event.parameters['character']}} about something.
digest_action_tell: | digest_action_tell: |
{{event.character | name}} told {{event.parameters[character]}} about something. {{event.character | name}} told {{event.parameters['character']}} about something.
digest_action_examine: | digest_action_examine: |
{{event.character | name}} examined the {{event.parameters[target]}}. {{event.character | name}} examined the {{event.parameters['target']}}.
# movement digest # movement digest
digest_move_other_enter: | digest_move_other_enter: |

View File

@ -16,18 +16,23 @@ def create_move_digest(
active_room: Room, active_room: Room,
active_character: Character, active_character: Character,
event: ActionEvent, event: ActionEvent,
) -> str: ) -> str | None:
source_room = event.room source_room = event.room
direction = str(event.parameters.get("direction")) direction = str(event.parameters.get("direction"))
destination_portal = find_portal(world, direction) destination_portal = find_portal(world, direction)
if not destination_portal: if not destination_portal:
raise ValueError(f"Could not find portal for direction {direction}") logger.warning(f"Could not find portal for direction {direction}")
return None
destination_room = find_room(world, destination_portal.destination) destination_room = find_room(world, destination_portal.destination)
if not destination_room: if not destination_room:
raise ValueError( logger.warning(
f"Could not find destination room {destination_portal.destination}" f"Could not find destination room {destination_portal.destination}"
) )
return None
if not (destination_room == source_room or destination_room == active_room):
return None
# look up the source portal # look up the source portal
source_portal = next( source_portal = next(
@ -39,7 +44,8 @@ def create_move_digest(
None, None,
) )
if not source_portal: if not source_portal:
raise ValueError(f"Could not find source portal for {destination_portal.name}") logger.warning(f"Could not find source portal for {destination_portal.name}")
return None
character_mode = "self" if (event.character == active_character) else "other" character_mode = "self" if (event.character == active_character) else "other"
direction_mode = "enter" if (destination_room == active_room) else "exit" direction_mode = "enter" if (destination_room == active_room) else "exit"
@ -72,6 +78,7 @@ def create_turn_digest(
message = create_move_digest( message = create_move_digest(
world, active_room, active_character, event world, active_room, active_character, event
) )
if message:
messages.append(message) messages.append(message)
except Exception: except Exception:
logger.exception( logger.exception(