update dual cultivate

This commit is contained in:
bridge
2025-10-12 23:10:08 +08:00
parent f43be44e37
commit 029f717d95
3 changed files with 12 additions and 9 deletions

View File

@@ -24,7 +24,7 @@ class DualCultivation(MutualAction):
"""
ACTION_NAME = "双修"
COMMENT = "以情入道的双修之术,仅合欢宗弟子可发起,对象可接受或拒绝"
COMMENT = "以情入道的双修之术,仅合欢宗弟子可发起,对象可接受或拒绝,如接受会共同度过一段瞬息欢愉但甜蜜的时光"
DOABLES_REQUIREMENTS = "发起者为合欢宗;目标在感知范围内且为异性"
PARAMS = {"target_avatar": "AvatarName"}
FEEDBACK_ACTIONS = ["Accept", "Reject"]

View File

@@ -33,6 +33,15 @@ class MutualAction(DefineAction, LLMAction, TargetingMixin):
DOABLES_REQUIREMENTS: str = "感知范围内可互动"
PARAMS: dict = {"target_avatar": "Avatar"}
FEEDBACK_ACTIONS: list[str] = []
# 反馈动作 -> 中文标签 的映射,供事件展示复用
FEEDBACK_LABELS: dict[str, str] = {
"Accept": "接受",
"Reject": "拒绝",
"MoveAwayFromAvatar": "试图远离",
"MoveAwayFromRegion": "试图离开区域",
"Escape": "逃离",
"Battle": "战斗",
}
def _get_template_path(self) -> Path:
return CONFIG.paths.templates / "mutual_action.txt"
@@ -122,13 +131,7 @@ class MutualAction(DefineAction, LLMAction, TargetingMixin):
# 2) 再结算反馈映射为对应动作
self._settle_feedback(target_avatar, feedback)
# 3) 反馈事件(进入侧边栏与双方历史,中文化文案)
fb_map = {
"MoveAwayFromAvatar": "试图远离",
"MoveAwayFromRegion": "试图离开区域",
"Escape": "逃离",
"Battle": "战斗",
}
fb_label = fb_map.get(str(feedback).strip(), str(feedback))
fb_label = self.FEEDBACK_LABELS.get(str(feedback).strip(), str(feedback))
feedback_event = Event(self.world.month_stamp, f"{target_avatar.name}{self.avatar.name} 的反馈:{fb_label}")
# 侧边栏仅推送一次,另一侧仅写入历史,避免重复
EventHelper.push_pair(feedback_event, initiator=self.avatar, target=target_avatar, to_sidebar_once=True)