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: |
{{event.character | name}} entered the room.
digest_action_take: |
{{event.character | name}} picked up the {{event.parameters[item]}}.
{{event.character | name}} picked up the {{event.parameters['item']}}.
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: |
{{event.character | name}} dropped the {{event.parameters[item]}}.
{{event.character | name}} dropped the {{event.parameters['item']}}.
digest_action_ask: |
{{event.character | name}} asked {{event.parameters[character]}} about something.
{{event.character | name}} asked {{event.parameters['character']}} about something.
digest_action_tell: |
{{event.character | name}} told {{event.parameters[character]}} about something.
{{event.character | name}} told {{event.parameters['character']}} about something.
digest_action_examine: |
{{event.character | name}} examined the {{event.parameters[target]}}.
{{event.character | name}} examined the {{event.parameters['target']}}.
# movement digest
digest_move_other_enter: |

View File

@ -16,18 +16,23 @@ def create_move_digest(
active_room: Room,
active_character: Character,
event: ActionEvent,
) -> str:
) -> str | None:
source_room = event.room
direction = str(event.parameters.get("direction"))
destination_portal = find_portal(world, direction)
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)
if not destination_room:
raise ValueError(
logger.warning(
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
source_portal = next(
@ -39,7 +44,8 @@ def create_move_digest(
None,
)
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"
direction_mode = "enter" if (destination_room == active_room) else "exit"
@ -72,6 +78,7 @@ def create_turn_digest(
message = create_move_digest(
world, active_room, active_character, event
)
if message:
messages.append(message)
except Exception:
logger.exception(