From 029f717d95ac3795af2390d78bd9cde33d990726 Mon Sep 17 00:00:00 2001 From: bridge Date: Sun, 12 Oct 2025 23:10:08 +0800 Subject: [PATCH] update dual cultivate --- src/classes/mutual_action/dual_cultivation.py | 2 +- src/classes/mutual_action/mutual_action.py | 17 ++++++++++------- static/game_configs/persona.csv | 2 +- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/src/classes/mutual_action/dual_cultivation.py b/src/classes/mutual_action/dual_cultivation.py index bffcb0c..dce294a 100644 --- a/src/classes/mutual_action/dual_cultivation.py +++ b/src/classes/mutual_action/dual_cultivation.py @@ -24,7 +24,7 @@ class DualCultivation(MutualAction): """ ACTION_NAME = "双修" - COMMENT = "以情入道的双修之术,仅合欢宗弟子可发起,对象可接受或拒绝" + COMMENT = "以情入道的双修之术,仅合欢宗弟子可发起,对象可接受或拒绝,如接受会共同度过一段瞬息欢愉但甜蜜的时光" DOABLES_REQUIREMENTS = "发起者为合欢宗;目标在感知范围内且为异性" PARAMS = {"target_avatar": "AvatarName"} FEEDBACK_ACTIONS = ["Accept", "Reject"] diff --git a/src/classes/mutual_action/mutual_action.py b/src/classes/mutual_action/mutual_action.py index a91c040..d433c6c 100644 --- a/src/classes/mutual_action/mutual_action.py +++ b/src/classes/mutual_action/mutual_action.py @@ -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) diff --git a/static/game_configs/persona.csv b/static/game_configs/persona.csv index 6b6c0fd..2ad0bb7 100644 --- a/static/game_configs/persona.csv +++ b/static/game_configs/persona.csv @@ -25,5 +25,5 @@ id,name,exclusion_ids,prompt,weight,condition 23,热情,13;14;22,你待人友好、积极回应,倾向用鼓励与赞美拉近距离;你更愿意主动展开善意的交流,乐于合作与分享,1, 24,极端正义,20;25,你对邪恶深恶痛绝,对正义的理想抱有近乎偏执的追求。,1,avatar.alignment == "正" 25,极端邪恶,20;24,你推崇权力与恐惧,为达目的不择手段,对善良嗤之以鼻。,1,avatar.alignment == "邪" -26,开放,27,你对待和他人结为道侣或者双修比较随意,1, +26,开放,27,你对待和他人结为道侣或者双修比较随意,1000, 27,腼腆,26,你对待和他人结为道侣或者双修比较谨慎,1,