This commit is contained in:
bridge
2025-11-22 16:56:03 +08:00
parent c6d1814263
commit 5aaf6abcbb
8 changed files with 26 additions and 21 deletions

View File

@@ -109,7 +109,8 @@ class Conversation(MutualAction):
set_event = Event(
self.world.month_stamp,
f"{target.name}{self.avatar.name} 的关系变为:{relation_display_names.get(rel, str(rel))}",
related_avatars=[self.avatar.id, target.id]
related_avatars=[self.avatar.id, target.id],
is_major=True
)
EventHelper.push_pair(set_event, initiator=self.avatar, target=target, to_sidebar_once=True)
@@ -122,7 +123,8 @@ class Conversation(MutualAction):
cancel_event = Event(
self.world.month_stamp,
f"{target.name}{self.avatar.name} 取消了关系:{relation_display_names.get(rel, str(rel))}",
related_avatars=[self.avatar.id, target.id]
related_avatars=[self.avatar.id, target.id],
is_major=True
)
EventHelper.push_pair(cancel_event, initiator=self.avatar, target=target, to_sidebar_once=True)

View File

@@ -40,8 +40,8 @@ def can_get_nickname(avatar: "Avatar") -> bool:
major_threshold = CONFIG.nickname.major_event_threshold
minor_threshold = CONFIG.nickname.minor_event_threshold
major_events = em.get_major_events_by_avatar(avatar.id)
minor_events = em.get_minor_events_by_avatar(avatar.id)
major_events = em.get_major_events_by_avatar(avatar.id, limit=major_threshold)
minor_events = em.get_minor_events_by_avatar(avatar.id, limit=minor_threshold)
major_count = len(major_events)
minor_count = len(minor_events)
@@ -115,7 +115,7 @@ async def process_avatar_nickname(avatar: "Avatar") -> Optional[Event]:
# 生成事件:角色获得绰号
event = Event(
avatar.world.month_stamp,
f"{avatar.name}在修仙界中闯出名号,被人称为'{nickname}'",
f"{avatar.name}在修仙界中闯出名号,被人称为{nickname}",
related_avatars=[avatar.id],
is_major=True
)

View File

@@ -185,5 +185,8 @@ class AvatarLoadMixin:
# relations需要在外部单独重建因为需要所有avatar都加载完成
avatar.relations = {}
# 加载完成后重新计算effects确保数值正确
avatar.recalc_effects()
return avatar